idl:smbXsrv: add smbXsrv_client_global structures
authorStefan Metzmacher <metze@samba.org>
Mon, 23 Jun 2014 10:17:04 +0000 (12:17 +0200)
committerMichael Adam <obnox@samba.org>
Tue, 26 Jan 2016 14:58:11 +0000 (15:58 +0100)
This is for marshalling smbXsrv_client.

Pair-Programmed-With: Michael Adam <obnox@samba.org>

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
source3/librpc/idl/smbXsrv.idl

index 5fc36031adf919babf505abb1e4f03a1291b3954..69aa8fe2e86b8a40e92eaab70b914a7015d9b87e 100644 (file)
@@ -79,10 +79,39 @@ interface smbXsrv
 
        /* client */
 
+       typedef struct {
+               [ignore] db_record                      *db_rec;
+               server_id                               server_id;
+               [charset(UTF8),string] char             local_address[];
+               [charset(UTF8),string] char             remote_address[];
+               [charset(UTF8),string] char             remote_name[];
+               NTTIME                                  initial_connect_time;
+               GUID                                    client_guid;
+               boolean8                                stored;
+       } smbXsrv_client_global0;
+
+       typedef union {
+               [case(0)] smbXsrv_client_global0        *info0;
+               [default] hyper                         *dummy;
+       } smbXsrv_client_globalU;
+
        typedef [public] struct {
+               smbXsrv_version_values                  version;
+               uint32                                  seqnum;
+               [switch_is(version)] smbXsrv_client_globalU info;
+       } smbXsrv_client_globalB;
+
+       void smbXsrv_client_global_decode(
+               [in] smbXsrv_client_globalB blob
+               );
+
+       typedef [public] struct {
+               [ignore] smbXsrv_client_table           *table;
                [ignore] struct tevent_context          *ev_ctx;
                [ignore] struct messaging_context       *msg_ctx;
 
+               [ref] smbXsrv_client_global0            *global;
+
                /*
                 * There's just one 'sconn' per client.
                 * It holds the FSA layer details, which are global
@@ -115,6 +144,21 @@ interface smbXsrv
                boolean8                server_multi_channel_enabled;
        } smbXsrv_client;
 
+       typedef union {
+               [case(0)] smbXsrv_client                *info0;
+               [default] hyper                         *dummy;
+       } smbXsrv_clientU;
+
+       typedef [public] struct {
+               smbXsrv_version_values                  version;
+               [value(0)] uint32                       reserved;
+               [switch_is(version)] smbXsrv_clientU    info;
+       } smbXsrv_clientB;
+
+       void smbXsrv_client_decode(
+               [in] smbXsrv_clientB blob
+               );
+
        /* sessions */
 
        typedef [public,bitmap8bit] bitmap {