smbXsrv.idl: *_key...
[metze/samba/wip.git] / source3 / librpc / idl / smbXsrv.idl
index 0b9c8b9a586822dbc204f34a0be4841c149c0c4c..6f81863b2d7131e58453dee5c394e588ef59d545 100644 (file)
@@ -3,6 +3,7 @@
 import "server_id.idl";
 import "security.idl";
 import "auth.idl";
+import "file_id.idl";
 
 /*
  * The main server code should just work with
@@ -43,6 +44,12 @@ interface smbXsrv
                 * session is valid for the first time.
                 */
                auth_session_info               *auth_session_info;
+               boolean8                        signing_required;
+               boolean8                        encryption_required;
+               DATA_BLOB                       signing_key;
+               DATA_BLOB                       encryption_key;
+               DATA_BLOB                       decryption_key;
+               DATA_BLOB                       application_key;
                [range(1, 1024)] uint32         num_channels;
                smbXsrv_channel_global0 channels[num_channels];
        } smbXsrv_session_global0;
@@ -94,9 +101,15 @@ interface smbXsrv
 
        typedef struct {
                [ignore] db_record              *db_rec;
+               server_id                       server_id;
                uint32                          open_global_id;
                hyper                           open_persistent_id;
-               NTTIME                          creation_time;
+               hyper                           open_volatile_id;
+               boolean8                        durable;
+               NTTIME                          open_time;
+               [charset(UTF8),string] char     *open_path;
+               // TODO: DATA_BLOB                      backend_info;
+               file_id                         backend_file_id;
        } smbXsrv_open_global0;
 
        typedef union {
@@ -118,20 +131,19 @@ interface smbXsrv
                [ignore] db_record                              *db_rec;
                [ignore] smbXsrv_connection                     *connection;
                uint32                                          local_id;
-               hyper                                           volatile_id;
                [ref] smbXsrv_open_global0                      *global;
                [ignore] files_struct                           *fsp;
        } smbXsrv_open0;
 
        typedef union {
-               [case(0)] smbXsrv_open0                 *info0;
+               [case(0)] smbXsrv_open0                         *info0;
                [default] hyper                                 *dummy;
        } smbXsrv_openU;
 
        typedef [public] struct {
                uint32                                          version;
                [value(0)] uint32                               reserved;
-               [switch_is(version)] smbXsrv_openU      info;
+               [switch_is(version)] smbXsrv_openU              info;
        } smbXsrv_openB;
 
        void smbXsrv_open_decode(