librpc: add FSRVP server state idl
authorDavid Disseldorp <ddiss@samba.org>
Wed, 25 Mar 2015 11:35:27 +0000 (12:35 +0100)
committerJeremy Allison <jra@samba.org>
Tue, 31 Mar 2015 16:40:24 +0000 (18:40 +0200)
FSRVP server state must be retained persistently. This change adds IDL
definitions for the share map, shadow-copy and shadow-copy set types,
which will be used for marshalling and unmarshalling state alongside
database storage or retrieval.

Signed-off-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
librpc/idl/fsrvp_state.idl [new file with mode: 0644]
librpc/idl/wscript_build
librpc/wscript_build

diff --git a/librpc/idl/fsrvp_state.idl b/librpc/idl/fsrvp_state.idl
new file mode 100644 (file)
index 0000000..9fcec12
--- /dev/null
@@ -0,0 +1,36 @@
+#include "idl_types.h"
+[
+       pointer_default(unique)
+]
+interface fsrvp_state
+{
+       /* database format version, NOT the FSRVP protocol version */
+       const uint32 FSRVP_STATE_DB_VERSION = 1;
+
+       /*
+        * These data structures describe the FSRVP server on-disk format. Any
+        * changes should result in a new DB version number, and corresponding
+        * upgrade function.
+        */
+       typedef [public] struct {
+               [flag(STR_UTF8|STR_NULLTERM)] string share_name;
+               [flag(STR_UTF8|STR_NULLTERM)] string sc_share_name;
+               [flag(STR_UTF8|STR_NULLTERM)] string sc_share_comment;
+               boolean32 is_exposed;
+       } fsrvp_state_smap;
+
+       typedef [public] struct {
+               [flag(STR_UTF8|STR_NULLTERM)] string id_str;
+               [flag(STR_UTF8|STR_NULLTERM)] string volume_name;
+               [flag(STR_UTF8|STR_NULLTERM)] string sc_path;
+               time_t create_ts;
+               int smaps_count;
+       } fsrvp_state_sc;
+
+       typedef [public] struct {
+               [flag(STR_UTF8|STR_NULLTERM)] string id_str;
+               int state;
+               int context;
+               int scs_count;
+       } fsrvp_state_sc_set;
+}
index beacb0f31b3d6098dcb01fdd3e2c4ce945f38646..4b56af63dec92acf8488c2afef826cf706f22e89 100644 (file)
@@ -33,7 +33,8 @@ bld.SAMBA_PIDL_LIST('PIDL',
                     output_dir='../gen_ndr')
 
 bld.SAMBA_PIDL_LIST('PIDL',
-                    'rap.idl ntprinting.idl preg.idl ioctl.idl printcap.idl',
+                    '''rap.idl ntprinting.idl preg.idl ioctl.idl printcap.idl
+                       fsrvp_state.idl''',
                     options='--header --ndr-parser',
                     output_dir='../gen_ndr')
 
index a494bb9a77f8446acb91ac2c407ab6223240d092..133666d547cb56d251c2e436dc0326e7388a39bf 100644 (file)
@@ -719,3 +719,8 @@ bld.SAMBA3_SUBSYSTEM('SRV_NDR_WINBIND',
        source='gen_ndr/srv_winbind.c',
        public_deps='NDR_WINBIND'
        )
+
+bld.SAMBA_SUBSYSTEM('NDR_FSRVP_STATE',
+    source='gen_ndr/ndr_fsrvp_state.c',
+    public_deps='ndr'
+    )