summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-06-07 22:09:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:17:48 -0500
commit7c9d76d30c0f89f926744941ba3e0e6dbb24975c (patch)
treef904199fd09b036ece965345c1231961556bce48 /source4/librpc
parentc6a3ee8baba002d7568d17fb0bc73908eb4da2e7 (diff)
downloadsamba-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.idl111
-rw-r--r--source4/librpc/idl/nbt.idl102
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;
}