From 7c9d76d30c0f89f926744941ba3e0e6dbb24975c Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 7 Jun 2005 22:09:18 +0000 Subject: 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) --- source4/librpc/idl/nbt.idl | 102 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) (limited to 'source4/librpc/idl/nbt.idl') 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; } -- cgit