diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-06-07 22:09:18 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:17:48 -0500 |
commit | 7c9d76d30c0f89f926744941ba3e0e6dbb24975c (patch) | |
tree | f904199fd09b036ece965345c1231961556bce48 /source4/librpc | |
parent | c6a3ee8baba002d7568d17fb0bc73908eb4da2e7 (diff) | |
download | samba-7c9d76d30c0f89f926744941ba3e0e6dbb24975c.tar.gz samba-7c9d76d30c0f89f926744941ba3e0e6dbb24975c.tar.bz2 samba-7c9d76d30c0f89f926744941ba3e0e6dbb24975c.zip |
r7377: Integrate browse service stuff more nicely
Add notes on mailslots
Add TODO list for pidl, including some plans on switching
over to using [string] attributes for pidl.
(This used to be commit fca195ce072bacb0543625aec7f4bce814e278eb)
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/idl/browse.idl | 111 | ||||
-rw-r--r-- | source4/librpc/idl/nbt.idl | 102 |
2 files changed, 102 insertions, 111 deletions
diff --git a/source4/librpc/idl/browse.idl b/source4/librpc/idl/browse.idl deleted file mode 100644 index b957e0dc62..0000000000 --- a/source4/librpc/idl/browse.idl +++ /dev/null @@ -1,111 +0,0 @@ -#include "idl_types.h" - -/* - IDL structures for Browse service over mailslot operations -*/ - -[ uuid("1-2-3-4"), - depends(security) -] interface browse -{ - const string browse_mailslot = "\\MAILSLOT\\BROWSE"; - - typedef enum { - HostAnnouncement = 1, - AnnouncementRequest = 2, - Election = 8, - GetBackupListReq = 9, - GetBackupListResp = 10, - BecomeBackup = 11, - DomainAnnouncment = 12, - MasterAnnouncement = 13, - ResetBrowserState = 14, - LocalMasterAnnouncement = 15 - } brow_opcodes; - - typedef bitmap { - SV_TYPE_WORKSTATION = 0x00000001, - SV_TYPE_SERVER = 0x00000002, - SV_TYPE_SQLSERVER = 0x00000004, - SV_TYPE_DOMAIN_CTRL = 0x00000008, - SV_TYPE_DOMAIN_BAKCTRL = 0x00000010, - SV_TYPE_TIME_SOURCE = 0x00000020, - SV_TYPE_AFP = 0x00000040, - SV_TYPE_NOVELL = 0x00000080, - SV_TYPE_DOMAIN_MEMBER = 0x00000100, - SV_TYPE_PRINTQ_SERVER = 0x00000200, - SV_TYPE_DIALIN_SERVER = 0x00000400, - SV_TYPE_XENIX_SERVER = 0x00000800, - SV_TYPE_NT = 0x00001000, - SV_TYPE_POTENTIAL_BROWSER = 0x00010000, - SV_TYPE_BACKUP_BROWSER = 0x00020000, - SV_TYPE_MASTER_BROWSER = 0x00040000, - SV_TYPE_DOMAIN_MASTER = 0x00080000, - SV_TYPE_LOCAL_LIST_ONLY = 0x40000000, - SV_TYPE_DOMAIN_ENUM = 0x80000000 - } brow_server_type; - - typedef struct { - uint8 update_count; - uint32 ttl; - char name[16]; - uint8 os_major; - uint8 os_minor; - uint32 server_type; - astring comment; - } host_announcement; - - typedef struct { - uint8 unknown; - astring ResponseComputerName; - } request_announcement; - - typedef struct { - uint8 count; - uint32 token; - } backup_list_request; - - typedef struct { - uint8 count; - uint32 token; - astring BackupServerList[count]; - } backup_list_response; - - typedef struct { - astring BrowserToPromote; - } become_backup; - - typedef struct { - uint8 version; - uint32 criteria; - uint32 time_up; /* In milliseconds */ - uint32 reserved; /* Must be zero */ - astring ServerName; - } election_request; - - typedef struct { - uint8 options; - } reset_state; - - typedef struct { - astring MasterBrowserServerName; - } master_announcement; - - typedef [nodiscriminant] union { - [case(HostAnnouncement)] host_announcement host_annoucement; - [case(AnnouncementRequest)] request_announcement announcement_request; - [case(Election)] election_request election_request; - [case(GetBackupListReq)] backup_list_request backup_list_request; - [case(GetBackupListResp)] backup_list_response backup_list_response; - [case(BecomeBackup)] become_backup become_backup; - [case(DomainAnnouncement)] master_announcement domain_announcement; - [case(MasterAnnouncement)] master_announcement master_announcement; - [case(ResetBrowserState)] reset_state reset_browser_state; - [case(LocalMasterAnnouncement)] master_announcement local_master_announcement; - } browse_payload; - - typedef [public] struct { - browse_opcode opcode; - browse_payload payload; - } browse_packet; -} diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl index 95e4abd974..b9061778bf 100644 --- a/source4/librpc/idl/nbt.idl +++ b/source4/librpc/idl/nbt.idl @@ -572,4 +572,106 @@ nbt_ntlogon_command command; [switch_is(command)] nbt_ntlogon_request req; } nbt_ntlogon_packet; + + /*******************************************/ + /* \MAILSLOT\BROWSE mailslot requests */ + + typedef enum { + HostAnnouncement = 1, + AnnouncementRequest = 2, + Election = 8, + GetBackupListReq = 9, + GetBackupListResp = 10, + BecomeBackup = 11, + DomainAnnouncement = 12, + MasterAnnouncement = 13, + ResetBrowserState = 14, + LocalMasterAnnouncement = 15 + } nbt_browse_opcode; + + typedef bitmap { + SV_TYPE_WORKSTATION = 0x00000001, + SV_TYPE_SERVER = 0x00000002, + SV_TYPE_SQLSERVER = 0x00000004, + SV_TYPE_DOMAIN_CTRL = 0x00000008, + SV_TYPE_DOMAIN_BAKCTRL = 0x00000010, + SV_TYPE_TIME_SOURCE = 0x00000020, + SV_TYPE_AFP = 0x00000040, + SV_TYPE_NOVELL = 0x00000080, + SV_TYPE_DOMAIN_MEMBER = 0x00000100, + SV_TYPE_PRINTQ_SERVER = 0x00000200, + SV_TYPE_DIALIN_SERVER = 0x00000400, + SV_TYPE_XENIX_SERVER = 0x00000800, + SV_TYPE_NT = 0x00001000, + SV_TYPE_POTENTIAL_BROWSER = 0x00010000, + SV_TYPE_BACKUP_BROWSER = 0x00020000, + SV_TYPE_MASTER_BROWSER = 0x00040000, + SV_TYPE_DOMAIN_MASTER = 0x00080000, + SV_TYPE_LOCAL_LIST_ONLY = 0x40000000, + SV_TYPE_DOMAIN_ENUM = 0x80000000 + } nbt_browse_server_type; + + typedef struct { + uint8 update_count; + uint32 ttl; + uint8 name[16]; + uint8 os_major; + uint8 os_minor; + uint32 server_type; + astring comment; + } nbt_browse_host_announcement; + + typedef struct { + uint8 unknown; + astring ResponseComputerName; + } nbt_browse_request_announcement; + + typedef struct { + uint8 count; + uint32 token; + } nbt_browse_backup_list_request; + + typedef struct { + uint8 count; + uint32 token; + nbt_name BackupServerList[count]; + } nbt_browse_backup_list_response; + + typedef struct { + astring BrowserToPromote; + } nbt_browse_become_backup; + + typedef struct { + uint8 version; + uint32 criteria; + uint32 time_up; /* In milliseconds */ + uint32 reserved; /* Must be zero */ + astring ServerName; + } nbt_browse_election_request; + + typedef struct { + uint8 options; + } nbt_browse_reset_state; + + typedef struct { + astring MasterBrowserServerName; + } nbt_browse_master_announcement; + + typedef [nodiscriminant] union { + [case(HostAnnouncement)] nbt_browse_host_announcement host_annoucement; + [case(AnnouncementRequest)] nbt_browse_request_announcement announcement_request; + [case(Election)] nbt_browse_election_request election_request; + [case(GetBackupListReq)] nbt_browse_backup_list_request backup_list_request; + [case(GetBackupListResp)] nbt_browse_backup_list_response backup_list_response; + [case(BecomeBackup)] nbt_browse_become_backup become_backup; + [case(DomainAnnouncement)] nbt_browse_master_announcement domain_announcement; + [case(MasterAnnouncement)] nbt_browse_master_announcement master_announcement; + [case(ResetBrowserState)] nbt_browse_reset_state reset_browser_state; + [case(LocalMasterAnnouncement)] nbt_browse_master_announcement local_master_announcement; + } nbt_browse_payload; + + typedef [public,flag(NDR_NOALIGN)] struct { + nbt_browse_opcode opcode; + nbt_browse_payload payload; + } nbt_browse_packet; } |