1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

librpc: add FSRVP server state idl

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>
This commit is contained in:
David Disseldorp 2015-03-25 12:35:27 +01:00 committed by Jeremy Allison
parent bdf0a81006
commit b773136f9e
3 changed files with 43 additions and 1 deletions

View File

@ -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;
}

View 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')

View 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'
)