r18690: Regenerate RPC files after pidl changes.
authorJelmer Vernooij <jelmer@samba.org>
Tue, 19 Sep 2006 22:22:57 +0000 (22:22 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:00:47 +0000 (12:00 -0500)
(This used to be commit 87d34305374e867eeac9d75d5d690c6b15570e6e)

17 files changed:
source3/librpc/gen_ndr/dfs.h
source3/librpc/gen_ndr/echo.h
source3/librpc/gen_ndr/eventlog.h
source3/librpc/gen_ndr/initshutdown.h
source3/librpc/gen_ndr/lsa.h
source3/librpc/gen_ndr/netlogon.h
source3/librpc/gen_ndr/srv_dfs.c
source3/librpc/gen_ndr/srv_echo.c
source3/librpc/gen_ndr/srv_eventlog.c
source3/librpc/gen_ndr/srv_lsa.c
source3/librpc/gen_ndr/srv_netlogon.c
source3/librpc/gen_ndr/srv_unixinfo.c
source3/librpc/gen_ndr/srv_winreg.c
source3/librpc/gen_ndr/srv_wkssvc.c
source3/librpc/gen_ndr/unixinfo.h
source3/librpc/gen_ndr/winreg.h
source3/librpc/gen_ndr/wkssvc.h

index 4bd4f2d7f0e7035723bf9181ee734aa2d095c62a..bd4dc5ed12db49513092549788248e4ac13d7e38 100644 (file)
@@ -8,120 +8,120 @@ struct dfs_Info0 {
 };
 
 struct dfs_Info1 {
-       const char *path;/* [unique,keepref,charset(UTF16)] */
+       const char *path;/* [unique,charset(UTF16)] */
 };
 
 struct dfs_Info2 {
-       const char *path;/* [unique,keepref,charset(UTF16)] */
-       const char *comment;/* [unique,keepref,charset(UTF16)] */
-       uint32_t state;/* [keepref] */
-       uint32_t num_stores;/* [keepref] */
+       const char *path;/* [unique,charset(UTF16)] */
+       const char *comment;/* [unique,charset(UTF16)] */
+       uint32_t state;
+       uint32_t num_stores;
 };
 
 struct dfs_StorageInfo {
-       uint32_t state;/* [keepref] */
-       const char *server;/* [unique,keepref,charset(UTF16)] */
-       const char *share;/* [unique,keepref,charset(UTF16)] */
+       uint32_t state;
+       const char *server;/* [unique,charset(UTF16)] */
+       const char *share;/* [unique,charset(UTF16)] */
 };
 
 struct dfs_Info3 {
-       const char *path;/* [unique,keepref,charset(UTF16)] */
-       const char *comment;/* [unique,keepref,charset(UTF16)] */
-       uint32_t state;/* [keepref] */
-       uint32_t num_stores;/* [keepref] */
-       struct dfs_StorageInfo *stores;/* [unique,keepref,size_is(num_stores)] */
+       const char *path;/* [unique,charset(UTF16)] */
+       const char *comment;/* [unique,charset(UTF16)] */
+       uint32_t state;
+       uint32_t num_stores;
+       struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */
 };
 
 struct dfs_Info4 {
-       const char *path;/* [unique,keepref,charset(UTF16)] */
-       const char *comment;/* [unique,keepref,charset(UTF16)] */
-       uint32_t state;/* [keepref] */
-       uint32_t timeout;/* [keepref] */
-       struct GUID guid;/* [keepref] */
-       uint32_t num_stores;/* [keepref] */
-       struct dfs_StorageInfo *stores;/* [unique,keepref,size_is(num_stores)] */
+       const char *path;/* [unique,charset(UTF16)] */
+       const char *comment;/* [unique,charset(UTF16)] */
+       uint32_t state;
+       uint32_t timeout;
+       struct GUID guid;
+       uint32_t num_stores;
+       struct dfs_StorageInfo *stores;/* [unique,size_is(num_stores)] */
 };
 
 struct dfs_Info100 {
-       const char *comment;/* [unique,keepref,charset(UTF16)] */
+       const char *comment;/* [unique,charset(UTF16)] */
 };
 
 struct dfs_Info101 {
-       uint32_t state;/* [keepref] */
+       uint32_t state;
 };
 
 struct dfs_Info102 {
-       uint32_t timeout;/* [keepref] */
+       uint32_t timeout;
 };
 
 struct dfs_Info200 {
-       const char *dom_root;/* [unique,keepref,charset(UTF16)] */
+       const char *dom_root;/* [unique,charset(UTF16)] */
 };
 
 struct dfs_Info300 {
-       uint32_t flags;/* [keepref] */
-       const char *dom_root;/* [unique,keepref,charset(UTF16)] */
+       uint32_t flags;
+       const char *dom_root;/* [unique,charset(UTF16)] */
 };
 
 union dfs_Info {
-       struct dfs_Info0 *info0;/* [unique,keepref,case(0)] */
-       struct dfs_Info1 *info1;/* [unique,keepref,case] */
-       struct dfs_Info2 *info2;/* [unique,keepref,case(2)] */
-       struct dfs_Info3 *info3;/* [unique,keepref,case(3)] */
-       struct dfs_Info4 *info4;/* [unique,keepref,case(4)] */
-       struct dfs_Info100 *info100;/* [unique,keepref,case(100)] */
-       struct dfs_Info101 *info101;/* [unique,keepref,case(101)] */
-       struct dfs_Info102 *info102;/* [unique,keepref,case(102)] */
+       struct dfs_Info0 *info0;/* [unique,case(0)] */
+       struct dfs_Info1 *info1;/* [unique,case] */
+       struct dfs_Info2 *info2;/* [unique,case(2)] */
+       struct dfs_Info3 *info3;/* [unique,case(3)] */
+       struct dfs_Info4 *info4;/* [unique,case(4)] */
+       struct dfs_Info100 *info100;/* [unique,case(100)] */
+       struct dfs_Info101 *info101;/* [unique,case(101)] */
+       struct dfs_Info102 *info102;/* [unique,case(102)] */
 };
 
 struct dfs_EnumArray1 {
-       uint32_t count;/* [keepref] */
-       struct dfs_Info1 *s;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct dfs_Info1 *s;/* [unique,size_is(count)] */
 };
 
 struct dfs_EnumArray2 {
-       uint32_t count;/* [keepref] */
-       struct dfs_Info2 *s;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct dfs_Info2 *s;/* [unique,size_is(count)] */
 };
 
 struct dfs_EnumArray3 {
-       uint32_t count;/* [keepref] */
-       struct dfs_Info3 *s;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct dfs_Info3 *s;/* [unique,size_is(count)] */
 };
 
 struct dfs_EnumArray4 {
-       uint32_t count;/* [keepref] */
-       struct dfs_Info4 *s;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct dfs_Info4 *s;/* [unique,size_is(count)] */
 };
 
 struct dfs_EnumArray200 {
-       uint32_t count;/* [keepref] */
-       struct dfs_Info200 *s;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct dfs_Info200 *s;/* [unique,size_is(count)] */
 };
 
 struct dfs_EnumArray300 {
-       uint32_t count;/* [keepref] */
-       struct dfs_Info300 *s;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct dfs_Info300 *s;/* [unique,size_is(count)] */
 };
 
 union dfs_EnumInfo {
-       struct dfs_EnumArray1 *info1;/* [unique,keepref,case] */
-       struct dfs_EnumArray2 *info2;/* [unique,keepref,case(2)] */
-       struct dfs_EnumArray3 *info3;/* [unique,keepref,case(3)] */
-       struct dfs_EnumArray4 *info4;/* [unique,keepref,case(4)] */
-       struct dfs_EnumArray200 *info200;/* [unique,keepref,case(200)] */
-       struct dfs_EnumArray300 *info300;/* [unique,keepref,case(300)] */
+       struct dfs_EnumArray1 *info1;/* [unique,case] */
+       struct dfs_EnumArray2 *info2;/* [unique,case(2)] */
+       struct dfs_EnumArray3 *info3;/* [unique,case(3)] */
+       struct dfs_EnumArray4 *info4;/* [unique,case(4)] */
+       struct dfs_EnumArray200 *info200;/* [unique,case(200)] */
+       struct dfs_EnumArray300 *info300;/* [unique,case(300)] */
 };
 
 struct dfs_EnumStruct {
-       uint32_t level;/* [keepref] */
-       union dfs_EnumInfo e;/* [keepref,switch_is(level)] */
+       uint32_t level;
+       union dfs_EnumInfo e;/* [switch_is(level)] */
 };
 
 
 struct dfs_GetManagerVersion {
        struct {
-               uint32_t *exist_flag;/* [keepref,ref] */
+               uint32_t *exist_flag;/* [ref] */
        } out;
 
 };
@@ -129,11 +129,11 @@ struct dfs_GetManagerVersion {
 
 struct dfs_Add {
        struct {
-               const char *path;/* [keepref,ref,charset(UTF16)] */
-               const char *server;/* [keepref,ref,charset(UTF16)] */
-               const char *share;/* [unique,keepref,charset(UTF16)] */
-               const char *comment;/* [unique,keepref,charset(UTF16)] */
-               uint32_t flags;/* [keepref] */
+               const char *path;/* [ref,charset(UTF16)] */
+               const char *server;/* [ref,charset(UTF16)] */
+               const char *share;/* [unique,charset(UTF16)] */
+               const char *comment;/* [unique,charset(UTF16)] */
+               uint32_t flags;
        } in;
 
        struct {
@@ -145,9 +145,9 @@ struct dfs_Add {
 
 struct dfs_Remove {
        struct {
-               const char *path;/* [keepref,ref,charset(UTF16)] */
-               const char *server;/* [unique,keepref,charset(UTF16)] */
-               const char *share;/* [unique,keepref,charset(UTF16)] */
+               const char *path;/* [ref,charset(UTF16)] */
+               const char *server;/* [unique,charset(UTF16)] */
+               const char *share;/* [unique,charset(UTF16)] */
        } in;
 
        struct {
@@ -167,14 +167,14 @@ struct dfs_SetInfo {
 
 struct dfs_GetInfo {
        struct {
-               const char *path;/* [keepref,ref,charset(UTF16)] */
-               const char *server;/* [unique,keepref,charset(UTF16)] */
-               const char *share;/* [unique,keepref,charset(UTF16)] */
-               uint32_t level;/* [keepref] */
+               const char *path;/* [ref,charset(UTF16)] */
+               const char *server;/* [unique,charset(UTF16)] */
+               const char *share;/* [unique,charset(UTF16)] */
+               uint32_t level;
        } in;
 
        struct {
-               union dfs_Info *info;/* [keepref,ref,switch_is(level)] */
+               union dfs_Info *info;/* [ref,switch_is(level)] */
                WERROR result;
        } out;
 
@@ -183,16 +183,16 @@ struct dfs_GetInfo {
 
 struct dfs_Enum {
        struct {
-               uint32_t level;/* [keepref] */
-               uint32_t bufsize;/* [keepref] */
-               struct dfs_EnumStruct *info;/* [unique,keepref] */
-               uint32_t *unknown;/* [unique,keepref] */
-               uint32_t *total;/* [unique,keepref] */
+               uint32_t level;
+               uint32_t bufsize;
+               struct dfs_EnumStruct *info;/* [unique] */
+               uint32_t *unknown;/* [unique] */
+               uint32_t *total;/* [unique] */
        } in;
 
        struct {
-               struct dfs_EnumStruct *info;/* [unique,keepref] */
-               uint32_t *total;/* [unique,keepref] */
+               struct dfs_EnumStruct *info;/* [unique] */
+               uint32_t *total;/* [unique] */
                WERROR result;
        } out;
 
@@ -321,16 +321,16 @@ struct dfs_Remove2 {
 
 struct dfs_EnumEx {
        struct {
-               const char *name;/* [keepref,ref,charset(UTF16)] */
-               uint32_t level;/* [keepref] */
-               uint32_t bufsize;/* [keepref] */
-               struct dfs_EnumStruct *info;/* [unique,keepref] */
-               uint32_t *total;/* [unique,keepref] */
+               const char *name;/* [ref,charset(UTF16)] */
+               uint32_t level;
+               uint32_t bufsize;
+               struct dfs_EnumStruct *info;/* [unique] */
+               uint32_t *total;/* [unique] */
        } in;
 
        struct {
-               struct dfs_EnumStruct *info;/* [unique,keepref] */
-               uint32_t *total;/* [unique,keepref] */
+               struct dfs_EnumStruct *info;/* [unique] */
+               uint32_t *total;/* [unique] */
                WERROR result;
        } out;
 
index d6ee5b1e63f78a2607a3e29f68c75a25a42d0426..bdbc040c11c3b2ed24a63a0060ac03396ddcedb1 100644 (file)
@@ -4,44 +4,44 @@
 #define _HEADER_rpcecho
 
 struct echo_info1 {
-       uint8_t v;/* [keepref] */
+       uint8_t v;
 };
 
 struct echo_info2 {
-       uint16_t v;/* [keepref] */
+       uint16_t v;
 };
 
 struct echo_info3 {
-       uint32_t v;/* [keepref] */
+       uint32_t v;
 };
 
 struct echo_info4 {
-       uint64_t v;/* [keepref] */
+       uint64_t v;
 };
 
 struct echo_info5 {
-       uint8_t v1;/* [keepref] */
-       uint64_t v2;/* [keepref] */
+       uint8_t v1;
+       uint64_t v2;
 };
 
 struct echo_info6 {
-       uint8_t v1;/* [keepref] */
-       struct echo_info1 info1;/* [keepref] */
+       uint8_t v1;
+       struct echo_info1 info1;
 };
 
 struct echo_info7 {
-       uint8_t v1;/* [keepref] */
-       struct echo_info4 info4;/* [keepref] */
+       uint8_t v1;
+       struct echo_info4 info4;
 };
 
 union echo_Info {
-       struct echo_info1 info1;/* [keepref,case] */
-       struct echo_info2 info2;/* [keepref,case(2)] */
-       struct echo_info3 info3;/* [keepref,case(3)] */
-       struct echo_info4 info4;/* [keepref,case(4)] */
-       struct echo_info5 info5;/* [keepref,case(5)] */
-       struct echo_info6 info6;/* [keepref,case(6)] */
-       struct echo_info7 info7;/* [keepref,case(7)] */
+       struct echo_info1 info1;/* [case] */
+       struct echo_info2 info2;/* [case(2)] */
+       struct echo_info3 info3;/* [case(3)] */
+       struct echo_info4 info4;/* [case(4)] */
+       struct echo_info5 info5;/* [case(5)] */
+       struct echo_info6 info6;/* [case(6)] */
+       struct echo_info7 info7;/* [case(7)] */
 }/* [switch_type(uint16)] */;
 
 enum echo_Enum1 {
@@ -55,28 +55,28 @@ enum echo_Enum1_32 {
 };
 
 struct echo_Enum2 {
-       enum echo_Enum1 e1;/* [keepref] */
-       enum echo_Enum1_32 e2;/* [keepref] */
+       enum echo_Enum1 e1;
+       enum echo_Enum1_32 e2;
 };
 
 union echo_Enum3 {
-       enum echo_Enum1 e1;/* [keepref,case(ECHO_ENUM1)] */
-       struct echo_Enum2 e2;/* [keepref,case(ECHO_ENUM2)] */
+       enum echo_Enum1 e1;/* [case(ECHO_ENUM1)] */
+       struct echo_Enum2 e2;/* [case(ECHO_ENUM2)] */
 }/* [switch_type(uint16)] */;
 
 struct echo_Surrounding {
-       uint32_t x;/* [keepref] */
-       uint16_t *surrounding;/* [keepref,size_is(x)] */
+       uint32_t x;
+       uint16_t *surrounding;/* [size_is(x)] */
 };
 
 
 struct echo_AddOne {
        struct {
-               uint32_t in_data;/* [keepref] */
+               uint32_t in_data;
        } in;
 
        struct {
-               uint32_t *out_data;/* [keepref,ref] */
+               uint32_t *out_data;/* [ref] */
        } out;
 
 };
@@ -84,12 +84,12 @@ struct echo_AddOne {
 
 struct echo_EchoData {
        struct {
-               uint32_t len;/* [keepref] */
-               uint8_t *in_data;/* [keepref,size_is(len)] */
+               uint32_t len;
+               uint8_t *in_data;/* [size_is(len)] */
        } in;
 
        struct {
-               uint8_t *out_data;/* [keepref,size_is(len)] */
+               uint8_t *out_data;/* [size_is(len)] */
        } out;
 
 };
@@ -97,8 +97,8 @@ struct echo_EchoData {
 
 struct echo_SinkData {
        struct {
-               uint32_t len;/* [keepref] */
-               uint8_t *data;/* [keepref,size_is(len)] */
+               uint32_t len;
+               uint8_t *data;/* [size_is(len)] */
        } in;
 
 };
@@ -106,11 +106,11 @@ struct echo_SinkData {
 
 struct echo_SourceData {
        struct {
-               uint32_t len;/* [keepref] */
+               uint32_t len;
        } in;
 
        struct {
-               uint8_t *data;/* [keepref,size_is(len)] */
+               uint8_t *data;/* [size_is(len)] */
        } out;
 
 };
@@ -118,11 +118,11 @@ struct echo_SourceData {
 
 struct echo_TestCall {
        struct {
-               const char *s1;/* [keepref,ref,charset(UTF16)] */
+               const char *s1;/* [ref,charset(UTF16)] */
        } in;
 
        struct {
-               const char **s2;/* [keepref,ref,charset(UTF16)] */
+               const char **s2;/* [ref,charset(UTF16)] */
        } out;
 
 };
@@ -130,11 +130,11 @@ struct echo_TestCall {
 
 struct echo_TestCall2 {
        struct {
-               uint16_t level;/* [keepref] */
+               uint16_t level;
        } in;
 
        struct {
-               union echo_Info *info;/* [keepref,ref,switch_is(level)] */
+               union echo_Info *info;/* [ref,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -143,7 +143,7 @@ struct echo_TestCall2 {
 
 struct echo_TestSleep {
        struct {
-               uint32_t seconds;/* [keepref] */
+               uint32_t seconds;
        } in;
 
        struct {
@@ -155,15 +155,15 @@ struct echo_TestSleep {
 
 struct echo_TestEnum {
        struct {
-               enum echo_Enum1 *foo1;/* [keepref,ref] */
-               struct echo_Enum2 *foo2;/* [keepref,ref] */
-               union echo_Enum3 *foo3;/* [keepref,ref,switch_is(*foo1)] */
+               enum echo_Enum1 *foo1;/* [ref] */
+               struct echo_Enum2 *foo2;/* [ref] */
+               union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */
        } in;
 
        struct {
-               enum echo_Enum1 *foo1;/* [keepref,ref] */
-               struct echo_Enum2 *foo2;/* [keepref,ref] */
-               union echo_Enum3 *foo3;/* [keepref,ref,switch_is(*foo1)] */
+               enum echo_Enum1 *foo1;/* [ref] */
+               struct echo_Enum2 *foo2;/* [ref] */
+               union echo_Enum3 *foo3;/* [ref,switch_is(*foo1)] */
        } out;
 
 };
@@ -171,11 +171,11 @@ struct echo_TestEnum {
 
 struct echo_TestSurrounding {
        struct {
-               struct echo_Surrounding *data;/* [keepref,ref] */
+               struct echo_Surrounding *data;/* [ref] */
        } in;
 
        struct {
-               struct echo_Surrounding *data;/* [keepref,ref] */
+               struct echo_Surrounding *data;/* [ref] */
        } out;
 
 };
@@ -183,7 +183,7 @@ struct echo_TestSurrounding {
 
 struct echo_TestDoublePointer {
        struct {
-               uint16_t ***data;/* [keepref,ref] */
+               uint16_t ***data;/* [ref] */
        } in;
 
        struct {
index eb338e905bc62277a1b6c09916d7e342af3580ed..0ddc9cc3460bdbfa3fc267b87dabf031d0e4809e 100644 (file)
 #define EVENTLOG_AUDIT_FAILURE ( 0x0010 )
 
 struct eventlog_OpenUnknown0 {
-       uint16_t unknown0;/* [keepref] */
-       uint16_t unknown1;/* [keepref] */
+       uint16_t unknown0;
+       uint16_t unknown1;
 };
 
 struct eventlog_Record {
-       uint32_t size;/* [keepref] */
-       uint32_t reserved;/* [keepref] */
-       uint32_t record_number;/* [keepref] */
-       uint32_t time_generated;/* [keepref] */
-       uint32_t time_written;/* [keepref] */
-       uint32_t event_id;/* [keepref] */
-       uint16_t event_type;/* [keepref] */
-       uint16_t num_of_strings;/* [keepref] */
-       uint16_t event_category;/* [keepref] */
-       uint16_t reserved_flags;/* [keepref] */
-       uint32_t closing_record_number;/* [keepref] */
-       uint32_t stringoffset;/* [keepref] */
-       uint32_t sid_length;/* [keepref] */
-       uint32_t sid_offset;/* [keepref] */
-       uint32_t data_length;/* [keepref] */
-       uint32_t data_offset;/* [keepref] */
-       const char * source_name;/* [keepref,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       const char * computer_name;/* [keepref,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       const char * *strings;/* [keepref,flag(LIBNDR_FLAG_STR_NULLTERM)] */
-       const char * raw_data;/* [keepref,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
+       uint32_t size;
+       uint32_t reserved;
+       uint32_t record_number;
+       uint32_t time_generated;
+       uint32_t time_written;
+       uint32_t event_id;
+       uint16_t event_type;
+       uint16_t num_of_strings;
+       uint16_t event_category;
+       uint16_t reserved_flags;
+       uint32_t closing_record_number;
+       uint32_t stringoffset;
+       uint32_t sid_length;
+       uint32_t sid_offset;
+       uint32_t data_length;
+       uint32_t data_offset;
+       const char * source_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * computer_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * *strings;/* [flag(LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * raw_data;/* [flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 }/* [public] */;
 
 
 struct eventlog_ClearEventLogW {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String *unknown;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String *unknown;/* [unique] */
        } in;
 
        struct {
@@ -71,11 +71,11 @@ struct eventlog_BackupEventLogW {
 
 struct eventlog_CloseEventLog {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -92,11 +92,11 @@ struct eventlog_DeregisterEventSource {
 
 struct eventlog_GetNumRecords {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
-               uint32_t *number;/* [keepref,ref] */
+               uint32_t *number;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -121,15 +121,15 @@ struct eventlog_ChangeNotify {
 
 struct eventlog_OpenEventLogW {
        struct {
-               struct eventlog_OpenUnknown0 *unknown0;/* [unique,keepref] */
-               struct lsa_String logname;/* [keepref] */
-               struct lsa_String servername;/* [keepref] */
-               uint32_t unknown2;/* [keepref] */
-               uint32_t unknown3;/* [keepref] */
+               struct eventlog_OpenUnknown0 *unknown0;/* [unique] */
+               struct lsa_String logname;
+               struct lsa_String servername;
+               uint32_t unknown2;
+               uint32_t unknown3;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -154,16 +154,16 @@ struct eventlog_OpenBackupEventLogW {
 
 struct eventlog_ReadEventLogW {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t flags;/* [keepref] */
-               uint32_t offset;/* [keepref] */
-               uint32_t number_of_bytes;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t flags;
+               uint32_t offset;
+               uint32_t number_of_bytes;
        } in;
 
        struct {
-               uint8_t *data;/* [keepref,ref,size_is(number_of_bytes)] */
-               uint32_t *sent_size;/* [keepref,ref] */
-               uint32_t *real_size;/* [keepref,ref] */
+               uint8_t *data;/* [ref,size_is(number_of_bytes)] */
+               uint32_t *sent_size;/* [ref] */
+               uint32_t *real_size;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -268,7 +268,7 @@ struct eventlog_GetLogIntormation {
 
 struct eventlog_FlushEventLog {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
index 58f7b3bc6e7ec33b8958b45b4ee22f9a7e49ba24..c0590c0462d62d22a8593f923be39c4450ec1d22 100644 (file)
@@ -4,24 +4,24 @@
 #define _HEADER_initshutdown
 
 struct initshutdown_String_sub {
-       uint32_t name_size;/* [keepref,value(strlen_m_term(name))] */
-       const char * name;/* [keepref,flag(LIBNDR_FLAG_STR_LEN4|LIBNDR_FLAG_STR_NOTERM)] */
+       uint32_t name_size;/* [value(strlen_m_term(name))] */
+       const char * name;/* [flag(LIBNDR_FLAG_STR_LEN4|LIBNDR_FLAG_STR_NOTERM)] */
 };
 
 struct initshutdown_String {
-       uint16_t name_len;/* [keepref,value(strlen_m(r->name->name)*2)] */
-       uint16_t name_size;/* [keepref,value(strlen_m_term(r->name->name)*2)] */
-       struct initshutdown_String_sub *name;/* [unique,keepref] */
+       uint16_t name_len;/* [value(strlen_m(r->name->name)*2)] */
+       uint16_t name_size;/* [value(strlen_m_term(r->name->name)*2)] */
+       struct initshutdown_String_sub *name;/* [unique] */
 }/* [public] */;
 
 
 struct initshutdown_Init {
        struct {
-               uint16_t *hostname;/* [unique,keepref] */
-               struct initshutdown_String *message;/* [unique,keepref] */
-               uint32_t timeout;/* [keepref] */
-               uint8_t force_apps;/* [keepref] */
-               uint8_t reboot;/* [keepref] */
+               uint16_t *hostname;/* [unique] */
+               struct initshutdown_String *message;/* [unique] */
+               uint32_t timeout;
+               uint8_t force_apps;
+               uint8_t reboot;
        } in;
 
        struct {
@@ -33,7 +33,7 @@ struct initshutdown_Init {
 
 struct initshutdown_Abort {
        struct {
-               uint16_t *server;/* [unique,keepref] */
+               uint16_t *server;/* [unique] */
        } in;
 
        struct {
@@ -45,12 +45,12 @@ struct initshutdown_Abort {
 
 struct initshutdown_InitEx {
        struct {
-               uint16_t *hostname;/* [unique,keepref] */
-               struct initshutdown_String *message;/* [unique,keepref] */
-               uint32_t timeout;/* [keepref] */
-               uint8_t force_apps;/* [keepref] */
-               uint8_t reboot;/* [keepref] */
-               uint32_t reason;/* [keepref] */
+               uint16_t *hostname;/* [unique] */
+               struct initshutdown_String *message;/* [unique] */
+               uint32_t timeout;
+               uint8_t force_apps;
+               uint8_t reboot;
+               uint32_t reason;
        } in;
 
        struct {
index 50fb1faa97a22a32192bebf5c76b6c9a01ee3052..87d1a5ccf22372e42600927f0dccdf6f929bb1ff 100644 (file)
 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER    ( 82 )
 struct lsa_String {
-       uint16_t length;/* [keepref,value(2*strlen_m(string))] */
-       uint16_t size;/* [keepref,value(2*strlen_m(string))] */
-       const char *string;/* [unique,keepref,charset(UTF16),length_is(length/2),size_is(size/2)] */
+       uint16_t length;/* [value(2*strlen_m(string))] */
+       uint16_t size;/* [value(2*strlen_m(string))] */
+       const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
 }/* [public,noejs] */;
 
 struct lsa_StringLarge {
-       uint16_t length;/* [keepref,value(2*strlen_m(string))] */
-       uint16_t size;/* [keepref,value(2*(strlen_m(string)+1))] */
-       const char *string;/* [unique,keepref,charset(UTF16),length_is(length/2),size_is(size/2)] */
+       uint16_t length;/* [value(2*strlen_m(string))] */
+       uint16_t size;/* [value(2*(strlen_m(string)+1))] */
+       const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
 }/* [public] */;
 
 struct lsa_Strings {
-       uint32_t count;/* [keepref] */
-       struct lsa_String *names;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct lsa_String *names;/* [unique,size_is(count)] */
 }/* [public] */;
 
 struct lsa_AsciiString {
-       uint16_t length;/* [keepref,value(strlen_m(string))] */
-       uint16_t size;/* [keepref,value(strlen_m(string))] */
-       const char * string;/* [unique,keepref,flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_LEN4)] */
+       uint16_t length;/* [value(strlen_m(string))] */
+       uint16_t size;/* [value(strlen_m(string))] */
+       const char * string;/* [unique,flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_LEN4)] */
 }/* [public] */;
 
 struct lsa_LUID {
-       uint32_t low;/* [keepref] */
-       uint32_t high;/* [keepref] */
+       uint32_t low;
+       uint32_t high;
 };
 
 struct lsa_PrivEntry {
-       struct lsa_StringLarge name;/* [keepref] */
-       struct lsa_LUID luid;/* [keepref] */
+       struct lsa_StringLarge name;
+       struct lsa_LUID luid;
 };
 
 struct lsa_PrivArray {
-       uint32_t count;/* [keepref] */
-       struct lsa_PrivEntry *privs;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
 };
 
 struct lsa_QosInfo {
-       uint32_t len;/* [keepref] */
-       uint16_t impersonation_level;/* [keepref] */
-       uint8_t context_mode;/* [keepref] */
-       uint8_t effective_only;/* [keepref] */
+       uint32_t len;
+       uint16_t impersonation_level;
+       uint8_t context_mode;
+       uint8_t effective_only;
 };
 
 struct lsa_ObjectAttribute {
-       uint32_t len;/* [keepref] */
-       uint8_t *root_dir;/* [unique,keepref] */
-       const char *object_name;/* [unique,keepref,charset(UTF16)] */
-       uint32_t attributes;/* [keepref] */
-       struct security_descriptor *sec_desc;/* [unique,keepref] */
-       struct lsa_QosInfo *sec_qos;/* [unique,keepref] */
+       uint32_t len;
+       uint8_t *root_dir;/* [unique] */
+       const char *object_name;/* [unique,charset(UTF16)] */
+       uint32_t attributes;
+       struct security_descriptor *sec_desc;/* [unique] */
+       struct lsa_QosInfo *sec_qos;/* [unique] */
 };
 
 struct lsa_AuditLogInfo {
-       uint32_t percent_full;/* [keepref] */
-       uint32_t log_size;/* [keepref] */
-       NTTIME retention_time;/* [keepref] */
-       uint8_t shutdown_in_progress;/* [keepref] */
-       NTTIME time_to_shutdown;/* [keepref] */
-       uint32_t next_audit_record;/* [keepref] */
-       uint32_t unknown;/* [keepref] */
+       uint32_t percent_full;
+       uint32_t log_size;
+       NTTIME retention_time;
+       uint8_t shutdown_in_progress;
+       NTTIME time_to_shutdown;
+       uint32_t next_audit_record;
+       uint32_t unknown;
 };
 
 struct lsa_AuditEventsInfo {
-       uint32_t auditing_mode;/* [keepref] */
-       uint32_t *settings;/* [unique,keepref,size_is(count)] */
-       uint32_t count;/* [keepref] */
+       uint32_t auditing_mode;
+       uint32_t *settings;/* [unique,size_is(count)] */
+       uint32_t count;
 };
 
 struct lsa_DomainInfo {
-       struct lsa_StringLarge name;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
+       struct lsa_StringLarge name;
+       struct dom_sid2 *sid;/* [unique] */
 };
 
 struct lsa_PDAccountInfo {
-       struct lsa_String name;/* [keepref] */
+       struct lsa_String name;
 };
 
 struct lsa_ServerRole {
-       uint16_t unknown;/* [keepref] */
-       uint16_t role;/* [keepref] */
+       uint16_t unknown;
+       uint16_t role;
 };
 
 struct lsa_ReplicaSourceInfo {
-       struct lsa_String source;/* [keepref] */
-       struct lsa_String account;/* [keepref] */
+       struct lsa_String source;
+       struct lsa_String account;
 };
 
 struct lsa_DefaultQuotaInfo {
-       uint32_t paged_pool;/* [keepref] */
-       uint32_t non_paged_pool;/* [keepref] */
-       uint32_t min_wss;/* [keepref] */
-       uint32_t max_wss;/* [keepref] */
-       uint32_t pagefile;/* [keepref] */
-       uint64_t unknown;/* [keepref] */
+       uint32_t paged_pool;
+       uint32_t non_paged_pool;
+       uint32_t min_wss;
+       uint32_t max_wss;
+       uint32_t pagefile;
+       uint64_t unknown;
 };
 
 struct lsa_ModificationInfo {
-       uint64_t modified_id;/* [keepref] */
-       NTTIME db_create_time;/* [keepref] */
+       uint64_t modified_id;
+       NTTIME db_create_time;
 };
 
 struct lsa_AuditFullSetInfo {
-       uint8_t shutdown_on_full;/* [keepref] */
+       uint8_t shutdown_on_full;
 };
 
 struct lsa_AuditFullQueryInfo {
-       uint16_t unknown;/* [keepref] */
-       uint8_t shutdown_on_full;/* [keepref] */
-       uint8_t log_is_full;/* [keepref] */
+       uint16_t unknown;
+       uint8_t shutdown_on_full;
+       uint8_t log_is_full;
 };
 
 struct lsa_DnsDomainInfo {
-       struct lsa_StringLarge name;/* [keepref] */
-       struct lsa_StringLarge dns_domain;/* [keepref] */
-       struct lsa_StringLarge dns_forest;/* [keepref] */
-       struct GUID domain_guid;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
+       struct lsa_StringLarge name;
+       struct lsa_StringLarge dns_domain;
+       struct lsa_StringLarge dns_forest;
+       struct GUID domain_guid;
+       struct dom_sid2 *sid;/* [unique] */
 };
 
 enum lsaPolicyInfo {
@@ -144,32 +144,32 @@ enum lsaPolicyInfo {
 };
 
 union lsa_PolicyInformation {
-       struct lsa_AuditLogInfo audit_log;/* [keepref,case(LSA_POLICY_INFO_AUDIT_LOG)] */
-       struct lsa_AuditEventsInfo audit_events;/* [keepref,case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
-       struct lsa_DomainInfo domain;/* [keepref,case(LSA_POLICY_INFO_DOMAIN)] */
-       struct lsa_PDAccountInfo pd;/* [keepref,case(LSA_POLICY_INFO_PD)] */
-       struct lsa_DomainInfo account_domain;/* [keepref,case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
-       struct lsa_ServerRole role;/* [keepref,case(LSA_POLICY_INFO_ROLE)] */
-       struct lsa_ReplicaSourceInfo replica;/* [keepref,case(LSA_POLICY_INFO_REPLICA)] */
-       struct lsa_DefaultQuotaInfo quota;/* [keepref,case(LSA_POLICY_INFO_QUOTA)] */
-       struct lsa_ModificationInfo db;/* [keepref,case(LSA_POLICY_INFO_DB)] */
-       struct lsa_AuditFullSetInfo auditfullset;/* [keepref,case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
-       struct lsa_AuditFullQueryInfo auditfullquery;/* [keepref,case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
-       struct lsa_DnsDomainInfo dns;/* [keepref,case(LSA_POLICY_INFO_DNS)] */
+       struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
+       struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
+       struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
+       struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
+       struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
+       struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
+       struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
+       struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
+       struct lsa_ModificationInfo db;/* [case(LSA_POLICY_INFO_DB)] */
+       struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
+       struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
+       struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
 }/* [switch_type(uint16)] */;
 
 struct lsa_SidPtr {
-       struct dom_sid2 *sid;/* [unique,keepref] */
+       struct dom_sid2 *sid;/* [unique] */
 };
 
 struct lsa_SidArray {
-       uint32_t num_sids;/* [keepref,range(0 1000)] */
-       struct lsa_SidPtr *sids;/* [unique,keepref,size_is(num_sids)] */
+       uint32_t num_sids;/* [range(0 1000)] */
+       struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
 }/* [public] */;
 
 struct lsa_DomainList {
-       uint32_t count;/* [keepref] */
-       struct lsa_DomainInfo *domains;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
 };
 
 enum lsa_SidType {
@@ -186,53 +186,53 @@ enum lsa_SidType {
 };
 
 struct lsa_TranslatedSid {
-       enum lsa_SidType sid_type;/* [keepref] */
-       uint32_t rid;/* [keepref] */
-       uint32_t sid_index;/* [keepref] */
+       enum lsa_SidType sid_type;
+       uint32_t rid;
+       uint32_t sid_index;
 };
 
 struct lsa_TransSidArray {
-       uint32_t count;/* [keepref,range(0 1000)] */
-       struct lsa_TranslatedSid *sids;/* [unique,keepref,size_is(count)] */
+       uint32_t count;/* [range(0 1000)] */
+       struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
 };
 
 struct lsa_RefDomainList {
-       uint32_t count;/* [keepref,range(0 1000)] */
-       struct lsa_DomainInfo *domains;/* [unique,keepref,size_is(count)] */
-       uint32_t max_size;/* [keepref] */
+       uint32_t count;/* [range(0 1000)] */
+       struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
+       uint32_t max_size;
 };
 
 struct lsa_TranslatedName {
-       enum lsa_SidType sid_type;/* [keepref] */
-       struct lsa_String name;/* [keepref] */
-       uint32_t sid_index;/* [keepref] */
+       enum lsa_SidType sid_type;
+       struct lsa_String name;
+       uint32_t sid_index;
 };
 
 struct lsa_TransNameArray {
-       uint32_t count;/* [keepref,range(0 1000)] */
-       struct lsa_TranslatedName *names;/* [unique,keepref,size_is(count)] */
+       uint32_t count;/* [range(0 1000)] */
+       struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
 };
 
 struct lsa_LUIDAttribute {
-       struct lsa_LUID luid;/* [keepref] */
-       uint32_t attribute;/* [keepref] */
+       struct lsa_LUID luid;
+       uint32_t attribute;
 };
 
 struct lsa_PrivilegeSet {
-       uint32_t count;/* [keepref,range(0 1000)] */
-       uint32_t unknown;/* [keepref] */
-       struct lsa_LUIDAttribute *set;/* [keepref,size_is(count)] */
+       uint32_t count;/* [range(0 1000)] */
+       uint32_t unknown;
+       struct lsa_LUIDAttribute *set;/* [size_is(count)] */
 };
 
 struct lsa_DATA_BUF {
-       uint32_t length;/* [keepref] */
-       uint32_t size;/* [keepref] */
-       uint8_t *data;/* [unique,keepref,length_is(length),size_is(size)] */
+       uint32_t length;
+       uint32_t size;
+       uint8_t *data;/* [unique,length_is(length),size_is(size)] */
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 struct lsa_DATA_BUF2 {
-       uint32_t size;/* [keepref,range(0 65536)] */
-       uint8_t *data;/* [unique,keepref,size_is(size)] */
+       uint32_t size;/* [range(0 65536)] */
+       uint8_t *data;/* [unique,size_is(size)] */
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 enum lsa_TrustDomInfoEnum {
@@ -249,111 +249,111 @@ enum lsa_TrustDomInfoEnum {
 };
 
 struct lsa_TrustDomainInfoName {
-       struct lsa_StringLarge netbios_name;/* [keepref] */
+       struct lsa_StringLarge netbios_name;
 };
 
 struct lsa_TrustDomainInfoPosixOffset {
-       uint32_t posix_offset;/* [keepref] */
+       uint32_t posix_offset;
 };
 
 struct lsa_TrustDomainInfoPassword {
-       struct lsa_DATA_BUF *password;/* [unique,keepref] */
-       struct lsa_DATA_BUF *old_password;/* [unique,keepref] */
+       struct lsa_DATA_BUF *password;/* [unique] */
+       struct lsa_DATA_BUF *old_password;/* [unique] */
 };
 
 struct lsa_TrustDomainInfoBasic {
-       struct lsa_String netbios_name;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
+       struct lsa_String netbios_name;
+       struct dom_sid2 *sid;/* [unique] */
 };
 
 struct lsa_TrustDomainInfoInfoEx {
-       struct lsa_StringLarge domain_name;/* [keepref] */
-       struct lsa_StringLarge netbios_name;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
-       uint32_t trust_direction;/* [keepref] */
-       uint32_t trust_type;/* [keepref] */
-       uint32_t trust_attributes;/* [keepref] */
+       struct lsa_StringLarge domain_name;
+       struct lsa_StringLarge netbios_name;
+       struct dom_sid2 *sid;/* [unique] */
+       uint32_t trust_direction;
+       uint32_t trust_type;
+       uint32_t trust_attributes;
 };
 
 struct lsa_TrustDomainInfoBuffer {
-       NTTIME last_update_time;/* [keepref] */
-       uint32_t secret_type;/* [keepref] */
-       struct lsa_DATA_BUF2 data;/* [keepref] */
+       NTTIME last_update_time;
+       uint32_t secret_type;
+       struct lsa_DATA_BUF2 data;
 };
 
 struct lsa_TrustDomainInfoAuthInfo {
-       uint32_t incoming_count;/* [keepref] */
-       struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique,keepref] */
-       struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique,keepref] */
-       uint32_t outgoing_count;/* [keepref] */
-       struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique,keepref] */
-       struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique,keepref] */
+       uint32_t incoming_count;
+       struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
+       struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
+       uint32_t outgoing_count;
+       struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
+       struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
 };
 
 struct lsa_TrustDomainInfoFullInfo {
-       struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */
-       struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref] */
-       struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref] */
+       struct lsa_TrustDomainInfoInfoEx info_ex;
+       struct lsa_TrustDomainInfoPosixOffset posix_offset;
+       struct lsa_TrustDomainInfoAuthInfo auth_info;
 };
 
 struct lsa_TrustDomainInfo11 {
-       struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */
-       struct lsa_DATA_BUF2 data1;/* [keepref] */
+       struct lsa_TrustDomainInfoInfoEx info_ex;
+       struct lsa_DATA_BUF2 data1;
 };
 
 struct lsa_TrustDomainInfoInfoAll {
-       struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */
-       struct lsa_DATA_BUF2 data1;/* [keepref] */
-       struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref] */
-       struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref] */
+       struct lsa_TrustDomainInfoInfoEx info_ex;
+       struct lsa_DATA_BUF2 data1;
+       struct lsa_TrustDomainInfoPosixOffset posix_offset;
+       struct lsa_TrustDomainInfoAuthInfo auth_info;
 };
 
 union lsa_TrustedDomainInfo {
-       struct lsa_TrustDomainInfoName name;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
-       struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
-       struct lsa_TrustDomainInfoPassword password;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
-       struct lsa_TrustDomainInfoBasic info_basic;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
-       struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
-       struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
-       struct lsa_TrustDomainInfoFullInfo full_info;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
-       struct lsa_TrustDomainInfo11 info11;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_11)] */
-       struct lsa_TrustDomainInfoInfoAll info_all;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] */
+       struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
+       struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
+       struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
+       struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
+       struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
+       struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
+       struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
+       struct lsa_TrustDomainInfo11 info11;/* [case(LSA_TRUSTED_DOMAIN_INFO_11)] */
+       struct lsa_TrustDomainInfoInfoAll info_all;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] */
 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
 
 struct lsa_DATA_BUF_PTR {
-       struct lsa_DATA_BUF *buf;/* [unique,keepref] */
+       struct lsa_DATA_BUF *buf;/* [unique] */
 };
 
 struct lsa_RightAttribute {
-       const char *name;/* [unique,keepref,charset(UTF16)] */
+       const char *name;/* [unique,charset(UTF16)] */
 };
 
 struct lsa_RightSet {
-       uint32_t count;/* [keepref] */
-       struct lsa_StringLarge *names;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct lsa_StringLarge *names;/* [unique,size_is(count)] */
 };
 
 struct lsa_StringPointer {
-       struct lsa_String *string;/* [unique,keepref] */
+       struct lsa_String *string;/* [unique] */
 };
 
 struct lsa_DomainListEx {
-       uint32_t count;/* [keepref] */
-       struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
 };
 
 struct lsa_DomainInfoKerberos {
-       uint32_t enforce_restrictions;/* [keepref] */
-       uint64_t service_tkt_lifetime;/* [keepref] */
-       uint64_t user_tkt_lifetime;/* [keepref] */
-       uint64_t user_tkt_renewaltime;/* [keepref] */
-       uint64_t clock_skew;/* [keepref] */
-       uint64_t unknown6;/* [keepref] */
+       uint32_t enforce_restrictions;
+       uint64_t service_tkt_lifetime;
+       uint64_t user_tkt_lifetime;
+       uint64_t user_tkt_renewaltime;
+       uint64_t clock_skew;
+       uint64_t unknown6;
 };
 
 struct lsa_DomainInfoEfs {
-       uint32_t blob_size;/* [keepref] */
-       uint8_t *efs_blob;/* [unique,keepref,size_is(blob_size)] */
+       uint32_t blob_size;
+       uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
 };
 
 enum lsa_DomainInfoEnum {
@@ -362,54 +362,54 @@ enum lsa_DomainInfoEnum {
 };
 
 union lsa_DomainInformationPolicy {
-       struct lsa_DomainInfoEfs efs_info;/* [keepref,case(LSA_DOMAIN_INFO_POLICY_EFS)] */
-       struct lsa_DomainInfoKerberos kerberos_info;/* [keepref,case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
+       struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
+       struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
 }/* [switch_type(uint16)] */;
 
 struct lsa_TranslatedName2 {
-       enum lsa_SidType sid_type;/* [keepref] */
-       struct lsa_String name;/* [keepref] */
-       uint32_t sid_index;/* [keepref] */
-       uint32_t unknown;/* [keepref] */
+       enum lsa_SidType sid_type;
+       struct lsa_String name;
+       uint32_t sid_index;
+       uint32_t unknown;
 };
 
 struct lsa_TransNameArray2 {
-       uint32_t count;/* [keepref,range(0 1000)] */
-       struct lsa_TranslatedName2 *names;/* [unique,keepref,size_is(count)] */
+       uint32_t count;/* [range(0 1000)] */
+       struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
 };
 
 struct lsa_TranslatedSid2 {
-       enum lsa_SidType sid_type;/* [keepref] */
-       uint32_t rid;/* [keepref] */
-       uint32_t sid_index;/* [keepref] */
-       uint32_t unknown;/* [keepref] */
+       enum lsa_SidType sid_type;
+       uint32_t rid;
+       uint32_t sid_index;
+       uint32_t unknown;
 };
 
 struct lsa_TransSidArray2 {
-       uint32_t count;/* [keepref,range(0 1000)] */
-       struct lsa_TranslatedSid2 *sids;/* [unique,keepref,size_is(count)] */
+       uint32_t count;/* [range(0 1000)] */
+       struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
 };
 
 struct lsa_TranslatedSid3 {
-       enum lsa_SidType sid_type;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
-       uint32_t sid_index;/* [keepref] */
-       uint32_t unknown;/* [keepref] */
+       enum lsa_SidType sid_type;
+       struct dom_sid2 *sid;/* [unique] */
+       uint32_t sid_index;
+       uint32_t unknown;
 };
 
 struct lsa_TransSidArray3 {
-       uint32_t count;/* [keepref,range(0 1000)] */
-       struct lsa_TranslatedSid3 *sids;/* [unique,keepref,size_is(count)] */
+       uint32_t count;/* [range(0 1000)] */
+       struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
 };
 
 
 struct lsa_Close {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -418,7 +418,7 @@ struct lsa_Close {
 
 struct lsa_Delete {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
@@ -430,14 +430,14 @@ struct lsa_Delete {
 
 struct lsa_EnumPrivs {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t *resume_handle;/* [keepref,ref] */
-               uint32_t max_count;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t *resume_handle;/* [ref] */
+               uint32_t max_count;
        } in;
 
        struct {
-               uint32_t *resume_handle;/* [keepref,ref] */
-               struct lsa_PrivArray *privs;/* [keepref,ref] */
+               uint32_t *resume_handle;/* [ref] */
+               struct lsa_PrivArray *privs;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -446,12 +446,12 @@ struct lsa_EnumPrivs {
 
 struct lsa_QuerySecurity {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t sec_info;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t sec_info;
        } in;
 
        struct {
-               struct sec_desc_buf *sdbuf;/* [unique,keepref] */
+               struct sec_desc_buf *sdbuf;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -476,13 +476,13 @@ struct lsa_ChangePassword {
 
 struct lsa_OpenPolicy {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               struct lsa_ObjectAttribute *attr;/* [keepref,ref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               struct lsa_ObjectAttribute *attr;/* [ref] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -491,12 +491,12 @@ struct lsa_OpenPolicy {
 
 struct lsa_QueryInfoPolicy {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint16_t level;
        } in;
 
        struct {
-               union lsa_PolicyInformation *info;/* [unique,keepref,switch_is(level)] */
+               union lsa_PolicyInformation *info;/* [unique,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -521,13 +521,13 @@ struct lsa_ClearAuditLog {
 
 struct lsa_CreateAccount {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *sid;/* [keepref,ref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *sid;/* [ref] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *acct_handle;/* [keepref,ref] */
+               struct policy_handle *acct_handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -536,14 +536,14 @@ struct lsa_CreateAccount {
 
 struct lsa_EnumAccounts {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t *resume_handle;/* [keepref,ref] */
-               uint32_t num_entries;/* [keepref,range(0 8192)] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t *resume_handle;/* [ref] */
+               uint32_t num_entries;/* [range(0 8192)] */
        } in;
 
        struct {
-               uint32_t *resume_handle;/* [keepref,ref] */
-               struct lsa_SidArray *sids;/* [keepref,ref] */
+               uint32_t *resume_handle;/* [ref] */
+               struct lsa_SidArray *sids;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -552,13 +552,13 @@ struct lsa_EnumAccounts {
 
 struct lsa_CreateTrustedDomain {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_DomainInfo *info;/* [keepref,ref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_DomainInfo *info;/* [ref] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *trustdom_handle;/* [keepref,ref] */
+               struct policy_handle *trustdom_handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -567,14 +567,14 @@ struct lsa_CreateTrustedDomain {
 
 struct lsa_EnumTrustDom {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t *resume_handle;/* [keepref,ref] */
-               uint32_t max_size;/* [keepref,range(0 1000)] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t *resume_handle;/* [ref] */
+               uint32_t max_size;/* [range(0 1000)] */
        } in;
 
        struct {
-               uint32_t *resume_handle;/* [keepref,ref] */
-               struct lsa_DomainList *domains;/* [keepref,ref] */
+               uint32_t *resume_handle;/* [ref] */
+               struct lsa_DomainList *domains;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -583,18 +583,18 @@ struct lsa_EnumTrustDom {
 
 struct lsa_LookupNames {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t num_names;/* [keepref,range(0 1000)] */
-               struct lsa_String *names;/* [keepref,size_is(num_names)] */
-               struct lsa_TransSidArray *sids;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t num_names;/* [range(0 1000)] */
+               struct lsa_String *names;/* [size_is(num_names)] */
+               struct lsa_TransSidArray *sids;/* [ref] */
+               uint16_t level;
+               uint32_t *count;/* [ref] */
        } in;
 
        struct {
-               struct lsa_RefDomainList *domains;/* [unique,keepref] */
-               struct lsa_TransSidArray *sids;/* [keepref,ref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct lsa_RefDomainList *domains;/* [unique] */
+               struct lsa_TransSidArray *sids;/* [ref] */
+               uint32_t *count;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -603,17 +603,17 @@ struct lsa_LookupNames {
 
 struct lsa_LookupSids {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_SidArray *sids;/* [keepref,ref] */
-               struct lsa_TransNameArray *names;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_SidArray *sids;/* [ref] */
+               struct lsa_TransNameArray *names;/* [ref] */
+               uint16_t level;
+               uint32_t *count;/* [ref] */
        } in;
 
        struct {
-               struct lsa_RefDomainList *domains;/* [unique,keepref] */
-               struct lsa_TransNameArray *names;/* [keepref,ref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct lsa_RefDomainList *domains;/* [unique] */
+               struct lsa_TransNameArray *names;/* [ref] */
+               uint32_t *count;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -622,13 +622,13 @@ struct lsa_LookupSids {
 
 struct lsa_CreateSecret {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String name;/* [keepref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String name;
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *sec_handle;/* [keepref,ref] */
+               struct policy_handle *sec_handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -637,13 +637,13 @@ struct lsa_CreateSecret {
 
 struct lsa_OpenAccount {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *sid;/* [keepref,ref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *sid;/* [ref] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *acct_handle;/* [keepref,ref] */
+               struct policy_handle *acct_handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -652,11 +652,11 @@ struct lsa_OpenAccount {
 
 struct lsa_EnumPrivsAccount {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
-               struct lsa_PrivilegeSet *privs;/* [unique,keepref] */
+               struct lsa_PrivilegeSet *privs;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -665,8 +665,8 @@ struct lsa_EnumPrivsAccount {
 
 struct lsa_AddPrivilegesToAccount {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_PrivilegeSet *privs;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_PrivilegeSet *privs;/* [ref] */
        } in;
 
        struct {
@@ -678,9 +678,9 @@ struct lsa_AddPrivilegesToAccount {
 
 struct lsa_RemovePrivilegesFromAccount {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint8_t remove_all;/* [keepref] */
-               struct lsa_PrivilegeSet *privs;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint8_t remove_all;
+               struct lsa_PrivilegeSet *privs;/* [unique] */
        } in;
 
        struct {
@@ -724,13 +724,13 @@ struct lsa_SetSystemAccessAccount {
 
 struct lsa_OpenTrustedDomain {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *sid;/* [keepref,ref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *sid;/* [ref] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *trustdom_handle;/* [keepref,ref] */
+               struct policy_handle *trustdom_handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -739,12 +739,12 @@ struct lsa_OpenTrustedDomain {
 
 struct lsa_QueryTrustedDomainInfo {
        struct {
-               struct policy_handle *trustdom_handle;/* [keepref,ref] */
-               enum lsa_TrustDomInfoEnum level;/* [keepref] */
+               struct policy_handle *trustdom_handle;/* [ref] */
+               enum lsa_TrustDomInfoEnum level;
        } in;
 
        struct {
-               union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */
+               union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -761,13 +761,13 @@ struct lsa_SetInformationTrustedDomain {
 
 struct lsa_OpenSecret {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String name;/* [keepref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String name;
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *sec_handle;/* [keepref,ref] */
+               struct policy_handle *sec_handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -776,9 +776,9 @@ struct lsa_OpenSecret {
 
 struct lsa_SetSecret {
        struct {
-               struct policy_handle *sec_handle;/* [keepref,ref] */
-               struct lsa_DATA_BUF *new_val;/* [unique,keepref] */
-               struct lsa_DATA_BUF *old_val;/* [unique,keepref] */
+               struct policy_handle *sec_handle;/* [ref] */
+               struct lsa_DATA_BUF *new_val;/* [unique] */
+               struct lsa_DATA_BUF *old_val;/* [unique] */
        } in;
 
        struct {
@@ -790,18 +790,18 @@ struct lsa_SetSecret {
 
 struct lsa_QuerySecret {
        struct {
-               struct policy_handle *sec_handle;/* [keepref,ref] */
-               struct lsa_DATA_BUF_PTR *new_val;/* [unique,keepref] */
-               NTTIME *new_mtime;/* [unique,keepref] */
-               struct lsa_DATA_BUF_PTR *old_val;/* [unique,keepref] */
-               NTTIME *old_mtime;/* [unique,keepref] */
+               struct policy_handle *sec_handle;/* [ref] */
+               struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
+               NTTIME *new_mtime;/* [unique] */
+               struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
+               NTTIME *old_mtime;/* [unique] */
        } in;
 
        struct {
-               struct lsa_DATA_BUF_PTR *new_val;/* [unique,keepref] */
-               NTTIME *new_mtime;/* [unique,keepref] */
-               struct lsa_DATA_BUF_PTR *old_val;/* [unique,keepref] */
-               NTTIME *old_mtime;/* [unique,keepref] */
+               struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
+               NTTIME *new_mtime;/* [unique] */
+               struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
+               NTTIME *old_mtime;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -810,12 +810,12 @@ struct lsa_QuerySecret {
 
 struct lsa_LookupPrivValue {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String *name;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String *name;/* [ref] */
        } in;
 
        struct {
-               struct lsa_LUID *luid;/* [keepref,ref] */
+               struct lsa_LUID *luid;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -824,12 +824,12 @@ struct lsa_LookupPrivValue {
 
 struct lsa_LookupPrivName {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_LUID *luid;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_LUID *luid;/* [ref] */
        } in;
 
        struct {
-               struct lsa_StringLarge *name;/* [unique,keepref] */
+               struct lsa_StringLarge *name;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -838,15 +838,15 @@ struct lsa_LookupPrivName {
 
 struct lsa_LookupPrivDisplayName {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String *name;/* [keepref,ref] */
-               uint16_t *language_id;/* [keepref,ref] */
-               uint16_t unknown;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String *name;/* [ref] */
+               uint16_t *language_id;/* [ref] */
+               uint16_t unknown;
        } in;
 
        struct {
-               struct lsa_StringLarge *disp_name;/* [unique,keepref] */
-               uint16_t *language_id;/* [keepref,ref] */
+               struct lsa_StringLarge *disp_name;/* [unique] */
+               uint16_t *language_id;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -863,12 +863,12 @@ struct lsa_DeleteObject {
 
 struct lsa_EnumAccountsWithUserRight {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String *name;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String *name;/* [unique] */
        } in;
 
        struct {
-               struct lsa_SidArray *sids;/* [keepref,ref] */
+               struct lsa_SidArray *sids;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -877,12 +877,12 @@ struct lsa_EnumAccountsWithUserRight {
 
 struct lsa_EnumAccountRights {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *sid;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *sid;/* [ref] */
        } in;
 
        struct {
-               struct lsa_RightSet *rights;/* [keepref,ref] */
+               struct lsa_RightSet *rights;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -891,9 +891,9 @@ struct lsa_EnumAccountRights {
 
 struct lsa_AddAccountRights {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *sid;/* [keepref,ref] */
-               struct lsa_RightSet *rights;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *sid;/* [ref] */
+               struct lsa_RightSet *rights;/* [ref] */
        } in;
 
        struct {
@@ -905,10 +905,10 @@ struct lsa_AddAccountRights {
 
 struct lsa_RemoveAccountRights {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *sid;/* [keepref,ref] */
-               uint32_t unknown;/* [keepref] */
-               struct lsa_RightSet *rights;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *sid;/* [ref] */
+               uint32_t unknown;
+               struct lsa_RightSet *rights;/* [ref] */
        } in;
 
        struct {
@@ -920,13 +920,13 @@ struct lsa_RemoveAccountRights {
 
 struct lsa_QueryTrustedDomainInfoBySid {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *dom_sid;/* [keepref,ref] */
-               enum lsa_TrustDomInfoEnum level;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *dom_sid;/* [ref] */
+               enum lsa_TrustDomInfoEnum level;
        } in;
 
        struct {
-               union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */
+               union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -943,8 +943,8 @@ struct lsa_SetTrustedDomainInfo {
 
 struct lsa_DeleteTrustedDomain {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct dom_sid2 *dom_sid;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               struct dom_sid2 *dom_sid;/* [ref] */
        } in;
 
        struct {
@@ -972,13 +972,13 @@ struct lsa_RetrievePrivateData {
 
 struct lsa_OpenPolicy2 {
        struct {
-               const char *system_name;/* [unique,keepref,charset(UTF16)] */
-               struct lsa_ObjectAttribute *attr;/* [keepref,ref] */
-               uint32_t access_mask;/* [keepref] */
+               const char *system_name;/* [unique,charset(UTF16)] */
+               struct lsa_ObjectAttribute *attr;/* [ref] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -987,14 +987,14 @@ struct lsa_OpenPolicy2 {
 
 struct lsa_GetUserName {
        struct {
-               const char *system_name;/* [unique,keepref,charset(UTF16)] */
-               struct lsa_String *account_name;/* [unique,keepref] */
-               struct lsa_StringPointer *authority_name;/* [unique,keepref] */
+               const char *system_name;/* [unique,charset(UTF16)] */
+               struct lsa_String *account_name;/* [unique] */
+               struct lsa_StringPointer *authority_name;/* [unique] */
        } in;
 
        struct {
-               struct lsa_String *account_name;/* [unique,keepref] */
-               struct lsa_StringPointer *authority_name;/* [unique,keepref] */
+               struct lsa_String *account_name;/* [unique] */
+               struct lsa_StringPointer *authority_name;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -1003,12 +1003,12 @@ struct lsa_GetUserName {
 
 struct lsa_QueryInfoPolicy2 {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint16_t level;
        } in;
 
        struct {
-               union lsa_PolicyInformation *info;/* [unique,keepref,switch_is(level)] */
+               union lsa_PolicyInformation *info;/* [unique,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -1025,13 +1025,13 @@ struct lsa_SetInfoPolicy2 {
 
 struct lsa_QueryTrustedDomainInfoByName {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String trusted_domain;/* [keepref] */
-               enum lsa_TrustDomInfoEnum level;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String trusted_domain;
+               enum lsa_TrustDomInfoEnum level;
        } in;
 
        struct {
-               union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */
+               union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -1040,10 +1040,10 @@ struct lsa_QueryTrustedDomainInfoByName {
 
 struct lsa_SetTrustedDomainInfoByName {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String trusted_domain;/* [keepref] */
-               enum lsa_TrustDomInfoEnum level;/* [keepref] */
-               union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String trusted_domain;
+               enum lsa_TrustDomInfoEnum level;
+               union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
        } in;
 
        struct {
@@ -1055,14 +1055,14 @@ struct lsa_SetTrustedDomainInfoByName {
 
 struct lsa_EnumTrustedDomainsEx {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t *resume_handle;/* [keepref,ref] */
-               uint32_t max_size;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t *resume_handle;/* [ref] */
+               uint32_t max_size;
        } in;
 
        struct {
-               uint32_t *resume_handle;/* [keepref,ref] */
-               struct lsa_DomainListEx *domains;/* [keepref,ref] */
+               uint32_t *resume_handle;/* [ref] */
+               struct lsa_DomainListEx *domains;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1079,11 +1079,11 @@ struct lsa_CreateTrustedDomainEx {
 
 struct lsa_CloseTrustedDomainEx {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1092,12 +1092,12 @@ struct lsa_CloseTrustedDomainEx {
 
 struct lsa_QueryDomainInformationPolicy {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint16_t level;
        } in;
 
        struct {
-               union lsa_DomainInformationPolicy *info;/* [unique,keepref,switch_is(level)] */
+               union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -1106,9 +1106,9 @@ struct lsa_QueryDomainInformationPolicy {
 
 struct lsa_SetDomainInformationPolicy {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               union lsa_DomainInformationPolicy *info;/* [unique,keepref,switch_is(level)] */
+               struct policy_handle *handle;/* [ref] */
+               uint16_t level;
+               union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
        } in;
 
        struct {
@@ -1120,13 +1120,13 @@ struct lsa_SetDomainInformationPolicy {
 
 struct lsa_OpenTrustedDomainByName {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_String name;/* [keepref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_String name;
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *trustdom_handle;/* [keepref,ref] */
+               struct policy_handle *trustdom_handle;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1143,19 +1143,19 @@ struct lsa_TestCall {
 
 struct lsa_LookupSids2 {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct lsa_SidArray *sids;/* [keepref,ref] */
-               struct lsa_TransNameArray2 *names;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               uint32_t *count;/* [keepref,ref] */
-               uint32_t unknown1;/* [keepref] */
-               uint32_t unknown2;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct lsa_SidArray *sids;/* [ref] */
+               struct lsa_TransNameArray2 *names;/* [ref] */
+               uint16_t level;
+               uint32_t *count;/* [ref] */
+               uint32_t unknown1;
+               uint32_t unknown2;
        } in;
 
        struct {
-               struct lsa_RefDomainList *domains;/* [unique,keepref] */
-               struct lsa_TransNameArray2 *names;/* [keepref,ref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct lsa_RefDomainList *domains;/* [unique] */
+               struct lsa_TransNameArray2 *names;/* [ref] */
+               uint32_t *count;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1164,20 +1164,20 @@ struct lsa_LookupSids2 {
 
 struct lsa_LookupNames2 {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t num_names;/* [keepref,range(0 1000)] */
-               struct lsa_String *names;/* [keepref,size_is(num_names)] */
-               struct lsa_TransSidArray2 *sids;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               uint32_t *count;/* [keepref,ref] */
-               uint32_t unknown1;/* [keepref] */
-               uint32_t unknown2;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t num_names;/* [range(0 1000)] */
+               struct lsa_String *names;/* [size_is(num_names)] */
+               struct lsa_TransSidArray2 *sids;/* [ref] */
+               uint16_t level;
+               uint32_t *count;/* [ref] */
+               uint32_t unknown1;
+               uint32_t unknown2;
        } in;
 
        struct {
-               struct lsa_RefDomainList *domains;/* [unique,keepref] */
-               struct lsa_TransSidArray2 *sids;/* [keepref,ref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct lsa_RefDomainList *domains;/* [unique] */
+               struct lsa_TransSidArray2 *sids;/* [ref] */
+               uint32_t *count;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1258,20 +1258,20 @@ struct lsa_CREDRPROFILELOADED {
 
 struct lsa_LookupNames3 {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t num_names;/* [keepref,range(0 1000)] */
-               struct lsa_String *names;/* [keepref,size_is(num_names)] */
-               struct lsa_TransSidArray3 *sids;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               uint32_t *count;/* [keepref,ref] */
-               uint32_t unknown1;/* [keepref] */
-               uint32_t unknown2;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t num_names;/* [range(0 1000)] */
+               struct lsa_String *names;/* [size_is(num_names)] */
+               struct lsa_TransSidArray3 *sids;/* [ref] */
+               uint16_t level;
+               uint32_t *count;/* [ref] */
+               uint32_t unknown1;
+               uint32_t unknown2;
        } in;
 
        struct {
-               struct lsa_RefDomainList *domains;/* [unique,keepref] */
-               struct lsa_TransSidArray3 *sids;/* [keepref,ref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct lsa_RefDomainList *domains;/* [unique] */
+               struct lsa_TransSidArray3 *sids;/* [ref] */
+               uint32_t *count;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1336,18 +1336,18 @@ struct lsa_CREDRRENAME {
 
 struct lsa_LookupSids3 {
        struct {
-               struct lsa_SidArray *sids;/* [keepref,ref] */
-               struct lsa_TransNameArray2 *names;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               uint32_t *count;/* [keepref,ref] */
-               uint32_t unknown1;/* [keepref] */
-               uint32_t unknown2;/* [keepref] */
+               struct lsa_SidArray *sids;/* [ref] */
+               struct lsa_TransNameArray2 *names;/* [ref] */
+               uint16_t level;
+               uint32_t *count;/* [ref] */
+               uint32_t unknown1;
+               uint32_t unknown2;
        } in;
 
        struct {
-               struct lsa_RefDomainList *domains;/* [unique,keepref] */
-               struct lsa_TransNameArray2 *names;/* [keepref,ref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct lsa_RefDomainList *domains;/* [unique] */
+               struct lsa_TransNameArray2 *names;/* [ref] */
+               uint32_t *count;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1356,19 +1356,19 @@ struct lsa_LookupSids3 {
 
 struct lsa_LookupNames4 {
        struct {
-               uint32_t num_names;/* [keepref,range(0 1000)] */
-               struct lsa_String *names;/* [keepref,size_is(num_names)] */
-               struct lsa_TransSidArray3 *sids;/* [keepref,ref] */
-               uint16_t level;/* [keepref] */
-               uint32_t *count;/* [keepref,ref] */
-               uint32_t unknown1;/* [keepref] */
-               uint32_t unknown2;/* [keepref] */
+               uint32_t num_names;/* [range(0 1000)] */
+               struct lsa_String *names;/* [size_is(num_names)] */
+               struct lsa_TransSidArray3 *sids;/* [ref] */
+               uint16_t level;
+               uint32_t *count;/* [ref] */
+               uint32_t unknown1;
+               uint32_t unknown2;
        } in;
 
        struct {
-               struct lsa_RefDomainList *domains;/* [unique,keepref] */
-               struct lsa_TransSidArray3 *sids;/* [keepref,ref] */
-               uint32_t *count;/* [keepref,ref] */
+               struct lsa_RefDomainList *domains;/* [unique] */
+               struct lsa_TransSidArray3 *sids;/* [ref] */
+               uint32_t *count;/* [ref] */
                NTSTATUS result;
        } out;
 
index cfb2df3c8d019c9eb7b38e9fe76b6e55ac19cb12..36058ec5aa5ecfef236c6ade91816e90649fc282 100644 (file)
 #define NETLOGON_NEG_128BIT    ( 0x00004000 )
 #define NETLOGON_NEG_SCHANNEL  ( 0x40000000 )
 struct netr_UasInfo {
-       const char *account_name;/* [unique,keepref,charset(UTF16)] */
-       uint32_t priv;/* [keepref] */
-       uint32_t auth_flags;/* [keepref] */
-       uint32_t logon_count;/* [keepref] */
-       uint32_t bad_pw_count;/* [keepref] */
-       time_t last_logon;/* [keepref] */
-       time_t last_logoff;/* [keepref] */
-       time_t logoff_time;/* [keepref] */
-       time_t kickoff_time;/* [keepref] */
-       uint32_t password_age;/* [keepref] */
-       time_t pw_can_change;/* [keepref] */
-       time_t pw_must_change;/* [keepref] */
-       const char *computer;/* [unique,keepref,charset(UTF16)] */
-       const char *domain;/* [unique,keepref,charset(UTF16)] */
-       const char *script_path;/* [unique,keepref,charset(UTF16)] */
-       uint32_t unknown;/* [keepref] */
+       const char *account_name;/* [unique,charset(UTF16)] */
+       uint32_t priv;
+       uint32_t auth_flags;
+       uint32_t logon_count;
+       uint32_t bad_pw_count;
+       time_t last_logon;
+       time_t last_logoff;
+       time_t logoff_time;
+       time_t kickoff_time;
+       uint32_t password_age;
+       time_t pw_can_change;
+       time_t pw_must_change;
+       const char *computer;/* [unique,charset(UTF16)] */
+       const char *domain;/* [unique,charset(UTF16)] */
+       const char *script_path;/* [unique,charset(UTF16)] */
+       uint32_t unknown;
 };
 
 struct netr_UasLogoffInfo {
-       uint32_t duration;/* [keepref] */
-       uint16_t logon_count;/* [keepref] */
+       uint32_t duration;
+       uint16_t logon_count;
 };
 
 struct netr_AcctLockStr {
-       uint16_t size;/* [keepref] */
-       uint16_t length;/* [keepref] */
-       uint16_t *bindata;/* [unique,keepref,length_is(length/2),size_is(size/2)] */
+       uint16_t size;
+       uint16_t length;
+       uint16_t *bindata;/* [unique,length_is(length/2),size_is(size/2)] */
 };
 
 struct netr_IdentityInfo {
-       struct lsa_String domain_name;/* [keepref] */
-       uint32_t parameter_control;/* [keepref] */
-       uint32_t logon_id_low;/* [keepref] */
-       uint32_t logon_id_high;/* [keepref] */
-       struct lsa_String account_name;/* [keepref] */
-       struct lsa_String workstation;/* [keepref] */
+       struct lsa_String domain_name;
+       uint32_t parameter_control;
+       uint32_t logon_id_low;
+       uint32_t logon_id_high;
+       struct lsa_String account_name;
+       struct lsa_String workstation;
 };
 
 struct netr_PasswordInfo {
-       struct netr_IdentityInfo identity_info;/* [keepref] */
-       struct samr_Password lmpassword;/* [keepref] */
-       struct samr_Password ntpassword;/* [keepref] */
+       struct netr_IdentityInfo identity_info;
+       struct samr_Password lmpassword;
+       struct samr_Password ntpassword;
 };
 
 struct netr_ChallengeResponse {
-       uint16_t length;/* [keepref] */
-       uint16_t size;/* [keepref,value(length)] */
-       uint8_t *data;/* [unique,keepref,length_is(length),size_is(length)] */
+       uint16_t length;
+       uint16_t size;/* [value(length)] */
+       uint8_t *data;/* [unique,length_is(length),size_is(length)] */
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 struct netr_NetworkInfo {
-       struct netr_IdentityInfo identity_info;/* [keepref] */
-       uint8_t challenge[8];/* [keepref] */
-       struct netr_ChallengeResponse nt;/* [keepref] */
-       struct netr_ChallengeResponse lm;/* [keepref] */
+       struct netr_IdentityInfo identity_info;
+       uint8_t challenge[8];
+       struct netr_ChallengeResponse nt;
+       struct netr_ChallengeResponse lm;
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 union netr_LogonLevel {
-       struct netr_PasswordInfo *password;/* [unique,keepref,case] */
-       struct netr_NetworkInfo *network;/* [unique,keepref,case(2)] */
+       struct netr_PasswordInfo *password;/* [unique,case] */
+       struct netr_NetworkInfo *network;/* [unique,case(2)] */
 }/* [public,switch_type(uint16)] */;
 
 struct netr_GroupMembership {
-       uint32_t rid;/* [keepref] */
-       uint32_t attributes;/* [keepref] */
+       uint32_t rid;
+       uint32_t attributes;
 }/* [public] */;
 
 struct netr_UserSessionKey {
-       uint8_t key[16];/* [keepref] */
+       uint8_t key[16];
 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 struct netr_LMSessionKey {
-       uint8_t key[8];/* [keepref] */
+       uint8_t key[8];
 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 /* bitmap netr_UserFlags */
@@ -101,365 +101,365 @@ struct netr_LMSessionKey {
 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x0400 )
 
 struct netr_SamBaseInfo {
-       NTTIME last_logon;/* [keepref] */
-       NTTIME last_logoff;/* [keepref] */
-       NTTIME acct_expiry;/* [keepref] */
-       NTTIME last_password_change;/* [keepref] */
-       NTTIME allow_password_change;/* [keepref] */
-       NTTIME force_password_change;/* [keepref] */
-       struct lsa_String account_name;/* [keepref] */
-       struct lsa_String full_name;/* [keepref] */
-       struct lsa_String logon_script;/* [keepref] */
-       struct lsa_String profile_path;/* [keepref] */
-       struct lsa_String home_directory;/* [keepref] */
-       struct lsa_String home_drive;/* [keepref] */
-       uint16_t logon_count;/* [keepref] */
-       uint16_t bad_password_count;/* [keepref] */
-       uint32_t rid;/* [keepref] */
-       uint32_t primary_gid;/* [keepref] */
-       struct samr_RidWithAttributeArray groups;/* [keepref] */
-       uint32_t user_flags;/* [keepref] */
-       struct netr_UserSessionKey key;/* [keepref] */
-       struct lsa_StringLarge logon_server;/* [keepref] */
-       struct lsa_StringLarge domain;/* [keepref] */
-       struct dom_sid2 *domain_sid;/* [unique,keepref] */
-       struct netr_LMSessionKey LMSessKey;/* [keepref] */
-       uint32_t acct_flags;/* [keepref] */
-       uint32_t unknown[7];/* [keepref] */
+       NTTIME last_logon;
+       NTTIME last_logoff;
+       NTTIME acct_expiry;
+       NTTIME last_password_change;
+       NTTIME allow_password_change;
+       NTTIME force_password_change;
+       struct lsa_String account_name;
+       struct lsa_String full_name;
+       struct lsa_String logon_script;
+       struct lsa_String profile_path;
+       struct lsa_String home_directory;
+       struct lsa_String home_drive;
+       uint16_t logon_count;
+       uint16_t bad_password_count;
+       uint32_t rid;
+       uint32_t primary_gid;
+       struct samr_RidWithAttributeArray groups;
+       uint32_t user_flags;
+       struct netr_UserSessionKey key;
+       struct lsa_StringLarge logon_server;
+       struct lsa_StringLarge domain;
+       struct dom_sid2 *domain_sid;/* [unique] */
+       struct netr_LMSessionKey LMSessKey;
+       uint32_t acct_flags;
+       uint32_t unknown[7];
 };
 
 struct netr_SamInfo2 {
-       struct netr_SamBaseInfo base;/* [keepref] */
+       struct netr_SamBaseInfo base;
 };
 
 struct netr_SidAttr {
-       struct dom_sid2 *sid;/* [unique,keepref] */
-       uint32_t attribute;/* [keepref] */
+       struct dom_sid2 *sid;/* [unique] */
+       uint32_t attribute;
 };
 
 struct netr_SamInfo3 {
-       struct netr_SamBaseInfo base;/* [keepref] */
-       uint32_t sidcount;/* [keepref] */
-       struct netr_SidAttr *sids;/* [unique,keepref,size_is(sidcount)] */
+       struct netr_SamBaseInfo base;
+       uint32_t sidcount;
+       struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
 }/* [public] */;
 
 struct netr_SamInfo6 {
-       struct netr_SamBaseInfo base;/* [keepref] */
-       uint32_t sidcount;/* [keepref] */
-       struct netr_SidAttr *sids;/* [unique,keepref,size_is(sidcount)] */
-       struct lsa_String forest;/* [keepref] */
-       struct lsa_String principle;/* [keepref] */
-       uint32_t unknown4[20];/* [keepref] */
+       struct netr_SamBaseInfo base;
+       uint32_t sidcount;
+       struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
+       struct lsa_String forest;
+       struct lsa_String principle;
+       uint32_t unknown4[20];
 };
 
 struct netr_PacInfo {
-       uint32_t pac_size;/* [keepref] */
-       uint8_t *pac;/* [unique,keepref,size_is(pac_size)] */
-       struct lsa_String logon_domain;/* [keepref] */
-       struct lsa_String logon_server;/* [keepref] */
-       struct lsa_String principal_name;/* [keepref] */
-       uint32_t auth_size;/* [keepref] */
-       uint8_t *auth;/* [unique,keepref,size_is(auth_size)] */
-       struct netr_UserSessionKey user_session_key;/* [keepref] */
-       uint32_t expansionroom[10];/* [keepref] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
+       uint32_t pac_size;
+       uint8_t *pac;/* [unique,size_is(pac_size)] */
+       struct lsa_String logon_domain;
+       struct lsa_String logon_server;
+       struct lsa_String principal_name;
+       uint32_t auth_size;
+       uint8_t *auth;/* [unique,size_is(auth_size)] */
+       struct netr_UserSessionKey user_session_key;
+       uint32_t expansionroom[10];
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
 };
 
 union netr_Validation {
-       struct netr_SamInfo2 *sam2;/* [unique,keepref,case(2)] */
-       struct netr_SamInfo3 *sam3;/* [unique,keepref,case(3)] */
-       struct netr_PacInfo *pac;/* [unique,keepref,case(4)] */
-       struct netr_SamInfo6 *sam6;/* [unique,keepref,case(6)] */
+       struct netr_SamInfo2 *sam2;/* [unique,case(2)] */
+       struct netr_SamInfo3 *sam3;/* [unique,case(3)] */
+       struct netr_PacInfo *pac;/* [unique,case(4)] */
+       struct netr_SamInfo6 *sam6;/* [unique,case(6)] */
 }/* [public,switch_type(uint16)] */;
 
 struct netr_Credential {
-       uint8_t data[8];/* [keepref] */
+       uint8_t data[8];
 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 struct netr_Authenticator {
-       struct netr_Credential cred;/* [keepref] */
-       time_t timestamp;/* [keepref] */
+       struct netr_Credential cred;
+       time_t timestamp;
 }/* [public] */;
 
 struct netr_DELTA_DELETE_USER {
-       const char *account_name;/* [unique,keepref,charset(UTF16)] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       const char *account_name;/* [unique,charset(UTF16)] */
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_USER_KEY16 {
-       uint16_t length;/* [keepref] */
-       uint16_t size;/* [keepref,value(length)] */
-       uint32_t flags;/* [keepref] */
-       struct samr_Password pwd;/* [keepref] */
+       uint16_t length;
+       uint16_t size;/* [value(length)] */
+       uint32_t flags;
+       struct samr_Password pwd;
 };
 
 struct netr_PasswordHistory {
-       uint16_t nt_length;/* [keepref] */
-       uint16_t nt_size;/* [keepref] */
-       uint32_t nt_flags;/* [keepref] */
-       uint16_t lm_length;/* [keepref] */
-       uint16_t lm_size;/* [keepref] */
-       uint32_t lm_flags;/* [keepref] */
-       uint8_t *nt_history;/* [keepref] */
-       uint8_t *lm_history;/* [keepref] */
+       uint16_t nt_length;
+       uint16_t nt_size;
+       uint32_t nt_flags;
+       uint16_t lm_length;
+       uint16_t lm_size;
+       uint32_t lm_flags;
+       uint8_t *nt_history;
+       uint8_t *lm_history;
 };
 
 struct netr_USER_KEYS2 {
-       struct netr_USER_KEY16 lmpassword;/* [keepref] */
-       struct netr_USER_KEY16 ntpassword;/* [keepref] */
-       struct netr_PasswordHistory lmhistory;/* [keepref] */
+       struct netr_USER_KEY16 lmpassword;
+       struct netr_USER_KEY16 ntpassword;
+       struct netr_PasswordHistory lmhistory;
 };
 
 struct netr_USER_KEY_UNION {
-       struct netr_USER_KEYS2 keys2;/* [keepref] */
+       struct netr_USER_KEYS2 keys2;
 };
 
 struct netr_USER_KEYS {
-       uint32_t version;/* [keepref] */
-       struct netr_USER_KEY_UNION keys;/* [keepref] */
+       uint32_t version;
+       struct netr_USER_KEY_UNION keys;
 }/* [public] */;
 
 struct netr_USER_PRIVATE_INFO {
-       uint8_t SensitiveDataFlag;/* [keepref] */
-       uint32_t DataLength;/* [keepref] */
-       uint8_t *SensitiveData;/* [unique,keepref,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
+       uint8_t SensitiveDataFlag;
+       uint32_t DataLength;
+       uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
 };
 
 struct netr_DELTA_USER {
-       struct lsa_String account_name;/* [keepref] */
-       struct lsa_String full_name;/* [keepref] */
-       uint32_t rid;/* [keepref] */
-       uint32_t primary_gid;/* [keepref] */
-       struct lsa_String home_directory;/* [keepref] */
-       struct lsa_String home_drive;/* [keepref] */
-       struct lsa_String logon_script;/* [keepref] */
-       struct lsa_String description;/* [keepref] */
-       struct lsa_String workstations;/* [keepref] */
-       NTTIME last_logon;/* [keepref] */
-       NTTIME last_logoff;/* [keepref] */
-       struct samr_LogonHours logon_hours;/* [keepref] */
-       uint16_t bad_password_count;/* [keepref] */
-       uint16_t logon_count;/* [keepref] */
-       NTTIME last_password_change;/* [keepref] */
-       NTTIME acct_expiry;/* [keepref] */
-       uint32_t acct_flags;/* [keepref] */
-       struct samr_Password lmpassword;/* [keepref] */
-       struct samr_Password ntpassword;/* [keepref] */
-       uint8_t nt_password_present;/* [keepref] */
-       uint8_t lm_password_present;/* [keepref] */
-       uint8_t password_expired;/* [keepref] */
-       struct lsa_String comment;/* [keepref] */
-       struct lsa_String parameters;/* [keepref] */
-       uint16_t country_code;/* [keepref] */
-       uint16_t code_page;/* [keepref] */
-       struct netr_USER_PRIVATE_INFO user_private_info;/* [keepref] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct lsa_String profile_path;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       struct lsa_String account_name;
+       struct lsa_String full_name;
+       uint32_t rid;
+       uint32_t primary_gid;
+       struct lsa_String home_directory;
+       struct lsa_String home_drive;
+       struct lsa_String logon_script;
+       struct lsa_String description;
+       struct lsa_String workstations;
+       NTTIME last_logon;
+       NTTIME last_logoff;
+       struct samr_LogonHours logon_hours;
+       uint16_t bad_password_count;
+       uint16_t logon_count;
+       NTTIME last_password_change;
+       NTTIME acct_expiry;
+       uint32_t acct_flags;
+       struct samr_Password lmpassword;
+       struct samr_Password ntpassword;
+       uint8_t nt_password_present;
+       uint8_t lm_password_present;
+       uint8_t password_expired;
+       struct lsa_String comment;
+       struct lsa_String parameters;
+       uint16_t country_code;
+       uint16_t code_page;
+       struct netr_USER_PRIVATE_INFO user_private_info;
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct lsa_String profile_path;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_DOMAIN {
-       struct lsa_String domain_name;/* [keepref] */
-       struct lsa_String comment;/* [keepref] */
-       int64_t force_logoff_time;/* [keepref] */
-       uint16_t min_password_length;/* [keepref] */
-       uint16_t password_history_length;/* [keepref] */
-       int64_t max_password_age;/* [keepref] */
-       int64_t min_password_age;/* [keepref] */
-       uint64_t sequence_num;/* [keepref] */
-       NTTIME domain_create_time;/* [keepref] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct netr_AcctLockStr account_lockout;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t logon_to_chgpass;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       struct lsa_String domain_name;
+       struct lsa_String comment;
+       int64_t force_logoff_time;
+       uint16_t min_password_length;
+       uint16_t password_history_length;
+       int64_t max_password_age;
+       int64_t min_password_age;
+       uint64_t sequence_num;
+       NTTIME domain_create_time;
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct netr_AcctLockStr account_lockout;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t logon_to_chgpass;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_GROUP {
-       struct lsa_String group_name;/* [keepref] */
-       uint32_t rid;/* [keepref] */
-       uint32_t attributes;/* [keepref] */
-       struct lsa_String description;/* [keepref] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       struct lsa_String group_name;
+       uint32_t rid;
+       uint32_t attributes;
+       struct lsa_String description;
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_RENAME {
-       struct lsa_String OldName;/* [keepref] */
-       struct lsa_String NewName;/* [keepref] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       struct lsa_String OldName;
+       struct lsa_String NewName;
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_GROUP_MEMBER {
-       uint32_t *rids;/* [unique,keepref,size_is(num_rids)] */
-       uint32_t *attribs;/* [unique,keepref,size_is(num_rids)] */
-       uint32_t num_rids;/* [keepref] */
-       uint32_t unknown1;/* [keepref] */
-       uint32_t unknown2;/* [keepref] */
-       uint32_t unknown3;/* [keepref] */
-       uint32_t unknown4;/* [keepref] */
+       uint32_t *rids;/* [unique,size_is(num_rids)] */
+       uint32_t *attribs;/* [unique,size_is(num_rids)] */
+       uint32_t num_rids;
+       uint32_t unknown1;
+       uint32_t unknown2;
+       uint32_t unknown3;
+       uint32_t unknown4;
 };
 
 struct netr_DELTA_ALIAS {
-       struct lsa_String alias_name;/* [keepref] */
-       uint32_t rid;/* [keepref] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct lsa_String description;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       struct lsa_String alias_name;
+       uint32_t rid;
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct lsa_String description;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_ALIAS_MEMBER {
-       struct lsa_SidArray sids;/* [keepref] */
-       uint32_t unknown1;/* [keepref] */
-       uint32_t unknown2;/* [keepref] */
-       uint32_t unknown3;/* [keepref] */
-       uint32_t unknown4;/* [keepref] */
+       struct lsa_SidArray sids;
+       uint32_t unknown1;
+       uint32_t unknown2;
+       uint32_t unknown3;
+       uint32_t unknown4;
 };
 
 struct netr_QUOTA_LIMITS {
-       uint32_t pagedpoollimit;/* [keepref] */
-       uint32_t nonpagedpoollimit;/* [keepref] */
-       uint32_t minimumworkingsetsize;/* [keepref] */
-       uint32_t maximumworkingsetsize;/* [keepref] */
-       uint32_t pagefilelimit;/* [keepref] */
-       NTTIME timelimit;/* [keepref] */
+       uint32_t pagedpoollimit;
+       uint32_t nonpagedpoollimit;
+       uint32_t minimumworkingsetsize;
+       uint32_t maximumworkingsetsize;
+       uint32_t pagefilelimit;
+       NTTIME timelimit;
 };
 
 struct netr_DELTA_POLICY {
-       uint32_t maxlogsize;/* [keepref] */
-       NTTIME auditretentionperiod;/* [keepref] */
-       uint8_t auditingmode;/* [keepref] */
-       uint32_t maxauditeventcount;/* [keepref] */
-       uint32_t *eventauditoptions;/* [unique,keepref,size_is(maxauditeventcount+1)] */
-       struct lsa_String primary_domain_name;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
-       struct netr_QUOTA_LIMITS quota_limits;/* [keepref] */
-       uint64_t sequence_num;/* [keepref] */
-       NTTIME db_create_time;/* [keepref] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       uint32_t maxlogsize;
+       NTTIME auditretentionperiod;
+       uint8_t auditingmode;
+       uint32_t maxauditeventcount;
+       uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
+       struct lsa_String primary_domain_name;
+       struct dom_sid2 *sid;/* [unique] */
+       struct netr_QUOTA_LIMITS quota_limits;
+       uint64_t sequence_num;
+       NTTIME db_create_time;
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_TRUSTED_DOMAIN {
-       struct lsa_String domain_name;/* [keepref] */
-       uint32_t num_controllers;/* [keepref] */
-       struct lsa_String *controller_names;/* [unique,keepref,size_is(num_controllers)] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t posix_offset;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       struct lsa_String domain_name;
+       uint32_t num_controllers;
+       struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t posix_offset;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_DELETE_TRUST {
-       uint16_t unknown;/* [keepref] */
+       uint16_t unknown;
 };
 
 struct netr_DELTA_ACCOUNT {
-       uint32_t privilege_entries;/* [keepref] */
-       uint32_t privilege_control;/* [keepref] */
-       uint32_t *privilege_attrib;/* [unique,keepref,size_is(privilege_entries)] */
-       struct lsa_String *privilege_name;/* [unique,keepref,size_is(privilege_entries)] */
-       struct netr_QUOTA_LIMITS quotalimits;/* [keepref] */
-       uint32_t system_flags;/* [keepref] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       uint32_t privilege_entries;
+       uint32_t privilege_control;
+       uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
+       struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
+       struct netr_QUOTA_LIMITS quotalimits;
+       uint32_t system_flags;
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 struct netr_DELTA_DELETE_ACCOUNT {
-       uint16_t unknown;/* [keepref] */
+       uint16_t unknown;
 };
 
 struct netr_DELTA_DELETE_SECRET {
-       uint16_t unknown;/* [keepref] */
+       uint16_t unknown;
 };
 
 struct netr_CIPHER_VALUE {
-       uint32_t len;/* [keepref] */
-       uint32_t maxlen;/* [keepref] */
-       uint8_t *cipher_data;/* [unique,keepref,length_is(len),size_is(maxlen)] */
+       uint32_t len;
+       uint32_t maxlen;
+       uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
 };
 
 struct netr_DELTA_SECRET {
-       struct netr_CIPHER_VALUE current_cipher;/* [keepref] */
-       NTTIME current_cipher_set_time;/* [keepref] */
-       struct netr_CIPHER_VALUE old_cipher;/* [keepref] */
-       NTTIME old_cipher_set_time;/* [keepref] */
-       uint32_t SecurityInformation;/* [keepref] */
-       struct sec_desc_buf sdbuf;/* [keepref] */
-       struct lsa_String unknown1;/* [keepref] */
-       struct lsa_String unknown2;/* [keepref] */
-       struct lsa_String unknown3;/* [keepref] */
-       struct lsa_String unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
-       uint32_t unknown6;/* [keepref] */
-       uint32_t unknown7;/* [keepref] */
-       uint32_t unknown8;/* [keepref] */
+       struct netr_CIPHER_VALUE current_cipher;
+       NTTIME current_cipher_set_time;
+       struct netr_CIPHER_VALUE old_cipher;
+       NTTIME old_cipher_set_time;
+       uint32_t SecurityInformation;
+       struct sec_desc_buf sdbuf;
+       struct lsa_String unknown1;
+       struct lsa_String unknown2;
+       struct lsa_String unknown3;
+       struct lsa_String unknown4;
+       uint32_t unknown5;
+       uint32_t unknown6;
+       uint32_t unknown7;
+       uint32_t unknown8;
 };
 
 enum netr_DeltaEnum {
@@ -488,80 +488,80 @@ enum netr_DeltaEnum {
 };
 
 union netr_DELTA_UNION {
-       struct netr_DELTA_DOMAIN *domain;/* [unique,keepref,case(NETR_DELTA_DOMAIN)] */
-       struct netr_DELTA_GROUP *group;/* [unique,keepref,case(NETR_DELTA_GROUP)] */
-       struct netr_DELTA_RENAME *rename_group;/* [unique,keepref,case(NETR_DELTA_RENAME_GROUP)] */
-       struct netr_DELTA_USER *user;/* [unique,keepref,case(NETR_DELTA_USER)] */
-       struct netr_DELTA_RENAME *rename_user;/* [unique,keepref,case(NETR_DELTA_RENAME_USER)] */
-       struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,keepref,case(NETR_DELTA_GROUP_MEMBER)] */
-       struct netr_DELTA_ALIAS *alias;/* [unique,keepref,case(NETR_DELTA_ALIAS)] */
-       struct netr_DELTA_RENAME *rename_alias;/* [unique,keepref,case(NETR_DELTA_RENAME_ALIAS)] */
-       struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,keepref,case(NETR_DELTA_ALIAS_MEMBER)] */
-       struct netr_DELTA_POLICY *policy;/* [unique,keepref,case(NETR_DELTA_POLICY)] */
-       struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,keepref,case(NETR_DELTA_TRUSTED_DOMAIN)] */
-       struct netr_DELTA_DELETE_TRUST delete_trust;/* [keepref,case(NETR_DELTA_DELETE_TRUST)] */
-       struct netr_DELTA_ACCOUNT *account;/* [unique,keepref,case(NETR_DELTA_ACCOUNT)] */
-       struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [keepref,case(NETR_DELTA_DELETE_ACCOUNT)] */
-       struct netr_DELTA_SECRET *secret;/* [unique,keepref,case(NETR_DELTA_SECRET)] */
-       struct netr_DELTA_DELETE_SECRET delete_secret;/* [keepref,case(NETR_DELTA_DELETE_SECRET)] */
-       struct netr_DELTA_DELETE_USER *delete_group;/* [unique,keepref,case(NETR_DELTA_DELETE_GROUP2)] */
-       struct netr_DELTA_DELETE_USER *delete_user;/* [unique,keepref,case(NETR_DELTA_DELETE_USER2)] */
-       uint64_t *modified_count;/* [unique,keepref,case(NETR_DELTA_MODIFY_COUNT)] */
+       struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
+       struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
+       struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
+       struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
+       struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
+       struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
+       struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
+       struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
+       struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
+       struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
+       struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
+       struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
+       struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
+       struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
+       struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
+       struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
+       struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
+       struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
+       uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
 }/* [switch_type(netr_DeltaEnum)] */;
 
 union netr_DELTA_ID_UNION {
-       uint32_t rid;/* [keepref,case(NETR_DELTA_DOMAIN)] */
-       struct dom_sid2 *sid;/* [unique,keepref,case(NETR_DELTA_POLICY)] */
-       const char *name;/* [unique,keepref,charset(UTF16),case(NETR_DELTA_SECRET)] */
+       uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
+       struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
+       const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
 }/* [switch_type(netr_DeltaEnum)] */;
 
 struct netr_DELTA_ENUM {
-       enum netr_DeltaEnum delta_type;/* [keepref] */
-       union netr_DELTA_ID_UNION delta_id_union;/* [keepref,switch_is(delta_type)] */
-       union netr_DELTA_UNION delta_union;/* [keepref,switch_is(delta_type)] */
+       enum netr_DeltaEnum delta_type;
+       union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
+       union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
 };
 
 struct netr_DELTA_ENUM_ARRAY {
-       uint32_t num_deltas;/* [keepref] */
-       struct netr_DELTA_ENUM *delta_enum;/* [unique,keepref,size_is(num_deltas)] */
+       uint32_t num_deltas;
+       struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
 };
 
 struct netr_UAS_INFO_0 {
-       uint8_t computer_name[16];/* [keepref] */
-       uint32_t timecreated;/* [keepref] */
-       uint32_t serial_number;/* [keepref] */
+       uint8_t computer_name[16];
+       uint32_t timecreated;
+       uint32_t serial_number;
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 struct netr_AccountBuffer {
-       DATA_BLOB blob;/* [keepref,flag(LIBNDR_FLAG_REMAINING)] */
+       DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
 };
 
 struct netr_NETLOGON_INFO_1 {
-       uint32_t flags;/* [keepref] */
-       uint32_t pdc_connection_status;/* [keepref] */
+       uint32_t flags;
+       uint32_t pdc_connection_status;
 };
 
 struct netr_NETLOGON_INFO_2 {
-       uint32_t flags;/* [keepref] */
-       uint32_t pdc_connection_status;/* [keepref] */
-       const char *trusted_dc_name;/* [keepref,charset(UTF16)] */
-       uint32_t tc_connection_status;/* [keepref] */
+       uint32_t flags;
+       uint32_t pdc_connection_status;
+       const char *trusted_dc_name;/* [charset(UTF16)] */
+       uint32_t tc_connection_status;
 };
 
 struct netr_NETLOGON_INFO_3 {
-       uint32_t flags;/* [keepref] */
-       uint32_t logon_attempts;/* [keepref] */
-       uint32_t unknown1;/* [keepref] */
-       uint32_t unknown2;/* [keepref] */
-       uint32_t unknown3;/* [keepref] */
-       uint32_t unknown4;/* [keepref] */
-       uint32_t unknown5;/* [keepref] */
+       uint32_t flags;
+       uint32_t logon_attempts;
+       uint32_t unknown1;
+       uint32_t unknown2;
+       uint32_t unknown3;
+       uint32_t unknown4;
+       uint32_t unknown5;
 };
 
 union netr_CONTROL_QUERY_INFORMATION {
-       struct netr_NETLOGON_INFO_1 *info1;/* [unique,keepref,case] */
-       struct netr_NETLOGON_INFO_2 *info2;/* [unique,keepref,case(2)] */
-       struct netr_NETLOGON_INFO_3 *info3;/* [unique,keepref,case(3)] */
+       struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
+       struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
+       struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
 };
 
 enum netr_LogonControlCode {
@@ -572,76 +572,76 @@ enum netr_LogonControlCode {
 };
 
 union netr_CONTROL_DATA_INFORMATION {
-       const char *domain;/* [unique,keepref,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
-       uint32_t debug_level;/* [keepref,case(NETLOGON_CONTROL_SET_DBFLAG)] */
+       const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
+       uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
 };
 
 struct netr_DsRGetDCNameInfo {
-       const char *dc_unc;/* [unique,keepref,charset(UTF16)] */
-       const char *dc_address;/* [unique,keepref,charset(UTF16)] */
-       int32_t dc_address_type;/* [keepref] */
-       struct GUID domain_guid;/* [keepref] */
-       const char *domain_name;/* [unique,keepref,charset(UTF16)] */
-       const char *forest_name;/* [unique,keepref,charset(UTF16)] */
-       uint32_t dc_flags;/* [keepref] */
-       const char *dc_site_name;/* [unique,keepref,charset(UTF16)] */
-       const char *client_site_name;/* [unique,keepref,charset(UTF16)] */
+       const char *dc_unc;/* [unique,charset(UTF16)] */
+       const char *dc_address;/* [unique,charset(UTF16)] */
+       int32_t dc_address_type;
+       struct GUID domain_guid;
+       const char *domain_name;/* [unique,charset(UTF16)] */
+       const char *forest_name;/* [unique,charset(UTF16)] */
+       uint32_t dc_flags;
+       const char *dc_site_name;/* [unique,charset(UTF16)] */
+       const char *client_site_name;/* [unique,charset(UTF16)] */
 };
 
 struct netr_Blob {
-       uint32_t length;/* [keepref] */
-       uint8_t *data;/* [unique,keepref,size_is(length)] */
+       uint32_t length;
+       uint8_t *data;/* [unique,size_is(length)] */
 };
 
 struct netr_BinaryString {
-       uint16_t length;/* [keepref] */
-       uint16_t size;/* [keepref] */
-       uint16_t *data;/* [unique,keepref,length_is(length/2),size_is(size/2)] */
+       uint16_t length;
+       uint16_t size;
+       uint16_t *data;/* [unique,length_is(length/2),size_is(size/2)] */
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 struct netr_DomainQuery1 {
-       struct netr_Blob blob;/* [keepref] */
-       const char *workstation_domain;/* [unique,keepref,charset(UTF16)] */
-       const char *workstation_site;/* [unique,keepref,charset(UTF16)] */
-       const char *unknown1;/* [unique,keepref,charset(UTF16)] */
-       const char *unknown2;/* [unique,keepref,charset(UTF16)] */
-       const char *unknown3;/* [unique,keepref,charset(UTF16)] */
-       const char *unknown4;/* [unique,keepref,charset(UTF16)] */
-       struct netr_BinaryString blob2;/* [keepref] */
-       struct lsa_String product;/* [keepref] */
-       struct lsa_String unknown5;/* [keepref] */
-       struct lsa_String unknown6;/* [keepref] */
-       uint32_t unknown7[4];/* [keepref] */
+       struct netr_Blob blob;
+       const char *workstation_domain;/* [unique,charset(UTF16)] */
+       const char *workstation_site;/* [unique,charset(UTF16)] */
+       const char *unknown1;/* [unique,charset(UTF16)] */
+       const char *unknown2;/* [unique,charset(UTF16)] */
+       const char *unknown3;/* [unique,charset(UTF16)] */
+       const char *unknown4;/* [unique,charset(UTF16)] */
+       struct netr_BinaryString blob2;
+       struct lsa_String product;
+       struct lsa_String unknown5;
+       struct lsa_String unknown6;
+       uint32_t unknown7[4];
 };
 
 union netr_DomainQuery {
-       struct netr_DomainQuery1 *query1;/* [unique,keepref,case] */
+       struct netr_DomainQuery1 *query1;/* [unique,case] */
 };
 
 struct netr_DomainTrustInfo {
-       struct lsa_String domainname;/* [keepref] */
-       struct lsa_String fulldomainname;/* [keepref] */
-       struct lsa_String forest;/* [keepref] */
-       struct GUID guid;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
-       struct netr_BinaryString unknown1[4];/* [keepref] */
-       uint32_t unknown[4];/* [keepref] */
+       struct lsa_String domainname;
+       struct lsa_String fulldomainname;
+       struct lsa_String forest;
+       struct GUID guid;
+       struct dom_sid2 *sid;/* [unique] */
+       struct netr_BinaryString unknown1[4];
+       uint32_t unknown[4];
 };
 
 struct netr_DomainInfo1 {
-       struct netr_DomainTrustInfo domaininfo;/* [keepref] */
-       uint32_t num_trusts;/* [keepref] */
-       struct netr_DomainTrustInfo *trusts;/* [unique,keepref,size_is(num_trusts)] */
-       uint32_t unknown[14];/* [keepref] */
+       struct netr_DomainTrustInfo domaininfo;
+       uint32_t num_trusts;
+       struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
+       uint32_t unknown[14];
 };
 
 union netr_DomainInfo {
-       struct netr_DomainInfo1 *info1;/* [unique,keepref,case] */
+       struct netr_DomainInfo1 *info1;/* [unique,case] */
 };
 
 struct netr_CryptPassword {
-       uint8_t data[512];/* [keepref] */
-       uint32_t length;/* [keepref] */
+       uint8_t data[512];
+       uint32_t length;
 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
 /* bitmap netr_TrustFlags */
@@ -669,26 +669,26 @@ enum netr_TrustType {
 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
 
 struct netr_DomainTrust {
-       const char *netbios_name;/* [unique,keepref,charset(UTF16)] */
-       const char *dns_name;/* [unique,keepref,charset(UTF16)] */
-       uint32_t trust_flags;/* [keepref] */
-       uint32_t parent_index;/* [keepref] */
-       enum netr_TrustType trust_type;/* [keepref] */
-       uint32_t trust_attributes;/* [keepref] */
-       struct dom_sid2 *sid;/* [unique,keepref] */
-       struct GUID guid;/* [keepref] */
+       const char *netbios_name;/* [unique,charset(UTF16)] */
+       const char *dns_name;/* [unique,charset(UTF16)] */
+       uint32_t trust_flags;
+       uint32_t parent_index;
+       enum netr_TrustType trust_type;
+       uint32_t trust_attributes;
+       struct dom_sid2 *sid;/* [unique] */
+       struct GUID guid;
 };
 
 
 struct netr_LogonUasLogon {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account_name;/* [keepref,charset(UTF16)] */
-               const char *workstation;/* [keepref,charset(UTF16)] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account_name;/* [charset(UTF16)] */
+               const char *workstation;/* [charset(UTF16)] */
        } in;
 
        struct {
-               struct netr_UasInfo *info;/* [unique,keepref] */
+               struct netr_UasInfo *info;/* [unique] */
                WERROR result;
        } out;
 
@@ -697,13 +697,13 @@ struct netr_LogonUasLogon {
 
 struct netr_LogonUasLogoff {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account_name;/* [keepref,charset(UTF16)] */
-               const char *workstation;/* [keepref,charset(UTF16)] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account_name;/* [charset(UTF16)] */
+               const char *workstation;/* [charset(UTF16)] */
        } in;
 
        struct {
-               struct netr_UasLogoffInfo *info;/* [keepref,ref] */
+               struct netr_UasLogoffInfo *info;/* [ref] */
                WERROR result;
        } out;
 
@@ -712,19 +712,19 @@ struct netr_LogonUasLogoff {
 
 struct netr_LogonSamLogon {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *computer_name;/* [unique,keepref,charset(UTF16)] */
-               struct netr_Authenticator *credential;/* [unique,keepref] */
-               struct netr_Authenticator *return_authenticator;/* [unique,keepref] */
-               uint16_t logon_level;/* [keepref] */
-               union netr_LogonLevel logon;/* [keepref,switch_is(logon_level)] */
-               uint16_t validation_level;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *computer_name;/* [unique,charset(UTF16)] */
+               struct netr_Authenticator *credential;/* [unique] */
+               struct netr_Authenticator *return_authenticator;/* [unique] */
+               uint16_t logon_level;
+               union netr_LogonLevel logon;/* [switch_is(logon_level)] */
+               uint16_t validation_level;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [unique,keepref] */
-               union netr_Validation *validation;/* [keepref,ref,switch_is(validation_level)] */
-               uint8_t *authoritative;/* [keepref,ref] */
+               struct netr_Authenticator *return_authenticator;/* [unique] */
+               union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
+               uint8_t *authoritative;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -733,16 +733,16 @@ struct netr_LogonSamLogon {
 
 struct netr_LogonSamLogoff {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *computer_name;/* [unique,keepref,charset(UTF16)] */
-               struct netr_Authenticator *credential;/* [unique,keepref] */
-               struct netr_Authenticator *return_authenticator;/* [unique,keepref] */
-               uint16_t logon_level;/* [keepref] */
-               union netr_LogonLevel logon;/* [keepref,switch_is(logon_level)] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *computer_name;/* [unique,charset(UTF16)] */
+               struct netr_Authenticator *credential;/* [unique] */
+               struct netr_Authenticator *return_authenticator;/* [unique] */
+               uint16_t logon_level;
+               union netr_LogonLevel logon;/* [switch_is(logon_level)] */
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [unique,keepref] */
+               struct netr_Authenticator *return_authenticator;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -751,13 +751,13 @@ struct netr_LogonSamLogoff {
 
 struct netr_ServerReqChallenge {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *computer_name;/* [keepref,charset(UTF16)] */
-               struct netr_Credential *credentials;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *computer_name;/* [charset(UTF16)] */
+               struct netr_Credential *credentials;/* [ref] */
        } in;
 
        struct {
-               struct netr_Credential *credentials;/* [keepref,ref] */
+               struct netr_Credential *credentials;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -766,15 +766,15 @@ struct netr_ServerReqChallenge {
 
 struct netr_ServerAuthenticate {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account_name;/* [keepref,charset(UTF16)] */
-               enum netr_SchannelType secure_channel_type;/* [keepref] */
-               const char *computer_name;/* [keepref,charset(UTF16)] */
-               struct netr_Credential *credentials;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account_name;/* [charset(UTF16)] */
+               enum netr_SchannelType secure_channel_type;
+               const char *computer_name;/* [charset(UTF16)] */
+               struct netr_Credential *credentials;/* [ref] */
        } in;
 
        struct {
-               struct netr_Credential *credentials;/* [keepref,ref] */
+               struct netr_Credential *credentials;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -783,16 +783,16 @@ struct netr_ServerAuthenticate {
 
 struct netr_ServerPasswordSet {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account_name;/* [keepref,charset(UTF16)] */
-               enum netr_SchannelType secure_channel_type;/* [keepref] */
-               const char *computer_name;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct samr_Password new_password;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account_name;/* [charset(UTF16)] */
+               enum netr_SchannelType secure_channel_type;
+               const char *computer_name;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct samr_Password new_password;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -801,19 +801,19 @@ struct netr_ServerPasswordSet {
 
 struct netr_DatabaseDeltas {
        struct {
-               const char *logon_server;/* [keepref,charset(UTF16)] */
-               const char *computername;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               enum netr_SamDatabaseID database_id;/* [keepref] */
-               uint64_t *sequence_num;/* [keepref,ref] */
-               uint32_t preferredmaximumlength;/* [keepref] */
+               const char *logon_server;/* [charset(UTF16)] */
+               const char *computername;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               enum netr_SamDatabaseID database_id;
+               uint64_t *sequence_num;/* [ref] */
+               uint32_t preferredmaximumlength;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               uint64_t *sequence_num;/* [keepref,ref] */
-               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique,keepref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               uint64_t *sequence_num;/* [ref] */
+               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -822,19 +822,19 @@ struct netr_DatabaseDeltas {
 
 struct netr_DatabaseSync {
        struct {
-               const char *logon_server;/* [keepref,charset(UTF16)] */
-               const char *computername;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               enum netr_SamDatabaseID database_id;/* [keepref] */
-               uint32_t *sync_context;/* [keepref,ref] */
-               uint32_t preferredmaximumlength;/* [keepref] */
+               const char *logon_server;/* [charset(UTF16)] */
+               const char *computername;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               enum netr_SamDatabaseID database_id;
+               uint32_t *sync_context;/* [ref] */
+               uint32_t preferredmaximumlength;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               uint32_t *sync_context;/* [keepref,ref] */
-               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique,keepref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               uint32_t *sync_context;/* [ref] */
+               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -843,22 +843,22 @@ struct netr_DatabaseSync {
 
 struct netr_AccountDeltas {
        struct {
-               const char *logon_server;/* [unique,keepref,charset(UTF16)] */
-               const char *computername;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               struct netr_UAS_INFO_0 uas;/* [keepref] */
-               uint32_t count;/* [keepref] */
-               uint32_t level;/* [keepref] */
-               uint32_t buffersize;/* [keepref] */
+               const char *logon_server;/* [unique,charset(UTF16)] */
+               const char *computername;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               struct netr_UAS_INFO_0 uas;
+               uint32_t count;
+               uint32_t level;
+               uint32_t buffersize;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               struct netr_AccountBuffer *buffer;/* [keepref,ref,subcontext(4)] */
-               uint32_t *count_returned;/* [keepref,ref] */
-               uint32_t *total_entries;/* [keepref,ref] */
-               struct netr_UAS_INFO_0 *recordid;/* [keepref,ref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
+               uint32_t *count_returned;/* [ref] */
+               uint32_t *total_entries;/* [ref] */
+               struct netr_UAS_INFO_0 *recordid;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -867,23 +867,23 @@ struct netr_AccountDeltas {
 
 struct netr_AccountSync {
        struct {
-               const char *logon_server;/* [unique,keepref,charset(UTF16)] */
-               const char *computername;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               uint32_t reference;/* [keepref] */
-               uint32_t level;/* [keepref] */
-               uint32_t buffersize;/* [keepref] */
-               struct netr_UAS_INFO_0 *recordid;/* [keepref,ref] */
+               const char *logon_server;/* [unique,charset(UTF16)] */
+               const char *computername;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               uint32_t reference;
+               uint32_t level;
+               uint32_t buffersize;
+               struct netr_UAS_INFO_0 *recordid;/* [ref] */
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               struct netr_AccountBuffer *buffer;/* [keepref,ref,subcontext(4)] */
-               uint32_t *count_returned;/* [keepref,ref] */
-               uint32_t *total_entries;/* [keepref,ref] */
-               uint32_t *next_reference;/* [keepref,ref] */
-               struct netr_UAS_INFO_0 *recordid;/* [keepref,ref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
+               uint32_t *count_returned;/* [ref] */
+               uint32_t *total_entries;/* [ref] */
+               uint32_t *next_reference;/* [ref] */
+               struct netr_UAS_INFO_0 *recordid;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -892,12 +892,12 @@ struct netr_AccountSync {
 
 struct netr_GetDcName {
        struct {
-               const char *logon_server;/* [keepref,charset(UTF16)] */
-               const char *domainname;/* [unique,keepref,charset(UTF16)] */
+               const char *logon_server;/* [charset(UTF16)] */
+               const char *domainname;/* [unique,charset(UTF16)] */
        } in;
 
        struct {
-               const char **dcname;/* [keepref,ref,charset(UTF16)] */
+               const char **dcname;/* [ref,charset(UTF16)] */
                NTSTATUS result;
        } out;
 
@@ -906,13 +906,13 @@ struct netr_GetDcName {
 
 struct netr_LogonControl {
        struct {
-               const char *logon_server;/* [unique,keepref,charset(UTF16)] */
-               enum netr_LogonControlCode function_code;/* [keepref] */
-               uint32_t level;/* [keepref] */
+               const char *logon_server;/* [unique,charset(UTF16)] */
+               enum netr_LogonControlCode function_code;
+               uint32_t level;
        } in;
 
        struct {
-               union netr_CONTROL_QUERY_INFORMATION *info;/* [keepref,ref,switch_is(level)] */
+               union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
                WERROR result;
        } out;
 
@@ -921,12 +921,12 @@ struct netr_LogonControl {
 
 struct netr_GetAnyDCName {
        struct {
-               const char *logon_server;/* [unique,keepref,charset(UTF16)] */
-               const char *domainname;/* [unique,keepref,charset(UTF16)] */
+               const char *logon_server;/* [unique,charset(UTF16)] */
+               const char *domainname;/* [unique,charset(UTF16)] */
        } in;
 
        struct {
-               const char **dcname;/* [keepref,ref,charset(UTF16)] */
+               const char **dcname;/* [ref,charset(UTF16)] */
                WERROR result;
        } out;
 
@@ -935,14 +935,14 @@ struct netr_GetAnyDCName {
 
 struct netr_LogonControl2 {
        struct {
-               const char *logon_server;/* [unique,keepref,charset(UTF16)] */
-               uint32_t function_code;/* [keepref] */
-               uint32_t level;/* [keepref] */
-               union netr_CONTROL_DATA_INFORMATION data;/* [keepref,switch_is(function_code)] */
+               const char *logon_server;/* [unique,charset(UTF16)] */
+               uint32_t function_code;
+               uint32_t level;
+               union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
        } in;
 
        struct {
-               union netr_CONTROL_QUERY_INFORMATION *query;/* [keepref,ref,switch_is(level)] */
+               union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
                WERROR result;
        } out;
 
@@ -951,17 +951,17 @@ struct netr_LogonControl2 {
 
 struct netr_ServerAuthenticate2 {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account_name;/* [keepref,charset(UTF16)] */
-               enum netr_SchannelType secure_channel_type;/* [keepref] */
-               const char *computer_name;/* [keepref,charset(UTF16)] */
-               struct netr_Credential *credentials;/* [keepref,ref] */
-               uint32_t *negotiate_flags;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account_name;/* [charset(UTF16)] */
+               enum netr_SchannelType secure_channel_type;
+               const char *computer_name;/* [charset(UTF16)] */
+               struct netr_Credential *credentials;/* [ref] */
+               uint32_t *negotiate_flags;/* [ref] */
        } in;
 
        struct {
-               struct netr_Credential *credentials;/* [keepref,ref] */
-               uint32_t *negotiate_flags;/* [keepref,ref] */
+               struct netr_Credential *credentials;/* [ref] */
+               uint32_t *negotiate_flags;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -970,20 +970,20 @@ struct netr_ServerAuthenticate2 {
 
 struct netr_DatabaseSync2 {
        struct {
-               const char *logon_server;/* [keepref,charset(UTF16)] */
-               const char *computername;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               enum netr_SamDatabaseID database_id;/* [keepref] */
-               uint16_t restart_state;/* [keepref] */
-               uint32_t *sync_context;/* [keepref,ref] */
-               uint32_t preferredmaximumlength;/* [keepref] */
+               const char *logon_server;/* [charset(UTF16)] */
+               const char *computername;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               enum netr_SamDatabaseID database_id;
+               uint16_t restart_state;
+               uint32_t *sync_context;/* [ref] */
+               uint32_t preferredmaximumlength;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               uint32_t *sync_context;/* [keepref,ref] */
-               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique,keepref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               uint32_t *sync_context;/* [ref] */
+               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -992,17 +992,17 @@ struct netr_DatabaseSync2 {
 
 struct netr_DatabaseRedo {
        struct {
-               const char *logon_server;/* [keepref,charset(UTF16)] */
-               const char *computername;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               uint8_t *change_log_entry;/* [unique,keepref,size_is(change_log_entry_size)] */
-               uint32_t change_log_entry_size;/* [keepref] */
+               const char *logon_server;/* [charset(UTF16)] */
+               const char *computername;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               uint8_t *change_log_entry;/* [unique,size_is(change_log_entry_size)] */
+               uint32_t change_log_entry_size;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique,keepref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -1011,14 +1011,14 @@ struct netr_DatabaseRedo {
 
 struct netr_LogonControl2Ex {
        struct {
-               const char *logon_server;/* [unique,keepref,charset(UTF16)] */
-               uint32_t function_code;/* [keepref] */
-               uint32_t level;/* [keepref] */
-               union netr_CONTROL_DATA_INFORMATION data;/* [keepref,switch_is(function_code)] */
+               const char *logon_server;/* [unique,charset(UTF16)] */
+               uint32_t function_code;
+               uint32_t level;
+               union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
        } in;
 
        struct {
-               union netr_CONTROL_QUERY_INFORMATION *query;/* [keepref,ref,switch_is(level)] */
+               union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
                WERROR result;
        } out;
 
@@ -1035,15 +1035,15 @@ struct netr_NETRENUMERATETRUSTEDDOMAINS {
 
 struct netr_DsRGetDCName {
        struct {
-               const char *server_unc;/* [unique,keepref,charset(UTF16)] */
-               const char *domain_name;/* [unique,keepref,charset(UTF16)] */
-               struct GUID *domain_guid;/* [unique,keepref] */
-               struct GUID *site_guid;/* [unique,keepref] */
-               uint32_t flags;/* [keepref] */
+               const char *server_unc;/* [unique,charset(UTF16)] */
+               const char *domain_name;/* [unique,charset(UTF16)] */
+               struct GUID *domain_guid;/* [unique] */
+               struct GUID *site_guid;/* [unique] */
+               uint32_t flags;
        } in;
 
        struct {
-               struct netr_DsRGetDCNameInfo *info;/* [unique,keepref] */
+               struct netr_DsRGetDCNameInfo *info;/* [unique] */
                WERROR result;
        } out;
 
@@ -1092,18 +1092,18 @@ struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
 
 struct netr_ServerAuthenticate3 {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account_name;/* [keepref,charset(UTF16)] */
-               enum netr_SchannelType secure_channel_type;/* [keepref] */
-               const char *computer_name;/* [keepref,charset(UTF16)] */
-               struct netr_Credential *credentials;/* [keepref,ref] */
-               uint32_t *negotiate_flags;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account_name;/* [charset(UTF16)] */
+               enum netr_SchannelType secure_channel_type;
+               const char *computer_name;/* [charset(UTF16)] */
+               struct netr_Credential *credentials;/* [ref] */
+               uint32_t *negotiate_flags;/* [ref] */
        } in;
 
        struct {
-               struct netr_Credential *credentials;/* [keepref,ref] */
-               uint32_t *negotiate_flags;/* [keepref,ref] */
-               uint32_t *rid;/* [keepref,ref] */
+               struct netr_Credential *credentials;/* [ref] */
+               uint32_t *negotiate_flags;/* [ref] */
+               uint32_t *rid;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1112,15 +1112,15 @@ struct netr_ServerAuthenticate3 {
 
 struct netr_DsRGetDCNameEx {
        struct {
-               const char *server_unc;/* [unique,keepref,charset(UTF16)] */
-               const char *domain_name;/* [unique,keepref,charset(UTF16)] */
-               struct GUID *domain_guid;/* [unique,keepref] */
-               const char *site_name;/* [unique,keepref,charset(UTF16)] */
-               uint32_t flags;/* [keepref] */
+               const char *server_unc;/* [unique,charset(UTF16)] */
+               const char *domain_name;/* [unique,charset(UTF16)] */
+               struct GUID *domain_guid;/* [unique] */
+               const char *site_name;/* [unique,charset(UTF16)] */
+               uint32_t flags;
        } in;
 
        struct {
-               struct netr_DsRGetDCNameInfo *info;/* [unique,keepref] */
+               struct netr_DsRGetDCNameInfo *info;/* [unique] */
                WERROR result;
        } out;
 
@@ -1129,11 +1129,11 @@ struct netr_DsRGetDCNameEx {
 
 struct netr_DsRGetSiteName {
        struct {
-               const char *computer_name;/* [unique,keepref,charset(UTF16)] */
+               const char *computer_name;/* [unique,charset(UTF16)] */
        } in;
 
        struct {
-               const char **site;/* [keepref,ref,charset(UTF16)] */
+               const char **site;/* [ref,charset(UTF16)] */
                WERROR result;
        } out;
 
@@ -1142,17 +1142,17 @@ struct netr_DsRGetSiteName {
 
 struct netr_LogonGetDomainInfo {
        struct {
-               const char *server_name;/* [keepref,charset(UTF16)] */
-               const char *computer_name;/* [unique,keepref,charset(UTF16)] */
-               struct netr_Authenticator *credential;/* [keepref,ref] */
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               uint32_t level;/* [keepref] */
-               union netr_DomainQuery query;/* [keepref,switch_is(level)] */
+               const char *server_name;/* [charset(UTF16)] */
+               const char *computer_name;/* [unique,charset(UTF16)] */
+               struct netr_Authenticator *credential;/* [ref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               uint32_t level;
+               union netr_DomainQuery query;/* [switch_is(level)] */
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
-               union netr_DomainInfo *info;/* [keepref,ref,switch_is(level)] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
+               union netr_DomainInfo *info;/* [ref,switch_is(level)] */
                NTSTATUS result;
        } out;
 
@@ -1161,16 +1161,16 @@ struct netr_LogonGetDomainInfo {
 
 struct netr_ServerPasswordSet2 {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account_name;/* [keepref,charset(UTF16)] */
-               enum netr_SchannelType secure_channel_type;/* [keepref] */
-               const char *computer_name;/* [keepref,charset(UTF16)] */
-               struct netr_Authenticator credential;/* [keepref] */
-               struct netr_CryptPassword new_password;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account_name;/* [charset(UTF16)] */
+               enum netr_SchannelType secure_channel_type;
+               const char *computer_name;/* [charset(UTF16)] */
+               struct netr_Authenticator credential;
+               struct netr_CryptPassword new_password;
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [keepref,ref] */
+               struct netr_Authenticator *return_authenticator;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1203,17 +1203,17 @@ struct netr_DSRADDRESSTOSITENAMESW {
 
 struct netr_DsRGetDCNameEx2 {
        struct {
-               const char *server_unc;/* [unique,keepref,charset(UTF16)] */
-               const char *client_account;/* [unique,keepref,charset(UTF16)] */
-               uint32_t mask;/* [keepref] */
-               const char *domain_name;/* [unique,keepref,charset(UTF16)] */
-               struct GUID *domain_guid;/* [unique,keepref] */
-               const char *site_name;/* [unique,keepref,charset(UTF16)] */
-               uint32_t flags;/* [keepref] */
+               const char *server_unc;/* [unique,charset(UTF16)] */
+               const char *client_account;/* [unique,charset(UTF16)] */
+               uint32_t mask;
+               const char *domain_name;/* [unique,charset(UTF16)] */
+               struct GUID *domain_guid;/* [unique] */
+               const char *site_name;/* [unique,charset(UTF16)] */
+               uint32_t flags;
        } in;
 
        struct {
-               struct netr_DsRGetDCNameInfo *info;/* [unique,keepref] */
+               struct netr_DsRGetDCNameInfo *info;/* [unique] */
                WERROR result;
        } out;
 
@@ -1254,18 +1254,18 @@ struct netr_DSRGETDCSITECOVERAGEW {
 
 struct netr_LogonSamLogonEx {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *computer_name;/* [unique,keepref,charset(UTF16)] */
-               uint16_t logon_level;/* [keepref] */
-               union netr_LogonLevel logon;/* [keepref,switch_is(logon_level)] */
-               uint16_t validation_level;/* [keepref] */
-               uint32_t *flags;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *computer_name;/* [unique,charset(UTF16)] */
+               uint16_t logon_level;
+               union netr_LogonLevel logon;/* [switch_is(logon_level)] */
+               uint16_t validation_level;
+               uint32_t *flags;/* [ref] */
        } in;
 
        struct {
-               union netr_Validation *validation;/* [keepref,ref,switch_is(validation_level)] */
-               uint8_t *authoritative;/* [keepref,ref] */
-               uint32_t *flags;/* [keepref,ref] */
+               union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
+               uint8_t *authoritative;/* [ref] */
+               uint32_t *flags;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -1274,13 +1274,13 @@ struct netr_LogonSamLogonEx {
 
 struct netr_DsrEnumerateDomainTrusts {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               uint32_t trust_flags;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               uint32_t trust_flags;
        } in;
 
        struct {
-               uint32_t *count;/* [keepref,ref] */
-               struct netr_DomainTrust **trusts;/* [keepref,ref,size_is(count)] */
+               uint32_t *count;/* [ref] */
+               struct netr_DomainTrust **trusts;/* [ref,size_is(count)] */
                WERROR result;
        } out;
 
@@ -1321,21 +1321,21 @@ struct netr_NETRGETFORESTTRUSTINFORMATION {
 
 struct netr_LogonSamLogonWithFlags {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *computer_name;/* [unique,keepref,charset(UTF16)] */
-               struct netr_Authenticator *credential;/* [unique,keepref] */
-               struct netr_Authenticator *return_authenticator;/* [unique,keepref] */
-               uint16_t logon_level;/* [keepref] */
-               union netr_LogonLevel logon;/* [keepref,switch_is(logon_level)] */
-               uint16_t validation_level;/* [keepref] */
-               uint32_t *flags;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *computer_name;/* [unique,charset(UTF16)] */
+               struct netr_Authenticator *credential;/* [unique] */
+               struct netr_Authenticator *return_authenticator;/* [unique] */
+               uint16_t logon_level;
+               union netr_LogonLevel logon;/* [switch_is(logon_level)] */
+               uint16_t validation_level;
+               uint32_t *flags;/* [ref] */
        } in;
 
        struct {
-               struct netr_Authenticator *return_authenticator;/* [unique,keepref] */
-               union netr_Validation *validation;/* [keepref,ref,switch_is(validation_level)] */
-               uint8_t *authoritative;/* [keepref,ref] */
-               uint32_t *flags;/* [keepref,ref] */
+               struct netr_Authenticator *return_authenticator;/* [unique] */
+               union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
+               uint8_t *authoritative;/* [ref] */
+               uint32_t *flags;/* [ref] */
                NTSTATUS result;
        } out;
 
index bd4503248d821e5e1ea2afdcdc34cd4cf1308299..bb27ab021fdbaf06caab9ba98cfe851b1aa81dab 100644 (file)
@@ -31,6 +31,7 @@ static BOOL api_dfs_GetManagerVersion(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.exist_flag = talloc_size(mem_ctx, sizeof(*r.out.exist_flag));
        if (r.out.exist_flag == NULL) {
                talloc_free(mem_ctx);
@@ -237,6 +238,7 @@ static BOOL api_dfs_GetInfo(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -293,6 +295,7 @@ static BOOL api_dfs_Enum(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = r.in.info;
        r.out.total = r.in.total;
        r.out.result = _dfs_Enum(p, r.in.level, r.in.bufsize, r.in.info, r.in.unknown, r.in.total);
@@ -1095,6 +1098,7 @@ static BOOL api_dfs_EnumEx(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = r.in.info;
        r.out.total = r.in.total;
        r.out.result = _dfs_EnumEx(p, r.in.name, r.in.level, r.in.bufsize, r.in.info, r.in.total);
index d3dc7b9e1f113650b12ed23b256f557e0c6228d5..578760358e5faaf598d73312397748b95a93df22 100644 (file)
@@ -31,6 +31,7 @@ static BOOL api_echo_AddOne(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.out_data = talloc_size(mem_ctx, sizeof(*r.out.out_data));
        if (r.out.out_data == NULL) {
                talloc_free(mem_ctx);
@@ -87,6 +88,7 @@ static BOOL api_echo_EchoData(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.out_data = talloc_array_size(mem_ctx, sizeof(*r.out.out_data), r.in.len);
        if (r.out.out_data == NULL) {
                talloc_free(mem_ctx);
@@ -193,6 +195,7 @@ static BOOL api_echo_SourceData(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.data = talloc_array_size(mem_ctx, sizeof(*r.out.data), r.in.len);
        if (r.out.data == NULL) {
                talloc_free(mem_ctx);
@@ -249,6 +252,7 @@ static BOOL api_echo_TestCall(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.s2 = talloc_size(mem_ctx, sizeof(*r.out.s2));
        if (r.out.s2 == NULL) {
                talloc_free(mem_ctx);
@@ -305,6 +309,7 @@ static BOOL api_echo_TestCall2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -411,6 +416,7 @@ static BOOL api_echo_TestEnum(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.foo1 = r.in.foo1;
        r.out.foo2 = r.in.foo2;
        r.out.foo3 = r.in.foo3;
@@ -464,6 +470,7 @@ static BOOL api_echo_TestSurrounding(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.data = r.in.data;
        _echo_TestSurrounding(p, r.in.data);
        
index a4c3bf1ccaf6281041c0f1d02b7170cfcba4d4a5..4f934af26d50fda9019c712a78817172b4bf9341 100644 (file)
@@ -131,6 +131,7 @@ static BOOL api_eventlog_CloseEventLog(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = r.in.handle;
        r.out.result = _eventlog_CloseEventLog(p, r.in.handle);
        
@@ -232,6 +233,7 @@ static BOOL api_eventlog_GetNumRecords(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.number = talloc_size(mem_ctx, sizeof(*r.out.number));
        if (r.out.number == NULL) {
                talloc_free(mem_ctx);
@@ -388,6 +390,7 @@ static BOOL api_eventlog_OpenEventLogW(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -544,6 +547,7 @@ static BOOL api_eventlog_ReadEventLogW(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.data = talloc_array_size(mem_ctx, sizeof(*r.out.data), r.in.number_of_bytes);
        if (r.out.data == NULL) {
                talloc_free(mem_ctx);
index c9780580d620241310f3ad7bfabb8719f599679f..86f41db1bf235eb4a4394d0fd466c34a427749f6 100644 (file)
@@ -31,6 +31,7 @@ static BOOL api_lsa_Close(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = r.in.handle;
        r.out.result = _lsa_Close(p, r.in.handle);
        
@@ -132,6 +133,7 @@ static BOOL api_lsa_EnumPrivs(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.resume_handle = r.in.resume_handle;
        r.out.privs = talloc_size(mem_ctx, sizeof(*r.out.privs));
        if (r.out.privs == NULL) {
@@ -189,6 +191,7 @@ static BOOL api_lsa_QuerySecurity(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sdbuf = talloc_size(mem_ctx, sizeof(*r.out.sdbuf));
        if (r.out.sdbuf == NULL) {
                talloc_free(mem_ctx);
@@ -345,6 +348,7 @@ static BOOL api_lsa_OpenPolicy(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -401,6 +405,7 @@ static BOOL api_lsa_QueryInfoPolicy(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -557,6 +562,7 @@ static BOOL api_lsa_CreateAccount(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.acct_handle = talloc_size(mem_ctx, sizeof(*r.out.acct_handle));
        if (r.out.acct_handle == NULL) {
                talloc_free(mem_ctx);
@@ -613,6 +619,7 @@ static BOOL api_lsa_EnumAccounts(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.resume_handle = r.in.resume_handle;
        r.out.sids = talloc_size(mem_ctx, sizeof(*r.out.sids));
        if (r.out.sids == NULL) {
@@ -670,6 +677,7 @@ static BOOL api_lsa_CreateTrustedDomain(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.trustdom_handle = talloc_size(mem_ctx, sizeof(*r.out.trustdom_handle));
        if (r.out.trustdom_handle == NULL) {
                talloc_free(mem_ctx);
@@ -726,6 +734,7 @@ static BOOL api_lsa_EnumTrustDom(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.resume_handle = r.in.resume_handle;
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
@@ -783,6 +792,7 @@ static BOOL api_lsa_LookupNames(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
                talloc_free(mem_ctx);
@@ -841,6 +851,7 @@ static BOOL api_lsa_LookupSids(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
                talloc_free(mem_ctx);
@@ -899,6 +910,7 @@ static BOOL api_lsa_CreateSecret(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sec_handle = talloc_size(mem_ctx, sizeof(*r.out.sec_handle));
        if (r.out.sec_handle == NULL) {
                talloc_free(mem_ctx);
@@ -955,6 +967,7 @@ static BOOL api_lsa_OpenAccount(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.acct_handle = talloc_size(mem_ctx, sizeof(*r.out.acct_handle));
        if (r.out.acct_handle == NULL) {
                talloc_free(mem_ctx);
@@ -1011,6 +1024,7 @@ static BOOL api_lsa_EnumPrivsAccount(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.privs = talloc_size(mem_ctx, sizeof(*r.out.privs));
        if (r.out.privs == NULL) {
                talloc_free(mem_ctx);
@@ -1367,6 +1381,7 @@ static BOOL api_lsa_OpenTrustedDomain(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.trustdom_handle = talloc_size(mem_ctx, sizeof(*r.out.trustdom_handle));
        if (r.out.trustdom_handle == NULL) {
                talloc_free(mem_ctx);
@@ -1423,6 +1438,7 @@ static BOOL api_lsa_QueryTrustedDomainInfo(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -1529,6 +1545,7 @@ static BOOL api_lsa_OpenSecret(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sec_handle = talloc_size(mem_ctx, sizeof(*r.out.sec_handle));
        if (r.out.sec_handle == NULL) {
                talloc_free(mem_ctx);
@@ -1635,6 +1652,7 @@ static BOOL api_lsa_QuerySecret(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.new_val = r.in.new_val;
        r.out.new_mtime = r.in.new_mtime;
        r.out.old_val = r.in.old_val;
@@ -1689,6 +1707,7 @@ static BOOL api_lsa_LookupPrivValue(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.luid = talloc_size(mem_ctx, sizeof(*r.out.luid));
        if (r.out.luid == NULL) {
                talloc_free(mem_ctx);
@@ -1745,6 +1764,7 @@ static BOOL api_lsa_LookupPrivName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.name = talloc_size(mem_ctx, sizeof(*r.out.name));
        if (r.out.name == NULL) {
                talloc_free(mem_ctx);
@@ -1801,6 +1821,7 @@ static BOOL api_lsa_LookupPrivDisplayName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.disp_name = talloc_size(mem_ctx, sizeof(*r.out.disp_name));
        if (r.out.disp_name == NULL) {
                talloc_free(mem_ctx);
@@ -1908,6 +1929,7 @@ static BOOL api_lsa_EnumAccountsWithUserRight(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sids = talloc_size(mem_ctx, sizeof(*r.out.sids));
        if (r.out.sids == NULL) {
                talloc_free(mem_ctx);
@@ -1964,6 +1986,7 @@ static BOOL api_lsa_EnumAccountRights(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.rights = talloc_size(mem_ctx, sizeof(*r.out.rights));
        if (r.out.rights == NULL) {
                talloc_free(mem_ctx);
@@ -2120,6 +2143,7 @@ static BOOL api_lsa_QueryTrustedDomainInfoBySid(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -2376,6 +2400,7 @@ static BOOL api_lsa_OpenPolicy2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -2432,6 +2457,7 @@ static BOOL api_lsa_GetUserName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.account_name = r.in.account_name;
        r.out.authority_name = r.in.authority_name;
        r.out.result = _lsa_GetUserName(p, r.in.system_name, r.in.account_name, r.in.authority_name);
@@ -2484,6 +2510,7 @@ static BOOL api_lsa_QueryInfoPolicy2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -2590,6 +2617,7 @@ static BOOL api_lsa_QueryTrustedDomainInfoByName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -2696,6 +2724,7 @@ static BOOL api_lsa_EnumTrustedDomainsEx(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.resume_handle = r.in.resume_handle;
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
@@ -2803,6 +2832,7 @@ static BOOL api_lsa_CloseTrustedDomainEx(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = r.in.handle;
        r.out.result = _lsa_CloseTrustedDomainEx(p, r.in.handle);
        
@@ -2854,6 +2884,7 @@ static BOOL api_lsa_QueryDomainInformationPolicy(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -2960,6 +2991,7 @@ static BOOL api_lsa_OpenTrustedDomainByName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.trustdom_handle = talloc_size(mem_ctx, sizeof(*r.out.trustdom_handle));
        if (r.out.trustdom_handle == NULL) {
                talloc_free(mem_ctx);
@@ -3066,6 +3098,7 @@ static BOOL api_lsa_LookupSids2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
                talloc_free(mem_ctx);
@@ -3124,6 +3157,7 @@ static BOOL api_lsa_LookupNames2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
                talloc_free(mem_ctx);
@@ -3632,6 +3666,7 @@ static BOOL api_lsa_LookupNames3(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
                talloc_free(mem_ctx);
@@ -4040,6 +4075,7 @@ static BOOL api_lsa_LookupSids3(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
                talloc_free(mem_ctx);
@@ -4098,6 +4134,7 @@ static BOOL api_lsa_LookupNames4(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.domains = talloc_size(mem_ctx, sizeof(*r.out.domains));
        if (r.out.domains == NULL) {
                talloc_free(mem_ctx);
index a8dfe6429da4640a2b1eccda8b670ef48566cda4..c7dfc8c007efe3cbc02b8dd719f2aa5e91070c73 100644 (file)
@@ -31,6 +31,7 @@ static BOOL api_netr_LogonUasLogon(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -87,6 +88,7 @@ static BOOL api_netr_LogonUasLogoff(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -143,6 +145,7 @@ static BOOL api_netr_LogonSamLogon(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.validation = talloc_size(mem_ctx, sizeof(*r.out.validation));
        if (r.out.validation == NULL) {
@@ -206,6 +209,7 @@ static BOOL api_netr_LogonSamLogoff(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.result = _netr_LogonSamLogoff(p, r.in.server_name, r.in.computer_name, r.in.credential, r.in.return_authenticator, r.in.logon_level, r.in.logon);
        
@@ -257,6 +261,7 @@ static BOOL api_netr_ServerReqChallenge(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.credentials = r.in.credentials;
        r.out.result = _netr_ServerReqChallenge(p, r.in.server_name, r.in.computer_name, r.in.credentials);
        
@@ -308,6 +313,7 @@ static BOOL api_netr_ServerAuthenticate(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.credentials = r.in.credentials;
        r.out.result = _netr_ServerAuthenticate(p, r.in.server_name, r.in.account_name, r.in.secure_channel_type, r.in.computer_name, r.in.credentials);
        
@@ -359,6 +365,7 @@ static BOOL api_netr_ServerPasswordSet(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = talloc_size(mem_ctx, sizeof(*r.out.return_authenticator));
        if (r.out.return_authenticator == NULL) {
                talloc_free(mem_ctx);
@@ -415,6 +422,7 @@ static BOOL api_netr_DatabaseDeltas(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.sequence_num = r.in.sequence_num;
        r.out.delta_enum_array = talloc_size(mem_ctx, sizeof(*r.out.delta_enum_array));
@@ -473,6 +481,7 @@ static BOOL api_netr_DatabaseSync(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.sync_context = r.in.sync_context;
        r.out.delta_enum_array = talloc_size(mem_ctx, sizeof(*r.out.delta_enum_array));
@@ -531,6 +540,7 @@ static BOOL api_netr_AccountDeltas(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.buffer = talloc_size(mem_ctx, sizeof(*r.out.buffer));
        if (r.out.buffer == NULL) {
@@ -606,6 +616,7 @@ static BOOL api_netr_AccountSync(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.buffer = talloc_size(mem_ctx, sizeof(*r.out.buffer));
        if (r.out.buffer == NULL) {
@@ -682,6 +693,7 @@ static BOOL api_netr_GetDcName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.dcname = talloc_size(mem_ctx, sizeof(*r.out.dcname));
        if (r.out.dcname == NULL) {
                talloc_free(mem_ctx);
@@ -738,6 +750,7 @@ static BOOL api_netr_LogonControl(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -794,6 +807,7 @@ static BOOL api_netr_GetAnyDCName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.dcname = talloc_size(mem_ctx, sizeof(*r.out.dcname));
        if (r.out.dcname == NULL) {
                talloc_free(mem_ctx);
@@ -850,6 +864,7 @@ static BOOL api_netr_LogonControl2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.query = talloc_size(mem_ctx, sizeof(*r.out.query));
        if (r.out.query == NULL) {
                talloc_free(mem_ctx);
@@ -906,6 +921,7 @@ static BOOL api_netr_ServerAuthenticate2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.credentials = r.in.credentials;
        r.out.negotiate_flags = r.in.negotiate_flags;
        r.out.result = _netr_ServerAuthenticate2(p, r.in.server_name, r.in.account_name, r.in.secure_channel_type, r.in.computer_name, r.in.credentials, r.in.negotiate_flags);
@@ -958,6 +974,7 @@ static BOOL api_netr_DatabaseSync2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.sync_context = r.in.sync_context;
        r.out.delta_enum_array = talloc_size(mem_ctx, sizeof(*r.out.delta_enum_array));
@@ -1016,6 +1033,7 @@ static BOOL api_netr_DatabaseRedo(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.delta_enum_array = talloc_size(mem_ctx, sizeof(*r.out.delta_enum_array));
        if (r.out.delta_enum_array == NULL) {
@@ -1073,6 +1091,7 @@ static BOOL api_netr_LogonControl2Ex(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.query = talloc_size(mem_ctx, sizeof(*r.out.query));
        if (r.out.query == NULL) {
                talloc_free(mem_ctx);
@@ -1179,6 +1198,7 @@ static BOOL api_netr_DsRGetDCName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -1485,6 +1505,7 @@ static BOOL api_netr_ServerAuthenticate3(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.credentials = r.in.credentials;
        r.out.negotiate_flags = r.in.negotiate_flags;
        r.out.rid = talloc_size(mem_ctx, sizeof(*r.out.rid));
@@ -1543,6 +1564,7 @@ static BOOL api_netr_DsRGetDCNameEx(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -1599,6 +1621,7 @@ static BOOL api_netr_DsRGetSiteName(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.site = talloc_size(mem_ctx, sizeof(*r.out.site));
        if (r.out.site == NULL) {
                talloc_free(mem_ctx);
@@ -1655,6 +1678,7 @@ static BOOL api_netr_LogonGetDomainInfo(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
@@ -1712,6 +1736,7 @@ static BOOL api_netr_ServerPasswordSet2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = talloc_size(mem_ctx, sizeof(*r.out.return_authenticator));
        if (r.out.return_authenticator == NULL) {
                talloc_free(mem_ctx);
@@ -1918,6 +1943,7 @@ static BOOL api_netr_DsRGetDCNameEx2(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -2174,6 +2200,7 @@ static BOOL api_netr_LogonSamLogonEx(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.validation = talloc_size(mem_ctx, sizeof(*r.out.validation));
        if (r.out.validation == NULL) {
                talloc_free(mem_ctx);
@@ -2237,6 +2264,7 @@ static BOOL api_netr_DsrEnumerateDomainTrusts(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.count = talloc_size(mem_ctx, sizeof(*r.out.count));
        if (r.out.count == NULL) {
                talloc_free(mem_ctx);
@@ -2499,6 +2527,7 @@ static BOOL api_netr_LogonSamLogonWithFlags(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.return_authenticator = r.in.return_authenticator;
        r.out.validation = talloc_size(mem_ctx, sizeof(*r.out.validation));
        if (r.out.validation == NULL) {
index e99233086671dbc5ed37eeafcb828db5cc3e8eca..31578ee1d14e29c50838187ddac5c14f89e861a0 100644 (file)
@@ -31,6 +31,7 @@ static BOOL api_unixinfo_SidToUid(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.uid = talloc_size(mem_ctx, sizeof(*r.out.uid));
        if (r.out.uid == NULL) {
                talloc_free(mem_ctx);
@@ -87,6 +88,7 @@ static BOOL api_unixinfo_UidToSid(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sid = talloc_size(mem_ctx, sizeof(*r.out.sid));
        if (r.out.sid == NULL) {
                talloc_free(mem_ctx);
@@ -143,6 +145,7 @@ static BOOL api_unixinfo_SidToGid(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.gid = talloc_size(mem_ctx, sizeof(*r.out.gid));
        if (r.out.gid == NULL) {
                talloc_free(mem_ctx);
@@ -199,6 +202,7 @@ static BOOL api_unixinfo_GidToSid(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sid = talloc_size(mem_ctx, sizeof(*r.out.sid));
        if (r.out.sid == NULL) {
                talloc_free(mem_ctx);
@@ -255,6 +259,7 @@ static BOOL api_unixinfo_GetPWUid(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.count = r.in.count;
        r.out.infos = talloc_array_size(mem_ctx, sizeof(*r.out.infos), *r.in.count);
        if (r.out.infos == NULL) {
index e40d53ebb7f9f6943ff6f9dd8b211d31ab919216..005f4c3b5b1eb6abee7067301e5e113570bb6030 100644 (file)
@@ -31,6 +31,7 @@ static BOOL api_winreg_OpenHKCR(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -87,6 +88,7 @@ static BOOL api_winreg_OpenHKCU(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -143,6 +145,7 @@ static BOOL api_winreg_OpenHKLM(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -199,6 +202,7 @@ static BOOL api_winreg_OpenHKPD(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -255,6 +259,7 @@ static BOOL api_winreg_OpenHKU(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -311,6 +316,7 @@ static BOOL api_winreg_CloseKey(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = r.in.handle;
        r.out.result = _winreg_CloseKey(p, r.in.handle);
        
@@ -362,6 +368,7 @@ static BOOL api_winreg_CreateKey(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.new_handle = talloc_size(mem_ctx, sizeof(*r.out.new_handle));
        if (r.out.new_handle == NULL) {
                talloc_free(mem_ctx);
@@ -519,6 +526,7 @@ static BOOL api_winreg_EnumKey(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.name = r.in.name;
        r.out.keyclass = r.in.keyclass;
        r.out.last_changed_time = r.in.last_changed_time;
@@ -572,6 +580,7 @@ static BOOL api_winreg_EnumValue(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.name = r.in.name;
        r.out.type = r.in.type;
        r.out.value = r.in.value;
@@ -677,6 +686,7 @@ static BOOL api_winreg_GetKeySecurity(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sd = r.in.sd;
        r.out.result = _winreg_GetKeySecurity(p, r.in.handle, r.in.sec_info, r.in.sd);
        
@@ -828,6 +838,7 @@ static BOOL api_winreg_OpenKey(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -884,6 +895,7 @@ static BOOL api_winreg_QueryInfoKey(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.class_out = talloc_size(mem_ctx, sizeof(*r.out.class_out));
        if (r.out.class_out == NULL) {
                talloc_free(mem_ctx);
@@ -988,6 +1000,7 @@ static BOOL api_winreg_QueryValue(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.type = r.in.type;
        r.out.data = r.in.data;
        r.out.size = r.in.size;
@@ -1192,6 +1205,7 @@ static BOOL api_winreg_SetKeySecurity(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.sd = r.in.sd;
        r.out.result = _winreg_SetKeySecurity(p, r.in.handle, r.in.access_mask, r.in.sd);
        
@@ -1443,6 +1457,7 @@ static BOOL api_winreg_GetVersion(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.version = talloc_size(mem_ctx, sizeof(*r.out.version));
        if (r.out.version == NULL) {
                talloc_free(mem_ctx);
@@ -1499,6 +1514,7 @@ static BOOL api_winreg_OpenHKCC(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -1555,6 +1571,7 @@ static BOOL api_winreg_OpenHKDD(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -1611,6 +1628,7 @@ static BOOL api_winreg_QueryMultipleValues(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.values = r.in.values;
        r.out.buffer = r.in.buffer;
        r.out.buffer_size = r.in.buffer_size;
@@ -1764,6 +1782,7 @@ static BOOL api_winreg_OpenHKPT(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
@@ -1820,6 +1839,7 @@ static BOOL api_winreg_OpenHKPN(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.handle = talloc_size(mem_ctx, sizeof(*r.out.handle));
        if (r.out.handle == NULL) {
                talloc_free(mem_ctx);
index 3d49480216d97d3d449c66a6fb9a7384beeebf7a..874dcb397e5d96bee413e73e9690d4c8ac813eec 100644 (file)
@@ -31,6 +31,7 @@ static BOOL api_wkssvc_NetWkstaGetInfo(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.info = talloc_size(mem_ctx, sizeof(*r.out.info));
        if (r.out.info == NULL) {
                talloc_free(mem_ctx);
@@ -87,6 +88,7 @@ static BOOL api_wkssvc_NetWkstaSetInfo(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.parm_error = r.in.parm_error;
        r.out.result = _wkssvc_NetWkstaSetInfo(p, r.in.server_name, r.in.level, r.in.info, r.in.parm_error);
        
@@ -138,6 +140,7 @@ static BOOL api_wkssvc_NetWkstaEnumUsers(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.users = r.in.users;
        r.out.entriesread = talloc_size(mem_ctx, sizeof(*r.out.entriesread));
        if (r.out.entriesread == NULL) {
@@ -302,6 +305,7 @@ static BOOL api_wkssvc_NetWkstaTransportEnum(pipes_struct *p)
                return False;
        }
        
+       ZERO_STRUCT(r.out);
        r.out.level = r.in.level;
        r.out.ctr = r.in.ctr;
        r.out.totalentries = talloc_size(mem_ctx, sizeof(*r.out.totalentries));
index 8f8984963f89d621a472ad12719ef13d56d5eb6c..232cb935f3b558873fe4e1f5626024f90da924ba 100644 (file)
@@ -5,19 +5,19 @@
 
 #include "librpc/gen_ndr/security.h"
 struct unixinfo_GetPWUidInfo {
-       NTSTATUS status;/* [keepref] */
-       const char * homedir;/* [keepref,flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
-       const char * shell;/* [keepref,flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
+       NTSTATUS status;
+       const char * homedir;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
+       const char * shell;/* [flag(LIBNDR_FLAG_STR_UTF8|LIBNDR_FLAG_STR_NULLTERM)] */
 };
 
 
 struct unixinfo_SidToUid {
        struct {
-               struct dom_sid sid;/* [keepref] */
+               struct dom_sid sid;
        } in;
 
        struct {
-               uint64_t *uid;/* [keepref,ref] */
+               uint64_t *uid;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -26,11 +26,11 @@ struct unixinfo_SidToUid {
 
 struct unixinfo_UidToSid {
        struct {
-               uint64_t uid;/* [keepref] */
+               uint64_t uid;
        } in;
 
        struct {
-               struct dom_sid *sid;/* [unique,keepref] */
+               struct dom_sid *sid;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -39,11 +39,11 @@ struct unixinfo_UidToSid {
 
 struct unixinfo_SidToGid {
        struct {
-               struct dom_sid sid;/* [keepref] */
+               struct dom_sid sid;
        } in;
 
        struct {
-               uint64_t *gid;/* [keepref,ref] */
+               uint64_t *gid;/* [ref] */
                NTSTATUS result;
        } out;
 
@@ -52,11 +52,11 @@ struct unixinfo_SidToGid {
 
 struct unixinfo_GidToSid {
        struct {
-               uint64_t gid;/* [keepref] */
+               uint64_t gid;
        } in;
 
        struct {
-               struct dom_sid *sid;/* [unique,keepref] */
+               struct dom_sid *sid;/* [unique] */
                NTSTATUS result;
        } out;
 
@@ -65,13 +65,13 @@ struct unixinfo_GidToSid {
 
 struct unixinfo_GetPWUid {
        struct {
-               uint32_t *count;/* [keepref,ref,range(0 1023)] */
-               uint64_t *uids;/* [keepref,size_is(*count)] */
+               uint32_t *count;/* [ref,range(0 1023)] */
+               uint64_t *uids;/* [size_is(*count)] */
        } in;
 
        struct {
-               uint32_t *count;/* [keepref,ref,range(0 1023)] */
-               struct unixinfo_GetPWUidInfo *infos;/* [keepref,size_is(*count)] */
+               uint32_t *count;/* [ref,range(0 1023)] */
+               struct unixinfo_GetPWUidInfo *infos;/* [size_is(*count)] */
                NTSTATUS result;
        } out;
 
index bdc377783d5f17e93389ea5767d7457ccb988cac..d895845243f994068a9e637834ad7d2bb8e55322 100644 (file)
@@ -24,21 +24,21 @@ enum winreg_Type {
 };
 
 struct winreg_String {
-       uint16_t name_len;/* [keepref,value(strlen_m_term(name)*2)] */
-       uint16_t name_size;/* [keepref,value(strlen_m_term(name)*2)] */
-       const char *name;/* [unique,keepref,charset(UTF16)] */
+       uint16_t name_len;/* [value(strlen_m_term(name)*2)] */
+       uint16_t name_size;/* [value(strlen_m_term(name)*2)] */
+       const char *name;/* [unique,charset(UTF16)] */
 }/* [public,noejs] */;
 
 struct KeySecurityData {
-       uint8_t *data;/* [unique,keepref,length_is(len),size_is(size)] */
-       uint32_t size;/* [keepref] */
-       uint32_t len;/* [keepref] */
+       uint8_t *data;/* [unique,length_is(len),size_is(size)] */
+       uint32_t size;
+       uint32_t len;
 };
 
 struct winreg_SecBuf {
-       uint32_t length;/* [keepref] */
-       struct KeySecurityData sd;/* [keepref] */
-       uint8_t inherit;/* [keepref] */
+       uint32_t length;
+       struct KeySecurityData sd;
+       uint8_t inherit;
 };
 
 enum winreg_CreateAction {
@@ -48,27 +48,27 @@ enum winreg_CreateAction {
 };
 
 struct winreg_StringBuf {
-       uint16_t length;/* [keepref,value(strlen_m_term(name)*2)] */
-       uint16_t size;/* [keepref] */
-       const char *name;/* [unique,keepref,length_is(length/2),charset(UTF16),size_is(size/2)] */
+       uint16_t length;/* [value(strlen_m_term(name)*2)] */
+       uint16_t size;
+       const char *name;/* [unique,length_is(length/2),charset(UTF16),size_is(size/2)] */
 };
 
 struct QueryMultipleValue {
-       struct winreg_String *name;/* [unique,keepref] */
-       enum winreg_Type type;/* [keepref] */
-       uint32_t offset;/* [keepref] */
-       uint32_t length;/* [keepref] */
+       struct winreg_String *name;/* [unique] */
+       enum winreg_Type type;
+       uint32_t offset;
+       uint32_t length;
 };
 
 
 struct winreg_OpenHKCR {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -77,12 +77,12 @@ struct winreg_OpenHKCR {
 
 struct winreg_OpenHKCU {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -91,12 +91,12 @@ struct winreg_OpenHKCU {
 
 struct winreg_OpenHKLM {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -105,12 +105,12 @@ struct winreg_OpenHKLM {
 
 struct winreg_OpenHKPD {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -119,12 +119,12 @@ struct winreg_OpenHKPD {
 
 struct winreg_OpenHKU {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -133,11 +133,11 @@ struct winreg_OpenHKU {
 
 struct winreg_CloseKey {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -146,18 +146,18 @@ struct winreg_CloseKey {
 
 struct winreg_CreateKey {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct winreg_String name;/* [keepref] */
-               struct winreg_String keyclass;/* [keepref] */
-               uint32_t options;/* [keepref] */
-               uint32_t access_mask;/* [keepref] */
-               struct winreg_SecBuf *secdesc;/* [unique,keepref] */
-               enum winreg_CreateAction *action_taken;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct winreg_String name;
+               struct winreg_String keyclass;
+               uint32_t options;
+               uint32_t access_mask;
+               struct winreg_SecBuf *secdesc;/* [unique] */
+               enum winreg_CreateAction *action_taken;/* [unique] */
        } in;
 
        struct {
-               struct policy_handle *new_handle;/* [keepref,ref] */
-               enum winreg_CreateAction *action_taken;/* [unique,keepref] */
+               struct policy_handle *new_handle;/* [ref] */
+               enum winreg_CreateAction *action_taken;/* [unique] */
                WERROR result;
        } out;
 
@@ -166,8 +166,8 @@ struct winreg_CreateKey {
 
 struct winreg_DeleteKey {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct winreg_String key;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct winreg_String key;
        } in;
 
        struct {
@@ -179,8 +179,8 @@ struct winreg_DeleteKey {
 
 struct winreg_DeleteValue {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct winreg_String value;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct winreg_String value;
        } in;
 
        struct {
@@ -192,17 +192,17 @@ struct winreg_DeleteValue {
 
 struct winreg_EnumKey {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t enum_index;/* [keepref] */
-               struct winreg_StringBuf *name;/* [keepref,ref] */
-               struct winreg_StringBuf *keyclass;/* [unique,keepref] */
-               NTTIME *last_changed_time;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t enum_index;
+               struct winreg_StringBuf *name;/* [ref] */
+               struct winreg_StringBuf *keyclass;/* [unique] */
+               NTTIME *last_changed_time;/* [unique] */
        } in;
 
        struct {
-               struct winreg_StringBuf *name;/* [keepref,ref] */
-               struct winreg_StringBuf *keyclass;/* [unique,keepref] */
-               NTTIME *last_changed_time;/* [unique,keepref] */
+               struct winreg_StringBuf *name;/* [ref] */
+               struct winreg_StringBuf *keyclass;/* [unique] */
+               NTTIME *last_changed_time;/* [unique] */
                WERROR result;
        } out;
 
@@ -211,21 +211,21 @@ struct winreg_EnumKey {
 
 struct winreg_EnumValue {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t enum_index;/* [keepref] */
-               struct winreg_StringBuf *name;/* [keepref,ref] */
-               enum winreg_Type *type;/* [unique,keepref] */
-               uint8_t *value;/* [unique,keepref,length_is(*length),size_is(*size)] */
-               uint32_t *size;/* [unique,keepref] */
-               uint32_t *length;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t enum_index;
+               struct winreg_StringBuf *name;/* [ref] */
+               enum winreg_Type *type;/* [unique] */
+               uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
+               uint32_t *size;/* [unique] */
+               uint32_t *length;/* [unique] */
        } in;
 
        struct {
-               struct winreg_StringBuf *name;/* [keepref,ref] */
-               enum winreg_Type *type;/* [unique,keepref] */
-               uint8_t *value;/* [unique,keepref,length_is(*length),size_is(*size)] */
-               uint32_t *size;/* [unique,keepref] */
-               uint32_t *length;/* [unique,keepref] */
+               struct winreg_StringBuf *name;/* [ref] */
+               enum winreg_Type *type;/* [unique] */
+               uint8_t *value;/* [unique,length_is(*length),size_is(*size)] */
+               uint32_t *size;/* [unique] */
+               uint32_t *length;/* [unique] */
                WERROR result;
        } out;
 
@@ -234,7 +234,7 @@ struct winreg_EnumValue {
 
 struct winreg_FlushKey {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
@@ -246,13 +246,13 @@ struct winreg_FlushKey {
 
 struct winreg_GetKeySecurity {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t sec_info;/* [keepref] */
-               struct KeySecurityData *sd;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t sec_info;
+               struct KeySecurityData *sd;/* [ref] */
        } in;
 
        struct {
-               struct KeySecurityData *sd;/* [keepref,ref] */
+               struct KeySecurityData *sd;/* [ref] */
                WERROR result;
        } out;
 
@@ -261,9 +261,9 @@ struct winreg_GetKeySecurity {
 
 struct winreg_LoadKey {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct winreg_String *keyname;/* [unique,keepref] */
-               struct winreg_String *filename;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct winreg_String *keyname;/* [unique] */
+               struct winreg_String *filename;/* [unique] */
        } in;
 
        struct {
@@ -275,13 +275,13 @@ struct winreg_LoadKey {
 
 struct winreg_NotifyChangeKeyValue {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint8_t watch_subtree;/* [keepref] */
-               uint32_t notify_filter;/* [keepref] */
-               uint32_t unknown;/* [keepref] */
-               struct winreg_String string1;/* [keepref] */
-               struct winreg_String string2;/* [keepref] */
-               uint32_t unknown2;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               uint8_t watch_subtree;
+               uint32_t notify_filter;
+               uint32_t unknown;
+               struct winreg_String string1;
+               struct winreg_String string2;
+               uint32_t unknown2;
        } in;
 
        struct {
@@ -293,14 +293,14 @@ struct winreg_NotifyChangeKeyValue {
 
 struct winreg_OpenKey {
        struct {
-               struct policy_handle *parent_handle;/* [keepref,ref] */
-               struct winreg_String keyname;/* [keepref] */
-               uint32_t unknown;/* [keepref] */
-               uint32_t access_mask;/* [keepref] */
+               struct policy_handle *parent_handle;/* [ref] */
+               struct winreg_String keyname;
+               uint32_t unknown;
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -309,20 +309,20 @@ struct winreg_OpenKey {
 
 struct winreg_QueryInfoKey {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct winreg_String class_in;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct winreg_String class_in;
        } in;
 
        struct {
-               struct winreg_String *class_out;/* [unique,keepref] */
-               uint32_t *num_subkeys;/* [keepref,ref] */
-               uint32_t *max_subkeylen;/* [keepref,ref] */
-               uint32_t *max_subkeysize;/* [keepref,ref] */
-               uint32_t *num_values;/* [keepref,ref] */
-               uint32_t *max_valnamelen;/* [keepref,ref] */
-               uint32_t *max_valbufsize;/* [keepref,ref] */
-               uint32_t *secdescsize;/* [keepref,ref] */
-               NTTIME *last_changed_time;/* [keepref,ref] */
+               struct winreg_String *class_out;/* [unique] */
+               uint32_t *num_subkeys;/* [ref] */
+               uint32_t *max_subkeylen;/* [ref] */
+               uint32_t *max_subkeysize;/* [ref] */
+               uint32_t *num_values;/* [ref] */
+               uint32_t *max_valnamelen;/* [ref] */
+               uint32_t *max_valbufsize;/* [ref] */
+               uint32_t *secdescsize;/* [ref] */
+               NTTIME *last_changed_time;/* [ref] */
                WERROR result;
        } out;
 
@@ -331,19 +331,19 @@ struct winreg_QueryInfoKey {
 
 struct winreg_QueryValue {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct winreg_String value_name;/* [keepref] */
-               enum winreg_Type *type;/* [unique,keepref] */
-               uint8_t *data;/* [unique,keepref,length_is(*length),size_is(*size)] */
-               uint32_t *size;/* [unique,keepref] */
-               uint32_t *length;/* [unique,keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct winreg_String value_name;
+               enum winreg_Type *type;/* [unique] */
+               uint8_t *data;/* [unique,length_is(*length),size_is(*size)] */
+               uint32_t *size;/* [unique] */
+               uint32_t *length;/* [unique] */
        } in;
 
        struct {
-               enum winreg_Type *type;/* [unique,keepref] */
-               uint8_t *data;/* [unique,keepref,length_is(*length),size_is(*size)] */
-               uint32_t *size;/* [unique,keepref] */
-               uint32_t *length;/* [unique,keepref] */
+               enum winreg_Type *type;/* [unique] */
+               uint8_t *data;/* [unique,length_is(*length),size_is(*size)] */
+               uint32_t *size;/* [unique] */
+               uint32_t *length;/* [unique] */
                WERROR result;
        } out;
 
@@ -376,13 +376,13 @@ struct winreg_SaveKey {
 
 struct winreg_SetKeySecurity {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               uint32_t access_mask;/* [keepref] */
-               struct KeySecurityData *sd;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
+               uint32_t access_mask;
+               struct KeySecurityData *sd;/* [ref] */
        } in;
 
        struct {
-               struct KeySecurityData *sd;/* [keepref,ref] */
+               struct KeySecurityData *sd;/* [ref] */
                WERROR result;
        } out;
 
@@ -391,11 +391,11 @@ struct winreg_SetKeySecurity {
 
 struct winreg_SetValue {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
-               struct winreg_String name;/* [keepref] */
-               enum winreg_Type type;/* [keepref] */
-               uint8_t *data;/* [keepref,ref,size_is(size)] */
-               uint32_t size;/* [keepref] */
+               struct policy_handle *handle;/* [ref] */
+               struct winreg_String name;
+               enum winreg_Type type;
+               uint8_t *data;/* [ref,size_is(size)] */
+               uint32_t size;
        } in;
 
        struct {
@@ -415,11 +415,11 @@ struct winreg_UnLoadKey {
 
 struct winreg_InitiateSystemShutdown {
        struct {
-               uint16_t *hostname;/* [unique,keepref] */
-               struct initshutdown_String *message;/* [unique,keepref] */
-               uint32_t timeout;/* [keepref] */
-               uint8_t force_apps;/* [keepref] */
-               uint8_t reboot;/* [keepref] */
+               uint16_t *hostname;/* [unique] */
+               struct initshutdown_String *message;/* [unique] */
+               uint32_t timeout;
+               uint8_t force_apps;
+               uint8_t reboot;
        } in;
 
        struct {
@@ -431,7 +431,7 @@ struct winreg_InitiateSystemShutdown {
 
 struct winreg_AbortSystemShutdown {
        struct {
-               uint16_t *server;/* [unique,keepref] */
+               uint16_t *server;/* [unique] */
        } in;
 
        struct {
@@ -443,11 +443,11 @@ struct winreg_AbortSystemShutdown {
 
 struct winreg_GetVersion {
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
        } in;
 
        struct {
-               uint32_t *version;/* [keepref,ref] */
+               uint32_t *version;/* [ref] */
                WERROR result;
        } out;
 
@@ -456,12 +456,12 @@ struct winreg_GetVersion {
 
 struct winreg_OpenHKCC {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -470,12 +470,12 @@ struct winreg_OpenHKCC {
 
 struct winreg_OpenHKDD {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -484,17 +484,17 @@ struct winreg_OpenHKDD {
 
 struct winreg_QueryMultipleValues {
        struct {
-               struct policy_handle *key_handle;/* [keepref,ref] */
-               struct QueryMultipleValue *values;/* [keepref,ref,length_is(num_values),size_is(num_values)] */
-               uint32_t num_values;/* [keepref] */
-               uint8_t *buffer;/* [unique,keepref,length_is(*buffer_size),size_is(*buffer_size)] */
-               uint32_t *buffer_size;/* [keepref,ref] */
+               struct policy_handle *key_handle;/* [ref] */
+               struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
+               uint32_t num_values;
+               uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
+               uint32_t *buffer_size;/* [ref] */
        } in;
 
        struct {
-               struct QueryMultipleValue *values;/* [keepref,ref,length_is(num_values),size_is(num_values)] */
-               uint8_t *buffer;/* [unique,keepref,length_is(*buffer_size),size_is(*buffer_size)] */
-               uint32_t *buffer_size;/* [keepref,ref] */
+               struct QueryMultipleValue *values;/* [ref,length_is(num_values),size_is(num_values)] */
+               uint8_t *buffer;/* [unique,length_is(*buffer_size),size_is(*buffer_size)] */
+               uint32_t *buffer_size;/* [ref] */
                WERROR result;
        } out;
 
@@ -503,12 +503,12 @@ struct winreg_QueryMultipleValues {
 
 struct winreg_InitiateSystemShutdownEx {
        struct {
-               uint16_t *hostname;/* [unique,keepref] */
-               struct initshutdown_String *message;/* [unique,keepref] */
-               uint32_t timeout;/* [keepref] */
-               uint8_t force_apps;/* [keepref] */
-               uint8_t reboot;/* [keepref] */
-               uint32_t reason;/* [keepref] */
+               uint16_t *hostname;/* [unique] */
+               struct initshutdown_String *message;/* [unique] */
+               uint32_t timeout;
+               uint8_t force_apps;
+               uint8_t reboot;
+               uint32_t reason;
        } in;
 
        struct {
@@ -528,12 +528,12 @@ struct winreg_SaveKeyEx {
 
 struct winreg_OpenHKPT {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
@@ -542,12 +542,12 @@ struct winreg_OpenHKPT {
 
 struct winreg_OpenHKPN {
        struct {
-               uint16_t *system_name;/* [unique,keepref] */
-               uint32_t access_mask;/* [keepref] */
+               uint16_t *system_name;/* [unique] */
+               uint32_t access_mask;
        } in;
 
        struct {
-               struct policy_handle *handle;/* [keepref,ref] */
+               struct policy_handle *handle;/* [ref] */
                WERROR result;
        } out;
 
index 6663f05f49ceaa264e58a5de585a031e0258bfaf..4dd971f22397be302a54dcc3b13a86c057bfe0ed 100644 (file)
 
 #include "librpc/gen_ndr/srvsvc.h"
 struct wkssvc_NetWkstaInfo100 {
-       uint16_t platform_id;/* [keepref] */
-       const char *server_name;/* [unique,keepref,charset(UTF16)] */
-       const char *domain_name;/* [unique,keepref,charset(UTF16)] */
-       uint32_t version_major;/* [keepref] */
-       uint32_t version_minor;/* [keepref] */
+       uint16_t platform_id;
+       const char *server_name;/* [unique,charset(UTF16)] */
+       const char *domain_name;/* [unique,charset(UTF16)] */
+       uint32_t version_major;
+       uint32_t version_minor;
 };
 
 struct wkssvc_NetWkstaInfo101 {
-       uint16_t platform_id;/* [keepref] */
-       const char *server_name;/* [unique,keepref,charset(UTF16)] */
-       const char *domain_name;/* [unique,keepref,charset(UTF16)] */
-       uint32_t version_major;/* [keepref] */
-       uint32_t version_minor;/* [keepref] */
-       const char *lan_root;/* [unique,keepref,charset(UTF16)] */
+       uint16_t platform_id;
+       const char *server_name;/* [unique,charset(UTF16)] */
+       const char *domain_name;/* [unique,charset(UTF16)] */
+       uint32_t version_major;
+       uint32_t version_minor;
+       const char *lan_root;/* [unique,charset(UTF16)] */
 };
 
 struct wkssvc_NetWkstaInfo102 {
-       uint16_t platform_id;/* [keepref] */
-       const char *server_name;/* [unique,keepref,charset(UTF16)] */
-       const char *domain_name;/* [unique,keepref,charset(UTF16)] */
-       uint32_t version_major;/* [keepref] */
-       uint32_t version_minor;/* [keepref] */
-       const char *lan_root;/* [unique,keepref,charset(UTF16)] */
-       uint32_t logged_on_users;/* [keepref] */
+       uint16_t platform_id;
+       const char *server_name;/* [unique,charset(UTF16)] */
+       const char *domain_name;/* [unique,charset(UTF16)] */
+       uint32_t version_major;
+       uint32_t version_minor;
+       const char *lan_root;/* [unique,charset(UTF16)] */
+       uint32_t logged_on_users;
 };
 
 struct wkssvc_NetWkstaInfo502 {
-       uint32_t char_wait;/* [keepref] */
-       uint32_t collection_time;/* [keepref] */
-       uint32_t maximum_collection_count;/* [keepref] */
-       uint32_t keep_connection;/* [keepref] */
-       uint32_t max_commands;/* [keepref] */
-       uint32_t session_timeout;/* [keepref] */
-       uint32_t size_char_buf;/* [keepref] */
-       uint32_t max_threads;/* [keepref] */
-       uint32_t lock_quota;/* [keepref] */
-       uint32_t lock_increment;/* [keepref] */
-       uint32_t lock_maximum;/* [keepref] */
-       uint32_t pipe_increment;/* [keepref] */
-       uint32_t pipe_maximum;/* [keepref] */
-       uint32_t cache_file_timeout;/* [keepref] */
-       uint32_t dormant_file_limit;/* [keepref] */
-       uint32_t read_ahead_throughput;/* [keepref] */
-       uint32_t num_mailslot_buffers;/* [keepref] */
-       uint32_t num_srv_announce_buffers;/* [keepref] */
-       uint32_t max_illegal_dgram_events;/* [keepref] */
-       uint32_t dgram_event_reset_freq;/* [keepref] */
-       uint32_t log_election_packets;/* [keepref] */
-       uint32_t use_opportunistic_locking;/* [keepref] */
-       uint32_t use_unlock_behind;/* [keepref] */
-       uint32_t use_close_behind;/* [keepref] */
-       uint32_t buf_named_pipes;/* [keepref] */
-       uint32_t use_lock_read_unlock;/* [keepref] */
-       uint32_t utilize_nt_caching;/* [keepref] */
-       uint32_t use_raw_read;/* [keepref] */
-       uint32_t use_raw_write;/* [keepref] */
-       uint32_t use_write_raw_data;/* [keepref] */
-       uint32_t use_encryption;/* [keepref] */
-       uint32_t buf_files_deny_write;/* [keepref] */
-       uint32_t buf_read_only_files;/* [keepref] */
-       uint32_t force_core_create_mode;/* [keepref] */
-       uint32_t use_512_byte_max_transfer;/* [keepref] */
+       uint32_t char_wait;
+       uint32_t collection_time;
+       uint32_t maximum_collection_count;
+       uint32_t keep_connection;
+       uint32_t max_commands;
+       uint32_t session_timeout;
+       uint32_t size_char_buf;
+       uint32_t max_threads;
+       uint32_t lock_quota;
+       uint32_t lock_increment;
+       uint32_t lock_maximum;
+       uint32_t pipe_increment;
+       uint32_t pipe_maximum;
+       uint32_t cache_file_timeout;
+       uint32_t dormant_file_limit;
+       uint32_t read_ahead_throughput;
+       uint32_t num_mailslot_buffers;
+       uint32_t num_srv_announce_buffers;
+       uint32_t max_illegal_dgram_events;
+       uint32_t dgram_event_reset_freq;
+       uint32_t log_election_packets;
+       uint32_t use_opportunistic_locking;
+       uint32_t use_unlock_behind;
+       uint32_t use_close_behind;
+       uint32_t buf_named_pipes;
+       uint32_t use_lock_read_unlock;
+       uint32_t utilize_nt_caching;
+       uint32_t use_raw_read;
+       uint32_t use_raw_write;
+       uint32_t use_write_raw_data;
+       uint32_t use_encryption;
+       uint32_t buf_files_deny_write;
+       uint32_t buf_read_only_files;
+       uint32_t force_core_create_mode;
+       uint32_t use_512_byte_max_transfer;
 };
 
 struct wkssvc_NetWkstaInfo1010 {
-       uint32_t char_wait;/* [keepref] */
+       uint32_t char_wait;
 };
 
 struct wkssvc_NetWkstaInfo1011 {
-       uint32_t collection_time;/* [keepref] */
+       uint32_t collection_time;
 };
 
 struct wkssvc_NetWkstaInfo1012 {
-       uint32_t maximum_collection_count;/* [keepref] */
+       uint32_t maximum_collection_count;
 };
 
 struct wkssvc_NetWkstaInfo1013 {
-       uint32_t keep_connection;/* [keepref] */
+       uint32_t keep_connection;
 };
 
 struct wkssvc_NetWkstaInfo1018 {
-       uint32_t session_timeout;/* [keepref] */
+       uint32_t session_timeout;
 };
 
 struct wkssvc_NetWkstaInfo1023 {
-       uint32_t size_char_buf;/* [keepref] */
+       uint32_t size_char_buf;
 };
 
 struct wkssvc_NetWkstaInfo1027 {
-       uint32_t errorlog_sz;/* [keepref] */
+       uint32_t errorlog_sz;
 };
 
 struct wkssvc_NetWkstaInfo1033 {
-       uint32_t max_threads;/* [keepref] */
+       uint32_t max_threads;
 };
 
 union wkssvc_NetWkstaInfo {
-       struct wkssvc_NetWkstaInfo100 *info100;/* [unique,keepref,case(100)] */
-       struct wkssvc_NetWkstaInfo101 *info101;/* [unique,keepref,case(101)] */
-       struct wkssvc_NetWkstaInfo102 *info102;/* [unique,keepref,case(102)] */
-       struct wkssvc_NetWkstaInfo502 *info502;/* [unique,keepref,case(502)] */
-       struct wkssvc_NetWkstaInfo1010 *info1010;/* [unique,keepref,case(1010)] */
-       struct wkssvc_NetWkstaInfo1011 *info1011;/* [unique,keepref,case(1011)] */
-       struct wkssvc_NetWkstaInfo1012 *info1012;/* [unique,keepref,case(1012)] */
-       struct wkssvc_NetWkstaInfo1013 *info1013;/* [unique,keepref,case(1013)] */
-       struct wkssvc_NetWkstaInfo1018 *info1018;/* [unique,keepref,case(1018)] */
-       struct wkssvc_NetWkstaInfo1023 *info1023;/* [unique,keepref,case(1023)] */
-       struct wkssvc_NetWkstaInfo1027 *info1027;/* [unique,keepref,case(1027)] */
-       struct wkssvc_NetWkstaInfo1033 *info1033;/* [unique,keepref,case(1033)] */
+       struct wkssvc_NetWkstaInfo100 *info100;/* [unique,case(100)] */
+       struct wkssvc_NetWkstaInfo101 *info101;/* [unique,case(101)] */
+       struct wkssvc_NetWkstaInfo102 *info102;/* [unique,case(102)] */
+       struct wkssvc_NetWkstaInfo502 *info502;/* [unique,case(502)] */
+       struct wkssvc_NetWkstaInfo1010 *info1010;/* [unique,case(1010)] */
+       struct wkssvc_NetWkstaInfo1011 *info1011;/* [unique,case(1011)] */
+       struct wkssvc_NetWkstaInfo1012 *info1012;/* [unique,case(1012)] */
+       struct wkssvc_NetWkstaInfo1013 *info1013;/* [unique,case(1013)] */
+       struct wkssvc_NetWkstaInfo1018 *info1018;/* [unique,case(1018)] */
+       struct wkssvc_NetWkstaInfo1023 *info1023;/* [unique,case(1023)] */
+       struct wkssvc_NetWkstaInfo1027 *info1027;/* [unique,case(1027)] */
+       struct wkssvc_NetWkstaInfo1033 *info1033;/* [unique,case(1033)] */
 };
 
 struct USER_INFO_0 {
-       const char *user;/* [unique,keepref,charset(UTF16)] */
+       const char *user;/* [unique,charset(UTF16)] */
 };
 
 struct USER_INFO_0_CONTAINER {
-       uint32_t entries_read;/* [keepref] */
-       struct USER_INFO_0 *user0;/* [unique,keepref,size_is(entries_read)] */
+       uint32_t entries_read;
+       struct USER_INFO_0 *user0;/* [unique,size_is(entries_read)] */
 };
 
 struct USER_INFO_1 {
-       const char *user_name;/* [unique,keepref,charset(UTF16)] */
-       const char *logon_domain;/* [unique,keepref,charset(UTF16)] */
-       const char *other_domains;/* [unique,keepref,charset(UTF16)] */
-       const char *logon_server;/* [unique,keepref,charset(UTF16)] */
+       const char *user_name;/* [unique,charset(UTF16)] */
+       const char *logon_domain;/* [unique,charset(UTF16)] */
+       const char *other_domains;/* [unique,charset(UTF16)] */
+       const char *logon_server;/* [unique,charset(UTF16)] */
 };
 
 struct USER_INFO_1_CONTAINER {
-       uint32_t entries_read;/* [keepref] */
-       struct USER_INFO_1 *user1;/* [unique,keepref,size_is(entries_read)] */
+       uint32_t entries_read;
+       struct USER_INFO_1 *user1;/* [unique,size_is(entries_read)] */
 };
 
 union WKS_USER_ENUM_UNION {
-       struct USER_INFO_0_CONTAINER *user0;/* [unique,keepref,case(0)] */
-       struct USER_INFO_1_CONTAINER *user1;/* [unique,keepref,case] */
+       struct USER_INFO_0_CONTAINER *user0;/* [unique,case(0)] */
+       struct USER_INFO_1_CONTAINER *user1;/* [unique,case] */
 }/* [switch_type(uint32)] */;
 
 struct wkssvc_NetWkstaTransportInfo0 {
-       uint32_t quality_of_service;/* [keepref] */
-       uint32_t vc_count;/* [keepref] */
-       const char *name;/* [unique,keepref,charset(UTF16)] */
-       const char *address;/* [unique,keepref,charset(UTF16)] */
-       uint32_t wan_link;/* [keepref] */
+       uint32_t quality_of_service;
+       uint32_t vc_count;
+       const char *name;/* [unique,charset(UTF16)] */
+       const char *address;/* [unique,charset(UTF16)] */
+       uint32_t wan_link;
 };
 
 struct wkssvc_NetWkstaTransportCtr0 {
-       uint32_t count;/* [keepref] */
-       struct wkssvc_NetWkstaTransportInfo0 *array;/* [unique,keepref,size_is(count)] */
+       uint32_t count;
+       struct wkssvc_NetWkstaTransportInfo0 *array;/* [unique,size_is(count)] */
 };
 
 union wkssvc_NetWkstaTransportCtr {
-       struct wkssvc_NetWkstaTransportCtr0 *ctr0;/* [unique,keepref,case(0)] */
+       struct wkssvc_NetWkstaTransportCtr0 *ctr0;/* [unique,case(0)] */
 };
 
 struct wkssvc_PasswordBuffer {
-       uint8_t data[524];/* [keepref] */
+       uint8_t data[524];
 };
 
 /* bitmap wkssvc_joinflags */
@@ -179,12 +179,12 @@ struct wkssvc_PasswordBuffer {
 
 struct wkssvc_NetWkstaGetInfo {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               uint32_t level;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               uint32_t level;
        } in;
 
        struct {
-               union wkssvc_NetWkstaInfo *info;/* [keepref,ref,switch_is(level)] */
+               union wkssvc_NetWkstaInfo *info;/* [ref,switch_is(level)] */
                WERROR result;
        } out;
 
@@ -193,14 +193,14 @@ struct wkssvc_NetWkstaGetInfo {
 
 struct wkssvc_NetWkstaSetInfo {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               uint32_t level;/* [keepref] */
-               union wkssvc_NetWkstaInfo *info;/* [keepref,ref,switch_is(level)] */
-               uint32_t *parm_error;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               uint32_t level;
+               union wkssvc_NetWkstaInfo *info;/* [ref,switch_is(level)] */
+               uint32_t *parm_error;/* [ref] */
        } in;
 
        struct {
-               uint32_t *parm_error;/* [keepref,ref] */
+               uint32_t *parm_error;/* [ref] */
                WERROR result;
        } out;
 
@@ -209,18 +209,18 @@ struct wkssvc_NetWkstaSetInfo {
 
 struct wkssvc_NetWkstaEnumUsers {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               uint32_t level;/* [keepref] */
-               union WKS_USER_ENUM_UNION *users;/* [keepref,ref] */
-               uint32_t prefmaxlen;/* [keepref] */
-               uint32_t *resumehandle;/* [keepref,ref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               uint32_t level;
+               union WKS_USER_ENUM_UNION *users;/* [ref] */
+               uint32_t prefmaxlen;
+               uint32_t *resumehandle;/* [ref] */
        } in;
 
        struct {
-               union WKS_USER_ENUM_UNION *users;/* [keepref,ref] */
-               uint32_t *entriesread;/* [unique,keepref] */
-               uint32_t *totalentries;/* [unique,keepref] */
-               uint32_t *resumehandle;/* [keepref,ref] */
+               union WKS_USER_ENUM_UNION *users;/* [ref] */
+               uint32_t *entriesread;/* [unique] */
+               uint32_t *totalentries;/* [unique] */
+               uint32_t *resumehandle;/* [ref] */
                WERROR result;
        } out;
 
@@ -245,18 +245,18 @@ struct WKSSVC_NETRWKSTAUSERSETINFO {
 
 struct wkssvc_NetWkstaTransportEnum {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               uint32_t *level;/* [unique,keepref] */
-               union wkssvc_NetWkstaTransportCtr *ctr;/* [keepref,ref,switch_is(level)] */
-               uint32_t max_buffer;/* [keepref] */
-               uint32_t *resume_handle;/* [unique,keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               uint32_t *level;/* [unique] */
+               union wkssvc_NetWkstaTransportCtr *ctr;/* [ref,switch_is(level)] */
+               uint32_t max_buffer;
+               uint32_t *resume_handle;/* [unique] */
        } in;
 
        struct {
-               uint32_t *level;/* [unique,keepref] */
-               union wkssvc_NetWkstaTransportCtr *ctr;/* [keepref,ref,switch_is(level)] */
-               uint32_t *totalentries;/* [unique,keepref] */
-               uint32_t *resume_handle;/* [unique,keepref] */
+               uint32_t *level;/* [unique] */
+               union wkssvc_NetWkstaTransportCtr *ctr;/* [ref,switch_is(level)] */
+               uint32_t *totalentries;/* [unique] */
+               uint32_t *resume_handle;/* [unique] */
                WERROR result;
        } out;
 
@@ -393,12 +393,12 @@ struct WKSSVC_NETRGETJOINABLEOUS {
 
 struct wkssvc_NetrJoinDomain2 {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *domain_name;/* [keepref,ref,charset(UTF16)] */
-               const char *account_name;/* [unique,keepref,charset(UTF16)] */
-               const char *admin_account;/* [unique,keepref,charset(UTF16)] */
-               struct wkssvc_PasswordBuffer *encrypted_password;/* [unique,keepref] */
-               uint32_t join_flags;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *domain_name;/* [ref,charset(UTF16)] */
+               const char *account_name;/* [unique,charset(UTF16)] */
+               const char *admin_account;/* [unique,charset(UTF16)] */
+               struct wkssvc_PasswordBuffer *encrypted_password;/* [unique] */
+               uint32_t join_flags;
        } in;
 
        struct {
@@ -410,10 +410,10 @@ struct wkssvc_NetrJoinDomain2 {
 
 struct wkssvc_NetrUnjoinDomain2 {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *account;/* [unique,keepref,charset(UTF16)] */
-               struct wkssvc_PasswordBuffer *encrypted_password;/* [unique,keepref] */
-               uint32_t unjoin_flags;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *account;/* [unique,charset(UTF16)] */
+               struct wkssvc_PasswordBuffer *encrypted_password;/* [unique] */
+               uint32_t unjoin_flags;
        } in;
 
        struct {
@@ -425,11 +425,11 @@ struct wkssvc_NetrUnjoinDomain2 {
 
 struct wkssvc_NetrRenameMachineInDomain2 {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *NewMachineName;/* [unique,keepref,charset(UTF16)] */
-               const char *Account;/* [unique,keepref,charset(UTF16)] */
-               struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique,keepref] */
-               uint32_t RenameOptions;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *NewMachineName;/* [unique,charset(UTF16)] */
+               const char *Account;/* [unique,charset(UTF16)] */
+               struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
+               uint32_t RenameOptions;
        } in;
 
        struct {
@@ -457,11 +457,11 @@ struct WKSSVC_NETRGETJOINABLEOUS2 {
 
 struct wkssvc_NetrAddAlternateComputerName {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *NewAlternateMachineName;/* [unique,keepref,charset(UTF16)] */
-               const char *Account;/* [unique,keepref,charset(UTF16)] */
-               struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique,keepref] */
-               uint32_t Reserved;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *NewAlternateMachineName;/* [unique,charset(UTF16)] */
+               const char *Account;/* [unique,charset(UTF16)] */
+               struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
+               uint32_t Reserved;
        } in;
 
        struct {
@@ -473,11 +473,11 @@ struct wkssvc_NetrAddAlternateComputerName {
 
 struct wkssvc_NetrRemoveAlternateComputerName {
        struct {
-               const char *server_name;/* [unique,keepref,charset(UTF16)] */
-               const char *AlternateMachineNameToRemove;/* [unique,keepref,charset(UTF16)] */
-               const char *Account;/* [unique,keepref,charset(UTF16)] */
-               struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique,keepref] */
-               uint32_t Reserved;/* [keepref] */
+               const char *server_name;/* [unique,charset(UTF16)] */
+               const char *AlternateMachineNameToRemove;/* [unique,charset(UTF16)] */
+               const char *Account;/* [unique,charset(UTF16)] */
+               struct wkssvc_PasswordBuffer *EncryptedPassword;/* [unique] */
+               uint32_t Reserved;
        } in;
 
        struct {