s3:librpc/idl/smbXsrv.idl: add smbXsrv_version_* structures
[metze/samba/wip.git] / source3 / librpc / idl / smbXsrv.idl
index f7dcd8142ade016dee35d09529b62d6e7d9df2d2..8f232d4673ac58d5c71c6cd86eba07f4429d8076 100644 (file)
@@ -5,5 +5,37 @@
 ]
 interface smbXsrv
 {
-       void smbXsrv_dummy();
+       typedef [v1_enum] enum {
+               SMBXSRV_VERSION_0 = 0
+       } smbXsrv_version_values;
+
+       const uint32 SMBXSRV_VERSION_CURRENT = SMBXSRV_VERSION_0;
+
+       typedef struct {
+               server_id                               server_id;
+               smbXsrv_version_values                  min_version;
+               smbXsrv_version_values                  max_version;
+               smbXsrv_version_values                  current_version;
+       } smbXsrv_version_node0;
+
+       typedef struct {
+               [ignore] db_record                      *db_rec;
+               [range(1, 1024)] uint32                 num_nodes;
+               smbXsrv_version_node0                   nodes[num_nodes];
+       } smbXsrv_version_global0;
+
+       typedef union {
+               [case(0)] smbXsrv_version_global0       *info0;
+               [default] hyper                         *dummy;
+       } smbXsrv_version_globalU;
+
+       typedef [public] struct {
+               smbXsrv_version_values                  version;
+               uint32                                  seqnum;
+               [switch_is(version)] smbXsrv_version_globalU info;
+       } smbXsrv_version_globalB;
+
+       void smbXsrv_version_global_decode(
+               [in] smbXsrv_version_globalB blob
+               );
 }