]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
r18187: Replace copy of idl files with a svn:externals link.
authorGerald Carter <jerry@samba.org>
Wed, 6 Sep 2006 18:13:16 +0000 (18:13 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:43:56 +0000 (11:43 -0500)
Will fix the build_idl.sh script to only process the files
we are concerned with in this branch.
(This used to be commit 647ed21b098e8fe6513040de7a540fe77fa0b37e)

15 files changed:
source3/librpc/idl/echo.idl [deleted file]
source3/librpc/idl/eventlog.idl [deleted file]
source3/librpc/idl/initshutdown.idl [deleted file]
source3/librpc/idl/lsa.idl [deleted file]
source3/librpc/idl/misc.idl [deleted file]
source3/librpc/idl/netlogon.idl [deleted file]
source3/librpc/idl/ntsvcs.idl [deleted file]
source3/librpc/idl/samr.idl [deleted file]
source3/librpc/idl/security.idl [deleted file]
source3/librpc/idl/spoolss.idl [deleted file]
source3/librpc/idl/srvsvc.idl [deleted file]
source3/librpc/idl/svcctl.idl [deleted file]
source3/librpc/idl/unixinfo.idl [deleted file]
source3/librpc/idl/winreg.idl [deleted file]
source3/librpc/idl/wkssvc.idl [deleted file]

diff --git a/source3/librpc/idl/echo.idl b/source3/librpc/idl/echo.idl
deleted file mode 100644 (file)
index cda2968..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-
-[
-  uuid("60a15ec5-4de8-11d7-a637-005056a20182"),
-  endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:", "ncalrpc:"),
-  pointer_default(unique),
-  version(1.0),
-  helpstring("Simple echo pipe"),
-  keepref
-]
-interface rpcecho
-{
-       /* Add one to an integer */
-       void echo_AddOne(
-               [in] uint32 in_data,
-               [out] uint32 *out_data
-       );
-       /* Echo an array of bytes back at the caller */
-       void echo_EchoData(
-               [in] uint32 len,
-               [in] [size_is(len)] uint8 in_data[],
-               [out] [size_is(len)] uint8 out_data[]
-       );
-       /* Sink data to the server */
-       void echo_SinkData(
-               [in] uint32 len,
-               [in,size_is(len)] uint8 data[]
-       );
-       /* Source data from server */
-       void echo_SourceData(
-               [in] uint32 len,
-               [out,size_is(len)] uint8 data[]
-       );
-
-       /* test strings */
-       void echo_TestCall (
-               [in,string,charset(UTF16)]       uint16 *s1,
-               [out,string,charset(UTF16)]      uint16 *s2
-               );
-
-
-       /* test some alignment issues */
-       typedef struct {
-               uint8 v;
-       } echo_info1;
-
-       typedef struct {
-               uint16 v;
-       } echo_info2;
-
-       typedef struct {
-               uint32 v;
-       } echo_info3;
-
-       typedef struct {
-               hyper v;
-       } echo_info4;
-
-       typedef struct {
-               uint8 v1;
-               hyper v2;
-       } echo_info5;
-
-       typedef struct {
-               uint8 v1;
-               echo_info1 info1;
-       } echo_info6;
-
-       typedef struct {
-               uint8 v1;
-               echo_info4 info4;
-       } echo_info7;
-
-       typedef [switch_type(uint16)] union {
-               [case(1)]  echo_info1 info1;
-               [case(2)]  echo_info2 info2;
-               [case(3)]  echo_info3 info3;
-               [case(4)]  echo_info4 info4;
-               [case(5)]  echo_info5 info5;
-               [case(6)]  echo_info6 info6;
-               [case(7)]  echo_info7 info7;
-       } echo_Info;
-
-       NTSTATUS echo_TestCall2 (
-                    [in]                    uint16 level,
-                    [out,switch_is(level)]  echo_Info *info
-               );
-
-       uint32 echo_TestSleep(
-               [in] uint32 seconds
-               );
-
-       typedef enum {
-               ECHO_ENUM1 = 1,
-               ECHO_ENUM2 = 2
-       } echo_Enum1;
-
-       typedef [v1_enum] enum {
-               ECHO_ENUM1_32 = 1,
-               ECHO_ENUM2_32 = 2
-       } echo_Enum1_32;
-
-       typedef struct {
-               echo_Enum1 e1;
-               echo_Enum1_32 e2;
-       } echo_Enum2;
-
-       typedef [switch_type(uint16)] union {
-               [case(ECHO_ENUM1)] echo_Enum1 e1;
-               [case(ECHO_ENUM2)] echo_Enum2 e2;
-       } echo_Enum3;
-
-       void echo_TestEnum(
-               [in,out,ref] echo_Enum1 *foo1,
-               [in,out,ref] echo_Enum2 *foo2,
-               [in,out,ref,switch_is(*foo1)] echo_Enum3 *foo3
-               );
-
-       typedef struct {
-               uint32 x;
-               [size_is(x)] uint16 surrounding[*];
-       } echo_Surrounding;
-
-       void echo_TestSurrounding(
-               [in,out,ref] echo_Surrounding *data
-       );
-
-       uint16 echo_TestDoublePointer([in] uint16 ***data);
-}
diff --git a/source3/librpc/idl/eventlog.idl b/source3/librpc/idl/eventlog.idl
deleted file mode 100644 (file)
index c8a146b..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-#include "idl_types.h"
-
-/*
-  eventlog interface definition
-*/
-[ uuid("82273fdc-e32a-18c3-3f78-827929dc23ea"),
-  version(0.0),
-  depends(lsa,security),
-  pointer_default(unique),
-  helpstring("Event Logger"),
-  keepref
-] interface eventlog
-{
-       typedef bitmap {
-               EVENTLOG_SEQUENTIAL_READ = 0x0001,
-               EVENTLOG_SEEK_READ       = 0x0002,
-               EVENTLOG_FORWARDS_READ   = 0x0004,
-               EVENTLOG_BACKWARDS_READ  = 0x0008
-       } eventlogReadFlags;
-
-       typedef bitmap {
-               EVENTLOG_SUCCESS          = 0x0000,
-               EVENTLOG_ERROR_TYPE       = 0x0001,
-               EVENTLOG_WARNING_TYPE     = 0x0002,
-               EVENTLOG_INFORMATION_TYPE = 0x0004,
-               EVENTLOG_AUDIT_SUCCESS    = 0x0008,
-               EVENTLOG_AUDIT_FAILURE    = 0x0010
-       } eventlogEventTypes;
-
-       typedef struct {
-               uint16 unknown0;
-               uint16 unknown1;
-       } eventlog_OpenUnknown0;
-       
-       typedef [public] struct { 
-               uint32 size;
-               uint32 reserved;
-               uint32 record_number;
-               uint32 time_generated;
-               uint32 time_written;
-               uint32 event_id;
-               uint16 event_type;
-               uint16 num_of_strings;
-               uint16 event_category;
-               uint16 reserved_flags;
-               uint32 closing_record_number;
-               uint32 stringoffset;
-               uint32 sid_length;
-               uint32 sid_offset;
-               uint32 data_length;
-               uint32 data_offset;
-               nstring source_name;
-               nstring computer_name;
-               nstring strings[num_of_strings];
-               astring raw_data;
-       } eventlog_Record;
-
-       /******************/
-       /* Function: 0x00 */
-       NTSTATUS eventlog_ClearEventLogW(
-               [in] policy_handle *handle,
-               [in,unique] lsa_String *unknown
-       );
-
-       /******************/
-       /* Function: 0x01 */
-       NTSTATUS eventlog_BackupEventLogW();
-       
-       /******************/
-       /* Function: 0x02 */
-       NTSTATUS eventlog_CloseEventLog(
-               [in,out] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x03 */
-       NTSTATUS eventlog_DeregisterEventSource();
-
-       /******************/
-       /* Function: 0x04 */
-       NTSTATUS eventlog_GetNumRecords(
-               [in] policy_handle *handle,
-               [out] uint32 number
-       );
-
-       /******************/
-       /* Function: 0x05 */
-       NTSTATUS eventlog_GetOldestRecord();
-
-       /******************/
-       /* Function: 0x06 */
-       NTSTATUS eventlog_ChangeNotify();
-
-       /******************/
-       /* Function: 0x07 */
-       NTSTATUS eventlog_OpenEventLogW(
-               [in,unique]         eventlog_OpenUnknown0 *unknown0,
-               [in]        lsa_String logname,
-               [in]        lsa_String servername,
-               [in]        uint32 unknown2,
-               [in]        uint32 unknown3,
-               [out]   policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x08 */
-       NTSTATUS eventlog_RegisterEventSourceW();
-
-       /******************/
-       /* Function: 0x09 */
-       NTSTATUS eventlog_OpenBackupEventLogW();
-
-       /******************/
-       /* Function: 0x0a */
-       NTSTATUS eventlog_ReadEventLogW(
-               [in] policy_handle *handle,
-               [in] uint32 flags,
-               [in] uint32 offset,
-               [in] uint32 number_of_bytes,
-               [out,size_is(number_of_bytes)] uint8 *data,
-               [out] uint32 sent_size,
-               [out] uint32 real_size
-       );
-
-       /*****************/
-       /* Function 0x0b */
-       NTSTATUS eventlog_ReportEventW();
-
-       /*****************/
-       /* Function 0x0c */
-       NTSTATUS eventlog_ClearEventLogA();
-       
-       /******************/
-       /* Function: 0x0d */
-       NTSTATUS eventlog_BackupEventLogA();
-
-       /*****************/
-       /* Function 0x0e */
-       NTSTATUS eventlog_OpenEventLogA();
-
-       /*****************/
-       /* Function 0x0f */
-       NTSTATUS eventlog_RegisterEventSourceA();
-
-       /*****************/
-       /* Function 0x10 */
-       NTSTATUS eventlog_OpenBackupEventLogA();
-
-       /*****************/
-       /* Function 0x11 */
-       NTSTATUS eventlog_ReadEventLogA();
-
-       /*****************/
-       /* Function 0x12 */
-       NTSTATUS eventlog_ReportEventA();
-
-       /*****************/
-       /* Function 0x13 */
-       NTSTATUS eventlog_RegisterClusterSvc();
-
-       /*****************/
-       /* Function 0x14 */
-       NTSTATUS eventlog_DeregisterClusterSvc();
-
-       /*****************/
-       /* Function 0x15 */
-       NTSTATUS eventlog_WriteClusterEvents();
-
-       /*****************/
-       /* Function 0x16 */
-       NTSTATUS eventlog_GetLogIntormation();
-
-       /*****************/
-       /* Function 0x17 */
-       NTSTATUS eventlog_FlushEventLog(
-               [in] policy_handle *handle
-       );      
-}
diff --git a/source3/librpc/idl/initshutdown.idl b/source3/librpc/idl/initshutdown.idl
deleted file mode 100644 (file)
index 8555ed0..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-#include "idl_types.h"
-
-/*
-  initshutdown interface definition
-*/
-
-[ 
-  uuid("894de0c0-0d55-11d3-a322-00c04fa321a1"),
-  version(1.0),
-  endpoint("ncacn_np:[\\pipe\\InitShutdown]"),
-  pointer_default(unique),
-  helpstring("Init shutdown service"),
-  keepref
-] interface initshutdown
-{
-       typedef struct {
-               [value(strlen_m_term(name))] uint32 name_size;
-               [flag(STR_LEN4|STR_NOTERM)] string name;
-       } initshutdown_String_sub;
-
-       typedef [public] struct {
-               [value(strlen_m(r->name->name)*2)] uint16 name_len;
-               [value(strlen_m_term(r->name->name)*2)] uint16 name_size;
-               initshutdown_String_sub *name;
-       } initshutdown_String;
-
-       WERROR initshutdown_Init(
-               [in,unique] uint16 *hostname,
-               [in,unique] initshutdown_String *message,
-               [in] uint32 timeout,
-               [in] uint8 force_apps,
-               [in] uint8 reboot
-       );
-
-       WERROR initshutdown_Abort(
-               [in,unique] uint16 *server
-       );
-
-       WERROR initshutdown_InitEx(
-               [in,unique] uint16 *hostname,
-               [in,unique] initshutdown_String *message,
-               [in] uint32 timeout,
-               [in] uint8 force_apps,
-               [in] uint8 reboot,
-               [in] uint32 reason
-       );
-}
diff --git a/source3/librpc/idl/lsa.idl b/source3/librpc/idl/lsa.idl
deleted file mode 100644 (file)
index db627ba..0000000
+++ /dev/null
@@ -1,975 +0,0 @@
-#include "idl_types.h"
-
-/*
-  lsa interface definition
-*/
-
-[ uuid("12345778-1234-abcd-ef00-0123456789ab"),
-  version(0.0),
-  endpoint("ncacn_np:[\\pipe\\lsarpc]","ncacn_np:[\\pipe\\netlogon]","ncacn_np:[\\pipe\\lsass]", "ncacn_ip_tcp:", "ncalrpc:"),
-  pointer_default(unique),
-  helpstring("Local Security Authority"),
-  depends(security),
-  keepref
-] interface lsarpc
-{
-       declare bitmap security_secinfo;
-
-       typedef [public,noejs] struct {
-               [value(2*strlen_m(string))] uint16 length;
-               [value(2*strlen_m(string))] uint16 size;
-               [charset(UTF16),size_is(size/2),length_is(length/2)] uint16 *string;
-       } lsa_String;
-
-       typedef [public] struct {
-               [value(2*strlen_m(string))] uint16 length;
-               [value(2*(strlen_m(string)+1))] uint16 size;
-               [charset(UTF16),size_is(size/2),length_is(length/2)] uint16 *string;
-       } lsa_StringLarge;
-
-       typedef [public] struct {
-               uint32 count;
-               [size_is(count)] lsa_String *names;
-       } lsa_Strings;
-
-       typedef [public] struct {
-               [value(strlen_m(string))] uint16 length;
-               [value(strlen_m(string))] uint16 size;
-               ascstr_noterm *string;
-       } lsa_AsciiString;
-
-       /******************/
-       /* Function: 0x00 */
-       NTSTATUS lsa_Close (
-               [in,out]     policy_handle *handle
-               );
-       
-
-       /******************/
-       /* Function: 0x01 */
-       NTSTATUS lsa_Delete (
-               [in]     policy_handle *handle
-               );
-
-
-       /******************/
-       /* Function: 0x02 */
-       typedef struct {
-               uint32 low;
-               uint32 high;
-       } lsa_LUID;
-       
-       typedef struct {
-               lsa_StringLarge name;
-               lsa_LUID luid;
-       } lsa_PrivEntry;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] lsa_PrivEntry *privs;
-       } lsa_PrivArray;
-
-       NTSTATUS lsa_EnumPrivs (
-               [in]     policy_handle *handle,
-               [in,out] uint32 *resume_handle,
-               [in]         uint32 max_count,
-               [out]    lsa_PrivArray *privs
-               );
-
-       /******************/
-       /* Function: 0x03 */
-
-       NTSTATUS lsa_QuerySecurity (
-               [in]     policy_handle *handle,
-               [in]         security_secinfo sec_info,
-               [out,unique]        sec_desc_buf *sdbuf
-               );
-
-
-       /******************/
-       /* Function: 0x04 */
-       NTSTATUS lsa_SetSecObj ();
-
-
-       /******************/
-       /* Function: 0x05 */
-       NTSTATUS lsa_ChangePassword ();
-
-
-       /******************/
-       /* Function: 0x06 */
-       typedef struct {
-               uint32  len; /* ignored */
-               uint16  impersonation_level;
-               uint8   context_mode;
-               uint8   effective_only;
-       } lsa_QosInfo;
-       
-       typedef struct {
-               uint32 len; /* ignored */
-               uint8 *root_dir;
-               [string,charset(UTF16)] uint16 *object_name;
-               uint32 attributes;
-               security_descriptor *sec_desc;
-               lsa_QosInfo *sec_qos;
-       } lsa_ObjectAttribute;
-
-       /* notice the screwup with the system_name - thats why MS created
-          OpenPolicy2 */
-       NTSTATUS lsa_OpenPolicy (
-               [in,unique]       uint16 *system_name,
-               [in]   lsa_ObjectAttribute *attr,
-               [in]       uint32 access_mask,
-               [out]  policy_handle *handle
-               );
-       
-
-
-       /******************/
-       /* Function: 0x07 */
-
-       typedef struct {
-               uint32 percent_full;
-               uint32 log_size;
-               NTTIME retention_time;
-               uint8  shutdown_in_progress;
-               NTTIME time_to_shutdown;
-               uint32 next_audit_record;
-               uint32 unknown;
-       } lsa_AuditLogInfo;
-
-       typedef struct {
-               uint32 auditing_mode;
-               [size_is(count)] uint32 *settings;
-               uint32 count;
-       } lsa_AuditEventsInfo;
-
-       typedef struct {
-               lsa_StringLarge name;
-               dom_sid2 *sid;
-       } lsa_DomainInfo;
-
-       typedef struct {
-               lsa_String name;
-       } lsa_PDAccountInfo;
-
-       typedef struct {
-               uint16 unknown; /* an midl padding bug? */
-               uint16 role;
-       } lsa_ServerRole;
-
-       typedef struct {
-               lsa_String source;
-               lsa_String account;
-       } lsa_ReplicaSourceInfo;
-
-       typedef struct {
-               uint32 paged_pool;
-               uint32 non_paged_pool;
-               uint32 min_wss;
-               uint32 max_wss;
-               uint32 pagefile;
-               hyper unknown;
-       } lsa_DefaultQuotaInfo;
-
-       typedef struct {
-               hyper modified_id;
-               NTTIME db_create_time;
-       } lsa_ModificationInfo;
-
-       typedef struct {
-               uint8 shutdown_on_full;
-       } lsa_AuditFullSetInfo;
-
-       typedef struct {
-               uint16 unknown; /* an midl padding bug? */
-               uint8 shutdown_on_full;
-               uint8 log_is_full;
-       } lsa_AuditFullQueryInfo;
-
-       typedef struct {
-               /* it's important that we use the lsa_StringLarge here,
-                * because otherwise windows clients result with such dns hostnames
-                * e.g. w2k3-client.samba4.samba.orgsamba4.samba.org
-                * where it should be
-                *      w2k3-client.samba4.samba.org
-                */
-               lsa_StringLarge name;
-               lsa_StringLarge dns_domain;
-               lsa_StringLarge dns_forest;
-               GUID domain_guid;
-               dom_sid2 *sid;
-       } lsa_DnsDomainInfo;
-
-       typedef enum {
-               LSA_POLICY_INFO_AUDIT_LOG=1,
-               LSA_POLICY_INFO_AUDIT_EVENTS=2,
-               LSA_POLICY_INFO_DOMAIN=3,
-               LSA_POLICY_INFO_PD=4,
-               LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
-               LSA_POLICY_INFO_ROLE=6,
-               LSA_POLICY_INFO_REPLICA=7,
-               LSA_POLICY_INFO_QUOTA=8,
-               LSA_POLICY_INFO_DB=9,
-               LSA_POLICY_INFO_AUDIT_FULL_SET=10,
-               LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
-               LSA_POLICY_INFO_DNS=12
-       } lsaPolicyInfo;
-
-       typedef [switch_type(uint16)] union {
-               [case(LSA_POLICY_INFO_AUDIT_LOG)]        lsa_AuditLogInfo       audit_log;
-               [case(LSA_POLICY_INFO_AUDIT_EVENTS)]     lsa_AuditEventsInfo    audit_events;
-               [case(LSA_POLICY_INFO_DOMAIN)]           lsa_DomainInfo         domain;
-               [case(LSA_POLICY_INFO_PD)]               lsa_PDAccountInfo      pd;
-               [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)]   lsa_DomainInfo         account_domain;
-               [case(LSA_POLICY_INFO_ROLE)]             lsa_ServerRole         role;
-               [case(LSA_POLICY_INFO_REPLICA)]          lsa_ReplicaSourceInfo  replica;
-               [case(LSA_POLICY_INFO_QUOTA)]            lsa_DefaultQuotaInfo   quota;
-               [case(LSA_POLICY_INFO_DB)]               lsa_ModificationInfo   db;
-               [case(LSA_POLICY_INFO_AUDIT_FULL_SET)]   lsa_AuditFullSetInfo   auditfullset;
-               [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] lsa_AuditFullQueryInfo auditfullquery;
-               [case(LSA_POLICY_INFO_DNS)]              lsa_DnsDomainInfo      dns;
-       } lsa_PolicyInformation;
-
-       NTSTATUS lsa_QueryInfoPolicy (
-               [in]                            policy_handle *handle,
-               [in]                            uint16 level,
-               [out,unique,switch_is(level)]   lsa_PolicyInformation *info
-               );
-
-       /******************/
-       /* Function:       0x08 */
-       NTSTATUS lsa_SetInfoPolicy ();
-
-       /******************/
-       /* Function:       0x09 */
-       NTSTATUS lsa_ClearAuditLog ();
-
-       /******************/
-       /* Function: 0x0a */
-       NTSTATUS lsa_CreateAccount (
-               [in]    policy_handle *handle,
-               [in]    dom_sid2 *sid,
-               [in]    uint32 access_mask,
-               [out]   policy_handle *acct_handle
-               );
-
-       /******************/
-       /* NOTE: This only returns accounts that have at least
-          one privilege set 
-       */
-       /* Function: 0x0b */
-       typedef struct {
-               dom_sid2 *sid;
-       } lsa_SidPtr;
-       
-       typedef [public] struct {
-               [range(0,1000)] uint32 num_sids;
-               [size_is(num_sids)] lsa_SidPtr *sids;
-       } lsa_SidArray;
-
-       NTSTATUS lsa_EnumAccounts (
-               [in]         policy_handle *handle,
-               [in,out]     uint32 *resume_handle,
-               [in,range(0,8192)] uint32 num_entries,
-               [out]        lsa_SidArray *sids
-               );
-
-
-       /*************************************************/
-       /* Function: 0x0c                                */
-
-       NTSTATUS lsa_CreateTrustedDomain(
-               [in]         policy_handle *handle,
-               [in]         lsa_DomainInfo *info,
-               [in]         uint32 access_mask,
-               [out]        policy_handle *trustdom_handle
-               );
-
-
-       /******************/
-       /* Function: 0x0d */
-
-       /* w2k3 treats max_size as max_domains*60       */
-       const int LSA_ENUM_TRUST_DOMAIN_MULTIPLIER = 60;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] lsa_DomainInfo *domains;
-       } lsa_DomainList;
-
-       NTSTATUS lsa_EnumTrustDom (
-               [in]               policy_handle *handle,
-               [in,out]           uint32 *resume_handle,
-               [in,range(0,1000)] uint32 max_size,
-               [out]              lsa_DomainList *domains
-               );
-
-
-       /******************/
-       /* Function: 0x0e */
-       typedef enum {
-               SID_NAME_USE_NONE = 0,/* NOTUSED */
-               SID_NAME_USER     = 1, /* user */
-               SID_NAME_DOM_GRP  = 2, /* domain group */
-               SID_NAME_DOMAIN   = 3, /* domain: don't know what this is */
-               SID_NAME_ALIAS    = 4, /* local group */
-               SID_NAME_WKN_GRP  = 5, /* well-known group */
-               SID_NAME_DELETED  = 6, /* deleted account: needed for c2 rating */
-               SID_NAME_INVALID  = 7, /* invalid account */
-               SID_NAME_UNKNOWN  = 8  /* oops. */
-       } lsa_SidType;
-
-       typedef struct {
-               lsa_SidType sid_type;
-               uint32 rid;
-               uint32 sid_index;
-       } lsa_TranslatedSid;
-
-       typedef struct {
-               [range(0,1000)] uint32 count;
-               [size_is(count)] lsa_TranslatedSid *sids;
-       } lsa_TransSidArray;
-
-       const int LSA_REF_DOMAIN_LIST_MULTIPLIER = 32;
-       typedef struct {
-               [range(0,1000)] uint32 count;
-               [size_is(count)] lsa_DomainInfo *domains;
-               uint32 max_size;
-       } lsa_RefDomainList;
-
-       NTSTATUS lsa_LookupNames (
-               [in]         policy_handle *handle,
-               [in,range(0,1000)] uint32 num_names,
-               [in,size_is(num_names)]  lsa_String names[],
-               [out,unique] lsa_RefDomainList *domains,
-               [in,out]     lsa_TransSidArray *sids,
-               [in]         uint16 level,
-               [in,out]     uint32 *count
-               );
-
-
-       /******************/
-       /* Function: 0x0f */
-
-       typedef struct {
-               lsa_SidType sid_type;
-               lsa_String name;
-               uint32 sid_index;
-       } lsa_TranslatedName;
-
-       typedef struct {
-               [range(0,1000)] uint32 count;
-               [size_is(count)] lsa_TranslatedName *names;
-       } lsa_TransNameArray;
-
-       NTSTATUS lsa_LookupSids (
-               [in]         policy_handle *handle,
-               [in]         lsa_SidArray *sids,
-               [out,unique]        lsa_RefDomainList *domains,
-               [in,out]     lsa_TransNameArray *names,
-               [in]         uint16 level,
-               [in,out] uint32 *count
-               );
-
-
-       /* Function:        0x10 */
-       NTSTATUS lsa_CreateSecret(
-               [in]         policy_handle *handle,
-               [in]         lsa_String       name,
-               [in]         uint32         access_mask,
-               [out]        policy_handle *sec_handle
-               );
-
-
-       /*****************************************/
-       /* Function:     0x11                    */
-       NTSTATUS lsa_OpenAccount (
-               [in]         policy_handle *handle,
-               [in]         dom_sid2 *sid,
-               [in]         uint32 access_mask,
-               [out]        policy_handle *acct_handle
-               );
-
-
-       /****************************************/
-       /* Function:    0x12                    */
-
-       typedef struct {
-               lsa_LUID luid;
-               uint32 attribute;
-       } lsa_LUIDAttribute;
-       
-       typedef struct {
-               [range(0,1000)] uint32 count;
-               uint32 unknown;
-               [size_is(count)] lsa_LUIDAttribute set[*];
-       } lsa_PrivilegeSet;
-       
-       NTSTATUS lsa_EnumPrivsAccount (
-               [in]         policy_handle *handle,
-               [out,unique] lsa_PrivilegeSet *privs
-               );
-
-
-       /****************************************/
-       /* Function:            0x13 */
-       NTSTATUS lsa_AddPrivilegesToAccount(
-               [in]         policy_handle *handle,
-               [in]         lsa_PrivilegeSet *privs
-               );
-       
-
-       /****************************************/
-       /* Function:         0x14 */
-       NTSTATUS lsa_RemovePrivilegesFromAccount(
-               [in]         policy_handle *handle,
-               [in]         uint8 remove_all,
-               [in,unique]  lsa_PrivilegeSet *privs
-               );
-
-       /* Function:           0x15 */
-       NTSTATUS lsa_GetQuotasForAccount();
-       
-       /* Function:           0x16 */
-       NTSTATUS lsa_SetQuotasForAccount();
-       
-       /* Function:    0x17 */
-       NTSTATUS lsa_GetSystemAccessAccount();
-       /* Function:    0x18 */
-       NTSTATUS lsa_SetSystemAccessAccount();
-
-       /* Function:        0x19 */
-       NTSTATUS lsa_OpenTrustedDomain(
-               [in]     policy_handle *handle,
-               [in]     dom_sid2      *sid,
-               [in]         uint32         access_mask,
-               [out]    policy_handle *trustdom_handle
-               );
-
-       typedef [flag(NDR_PAHEX)] struct {
-               uint32 length;
-               uint32 size;
-               [size_is(size),length_is(length)] uint8 *data;
-       } lsa_DATA_BUF;
-
-       typedef [flag(NDR_PAHEX)] struct {
-               [range(0,65536)] uint32 size;
-               [size_is(size)] uint8 *data;
-       } lsa_DATA_BUF2;
-
-       typedef enum {
-               LSA_TRUSTED_DOMAIN_INFO_NAME             = 1,
-               LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO = 2,
-               LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET     = 3,
-               LSA_TRUSTED_DOMAIN_INFO_PASSWORD         = 4,
-               LSA_TRUSTED_DOMAIN_INFO_BASIC            = 5,
-               LSA_TRUSTED_DOMAIN_INFO_INFO_EX          = 6,
-               LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO        = 7,
-               LSA_TRUSTED_DOMAIN_INFO_FULL_INFO        = 8,
-               LSA_TRUSTED_DOMAIN_INFO_11               = 11,
-               LSA_TRUSTED_DOMAIN_INFO_INFO_ALL         = 12
-       } lsa_TrustDomInfoEnum;
-
-       typedef struct {
-               lsa_StringLarge  netbios_name;
-       } lsa_TrustDomainInfoName;
-
-       typedef struct {
-               uint32         posix_offset;
-       } lsa_TrustDomainInfoPosixOffset;
-
-       typedef struct {
-               lsa_DATA_BUF  *password;
-               lsa_DATA_BUF  *old_password;
-       } lsa_TrustDomainInfoPassword;
-
-       typedef struct {
-               lsa_String     netbios_name;
-               dom_sid2      *sid;
-       } lsa_TrustDomainInfoBasic;
-
-       typedef struct {
-               lsa_StringLarge     domain_name;
-               lsa_StringLarge     netbios_name;
-               dom_sid2      *sid;
-               uint32         trust_direction;
-               uint32         trust_type;
-               uint32         trust_attributes;
-       } lsa_TrustDomainInfoInfoEx;
-
-       typedef struct {
-               NTTIME_hyper   last_update_time;
-               uint32         secret_type;
-               lsa_DATA_BUF2  data;
-       } lsa_TrustDomainInfoBuffer;
-
-       typedef struct {
-               uint32 incoming_count;
-               lsa_TrustDomainInfoBuffer *incoming_current_auth_info;
-               lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;
-               uint32 outgoing_count;
-               lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;
-               lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;
-       } lsa_TrustDomainInfoAuthInfo;
-
-       typedef struct {
-               lsa_TrustDomainInfoInfoEx      info_ex;
-               lsa_TrustDomainInfoPosixOffset posix_offset;
-               lsa_TrustDomainInfoAuthInfo    auth_info;
-       } lsa_TrustDomainInfoFullInfo;
-
-       typedef struct {
-               lsa_TrustDomainInfoInfoEx      info_ex;
-               lsa_DATA_BUF2                  data1;
-       } lsa_TrustDomainInfo11;
-
-       typedef struct {
-               lsa_TrustDomainInfoInfoEx      info_ex;
-               lsa_DATA_BUF2                  data1;
-               lsa_TrustDomainInfoPosixOffset posix_offset;
-               lsa_TrustDomainInfoAuthInfo    auth_info;
-       } lsa_TrustDomainInfoInfoAll;
-
-       typedef [switch_type(lsa_TrustDomInfoEnum)] union {
-               [case(LSA_TRUSTED_DOMAIN_INFO_NAME)]         lsa_TrustDomainInfoName        name;
-               [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] lsa_TrustDomainInfoPosixOffset posix_offset;
-               [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)]     lsa_TrustDomainInfoPassword    password;
-               [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)]        lsa_TrustDomainInfoBasic       info_basic;
-               [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)]      lsa_TrustDomainInfoInfoEx      info_ex;
-               [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)]    lsa_TrustDomainInfoAuthInfo    auth_info;
-               [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)]    lsa_TrustDomainInfoFullInfo    full_info;
-               [case(LSA_TRUSTED_DOMAIN_INFO_11)]           lsa_TrustDomainInfo11          info11;
-               [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)]     lsa_TrustDomainInfoInfoAll     info_all;
-       } lsa_TrustedDomainInfo;
-
-       /* Function:       0x1a */
-       NTSTATUS lsa_QueryTrustedDomainInfo(
-               [in]     policy_handle                   *trustdom_handle,
-               [in]     lsa_TrustDomInfoEnum             level, 
-               [out,switch_is(level),unique] lsa_TrustedDomainInfo *info
-               );
-
-       /* Function:     0x1b */
-       NTSTATUS lsa_SetInformationTrustedDomain();
-
-       /* Function:          0x1c */
-       NTSTATUS lsa_OpenSecret(
-               [in]     policy_handle    *handle,
-               [in]         lsa_String        name,
-               [in]         uint32            access_mask,
-               [out]    policy_handle    *sec_handle
-               );
-
-       /* Function:           0x1d */
-
-       NTSTATUS lsa_SetSecret(
-               [in]     policy_handle    *sec_handle,
-               [in,unique]         lsa_DATA_BUF     *new_val,
-               [in,unique]         lsa_DATA_BUF     *old_val
-               );
-
-       typedef struct {
-               lsa_DATA_BUF *buf;
-       } lsa_DATA_BUF_PTR;
-
-       /* Function:         0x1e */
-       NTSTATUS lsa_QuerySecret (
-               [in]     policy_handle     *sec_handle,
-               [in,out,unique]     lsa_DATA_BUF_PTR  *new_val,
-               [in,out,unique]     NTTIME_hyper      *new_mtime,
-               [in,out,unique]     lsa_DATA_BUF_PTR  *old_val,
-               [in,out,unique]     NTTIME_hyper      *old_mtime
-               );
-
-       /* Function:     0x1f */
-       NTSTATUS lsa_LookupPrivValue(
-               [in]     policy_handle *handle,
-               [in]     lsa_String *name,
-               [out]    lsa_LUID *luid
-               );
-
-
-       /* Function:      0x20 */
-       NTSTATUS lsa_LookupPrivName (
-               [in]     policy_handle *handle,
-               [in]     lsa_LUID *luid,
-               [out,unique]        lsa_StringLarge *name
-               );
-
-
-       /*******************/
-       /* Function:  0x21 */
-       NTSTATUS lsa_LookupPrivDisplayName (
-               [in]     policy_handle *handle,
-               [in]     lsa_String *name,
-               [out,unique]        lsa_StringLarge *disp_name,
-               /* see http://www.microsoft.com/globaldev/nlsweb/ for
-                  language definitions */
-               [in,out] uint16 *language_id,
-               [in]         uint16 unknown
-               );
-
-       /* Function:        0x22 */
-       NTSTATUS lsa_DeleteObject();
-
-       
-       /*******************/
-       /* Function:      0x23 */
-       NTSTATUS lsa_EnumAccountsWithUserRight (
-               [in]     policy_handle *handle,
-               [in,unique]         lsa_String *name,
-               [out]    lsa_SidArray *sids
-               );
-
-       /* Function:      0x24 */
-       typedef struct {
-               [string,charset(UTF16)] uint16 *name;
-       } lsa_RightAttribute;
-       
-       typedef struct {
-               uint32 count;
-               [size_is(count)] lsa_StringLarge *names;
-       } lsa_RightSet;
-       
-       NTSTATUS lsa_EnumAccountRights (
-               [in]     policy_handle *handle,
-               [in]     dom_sid2 *sid,
-               [out]    lsa_RightSet *rights
-               );
-
-
-       /**********************/
-       /* Function:       0x25 */
-       NTSTATUS lsa_AddAccountRights (
-               [in]     policy_handle *handle,
-               [in]     dom_sid2 *sid,
-               [in]     lsa_RightSet *rights
-               );
-       
-       /**********************/
-       /* Function:       0x26 */
-       NTSTATUS lsa_RemoveAccountRights (
-               [in]     policy_handle *handle,
-               [in]     dom_sid2 *sid,
-               [in]         uint32 unknown,
-               [in]     lsa_RightSet *rights
-               );
-
-       /* Function:   0x27 */
-       NTSTATUS lsa_QueryTrustedDomainInfoBySid(
-               [in]               policy_handle         *handle,
-               [in]               dom_sid2              *dom_sid,
-               [in]                   lsa_TrustDomInfoEnum  level, 
-               [out,switch_is(level),unique] lsa_TrustedDomainInfo *info
-        );
-
-       /* Function:     0x28 */
-       NTSTATUS lsa_SetTrustedDomainInfo();
-       /* Function:      0x29 */
-       NTSTATUS lsa_DeleteTrustedDomain(
-               [in]               policy_handle         *handle,
-               [in]               dom_sid2              *dom_sid
-       );
-
-       /* Function:       0x2a */
-       NTSTATUS lsa_StorePrivateData();
-       /* Function:        0x2b */
-       NTSTATUS lsa_RetrievePrivateData();
-
-
-       /**********************/
-       /* Function:     0x2c */
-       NTSTATUS lsa_OpenPolicy2 (
-               [in,unique]      [string,charset(UTF16)] uint16 *system_name,
-               [in]  lsa_ObjectAttribute *attr,
-               [in]      uint32 access_mask,
-               [out] policy_handle *handle
-               );
-
-       /**********************/
-       /* Function:     0x2d */
-       typedef struct {
-               lsa_String *string;
-       } lsa_StringPointer;
-
-       NTSTATUS lsa_GetUserName(
-               [in,unique] [string,charset(UTF16)] uint16 *system_name,
-               [in,out,unique] lsa_String *account_name,
-               [in,out,unique] lsa_StringPointer *authority_name
-               );
-
-       /**********************/
-       /* Function:          0x2e */
-
-       NTSTATUS lsa_QueryInfoPolicy2(
-               [in]                 policy_handle *handle,
-               [in]                     uint16 level,
-               [out,unique,switch_is(level)]   lsa_PolicyInformation *info
-               );
-
-       /* Function 0x2f */
-       NTSTATUS lsa_SetInfoPolicy2();
-
-       /**********************/
-       /* Function 0x30 */
-       NTSTATUS lsa_QueryTrustedDomainInfoByName(
-               [in]                   policy_handle         *handle,
-               [in]                   lsa_String             trusted_domain,
-               [in]                   lsa_TrustDomInfoEnum   level, 
-               [out,unique,switch_is(level)] lsa_TrustedDomainInfo *info
-               );
-
-       /**********************/
-       /* Function 0x31 */
-       NTSTATUS lsa_SetTrustedDomainInfoByName(
-               [in]                   policy_handle         *handle,
-               [in]                   lsa_String             trusted_domain,
-               [in]                   lsa_TrustDomInfoEnum   level, 
-               [in,unique,switch_is(level)] lsa_TrustedDomainInfo *info
-               );
-
-       /* Function 0x32 */
-
-       /* w2k3 treats max_size as max_domains*82       */
-       const int LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER = 82;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] lsa_TrustDomainInfoInfoEx *domains;
-       } lsa_DomainListEx;
-
-       NTSTATUS lsa_EnumTrustedDomainsEx (
-               [in]               policy_handle *handle,
-               [in,out]           uint32 *resume_handle,
-               [out]              lsa_DomainListEx *domains,
-               [in]               uint32 max_size
-               );
-
-
-       /* Function 0x33 */
-       NTSTATUS lsa_CreateTrustedDomainEx();
-
-       /* Function 0x34 */
-       NTSTATUS lsa_CloseTrustedDomainEx(
-               [in,out]                   policy_handle         *handle
-       );
-
-       /* Function 0x35 */
-
-       /* w2k3 returns either 0x000bbbd000000000 or 0x000a48e800000000 
-          for unknown6 - gd */
-       typedef struct {
-               uint32 enforce_restrictions;
-               hyper service_tkt_lifetime;
-               hyper user_tkt_lifetime;
-               hyper user_tkt_renewaltime;
-               hyper clock_skew;
-               hyper unknown6;
-       } lsa_DomainInfoKerberos;
-
-       typedef struct {
-               uint32 blob_size;
-               [size_is(blob_size)] uint8 *efs_blob;
-       } lsa_DomainInfoEfs;
-
-       typedef enum {
-               LSA_DOMAIN_INFO_POLICY_EFS=2,
-               LSA_DOMAIN_INFO_POLICY_KERBEROS=3
-       } lsa_DomainInfoEnum;
-
-       typedef [switch_type(uint16)] union {
-               [case(LSA_DOMAIN_INFO_POLICY_EFS)]      lsa_DomainInfoEfs       efs_info;
-               [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] lsa_DomainInfoKerberos  kerberos_info;
-       } lsa_DomainInformationPolicy;
-
-       NTSTATUS lsa_QueryDomainInformationPolicy(
-               [in]            policy_handle *handle,
-               [in]                    uint16 level,
-               [out,unique,switch_is(level)]   lsa_DomainInformationPolicy *info
-               );
-
-       /* Function 0x36 */
-       NTSTATUS lsa_SetDomainInformationPolicy(
-               [in]            policy_handle *handle,
-               [in]                    uint16 level,
-               [in,unique,switch_is(level)]    lsa_DomainInformationPolicy *info
-               );
-
-       /**********************/
-       /* Function 0x37 */
-       NTSTATUS lsa_OpenTrustedDomainByName(
-               [in]     policy_handle *handle,
-               [in]         lsa_String     name,
-               [in]         uint32         access_mask,
-               [out]    policy_handle *trustdom_handle
-               );
-
-       /* Function 0x38 */
-       NTSTATUS lsa_TestCall();
-
-       /**********************/
-       /* Function 0x39 */
-
-       typedef struct {
-               lsa_SidType sid_type;
-               lsa_String name;
-               uint32 sid_index;
-               uint32 unknown;
-       } lsa_TranslatedName2;
-
-       typedef struct {
-               [range(0,1000)] uint32 count;
-               [size_is(count)] lsa_TranslatedName2 *names;
-       } lsa_TransNameArray2;
-
-       NTSTATUS lsa_LookupSids2(
-               [in]     policy_handle *handle,
-               [in]     lsa_SidArray *sids,
-               [out,unique]        lsa_RefDomainList *domains,
-               [in,out] lsa_TransNameArray2 *names,
-               [in]         uint16 level,
-               [in,out] uint32 *count,
-               [in]         uint32 unknown1,
-               [in]         uint32 unknown2
-               );
-
-       /**********************/
-       /* Function 0x3a */
-
-       typedef struct {
-               lsa_SidType sid_type;
-               uint32 rid;
-               uint32 sid_index;
-               uint32 unknown;
-       } lsa_TranslatedSid2;
-
-       typedef struct {
-               [range(0,1000)] uint32 count;
-               [size_is(count)] lsa_TranslatedSid2 *sids;
-       } lsa_TransSidArray2;
-
-       NTSTATUS lsa_LookupNames2 (
-               [in]     policy_handle *handle,
-               [in,range(0,1000)] uint32 num_names,
-               [in,size_is(num_names)]  lsa_String names[],
-               [out,unique]        lsa_RefDomainList *domains,
-               [in,out] lsa_TransSidArray2 *sids,
-               [in]         uint16 level,
-               [in,out] uint32 *count,
-               [in]         uint32 unknown1,
-               [in]         uint32 unknown2
-               );
-
-       /* Function 0x3b */
-       NTSTATUS lsa_CreateTrustedDomainEx2();
-
-       /* Function 0x3c */
-       NTSTATUS lsa_CREDRWRITE();
-
-       /* Function 0x3d */
-       NTSTATUS lsa_CREDRREAD();
-
-       /* Function 0x3e */
-       NTSTATUS lsa_CREDRENUMERATE();
-
-       /* Function 0x3f */
-       NTSTATUS lsa_CREDRWRITEDOMAINCREDENTIALS();
-
-       /* Function 0x40 */
-       NTSTATUS lsa_CREDRREADDOMAINCREDENTIALS();
-
-       /* Function 0x41 */
-       NTSTATUS lsa_CREDRDELETE();
-
-       /* Function 0x42 */
-       NTSTATUS lsa_CREDRGETTARGETINFO();
-
-       /* Function 0x43 */
-       NTSTATUS lsa_CREDRPROFILELOADED();
-
-       /**********************/
-       /* Function 0x44 */
-       typedef struct {
-               lsa_SidType sid_type;
-               dom_sid2 *sid;
-               uint32 sid_index;
-               uint32 unknown;
-       } lsa_TranslatedSid3;
-
-       typedef struct {
-               [range(0,1000)] uint32 count;
-               [size_is(count)] lsa_TranslatedSid3 *sids;
-       } lsa_TransSidArray3;
-
-       NTSTATUS lsa_LookupNames3 (
-               [in]     policy_handle *handle,
-               [in,range(0,1000)] uint32 num_names,
-               [in,size_is(num_names)]  lsa_String names[],
-               [out,unique]        lsa_RefDomainList *domains,
-               [in,out] lsa_TransSidArray3 *sids,
-               [in]         uint16 level,
-               [in,out] uint32 *count,
-               [in]         uint32 unknown1,
-               [in]         uint32 unknown2
-               );
-
-       /* Function 0x45 */
-       NTSTATUS lsa_CREDRGETSESSIONTYPES();
-
-       /* Function 0x46 */
-       NTSTATUS lsa_LSARREGISTERAUDITEVENT();
-
-       /* Function 0x47 */
-       NTSTATUS lsa_LSARGENAUDITEVENT();
-
-       /* Function 0x48 */
-       NTSTATUS lsa_LSARUNREGISTERAUDITEVENT();
-
-       /* Function 0x49 */
-       NTSTATUS lsa_LSARQUERYFORESTTRUSTINFORMATION();
-
-       /* Function 0x4a */
-       NTSTATUS lsa_LSARSETFORESTTRUSTINFORMATION();
-
-       /* Function 0x4b */
-       NTSTATUS lsa_CREDRRENAME();
-
-       /*****************/
-       /* Function 0x4c */
-
-       NTSTATUS lsa_LookupSids3(
-               [in]         lsa_SidArray *sids,
-               [out,unique] lsa_RefDomainList *domains,
-               [in,out]     lsa_TransNameArray2 *names,
-               [in]         uint16 level,
-               [in,out]     uint32 *count,
-               [in]         uint32 unknown1,
-               [in]         uint32 unknown2
-               );
-
-       /* Function 0x4d */
-       NTSTATUS lsa_LookupNames4(
-               [in,range(0,1000)] uint32 num_names,
-               [in,size_is(num_names)]  lsa_String names[],
-               [out,unique]        lsa_RefDomainList *domains,
-               [in,out] lsa_TransSidArray3 *sids,
-               [in]         uint16 level,
-               [in,out] uint32 *count,
-               [in]         uint32 unknown1,
-               [in]         uint32 unknown2
-               );
-
-       /* Function 0x4e */
-       NTSTATUS lsa_LSAROPENPOLICYSCE();
-
-       /* Function 0x4f */
-       NTSTATUS lsa_LSARADTREGISTERSECURITYEVENTSOURCE();
-
-       /* Function 0x50 */
-       NTSTATUS lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE();
-
-       /* Function 0x51 */
-       NTSTATUS lsa_LSARADTREPORTSECURITYEVENT();
-
-}
diff --git a/source3/librpc/idl/misc.idl b/source3/librpc/idl/misc.idl
deleted file mode 100644 (file)
index 353457d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-  miscellaneous IDL structures
-*/
-
-
-[
-       pointer_default(unique)
-]
-interface misc
-{
-       typedef [public,noprint,gensize,noejs] struct {
-               uint32 time_low;
-               uint16 time_mid;
-               uint16 time_hi_and_version;
-               uint8  clock_seq[2];
-               uint8  node[6];
-       } GUID;
-
-       typedef [public] struct {
-               uint32 handle_type;
-               GUID   uuid;
-       } policy_handle;
-
-       /* secure channel types */
-       /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
-
-       typedef [public] enum {
-               SEC_CHAN_WKSTA   = 2,
-               SEC_CHAN_DOMAIN  = 4,
-               SEC_CHAN_BDC     = 6
-       } netr_SchannelType;
-
-       /* SAM database types */
-       typedef [public,v1_enum] enum {
-               SAM_DATABASE_DOMAIN  = 0, /* Domain users and groups */
-               SAM_DATABASE_BUILTIN = 1, /* BUILTIN users and groups */
-               SAM_DATABASE_PRIVS   = 2 /* Privileges */
-       } netr_SamDatabaseID;
-
-       typedef [public,v1_enum] enum {
-               SAMR_REJECT_OTHER      = 0,
-               SAMR_REJECT_TOO_SHORT  = 1,
-               SAMR_REJECT_COMPLEXITY = 2
-       } samr_RejectReason;
-
-
-}
diff --git a/source3/librpc/idl/netlogon.idl b/source3/librpc/idl/netlogon.idl
deleted file mode 100644 (file)
index 533095e..0000000
+++ /dev/null
@@ -1,1203 +0,0 @@
-/*
-  netlogon interface
-  much of this was derived from the ethereal sources - thanks to everyone 
-  who contributed!
-*/
-
-#include "idl_types.h"
-
-[
-  uuid("12345678-1234-abcd-ef00-01234567cffb"),
-  version(1.0),
-  endpoint("ncacn_np:[\\pipe\\netlogon]","ncacn_ip_tcp:","ncalrpc:"),
-  pointer_default(unique),
-  pointer_default_top(unique),
-  depends(lsa,samr,security),
-  keepref
-]
-
-interface netlogon
-{
-       declare bitmap samr_AcctFlags;
-
-       /*****************/
-       /* Function 0x00 */
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *account_name;
-               uint32 priv;
-               uint32 auth_flags;
-               uint32 logon_count;
-               uint32 bad_pw_count;
-               time_t last_logon;
-               time_t last_logoff;
-               time_t logoff_time;
-               time_t kickoff_time;
-               uint32 password_age;
-               time_t pw_can_change;
-               time_t pw_must_change;
-               [string,charset(UTF16)] uint16 *computer;
-               [string,charset(UTF16)] uint16 *domain;
-               [string,charset(UTF16)] uint16 *script_path;
-               uint32 unknown;
-       } netr_UasInfo;
-
-       WERROR netr_LogonUasLogon(
-               [in]   [string,charset(UTF16)] uint16 *server_name,
-               [in]   [string,charset(UTF16)] uint16 account_name[],
-               [in]   [string,charset(UTF16)] uint16 workstation[],
-               [out]  netr_UasInfo *info
-               );
-
-
-       /*****************/
-       /* Function 0x01 */
-
-       typedef struct {
-               uint32 duration;
-               uint16 logon_count;
-       } netr_UasLogoffInfo;
-
-       WERROR netr_LogonUasLogoff(
-               [in] [string,charset(UTF16)] uint16 *server_name,
-               [in] [string,charset(UTF16)] uint16 account_name[],
-               [in] [string,charset(UTF16)] uint16 workstation[],
-               [out] netr_UasLogoffInfo info
-               );
-
-
-       /*****************/
-       /* Function 0x02 */
-
-       /* in netr_AcctLockStr size seems to be be 24, and rrenard thinks 
-          that the structure of the bindata looks like this:
-
-               dlong  lockout_duration;
-               udlong reset_count;
-               uint32 bad_attempt_lockout;
-               uint32 dummy;   
-
-          but it doesn't look as though this structure is reflected at the
-          NDR level. Maybe it is left to the application to decode the bindata array.
-       */
-       typedef struct {
-               uint16 size;
-               uint16 length;
-               [size_is(size/2),length_is(length/2)] uint16 *bindata;
-       } netr_AcctLockStr;
-
-       const int MSV1_0_CLEARTEXT_PASSWORD_ALLOWED = 0x002;
-       const int MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT = 0x020;
-       const int MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT = 0x800;
-
-       typedef struct {
-               lsa_String  domain_name;
-               uint32      parameter_control; /* see MSV1_0_* */
-               uint32      logon_id_low;
-               uint32      logon_id_high;
-               lsa_String  account_name;
-               lsa_String  workstation;
-       } netr_IdentityInfo;
-
-       typedef struct {
-               netr_IdentityInfo identity_info;
-               samr_Password lmpassword;
-               samr_Password ntpassword;
-       } netr_PasswordInfo;
-
-       typedef [flag(NDR_PAHEX)] struct {
-               uint16 length;
-               [value(length)] uint16 size;
-               [size_is(length),length_is(length)] uint8 *data;
-       } netr_ChallengeResponse;
-
-       typedef [flag(NDR_PAHEX)] struct {
-               netr_IdentityInfo identity_info;
-               uint8 challenge[8];
-               netr_ChallengeResponse nt;
-               netr_ChallengeResponse lm;
-       } netr_NetworkInfo;
-
-       typedef [public,switch_type(uint16)] union {
-               [case(1)] netr_PasswordInfo *password;
-               [case(2)] netr_NetworkInfo  *network;
-               [case(3)] netr_PasswordInfo *password;
-               [case(5)] netr_PasswordInfo *password;
-               [case(6)] netr_NetworkInfo  *network;
-       } netr_LogonLevel;
-
-       typedef [public] struct {
-               uint32 rid;
-               uint32 attributes;
-       } netr_GroupMembership;
-
-       typedef [public,flag(NDR_PAHEX)] struct {
-               uint8 key[16];
-       } netr_UserSessionKey;
-
-       typedef [public,flag(NDR_PAHEX)] struct {
-               uint8 key[8];
-       } netr_LMSessionKey;
-
-       /* Flags for user_flags below */
-       typedef [public,bitmap32bit] bitmap {
-               NETLOGON_GUEST                  = 0x0001,
-               NETLOGON_NOENCRYPTION           = 0x0002,
-               NETLOGON_CACHED_ACCOUNT         = 0x0004,
-               NETLOGON_USED_LM_PASSWORD       = 0x0008,
-               NETLOGON_EXTRA_SIDS             = 0x0020,
-               NETLOGON_SUBAUTH_SESSION_KEY    = 0x0040,
-               NETLOGON_SERVER_TRUST_ACCOUNT   = 0x0080,
-               NETLOGON_NTLMV2_ENABLED         = 0x0100,
-               NETLOGON_RESOURCE_GROUPS        = 0x0200,
-               NETLOGON_PROFILE_PATH_RETURNED  = 0x0400
-       } netr_UserFlags;
-
-       typedef struct {
-               NTTIME last_logon;
-               NTTIME last_logoff;
-               NTTIME acct_expiry;
-               NTTIME last_password_change;
-               NTTIME allow_password_change;
-               NTTIME force_password_change;
-               lsa_String account_name;
-               lsa_String full_name;
-               lsa_String logon_script;
-               lsa_String profile_path;
-               lsa_String home_directory;
-               lsa_String home_drive;
-               uint16 logon_count;
-               uint16 bad_password_count;
-               uint32 rid;
-               uint32 primary_gid;
-               samr_RidWithAttributeArray groups;
-               netr_UserFlags user_flags;
-               netr_UserSessionKey key;
-               lsa_StringLarge logon_server;
-               lsa_StringLarge domain;
-               dom_sid2 *domain_sid;
-               netr_LMSessionKey LMSessKey;
-               samr_AcctFlags acct_flags;
-               uint32 unknown[7];
-       } netr_SamBaseInfo;
-
-       typedef struct {
-               netr_SamBaseInfo base;
-       } netr_SamInfo2;
-
-       typedef struct {
-               dom_sid2 *sid;
-               uint32 attribute;
-       } netr_SidAttr;
-
-       typedef [public] struct {
-               netr_SamBaseInfo base;
-               uint32 sidcount;
-               [size_is(sidcount)] netr_SidAttr *sids;
-       } netr_SamInfo3;
-
-       typedef struct {
-               netr_SamBaseInfo base;
-               uint32 sidcount;
-               [size_is(sidcount)] netr_SidAttr *sids;
-               lsa_String forest;
-               lsa_String principle;
-               uint32 unknown4[20];
-       } netr_SamInfo6;
-
-       typedef struct {
-               uint32 pac_size;
-               [size_is(pac_size)] uint8 *pac;
-               lsa_String logon_domain;
-               lsa_String logon_server;
-               lsa_String principal_name;
-               uint32 auth_size;
-               [size_is(auth_size)] uint8 *auth;
-               netr_UserSessionKey user_session_key;
-               uint32 expansionroom[10];
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-       } netr_PacInfo;
-
-       typedef [public,switch_type(uint16)] union {
-               [case(2)] netr_SamInfo2 *sam2;
-               [case(3)] netr_SamInfo3 *sam3;
-               [case(4)] netr_PacInfo  *pac;
-               [case(5)] netr_PacInfo  *pac;
-               [case(6)] netr_SamInfo6 *sam6;
-       } netr_Validation;
-
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint8 data[8];
-       } netr_Credential;
-
-       typedef [public] struct {
-               netr_Credential cred;
-               time_t timestamp;
-       } netr_Authenticator;
-
-       NTSTATUS netr_LogonSamLogon(
-               [in] [string,charset(UTF16)] uint16 *server_name,
-               [in] [string,charset(UTF16)] uint16 *computer_name,
-               [in] netr_Authenticator *credential,
-               [in][out] netr_Authenticator *return_authenticator,
-               [in]  uint16 logon_level,
-               [in]  [switch_is(logon_level)] netr_LogonLevel logon,
-               [in]  uint16 validation_level,
-               [out] [switch_is(validation_level)] netr_Validation validation,
-               [out] uint8 authoritative
-               );
-
-
-       /*****************/
-       /* Function 0x03 */
-
-       NTSTATUS netr_LogonSamLogoff(
-               [in] [string,charset(UTF16)] uint16 *server_name,
-               [in] [string,charset(UTF16)] uint16 *computer_name,
-               [in]      netr_Authenticator *credential,
-               [in][out] netr_Authenticator *return_authenticator,
-               [in] uint16 logon_level,
-               [in] [switch_is(logon_level)] netr_LogonLevel logon
-               );
-       
-
-
-       /*****************/
-       /* Function 0x04 */
-
-       NTSTATUS netr_ServerReqChallenge(
-               [in,string,charset(UTF16)] uint16 *server_name,
-               [in,string,charset(UTF16)] uint16 computer_name[],
-               [in,out,ref] netr_Credential *credentials
-               );
-
-
-       /*****************/
-       /* Function 0x05 */
-
-       declare enum netr_SchannelType;
-
-       NTSTATUS netr_ServerAuthenticate(
-               [in,string,charset(UTF16)] uint16 *server_name,
-               [in,string,charset(UTF16)] uint16 account_name[],
-               [in]                       netr_SchannelType secure_channel_type,
-               [in,string,charset(UTF16)] uint16 computer_name[],
-               [in,out,ref] netr_Credential *credentials
-               );
-
-
-       /*****************/
-       /* Function 0x06 */
-
-       NTSTATUS netr_ServerPasswordSet(
-               [in]  [string,charset(UTF16)] uint16 *server_name,
-               [in]  [string,charset(UTF16)] uint16 account_name[],
-               [in]  netr_SchannelType secure_channel_type,
-               [in]  [string,charset(UTF16)] uint16 computer_name[],
-               [in]  netr_Authenticator credential,
-               [in]  samr_Password new_password,
-               [out] netr_Authenticator return_authenticator
-               );
-
-
-       /*****************/
-       /* Function 0x07 */
-
-       declare enum netr_SamDatabaseID;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *account_name;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_DELETE_USER;
-
-       typedef struct {
-               uint16 length;
-               [value(length)] uint16 size;
-               uint32 flags;
-               samr_Password pwd;
-       } netr_USER_KEY16;
-
-       typedef struct {
-               uint16 nt_length;
-               uint16 nt_size;
-               uint32 nt_flags;
-               uint16 lm_length;
-               uint16 lm_size;
-               uint32 lm_flags;
-               uint8 nt_history[nt_length];
-               uint8 lm_history[lm_length];
-       } netr_PasswordHistory;
-
-       typedef struct {
-               netr_USER_KEY16 lmpassword;
-               netr_USER_KEY16 ntpassword;
-               netr_PasswordHistory lmhistory;
-       } netr_USER_KEYS2;
-
-       typedef struct {
-               netr_USER_KEYS2 keys2;
-       } netr_USER_KEY_UNION;
-
-       typedef [public] struct {
-               uint32 version;
-               netr_USER_KEY_UNION keys;
-       } netr_USER_KEYS;
-
-       typedef struct {
-               boolean8  SensitiveDataFlag;
-               uint32 DataLength;
-
-               /* netr_USER_KEYS encrypted with the session key */
-               [size_is(DataLength)][flag(NDR_PAHEX)] uint8 *SensitiveData;
-       } netr_USER_PRIVATE_INFO;
-
-       typedef struct {
-               lsa_String account_name;
-               lsa_String full_name;
-               uint32 rid;
-               uint32 primary_gid;
-               lsa_String home_directory;
-               lsa_String home_drive;
-               lsa_String logon_script;
-               lsa_String description;
-               lsa_String workstations;
-               NTTIME last_logon;
-               NTTIME last_logoff;
-               samr_LogonHours logon_hours;
-               uint16 bad_password_count;
-               uint16 logon_count;
-               NTTIME last_password_change;
-               NTTIME acct_expiry;
-               samr_AcctFlags acct_flags;
-               samr_Password lmpassword;
-               samr_Password ntpassword;
-               boolean8 nt_password_present;
-               boolean8 lm_password_present;
-               boolean8 password_expired;
-               lsa_String comment;
-               lsa_String parameters;
-               uint16 country_code;
-               uint16 code_page;
-               netr_USER_PRIVATE_INFO user_private_info;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               lsa_String profile_path;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_USER;
-
-       typedef struct {
-               lsa_String domain_name;
-               lsa_String comment;
-               dlong force_logoff_time;
-               uint16 min_password_length;
-               uint16 password_history_length;
-               /* yes, these are signed. They are in negative 100ns */
-               dlong  max_password_age;
-               dlong  min_password_age;
-               udlong sequence_num;
-               NTTIME domain_create_time;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               netr_AcctLockStr account_lockout;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 logon_to_chgpass;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_DOMAIN;
-
-       typedef struct {
-               lsa_String group_name;
-               uint32 rid;
-               uint32 attributes;
-               lsa_String description;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_GROUP;
-
-       typedef struct {
-               lsa_String OldName;
-               lsa_String NewName;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_RENAME;
-
-       typedef struct {
-               [size_is(num_rids)] uint32 *rids;
-               [size_is(num_rids)] uint32 *attribs;
-               uint32 num_rids;
-               uint32 unknown1;
-               uint32 unknown2;
-               uint32 unknown3;
-               uint32 unknown4;
-       } netr_DELTA_GROUP_MEMBER;
-
-       typedef struct {
-               lsa_String alias_name;
-               uint32 rid;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               lsa_String description;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_ALIAS;
-
-       typedef struct {
-               lsa_SidArray sids;
-               uint32 unknown1;
-               uint32 unknown2;
-               uint32 unknown3;
-               uint32 unknown4;
-       } netr_DELTA_ALIAS_MEMBER;
-
-       typedef struct {
-               uint32 pagedpoollimit;
-               uint32 nonpagedpoollimit;
-               uint32 minimumworkingsetsize;
-               uint32 maximumworkingsetsize;
-               uint32 pagefilelimit;
-               NTTIME timelimit;
-       } netr_QUOTA_LIMITS;
-
-       typedef struct {
-               uint32 maxlogsize;
-               NTTIME auditretentionperiod;
-               boolean8 auditingmode;
-               uint32 maxauditeventcount;
-               [size_is(maxauditeventcount+1)] uint32 *eventauditoptions;
-               lsa_String primary_domain_name;
-               dom_sid2 *sid;
-               netr_QUOTA_LIMITS quota_limits;
-               udlong sequence_num;
-               NTTIME db_create_time;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_POLICY;
-
-       typedef struct {
-               lsa_String domain_name;
-               uint32 num_controllers;
-               [size_is(num_controllers)] lsa_String *controller_names;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 posix_offset;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_TRUSTED_DOMAIN;
-
-       typedef struct {
-               uint16 unknown;
-       } netr_DELTA_DELETE_TRUST;
-
-       typedef struct {
-               uint32 privilege_entries;
-               uint32 privilege_control;
-               [size_is(privilege_entries)] uint32 *privilege_attrib;
-               [size_is(privilege_entries)] lsa_String *privilege_name;
-               netr_QUOTA_LIMITS quotalimits;
-               uint32 system_flags;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_ACCOUNT;
-
-       typedef struct {
-               uint16 unknown;
-       } netr_DELTA_DELETE_ACCOUNT;
-
-       typedef struct {
-               uint16 unknown;
-       } netr_DELTA_DELETE_SECRET;
-
-       typedef struct {
-               uint32 len;
-               uint32 maxlen;
-               [size_is(maxlen)][length_is(len)] uint8 *cipher_data;
-       } netr_CIPHER_VALUE;
-
-       typedef struct {
-               netr_CIPHER_VALUE current_cipher;
-               NTTIME current_cipher_set_time;
-               netr_CIPHER_VALUE old_cipher;
-               NTTIME old_cipher_set_time;
-               uint32 SecurityInformation;
-               sec_desc_buf sdbuf;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               lsa_String unknown4;
-               uint32 unknown5;
-               uint32 unknown6;
-               uint32 unknown7;
-               uint32 unknown8;
-       } netr_DELTA_SECRET;
-
-       typedef enum {
-               NETR_DELTA_DOMAIN           = 1,
-               NETR_DELTA_GROUP            = 2,
-               NETR_DELTA_DELETE_GROUP     = 3,
-               NETR_DELTA_RENAME_GROUP     = 4,
-               NETR_DELTA_USER             = 5,
-               NETR_DELTA_DELETE_USER      = 6,
-               NETR_DELTA_RENAME_USER      = 7,
-               NETR_DELTA_GROUP_MEMBER     = 8,
-               NETR_DELTA_ALIAS            = 9,
-               NETR_DELTA_DELETE_ALIAS     = 10,
-               NETR_DELTA_RENAME_ALIAS     = 11,
-               NETR_DELTA_ALIAS_MEMBER     = 12,
-               NETR_DELTA_POLICY           = 13,
-               NETR_DELTA_TRUSTED_DOMAIN   = 14,
-               NETR_DELTA_DELETE_TRUST     = 15,
-               NETR_DELTA_ACCOUNT          = 16,
-               NETR_DELTA_DELETE_ACCOUNT   = 17,
-               NETR_DELTA_SECRET           = 18,
-               NETR_DELTA_DELETE_SECRET    = 19,
-               NETR_DELTA_DELETE_GROUP2    = 20,
-               NETR_DELTA_DELETE_USER2     = 21,
-               NETR_DELTA_MODIFY_COUNT     = 22
-       } netr_DeltaEnum;
-
-       typedef [switch_type(netr_DeltaEnum)] union {
-               [case(NETR_DELTA_DOMAIN)]          netr_DELTA_DOMAIN          *domain;
-               [case(NETR_DELTA_GROUP)]           netr_DELTA_GROUP           *group;
-               [case(NETR_DELTA_DELETE_GROUP)]    ; /* rid only */
-               [case(NETR_DELTA_RENAME_GROUP)]    netr_DELTA_RENAME          *rename_group;
-               [case(NETR_DELTA_USER)]            netr_DELTA_USER            *user;
-               [case(NETR_DELTA_DELETE_USER)]     ; /* rid only */
-               [case(NETR_DELTA_RENAME_USER)]     netr_DELTA_RENAME          *rename_user;
-               [case(NETR_DELTA_GROUP_MEMBER)]    netr_DELTA_GROUP_MEMBER    *group_member;
-               [case(NETR_DELTA_ALIAS)]           netr_DELTA_ALIAS           *alias;
-               [case(NETR_DELTA_DELETE_ALIAS)]    ; /* rid only */
-               [case(NETR_DELTA_RENAME_ALIAS)]    netr_DELTA_RENAME          *rename_alias;
-               [case(NETR_DELTA_ALIAS_MEMBER)]    netr_DELTA_ALIAS_MEMBER    *alias_member;
-               [case(NETR_DELTA_POLICY)]          netr_DELTA_POLICY          *policy;
-               [case(NETR_DELTA_TRUSTED_DOMAIN)]  netr_DELTA_TRUSTED_DOMAIN   *trusted_domain;
-               [case(NETR_DELTA_DELETE_TRUST)]    netr_DELTA_DELETE_TRUST     delete_trust;
-               [case(NETR_DELTA_ACCOUNT)]         netr_DELTA_ACCOUNT         *account;
-               [case(NETR_DELTA_DELETE_ACCOUNT)]  netr_DELTA_DELETE_ACCOUNT   delete_account;
-               [case(NETR_DELTA_SECRET)]          netr_DELTA_SECRET          *secret;
-               [case(NETR_DELTA_DELETE_SECRET)]   netr_DELTA_DELETE_SECRET    delete_secret;
-               [case(NETR_DELTA_DELETE_GROUP2)]   netr_DELTA_DELETE_USER     *delete_group;
-               [case(NETR_DELTA_DELETE_USER2)]    netr_DELTA_DELETE_USER     *delete_user;
-               [case(NETR_DELTA_MODIFY_COUNT)]    udlong                     *modified_count;
-       } netr_DELTA_UNION;
-
-       typedef [switch_type(netr_DeltaEnum)] union {
-               [case(NETR_DELTA_DOMAIN)]          uint32 rid;
-               [case(NETR_DELTA_GROUP)]           uint32 rid;
-               [case(NETR_DELTA_DELETE_GROUP)]    uint32 rid;
-               [case(NETR_DELTA_RENAME_GROUP)]    uint32 rid;
-               [case(NETR_DELTA_USER)]            uint32 rid;
-               [case(NETR_DELTA_DELETE_USER)]     uint32 rid;
-               [case(NETR_DELTA_RENAME_USER)]     uint32 rid;
-               [case(NETR_DELTA_GROUP_MEMBER)]    uint32 rid;
-               [case(NETR_DELTA_ALIAS)]           uint32 rid;
-               [case(NETR_DELTA_DELETE_ALIAS)]    uint32 rid;
-               [case(NETR_DELTA_RENAME_ALIAS)]    uint32 rid;
-               [case(NETR_DELTA_ALIAS_MEMBER)]    uint32 rid;
-               [case(NETR_DELTA_POLICY)]          dom_sid2 *sid;
-               [case(NETR_DELTA_TRUSTED_DOMAIN)]  dom_sid2 *sid;
-               [case(NETR_DELTA_DELETE_TRUST)]    dom_sid2 *sid;
-               [case(NETR_DELTA_ACCOUNT)]         dom_sid2 *sid;
-               [case(NETR_DELTA_DELETE_ACCOUNT)]  dom_sid2 *sid;
-               [case(NETR_DELTA_SECRET)]          [string,charset(UTF16)] uint16 *name;
-               [case(NETR_DELTA_DELETE_SECRET)]   [string,charset(UTF16)] uint16 *name;
-               [case(NETR_DELTA_DELETE_GROUP2)]   uint32 rid;
-               [case(NETR_DELTA_DELETE_USER2)]    uint32 rid;
-               [case(NETR_DELTA_MODIFY_COUNT)]    ;
-       } netr_DELTA_ID_UNION;
-
-       typedef struct {
-               netr_DeltaEnum delta_type;
-               [switch_is(delta_type)] netr_DELTA_ID_UNION delta_id_union;
-               [switch_is(delta_type)] netr_DELTA_UNION delta_union;
-       } netr_DELTA_ENUM;
-
-       typedef struct {
-               uint32 num_deltas;
-               [size_is(num_deltas)] netr_DELTA_ENUM *delta_enum;
-       } netr_DELTA_ENUM_ARRAY;
-
-
-       NTSTATUS netr_DatabaseDeltas(
-               [in]      [string,charset(UTF16)] uint16 logon_server[],
-               [in]      [string,charset(UTF16)] uint16 computername[],
-               [in]      netr_Authenticator credential,
-               [in,out]  netr_Authenticator return_authenticator,
-               [in]      netr_SamDatabaseID database_id,
-               [in,out]  udlong sequence_num,
-               [in]      uint32 preferredmaximumlength,
-               [out]     netr_DELTA_ENUM_ARRAY *delta_enum_array
-               );
-
-
-       /*****************/
-       /* Function 0x08 */
-
-       NTSTATUS netr_DatabaseSync(
-               [in]     [string,charset(UTF16)] uint16 logon_server[],
-               [in]     [string,charset(UTF16)] uint16 computername[],
-               [in]     netr_Authenticator credential,
-               [in,out] netr_Authenticator return_authenticator,
-               [in]     netr_SamDatabaseID database_id,
-               [in,out] uint32 sync_context,
-               [in]     uint32 preferredmaximumlength,
-               [out]    netr_DELTA_ENUM_ARRAY *delta_enum_array
-               );
-
-
-       /*****************/
-       /* Function 0x09 */
-
-       /* w2k3 returns NT_STATUS_NOT_IMPLEMENTED for this call */
-
-       typedef [flag(NDR_PAHEX)] struct {
-               uint8 computer_name[16];
-               uint32 timecreated;
-               uint32 serial_number;
-       } netr_UAS_INFO_0;
-
-       typedef struct {
-               [flag(NDR_REMAINING)] DATA_BLOB blob;
-       } netr_AccountBuffer;
-
-       NTSTATUS netr_AccountDeltas(
-               [in]     [string,charset(UTF16)] uint16 *logon_server,
-               [in]     [string,charset(UTF16)] uint16 computername[],
-               [in]     netr_Authenticator credential,
-               [in,out] netr_Authenticator return_authenticator,
-               [in]     netr_UAS_INFO_0 uas,
-               [in]     uint32 count,
-               [in]     uint32 level,
-               [in]     uint32 buffersize,
-               [out,subcontext(4)] netr_AccountBuffer buffer,
-               [out]    uint32 count_returned,
-               [out]    uint32 total_entries,
-               [out]    netr_UAS_INFO_0 recordid
-               );
-
-
-       /*****************/
-       /* Function 0x0A */
-
-       NTSTATUS netr_AccountSync(
-               [in]      [string,charset(UTF16)] uint16 *logon_server,
-               [in]      [string,charset(UTF16)] uint16 computername[],
-               [in]      netr_Authenticator credential,
-               [in,out]  netr_Authenticator return_authenticator,
-               [in]      uint32 reference,
-               [in]      uint32 level,
-               [in]      uint32 buffersize,
-               [out,subcontext(4)] netr_AccountBuffer buffer,
-               [out]     uint32 count_returned,
-               [out]     uint32 total_entries,
-               [out]     uint32 next_reference,
-               [in,out]  netr_UAS_INFO_0 recordid
-               );
-
-
-       /*****************/
-       /* Function 0x0B */
-
-       NTSTATUS netr_GetDcName(
-               [in]  [string,charset(UTF16)] uint16 logon_server[],
-               [in]  [string,charset(UTF16)] uint16 *domainname,
-               [out] [string,charset(UTF16)] uint16 *dcname
-               );
-
-       /*****************/
-       /* Function 0x0C */
-
-       typedef struct {
-               uint32 flags;
-               uint32 pdc_connection_status;
-       } netr_NETLOGON_INFO_1;
-
-       typedef struct {
-               uint32 flags;
-               uint32 pdc_connection_status;
-               [string,charset(UTF16)] uint16 trusted_dc_name[];
-               uint32 tc_connection_status;
-       } netr_NETLOGON_INFO_2;
-
-       typedef struct {
-               uint32 flags;
-               uint32 logon_attempts;
-               uint32 unknown1;
-               uint32 unknown2;
-               uint32 unknown3;
-               uint32 unknown4;
-               uint32 unknown5;
-       } netr_NETLOGON_INFO_3;
-
-       typedef union {
-               [case(1)]  netr_NETLOGON_INFO_1 *info1;
-               [case(2)]  netr_NETLOGON_INFO_2 *info2;
-               [case(3)]  netr_NETLOGON_INFO_3 *info3;
-       } netr_CONTROL_QUERY_INFORMATION;
-
-       /* function_code values */
-       typedef [v1_enum] enum {
-               NETLOGON_CONTROL_REDISCOVER       = 5,
-               NETLOGON_CONTROL_TC_QUERY         = 6,
-               NETLOGON_CONTROL_TRANSPORT_NOTIFY = 7,
-               NETLOGON_CONTROL_SET_DBFLAG       = 65534
-       } netr_LogonControlCode;
-
-       WERROR netr_LogonControl(
-               [in]   [string,charset(UTF16)] uint16 *logon_server,
-               [in]   netr_LogonControlCode function_code,
-               [in]   uint32 level,
-               [out,switch_is(level)]  netr_CONTROL_QUERY_INFORMATION info
-               );
-
-
-       /*****************/
-       /* Function 0x0D */
-
-       WERROR netr_GetAnyDCName(
-               [in]  [string,charset(UTF16)] uint16 *logon_server,
-               [in]  [string,charset(UTF16)] uint16 *domainname,
-               [out] [string,charset(UTF16)] uint16 *dcname
-               );
-
-
-       /*****************/
-       /* Function 0x0E */
-
-       typedef union {
-               [case(NETLOGON_CONTROL_REDISCOVER)]        [string,charset(UTF16)] uint16 *domain;
-               [case(NETLOGON_CONTROL_TC_QUERY)]          [string,charset(UTF16)] uint16 *domain;
-               [case(NETLOGON_CONTROL_TRANSPORT_NOTIFY)]  [string,charset(UTF16)] uint16 *domain;
-               [case(NETLOGON_CONTROL_SET_DBFLAG)]        uint32 debug_level;
-       } netr_CONTROL_DATA_INFORMATION;
-
-       WERROR netr_LogonControl2(
-               [in]    [string,charset(UTF16)] uint16 *logon_server,
-               [in]    uint32 function_code,
-               [in]    uint32 level,
-               [in][switch_is(function_code)] netr_CONTROL_DATA_INFORMATION  data,
-               [out][switch_is(level)]        netr_CONTROL_QUERY_INFORMATION query
-               );
-
-
-       /* If this flag is not set, then the passwords and LM session keys are
-        * encrypted with DES calls.  (And the user session key is
-        * unencrypted) */ 
-       const int NETLOGON_NEG_ARCFOUR  = 0x00000004;
-       const int NETLOGON_NEG_128BIT   = 0x00004000;
-       const int NETLOGON_NEG_SCHANNEL = 0x40000000;
-
-       /*****************/
-       /* Function 0x0F */
-
-       NTSTATUS netr_ServerAuthenticate2(
-               [in]         [string,charset(UTF16)] uint16 *server_name,
-               [in]         [string,charset(UTF16)] uint16 account_name[],
-               [in]         netr_SchannelType secure_channel_type,
-               [in]         [string,charset(UTF16)] uint16 computer_name[],
-               [in,out,ref] netr_Credential *credentials,
-               [in,out,ref] uint32 *negotiate_flags
-               );
-
-
-       /*****************/
-       /* Function 0x10 */
-
-       NTSTATUS netr_DatabaseSync2(
-               [in]     [string,charset(UTF16)] uint16 logon_server[],
-               [in]     [string,charset(UTF16)] uint16 computername[],
-               [in]     netr_Authenticator credential,
-               [in,out] netr_Authenticator return_authenticator,
-               [in]     netr_SamDatabaseID database_id,
-               [in]     uint16 restart_state,
-               [in,out] uint32 sync_context,
-               [in]     uint32 preferredmaximumlength,
-               [out]    netr_DELTA_ENUM_ARRAY *delta_enum_array
-               );
-
-
-       /*****************/
-       /* Function 0x11 */
-
-       /* i'm not at all sure how this call works */
-
-       NTSTATUS netr_DatabaseRedo(
-               [in]     [string,charset(UTF16)] uint16 logon_server[],
-               [in]     [string,charset(UTF16)] uint16 computername[],
-               [in]     netr_Authenticator credential,
-               [in,out] netr_Authenticator return_authenticator,
-               [in][size_is(change_log_entry_size)] uint8 *change_log_entry,
-               [in]     uint32 change_log_entry_size,
-               [out]    netr_DELTA_ENUM_ARRAY *delta_enum_array
-               );
-
-
-       /*****************/
-       /* Function 0x12 */
-
-       WERROR netr_LogonControl2Ex(
-               [in]   [string,charset(UTF16)] uint16 *logon_server,
-               [in]   uint32 function_code,
-               [in]   uint32 level,
-               [in][switch_is(function_code)] netr_CONTROL_DATA_INFORMATION  data,
-               [out][switch_is(level)]        netr_CONTROL_QUERY_INFORMATION query
-               );
-
-       /*****************/
-       /* Function 0x13 */
-       WERROR netr_NETRENUMERATETRUSTEDDOMAINS() ;
-
-       /*****************/
-       /* Function 0x14 */             
-       typedef struct {
-               [string,charset(UTF16)] uint16 *dc_unc;
-               [string,charset(UTF16)] uint16 *dc_address;
-               int32 dc_address_type;
-               GUID domain_guid;
-               [string,charset(UTF16)] uint16 *domain_name;
-               [string,charset(UTF16)] uint16 *forest_name;
-               uint32 dc_flags;
-               [string,charset(UTF16)] uint16 *dc_site_name;
-               [string,charset(UTF16)] uint16 *client_site_name;
-       } netr_DsRGetDCNameInfo;
-
-       WERROR netr_DsRGetDCName(
-               [in] [string,charset(UTF16)] uint16 *server_unc,
-               [in] [string,charset(UTF16)] uint16 *domain_name,
-               [in] GUID *domain_guid,
-               [in] GUID *site_guid,
-               [in] uint32 flags,
-               [out] netr_DsRGetDCNameInfo *info
-               );
-
-       /*****************/
-       /* Function 0x15 */
-       WERROR netr_NETRLOGONDUMMYROUTINE1();
-
-       /****************/
-       /* Function 0x16 */
-       WERROR netr_NETRLOGONSETSERVICEBITS();
-
-       /****************/
-       /* Function 0x17 */
-       WERROR netr_NETRLOGONGETTRUSTRID();
-
-       /****************/
-       /* Function 0x18 */
-       WERROR netr_NETRLOGONCOMPUTESERVERDIGEST();
-
-       /****************/
-       /* Function 0x19 */
-       WERROR netr_NETRLOGONCOMPUTECLIENTDIGEST();
-
-       /****************/
-       /* Function 0x1a */
-       NTSTATUS netr_ServerAuthenticate3(
-               [in]         [string,charset(UTF16)] uint16 *server_name,
-               [in]         [string,charset(UTF16)] uint16 account_name[],
-               [in]         netr_SchannelType secure_channel_type,
-               [in]         [string,charset(UTF16)] uint16 computer_name[],
-               [in,out,ref] netr_Credential *credentials,
-               [in,out,ref] uint32 *negotiate_flags,
-               [out,ref]    uint32 *rid
-               );
-
-       /****************/
-       /* Function 0x1b */
-
-       WERROR netr_DsRGetDCNameEx(
-               [in] [string,charset(UTF16)] uint16 *server_unc,
-               [in] [string,charset(UTF16)] uint16 *domain_name,
-               [in] GUID *domain_guid,
-               [in] [string,charset(UTF16)] uint16 *site_name,
-               [in] uint32 flags,
-               [out] netr_DsRGetDCNameInfo *info
-               );
-
-       /****************/
-       /* Function 0x1c */
-       WERROR netr_DsRGetSiteName(
-               [in] [string,charset(UTF16)] uint16 *computer_name,
-               [out] [string,charset(UTF16)] uint16 *site
-               );
-
-       /****************/
-       /* Function 0x1d */
-
-       typedef struct {
-               uint32 length;
-               [size_is(length)] uint8 *data;
-       } netr_Blob;
-
-       typedef [flag(NDR_PAHEX)] struct {
-               uint16 length;
-               uint16 size;
-               [size_is(size/2),length_is(length/2)] uint16 *data;
-       } netr_BinaryString;
-
-       typedef struct {
-               netr_Blob blob;
-               [string,charset(UTF16)] uint16 *workstation_domain;
-               [string,charset(UTF16)] uint16 *workstation_site;
-               [string,charset(UTF16)] uint16 *unknown1;
-               [string,charset(UTF16)] uint16 *unknown2;
-               [string,charset(UTF16)] uint16 *unknown3;
-               [string,charset(UTF16)] uint16 *unknown4;
-               netr_BinaryString blob2;
-               lsa_String product;
-               lsa_String unknown5;
-               lsa_String unknown6;
-               uint32 unknown7[4];
-       } netr_DomainQuery1;
-
-       typedef union {
-               [case(1)] netr_DomainQuery1 *query1;
-               [case(2)] netr_DomainQuery1 *query1;
-       } netr_DomainQuery;
-
-       typedef struct {
-               lsa_String domainname;
-               lsa_String fulldomainname;
-               lsa_String forest;
-               GUID        guid;
-               dom_sid2    *sid;
-               netr_BinaryString unknown1[4];
-               uint32      unknown[4];
-       } netr_DomainTrustInfo;
-
-       typedef struct {
-               netr_DomainTrustInfo domaininfo;
-               uint32 num_trusts;
-               [size_is(num_trusts)] netr_DomainTrustInfo *trusts;
-               uint32 unknown[14]; /* room for expansion? */
-       } netr_DomainInfo1;
-
-       typedef union {
-               [case(1)] netr_DomainInfo1 *info1;
-               [case(2)] netr_DomainInfo1 *info1;
-       } netr_DomainInfo;
-       
-       NTSTATUS netr_LogonGetDomainInfo(
-               [in]         [string,charset(UTF16)] uint16 server_name[],
-               [in]         [string,charset(UTF16)] uint16 *computer_name,
-               [in,ref]     netr_Authenticator *credential,
-               [in,out,ref] netr_Authenticator *return_authenticator,
-               [in]         uint32 level,
-               [in,switch_is(level)] netr_DomainQuery query,
-               [out,switch_is(level)] netr_DomainInfo info
-               );
-
-       typedef [flag(NDR_PAHEX)] struct {
-               uint16 data[256];
-               uint32 length;
-       } netr_CryptPassword;
-
-       /*****************/
-       /* Function 0x1e */
-       NTSTATUS netr_ServerPasswordSet2(
-               [in]  [string,charset(UTF16)] uint16 *server_name,
-               [in]  [string,charset(UTF16)] uint16 account_name[],
-               [in]  netr_SchannelType secure_channel_type,
-               [in]  [string,charset(UTF16)] uint16 computer_name[],
-               [in]  netr_Authenticator credential,
-               [in]  netr_CryptPassword new_password,
-               [out] netr_Authenticator return_authenticator
-               );
-
-       /****************/
-       /* Function 0x1f */
-       WERROR netr_NETRSERVERPASSWORDGET();
-
-       /****************/
-       /* Function 0x20 */
-       WERROR netr_NETRLOGONSENDTOSAM();
-
-       /****************/
-       /* Function 0x21 */
-       WERROR netr_DSRADDRESSTOSITENAMESW();
-
-       /****************/
-       /* Function 0x22 */
-       WERROR netr_DsRGetDCNameEx2(
-               [in] [string,charset(UTF16)] uint16 *server_unc,
-               [in] [string,charset(UTF16)] uint16 *client_account,
-               [in] uint32 mask,
-               [in] [string,charset(UTF16)] uint16 *domain_name,
-               [in] GUID *domain_guid,
-               [in] [string,charset(UTF16)] uint16 *site_name,
-               [in] uint32 flags,
-               [out] netr_DsRGetDCNameInfo *info
-               );
-
-       /****************/
-       /* Function 0x23 */
-       WERROR netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN();
-
-       /****************/
-       /* Function 0x24 */
-       WERROR netr_NETRENUMERATETRUSTEDDOMAINSEX();
-
-       /****************/
-       /* Function 0x25 */
-       WERROR netr_DSRADDRESSTOSITENAMESEXW();
-
-       /****************/
-       /* Function 0x26 */
-       WERROR netr_DSRGETDCSITECOVERAGEW();
-
-       /****************/
-       /* Function 0x27 */
-       NTSTATUS netr_LogonSamLogonEx(
-               [in] [string,charset(UTF16)] uint16 *server_name,
-               [in] [string,charset(UTF16)] uint16 *computer_name,
-               [in]  uint16 logon_level,
-               [in]  [switch_is(logon_level)] netr_LogonLevel logon,
-               [in]  uint16 validation_level,
-               [out] [switch_is(validation_level)] netr_Validation validation,
-               [out] uint8 authoritative,
-               [in,out] uint32 flags
-               );
-
-       /****************/
-       /* Function 0x28 */
-
-       typedef [bitmap32bit] bitmap {
-               NETR_TRUST_FLAG_IN_FOREST = 0x00000001,
-               NETR_TRUST_FLAG_OUTBOUND  = 0x00000002,
-               NETR_TRUST_FLAG_TREEROOT  = 0x00000004,
-               NETR_TRUST_FLAG_PRIMARY   = 0x00000008,
-               NETR_TRUST_FLAG_NATIVE    = 0x00000010,
-               NETR_TRUST_FLAG_INBOUND   = 0x00000020
-       } netr_TrustFlags;
-
-       typedef [v1_enum] enum {
-               NETR_TRUST_TYPE_DOWNLEVEL       = 1,
-               NETR_TRUST_TYPE_UPLEVEL         = 2,
-               NETR_TRUST_TYPE_MIT             = 3,
-               NETR_TRUST_TYPE_DCE             = 4
-       } netr_TrustType;
-
-       typedef [bitmap32bit] bitmap {
-               NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE     = 0x00000001,
-               NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY       = 0x00000002,
-               NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN = 0x00000004,
-               NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE  = 0x00000008,
-               NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION = 0x00000010,
-               NETR_TRUST_ATTRIBUTE_WITHIN_FOREST      = 0x00000020,
-               NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL  = 0x00000040
-       } netr_TrustAttributes;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16                  *netbios_name;
-               [string,charset(UTF16)] uint16                  *dns_name;
-               netr_TrustFlags         trust_flags;
-               uint32                  parent_index;
-               netr_TrustType          trust_type;
-               netr_TrustAttributes    trust_attributes;
-               dom_sid2                *sid;
-               GUID                    guid;
-       } netr_DomainTrust;
-
-       WERROR netr_DsrEnumerateDomainTrusts(
-               [in]                 [string,charset(UTF16)] uint16           *server_name,
-               [in]                 netr_TrustFlags  trust_flags,
-               [out]                uint32           count,
-               [out,size_is(count)] netr_DomainTrust *trusts
-               );
-
-
-       /****************/
-       /* Function 0x29 */
-       WERROR netr_DSRDEREGISTERDNSHOSTRECORDS();
-
-       /****************/
-       /* Function 0x2a */
-       WERROR netr_NETRSERVERTRUSTPASSWORDSGET();
-
-       /****************/
-       /* Function 0x2b */
-       WERROR netr_DSRGETFORESTTRUSTINFORMATION();
-
-       /****************/
-       /* Function 0x2c */
-       WERROR netr_NETRGETFORESTTRUSTINFORMATION();
-
-       /****************/
-       /* Function 0x2d */
-
-       /* this is the ADS varient. I don't yet know what the "flags" are for */
-       NTSTATUS netr_LogonSamLogonWithFlags(
-               [in] [string,charset(UTF16)] uint16 *server_name,
-               [in] [string,charset(UTF16)] uint16 *computer_name,
-               [in] netr_Authenticator *credential,
-               [in][out] netr_Authenticator *return_authenticator,
-               [in]  uint16 logon_level,
-               [in]  [switch_is(logon_level)] netr_LogonLevel logon,
-               [in]  uint16 validation_level,
-               [out] [switch_is(validation_level)] netr_Validation validation,
-               [out] uint8 authoritative,
-               [in,out] uint32 flags
-               );
-
-       /****************/
-       /* Function 0x2e */
-       WERROR netr_NETRSERVERGETTRUSTINFO();
-}
diff --git a/source3/librpc/idl/ntsvcs.idl b/source3/librpc/idl/ntsvcs.idl
deleted file mode 100644 (file)
index 05ba68e..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-  plug and play services
-*/
-
-[
-  uuid("8d9f4e40-a03d-11ce-8f69-08003e30051b"),
-  version(1.0),
-  helpstring("Plug and Play services")
-]
-interface ntsvcs
-{
-       void PNP_Disconnect();
-       void PNP_Connect();
-       void PNP_GetVersion();
-       void PNP_GetGlobalState();
-       void PNP_InitDetection();
-       void PNP_ReportLogOn();
-       void PNP_ValidateDeviceInstance();
-       void PNP_GetRootDeviceInstance();
-       void PNP_GetRelatedDeviceInstance();
-       void PNP_EnumerateSubKeys();
-       void PNP_GetDeviceList();
-       void PNP_GetDeviceListSize();
-       void PNP_GetDepth();
-       void PNP_GetDeviceRegProp();
-       void PNP_SetDeviceRegProp();
-       void PNP_GetClassInstance();
-       void PNP_CreateKey();
-       void PNP_DeleteRegistryKey();
-       void PNP_GetClassCount();
-       void PNP_GetClassName();
-       void PNP_DeleteClassKey();
-       void PNP_GetInterfaceDeviceAlias();
-       void PNP_GetInterfaceDeviceList();
-       void PNP_GetInterfaceDeviceListSize();
-       void PNP_RegisterDeviceClassAssociation();
-       void PNP_UnregisterDeviceClassAssociation();
-       void PNP_GetClassRegProp();
-       void PNP_SetClassRegProp();
-       void PNP_CreateDevInst();
-       void PNP_DeviceInstanceAction();
-       void PNP_GetDeviceStatus();
-       void PNP_SetDeviceProblem();
-       void PNP_DisableDevInst();
-       void PNP_UninstallDevInst();
-       void PNP_AddID();
-       void PNP_RegisterDriver();
-       void PNP_QueryRemove();
-       void PNP_RequestDeviceEject();
-       void PNP_IsDockStationPresent();
-       void PNP_RequestEjectPC();
-       void PNP_HwProfFlags();
-       void PNP_GetHwProfInfo();
-       void PNP_AddEmptyLogConf();
-       void PNP_FreeLogConf();
-       void PNP_GetFirstLogConf();
-       void PNP_GetNextLogConf();
-       void PNP_GetLogConfPriority();
-       void PNP_AddResDes();
-       void PNP_FreeResDes();
-       void PNP_GetNextResDes();
-       void PNP_GetResDesData();
-       void PNP_GetResDesDataSize();
-       void PNP_ModifyResDes();
-       void PNP_DetectResourceLimit();
-       void PNP_QueryResConfList();
-       void PNP_SetHwProf();
-       void PNP_QueryArbitratorFreeData();
-       void PNP_QueryArbitratorFreeSize();
-       void PNP_RunDetection();
-       void PNP_RegisterNotification();
-       void PNP_UnregisterNotification();
-       void PNP_GetCustomDevProp();
-       void PNP_GetVersionInternal();
-       void PNP_GetBlockedDriverInfo();
-       void PNP_GetServerSideDeviceInstallFlags();
-}
diff --git a/source3/librpc/idl/samr.idl b/source3/librpc/idl/samr.idl
deleted file mode 100644 (file)
index c2fa7fe..0000000
+++ /dev/null
@@ -1,1235 +0,0 @@
-#include "idl_types.h"
-
-/*
-  samr interface definition
-*/
-
-/*
-  Thanks to Todd Sabin for some information from his samr.idl in acltools
-*/
-
-[ uuid("12345778-1234-abcd-ef00-0123456789ac"),
-  version(1.0),
-  endpoint("ncacn_np:[\\pipe\\samr]","ncacn_ip_tcp:", "ncalrpc:"),
-  pointer_default(unique),
-  pointer_default_top(unique),
-  depends(misc,lsa,security),
-  keepref
-] interface samr
-{
-       declare bitmap security_secinfo;
-
-       /* account control (acct_flags) bits */
-       typedef [public,bitmap32bit] bitmap {
-               ACB_DISABLED                    = 0x00000001,  /* 1 = User account disabled */
-               ACB_HOMDIRREQ                   = 0x00000002,  /* 1 = Home directory required */
-               ACB_PWNOTREQ                    = 0x00000004,  /* 1 = User password not required */
-               ACB_TEMPDUP                     = 0x00000008,  /* 1 = Temporary duplicate account */
-               ACB_NORMAL                      = 0x00000010,  /* 1 = Normal user account */
-               ACB_MNS                         = 0x00000020,  /* 1 = MNS logon user account */
-               ACB_DOMTRUST                    = 0x00000040,  /* 1 = Interdomain trust account */
-               ACB_WSTRUST                     = 0x00000080,  /* 1 = Workstation trust account */
-               ACB_SVRTRUST                    = 0x00000100,  /* 1 = Server trust account */
-               ACB_PWNOEXP                     = 0x00000200,  /* 1 = User password does not expire */
-               ACB_AUTOLOCK                    = 0x00000400,  /* 1 = Account auto locked */
-               ACB_ENC_TXT_PWD_ALLOWED         = 0x00000800,  /* 1 = Encryped text password is allowed */
-               ACB_SMARTCARD_REQUIRED          = 0x00001000,  /* 1 = Smart Card required */
-               ACB_TRUSTED_FOR_DELEGATION      = 0x00002000,  /* 1 = Trusted for Delegation */
-               ACB_NOT_DELEGATED               = 0x00004000,  /* 1 = Not delegated */
-               ACB_USE_DES_KEY_ONLY            = 0x00008000,  /* 1 = Use DES key only */
-               ACB_DONT_REQUIRE_PREAUTH        = 0x00010000,  /* 1 = Preauth not required */
-               ACB_PW_EXPIRED                  = 0x00020000,  /* 1 = Password Expired */
-               ACB_NO_AUTH_DATA_REQD           = 0x00080000   /* 1 = No authorization data required */
-       } samr_AcctFlags;
-
-       /******************/
-       /* Function: 0x00 */
-       NTSTATUS samr_Connect (
-               /* notice the lack of [string] */
-               [in]       uint16 *system_name,
-               [in]       uint32 access_mask,
-               [out,ref]  policy_handle *connect_handle
-               );
-
-
-       /******************/
-       /* Function: 0x01 */
-       NTSTATUS samr_Close (
-               [in,out,ref]  policy_handle *handle
-               );
-
-       /******************/
-       /* Function: 0x02 */
-
-       NTSTATUS samr_SetSecurity (
-               [in,ref]          policy_handle *handle,
-               [in]              security_secinfo sec_info,
-               [in,ref]          sec_desc_buf *sdbuf
-               );
-
-       /******************/
-       /* Function: 0x03 */
-
-       NTSTATUS samr_QuerySecurity (
-               [in,ref]          policy_handle *handle,
-               [in]              security_secinfo sec_info,
-               [out]             sec_desc_buf *sdbuf
-               );
-
-       /******************/
-       /* Function: 0x04 */
-
-       /*
-         shutdown the SAM - once you call this the SAM will be dead
-       */
-       NTSTATUS samr_Shutdown (
-               [in,ref]   policy_handle *connect_handle
-               );
-
-       /******************/
-       /* Function: 0x05 */
-       NTSTATUS samr_LookupDomain (
-               [in,ref]  policy_handle *connect_handle,                
-               [in,ref]  lsa_String *domain_name,
-               [out]     dom_sid2 *sid
-               );
-
-
-       /******************/
-       /* Function: 0x06 */
-
-       typedef struct {
-               uint32 idx;
-               lsa_String name;
-       } samr_SamEntry;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] samr_SamEntry *entries;
-       } samr_SamArray;
-
-       NTSTATUS samr_EnumDomains (
-               [in,ref]      policy_handle *connect_handle,
-               [in,out,ref]  uint32 *resume_handle,
-               [in]          uint32 buf_size,
-               [out]         samr_SamArray *sam,
-               [out]         uint32 num_entries
-               );
-
-
-       /************************/
-       /* Function    0x07     */
-       NTSTATUS samr_OpenDomain(
-               [in,ref]      policy_handle *connect_handle,
-               [in]          uint32 access_mask,
-               [in,ref]      dom_sid2 *sid,
-               [out,ref]     policy_handle *domain_handle
-               );
-
-       /************************/
-       /* Function    0x08     */
-       /* server roles */
-       typedef [v1_enum] enum {
-               ROLE_STANDALONE    = 0,
-               ROLE_DOMAIN_MEMBER = 1,
-               ROLE_DOMAIN_BDC    = 2,
-               ROLE_DOMAIN_PDC    = 3
-       } samr_Role;
-
-       /* password properties flags */
-       typedef [public,bitmap32bit] bitmap {
-               DOMAIN_PASSWORD_COMPLEX         = 0x00000001,
-               DOMAIN_PASSWORD_NO_ANON_CHANGE  = 0x00000002,
-               DOMAIN_PASSWORD_NO_CLEAR_CHANGE = 0x00000004,
-               DOMAIN_PASSWORD_LOCKOUT_ADMINS  = 0x00000008,
-               DOMAIN_PASSWORD_STORE_CLEARTEXT = 0x00000010,
-               DOMAIN_REFUSE_PASSWORD_CHANGE   = 0x00000020
-       } samr_PasswordProperties;
-
-       typedef struct {
-               uint16 min_password_length;
-               uint16 password_history_length;
-               samr_PasswordProperties password_properties;
-               /* yes, these are signed. They are in negative 100ns */
-               dlong  max_password_age;
-               dlong  min_password_age;
-       } samr_DomInfo1;
-
-       typedef struct {
-               NTTIME force_logoff_time;
-               lsa_String comment;
-               lsa_String domain_name;
-               lsa_String primary; /* PDC name if this is a BDC */
-               udlong sequence_num;
-               uint32 unknown2;
-               samr_Role role;
-               uint32 unknown3;
-               uint32 num_users;
-               uint32 num_groups;
-               uint32 num_aliases;
-       } samr_DomInfo2;
-
-       typedef struct {
-               NTTIME force_logoff_time;
-       } samr_DomInfo3;
-
-       typedef struct {
-               lsa_String comment;
-       } samr_DomInfo4;
-
-       typedef struct {
-               lsa_String domain_name;
-       } samr_DomInfo5;
-
-       typedef struct {
-               lsa_String primary;
-       } samr_DomInfo6;
-
-       typedef struct {
-               samr_Role role;
-       } samr_DomInfo7;
-
-       typedef struct {
-               hyper sequence_num;
-               NTTIME domain_create_time;
-       } samr_DomInfo8;
-
-       typedef struct {
-               uint32 unknown; /* w2k3 returns 1 */
-       } samr_DomInfo9;
-
-       typedef struct {
-               samr_DomInfo2 info2;
-               hyper lockout_duration;
-               hyper lockout_window;
-               uint16 lockout_threshold;
-       } samr_DomInfo11;
-
-       typedef struct {
-               hyper lockout_duration;
-               hyper lockout_window;
-               uint16 lockout_threshold;
-       } samr_DomInfo12;
-
-       typedef struct {
-               hyper sequence_num;
-               NTTIME domain_create_time;
-               uint32 unknown1;
-               uint32 unknown2;
-       } samr_DomInfo13;
-
-       typedef [switch_type(uint16)] union {
-               [case(1)] samr_DomInfo1 info1;
-               [case(2)] samr_DomInfo2 info2;
-               [case(3)] samr_DomInfo3 info3;
-               [case(4)] samr_DomInfo4 info4;
-               [case(5)] samr_DomInfo5 info5;
-               [case(6)] samr_DomInfo6 info6;
-               [case(7)] samr_DomInfo7 info7;
-               [case(8)] samr_DomInfo8 info8;
-               [case(9)] samr_DomInfo9 info9;
-               [case(11)] samr_DomInfo11 info11;
-               [case(12)] samr_DomInfo12 info12;
-               [case(13)] samr_DomInfo13 info13;
-       } samr_DomainInfo;
-
-       NTSTATUS samr_QueryDomainInfo(
-               [in,ref]      policy_handle *domain_handle,
-               [in]          uint16 level,
-               [out,switch_is(level)] samr_DomainInfo *info
-               );
-
-       /************************/
-       /* Function    0x09     */
-       /*
-         only levels 1, 3, 4, 6, 7, 9, 12 are valid for this 
-         call in w2k3
-       */
-       NTSTATUS samr_SetDomainInfo(
-               [in,ref]      policy_handle *domain_handle,
-               [in]          uint16 level,
-               [in,switch_is(level),ref] samr_DomainInfo *info
-               );
-
-
-       /************************/
-       /* Function    0x0a     */
-       NTSTATUS samr_CreateDomainGroup(
-               [in,ref]      policy_handle *domain_handle,
-               [in,ref]      lsa_String *name,
-               [in]          uint32 access_mask,
-               [out,ref]     policy_handle *group_handle,
-               [out,ref]     uint32 *rid
-               );
-               
-
-       /************************/
-       /* Function    0x0b     */
-       NTSTATUS samr_EnumDomainGroups(
-               [in,ref]      policy_handle *domain_handle,
-               [in,out,ref]  uint32 *resume_handle,
-               [in]          uint32 max_size,
-               [out]         samr_SamArray *sam,
-               [out]         uint32 num_entries
-               );
-
-       /************************/
-       /* Function    0x0c     */
-       NTSTATUS samr_CreateUser(
-               [in,ref]      policy_handle *domain_handle,
-               [in,ref]      lsa_String *account_name,
-               [in]          uint32 access_mask,
-               [out,ref]     policy_handle *user_handle,
-               [out,ref]     uint32 *rid
-               );
-
-       /************************/
-       /* Function    0x0d     */
-
-
-       /* w2k3 treats max_size as max_users*54 and sets the
-          resume_handle as the rid of the last user sent
-       */
-       const int SAMR_ENUM_USERS_MULTIPLIER = 54;
-
-       NTSTATUS samr_EnumDomainUsers(
-               [in,ref]      policy_handle *domain_handle,
-               [in,out,ref]  uint32 *resume_handle,
-               [in]          samr_AcctFlags acct_flags,
-               [in]          uint32 max_size,
-               [out]         samr_SamArray *sam,
-               [out]         uint32 num_entries
-               );
-
-       /************************/
-       /* Function    0x0e     */
-       NTSTATUS samr_CreateDomAlias(
-               [in,ref]      policy_handle *domain_handle,
-               [in,ref]      lsa_String   *alias_name,
-               [in]          uint32         access_mask,
-               [out,ref]     policy_handle *alias_handle,
-               [out,ref]     uint32        *rid
-               );
-
-       /************************/
-       /* Function    0x0f     */
-       NTSTATUS samr_EnumDomainAliases(
-               [in,ref]      policy_handle *domain_handle,
-               [in,out,ref]  uint32 *resume_handle,
-               [in]          samr_AcctFlags acct_flags,
-               [out]         samr_SamArray *sam,
-               [out]         uint32 num_entries
-               );
-
-       /************************/
-       /* Function    0x10     */
-
-       typedef struct {
-               [range(0,1024)]  uint32 count;
-               [size_is(count)] uint32 *ids;
-       } samr_Ids;
-
-       NTSTATUS samr_GetAliasMembership(
-               [in,ref]      policy_handle *domain_handle,
-               [in,ref]      lsa_SidArray  *sids,
-               [out,ref]     samr_Ids *rids
-               );
-
-       /************************/
-       /* Function    0x11     */
-
-       NTSTATUS samr_LookupNames(
-               [in,ref]      policy_handle *domain_handle,
-               [in,range(0,1000)] uint32 num_names,
-               [in,size_is(1000),length_is(num_names)] lsa_String names[],
-               [out]         samr_Ids rids,
-               [out]         samr_Ids types
-               );
-
-
-       /************************/
-       /* Function    0x12     */
-       NTSTATUS samr_LookupRids(
-               [in,ref]      policy_handle *domain_handle,
-               [in,range(0,1000)] uint32 num_rids,
-               [in,size_is(1000),length_is(num_rids)] uint32 rids[],
-               [out]         lsa_Strings names,
-               [out]         samr_Ids types
-               );
-
-       /************************/
-       /* Function    0x13     */
-       NTSTATUS samr_OpenGroup(
-               [in,ref]      policy_handle *domain_handle,
-               [in]          uint32 access_mask,
-               [in]          uint32 rid,
-               [out,ref]     policy_handle *group_handle
-               );
-
-       /* Group attributes */
-       typedef [public,bitmap32bit] bitmap {
-               SE_GROUP_MANDATORY              = 0x00000001,
-               SE_GROUP_ENABLED_BY_DEFAULT     = 0x00000002,
-               SE_GROUP_ENABLED                = 0x00000004,
-               SE_GROUP_OWNER                  = 0x00000008,
-               SE_GROUP_USE_FOR_DENY_ONLY      = 0x00000010,
-               SE_GROUP_RESOURCE               = 0x20000000,
-               SE_GROUP_LOGON_ID               = 0xC0000000
-       } samr_GroupAttrs;
-
-       /************************/
-       /* Function    0x14     */
-
-       typedef struct {
-               lsa_String name;
-               samr_GroupAttrs attributes;
-               uint32 num_members;
-               lsa_String description;
-       } samr_GroupInfoAll;
-
-       typedef struct {
-               samr_GroupAttrs attributes;
-       } samr_GroupInfoAttributes;
-
-       typedef struct {
-               lsa_String description;
-       } samr_GroupInfoDescription;
-
-       typedef enum {
-               GROUPINFOALL          = 1,
-               GROUPINFONAME         = 2,
-               GROUPINFOATTRIBUTES   = 3,
-               GROUPINFODESCRIPTION  = 4,
-               GROUPINFOALL2         = 5
-       } samr_GroupInfoEnum;
-
-       typedef [switch_type(samr_GroupInfoEnum)] union {
-               [case(GROUPINFOALL)]         samr_GroupInfoAll        all;
-               [case(GROUPINFONAME)]        lsa_String               name;
-               [case(GROUPINFOATTRIBUTES)]  samr_GroupInfoAttributes attributes;
-               [case(GROUPINFODESCRIPTION)] lsa_String               description;
-               [case(GROUPINFOALL2)]        samr_GroupInfoAll        all2;
-       } samr_GroupInfo;
-
-       NTSTATUS samr_QueryGroupInfo(
-               [in,ref]                  policy_handle *group_handle,
-               [in]                      samr_GroupInfoEnum level,
-               [out,switch_is(level)]    samr_GroupInfo *info
-               );
-
-       /************************/
-       /* Function    0x15     */
-       NTSTATUS samr_SetGroupInfo(
-               [in,ref]                  policy_handle *group_handle,
-               [in]                      samr_GroupInfoEnum level,
-               [in,switch_is(level),ref] samr_GroupInfo *info
-               );
-
-       /************************/
-       /* Function    0x16     */
-       NTSTATUS samr_AddGroupMember(
-               [in,ref]                  policy_handle *group_handle,
-               [in]                      uint32 rid,
-               [in]                      uint32 flags
-               );
-
-       /************************/
-       /* Function    0x17     */
-       NTSTATUS samr_DeleteDomainGroup(
-               [in,out,ref]   policy_handle *group_handle
-               );
-
-       /************************/
-       /* Function    0x18     */
-       NTSTATUS samr_DeleteGroupMember(
-               [in,ref]                  policy_handle *group_handle,
-               [in]                      uint32 rid
-               );
-
-
-       /************************/
-       /* Function    0x19     */
-       typedef struct {
-               uint32 count;
-               [size_is(count)] uint32 *rids;
-               [size_is(count)] uint32 *types;
-       } samr_RidTypeArray;
-
-       NTSTATUS samr_QueryGroupMember(
-               [in,ref]  policy_handle *group_handle,
-               [out]     samr_RidTypeArray *rids
-               );
-
-
-       /************************/
-       /* Function    0x1a     */
-
-       /*
-         win2003 seems to accept any data at all for the two integers
-         below, and doesn't seem to do anything with them that I can
-         see. Weird. I really expected the first integer to be a rid
-         and the second to be the attributes for that rid member.
-       */
-       NTSTATUS samr_SetMemberAttributesOfGroup(
-               [in,ref]  policy_handle *group_handle,
-               [in]      uint32 unknown1,
-               [in]      uint32 unknown2
-               );
-
-
-       /************************/
-       /* Function    0x1b     */
-       NTSTATUS samr_OpenAlias (
-               [in,ref]      policy_handle *domain_handle,
-               [in]          uint32 access_mask,
-               [in]          uint32 rid,
-               [out,ref]     policy_handle *alias_handle
-               );
-
-
-       /************************/
-       /* Function    0x1c     */
-
-       typedef struct {
-               lsa_String name;
-               uint32 num_members;
-               lsa_String description;
-       } samr_AliasInfoAll;
-
-       typedef enum {
-               ALIASINFOALL          = 1,
-               ALIASINFONAME         = 2,
-               ALIASINFODESCRIPTION  = 3
-       } samr_AliasInfoEnum;
-
-       typedef [switch_type(samr_AliasInfoEnum)] union {
-               [case(ALIASINFOALL)] samr_AliasInfoAll all;
-               [case(ALIASINFONAME)] lsa_String name;
-               [case(ALIASINFODESCRIPTION)] lsa_String description;
-       } samr_AliasInfo;
-
-       NTSTATUS samr_QueryAliasInfo(
-               [in,ref]                  policy_handle  *alias_handle,
-               [in]                      samr_AliasInfoEnum      level,
-               [out,switch_is(level)]    samr_AliasInfo *info
-               );
-
-       /************************/
-       /* Function    0x1d     */
-       NTSTATUS samr_SetAliasInfo(
-               [in,ref]                  policy_handle  *alias_handle,
-               [in]                      samr_AliasInfoEnum      level,
-               [in,switch_is(level),ref] samr_AliasInfo *info
-               );
-
-       /************************/
-       /* Function    0x1e     */
-       NTSTATUS samr_DeleteDomAlias(
-               [in,out,ref]  policy_handle *alias_handle
-               );
-
-       /************************/
-       /* Function    0x1f     */
-       NTSTATUS samr_AddAliasMember(
-               [in,ref]  policy_handle *alias_handle,
-               [in,ref]  dom_sid2      *sid
-               );
-
-       /************************/
-       /* Function    0x20     */
-       NTSTATUS samr_DeleteAliasMember(
-               [in,ref] policy_handle *alias_handle,
-               [in,ref] dom_sid2      *sid
-               );
-
-       /************************/
-       /* Function    0x21     */
-       NTSTATUS samr_GetMembersInAlias(
-               [in,ref]   policy_handle *alias_handle,
-               [out,ref]  lsa_SidArray    *sids
-               );
-
-       /************************/
-       /* Function    0x22     */
-       NTSTATUS samr_OpenUser(
-               [in,ref]      policy_handle *domain_handle,
-               [in]          uint32 access_mask,
-               [in]          uint32 rid,
-               [out,ref]     policy_handle *user_handle
-               );
-
-       /************************/
-       /* Function    0x23     */
-       NTSTATUS samr_DeleteUser(
-               [in,out,ref]   policy_handle *user_handle
-               );
-
-       /************************/
-       /* Function    0x24     */
-       typedef struct {
-               lsa_String account_name;
-               lsa_String full_name;
-               uint32 primary_gid;
-               lsa_String description;
-               lsa_String comment;
-       } samr_UserInfo1;
-
-       typedef struct {
-               lsa_String comment;
-               lsa_String unknown; /* settable, but doesn't stick. probably obsolete */
-               uint16 country_code;
-               uint16 code_page;
-       } samr_UserInfo2;
-
-       /* this is also used in samr and netlogon */
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint16 units_per_week;
-               [size_is(1260), length_is(units_per_week/8)] uint8 *bits;
-       } samr_LogonHours;
-
-       typedef struct {
-               lsa_String account_name;
-               lsa_String full_name;
-               uint32 rid;
-               uint32 primary_gid;
-               lsa_String home_directory;
-               lsa_String home_drive;
-               lsa_String logon_script;
-               lsa_String profile_path;
-               lsa_String workstations;
-               NTTIME last_logon;
-               NTTIME last_logoff;
-               NTTIME last_password_change;
-               NTTIME allow_password_change;
-               NTTIME force_password_change;
-               samr_LogonHours logon_hours;
-               uint16 bad_password_count;
-               uint16 logon_count;
-               samr_AcctFlags acct_flags;
-       } samr_UserInfo3;
-
-       typedef struct {
-               samr_LogonHours logon_hours;
-       } samr_UserInfo4;
-
-       typedef struct {
-               lsa_String account_name;
-               lsa_String full_name;
-               uint32 rid;
-               uint32 primary_gid;
-               lsa_String home_directory;
-               lsa_String home_drive;
-               lsa_String logon_script;
-               lsa_String profile_path;
-               lsa_String description;
-               lsa_String workstations;
-               NTTIME last_logon;
-               NTTIME last_logoff;
-               samr_LogonHours logon_hours;
-               uint16 bad_password_count;
-               uint16 logon_count;
-               NTTIME last_password_change;
-               NTTIME acct_expiry;
-               samr_AcctFlags acct_flags;
-       } samr_UserInfo5;
-
-       typedef struct {
-               lsa_String account_name;
-               lsa_String full_name;
-       } samr_UserInfo6;
-
-       typedef struct {
-               lsa_String account_name;
-       } samr_UserInfo7;
-
-       typedef struct {
-               lsa_String full_name;
-       } samr_UserInfo8;
-
-       typedef struct {
-               uint32 primary_gid;
-       } samr_UserInfo9;
-
-       typedef struct {
-               lsa_String home_directory;
-               lsa_String home_drive;
-       } samr_UserInfo10;
-
-       typedef struct {
-               lsa_String logon_script;
-       } samr_UserInfo11;
-
-       typedef struct {
-               lsa_String profile_path;
-       } samr_UserInfo12;
-
-       typedef struct {
-               lsa_String description;
-       } samr_UserInfo13;
-
-       typedef struct {
-               lsa_String workstations;
-       } samr_UserInfo14;
-
-       typedef struct {
-               samr_AcctFlags acct_flags;
-       } samr_UserInfo16;
-       
-       typedef struct {
-               NTTIME acct_expiry;
-       } samr_UserInfo17;
-
-       typedef struct {
-               lsa_String parameters;
-       } samr_UserInfo20;
-
-       /* this defines the bits used for fields_present in info21 */
-       typedef [bitmap32bit] bitmap {
-               SAMR_FIELD_ACCOUNT_NAME = 0x00000001,
-               SAMR_FIELD_FULL_NAME    = 0x00000002,
-               SAMR_FIELD_DESCRIPTION  = 0x00000010,
-               SAMR_FIELD_COMMENT      = 0x00000020,
-               SAMR_FIELD_LOGON_SCRIPT = 0x00000100,
-               SAMR_FIELD_PROFILE_PATH = 0x00000200,
-               SAMR_FIELD_WORKSTATIONS = 0x00000400,
-               SAMR_FIELD_LOGON_HOURS  = 0x00002000,
-               SAMR_FIELD_ACCT_FLAGS   = 0x00100000,
-               SAMR_FIELD_PARAMETERS   = 0x00200000,
-               SAMR_FIELD_COUNTRY_CODE = 0x00400000,
-               SAMR_FIELD_CODE_PAGE    = 0x00800000,
-               SAMR_FIELD_PASSWORD     = 0x01000000, /* either of these */
-               SAMR_FIELD_PASSWORD2    = 0x02000000 /* two bits seems to work */
-       } samr_FieldsPresent;
-
-       typedef struct {
-               NTTIME last_logon;
-               NTTIME last_logoff;
-               NTTIME last_password_change;
-               NTTIME acct_expiry;
-               NTTIME allow_password_change;
-               NTTIME force_password_change;
-               lsa_String account_name;
-               lsa_String full_name;
-               lsa_String home_directory;
-               lsa_String home_drive;
-               lsa_String logon_script;
-               lsa_String profile_path;
-               lsa_String description;
-               lsa_String workstations;
-               lsa_String comment;
-               lsa_String parameters;
-               lsa_String unknown1;
-               lsa_String unknown2;
-               lsa_String unknown3;
-               uint32 buf_count;
-               [size_is(buf_count)] uint8 *buffer;
-               uint32 rid;
-               uint32 primary_gid;
-               samr_AcctFlags acct_flags;
-               samr_FieldsPresent fields_present;
-               samr_LogonHours logon_hours;
-               uint16 bad_password_count;
-               uint16 logon_count;
-               uint16 country_code;
-               uint16 code_page;
-               uint8  nt_password_set;
-               uint8  lm_password_set;
-               uint8  password_expired;
-               uint8  unknown4;
-       } samr_UserInfo21;
-
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint8 data[516];
-       } samr_CryptPassword;
-
-       typedef struct {
-               samr_UserInfo21 info;
-               samr_CryptPassword password;
-       } samr_UserInfo23;
-
-       typedef struct {
-               samr_CryptPassword password;
-               uint16 pw_len;
-       } samr_UserInfo24;
-
-       typedef [flag(NDR_PAHEX)] struct {
-               uint8 data[532];
-       } samr_CryptPasswordEx;
-
-       typedef struct {
-               samr_UserInfo21 info;
-               samr_CryptPasswordEx password;
-       } samr_UserInfo25;
-
-       typedef struct {
-               samr_CryptPasswordEx password;
-               uint8 pw_len;
-       } samr_UserInfo26;
-
-       typedef [switch_type(uint16)] union {
-               [case(1)] samr_UserInfo1 info1;
-               [case(2)] samr_UserInfo2 info2;
-               [case(3)] samr_UserInfo3 info3;
-               [case(4)] samr_UserInfo4 info4;
-               [case(5)] samr_UserInfo5 info5;
-               [case(6)] samr_UserInfo6 info6;
-               [case(7)] samr_UserInfo7 info7;
-               [case(8)] samr_UserInfo8 info8;
-               [case(9)] samr_UserInfo9 info9;
-               [case(10)] samr_UserInfo10 info10;
-               [case(11)] samr_UserInfo11 info11;
-               [case(12)] samr_UserInfo12 info12;
-               [case(13)] samr_UserInfo13 info13;
-               [case(14)] samr_UserInfo14 info14;
-               [case(16)] samr_UserInfo16 info16;
-               [case(17)] samr_UserInfo17 info17;
-               [case(20)] samr_UserInfo20 info20;
-               [case(21)] samr_UserInfo21 info21;
-               [case(23)] samr_UserInfo23 info23;
-               [case(24)] samr_UserInfo24 info24;
-               [case(25)] samr_UserInfo25 info25;
-               [case(26)] samr_UserInfo26 info26;
-       } samr_UserInfo;
-
-       NTSTATUS samr_QueryUserInfo(
-               [in,ref]                  policy_handle *user_handle,
-               [in]                      uint16 level,
-               [out,switch_is(level)]    samr_UserInfo *info
-               );
-
-
-       /************************/
-       /* Function    0x25     */
-       NTSTATUS samr_SetUserInfo(
-               [in,ref]                   policy_handle *user_handle,
-               [in]                       uint16 level,
-               [in,ref,switch_is(level)]  samr_UserInfo *info
-               );
-
-       /************************/
-       /* Function    0x26     */
-       typedef [public, flag(NDR_PAHEX)] struct {
-               uint8 hash[16];
-       } samr_Password;
-
-       /*
-         this is a password change interface that doesn't give
-         the server the plaintext password. Depricated.
-       */
-       NTSTATUS samr_ChangePasswordUser(
-               [in,ref]    policy_handle *user_handle,
-               [in]        boolean8 lm_present,
-               [in]        samr_Password *old_lm_crypted,
-               [in]        samr_Password *new_lm_crypted,
-               [in]        boolean8 nt_present,
-               [in]        samr_Password *old_nt_crypted,
-               [in]        samr_Password *new_nt_crypted,
-               [in]        boolean8 cross1_present,
-               [in]        samr_Password *nt_cross,
-               [in]        boolean8 cross2_present,
-               [in]        samr_Password *lm_cross
-               );
-
-       /************************/
-       /* Function    0x27     */
-
-       typedef [public] struct {
-               uint32 rid;
-               samr_GroupAttrs attributes;
-       } samr_RidWithAttribute;
-
-       typedef [public] struct {
-               uint32     count;
-               [size_is(count)] samr_RidWithAttribute *rids;
-       } samr_RidWithAttributeArray;
-
-       NTSTATUS samr_GetGroupsForUser(
-               [in,ref]   policy_handle *user_handle,
-               [out]      samr_RidWithAttributeArray  *rids
-               );
-
-       /************************/
-       /* Function    0x28     */
-
-       typedef struct {
-               uint32    idx;
-               uint32    rid;
-               samr_AcctFlags acct_flags;
-               lsa_String account_name;
-               lsa_String full_name;
-               lsa_String description;
-       } samr_DispEntryGeneral;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] samr_DispEntryGeneral *entries;
-       } samr_DispInfoGeneral;
-
-       typedef struct {
-               uint32    idx;
-               uint32    rid;
-               samr_AcctFlags acct_flags;
-               lsa_String account_name;
-               lsa_String description;
-       } samr_DispEntryFull;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] samr_DispEntryFull *entries;
-       } samr_DispInfoFull;
-
-       typedef struct {
-               uint32    idx;
-               lsa_AsciiString account_name;
-       } samr_DispEntryAscii;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] samr_DispEntryAscii *entries;
-       } samr_DispInfoAscii;
-
-       typedef [switch_type(uint16)] union {
-               [case(1)] samr_DispInfoGeneral info1;/* users */
-               [case(2)] samr_DispInfoFull info2; /* trust accounts? */
-               [case(3)] samr_DispInfoFull info3; /* groups */
-               [case(4)] samr_DispInfoAscii info4; /* users */
-               [case(5)] samr_DispInfoAscii info5; /* groups */
-       } samr_DispInfo;
-
-       NTSTATUS samr_QueryDisplayInfo(
-               [in,ref]    policy_handle *domain_handle,
-               [in]        uint16 level,
-               [in]        uint32 start_idx,
-               [in]        uint32 max_entries,
-               [in]        uint32 buf_size,
-               [out]       uint32 total_size,
-               [out]       uint32 returned_size,
-               [out,switch_is(level)] samr_DispInfo info
-               );
-
-
-       /************************/
-       /* Function    0x29     */
-
-       /*
-         this seems to be an alphabetic search function. The returned index
-         is the index for samr_QueryDisplayInfo needed to get names occurring
-         after the specified name. The supplied name does not need to exist
-         in the database (for example you can supply just a first letter for 
-         searching starting at that letter)
-
-         The level corresponds to the samr_QueryDisplayInfo level
-       */
-       NTSTATUS samr_GetDisplayEnumerationIndex(
-               [in,ref]    policy_handle *domain_handle,
-               [in]        uint16 level,
-               [in]        lsa_String name,
-               [out]       uint32 idx
-               );
-
-
-
-       /************************/
-       /* Function    0x2a     */
-
-       /*
-         w2k3 returns NT_STATUS_NOT_IMPLEMENTED for this
-       */
-       NTSTATUS samr_TestPrivateFunctionsDomain(
-               [in,ref]    policy_handle *domain_handle
-               );
-
-
-       /************************/
-       /* Function    0x2b     */
-
-       /*
-         w2k3 returns NT_STATUS_NOT_IMPLEMENTED for this
-       */
-       NTSTATUS samr_TestPrivateFunctionsUser(
-               [in,ref]    policy_handle *user_handle
-               );
-
-
-       /************************/
-       /* Function    0x2c     */
-
-       typedef struct {
-               uint16 min_password_length;
-               samr_PasswordProperties password_properties;
-       } samr_PwInfo;
-
-       NTSTATUS samr_GetUserPwInfo(
-               [in,ref]    policy_handle *user_handle,
-               [out]       samr_PwInfo info
-               );
-
-       /************************/
-       /* Function    0x2d     */
-       NTSTATUS samr_RemoveMemberFromForeignDomain(
-               [in,ref]    policy_handle *domain_handle,
-               [in,ref]    dom_sid2 *sid
-               );
-
-       /************************/
-       /* Function    0x2e     */
-
-       /*
-         how is this different from QueryDomainInfo ??
-       */
-       NTSTATUS samr_QueryDomainInfo2(
-               [in,ref]      policy_handle *domain_handle,
-               [in]          uint16 level,
-               [out,switch_is(level)] samr_DomainInfo *info
-               );
-
-       /************************/
-       /* Function    0x2f     */
-
-       /*
-         how is this different from QueryUserInfo ??
-       */
-       NTSTATUS samr_QueryUserInfo2(
-               [in,ref]                  policy_handle *user_handle,
-               [in]                      uint16 level,
-               [out,switch_is(level)]    samr_UserInfo *info
-               );
-
-       /************************/
-       /* Function    0x30     */
-
-       /*
-         how is this different from QueryDisplayInfo??
-       */
-       NTSTATUS samr_QueryDisplayInfo2(
-               [in,ref]    policy_handle *domain_handle,
-               [in]        uint16 level,
-               [in]        uint32 start_idx,
-               [in]        uint32 max_entries,
-               [in]        uint32 buf_size,
-               [out]       uint32 total_size,
-               [out]       uint32 returned_size,
-               [out,switch_is(level)] samr_DispInfo info
-               );
-
-       /************************/
-       /* Function    0x31     */
-
-       /*
-         how is this different from GetDisplayEnumerationIndex ??
-       */
-       NTSTATUS samr_GetDisplayEnumerationIndex2(
-               [in,ref]    policy_handle *domain_handle,
-               [in]        uint16 level,
-               [in]        lsa_String name,
-               [out]       uint32 idx
-               );
-
-
-       /************************/
-       /* Function    0x32     */
-       NTSTATUS samr_CreateUser2(
-               [in,ref]      policy_handle *domain_handle,
-               [in,ref]      lsa_String *account_name,
-               [in]          samr_AcctFlags acct_flags,
-               [in]          uint32 access_mask,
-               [out,ref]     policy_handle *user_handle,
-               [out,ref]     uint32 *access_granted,
-               [out,ref]     uint32 *rid
-               );
-
-
-       /************************/
-       /* Function    0x33     */
-
-       /*
-         another duplicate. There must be a reason ....
-       */
-       NTSTATUS samr_QueryDisplayInfo3(
-               [in,ref]    policy_handle *domain_handle,
-               [in]        uint16 level,
-               [in]        uint32 start_idx,
-               [in]        uint32 max_entries,
-               [in]        uint32 buf_size,
-               [out]       uint32 total_size,
-               [out]       uint32 returned_size,
-               [out,switch_is(level)] samr_DispInfo info
-               );
-
-       /************************/
-       /* Function    0x34     */
-       NTSTATUS samr_AddMultipleMembersToAlias(
-               [in,ref]    policy_handle *alias_handle,
-               [in,ref]    lsa_SidArray *sids
-               );
-
-       /************************/
-       /* Function    0x35     */
-       NTSTATUS samr_RemoveMultipleMembersFromAlias(
-               [in,ref]    policy_handle *alias_handle,
-               [in,ref]    lsa_SidArray *sids
-               );
-
-       /************************/
-       /* Function    0x36     */
-
-       NTSTATUS samr_OemChangePasswordUser2(
-               [in]              lsa_AsciiString *server,
-               [in,ref]          lsa_AsciiString *account,
-               [in]              samr_CryptPassword *password,
-               [in]              samr_Password *hash
-               );
-
-       /************************/
-       /* Function    0x37     */
-       NTSTATUS samr_ChangePasswordUser2(
-               [in]              lsa_String *server,
-               [in,ref]          lsa_String *account,
-               [in]              samr_CryptPassword *nt_password,
-               [in]              samr_Password *nt_verifier,
-               [in]              boolean8 lm_change,
-               [in]              samr_CryptPassword *lm_password,
-               [in]              samr_Password *lm_verifier
-               );
-
-       /************************/
-       /* Function    0x38     */
-       NTSTATUS samr_GetDomPwInfo(
-               [in]        lsa_String *domain_name,
-               [out]       samr_PwInfo info
-               );
-
-       /************************/
-       /* Function    0x39     */
-       NTSTATUS samr_Connect2(
-               [in,string,charset(UTF16)] uint16 *system_name,
-               [in] uint32 access_mask,
-               [out,ref]  policy_handle *connect_handle
-               );
-
-       /************************/
-       /* Function    0x3a     */
-       /*
-         seems to be an exact alias for samr_SetUserInfo() 
-       */
-       NTSTATUS samr_SetUserInfo2(
-               [in,ref]                   policy_handle *user_handle,
-               [in]                       uint16 level,
-               [in,ref,switch_is(level)]  samr_UserInfo *info
-               );
-
-       /************************/
-       /* Function    0x3b     */
-       /*
-         this one is mysterious. I have a few guesses, but nothing working yet
-       */
-       NTSTATUS samr_SetBootKeyInformation(
-               [in,ref]   policy_handle *connect_handle,
-               [in]       uint32 unknown1,
-               [in]       uint32 unknown2,
-               [in]       uint32 unknown3
-               );
-
-       /************************/
-       /* Function    0x3c     */
-       NTSTATUS samr_GetBootKeyInformation(
-               [in,ref]   policy_handle *domain_handle,
-               [out]      uint32 unknown
-               );
-
-       /************************/
-       /* Function    0x3d     */
-       NTSTATUS samr_Connect3(
-               [in,string,charset(UTF16)] uint16 *system_name,
-               /* this unknown value seems to be completely ignored by w2k3 */
-               [in] uint32 unknown,
-               [in] uint32 access_mask,
-               [out,ref]  policy_handle *connect_handle
-               );
-
-       /************************/
-       /* Function    0x3e     */
-       NTSTATUS samr_Connect4(
-               [in,string,charset(UTF16)] uint16 *system_name,
-               [in] uint32 unknown,
-               [in] uint32 access_mask,
-               [out,ref]  policy_handle *connect_handle
-               );
-
-       /************************/
-       /* Function    0x3f     */
-
-       declare enum samr_RejectReason;
-
-       typedef struct {
-               samr_RejectReason reason;
-               uint32 unknown1;
-               uint32 unknown2;
-       } samr_ChangeReject;
-
-       NTSTATUS samr_ChangePasswordUser3(
-               [in]              lsa_String *server,
-               [in,ref]          lsa_String *account,
-               [in]              samr_CryptPassword *nt_password,
-               [in]              samr_Password *nt_verifier,
-               [in]              boolean8 lm_change,
-               [in]              samr_CryptPassword *lm_password,
-               [in]              samr_Password *lm_verifier,
-               [in]              samr_CryptPassword *password3,
-               [out]             samr_DomInfo1 *dominfo,
-               [out]             samr_ChangeReject *reject
-               );
-
-       /************************/
-       /* Function    0x40      */
-
-       typedef struct {
-               uint32         unknown1; /* w2k3 gives 3 */
-               uint32         unknown2; /* w2k3 gives 0 */
-       } samr_ConnectInfo1;
-
-       typedef union {
-               [case(1)]  samr_ConnectInfo1 info1;
-       } samr_ConnectInfo;
-
-       NTSTATUS samr_Connect5(
-               [in,string,charset(UTF16)] uint16 *system_name,
-               [in]       uint32             access_mask,
-               [in,out]   uint32             level,
-               [in,out,switch_is(level),ref] samr_ConnectInfo *info,
-               [out,ref]  policy_handle      *connect_handle
-               );
-
-       /************************/
-       /* Function    0x41     */
-       NTSTATUS samr_RidToSid(
-               [in,ref]    policy_handle *domain_handle,
-               [in]        uint32        rid,
-               [out]       dom_sid2      *sid
-               );
-
-
-       /************************/
-       /* Function    0x42     */
-
-       /*
-         this should set the DSRM password for the server, which is used
-         when booting into Directory Services Recovery Mode on a DC. Win2003
-         gives me NT_STATUS_NOT_SUPPORTED
-       */
-
-       NTSTATUS samr_SetDsrmPassword(
-               [in]       lsa_String *name,
-               [in]       uint32 unknown,
-               [in]       samr_Password *hash
-               );
-
-
-       /************************/
-       /* Function    0x43     */
-       /*
-         I haven't been able to work out the format of this one yet.
-         Seems to start with a switch level for a union?
-       */
-       NTSTATUS samr_ValidatePassword();
-}
diff --git a/source3/librpc/idl/security.idl b/source3/librpc/idl/security.idl
deleted file mode 100644 (file)
index 8bf5e6f..0000000
+++ /dev/null
@@ -1,355 +0,0 @@
-#include "idl_types.h"
-
-/*
-  security IDL structures
-*/
-
-[
-       pointer_default(unique),
-       depends(misc,security)
-]
-interface security
-{
-       /*
-         access masks are divided up like this:
-                0xabccdddd
-               where 
-                  a = generic rights bits        SEC_GENERIC_
-                  b = flags                      SEC_FLAG_
-                  c = standard rights bits       SEC_STD_
-                  d = object type specific bits  SEC_{FILE,DIR,REG,xxx}_
-                  
-          common combinations of bits are prefixed with SEC_RIGHTS_
-       */
-       const int SEC_MASK_GENERIC         = 0xF0000000;
-       const int SEC_MASK_FLAGS           = 0x0F000000;
-       const int SEC_MASK_STANDARD        = 0x00FF0000;
-       const int SEC_MASK_SPECIFIC        = 0x0000FFFF;
-
-       /* generic bits */
-       const int SEC_GENERIC_ALL          = 0x10000000;
-       const int SEC_GENERIC_EXECUTE      = 0x20000000;
-       const int SEC_GENERIC_WRITE        = 0x40000000;
-       const int SEC_GENERIC_READ         = 0x80000000;
-
-       /* flag bits */
-       const int SEC_FLAG_SYSTEM_SECURITY = 0x01000000;
-       const int SEC_FLAG_MAXIMUM_ALLOWED = 0x02000000;
-
-       /* standard bits */
-       const int SEC_STD_DELETE           = 0x00010000;
-       const int SEC_STD_READ_CONTROL     = 0x00020000;
-       const int SEC_STD_WRITE_DAC        = 0x00040000;
-       const int SEC_STD_WRITE_OWNER      = 0x00080000;
-       const int SEC_STD_SYNCHRONIZE      = 0x00100000;
-       const int SEC_STD_REQUIRED         = 0x000F0000;
-       const int SEC_STD_ALL              = 0x001F0000;
-
-       /* file specific bits */
-       const int SEC_FILE_READ_DATA       = 0x00000001;
-       const int SEC_FILE_WRITE_DATA      = 0x00000002;
-       const int SEC_FILE_APPEND_DATA     = 0x00000004;
-       const int SEC_FILE_READ_EA         = 0x00000008;
-       const int SEC_FILE_WRITE_EA        = 0x00000010;
-       const int SEC_FILE_EXECUTE         = 0x00000020;
-       const int SEC_FILE_READ_ATTRIBUTE  = 0x00000080;
-       const int SEC_FILE_WRITE_ATTRIBUTE = 0x00000100;
-       const int SEC_FILE_ALL             = 0x000001ff;
-
-       /* directory specific bits */
-       const int SEC_DIR_LIST             = 0x00000001;
-       const int SEC_DIR_ADD_FILE         = 0x00000002;
-       const int SEC_DIR_ADD_SUBDIR       = 0x00000004;
-       const int SEC_DIR_READ_EA          = 0x00000008;
-       const int SEC_DIR_WRITE_EA         = 0x00000010;
-       const int SEC_DIR_TRAVERSE         = 0x00000020;
-       const int SEC_DIR_DELETE_CHILD     = 0x00000040;
-       const int SEC_DIR_READ_ATTRIBUTE   = 0x00000080;
-       const int SEC_DIR_WRITE_ATTRIBUTE  = 0x00000100;
-
-       /* registry entry specific bits */
-       const int SEC_REG_QUERY_VALUE      = 0x00000001;
-       const int SEC_REG_SET_VALUE        = 0x00000002;
-       const int SEC_REG_CREATE_SUBKEY    = 0x00000004;
-       const int SEC_REG_ENUM_SUBKEYS     = 0x00000008;
-       const int SEC_REG_NOTIFY           = 0x00000010;
-       const int SEC_REG_CREATE_LINK      = 0x00000020;
-
-       /* ldap specific access bits */
-       const int SEC_ADS_CREATE_CHILD     = 0x00000001;
-       const int SEC_ADS_DELETE_CHILD     = 0x00000002;
-       const int SEC_ADS_LIST             = 0x00000004;
-       const int SEC_ADS_SELF_WRITE       = 0x00000008;
-       const int SEC_ADS_READ_PROP        = 0x00000010;
-       const int SEC_ADS_WRITE_PROP       = 0x00000020;
-       const int SEC_ADS_DELETE_TREE      = 0x00000040;
-       const int SEC_ADS_LIST_OBJECT      = 0x00000080;
-       const int SEC_ADS_CONTROL_ACCESS   = 0x00000100;
-
-       /* generic->specific mappings for files */
-       const int SEC_RIGHTS_FILE_READ    = SEC_STD_READ_CONTROL | 
-                                           SEC_STD_SYNCHRONIZE | 
-                                           SEC_FILE_READ_DATA | 
-                                            SEC_FILE_READ_ATTRIBUTE | 
-                                            SEC_FILE_READ_EA;
-
-       const int SEC_RIGHTS_FILE_WRITE   = SEC_STD_READ_CONTROL | 
-                                           SEC_STD_SYNCHRONIZE | 
-                                           SEC_FILE_WRITE_DATA | 
-                                            SEC_FILE_WRITE_ATTRIBUTE | 
-                                            SEC_FILE_WRITE_EA |
-                                            SEC_FILE_APPEND_DATA;
-       
-       const int SEC_RIGHTS_FILE_EXECUTE = SEC_STD_SYNCHRONIZE | 
-                                           SEC_STD_READ_CONTROL | 
-                                           SEC_FILE_READ_ATTRIBUTE | 
-                                            SEC_FILE_EXECUTE;
-
-       const int SEC_RIGHTS_FILE_ALL     = SEC_STD_ALL | SEC_FILE_ALL;
-
-       /* generic->specific mappings for directories (same as files) */
-       const int SEC_RIGHTS_DIR_READ     = SEC_RIGHTS_FILE_READ;
-       const int SEC_RIGHTS_DIR_WRITE    = SEC_RIGHTS_FILE_WRITE;
-       const int SEC_RIGHTS_DIR_EXECUTE  = SEC_RIGHTS_FILE_EXECUTE;
-       const int SEC_RIGHTS_DIR_ALL      = SEC_RIGHTS_FILE_ALL;
-
-
-       /***************************************************************/
-       /* WELL KNOWN SIDS */
-
-       /* a NULL sid */
-       const string SID_NULL = "S-1-0-0";
-
-       /* the world domain */
-       const string SID_WORLD_DOMAIN = "S-1-1";
-       const string SID_WORLD        = "S-1-1-0";
-
-       /* SECURITY_CREATOR_SID_AUTHORITY */
-       const string SID_CREATOR_OWNER_DOMAIN = "S-1-3";
-       const string SID_CREATOR_OWNER        = "S-1-3-0";
-       const string SID_CREATOR_GROUP        = "S-1-3-1";
-
-       /* SECURITY_NT_AUTHORITY */
-       const string SID_NT_AUTHORITY             = "S-1-5";
-       const string SID_NT_DIALUP                = "S-1-5-1";
-       const string SID_NT_NETWORK               = "S-1-5-2";
-       const string SID_NT_BATCH                 = "S-1-5-3";
-       const string SID_NT_INTERACTIVE           = "S-1-5-4";
-       const string SID_NT_SERVICE               = "S-1-5-6";
-       const string SID_NT_ANONYMOUS             = "S-1-5-7";
-       const string SID_NT_PROXY                 = "S-1-5-8";
-       const string SID_NT_ENTERPRISE_DCS        = "S-1-5-9";
-       const string SID_NT_SELF                  = "S-1-5-10";
-       const string SID_NT_AUTHENTICATED_USERS   = "S-1-5-11";
-       const string SID_NT_RESTRICTED            = "S-1-5-12";
-       const string SID_NT_TERMINAL_SERVER_USERS = "S-1-5-13";
-       const string SID_NT_REMOTE_INTERACTIVE    = "S-1-5-14";
-       const string SID_NT_THIS_ORGANISATION     = "S-1-5-15";
-       const string SID_NT_SYSTEM                = "S-1-5-18";
-       const string SID_NT_LOCAL_SERVICE         = "S-1-5-19";
-       const string SID_NT_NETWORK_SERVICE       = "S-1-5-20";
-
-       /* SECURITY_BUILTIN_DOMAIN_RID */
-       const string SID_BUILTIN                   = "S-1-5-32";
-       const string SID_BUILTIN_ADMINISTRATORS    = "S-1-5-32-544";
-       const string SID_BUILTIN_USERS             = "S-1-5-32-545";
-       const string SID_BUILTIN_GUESTS            = "S-1-5-32-546";
-       const string SID_BUILTIN_POWER_USERS       = "S-1-5-32-547";
-       const string SID_BUILTIN_ACCOUNT_OPERATORS = "S-1-5-32-548";
-       const string SID_BUILTIN_SERVER_OPERATORS  = "S-1-5-32-549";
-       const string SID_BUILTIN_PRINT_OPERATORS   = "S-1-5-32-550";
-       const string SID_BUILTIN_BACKUP_OPERATORS  = "S-1-5-32-551";
-       const string SID_BUILTIN_REPLICATOR        = "S-1-5-32-552";
-       const string SID_BUILTIN_RAS_SERVERS       = "S-1-5-32-553";
-       const string SID_BUILTIN_PREW2K            = "S-1-5-32-554";
-
-       /* well-known domain RIDs */
-       const int DOMAIN_RID_LOGON                 = 9;
-       const int DOMAIN_RID_ADMINISTRATOR         = 500;
-       const int DOMAIN_RID_GUEST                 = 501;
-       const int DOMAIN_RID_ADMINS                = 512;
-       const int DOMAIN_RID_USERS                 = 513;
-       const int DOMAIN_RID_DCS                   = 516;
-       const int DOMAIN_RID_CERT_ADMINS           = 517;
-       const int DOMAIN_RID_SCHEMA_ADMINS         = 518;
-       const int DOMAIN_RID_ENTERPRISE_ADMINS     = 519;
-
-
-       /*
-         privilege IDs. Please keep the IDs below 64. If we get more
-         than 64 then we need to change security_token
-       */
-       typedef enum {
-               SEC_PRIV_SECURITY                  = 1,
-               SEC_PRIV_BACKUP                    = 2,
-               SEC_PRIV_RESTORE                   = 3,
-               SEC_PRIV_SYSTEMTIME                = 4,
-               SEC_PRIV_SHUTDOWN                  = 5,
-               SEC_PRIV_REMOTE_SHUTDOWN           = 6,
-               SEC_PRIV_TAKE_OWNERSHIP            = 7,
-               SEC_PRIV_DEBUG                     = 8,
-               SEC_PRIV_SYSTEM_ENVIRONMENT        = 9,
-               SEC_PRIV_SYSTEM_PROFILE            = 10,
-               SEC_PRIV_PROFILE_SINGLE_PROCESS    = 11,
-               SEC_PRIV_INCREASE_BASE_PRIORITY    = 12,
-               SEC_PRIV_LOAD_DRIVER               = 13,
-               SEC_PRIV_CREATE_PAGEFILE           = 14,
-               SEC_PRIV_INCREASE_QUOTA            = 15,
-               SEC_PRIV_CHANGE_NOTIFY             = 16,
-               SEC_PRIV_UNDOCK                    = 17,
-               SEC_PRIV_MANAGE_VOLUME             = 18,
-               SEC_PRIV_IMPERSONATE               = 19,
-               SEC_PRIV_CREATE_GLOBAL             = 20,
-               SEC_PRIV_ENABLE_DELEGATION         = 21,
-               SEC_PRIV_INTERACTIVE_LOGON         = 22,
-               SEC_PRIV_NETWORK_LOGON             = 23,
-               SEC_PRIV_REMOTE_INTERACTIVE_LOGON  = 24
-       } sec_privilege;
-
-
-       /* a domain SID. Note that unlike Samba3 this contains a pointer,
-          so you can't copy them using assignment */
-       typedef [public,gensize,noprint,noejs,nosize] struct {
-               uint8  sid_rev_num;             /**< SID revision number */
-               [range(0,15)] int8  num_auths;  /**< Number of sub-authorities */
-               uint8  id_auth[6];              /**< Identifier Authority */
-               uint32 sub_auths[num_auths];
-       } dom_sid;
-
-       typedef [bitmap8bit] bitmap {
-               SEC_ACE_FLAG_OBJECT_INHERIT             = 0x01,
-               SEC_ACE_FLAG_CONTAINER_INHERIT          = 0x02,
-               SEC_ACE_FLAG_NO_PROPAGATE_INHERIT       = 0x04,
-               SEC_ACE_FLAG_INHERIT_ONLY               = 0x08,
-               SEC_ACE_FLAG_INHERITED_ACE              = 0x10,
-               SEC_ACE_FLAG_VALID_INHERIT              = 0x0f,
-               SEC_ACE_FLAG_SUCCESSFUL_ACCESS          = 0x40,
-               SEC_ACE_FLAG_FAILED_ACCESS              = 0x80
-       } security_ace_flags;
-
-       typedef [enum8bit] enum {
-               SEC_ACE_TYPE_ACCESS_ALLOWED             = 0,
-               SEC_ACE_TYPE_ACCESS_DENIED              = 1,
-               SEC_ACE_TYPE_SYSTEM_AUDIT               = 2,
-               SEC_ACE_TYPE_SYSTEM_ALARM               = 3,
-               SEC_ACE_TYPE_ALLOWED_COMPOUND           = 4,
-               SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT      = 5,
-               SEC_ACE_TYPE_ACCESS_DENIED_OBJECT       = 6,
-               SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT        = 7,
-               SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT        = 8
-       } security_ace_type;
-
-       typedef bitmap {
-               SEC_ACE_OBJECT_TYPE_PRESENT             = 0x00000001,
-               SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT   = 0x00000002
-       } security_ace_object_flags;
-
-       typedef [nodiscriminant] union {
-               /* this is the 'schemaIDGUID' attribute of the attribute object in the schema naming context */
-               [case(SEC_ACE_OBJECT_TYPE_PRESENT)] GUID type;
-               [default];
-       } security_ace_object_type;
-
-       typedef [nodiscriminant] union {
-               /* this is the 'schemaIDGUID' attribute of the objectclass object in the schema naming context
-                * (of the parent container)
-                */
-               [case(SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT)] GUID inherited_type;
-               [default];
-       } security_ace_object_inherited_type;
-
-       typedef struct {
-               security_ace_object_flags flags;
-               [switch_is(flags & SEC_ACE_OBJECT_TYPE_PRESENT)] security_ace_object_type type;
-               [switch_is(flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT)] security_ace_object_inherited_type inherited_type;
-       } security_ace_object;
-
-       typedef [nodiscriminant] union {
-               [case(SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT)] security_ace_object object;
-               [case(SEC_ACE_TYPE_ACCESS_DENIED_OBJECT)] security_ace_object object;
-               [case(SEC_ACE_TYPE_SYSTEM_AUDIT_OBJECT)] security_ace_object object;
-               [case(SEC_ACE_TYPE_SYSTEM_ALARM_OBJECT)] security_ace_object object;
-               [default];
-       } security_ace_object_ctr;
-
-       typedef [public,gensize,nosize] struct {
-               security_ace_type type;  /* SEC_ACE_TYPE_* */
-               security_ace_flags flags; /* SEC_ACE_FLAG_* */
-               [value(ndr_size_security_ace(r,ndr->flags))] uint16 size;
-               uint32 access_mask;
-               [switch_is(type)] security_ace_object_ctr object;
-               dom_sid trustee;
-       } security_ace;
-
-       typedef enum {
-               SECURITY_ACL_REVISION_NT4       = 2,
-               SECURITY_ACL_REVISION_ADS       = 4
-       } security_acl_revision;
-
-       const uint NT4_ACL_REVISION     = SECURITY_ACL_REVISION_NT4;
-
-       typedef [public,gensize,nosize] struct {
-               security_acl_revision revision;
-               [value(ndr_size_security_acl(r,ndr->flags))] uint16 size;
-               [range(0,1000)] uint32 num_aces;
-               security_ace aces[num_aces];
-       } security_acl;
-
-       /* default revision for new ACLs */
-       typedef [enum8bit] enum {
-               SECURITY_DESCRIPTOR_REVISION_1 = 1
-       } security_descriptor_revision;
-
-       const int SD_REVISION                    = SECURITY_DESCRIPTOR_REVISION_1;
-
-       /* security_descriptor->type bits */
-       typedef [bitmap16bit] bitmap {
-               SEC_DESC_OWNER_DEFAULTED        = 0x0001,
-               SEC_DESC_GROUP_DEFAULTED        = 0x0002,
-               SEC_DESC_DACL_PRESENT           = 0x0004,
-               SEC_DESC_DACL_DEFAULTED         = 0x0008,
-               SEC_DESC_SACL_PRESENT           = 0x0010,
-               SEC_DESC_SACL_DEFAULTED         = 0x0020,
-               SEC_DESC_DACL_TRUSTED           = 0x0040,
-               SEC_DESC_SERVER_SECURITY        = 0x0080,
-               SEC_DESC_DACL_AUTO_INHERIT_REQ  = 0x0100,
-               SEC_DESC_SACL_AUTO_INHERIT_REQ  = 0x0200,
-               SEC_DESC_DACL_AUTO_INHERITED    = 0x0400,
-               SEC_DESC_SACL_AUTO_INHERITED    = 0x0800,
-               SEC_DESC_DACL_PROTECTED         = 0x1000,
-               SEC_DESC_SACL_PROTECTED         = 0x2000,
-               SEC_DESC_RM_CONTROL_VALID       = 0x4000,
-               SEC_DESC_SELF_RELATIVE          = 0x8000
-       } security_descriptor_type;
-
-       typedef [gensize,nosize,public,flag(NDR_LITTLE_ENDIAN)] struct {
-               security_descriptor_revision revision;
-               security_descriptor_type type;     /* SEC_DESC_xxxx flags */
-               [relative] dom_sid *owner_sid; 
-               [relative] dom_sid *group_sid;
-               [relative] security_acl *sacl; /* system ACL */
-               [relative] security_acl *dacl; /* user (discretionary) ACL */
-       } security_descriptor;
-
-       typedef [public] struct {
-               [range(0,0x40000),value(ndr_size_security_descriptor(sd,ndr->flags))] uint32 sd_size;
-               [subcontext(4)] security_descriptor *sd;
-       } sec_desc_buf;
-
-       typedef [public] struct {
-               dom_sid *user_sid;
-               dom_sid *group_sid;
-               uint32 num_sids;
-               [size_is(num_sids)] dom_sid *sids[*];
-               udlong privilege_mask;
-       } security_token;
-
-       /* bits that determine which parts of a security descriptor
-          are being queried/set */
-       typedef [public,bitmap32bit] bitmap {
-               SECINFO_OWNER                = 0x00000001,
-               SECINFO_GROUP                = 0x00000002,
-               SECINFO_DACL                 = 0x00000004,
-               SECINFO_SACL                 = 0x00000008
-       } security_secinfo;
-}
diff --git a/source3/librpc/idl/spoolss.idl b/source3/librpc/idl/spoolss.idl
deleted file mode 100644 (file)
index 02e6ff3..0000000
+++ /dev/null
@@ -1,1417 +0,0 @@
-#include "idl_types.h"
-
-/*
-  spoolss interface definitions
-*/
-
-[ uuid("12345678-1234-abcd-ef00-0123456789ab"),
-  version(1.0),
-  endpoint("ncacn_np:[\\pipe\\spoolss]"),
-  pointer_default(unique),
-  pointer_default_top(unique),
-  helpstring("Spooler SubSystem"),
-  depends(security),
-  helper("librpc/ndr/ndr_spoolss_buf.h"),
-  keepref
-] interface spoolss
-{
-       typedef struct {
-               uint16 year;
-               uint16 month;
-               uint16 day_of_week;
-               uint16 day;
-               uint16 hour;
-               uint16 minute;
-               uint16 second;
-               uint16 millisecond;
-       } spoolss_Time;
-
-       typedef struct {
-               [relative] nstring *printername;
-               [relative] nstring *servername;
-               uint32 cjobs;
-               uint32 total_jobs;
-               uint32 total_bytes;
-               spoolss_Time time;              
-               uint32 global_counter;
-               uint32 total_pages;
-               uint32 version;
-               uint32 unknown10;
-               uint32 unknown11;
-               uint32 unknown12;
-               uint32 session_counter;
-               uint32 unknown14;
-               uint32 printer_errors;
-               uint32 unknown16;
-               uint32 unknown17;
-               uint32 unknown18;
-               uint32 unknown19;
-               uint32 change_id;
-               uint32 unknown21;
-               uint32 status;
-               uint32 unknown23;
-               uint32 c_setprinter;
-               uint16 unknown25;
-               uint16 unknown26;
-               uint32 unknown27;
-               uint32 unknown28;
-               uint32 unknown29;
-       } spoolss_PrinterInfo0;
-
-       typedef [public,gensize] struct {
-               string32 devicename;
-               uint16 specversion;
-               uint16 driverversion;
-               uint16 size;
-               [value(r->driverextra_data.length)] uint16 __driverextra_length;
-               uint32 fields;
-               uint16 orientation;
-               uint16 papersize;
-               uint16 paperlength;
-               uint16 paperwidth;
-               uint16 scale;
-               uint16 copies;
-               uint16 defaultsource;
-               uint16 printquality;
-               uint16 color;
-               uint16 duplex;
-               uint16 yresolution;
-               uint16 ttoption;
-               uint16 collate;
-               string32 formname;
-               uint16 logpixels;
-               uint32 bitsperpel;
-               uint32 pelswidth;
-               uint32 pelsheight;
-               uint32 displayflags;
-               uint32 displayfrequency;
-               uint32 icmmethod;
-               uint32 icmintent;
-               uint32 mediatype;
-               uint32 dithertype;
-               uint32 reserved1;
-               uint32 reserved2;
-               uint32 panningwidth;
-               uint32 panningheight;
-               [subcontext_size(__driverextra_length),subcontext(0),flag(NDR_REMAINING)] DATA_BLOB driverextra_data;
-       } spoolss_DeviceMode;
-
-       typedef [public] bitmap {
-               PRINTER_ENUM_DEFAULT     = 0x00000001,
-               PRINTER_ENUM_LOCAL       = 0x00000002,
-               PRINTER_ENUM_CONNECTIONS = 0x00000004,
-               PRINTER_ENUM_FAVORITE    = 0x00000004,
-               PRINTER_ENUM_NAME        = 0x00000008,
-               PRINTER_ENUM_REMOTE      = 0x00000010,
-               PRINTER_ENUM_SHARED      = 0x00000020,
-               PRINTER_ENUM_NETWORK     = 0x00000040,
-               PRINTER_ENUM_EXPAND      = 0x00004000,
-               PRINTER_ENUM_CONTAINER   = 0x00008000,
-               PRINTER_ENUM_ICON1       = 0x00010000,
-               PRINTER_ENUM_ICON2       = 0x00020000,
-               PRINTER_ENUM_ICON3       = 0x00040000,
-               PRINTER_ENUM_ICON4       = 0x00080000,
-               PRINTER_ENUM_ICON5       = 0x00100000,
-               PRINTER_ENUM_ICON6       = 0x00200000,
-               PRINTER_ENUM_ICON7       = 0x00400000,
-               PRINTER_ENUM_ICON8       = 0x00800000,
-               PRINTER_ENUM_HIDE        = 0x01000000
-       } spoolss_EnumPrinterFlags;
-
-       typedef struct {
-               spoolss_EnumPrinterFlags flags;
-               [relative] nstring *name;
-               [relative] nstring *description;
-               [relative] nstring *comment;
-       } spoolss_PrinterInfo1;
-
-       typedef bitmap {
-               PRINTER_ATTRIBUTE_QUEUED                = 0x00000001,
-               PRINTER_ATTRIBUTE_DIRECT                = 0x00000002,
-               PRINTER_ATTRIBUTE_DEFAULT               = 0x00000004,
-               PRINTER_ATTRIBUTE_SHARED                = 0x00000008,
-               PRINTER_ATTRIBUTE_NETWORK               = 0x00000010,
-               PRINTER_ATTRIBUTE_HIDDEN                = 0x00000020,
-               PRINTER_ATTRIBUTE_LOCAL                 = 0x00000040,
-               PRINTER_ATTRIBUTE_ENABLE_DEVQ           = 0x00000080,
-               PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS       = 0x00000100,
-               PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST     = 0x00000200,
-               PRINTER_ATTRIBUTE_WORK_OFFLINE          = 0x00000400,
-               PRINTER_ATTRIBUTE_ENABLE_BIDI           = 0x00000800,
-               PRINTER_ATTRIBUTE_RAW_ONLY              = 0x00001000,
-               PRINTER_ATTRIBUTE_PUBLISHED             = 0x00002000,
-               PRINTER_ATTRIBUTE_FAX                   = 0x00004000,
-               PRINTER_ATTRIBUTE_TS                    = 0x00008000
-       } spoolss_PrinterAttributes;
-
-       typedef bitmap {
-               PRINTER_STATUS_PAUSED           = 0x00000001,
-               PRINTER_STATUS_ERROR            = 0x00000002,
-               PRINTER_STATUS_PENDING_DELETION = 0x00000004,
-               PRINTER_STATUS_PAPER_JAM        = 0x00000008,
-               PRINTER_STATUS_PAPER_OUT        = 0x00000010,
-               PRINTER_STATUS_MANUAL_FEED      = 0x00000020,
-               PRINTER_STATUS_PAPER_PROBLEM    = 0x00000040,
-               PRINTER_STATUS_OFFLINE          = 0x00000080,
-               PRINTER_STATUS_IO_ACTIVE        = 0x00000100,
-               PRINTER_STATUS_BUSY             = 0x00000200,
-               PRINTER_STATUS_PRINTING         = 0x00000400,
-               PRINTER_STATUS_OUTPUT_BIN_FULL  = 0x00000800,
-               PRINTER_STATUS_NOT_AVAILABLE    = 0x00001000,
-               PRINTER_STATUS_WAITING          = 0x00002000,
-               PRINTER_STATUS_PROCESSING       = 0x00004000,
-               PRINTER_STATUS_INITIALIZING     = 0x00008000,
-               PRINTER_STATUS_WARMING_UP       = 0x00010000,
-               PRINTER_STATUS_TONER_LOW        = 0x00020000,
-               PRINTER_STATUS_NO_TONER         = 0x00040000,
-               PRINTER_STATUS_PAGE_PUNT        = 0x00080000,
-               PRINTER_STATUS_USER_INTERVENTION= 0x00100000,
-               PRINTER_STATUS_OUT_OF_MEMORY    = 0x00200000,
-               PRINTER_STATUS_DOOR_OPEN        = 0x00400000,
-               PRINTER_STATUS_SERVER_UNKNOWN   = 0x00800000,
-               PRINTER_STATUS_POWER_SAVE       = 0x01000000
-       } spoolss_PrinterStatus;
-
-       typedef struct {
-               [relative] nstring *servername;
-               [relative] nstring *printername;
-               [relative] nstring *sharename;
-               [relative] nstring *portname;
-               [relative] nstring *drivername;
-               [relative] nstring *comment;
-               [relative] nstring *location;
-               [relative,subcontext(0)] spoolss_DeviceMode *devmode;
-               [relative] nstring *sepfile;
-               [relative] nstring *printprocessor;
-               [relative] nstring *datatype;
-               [relative] nstring *parameters;
-               [relative,subcontext(0)] security_descriptor *secdesc;
-               spoolss_PrinterAttributes attributes;
-               uint32 priority;
-               uint32 defaultpriority;
-               uint32 starttime;
-               uint32 untiltime;
-               spoolss_PrinterStatus status;
-               uint32 cjobs;
-               uint32 averageppm;
-       } spoolss_PrinterInfo2;
-
-       typedef struct {
-               [relative,subcontext(0)] security_descriptor *secdesc;
-       } spoolss_PrinterInfo3;
-
-       typedef struct {
-               [relative] nstring *printername;
-               [relative] nstring *servername;
-               spoolss_PrinterAttributes attributes;
-       } spoolss_PrinterInfo4;
-
-       typedef struct {
-               [relative] nstring *printername;
-               [relative] nstring *portname;
-               spoolss_PrinterAttributes attributes;
-               uint32 device_not_selected_timeout;
-               uint32 transmission_retry_timeout;
-       } spoolss_PrinterInfo5;
-
-       typedef struct {
-               spoolss_PrinterStatus status;
-       } spoolss_PrinterInfo6;
-
-       typedef bitmap {
-               DSPRINT_PUBLISH         = 0x00000001,
-               DSPRINT_UPDATE          = 0x00000002,
-               DSPRINT_UNPUBLISH       = 0x00000004,
-               DSPRINT_REPUBLISH       = 0x00000008,
-               DSPRINT_PENDING         = 0x80000000
-       } spoolss_DsPrintAction;
-
-       typedef struct {
-               [relative] nstring *guid; /* text form of printer guid */
-               spoolss_DsPrintAction action;
-       } spoolss_PrinterInfo7;
-
-       typedef struct {
-               [relative,subcontext(0)] spoolss_DeviceMode *devmode;
-       } spoolss_DeviceModeInfo;
-
-       typedef [nodiscriminant,relative_base,public] union {
-               [case(0)] spoolss_PrinterInfo0 info0;
-               [case(1)] spoolss_PrinterInfo1 info1;
-               [case(2)] spoolss_PrinterInfo2 info2;
-               [case(3)] spoolss_PrinterInfo3 info3;
-               [case(4)] spoolss_PrinterInfo4 info4;
-               [case(5)] spoolss_PrinterInfo5 info5;
-               [case(6)] spoolss_PrinterInfo6 info6;
-               [case(7)] spoolss_PrinterInfo7 info7;
-               [case(8)] spoolss_DeviceModeInfo info8;
-               [case(9)] spoolss_DeviceModeInfo info9;
-               [default];
-       } spoolss_PrinterInfo;
-
-       /******************/
-       /* Function: 0x00 */
-       /* we are using this as internal parsing code */
-       [public,noopnum,noprint] WERROR _spoolss_EnumPrinters(
-               [in] spoolss_EnumPrinterFlags flags,
-               [in] [string,charset(UTF16)] uint16 *server,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out] DATA_BLOB *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-       [public,noopnum,noprint] void __spoolss_EnumPrinters(
-               [in] uint32 level,
-               [in] uint32 count,
-               [out,switch_is(level)] spoolss_PrinterInfo info[count]
-       );
-       [nopull,nopush] WERROR spoolss_EnumPrinters(
-               [in] spoolss_EnumPrinterFlags flags,
-               [in] [string,charset(UTF16)] uint16 *server,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               /* what we have here is a subcontext containing an array of no discriminant unions
-                * and the array has no size in front
-                */
-               [out,switch_is(level),size_is(count)] spoolss_PrinterInfo *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-
-       /******************/
-       /* Function: 0x01 */
-       typedef struct {
-               [value(_ndr_size_spoolss_DeviceMode(devmode, ndr->flags))] uint32 _ndr_size;
-               [subcontext(4),subcontext_size(_ndr_size)] spoolss_DeviceMode *devmode;
-       } spoolss_DevmodeContainer;
-
-       WERROR spoolss_OpenPrinter(
-               [in] [string,charset(UTF16)] uint16 *printername,
-               [in] [string,charset(UTF16)] uint16 *datatype,
-               [in] spoolss_DevmodeContainer devmode_ctr,
-               [in] uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x02 */
-       typedef struct {
-               uint32 job_id;
-               [relative] nstring *printer_name;
-               [relative] nstring *server_name;
-               [relative] nstring *user_name;
-               [relative] nstring *document_name;
-               [relative] nstring *data_type;
-               [relative] nstring *text_status;
-               uint32 status;
-               uint32 priority;
-               uint32 position;
-               uint32 total_pages;
-               uint32 pages_printed;
-               spoolss_Time time;
-       } spoolss_JobInfo1;
-
-       typedef [nodiscriminant,relative_base,public] union {
-               [case(1)] spoolss_JobInfo1 info1;
-               [case(2)]; /* TODO */
-               [case(3)]; /* TODO */
-               [default];
-       } spoolss_JobInfo;
-
-       typedef struct {
-               uint32 level;
-               [switch_is(level)] spoolss_JobInfo info;
-       } spoolss_JobInfoContainer;
-
-       typedef [v1_enum] enum {
-               SPOOLSS_JOB_CONTROL_PAUSE               = 1,
-               SPOOLSS_JOB_CONTROL_RESUME              = 2,
-               SPOOLSS_JOB_CONTROL_CANCEL              = 3,
-               SPOOLSS_JOB_CONTROL_RESTART             = 4,
-               SPOOLSS_JOB_CONTROL_DELETE              = 5,
-               SPOOLSS_JOB_CONTROL_SEND_TO_PRINTER     = 6,
-               SPOOLSS_JOB_CONTROL_LAST_PAGE_EJECTED   = 7
-       } spoolss_JobControl;
-
-       WERROR spoolss_SetJob(
-               [in,ref] policy_handle *handle,
-               [in] uint32 job_id,
-               [in] spoolss_JobInfoContainer *ctr,
-               [in] spoolss_JobControl command
-       );
-
-       /******************/
-       /* Function: 0x03 */
-       WERROR spoolss_GetJob(
-               [in,ref] policy_handle *handle,
-               [in]     uint32 job_id,
-               [in]     uint32 level,
-               [in]     DATA_BLOB *buffer,
-               [in]     uint32 offered,
-               [out,subcontext(4),subcontext_size(offered),switch_is(level)] spoolss_JobInfo *info,
-               [out]    uint32 needed
-       );
-
-       /******************/
-       /* Function: 0x04 */
-       [public,noopnum,noprint] WERROR _spoolss_EnumJobs(
-               [in,ref] policy_handle *handle,
-               [in]     uint32 firstjob,
-               [in]     uint32 numjobs,
-               [in]     uint32 level,
-               [in]     DATA_BLOB *buffer,
-               [in]     uint32 offered,
-               [out]    DATA_BLOB *info,
-               [out]    uint32 needed,
-               [out]    uint32 count
-       );
-       [public,noopnum,noprint] void __spoolss_EnumJobs(
-               [in] uint32 level,
-               [in] uint32 count,
-               [out,switch_is(level)] spoolss_JobInfo info[count]
-       );
-       [nopull,nopush] WERROR spoolss_EnumJobs(
-               [in,ref] policy_handle *handle,
-               [in]     uint32 firstjob,
-               [in]     uint32 numjobs,
-               [in]     uint32 level,
-               [in]     DATA_BLOB *buffer,
-               [in]     uint32 offered,
-               [out,switch_is(level),size_is(count)] spoolss_JobInfo *info,
-               [out]    uint32 needed,
-               [out]    uint32 count
-       );
-
-       /******************/
-       /* Function: 0x05 */
-       WERROR spoolss_AddPrinter(
-               /* This function is not implemented in Samba 3 as no
-                  clients have been observed using it. */
-       );
-
-       /******************/
-       /* Function: 0x06 */
-       WERROR spoolss_DeletePrinter(
-       );
-
-       /******************/
-       /* Function: 0x07 */
-       typedef [v1_enum] enum {
-               SPOOLSS_PRINTER_CONTROL_UNPAUSE    = 0,
-               SPOOLSS_PRINTER_CONTROL_PAUSE      = 1,
-               SPOOLSS_PRINTER_CONTROL_RESUME     = 2,
-               SPOOLSS_PRINTER_CONTROL_PURGE      = 3,
-               SPOOLSS_PRINTER_CONTROL_SET_STATUS = 4
-       } spoolss_PrinterControl;
-
-       typedef [switch_type(uint32)] union {
-               [case(0)] spoolss_PrinterInfo0 *info0;
-               [case(1)] spoolss_PrinterInfo1 *info1;
-               [case(2)] spoolss_PrinterInfo2 *info2;
-               [case(3)] spoolss_PrinterInfo3 *info3;
-               [case(4)] spoolss_PrinterInfo4 *info4;
-               [case(5)] spoolss_PrinterInfo5 *info5;
-               [case(6)] spoolss_PrinterInfo6 *info6;
-               [case(7)] spoolss_PrinterInfo7 *info7;
-               [case(8)] spoolss_DeviceModeInfo *info8;
-               [case(9)] spoolss_DeviceModeInfo *info9;
-               [default];
-       } spoolss_SetPrinterInfo;
-
-       WERROR spoolss_SetPrinter(
-               [in,ref] policy_handle *handle,
-               [in] uint32 level,
-               [in,switch_is(level)] spoolss_SetPrinterInfo info,
-               [in] spoolss_DevmodeContainer devmode_ctr,
-               [in] sec_desc_buf secdesc_ctr,
-               [in] spoolss_PrinterControl command
-       );
-
-       /******************/
-       /* Function: 0x08 */
-       WERROR spoolss_GetPrinter(
-               [in,ref] policy_handle *handle,
-               [in]     uint32 level,
-               [in]     DATA_BLOB *buffer,
-               [in]     uint32 offered,
-               [out,subcontext(4),subcontext_size(offered),switch_is(level)] spoolss_PrinterInfo *info,
-               [out]    uint32 needed
-       );
-
-       /******************/
-       /* Function: 0x09 */
-       WERROR spoolss_AddPrinterDriver(
-       );
-
-       typedef struct {
-               [relative] nstring *driver_name;
-       } spoolss_DriverInfo1;
-
-       typedef [v1_enum] enum {
-               SPOOLSS_DRIVER_VERSION_9X       = 0,
-               SPOOLSS_DRIVER_VERSION_NT35     = 1,
-               SPOOLSS_DRIVER_VERSION_NT4      = 2,
-               SPOOLSS_DRIVER_VERSION_200X     = 3
-       } spoolss_DriverOSVersion;
-
-       typedef struct {
-               spoolss_DriverOSVersion version;
-               [relative] nstring *driver_name;
-               [relative] nstring *architecture;
-               [relative] nstring *driver_path;
-               [relative] nstring *data_file;
-               [relative] nstring *config_file;
-       } spoolss_DriverInfo2;
-
-       typedef struct {
-               spoolss_DriverOSVersion version;
-               [relative] nstring *driver_name;
-               [relative] nstring *architecture;
-               [relative] nstring *driver_path;
-               [relative] nstring *data_file;
-               [relative] nstring *config_file;
-               [relative] nstring *help_file;
-               [relative] nstring_array *dependent_files;
-               [relative] nstring *monitor_name;
-               [relative] nstring *default_datatype;
-       } spoolss_DriverInfo3;
-
-       typedef struct {
-               spoolss_DriverOSVersion version;
-               [relative] nstring *driver_name;
-               [relative] nstring *architecture;
-               [relative] nstring *driver_path;
-               [relative] nstring *data_file;
-               [relative] nstring *config_file;
-               [relative] nstring *help_file;
-               [relative] nstring_array *dependent_files;
-               [relative] nstring *monitor_name;
-               [relative] nstring *default_datatype;
-               [relative] nstring_array *previous_names;
-       } spoolss_DriverInfo4;
-
-       typedef struct {
-               spoolss_DriverOSVersion version;
-               [relative] nstring *driver_name;
-               [relative] nstring *architecture;
-               [relative] nstring *driver_path;
-               [relative] nstring *data_file;
-               [relative] nstring *config_file;
-               uint32 driver_attributes;
-               uint32 config_version;
-               uint32 driver_version;
-       } spoolss_DriverInfo5;
-
-       typedef struct {
-               spoolss_DriverOSVersion version;
-               [relative] nstring *driver_name;
-               [relative] nstring *architecture;
-               [relative] nstring *driver_path;
-               [relative] nstring *data_file;
-               [relative] nstring *config_file;
-               [relative] nstring *help_file;
-               [relative] nstring_array *dependent_files;
-               [relative] nstring *monitor_name;
-               [relative] nstring *default_datatype;
-               [relative] nstring_array *previous_names;
-               NTTIME driver_data;
-               hyper driver_version;
-               [relative] nstring *manufacturer_name;
-               [relative] nstring *manufacturer_url;
-               [relative] nstring *hardware_id;
-               [relative] nstring *provider;
-       } spoolss_DriverInfo6;
-
-       typedef [nodiscriminant,relative_base,public] union {
-               [case(1)] spoolss_DriverInfo1 info1;
-               [case(2)] spoolss_DriverInfo2 info2;
-               [case(3)] spoolss_DriverInfo3 info3;
-               [case(4)] spoolss_DriverInfo4 info4;
-               [case(5)] spoolss_DriverInfo5 info5;
-               [case(6)] spoolss_DriverInfo6 info6;
-               [default];
-       } spoolss_DriverInfo;
-
-       /******************/
-       /* Function: 0x0a */
-       [public,noopnum,noprint] WERROR _spoolss_EnumPrinterDrivers(
-               [in] [string,charset(UTF16)] uint16 *server,
-               [in] [string,charset(UTF16)] uint16 *environment,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out] DATA_BLOB *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-       [public,noopnum,noprint] void __spoolss_EnumPrinterDrivers(
-               [in] uint32 level,
-               [in] uint32 count,
-               [out,switch_is(level)] spoolss_DriverInfo info[count]
-       );
-       [nopull,nopush] WERROR spoolss_EnumPrinterDrivers(
-               [in] [string,charset(UTF16)] uint16 *server,
-               [in] [string,charset(UTF16)] uint16 *environment,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out,switch_is(level),size_is(count)] spoolss_DriverInfo *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-
-       /******************/
-       /* Function: 0x0b */
-       WERROR spoolss_GetPrinterDriver(
-       );
-
-       /******************/
-       /* Function: 0x0c */
-       typedef struct {
-               nstring directory_name;
-       } spoolss_DriverDirectoryInfo1;
-
-       /* NOTE: it's seems that w2k3 completly ignores the level
-                in its server code
-        */
-       typedef [nodiscriminant,relative_base,gensize,public] union {
-               [case(1)] spoolss_DriverDirectoryInfo1 info1;
-               [default] spoolss_DriverDirectoryInfo1 info1;
-       } spoolss_DriverDirectoryInfo;
-
-       WERROR spoolss_GetPrinterDriverDirectory(
-               [in] [string,charset(UTF16)] uint16 *server,
-               [in] [string,charset(UTF16)] uint16 *environment,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out,subcontext(4),subcontext_size(offered),switch_is(level)] spoolss_DriverDirectoryInfo *info,
-               [out] uint32 needed
-       );
-
-       /******************/
-       /* Function: 0x0d */
-       WERROR spoolss_DeletePrinterDriver(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 *server,
-               [in] [string,charset(UTF16)] uint16 architecture[],
-               [in] [string,charset(UTF16)] uint16 driver[]
-       );
-
-       /******************/
-       /* Function: 0x0e */
-       WERROR spoolss_AddPrintProcessor(
-       );
-
-       /******************/
-       /* Function: 0x0f */
-       typedef struct {
-               [relative] nstring *print_processor_name;
-       } spoolss_PrintProcessorInfo1;
-
-       typedef [nodiscriminant,relative_base,public] union {
-               [case(1)] spoolss_PrintProcessorInfo1 info1;
-               [default];
-       } spoolss_PrintProcessorInfo;
-
-       [public,noopnum,noprint] WERROR _spoolss_EnumPrintProcessors(
-               [in] [string,charset(UTF16)] uint16 *servername,
-               [in] [string,charset(UTF16)] uint16 *environment,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out] DATA_BLOB *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-       [public,noopnum,noprint] void __spoolss_EnumPrintProcessors(
-               [in] uint32 level,
-               [in] uint32 count,
-               [out,switch_is(level)] spoolss_PrintProcessorInfo info[count]
-       );
-       [nopull,nopush] WERROR spoolss_EnumPrintProcessors(
-               [in] [string,charset(UTF16)] uint16 *servername,
-               [in] [string,charset(UTF16)] uint16 *environment,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out,switch_is(level),size_is(count)] spoolss_PrintProcessorInfo *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-
-       /******************/
-       /* Function: 0x10 */
-       WERROR spoolss_GetPrintProcessorDirectory(
-       );
-
-       /******************/
-       /* Function: 0x11 */
-       typedef struct {
-               [string,charset(UTF16)] uint16 *document_name;
-               [string,charset(UTF16)] uint16 *output_file;
-               [string,charset(UTF16)] uint16 *datatype;
-       } spoolss_DocumentInfo1;
-
-       typedef [switch_type(uint32)] union {
-               [case(1)] spoolss_DocumentInfo1 *info1;
-               [case(2)]; /* TODO */
-               [case(3)]; /* TODO */
-               [default];
-       } spoolss_DocumentInfo;
-
-       WERROR spoolss_StartDocPrinter(
-               [in,ref] policy_handle *handle,
-               [in] uint32 level,
-               [in,switch_is(level)] spoolss_DocumentInfo info,
-               [out] uint32 job_id
-       );
-
-       /******************/
-       /* Function: 0x12 */
-       WERROR spoolss_StartPagePrinter(
-               [in,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x13 */
-       WERROR spoolss_WritePrinter(
-               [in,ref] policy_handle *handle,
-               [in] DATA_BLOB data,
-               [in,value(r->in.data.length)] uint32 _data_size,
-               [out] uint32 num_written
-       );
-
-       /******************/
-       /* Function: 0x14 */
-       WERROR spoolss_EndPagePrinter(
-               [in,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x15 */
-       WERROR spoolss_AbortPrinter(
-               [in,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x16 */
-       WERROR spoolss_ReadPrinter(
-               [in,ref] policy_handle *handle,
-               [in] uint32 data_size,
-               [out] DATA_BLOB data,
-               [out,value(r->out.data.length)] uint32 _data_size
-       );
-
-       /******************/
-       /* Function: 0x17 */
-       WERROR spoolss_EndDocPrinter(
-               [in,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x18 */
-       WERROR spoolss_AddJob(
-       );
-
-       /******************/
-       /* Function: 0x19 */
-       WERROR spoolss_ScheduleJob(
-       );
-
-       /******************/
-       /* Function: 0x1a */
-       const string SPOOLSS_ARCHITECTURE_NT_X86                = "Windows NT x86";
-
-       typedef [public,gensize] struct {
-               [value(ndr_size_spoolss_OSVersion(r,ndr->flags))] uint32 _ndr_size;
-               uint32 major;
-               uint32 minor;
-               uint32 build;
-               [value(2)] uint32 unknown;
-               [subcontext(0),subcontext_size(256)] nstring extra_string;
-       } spoolss_OSVersion;
-
-       typedef [public,gensize] struct {
-               [value(ndr_size_spoolss_OSVersionEx(r,ndr->flags))] uint32 _ndr_size;
-               uint32 major;
-               uint32 minor;
-               uint32 build;
-               [value(2)] uint32 unknown1;
-               [subcontext(0),subcontext_size(256)] nstring extra_string;
-               uint32 unknown2;/* service pack number? I saw 0 from w2k3 and 1 from winxp sp1*/
-               uint32 unknown3;/* hmm? w2k3: 131346(0x20112) winxp sp1: 503382272 0x1E010100 */
-       } spoolss_OSVersionEx;
-
-       typedef [v1_enum] enum {
-               SPOOLSS_PRINTER_DATA_TYPE_NULL = 0,
-               SPOOLSS_PRINTER_DATA_TYPE_STRING = 1,
-               SPOOLSS_PRINTER_DATA_TYPE_BINARY = 3,
-               SPOOLSS_PRINTER_DATA_TYPE_UINT32 = 4,
-               SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY = 7
-       } spoolss_PrinterDataType;
-
-       typedef [nodiscriminant,public,gensize] union {
-               [case(SPOOLSS_PRINTER_DATA_TYPE_NULL)];
-               [case(SPOOLSS_PRINTER_DATA_TYPE_STRING)] nstring string;
-               [case(SPOOLSS_PRINTER_DATA_TYPE_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
-               [case(SPOOLSS_PRINTER_DATA_TYPE_UINT32)] uint32 value;
-               [case(SPOOLSS_PRINTER_DATA_TYPE_STRING_ARRAY)] nstring_array string_array;
-               [default,flag(NDR_REMAINING)] DATA_BLOB data;
-       } spoolss_PrinterData;
-
-       [noopnum,noprint,public] WERROR _spoolss_GetPrinterData(
-               [in,ref] policy_handle *handle,
-               [in]     [string,charset(UTF16)] uint16 value_name[],
-               [in]     uint32 offered,
-               [out]    spoolss_PrinterDataType type,
-               [out]    DATA_BLOB data,
-               [out]    uint32 needed
-       );
-       [noopnum,noprint,public] void __spoolss_GetPrinterData(
-               [in] spoolss_PrinterDataType type,
-               [out,switch_is(type)] spoolss_PrinterData data
-       );
-       [nopull,nopush] WERROR spoolss_GetPrinterData(
-               [in,ref] policy_handle *handle,
-               [in]     [string,charset(UTF16)] uint16 value_name[],
-               [in]     uint32 offered,
-               [out]    spoolss_PrinterDataType type,
-               [out,subcontext(4),subcontext_size(offered),switch_is(type)] spoolss_PrinterData data,
-               [out]    uint32 needed
-       );
-
-       /******************/
-       /* Function: 0x1b */
-       [noopnum,nopull,noprint,public] WERROR _spoolss_SetPrinterData(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 value_name[],
-               [in] spoolss_PrinterDataType type,
-               [in] DATA_BLOB data,
-               [in] uint32 _offered
-       );
-       [noopnum,nopull,noprint,public] void __spoolss_SetPrinterData(
-               [in] spoolss_PrinterDataType type,
-               [out,switch_is(type)] spoolss_PrinterData data
-       );
-       [nopush] WERROR spoolss_SetPrinterData(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 value_name[],
-               [in] spoolss_PrinterDataType type,
-               [in,subcontext(4),switch_is(type)] spoolss_PrinterData data,
-               [in,value(ndr_size_spoolss_PrinterData(&data,type,flags))] uint32 _offered
-       );
-
-       /******************/
-       /* Function: 0x1c */
-       WERROR spoolss_WaitForPrinterChange(
-       );
-
-       /******************/
-       /* Function: 0x1d */
-       WERROR spoolss_ClosePrinter(
-               [in,out,ref]     policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x1e */
-       typedef [v1_enum] enum {
-               SPOOLSS_FORM_USER       = 0,
-               SPOOLSS_FORM_BUILTIN    = 1,
-               SPOOLSS_FORM_PRINTER    = 2
-       } spoolss_FormFlags;
-
-       typedef struct {
-               uint32 width;
-               uint32 height;
-       } spoolss_FormSize;
-
-       typedef struct {
-               uint32 left;
-               uint32 top;
-               uint32 right;
-               uint32 bottom;
-       } spoolss_FormArea;
-
-       typedef struct {
-               spoolss_FormFlags flags;
-               [relative] nstring *form_name;
-               spoolss_FormSize size;
-               spoolss_FormArea area;
-       } spoolss_FormInfo1;
-
-       typedef [nodiscriminant,relative_base,public,gensize] union {
-               [case(1)] spoolss_FormInfo1 info1;
-               [default];
-       } spoolss_FormInfo;
-
-       typedef struct {
-               spoolss_FormFlags flags;
-               [string,charset(UTF16)] uint16 *form_name;
-               spoolss_FormSize size;
-               spoolss_FormArea area;
-       } spoolss_AddFormInfo1;
-
-       typedef [switch_type(uint32)] union {
-               [case(1)] spoolss_AddFormInfo1 *info1;
-       } spoolss_AddFormInfo;
-
-       WERROR spoolss_AddForm(
-               [in,ref] policy_handle *handle,
-               [in] uint32 level,
-               [in,switch_is(level)] spoolss_AddFormInfo info
-       );
-
-       /******************/
-       /* Function: 0x1f */
-       WERROR spoolss_DeleteForm(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 form_name[]
-       );
-
-       /******************/
-       /* Function: 0x20 */
-       WERROR spoolss_GetForm(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 form_name[],
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out,subcontext(4),subcontext_size(offered),switch_is(level)] spoolss_FormInfo *info,
-               [out] uint32 needed
-       );
-
-       /******************/
-       /* Function: 0x21 */
-       WERROR spoolss_SetForm(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 form_name[],
-               [in] uint32 level,
-               [in,switch_is(level)] spoolss_AddFormInfo info
-       );
-
-       /******************/
-       /* Function: 0x22 */
-       [public,noopnum,noprint] WERROR _spoolss_EnumForms(
-               [in,ref] policy_handle *handle,
-               [in]     uint32 level,
-               [in]     DATA_BLOB *buffer,
-               [in]     uint32 offered,
-               [out]    DATA_BLOB *info,
-               [out]    uint32 needed,
-               [out]    uint32 count
-       );
-       [public,noopnum,noprint] void __spoolss_EnumForms(
-               [in] uint32 level,
-               [in] uint32 count,
-               [out,switch_is(level)] spoolss_FormInfo info[count]
-       );
-       [nopull,nopush] WERROR spoolss_EnumForms(
-               [in,ref] policy_handle *handle,
-               [in]     uint32 level,
-               [in]     DATA_BLOB *buffer,
-               [in]     uint32 offered,
-               [out,switch_is(level),size_is(count)] spoolss_FormInfo *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-
-       typedef struct {
-               [relative] nstring *port_name;
-       } spoolss_PortInfo1;
-
-       typedef bitmap {
-               SPOOLSS_PORT_TYPE_WRITE         = 0x00000001,
-               SPOOLSS_PORT_TYPE_READ          = 0x00000002,
-               SPOOLSS_PORT_TYPE_REDIRECTED    = 0x00000004,
-               SPOOLSS_PORT_TYPE_NET_ATTACHED  = 0x00000008
-       } spoolss_PortType;
-
-       typedef struct {
-               [relative] nstring *port_name;
-               [relative] nstring *monitor_name;
-               [relative] nstring *description;
-               spoolss_PortType port_type;
-               uint32 reserved;
-       } spoolss_PortInfo2;
-
-       typedef [nodiscriminant,relative_base,public] union {
-               [case(1)] spoolss_PortInfo1 info1;
-               [case(2)] spoolss_PortInfo2 info2;
-               [case(3)]; /* TODO */
-               [default];
-       } spoolss_PortInfo;
-
-       /******************/
-       /* Function: 0x23 */
-       [public,noopnum,noprint] WERROR _spoolss_EnumPorts(
-               [in] [string,charset(UTF16)] uint16 *servername,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out] DATA_BLOB *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-       [public,noopnum,noprint] void __spoolss_EnumPorts(
-               [in] uint32 level,
-               [in] uint32 count,
-               [out,switch_is(level)] spoolss_PortInfo info[count]
-       );
-       [nopull,nopush] WERROR spoolss_EnumPorts(
-               [in] [string,charset(UTF16)] uint16 *servername,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out,switch_is(level),size_is(count)] spoolss_PortInfo *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-
-       /******************/
-       /* Function: 0x24 */
-       typedef struct {
-               [relative] nstring *monitor_name;
-       } spoolss_MonitorInfo1;
-
-       typedef struct {
-               [relative] nstring *monitor_name;
-               [relative] nstring *environment;
-               [relative] nstring *dll_name;
-       } spoolss_MonitorInfo2;
-
-       typedef [nodiscriminant,relative_base,public] union {
-               [case(1)] spoolss_MonitorInfo1 info1;
-               [case(2)] spoolss_MonitorInfo2 info2;
-               [default];
-       } spoolss_MonitorInfo;
-
-       [public,noopnum,noprint] WERROR _spoolss_EnumMonitors(
-               [in] [string,charset(UTF16)] uint16 *servername,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out] DATA_BLOB *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-       [public,noopnum,noprint] void __spoolss_EnumMonitors(
-               [in] uint32 level,
-               [in] uint32 count,
-               [out,switch_is(level)] spoolss_MonitorInfo info[count]
-       );
-       [nopull,nopush] WERROR spoolss_EnumMonitors(
-               [in] [string,charset(UTF16)] uint16 *servername,
-               [in] uint32 level,
-               [in] DATA_BLOB *buffer,
-               [in] uint32 offered,
-               [out,switch_is(level),size_is(count)] spoolss_MonitorInfo *info,
-               [out] uint32 needed,
-               [out] uint32 count
-       );
-
-       /******************/
-       /* Function: 0x25 */
-       WERROR spoolss_AddPort(
-              [in] [string,charset(UTF16)] uint16 *server_name,
-              [in] uint32 unknown,
-              [in] [string,charset(UTF16)] uint16 monitor_name[]
-       );
-
-       /******************/
-       /* Function: 0x26 */
-       WERROR spoolss_ConfigurePort(
-       );
-
-       /******************/
-       /* Function: 0x27 */
-       WERROR spoolss_DeletePort(
-       );
-
-       /******************/
-       /* Function: 0x28 */
-       WERROR spoolss_CreatePrinterIC(
-       );
-
-       /******************/
-       /* Function: 0x29 */
-       WERROR spoolss_PlayGDIScriptOnPrinterIC(
-       );
-
-       /******************/
-       /* Function: 0x2a */
-       WERROR spoolss_DeletePrinterIC(
-       );
-
-       /******************/
-       /* Function: 0x2b */
-       WERROR spoolss_AddPrinterConnection(
-       );
-
-       /******************/
-       /* Function: 0x2c */
-       WERROR spoolss_DeletePrinterConnection(
-       );
-
-       /******************/
-       /* Function: 0x2d */
-       WERROR spoolss_PrinterMessageBox(
-               /* Marked as obsolete in MSDN.  "Not necessary and has
-                  no effect". */
-       );
-
-       /******************/
-       /* Function: 0x2e */
-       WERROR spoolss_AddMonitor(
-       );
-
-       /******************/
-       /* Function: 0x2f */
-       WERROR spoolss_DeleteMonitor(
-       );
-
-       /******************/
-       /* Function: 0x30 */
-       WERROR spoolss_DeletePrintProcessor(
-       );
-
-       /******************/
-       /* Function: 0x31 */
-       WERROR spoolss_AddPrintProvidor(
-       );
-
-       /******************/
-       /* Function: 0x32 */
-       WERROR spoolss_DeletePrintProvidor(
-       );
-
-       /******************/
-       /* Function: 0x33 */
-       WERROR spoolss_EnumPrintProcDataTypes(
-       );
-
-       /******************/
-       /* Function: 0x34 */
-       WERROR spoolss_ResetPrinter(
-       );
-
-       /******************/
-       /* Function: 0x35 */
-       WERROR spoolss_GetPrinterDriver2(
-               [in,ref] policy_handle *handle,
-               [in]     [string,charset(UTF16)] uint16 *architecture,
-               [in]     uint32 level,
-               [in]     DATA_BLOB *buffer,
-               [in]     uint32 offered,
-               [in]     uint32 client_major_version,
-               [in]     uint32 client_minor_version,
-               [out]    DATA_BLOB *info,
-               [out]    uint32 needed,
-               [out]    uint32 server_major_version,
-               [out]    uint32 server_minor_version
-       );
-
-       /******************/
-       /* Function: 0x36 */
-       WERROR spoolss_FindFirstPrinterChangeNotification(
-       );
-
-       /******************/
-       /* Function: 0x37 */
-       WERROR spoolss_FindNextPrinterChangeNotification(
-       );
-
-       /******************/
-       /* Function: 0x38 */
-       WERROR spoolss_FindClosePrinterNotify(
-       );
-
-       /******************/
-       /* Function: 0x39 */
-       WERROR spoolss_RouterFindFirstPrinterChangeNotificationOld(
-       );
-
-       /******************/
-       /* Function: 0x3a */
-       WERROR spoolss_ReplyOpenPrinter(
-       );
-
-       /******************/
-       /* Function: 0x3b */
-       WERROR spoolss_RouterReplyPrinter(
-       );
-
-       /******************/
-       /* Function: 0x3c */
-       WERROR spoolss_ReplyClosePrinter(
-       );
-
-       /******************/
-       /* Function: 0x3d */
-       WERROR spoolss_AddPortEx(
-       );
-
-       /******************/
-       /* Function: 0x3e */
-       WERROR spoolss_RouterFindFirstPrinterChangeNotification(
-       );
-
-       /******************/
-       /* Function: 0x3f */
-       WERROR spoolss_SpoolerInit(
-       );
-
-       /******************/
-       /* Function: 0x40 */
-       WERROR spoolss_ResetPrinterEx(
-       );
-
-       /******************/
-       /* Function: 0x41 */
-       typedef [flag(NDR_PAHEX)] struct {
-               uint16 u1;
-               uint16 u2;
-               uint32 u3;
-               uint32 u4;
-               uint32 count;
-               [size_is(count)] uint16 *array;
-       } spoolss_RemoteFindFirstPrinterChangeNotifyEx_t2;
-
-       typedef struct {
-               uint32 u1;
-               uint32 u2;
-               uint32 count;
-               [size_is(count)] spoolss_RemoteFindFirstPrinterChangeNotifyEx_t2 *t2;
-       } spoolss_RemoteFindFirstPrinterChangeNotifyEx_t1;
-
-       WERROR spoolss_RemoteFindFirstPrinterChangeNotifyEx(
-               [in,ref] policy_handle *handle,
-               [in] uint32 u1,
-               [in] uint32 u2,
-               [in] [string,charset(UTF16)] uint16 *str,
-               [in] uint32 u3,
-               [in] spoolss_RemoteFindFirstPrinterChangeNotifyEx_t1 *t1
-       );
-
-       /******************/
-       /* Function: 0x42 */
-       WERROR spoolss_RouterRefreshPrinterChangeNotification(
-       );
-
-       /******************/
-       /* Function: 0x43 */
-       WERROR spoolss_RemoteFindNextPrinterChangeNotifyEx(
-       );
-
-       /******************/
-       /* Function: 0x44 */
-       WERROR spoolss_44(
-       );
-
-       typedef struct {
-               uint32 size;
-               [string,charset(UTF16)] uint16 *client;
-               [string,charset(UTF16)] uint16 *user;
-               uint32 build;
-               uint32 major;
-               uint32 minor;
-               uint32 processor;
-       } spoolss_UserLevel1;
-
-       typedef union {
-               [case(1)]  spoolss_UserLevel1 *level1;
-       } spoolss_UserLevel;
-
-       /******************/
-       /* Function: 0x45 */
-       WERROR spoolss_OpenPrinterEx(
-               [in]                  [string,charset(UTF16)] uint16 *printername,
-               [in]                  [string,charset(UTF16)] uint16 *datatype,
-               [in]                  spoolss_DevmodeContainer devmode_ctr,
-               [in]                  uint32 access_mask,
-               [in]                  uint32 level,
-               [in,switch_is(level)] spoolss_UserLevel userlevel,
-               [out,ref]             policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x46 */
-       WERROR spoolss_AddPrinterEx(
-               [in] [string,charset(UTF16)] uint16 *server,
-               [in] uint32 level,
-               [in,switch_is(level)] spoolss_PrinterInfo *info,
-               [in] spoolss_DevmodeContainer devmode_ctr,
-               [in] security_descriptor *secdesc,
-               [in] uint32 ulevel,
-               [in,switch_is(ulevel)] spoolss_UserLevel userlevel
-       );
-
-       /******************/
-       /* Function: 0x47 */
-       WERROR spoolss_47(
-       );
-
-       /******************/
-       /* Function: 0x48 */
-       WERROR spoolss_EnumPrinterData(
-               [in,ref] policy_handle *handle,
-               [in]     uint32 enum_index,
-               [in]     uint32 value_offered,
-               [out]    lstring value_name,
-               [out]    uint32 value_needed,
-               [out]    uint32 printerdata_type,
-               [out]    DATA_BLOB buffer,
-               [in,out,ref] uint32 *data_size
-       );
-
-       /******************/
-       /* Function: 0x49 */
-       WERROR spoolss_DeletePrinterData(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 value_name[]
-       );
-
-       /******************/
-       /* Function: 0x4a */
-       WERROR spoolss_4a(
-       );
-
-       /******************/
-       /* Function: 0x4b */
-       WERROR spoolss_4b(
-       );
-
-       /******************/
-       /* Function: 0x4c */
-       WERROR spoolss_4c(
-       );
-
-       /******************/
-       /* Function: 0x4d */
-       WERROR spoolss_SetPrinterDataEx(
-               [in,ref] policy_handle *handle,
-               [in]     [string,charset(UTF16)] uint16 key_name[],
-               [in]     [string,charset(UTF16)] uint16 value_name[],
-               [in]     uint32 type,
-               [in]     DATA_BLOB buffer,
-               [in]     uint32 offered
-       );
-
-       /******************/
-       /* Function: 0x4e */
-       WERROR spoolss_GetPrinterDataEx(
-               [in,ref] policy_handle *handle,
-               [in]     [string,charset(UTF16)] uint16 key_name[],
-               [in]     [string,charset(UTF16)] uint16 value_name[],
-               [in]     uint32 offered,
-               [out]    uint32 type,
-               [out]    DATA_BLOB buffer,
-               [out]    uint32 needed
-       );
-
-       /******************/
-       /* Function: 0x4f */
-       WERROR spoolss_EnumPrinterDataEx(
-               [in,ref] policy_handle *handle,
-               [in]     [string,charset(UTF16)] uint16 key_name[],
-               [in]     uint32 offered,
-               [out]    DATA_BLOB buffer,
-               [out]    uint32 needed,
-               [out]    uint32 count
-       );
-
-       /******************/
-       /* Function: 0x50 */
-       WERROR spoolss_EnumPrinterKey(
-       );
-
-       /******************/
-       /* Function: 0x51 */
-       WERROR spoolss_DeletePrinterDataEx(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 key_name[],
-               [in] [string,charset(UTF16)] uint16 value_name[]
-       );
-
-       /******************/
-       /* Function: 0x52 */
-       WERROR spoolss_DeletePrinterKey(
-       );
-
-       /******************/
-       /* Function: 0x53 */
-       WERROR spoolss_53(
-       );
-
-       /******************/
-       /* Function: 0x54 */
-       WERROR spoolss_DeletePrinterDriverEx(
-       );
-
-       /******************/
-       /* Function: 0x55 */
-       WERROR spoolss_55(
-       );
-
-       /******************/
-       /* Function: 0x56 */
-       WERROR spoolss_56(
-       );
-
-       /******************/
-       /* Function: 0x57 */
-       WERROR spoolss_57(
-       );
-
-       /******************/
-       /* Function: 0x58 */
-       WERROR spoolss_XcvData(
-               [in,ref] policy_handle *handle,
-               [in] [string,charset(UTF16)] uint16 function_name[],
-               [in] DATA_BLOB in_data,
-               [in,value(r->in.in_data.length)] uint32 _in_data_length,
-               [in] uint32 offered,
-               [in] uint32 unknown1,
-               [out] DATA_BLOB out_data,
-               [out] uint32 needed,
-               [out] uint32 unknown2
-       );
-
-       /******************/
-       /* Function: 0x59 */
-       WERROR spoolss_AddPrinterDriverEx(
-       );
-
-       /******************/
-       /* Function: 0x5a */
-       WERROR spoolss_5a(
-       );
-
-       /******************/
-       /* Function: 0x5b */
-       WERROR spoolss_5b(
-       );
-
-       /******************/
-       /* Function: 0x5c */
-       WERROR spoolss_5c(
-       );
-
-       /******************/
-       /* Function: 0x5d */
-       WERROR spoolss_5d(
-       );
-
-       /******************/
-       /* Function: 0x5e */
-       WERROR spoolss_5e(
-       );
-
-       /******************/
-       /* Function: 0x5f */
-       WERROR spoolss_5f(
-       );
-}
diff --git a/source3/librpc/idl/srvsvc.idl b/source3/librpc/idl/srvsvc.idl
deleted file mode 100644 (file)
index f253178..0000000
+++ /dev/null
@@ -1,1504 +0,0 @@
-#include "idl_types.h"
-
-/*
-  srvsvc interface definitions
-*/
-
-[ uuid("4b324fc8-1670-01d3-1278-5a47bf6ee188"),
-  version(3.0),
-  endpoint("ncacn_np:[\\pipe\\srvsvc]", "ncacn_ip_tcp:", "ncalrpc:"),
-  pointer_default(unique),
-  pointer_default_top(unique),
-  helpstring("Server Service"),
-  depends(security,svcctl),
-  keepref
-] interface srvsvc
-{
-       declare bitmap svcctl_ServerType;
-       declare bitmap security_secinfo;
-
-/**************************/
-/* srvsvc_NetCharDev      */
-/**************************/
-       typedef struct {
-               [string,charset(UTF16)] uint16 *device;
-       } srvsvc_NetCharDevInfo0;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetCharDevInfo0 *array;
-       } srvsvc_NetCharDevCtr0;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *device;
-               uint32 status;
-               [string,charset(UTF16)] uint16 *user;
-               uint32 time;
-       } srvsvc_NetCharDevInfo1;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetCharDevInfo1 *array;
-       } srvsvc_NetCharDevCtr1;
-
-       typedef union {
-               [case(0)] srvsvc_NetCharDevInfo0 *info0;
-               [case(1)] srvsvc_NetCharDevInfo1 *info1;
-               [default] ;
-       } srvsvc_NetCharDevInfo;
-
-       typedef union {
-               [case(0)] srvsvc_NetCharDevCtr0 *ctr0;
-               [case(1)] srvsvc_NetCharDevCtr1 *ctr1;
-               [default] ;
-       } srvsvc_NetCharDevCtr;
-
-       /******************/
-       /* Function: 0x00 */
-       WERROR srvsvc_NetCharDevEnum(
-               [in]   [string,charset(UTF16)] uint16 *server_unc, 
-               [in,out]   uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetCharDevCtr ctr,
-               [in]   uint32 max_buffer,
-               [out]   uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-       /******************/
-       /* Function: 0x01 */
-       WERROR srvsvc_NetCharDevGetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 device_name[],
-               [in]   uint32 level,
-               [out,switch_is(level)]   srvsvc_NetCharDevInfo info
-               );
-
-       /******************/
-       /* Function: 0x02 */
-       WERROR srvsvc_NetCharDevControl(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 device_name[],
-               [in]   uint32 opcode
-               );
-
-/**************************/
-/* srvsvc_NetCharDevQ     */
-/**************************/
-       typedef struct {
-               [string,charset(UTF16)] uint16 *device;
-       } srvsvc_NetCharDevQInfo0;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetCharDevQInfo0 *array;
-       } srvsvc_NetCharDevQCtr0;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *device;
-               uint32 priority;
-               [string,charset(UTF16)] uint16 *devices;
-               uint32 users;
-               uint32 num_ahead;
-       } srvsvc_NetCharDevQInfo1;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetCharDevQInfo1 *array;
-       } srvsvc_NetCharDevQCtr1;
-
-       typedef union {
-               [case(0)] srvsvc_NetCharDevQInfo0 *info0;
-               [case(1)] srvsvc_NetCharDevQInfo1 *info1;
-               [default] ;
-       } srvsvc_NetCharDevQInfo;
-
-       typedef union {
-               [case(0)] srvsvc_NetCharDevQCtr0 *ctr0;
-               [case(1)] srvsvc_NetCharDevQCtr1 *ctr1;
-               [default] ;
-       } srvsvc_NetCharDevQCtr;
-
-       /******************/
-       /* Function: 0x03 */
-       WERROR srvsvc_NetCharDevQEnum(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 *user,
-               [in,out]   uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetCharDevQCtr ctr,
-               [in]   uint32 max_buffer,
-               [out]   uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-       /******************/
-       /* Function: 0x04 */
-       WERROR srvsvc_NetCharDevQGetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 queue_name[],
-               [in]   [string,charset(UTF16)] uint16 user[],
-               [in]   uint32 level,
-               [out,switch_is(level)]   srvsvc_NetCharDevQInfo info
-               );
-
-       /******************/
-       /* Function: 0x05 */
-       WERROR srvsvc_NetCharDevQSetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 queue_name[],
-               [in]   uint32 level,
-               [in,switch_is(level)]   srvsvc_NetCharDevQInfo info,
-               [in,out]   uint32 *parm_error
-               );
-
-       /******************/
-       /* Function: 0x06 */
-       WERROR srvsvc_NetCharDevQPurge(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 queue_name[]
-               );
-
-       /******************/
-       /* Function: 0x07 */
-       WERROR srvsvc_NetCharDevQPurgeSelf(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 queue_name[],
-               [in]   [string,charset(UTF16)] uint16 computer_name[]
-               );
-
-/**************************/
-/* srvsvc_NetConn         */
-/**************************/
-       typedef struct {
-               uint32 conn_id;
-       } srvsvc_NetConnInfo0;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetConnInfo0 *array;
-       } srvsvc_NetConnCtr0;
-
-       typedef struct {
-               uint32 conn_id;
-               uint32 conn_type;
-               uint32 num_open;
-               uint32 num_users;
-               uint32 conn_time;
-               [string,charset(UTF16)] uint16 *user;
-               [string,charset(UTF16)] uint16 *share;
-       } srvsvc_NetConnInfo1;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetConnInfo1 *array;
-       } srvsvc_NetConnCtr1;
-
-       typedef union {
-               [case(0)] srvsvc_NetConnCtr0 *ctr0;
-               [case(1)] srvsvc_NetConnCtr1 *ctr1;
-               [default] ;
-       } srvsvc_NetConnCtr;
-
-       /******************/
-       /* Function: 0x08 */
-       WERROR srvsvc_NetConnEnum(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 *path,
-               [in,out]   uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetConnCtr ctr,
-               [in]   uint32 max_buffer,
-               [out]   uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-/**************************/
-/* srvsvc_NetFile         */
-/**************************/
-       typedef struct {
-               uint32 fid;
-       } srvsvc_NetFileInfo2;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetFileInfo2 *array;
-       } srvsvc_NetFileCtr2;
-
-       typedef struct {
-               uint32 fid;
-               uint32 permissions;
-               uint32 num_locks;
-               [string,charset(UTF16)] uint16 *path;
-               [string,charset(UTF16)] uint16 *user;
-       } srvsvc_NetFileInfo3;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetFileInfo3 *array;
-       } srvsvc_NetFileCtr3;
-
-       typedef union {
-               [case(2)] srvsvc_NetFileInfo2 *info2;
-               [case(3)] srvsvc_NetFileInfo3 *info3;
-               [default] ;
-       } srvsvc_NetFileInfo;
-
-       typedef union {
-               [case(2)] srvsvc_NetFileCtr2 *ctr2;
-               [case(3)] srvsvc_NetFileCtr3 *ctr3;
-               [default] ;
-       } srvsvc_NetFileCtr;
-
-       /******************/
-       /* Function: 0x09 */
-       WERROR srvsvc_NetFileEnum(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 *path,
-               [in]   [string,charset(UTF16)] uint16 *user,
-               [in,out]   uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetFileCtr ctr,
-               [in]   uint32 max_buffer,
-               [out]   uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-       /******************/
-       /* Function: 0x0a */
-       WERROR srvsvc_NetFileGetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   uint32 fid,
-               [in]   uint32 level,
-               [out,switch_is(level)]   srvsvc_NetFileInfo info
-               );
-
-       /******************/
-       /* Function: 0x0b */
-       WERROR srvsvc_NetFileClose(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   uint32 fid       
-               );
-
-/**************************/
-/* srvsvc_NetSess         */
-/**************************/
-       typedef struct {
-               [string,charset(UTF16)] uint16 *client;
-       } srvsvc_NetSessInfo0;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetSessInfo0 *array;
-       } srvsvc_NetSessCtr0;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *client;
-               [string,charset(UTF16)] uint16 *user;
-               uint32 num_open;
-               uint32 time;
-               uint32 idle_time;
-               uint32 user_flags;
-       } srvsvc_NetSessInfo1;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetSessInfo1 *array;
-       } srvsvc_NetSessCtr1;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *client;
-               [string,charset(UTF16)] uint16 *user;
-               uint32 num_open;
-               uint32 time;
-               uint32 idle_time;
-               uint32 user_flags;
-               [string,charset(UTF16)] uint16 *client_type;
-       } srvsvc_NetSessInfo2;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetSessInfo2 *array;
-       } srvsvc_NetSessCtr2;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *client;
-               [string,charset(UTF16)] uint16 *user;
-               uint32 time;
-               uint32 idle_time;
-       } srvsvc_NetSessInfo10;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetSessInfo10 *array;
-       } srvsvc_NetSessCtr10;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *client;
-               [string,charset(UTF16)] uint16 *user;
-               uint32 num_open;
-               uint32 time;
-               uint32 idle_time;
-               uint32 user_flags;
-               [string,charset(UTF16)] uint16 *client_type;
-               [string,charset(UTF16)] uint16 *transport;
-       } srvsvc_NetSessInfo502;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetSessInfo502 *array;
-       } srvsvc_NetSessCtr502;
-
-       typedef union {
-               [case(0)] srvsvc_NetSessCtr0 *ctr0;
-               [case(1)] srvsvc_NetSessCtr1 *ctr1;
-               [case(2)] srvsvc_NetSessCtr2 *ctr2;
-               [case(10)] srvsvc_NetSessCtr10 *ctr10;
-               [case(502)] srvsvc_NetSessCtr502 *ctr502;
-               [default] ;
-       } srvsvc_NetSessCtr;
-
-       /******************/
-       /* Function: 0x0c */
-       WERROR srvsvc_NetSessEnum(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 *client,
-               [in]   [string,charset(UTF16)] uint16 *user,
-               [in,out]   uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetSessCtr ctr,
-               [in]   uint32 max_buffer,
-               [out]   uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-       /******************/
-       /* Function: 0x0d */
-       WERROR srvsvc_NetSessDel(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 *client,
-               [in]   [string,charset(UTF16)] uint16 *user
-               );
-
-/**************************/
-/* srvsvc_NetShare        */
-/**************************/
-
-       /* share types */
-       const uint32 STYPE_TEMPORARY = 0x40000000; /* share is a temporary one */
-       const uint32 STYPE_HIDDEN    = 0x80000000; /* share is a hidden one */
-
-       typedef [v1_enum, flag(NDR_PAHEX)] enum {
-               STYPE_DISKTREE = 0,
-               STYPE_DISKTREE_TEMPORARY = STYPE_DISKTREE|STYPE_TEMPORARY,
-               STYPE_DISKTREE_HIDDEN    = STYPE_DISKTREE|STYPE_HIDDEN,
-               STYPE_PRINTQ   = 1,
-               STYPE_PRINTQ_TEMPORARY = STYPE_PRINTQ|STYPE_TEMPORARY,
-               STYPE_PRINTQ_HIDDEN    = STYPE_PRINTQ|STYPE_HIDDEN,
-               STYPE_DEVICE   = 2,     /* Serial device */
-               STYPE_DEVICE_TEMPORARY = STYPE_DEVICE|STYPE_TEMPORARY,
-               STYPE_DEVICE_HIDDEN    = STYPE_DEVICE|STYPE_HIDDEN,
-               STYPE_IPC      = 3,     /* Interprocess communication (IPC) */
-               STYPE_IPC_TEMPORARY = STYPE_IPC|STYPE_TEMPORARY,
-               STYPE_IPC_HIDDEN    = STYPE_IPC|STYPE_HIDDEN
-       } srvsvc_ShareType;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *name;
-       } srvsvc_NetShareInfo0;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo0 *array;
-       } srvsvc_NetShareCtr0;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *name;
-               srvsvc_ShareType type;
-               [string,charset(UTF16)] uint16 *comment;
-       } srvsvc_NetShareInfo1;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo1 *array;
-       } srvsvc_NetShareCtr1;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *name;
-               srvsvc_ShareType type;
-               [string,charset(UTF16)] uint16 *comment;
-               uint32 permissions;
-               uint32 max_users;
-               uint32 current_users;
-               [string,charset(UTF16)] uint16 *path;
-               [string,charset(UTF16)] uint16 *password;
-       } srvsvc_NetShareInfo2;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo2 *array;
-       } srvsvc_NetShareCtr2;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *name;
-               srvsvc_ShareType type;
-               [string,charset(UTF16)] uint16 *comment;
-               uint32 csc_policy;
-       } srvsvc_NetShareInfo501;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo501 *array;
-       } srvsvc_NetShareCtr501;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *name;
-               srvsvc_ShareType type;
-               [string,charset(UTF16)] uint16 *comment;
-               uint32 permissions;
-               int32 max_users;
-               uint32 current_users;
-               [string,charset(UTF16)] uint16 *path;
-               [string,charset(UTF16)] uint16 *password;
-               /* maybe here is a struct sec_desc_buf following */
-               uint32 unknown;
-               [subcontext(4)] security_descriptor *sd;
-       } srvsvc_NetShareInfo502;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo502 *array;
-       } srvsvc_NetShareCtr502;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *comment;
-       } srvsvc_NetShareInfo1004;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo1004 *array;
-       } srvsvc_NetShareCtr1004;
-
-       typedef struct {
-               uint32 dfs_flags;
-       } srvsvc_NetShareInfo1005;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo1005 *array;
-       } srvsvc_NetShareCtr1005;
-
-       typedef struct {
-               int32 max_users;
-       } srvsvc_NetShareInfo1006;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo1006 *array;
-       } srvsvc_NetShareCtr1006;
-
-       typedef struct {
-               uint32 flags;
-               [string,charset(UTF16)] uint16 *alternate_directory_name;
-       } srvsvc_NetShareInfo1007;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetShareInfo1007 *array;
-       } srvsvc_NetShareCtr1007;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] sec_desc_buf *array;
-       } srvsvc_NetShareCtr1501;
-
-       typedef union {
-               [case(0)] srvsvc_NetShareInfo0 *info0;
-               [case(1)] srvsvc_NetShareInfo1 *info1;
-               [case(2)] srvsvc_NetShareInfo2 *info2;
-               [case(501)] srvsvc_NetShareInfo501 *info501;
-               [case(502)] srvsvc_NetShareInfo502 *info502;
-               [case(1004)] srvsvc_NetShareInfo1004 *info1004;
-               [case(1005)] srvsvc_NetShareInfo1005 *info1005;
-               [case(1006)] srvsvc_NetShareInfo1006 *info1006;
-               [case(1007)] srvsvc_NetShareInfo1007 *info1007;
-               [case(1501)] sec_desc_buf *info1501;
-               [default] ;
-       } srvsvc_NetShareInfo;
-
-       typedef union {
-               [case(0)] srvsvc_NetShareCtr0 *ctr0;
-               [case(1)] srvsvc_NetShareCtr1 *ctr1;
-               [case(2)] srvsvc_NetShareCtr2 *ctr2;
-               [case(501)] srvsvc_NetShareCtr501 *ctr501;
-               [case(502)] srvsvc_NetShareCtr502 *ctr502;
-               [case(1004)] srvsvc_NetShareCtr1004 *ctr1004;
-               [case(1005)] srvsvc_NetShareCtr1005 *ctr1005;
-               [case(1006)] srvsvc_NetShareCtr1006 *ctr1006;
-               [case(1007)] srvsvc_NetShareCtr1007 *ctr1007;
-               [case(1501)] srvsvc_NetShareCtr1501 *ctr1501;
-               [default] ;
-       } srvsvc_NetShareCtr;
-
-       /******************/
-       /* Function: 0x0e */
-       WERROR srvsvc_NetShareAdd(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   uint32 level,
-               [in,switch_is(level)] srvsvc_NetShareInfo info,
-               [in,out]   uint32 *parm_error
-               );
-
-       /******************/
-       /* Function: 0x0f */
-       WERROR srvsvc_NetShareEnumAll (
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in,out]   uint32 level,
-               [in,out,switch_is(level)] srvsvc_NetShareCtr ctr,
-               [in]   uint32 max_buffer,
-               [out]  uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-       /******************/
-       /* Function: 0x10 */
-       WERROR srvsvc_NetShareGetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 share_name[],
-               [in]   uint32 level,
-               [out,switch_is(level)] srvsvc_NetShareInfo info
-               );
-
-       /******************/
-       /* Function: 0x11 */
-       WERROR srvsvc_NetShareSetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 share_name[],
-               [in]   uint32 level,
-               [in,switch_is(level)] srvsvc_NetShareInfo info,
-               [in,out]   uint32 *parm_error
-               );
-
-       /******************/
-       /* Function: 0x12 */
-       WERROR srvsvc_NetShareDel(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 share_name[],
-               [in]   uint32 reserved
-               );
-
-       /******************/
-       /* Function: 0x13 */
-       WERROR srvsvc_NetShareDelSticky(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 share_name[],
-               [in]   uint32 reserved
-               );
-       
-       /******************/
-       /* Function: 0x14 */
-       WERROR srvsvc_NetShareCheck(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 device_name[],
-               [out]  srvsvc_ShareType type
-               );
-
-/**************************/
-/* srvsvc_NetSrv          */
-/**************************/
-       typedef [public,v1_enum] enum {
-               PLATFORM_ID_DOS = 300,
-               PLATFORM_ID_OS2 = 400,
-               PLATFORM_ID_NT  = 500,
-               PLATFORM_ID_OSF = 600,
-               PLATFORM_ID_VMS = 700
-       } srvsvc_PlatformId;
-
-       typedef struct {
-               srvsvc_PlatformId platform_id;
-               [string,charset(UTF16)] uint16 *server_name;
-       } srvsvc_NetSrvInfo100;
-
-       typedef struct {
-               srvsvc_PlatformId platform_id;
-               [string,charset(UTF16)] uint16 *server_name;
-               uint32 version_major;
-               uint32 version_minor;
-               svcctl_ServerType server_type;
-               [string,charset(UTF16)] uint16 *comment;
-       } srvsvc_NetSrvInfo101;
-
-       typedef struct {
-               srvsvc_PlatformId platform_id;
-               [string,charset(UTF16)] uint16 *server_name;
-               uint32 ver_major;
-               uint32 ver_minor;
-               svcctl_ServerType server_type;
-               [string,charset(UTF16)] uint16 *comment;
-               uint32 users;
-               uint32 disc;
-               uint32 hidden;
-               uint32 announce;
-               uint32 anndelta;
-               uint32 licences;
-               [string,charset(UTF16)] uint16 *userpath;
-       } srvsvc_NetSrvInfo102;
-
-       typedef struct {
-               uint32 ulist_mtime;
-               uint32 glist_mtime;
-               uint32 alist_mtime;
-               [string,charset(UTF16)] uint16 *alerts;
-               uint32 security;
-               uint32 numadmin;
-               uint32 lanmask;
-               [string,charset(UTF16)] uint16 *guestaccount;
-               uint32 chdevs;
-               uint32 chdevqs;
-               uint32 chdevjobs;
-               uint32 connections;
-               uint32 shares;
-               uint32 openfiles;
-               uint32 sessopen;
-               uint32 sesssvc;
-               uint32 sessreqs;
-               uint32 opensearch;
-               uint32 activelocks;
-               uint32 sizereqbufs;
-               uint32 numbigbufs;
-               uint32 numfiletasks;
-               uint32 alertsched;
-               uint32 erroralert;
-               uint32 logonalert;
-               uint32 accessalert;
-               uint32 diskalert;
-               uint32 netioalert;
-               uint32 maxaudits;
-               [string,charset(UTF16)] uint16 *srvheuristics;
-       } srvsvc_NetSrvInfo402;
-
-       typedef struct {
-               uint32 ulist_mtime;
-               uint32 glist_mtime;
-               uint32 alist_mtime;
-               [string,charset(UTF16)] uint16 *alerts;
-               uint32 security;
-               uint32 numadmin;
-               uint32 lanmask;
-               [string,charset(UTF16)] uint16 *guestaccount;
-               uint32 chdevs;
-               uint32 chdevqs;
-               uint32 chdevjobs;
-               uint32 connections;
-               uint32 shares;
-               uint32 openfiles;
-               uint32 sessopen;
-               uint32 sesssvc;
-               uint32 sessreqs;
-               uint32 opensearch;
-               uint32 activelocks;
-               uint32 sizereqbufs;
-               uint32 numbigbufs;
-               uint32 numfiletasks;
-               uint32 alertsched;
-               uint32 eroralert;
-               uint32 logonalert;
-               uint32 accessalert;
-               uint32 diskalert;
-               uint32 netioalert;
-               uint32 maxaudits;
-               [string,charset(UTF16)] uint16 *srvheuristics;
-               uint32 auditedevents;
-               uint32 auditprofile;
-               [string,charset(UTF16)] uint16 *autopath;
-       } srvsvc_NetSrvInfo403;
-
-       typedef struct {
-               uint32 sessopen;
-               uint32 sesssvc;
-               uint32 opensearch;
-               uint32 sizereqbufs;
-               uint32 initworkitems;
-               uint32 maxworkitems;
-               uint32 rawworkitems;
-               uint32 irpstacksize;
-               uint32 maxrawbuflen;
-               uint32 sessusers;
-               uint32 sessconns;
-               uint32 maxpagedmemoryusage;
-               uint32 maxnonpagedmemoryusage;
-               uint32 enablesoftcompat;
-               uint32 enableforcedlogoff;
-               uint32 timesource;
-               uint32 acceptdownlevelapis;
-               uint32 lmannounce;
-       } srvsvc_NetSrvInfo502;
-
-        typedef struct{
-               uint32 sessopen;
-               uint32 sesssvc;
-               uint32 opensearch;
-               uint32 sizereqbufs;
-               uint32 initworkitems;
-               uint32 maxworkitems;
-               uint32 rawworkitems;
-               uint32 irpstacksize;
-               uint32 maxrawbuflen;
-               uint32 sessusers;
-               uint32 sessconns;
-               uint32 maxpagedmemoryusage;
-               uint32 maxnonpagedmemoryusage;
-               uint32 enablesoftcompat;
-               uint32 enableforcedlogoff;
-               uint32 timesource;
-               uint32 acceptdownlevelapis;
-               uint32 lmannounce;
-               [string,charset(UTF16)] uint16 *domain;
-               uint32 maxcopyreadlen;
-               uint32 maxcopywritelen;
-               uint32 minkeepsearch;
-               uint32 maxkeepsearch;
-               uint32 minkeepcomplsearch;
-               uint32 maxkeepcomplsearch;
-               uint32 threadcountadd;
-               uint32 numlockthreads;
-               uint32 scavtimeout;
-               uint32 minrcvqueue;
-               uint32 minfreeworkitems;
-               uint32 xactmemsize;
-               uint32 threadpriority;
-               uint32 maxmpxct;
-               uint32 oplockbreakwait;
-               uint32 oplockbreakresponsewait;
-               uint32 enableoplocks;
-               uint32 enableoplockforceclose;
-               uint32 enablefcbopens;
-               uint32 enableraw;
-               uint32 enablesharednetdrives;
-               uint32 minfreeconnections;
-               uint32 maxfreeconnections;
-        } srvsvc_NetSrvInfo503;
-
-        typedef struct{
-               uint32 sessopen;
-               uint32 sesssvc;
-               uint32 opensearch;
-               uint32 sizereqbufs;
-               uint32 initworkitems;
-               uint32 maxworkitems;
-               uint32 rawworkitems;
-               uint32 irpstacksize;
-               uint32 maxrawbuflen;
-               uint32 sessusers;
-               uint32 sessconns;
-               uint32 maxpagedmemoryusage;
-               uint32 maxnonpagedmemoryusage;
-               uint32 enablesoftcompat;
-               uint32 enableforcedlogoff;
-               uint32 timesource;
-               uint32 acceptdownlevelapis;
-               uint32 lmannounce;
-               [string,charset(UTF16)] uint16 *domain;
-               uint32 maxcopyreadlen;
-               uint32 maxcopywritelen;
-               uint32 minkeepsearch;
-               uint32 minkeepcomplsearch;
-               uint32 maxkeepcomplsearch;
-               uint32 threadcountadd;
-               uint32 numlockthreads;
-               uint32 scavtimeout;
-               uint32 minrcvqueue;
-               uint32 minfreeworkitems;
-               uint32 xactmemsize;
-               uint32 threadpriority;
-               uint32 maxmpxct;
-               uint32 oplockbreakwait;
-               uint32 oplockbreakresponsewait;
-               uint32 enableoplocks;
-               uint32 enableoplockforceclose;
-               uint32 enablefcbopens;
-               uint32 enableraw;
-               uint32 enablesharednetdrives;
-               uint32 minfreeconnections;
-               uint32 maxfreeconnections;
-               uint32 initsesstable;
-               uint32 initconntable;
-               uint32 initfiletable;
-               uint32 initsearchtable;
-               uint32 alertsched;
-               uint32 errortreshold;
-               uint32 networkerrortreshold;
-               uint32 diskspacetreshold;
-               uint32 reserved;
-               uint32 maxlinkdelay;
-               uint32 minlinkthroughput;
-               uint32 linkinfovalidtime;
-               uint32 scavqosinfoupdatetime;
-               uint32 maxworkitemidletime;
-        } srvsvc_NetSrvInfo599;
-
-        typedef struct{
-               [string,charset(UTF16)] uint16 *comment;
-        } srvsvc_NetSrvInfo1005;
-
-        typedef struct{
-                uint32 disc;
-        } srvsvc_NetSrvInfo1010;
-
-        typedef struct{
-                uint32 hidden;
-        } srvsvc_NetSrvInfo1016;
-
-        typedef struct{
-                uint32 announce;
-        } srvsvc_NetSrvInfo1017;
-
-        typedef struct{
-                uint32 anndelta;
-        } srvsvc_NetSrvInfo1018;
-
-        typedef struct{
-                uint32 users;
-        } srvsvc_NetSrvInfo1107;
-
-        typedef struct{
-                uint32 sessopens;
-        } srvsvc_NetSrvInfo1501;
-
-        typedef struct{
-                uint32 sessvcs;
-        } srvsvc_NetSrvInfo1502;
-
-        typedef struct{
-                uint32 opensearch;
-        } srvsvc_NetSrvInfo1503;
-
-        typedef struct{
-                uint32 maxworkitems;
-        } srvsvc_NetSrvInfo1506;
-
-        typedef struct{
-                uint32 maxrawbuflen;
-        } srvsvc_NetSrvInfo1509;
-
-        typedef struct{
-                uint32 sessusers;
-        } srvsvc_NetSrvInfo1510;
-
-        typedef struct{
-                uint32 sesscons;
-        } srvsvc_NetSrvInfo1511;
-
-        typedef struct{
-                uint32 maxnonpagedmemoryusage;
-        } srvsvc_NetSrvInfo1512;
-
-        typedef struct{
-                uint32 maxpagedmemoryusage;
-        } srvsvc_NetSrvInfo1513;
-
-        typedef struct{
-                uint32 enablesoftcompat;
-        } srvsvc_NetSrvInfo1514;
-
-        typedef struct{
-                uint32 enableforcedlogoff;
-        } srvsvc_NetSrvInfo1515;
-
-        typedef struct{
-                uint32 timesource;
-        } srvsvc_NetSrvInfo1516;
-
-        typedef struct{
-                uint32 lmannounce;
-        } srvsvc_NetSrvInfo1518;
-
-        typedef struct{
-                uint32 maxcopyreadlen;
-        } srvsvc_NetSrvInfo1520;
-
-        typedef struct{
-                uint32 maxcopywritelen;
-        } srvsvc_NetSrvInfo1521;
-
-        typedef struct{
-                uint32 minkeepsearch;
-        } srvsvc_NetSrvInfo1522;
-
-        typedef struct{
-                uint32 maxkeepsearch;
-        } srvsvc_NetSrvInfo1523;
-
-        typedef struct{
-                uint32 minkeepcomplsearch;
-        } srvsvc_NetSrvInfo1524;
-
-        typedef struct{
-                uint32 maxkeepcomplsearch;
-        } srvsvc_NetSrvInfo1525;
-
-        typedef struct{
-                uint32 scavtimeout;
-        } srvsvc_NetSrvInfo1528;
-
-        typedef struct{
-                uint32 minrcvqueue;
-        } srvsvc_NetSrvInfo1529;
-
-        typedef struct{
-                uint32 minfreeworkitems;
-        } srvsvc_NetSrvInfo1530;
-
-        typedef struct{
-                uint32 maxmpxct;
-        } srvsvc_NetSrvInfo1533;
-
-        typedef struct{
-                uint32 oplockbreakwait;
-        } srvsvc_NetSrvInfo1534;
-
-        typedef struct{
-                uint32 oplockbreakresponsewait;
-        } srvsvc_NetSrvInfo1535;
-
-        typedef struct{
-                uint32 enableoplocks;
-        } srvsvc_NetSrvInfo1536;
-
-        typedef struct{
-                uint32 enableoplockforceclose;
-        } srvsvc_NetSrvInfo1537;
-
-        typedef struct{
-                uint32 enablefcbopens;
-        } srvsvc_NetSrvInfo1538;
-
-        typedef struct{
-                uint32 enableraw;
-        } srvsvc_NetSrvInfo1539;
-
-        typedef struct{
-                uint32 enablesharednetdrives;
-        } srvsvc_NetSrvInfo1540;
-
-        typedef struct{
-                uint32 minfreeconnections;
-        } srvsvc_NetSrvInfo1541;
-
-        typedef struct{
-                uint32 maxfreeconnections;
-        } srvsvc_NetSrvInfo1542;
-
-        typedef struct{
-                uint32 initsesstable;
-        } srvsvc_NetSrvInfo1543;
-
-        typedef struct{
-                uint32 initconntable;
-        } srvsvc_NetSrvInfo1544;
-
-        typedef struct{
-                uint32 initfiletable;
-        } srvsvc_NetSrvInfo1545;
-
-        typedef struct{
-                uint32 initsearchtable;
-        } srvsvc_NetSrvInfo1546;
-
-        typedef struct{
-                uint32 alertsched;
-        } srvsvc_NetSrvInfo1547;
-
-        typedef struct{
-                uint32 errortreshold;
-        } srvsvc_NetSrvInfo1548;
-
-        typedef struct{
-                uint32 networkerrortreshold;
-        } srvsvc_NetSrvInfo1549;
-
-        typedef struct{
-                uint32 diskspacetreshold;
-        } srvsvc_NetSrvInfo1550;
-
-        typedef struct{
-                uint32 maxlinkdelay;
-        } srvsvc_NetSrvInfo1552;
-
-        typedef struct{
-                uint32 minlinkthroughput;
-        } srvsvc_NetSrvInfo1553;
-
-        typedef struct{
-                uint32 linkinfovalidtime;
-        } srvsvc_NetSrvInfo1554;
-
-        typedef struct{
-                uint32 scavqosinfoupdatetime;
-        } srvsvc_NetSrvInfo1555;
-
-        typedef struct{
-                uint32 maxworkitemidletime;
-        } srvsvc_NetSrvInfo1556;
-
-
-       typedef union{
-                [case(100)]     srvsvc_NetSrvInfo100 *info100;
-                [case(101)]     srvsvc_NetSrvInfo101 *info101;
-                [case(102)]     srvsvc_NetSrvInfo102 *info102;
-                [case(402)]     srvsvc_NetSrvInfo402 *info402;
-                [case(403)]     srvsvc_NetSrvInfo403 *info403;
-                [case(502)]     srvsvc_NetSrvInfo502 *info502;
-                [case(503)]     srvsvc_NetSrvInfo503 *info503;
-                [case(599)]     srvsvc_NetSrvInfo599 *info599;
-                [case(1005)]    srvsvc_NetSrvInfo1005 *info1005;
-                [case(1010)]    srvsvc_NetSrvInfo1010 *info1010;
-                [case(1016)]    srvsvc_NetSrvInfo1016 *info1016;
-                [case(1017)]    srvsvc_NetSrvInfo1017 *info1017;
-                [case(1018)]    srvsvc_NetSrvInfo1018 *info1018;
-                [case(1107)]    srvsvc_NetSrvInfo1107 *info1107;
-                [case(1501)]    srvsvc_NetSrvInfo1501 *info1501;
-                [case(1502)]    srvsvc_NetSrvInfo1502 *info1502;
-                [case(1503)]    srvsvc_NetSrvInfo1503 *info1503;
-                [case(1506)]    srvsvc_NetSrvInfo1506 *info1506;
-                [case(1509)]    srvsvc_NetSrvInfo1509 *info1509;
-                [case(1510)]    srvsvc_NetSrvInfo1510 *info1510;
-                [case(1511)]    srvsvc_NetSrvInfo1511 *info1511;
-                [case(1512)]    srvsvc_NetSrvInfo1512 *info1512;
-                [case(1513)]    srvsvc_NetSrvInfo1513 *info1513;
-                [case(1514)]    srvsvc_NetSrvInfo1514 *info1514;
-                [case(1515)]    srvsvc_NetSrvInfo1515 *info1515;
-                [case(1516)]    srvsvc_NetSrvInfo1516 *info1516;
-                [case(1518)]    srvsvc_NetSrvInfo1518 *info1518;
-                [case(1520)]    srvsvc_NetSrvInfo1520 *info1520;
-                [case(1521)]    srvsvc_NetSrvInfo1521 *info1521;
-                [case(1522)]    srvsvc_NetSrvInfo1522 *info1522;
-                [case(1523)]    srvsvc_NetSrvInfo1523 *info1523;
-                [case(1524)]    srvsvc_NetSrvInfo1524 *info1524;
-                [case(1525)]    srvsvc_NetSrvInfo1525 *info1525;
-                [case(1528)]    srvsvc_NetSrvInfo1528 *info1528;
-                [case(1529)]    srvsvc_NetSrvInfo1529 *info1529;
-                [case(1530)]    srvsvc_NetSrvInfo1530 *info1530;
-                [case(1533)]    srvsvc_NetSrvInfo1533 *info1533;
-                [case(1534)]    srvsvc_NetSrvInfo1534 *info1534;
-                [case(1535)]    srvsvc_NetSrvInfo1535 *info1535;
-                [case(1536)]    srvsvc_NetSrvInfo1536 *info1536;
-                [case(1537)]    srvsvc_NetSrvInfo1537 *info1537;
-                [case(1538)]    srvsvc_NetSrvInfo1538 *info1538;
-                [case(1539)]    srvsvc_NetSrvInfo1539 *info1539;
-                [case(1540)]    srvsvc_NetSrvInfo1540 *info1540;
-                [case(1541)]    srvsvc_NetSrvInfo1541 *info1541;
-                [case(1542)]    srvsvc_NetSrvInfo1542 *info1542;
-                [case(1543)]    srvsvc_NetSrvInfo1543 *info1543;
-                [case(1544)]    srvsvc_NetSrvInfo1544 *info1544;
-                [case(1545)]    srvsvc_NetSrvInfo1545 *info1545;
-                [case(1546)]    srvsvc_NetSrvInfo1546 *info1546;
-                [case(1547)]    srvsvc_NetSrvInfo1547 *info1547;
-                [case(1548)]    srvsvc_NetSrvInfo1548 *info1548;
-                [case(1549)]    srvsvc_NetSrvInfo1549 *info1549;
-                [case(1550)]    srvsvc_NetSrvInfo1550 *info1550;
-                [case(1552)]    srvsvc_NetSrvInfo1552 *info1552;
-                [case(1553)]    srvsvc_NetSrvInfo1553 *info1553;
-                [case(1554)]    srvsvc_NetSrvInfo1554 *info1554;
-                [case(1555)]    srvsvc_NetSrvInfo1555 *info1555;
-                [case(1556)]    srvsvc_NetSrvInfo1556 *info1556;
-               [default];
-       } srvsvc_NetSrvInfo;
-
-       /******************/
-       /* Function: 0x15 */
-       WERROR srvsvc_NetSrvGetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   uint32 level,
-               [out,switch_is(level)] srvsvc_NetSrvInfo info
-               );
-
-       /******************/
-       /* Function: 0x16 */
-       WERROR srvsvc_NetSrvSetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   uint32 level,
-               [in,switch_is(level)] srvsvc_NetSrvInfo info,
-               [in,out]   uint32 *parm_error
-               );
-
-/**************************/
-/* srvsvc_NetDisk         */
-/**************************/
-       typedef struct {
-               [flag(STR_LEN4)] string disc;
-       } srvsvc_NetDiskInfo0;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count), length_is(count)] srvsvc_NetDiskInfo0 *discs;
-       } srvsvc_NetDiskInfo;
-
-       /******************/
-       /* Function: 0x17 */
-       WERROR srvsvc_NetDiskEnum(
-               [in]      [string,charset(UTF16)] uint16 *server_unc,
-               [in]      uint32 level,
-               [in,out]  srvsvc_NetDiskInfo disks,
-               [in]      uint32 maxlen,
-               [out]     uint32 totalentries,
-               [in,out]  uint32 *resume_handle
-               );
-
-/**************************/
-/* srvsvc_NetStatistics   */
-/**************************/
-       typedef struct {
-               uint32 start;
-               uint32 fopens;
-               uint32 devopens;
-               uint32 jobsqueued;
-               uint32 sopens;
-               uint32 stimeouts;
-               uint32 serrorout;
-               uint32 pwerrors;
-               uint32 permerrors;
-               uint32 syserrors;
-               uint32 bytessent_low;
-               uint32 bytessent_high;
-               uint32 bytesrcvd_low;
-               uint32 bytesrcvd_high;
-               uint32 avresponse;
-               uint32 reqbufneed;
-               uint32 bigbufneed;
-       } srvsvc_Statistics;
-
-       /******************/
-       /* Function: 0x18 */
-       WERROR srvsvc_NetServerStatisticsGet(
-               [in]      [string,charset(UTF16)] uint16 *server_unc,
-               [in]      [string,charset(UTF16)] uint16 *service,
-               [in]      uint32 level,
-               [in]      uint32 options,
-               [out]     srvsvc_Statistics stat
-               );
-
-/**************************/
-/* srvsvc_NetTransport    */
-/**************************/
-       typedef struct {
-               uint32 vcs;
-               [string,charset(UTF16)] uint16 *name;
-               [size_is(addr_len)] uint8 *addr;
-               uint32 addr_len;
-               [string,charset(UTF16)] uint16 *net_addr;
-       } srvsvc_NetTransportInfo0;
-
-       /******************/
-       /* Function: 0x19 */
-       WERROR srvsvc_NetTransportAdd(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in] uint32 level,
-               [in,switch_is(level)]   srvsvc_NetTransportInfo info
-               );
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetTransportInfo0 *array;
-       } srvsvc_NetTransportCtr0;
-
-       typedef struct {
-               uint32 vcs;
-               [string,charset(UTF16)] uint16 *name;
-               [size_is(addr_len)] uint8 *addr;
-               uint32 addr_len;
-               [string,charset(UTF16)] uint16 *net_addr;
-               [string,charset(UTF16)] uint16 *domain;
-       } srvsvc_NetTransportInfo1;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetTransportInfo1 *array;
-       } srvsvc_NetTransportCtr1;
-
-       typedef struct {
-               uint32 vcs;
-               [string,charset(UTF16)] uint16 *name;
-               [size_is(addr_len)] uint8 *addr;
-               uint32 addr_len;
-               [string,charset(UTF16)] uint16 *net_addr;
-               [string,charset(UTF16)] uint16 *domain;
-               uint32 unknown;
-       } srvsvc_NetTransportInfo2;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetTransportInfo2 *array;
-       } srvsvc_NetTransportCtr2;
-
-       typedef struct {
-               uint32 vcs;
-               [string,charset(UTF16)] uint16 *name;
-               [size_is(addr_len)] uint8 *addr;
-               uint32 addr_len;
-               [string,charset(UTF16)] uint16 *net_addr;
-               [string,charset(UTF16)] uint16 *domain;
-               uint32 unknown1;
-               uint32 unknown2;
-               uint8 unknown3[256];
-       } srvsvc_NetTransportInfo3;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] srvsvc_NetTransportInfo3 *array;
-       } srvsvc_NetTransportCtr3;
-
-       typedef union {
-               [case(0)] srvsvc_NetTransportCtr0 *ctr0;
-               [case(1)] srvsvc_NetTransportCtr1 *ctr1;
-               [case(2)] srvsvc_NetTransportCtr2 *ctr2;
-               [case(3)] srvsvc_NetTransportCtr3 *ctr3;
-               [default];
-       } srvsvc_NetTransportCtr;
-
-       /******************/
-       /* Function: 0x1a */
-       WERROR srvsvc_NetTransportEnum(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in,out] uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetTransportCtr transports,
-               [in]   uint32 max_buffer,
-               [out]   uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-       /******************/
-       /* Function: 0x1b */
-       WERROR srvsvc_NetTransportDel(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]    uint32 unknown,
-               [in]    srvsvc_NetTransportInfo0 transport
-               );
-
-/**************************/
-/* srvsvc_NetRemoteTOD    */
-/**************************/
-       typedef struct {
-               uint32 elapsed; /* time(NULL) */
-               uint32 msecs; /* milliseconds till system reboot (uptime) */
-               uint32 hours;
-               uint32 mins;
-               uint32 secs;
-               uint32 hunds;
-               int32 timezone; /* in minutes */
-               uint32 tinterval; /* clock tick interval in 0.0001 second units; 310 on windows */
-               uint32 day;
-               uint32 month;
-               uint32 year;
-               uint32 weekday;
-       } srvsvc_NetRemoteTODInfo;
-
-       /******************/
-       /* Function: 0x1c */
-       WERROR srvsvc_NetRemoteTOD(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [out]   srvsvc_NetRemoteTODInfo *info
-               );
-
-/**************************/
-/* srvsvc_NetServiceBits  */
-/**************************/
-       /******************/
-       /* Function: 0x1d */
-       WERROR srvsvc_NetSetServiceBits(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 *transport,
-               [in]   uint32 servicebits,
-               [in]   uint32 updateimmediately
-               );
-
-/**************************/
-/* srvsvc_NetPath         */
-/**************************/
-       /******************/
-       /* Function: 0x1e */
-       WERROR srvsvc_NetPathType(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 path[],
-               [in]   uint32 pathflags,
-               [out]   uint32 pathtype
-               );
-
-       /******************/
-       /* Function: 0x1f */
-       WERROR srvsvc_NetPathCanonicalize(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 path[],
-               [out]  [size_is(maxbuf)] uint8 can_path[],
-               [in]   uint32 maxbuf,
-               [in]   [string,charset(UTF16)] uint16 prefix[],
-               [in,out] uint32 pathtype,
-               [in]    uint32 pathflags
-               );
-
-       /******************/
-       /* Function: 0x20 */
-       WERROR srvsvc_NetPathCompare(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 path1[],
-               [in]   [string,charset(UTF16)] uint16 path2[],
-               [in]    uint32 pathtype,
-               [in]    uint32 pathflags
-               );
-
-/**************************/
-/* srvsvc_NetName         */
-/**************************/
-       /******************/
-       /* Function: 0x21 */
-       WERROR srvsvc_NetNameValidate(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 path[],
-               [in]    uint32 pathtype,
-               [in]    uint32 pathflags
-               );
-
-       /******************/
-       /* Function: 0x22 */
-       WERROR srvsvc_NETRPRNAMECANONICALIZE(
-               );
-
-       /******************/
-       /* Function: 0x23 */
-       WERROR srvsvc_NetPRNameCompare(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 path1[],
-               [in]   [string,charset(UTF16)] uint16 path2[],
-               [in]    uint32 pathtype,
-               [in]    uint32 pathflags
-               );
-
-/**************************/
-/* srvsvc_NetShare ...    */
-/**************************/
-       /******************/
-       /* Function: 0x24 */
-       /* Note, there must be some way to return entries read vs 
-          total entries ... */
-       WERROR srvsvc_NetShareEnum(
-               [in]       [string,charset(UTF16)] uint16 *server_unc,
-               [in,out]   uint32 level,
-               [in,out,switch_is(level)]   srvsvc_NetShareCtr ctr,
-               [in]       uint32 max_buffer,
-               [out]      uint32 totalentries,
-               [in,out]   uint32 *resume_handle
-               );
-
-       /******************/
-       /* Function: 0x25 */
-       WERROR srvsvc_NetShareDelStart(
-               [in]       [string,charset(UTF16)] uint16 *server_unc,
-               [in]       [string,charset(UTF16)] uint16 share[],
-               [in]       uint32 reserved,
-               [out] policy_handle *hnd
-               );
-
-       /******************/
-       /* Function: 0x26 */
-       WERROR srvsvc_NetShareDelCommit(
-               [in, out] policy_handle *hnd
-               );
-
-       /******************/
-       /* Function: 0x27 */
-       WERROR srvsvc_NetGetFileSecurity(
-               [in]       [string,charset(UTF16)] uint16 *server_unc,
-               [in]       [string,charset(UTF16)] uint16 *share,
-               [in]       [string,charset(UTF16)] uint16 file[],
-               [in]       security_secinfo securityinformation,
-               [out]      sec_desc_buf *sd_buf
-               );
-
-       /******************/
-       /* Function: 0x28 */
-       WERROR srvsvc_NetSetFileSecurity(
-               [in]       [string,charset(UTF16)] uint16 *server_unc,
-               [in]       [string,charset(UTF16)] uint16 *share,
-               [in]       [string,charset(UTF16)] uint16 file[],
-               [in]       security_secinfo securityinformation,
-               [in]       sec_desc_buf sd_buf
-               );
-
-
-
-       typedef [switch_type(uint32)] union {
-               [case(0)] srvsvc_NetTransportInfo0 info0;
-               [case(1)] srvsvc_NetTransportInfo1 info1;
-               [case(2)] srvsvc_NetTransportInfo2 info2;
-               [case(3)] srvsvc_NetTransportInfo3 info3;
-       } srvsvc_NetTransportInfo;
-
-       /******************/
-       /* Function: 0x29 */
-       WERROR srvsvc_NetServerTransportAddEx(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in] uint32 level,
-               [in,switch_is(level)]   srvsvc_NetTransportInfo info
-               );
-
-       /******************/
-       /* Function: 0x2a */
-       WERROR srvsvc_NetServerSetServiceBitsEx(
-               [in]   [string,charset(UTF16)] uint16 *server_unc,
-               [in]   [string,charset(UTF16)] uint16 *emulated_server_unc,
-               [in]   [string,charset(UTF16)] uint16 *transport,
-               [in]   uint32 servicebitsofinterest,
-               [in]   uint32 servicebits,
-               [in]   uint32 updateimmediately
-               );
-
-       /******************/
-       /* Function: 0x2b */
-       WERROR srvsvc_NETRDFSGETVERSION(
-               );
-
-       /******************/
-       /* Function: 0x2c */
-       WERROR srvsvc_NETRDFSCREATELOCALPARTITION(
-               );
-
-       /******************/
-       /* Function: 0x2d */
-       WERROR srvsvc_NETRDFSDELETELOCALPARTITION(
-               );
-
-       /******************/
-       /* Function: 0x2e */
-       WERROR srvsvc_NETRDFSSETLOCALVOLUMESTATE(
-               );
-
-       /******************/
-       /* Function: 0x2f */
-       WERROR srvsvc_NETRDFSSETSERVERINFO(
-               );
-
-       /******************/
-       /* Function: 0x30 */
-       WERROR srvsvc_NETRDFSCREATEEXITPOINT(
-               );
-
-       /******************/
-       /* Function: 0x31 */
-       WERROR srvsvc_NETRDFSDELETEEXITPOINT(
-               );
-
-       /******************/
-       /* Function: 0x32 */
-       WERROR srvsvc_NETRDFSMODIFYPREFIX(
-               );
-
-       /******************/
-       /* Function: 0x33 */
-       WERROR srvsvc_NETRDFSFIXLOCALVOLUME(
-               );
-
-       /******************/
-       /* Function: 0x34 */
-       WERROR srvsvc_NETRDFSMANAGERREPORTSITEINFO(
-               );
-
-       /******************/
-       /* Function: 0x35 */
-       WERROR srvsvc_NETRSERVERTRANSPORTDELEX(
-               );
-}
diff --git a/source3/librpc/idl/svcctl.idl b/source3/librpc/idl/svcctl.idl
deleted file mode 100644 (file)
index 9746021..0000000
+++ /dev/null
@@ -1,446 +0,0 @@
-#include "idl_types.h"
-
-/*
-  svcctl interface definitions
-*/
-
-[ uuid("367abb81-9844-35f1-ad32-98f038001003"),
-  version(2.0),
-  pointer_default(unique),
-  pointer_default_top(unique),
-  endpoint("ncacn_np:[\\pipe\\svcctl]", "ncalrpc:"),
-  helpstring("Service Control"),
-  keepref
-] interface svcctl
-{
-       typedef struct {
-               uint32 is_locked;
-               [string,charset(UTF16)] uint16 *lock_owner;
-               uint32 lock_duration;
-       } SERVICE_LOCK_STATUS;
-
-       typedef struct {
-               uint32 type;
-               uint32 state;
-               uint32 controls_accepted;
-               uint32 win32_exit_code;
-               uint32 service_exit_code;
-               uint32 check_point;
-               uint32 wait_hint;
-       } SERVICE_STATUS;
-
-       typedef struct {
-               [relative] astring *service_name;
-               [relative] astring *display_name;
-               SERVICE_STATUS status;
-       } ENUM_SERVICE_STATUS;
-
-       const int SERVICE_TYPE_KERNEL_DRIVER       = 0x01;
-       const int SERVICE_TYPE_FS_DRIVER           = 0x02;
-       const int SERVICE_TYPE_ADAPTER             = 0x04;
-       const int SERVICE_TYPE_RECOGNIZER_DRIVER   = 0x08;
-       const int SERVICE_TYPE_DRIVER=SERVICE_TYPE_KERNEL_DRIVER|SERVICE_TYPE_FS_DRIVER|SERVICE_TYPE_RECOGNIZER_DRIVER;
-       const int SERVICE_TYPE_WIN32_OWN_PROCESS   = 0x10;
-       const int SERVICE_TYPE_WIN32_SHARE_PROCESS = 0x20;
-       const int SERVICE_TYPE_WIN32=SERVICE_TYPE_WIN32_OWN_PROCESS|SERVICE_TYPE_WIN32_SHARE_PROCESS;
-
-       const int SERVICE_STATE_ACTIVE   = 0x01;
-       const int SERVICE_STATE_INACTIVE = 0x02;
-       const int SERVICE_STATE_ALL      = 0x03;
-
-       typedef [public,bitmap32bit] bitmap {
-               SV_TYPE_WORKSTATION       = 0x00000001,
-               SV_TYPE_SERVER            = 0x00000002,
-               SV_TYPE_SQLSERVER         = 0x00000004,
-               SV_TYPE_DOMAIN_CTRL       = 0x00000008,
-               SV_TYPE_DOMAIN_BAKCTRL    = 0x00000010,
-               SV_TYPE_TIME_SOURCE       = 0x00000020,
-               SV_TYPE_AFP               = 0x00000040,
-               SV_TYPE_NOVELL            = 0x00000080,
-
-               SV_TYPE_DOMAIN_MEMBER     = 0x00000100,
-               SV_TYPE_PRINTQ_SERVER     = 0x00000200,
-               SV_TYPE_DIALIN_SERVER     = 0x00000400,
-               SV_TYPE_SERVER_UNIX       = 0x00000800,
-               SV_TYPE_NT                = 0x00001000,
-               SV_TYPE_WFW               = 0x00002000,
-               SV_TYPE_SERVER_MFPN       = 0x00004000,
-               SV_TYPE_SERVER_NT         = 0x00008000,
-               SV_TYPE_POTENTIAL_BROWSER = 0x00010000,
-               SV_TYPE_BACKUP_BROWSER    = 0x00020000,
-               SV_TYPE_MASTER_BROWSER    = 0x00040000,
-               SV_TYPE_DOMAIN_MASTER     = 0x00080000,
-               SV_TYPE_SERVER_OSF        = 0x00100000,
-               SV_TYPE_SERVER_VMS        = 0x00200000,
-               SV_TYPE_WIN95_PLUS        = 0x00400000,
-               SV_TYPE_DFS_SERVER        = 0x00800000,
-               SV_TYPE_ALTERNATE_XPORT   = 0x20000000,
-               SV_TYPE_LOCAL_LIST_ONLY   = 0x40000000,
-               SV_TYPE_DOMAIN_ENUM       = 0x80000000
-       } svcctl_ServerType;
-
-       const uint32 SV_TYPE_ALL        = 0xFFFFFFFF;
-
-       /*****************/
-       /* Function 0x00 */
-       WERROR svcctl_CloseServiceHandle(
-                                               [in,out,ref] policy_handle *handle
-                                               );
-
-       /*****************/
-       /* Function 0x01 */
-
-       typedef enum {
-               FIXME=1
-       } SERVICE_CONTROL;
-       
-       WERROR svcctl_ControlService(
-                                                                [in,ref] policy_handle *handle,
-                                                                [in] uint32 control,
-                                                                [out,ref] SERVICE_STATUS *status
-                                                                );
-
-       /*****************/
-       /* Function 0x02 */
-       WERROR svcctl_DeleteService([in,ref] policy_handle *handle);
-
-       /*****************/
-       /* Function 0x03 */
-
-       WERROR svcctl_LockServiceDatabase(
-                                                        [in,ref] policy_handle *handle,
-                                                        [out] policy_handle lock
-                                                       );
-
-       /*****************/
-       /* Function 0x04 */
-       WERROR svcctl_QueryServiceObjectSecurity();
-
-       /*****************/
-       /* Function 0x05 */
-       WERROR svcctl_SetServiceObjectSecurity();
-
-       /*****************/
-       /* Function 0x06 */
-       WERROR svcctl_QueryServiceStatus(
-                                                         [in,ref] policy_handle *handle,
-                                                         [out,ref] SERVICE_STATUS *status);
-
-       /*****************/
-       /* Function 0x07 */
-       WERROR svcctl_SetServiceStatus();
-
-       /*****************/
-       /* Function 0x08 */
-       WERROR svcctl_UnlockServiceDatabase(
-                                                          [in,out,ref] policy_handle *lock
-                                                         );
-
-       /*****************/
-       /* Function 0x09 */
-       WERROR svcctl_NotifyBootConfigStatus();
-
-       /*****************/
-       /* Function 0x0a */
-       WERROR svcctl_SCSetServiceBitsW(
-                                                                  [in,ref] policy_handle *handle,
-                                                                  [in] uint32 bits,
-                                                                  [in] boolean32 bitson,
-                                                                  [in] boolean32 immediate);
-
-       /*****************/
-       /* Function 0x0b */
-       WERROR svcctl_ChangeServiceConfigW([in,ref] policy_handle *handle,
-                                                                         [in] uint32 type,
-                                                                         [in] uint32 start,
-                                                                         [in] uint32 error,
-                                                                         [in] [string,charset(UTF16)] uint16 *binary_path,
-                                                                         [in] [string,charset(UTF16)] uint16 *load_order_group,
-                                                                         [out] uint32 tag_id,
-                                                                         [in] [string,charset(UTF16)] uint16 *dependencies,
-                                                                         [in] [string,charset(UTF16)] uint16 *service_start_name,
-                                                                         [in] [string,charset(UTF16)] uint16 *password,
-                                                                         [in] [string,charset(UTF16)] uint16 *display_name);
-
-       /*****************/
-       /* Function 0x0c */
-       WERROR svcctl_CreateServiceW([in,ref] policy_handle *scmanager_handle,
-                                                               [in] [string,charset(UTF16)] uint16 ServiceName[],
-                                                               [in] [string,charset(UTF16)] uint16 *DisplayName,
-                                                               [in] uint32 desired_access,
-                                                               [in] uint32 type,
-                                                               [in] uint32 start_type,
-                                                               [in] uint32 error_control,
-                                                               [in] [string,charset(UTF16)] uint16 binary_path[],
-                                                               [in] [string,charset(UTF16)] uint16 *LoadOrderGroupKey,
-                                                               [in,out] uint32 *TagId,
-                                                               [in,size_is(dependencies_size)] uint8 *dependencies,
-                                                               [in] uint32 dependencies_size,
-                                                               [in] [string,charset(UTF16)] uint16 *service_start_name,
-                                                               [in,size_is(password_size)] uint8 *password,
-                                                               [in] uint32 password_size,
-                                                               [out,ref] policy_handle *handle);
-
-       /*****************/
-       /* Function 0x0d */
-       WERROR svcctl_EnumDependentServicesW([in,ref] policy_handle *service,
-                                                                               [in] uint32 state,
-                                                                               [out] ENUM_SERVICE_STATUS *status,
-                                                                               [in] uint32 buf_size,
-                                                                               [out] uint32 bytes_needed,
-                                                                               [out] uint32 services_returned);
-
-       /*****************/
-       /* Function 0x0e */
-       WERROR svcctl_EnumServicesStatusW(
-                                                       [in,ref] policy_handle *handle,
-                                                       [in] uint32 type,
-                                                       [in] uint32 state,
-                                                       [in] uint32 buf_size,
-                                                       [out,size_is(buf_size)] uint8 service[*],
-                                                       [out] uint32 bytes_needed,
-                                                       [out] uint32 services_returned,
-                                                       [in,out] uint32 *resume_handle
-                                                  );
-       /*****************/
-       /* Function 0x0f */
-       WERROR svcctl_OpenSCManagerW(
-                                          [in] [string,charset(UTF16)] uint16 *MachineName,
-                                          [in] [string,charset(UTF16)] uint16 *DatabaseName,
-                                          [in] uint32 access_mask,
-                                          [out,ref] policy_handle *handle);
-
-       /*****************/
-       /* Function 0x10 */
-       WERROR svcctl_OpenServiceW([in,ref] policy_handle *scmanager_handle,
-                                                         [in] [string,charset(UTF16)] uint16 ServiceName[],
-                                                         [in] uint32 access_mask,
-                                                         [out,ref] policy_handle *handle);
-
-       /*****************/
-       /* Function 0x11 */
-       WERROR svcctl_QueryServiceConfigW([in,ref] policy_handle *handle,
-                                                                        [out] uint8 query[buf_size], /*QUERY_SERVICE_CONFIG */
-                                                                        [in] uint32 buf_size,
-                                                                        [out] uint32 bytes_needed
-                                                                        );
-
-       /*****************/
-       /* Function 0x12 */
-       WERROR svcctl_QueryServiceLockStatusW(
-               [in,ref] policy_handle *handle,
-               [in] uint32 buf_size,
-               [out,ref] SERVICE_LOCK_STATUS *status,
-               [out,ref] uint32 *required_buf_size
-               );
-
-       /*****************/
-       /* Function 0x13 */
-       WERROR svcctl_StartServiceW(
-                                                          [in,ref] policy_handle *handle,
-                                                          [in] uint32 NumArgs,
-                                                          [in,length_is(NumArgs)] [string,charset(UTF16)] uint16 *Arguments);
-
-       /*****************/
-       /* Function 0x14 */
-       WERROR svcctl_GetServiceDisplayNameW([in,ref] policy_handle *handle,
-                                                                               [in] [string,charset(UTF16)] uint16 *service_name,
-                                                                               [out] [string,charset(UTF16)] uint16 *display_name,
-                                                                               [in,out] uint32 *display_name_length); 
-       /*****************/
-       /* Function 0x15 */
-       WERROR svcctl_GetServiceKeyNameW([in,ref] policy_handle *handle,
-                                                                               [in] [string,charset(UTF16)] uint16 *service_name,
-                                                                               [out] [string,charset(UTF16)] uint16 *key_name,
-                                                                               [in,out] uint32 *display_name_length);                                                                  
-       /*****************/
-       /* Function 0x16 */
-       WERROR svcctl_SCSetServiceBitsA(
-                                                                  [in,ref] policy_handle *handle,
-                                                                  [in] uint32 bits,
-                                                                  [in] boolean32 bitson,
-                                                                  [in] boolean32 immediate);
-
-       /*****************/
-       /* Function 0x17 */
-       WERROR svcctl_ChangeServiceConfigA([in,ref] policy_handle *handle,
-                                                                         [in] uint32 type,
-                                                                         [in] uint32 start,
-                                                                         [in] uint32 error,
-                                                                         [in] [string,charset(UTF16)] uint16 *binary_path,
-                                                                         [in] [string,charset(UTF16)] uint16 *load_order_group,
-                                                                         [out] uint32 tag_id,
-                                                                         [in] [string,charset(UTF16)] uint16 *dependencies,
-                                                                         [in] [string,charset(UTF16)] uint16 *service_start_name,
-                                                                         [in] [string,charset(UTF16)] uint16 *password,
-                                                                         [in] [string,charset(UTF16)] uint16 *display_name);
-
-       /*****************/
-       /* Function 0x18 */
-       WERROR svcctl_CreateServiceA([in,ref] policy_handle *handle,
-                                                               [in] [string,charset(UTF16)] uint16 *ServiceName,
-                                                               [in] [string,charset(UTF16)] uint16 *DisplayName,
-                                                               [in] uint32 desired_access,
-                                                               [in] uint32 type,
-                                                               [in] uint32 start_type,
-                                                               [in] uint32 error_control,
-                                                               [in] [string,charset(UTF16)] uint16 *binary_path,
-                                                               [in] [string,charset(UTF16)] uint16 *LoadOrderGroupKey,
-                                                               [out] uint32 *TagId,
-                                                               [in] [string,charset(UTF16)] uint16 *dependencies,
-                                                               [in] [string,charset(UTF16)] uint16 *service_start_name,
-                                                               [in] [string,charset(UTF16)] uint16 *password);
-
-       /*****************/
-       /* Function 0x19 */
-       WERROR svcctl_EnumDependentServicesA([in,ref] policy_handle *service,
-                                                                               [in] uint32 state,
-                                                                               [out] ENUM_SERVICE_STATUS *status,
-                                                                               [in] uint32 buf_size,
-                                                                               [out] uint32 bytes_needed,
-                                                                               [out] uint32 services_returned);
-
-       /*****************/
-       /* Function 0x1a */
-       WERROR svcctl_EnumServicesStatusA(
-                                                       [in,ref] policy_handle *handle,
-                                                       [in] uint32 type,
-                                                       [in] uint32 state,
-                                                       [in] uint32 buf_size,
-                                                       [out,size_is(buf_size)] uint8 service[*],
-                                                       [out] uint32 bytes_needed,
-                                                       [out] uint32 services_returned,
-                                                       [in,out] uint32 *resume_handle
-                                                  );
-       
-       /*****************/
-       /* Function 0x1b */
-       WERROR svcctl_OpenSCManagerA(
-                                          [in] [string,charset(UTF16)] uint16 *MachineName,
-                                          [in] [string,charset(UTF16)] uint16 *DatabaseName,
-                                          [in] uint32 access_mask,
-                                          [out,ref] policy_handle *handle);
-
-       /*****************/
-       /* Function 0x1c */
-       WERROR svcctl_OpenServiceA([in,ref] policy_handle *scmanager_handle,
-                                                         [in] [string,charset(UTF16)] uint16 *ServiceName,
-                                                         [in] uint32 access_mask);
-
-       /*****************/
-       /* Function 0x1d */
-       WERROR svcctl_QueryServiceConfigA([in,ref] policy_handle *handle,
-                                                                        [out] uint8 query[buf_size], /*QUERYU_SERVICE_CONFIG */
-                                                                        [in] uint32 buf_size,
-                                                                        [out] uint32 bytes_needed
-                                                                        );
-
-       /*****************/
-       /* Function 0x1e */
-       WERROR svcctl_QueryServiceLockStatusA(
-               [in,ref] policy_handle *handle,
-               [in] uint32 buf_size,
-               [out,ref] SERVICE_LOCK_STATUS *status,
-               [out,ref] uint32 *required_buf_size
-               );
-
-       /*****************/
-       /* Function 0x1f */
-       WERROR svcctl_StartServiceA(
-                                                          [in,ref] policy_handle *handle,
-                                                          [in] uint32 NumArgs,
-                                                          [in,length_is(NumArgs)] [string,charset(UTF16)] uint16 *Arguments);
-
-       /*****************/
-       /* Function 0x20 */
-       WERROR svcctl_GetServiceDisplayNameA([in,ref] policy_handle *handle,
-                                                                               [in] [string,charset(UTF16)] uint16 *service_name,
-                                                                               [out] [string,charset(UTF16)] uint16 *display_name,
-                                                                               [in,out] uint32 *display_name_length); 
-       /*****************/
-       /* Function 0x21 */
-       WERROR svcctl_GetServiceKeyNameA([in,ref] policy_handle *handle,
-                                                                               [in] [string,charset(UTF16)] uint16 *service_name,
-                                                                               [out] [string,charset(UTF16)] uint16 *key_name,
-                                                                               [in,out] uint32 *display_name_length);                                                                  
-
-       /*****************/
-       /* Function 0x22 */
-       WERROR svcctl_GetCurrentGroupeStateW();
-
-       /*****************/
-       /* Function 0x23 */
-       WERROR svcctl_EnumServiceGroupW();
-
-       /*****************/
-       /* Function 0x24 */
-       WERROR svcctl_ChangeServiceConfig2A([in,ref] policy_handle *handle,
-                                                                               [in] uint32 info_level,
-                                                                               [in] uint8 *info
-                                                                               );
-
-       /*****************/
-       /* Function 0x25 */
-       WERROR svcctl_ChangeServiceConfig2W([in,ref] policy_handle *handle,
-                                                                               [in] uint32 info_level,
-                                                                               [in] uint8 *info);
-
-       /*****************/
-       /* Function 0x26 */
-       WERROR svcctl_QueryServiceConfig2A(
-                                                                         [in,ref] policy_handle *handle,
-                                                                         [in] uint32 info_level,
-                                                                         [out] uint8 buffer[buf_size],
-                                                                         [in] uint32 buf_size,
-                                                                         [out] uint32 bytes_needed);
-
-       /*****************/
-       /* Function 0x27 */
-       WERROR svcctl_QueryServiceConfig2W(
-                                                                         [in,ref] policy_handle *handle,
-                                                                         [in] uint32 info_level,
-                                                                         [out] uint8 buffer[buf_size],
-                                                                         [in] uint32 buf_size,
-                                                                         [out] uint32 bytes_needed);
-
-       /*****************/
-       /* Function 0x28 */
-       WERROR svcctl_QueryServiceStatusEx(
-                                                                          [in,ref] policy_handle *handle,
-                                                                          [in] uint32 info_level,
-                                                                          [out] uint8 buffer[buf_size],
-                                                                          [in] uint32 buf_size,
-                                                                          [out] uint32 bytes_needed);
-
-       /*****************/
-       /* Function 0x29 */
-       WERROR EnumServicesStatusExA(
-                                                                [in,ref] policy_handle *scmanager,
-                                                                [in] uint32 info_level,
-                                                                [in] uint32 type,
-                                                                [in] uint32 state,
-                                                                [out] uint8 services[buf_size],
-                                                                [in] uint32 buf_size,
-                                                                [out] uint32 bytes_needed,
-                                                                [out] uint32 service_returned,
-                                                                [in,out] uint32 *resume_handle, 
-                                                                [out] [string,charset(UTF16)] uint16 *group_name);
-
-       /*****************/
-       /* Function 0x2a */
-       WERROR EnumServicesStatusExW(
-                                                                [in,ref] policy_handle *scmanager,
-                                                                [in] uint32 info_level,
-                                                                [in] uint32 type,
-                                                                [in] uint32 state,
-                                                                [out] uint8 services[buf_size],
-                                                                [in] uint32 buf_size,
-                                                                [out] uint32 bytes_needed,
-                                                                [out] uint32 service_returned,
-                                                                [in,out] uint32 *resume_handle, 
-                                                                [out] [string,charset(UTF16)] uint16 *group_name);
-
-       /*****************/
-       /* Function 0x2b */
-       WERROR svcctl_SCSendTSMessage();
-}
diff --git a/source3/librpc/idl/unixinfo.idl b/source3/librpc/idl/unixinfo.idl
deleted file mode 100644 (file)
index 2b5b609..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-  Unixinfo interface definition
-*/
-
-[ uuid("9c54e310-a955-4885-bd31-78787147dfa6"),
-  version(0.0),
-  endpoint("ncacn_np:[\\pipe\\unixinfo]", "ncacn_ip_tcp:", "ncalrpc:"),
-  pointer_default(unique),
-  helpstring("Unixinfo specific stuff"),
-  depends(security),
-  keepref
-] interface unixinfo
-{
-       /******************/
-       /* Function: 0x00 */
-       NTSTATUS unixinfo_SidToUid (
-           [in]        dom_sid sid,
-           [out,ref]   hyper *uid
-           );
-
-       /******************/
-       /* Function: 0x01 */
-       NTSTATUS unixinfo_UidToSid (
-           [in]        hyper uid,
-           [out]       dom_sid *sid
-           );
-
-       /******************/
-       /* Function: 0x02 */
-       NTSTATUS unixinfo_SidToGid (
-           [in]        dom_sid sid,
-           [out,ref]   hyper *gid
-           );
-
-       /******************/
-       /* Function: 0x03 */
-       NTSTATUS unixinfo_GidToSid (
-           [in]        hyper gid,
-           [out,ref]   dom_sid *sid
-           );
-
-    typedef struct {
-       NTSTATUS status;
-        [string,charset(UTF8)] uint8 *homedir;
-               [string,charset(UTF8)] uint8 *shell;
-       } unixinfo_GetPWUidInfo;
-
-       /******************/
-       /* Function: 0x04 */
-        NTSTATUS unixinfo_GetPWUid (
-               [in,out,ref,range(0,1023)] uint32 *count,
-               [in,size_is(*count)] hyper uids[],
-               [out,size_is(*count)] unixinfo_GetPWUidInfo *infos
-        );
-}
diff --git a/source3/librpc/idl/winreg.idl b/source3/librpc/idl/winreg.idl
deleted file mode 100644 (file)
index 93c3c12..0000000
+++ /dev/null
@@ -1,362 +0,0 @@
-/*
-  winreg interface definition
-*/
-
-[ 
-  uuid("338cd001-2244-31f1-aaaa-900038001003"),
-  version(1.0),
-  endpoint("ncacn_np:[\\pipe\\winreg]","ncacn_ip_tcp:","ncalrpc:"),
-  pointer_default(unique),
-  pointer_default_top(unique),
-  helpstring("Remote Registry Service"),
-  depends(lsa,initshutdown,security),
-  keepref
-] interface winreg
-{
-       declare bitmap security_secinfo;
-
-       typedef [v1_enum] enum {
-               REG_NONE                       = 0,
-               REG_SZ                         = 1,
-               REG_EXPAND_SZ                  = 2,
-               REG_BINARY                     = 3,
-               REG_DWORD                      = 4,
-               REG_DWORD_BIG_ENDIAN           = 5,
-               REG_LINK                       = 6,
-               REG_MULTI_SZ                   = 7,
-               REG_RESOURCE_LIST              = 8,
-               REG_FULL_RESOURCE_DESCRIPTOR   = 9,
-               REG_RESOURCE_REQUIREMENTS_LIST = 10,
-               REG_QWORD                      = 11
-       } winreg_Type;
-
-       typedef [public,noejs] struct {
-               [value(strlen_m_term(name)*2)] uint16 name_len;
-               [value(strlen_m_term(name)*2)] uint16 name_size;
-               [string,charset(UTF16)] uint16 *name;
-       } winreg_String;
-
-       /******************/
-       /* Function: 0x00 */
-       WERROR winreg_OpenHKCR(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x01 */
-       WERROR winreg_OpenHKCU(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x02 */
-       WERROR winreg_OpenHKLM(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x03 */
-       WERROR winreg_OpenHKPD(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x04 */
-       WERROR winreg_OpenHKU(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x05 */
-       WERROR winreg_CloseKey(
-               [in,out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x06 */
-
-       typedef struct {
-               [size_is(size),length_is(len)] uint8 *data;
-               uint32 size;
-               uint32 len;
-       } KeySecurityData;
-
-       typedef struct {
-               uint32 length;
-               KeySecurityData sd;
-               boolean8  inherit;
-       } winreg_SecBuf;
-
-       typedef [v1_enum] enum {
-               REG_ACTION_NONE         = 0, /* used by caller */
-               REG_CREATED_NEW_KEY     = 1,
-               REG_OPENED_EXISTING_KEY = 2
-       } winreg_CreateAction;
-
-       WERROR winreg_CreateKey(
-               [in,ref] policy_handle *handle,
-               [in] winreg_String name,
-               [in] winreg_String class,
-               [in] uint32 options,
-               [in] uint32 access_mask,
-               [in,unique] winreg_SecBuf *secdesc,
-               [out,ref] policy_handle *new_handle,
-               [in,out,unique] winreg_CreateAction *action_taken
-       );
-
-       /******************/
-       /* Function: 0x07 */
-       WERROR winreg_DeleteKey(
-               [in,ref] policy_handle *handle,
-               [in]     winreg_String key
-       );
-
-       /******************/
-       /* Function: 0x08 */
-       WERROR winreg_DeleteValue(
-               [in,ref] policy_handle *handle,
-               [in]     winreg_String value
-       );
-
-       typedef struct {
-               [value(strlen_m_term(name)*2)] uint16 length; 
-               /* size cannot be auto-set by value() as it is the
-                  amount of space the server is allowed to use for this
-                  string in the reply, not its current size */
-               uint16 size;
-               [size_is(size/2),length_is(length/2),charset(UTF16)] uint16 *name;
-       } winreg_StringBuf;
-
-       WERROR winreg_EnumKey(
-               [in,ref]        policy_handle    *handle,
-               [in]            uint32           enum_index,
-               [in,out,ref]    winreg_StringBuf *name,
-               [in,out,unique] winreg_StringBuf *class,
-               [in,out,unique] NTTIME           *last_changed_time
-       );
-
-       /******************/
-       /* Function: 0x0a */
-
-       WERROR winreg_EnumValue(
-               [in,ref]        policy_handle *handle,
-               [in]            uint32 enum_index,
-               [in,out,ref]    winreg_StringBuf *name,
-               [in,out,unique] winreg_Type *type,
-               [in,out,unique,size_is(*size),length_is(*length)] uint8 *value,
-               [in,out,unique] uint32 *size,
-               [in,out,unique] uint32 *length
-       );
-
-       /******************/
-       /* Function: 0x0b */
-       WERROR winreg_FlushKey(
-               [in,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x0c */
-       WERROR winreg_GetKeySecurity(
-               [in,ref] policy_handle *handle,
-               [in] security_secinfo sec_info,
-               [in,out,ref] KeySecurityData *sd
-       );
-
-       /******************/
-       /* Function: 0x0d */
-       WERROR winreg_LoadKey(
-               [in,ref] policy_handle *handle,
-               [in] winreg_String *keyname,
-               [in] winreg_String *filename
-       );
-
-       /******************/
-       /* Function: 0x0e */
-       WERROR winreg_NotifyChangeKeyValue(
-               [in,ref] policy_handle *handle,
-               [in] uint8 watch_subtree,
-               [in] uint32 notify_filter,
-               [in] uint32 unknown,
-               [in] winreg_String string1,
-               [in] winreg_String string2, 
-               [in] uint32 unknown2
-       );
-
-       /******************/
-       /* Function: 0x0f */
-       WERROR winreg_OpenKey(
-               [in,ref] policy_handle *handle,
-               [in] winreg_String keyname,
-               [in] uint32 unknown,
-               [in] uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x10 */
-       WERROR winreg_QueryInfoKey(
-               [in,ref] policy_handle *handle,
-               [in] winreg_String class_in,
-               [out] winreg_String *class_out,
-               [out] uint32 num_subkeys,
-               [out] uint32 max_subkeylen,
-               [out] uint32 max_subkeysize,
-               [out] uint32 num_values,
-               [out] uint32 max_valnamelen,
-               [out] uint32 max_valbufsize,
-               [out] uint32 secdescsize,
-               [out] NTTIME last_changed_time
-       );
-
-       /******************/
-       /* Function: 0x11 */
-       WERROR winreg_QueryValue(
-               [in,ref] policy_handle *handle,
-               [in] winreg_String value_name,
-               [in,out] winreg_Type *type,
-               [in,out,size_is(*size),length_is(*length)] uint8 *data,
-               [in,out] uint32 *size,
-               [in,out] uint32 *length
-       );
-
-       /******************/
-       /* Function: 0x12 */
-       WERROR winreg_ReplaceKey(
-       );
-
-       /******************/
-       /* Function: 0x13 */
-       WERROR winreg_RestoreKey(
-       );
-
-       /******************/
-       /* Function: 0x14 */
-       WERROR winreg_SaveKey(
-       );
-
-       /******************/
-       /* Function: 0x15 */
-       WERROR winreg_SetKeySecurity(
-               [in,ref] policy_handle *handle,
-               [in] uint32 access_mask,
-               [in,out,ref] KeySecurityData *data
-       );
-
-       /******************/
-       /* Function: 0x16 */
-       WERROR winreg_SetValue(
-               [in,ref]           policy_handle *handle,
-               [in]               winreg_String name,
-               [in]               winreg_Type type,
-               [in,size_is(size),ref] uint8  *data,
-               [in]               uint32 size
-       );
-
-       /******************/
-       /* Function: 0x17 */
-       WERROR winreg_UnLoadKey(
-       );
-
-       /******************/
-       /* Function: 0x18 */
-       WERROR winreg_InitiateSystemShutdown(
-               [in]    uint16 *hostname,
-               [in]    initshutdown_String *message,
-               [in]    uint32 timeout,
-               [in]    uint8 force_apps,
-               [in]    uint8 reboot
-       );
-
-       /******************/
-       /* Function: 0x19 */
-       WERROR winreg_AbortSystemShutdown(
-               [in]    uint16 *server
-       );
-
-       /******************/
-       /* Function: 0x1a */
-       WERROR winreg_GetVersion(
-               [in,ref] policy_handle *handle,
-               [out]    uint32 version
-       );
-
-       /******************/
-       /* Function: 0x1b */
-       WERROR winreg_OpenHKCC(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x1c */
-       WERROR winreg_OpenHKDD(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       typedef struct {
-               winreg_String *name;
-               winreg_Type type;
-               uint32 offset;
-               uint32 length;
-       } QueryMultipleValue;
-       
-       /******************/
-       /* Function: 0x1d */
-       WERROR winreg_QueryMultipleValues(
-               [in,ref] policy_handle *key_handle, 
-               [in,out,ref,size_is(num_values),length_is(num_values)] QueryMultipleValue *values,
-               [in] uint32 num_values,
-               [in,out,size_is(*buffer_size),length_is(*buffer_size)] uint8 *buffer,
-               [in,out,ref] uint32 *buffer_size
-       );
-
-       /******************/
-       /* Function: 0x1e */
-       WERROR winreg_InitiateSystemShutdownEx(
-               [in] uint16 *hostname,
-               [in] initshutdown_String *message,
-               [in] uint32 timeout,
-               [in] uint8 force_apps,
-               [in] uint8 reboot,
-               [in] uint32 reason
-       );
-
-       /******************/
-       /* Function: 0x1f */
-       WERROR winreg_SaveKeyEx(
-       );
-
-       /******************/
-       /* Function: 0x20 */
-       WERROR winreg_OpenHKPT(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x21 */
-       WERROR winreg_OpenHKPN(
-               [in]      uint16 *system_name,
-               [in]      uint32 access_mask,
-               [out,ref] policy_handle *handle
-       );
-
-       /******************/
-       /* Function: 0x22 */
-       WERROR winreg_QueryMultipleValues2(
-       );
-}
diff --git a/source3/librpc/idl/wkssvc.idl b/source3/librpc/idl/wkssvc.idl
deleted file mode 100644 (file)
index a085265..0000000
+++ /dev/null
@@ -1,394 +0,0 @@
-/*
-  wkssvc interface definitions
-*/
-
-[ uuid("6bffd098-a112-3610-9833-46c3f87e345a"),
-  version(1.0),
-  pointer_default(unique),
-  pointer_default_top(unique),
-  helpstring("Workstation Service"),
-  depends(srvsvc),
-  keepref
-] interface wkssvc
-{
-       declare [v1_enum] enum srvsvc_PlatformId;
-
-#define BOOL uint32
-
-       /******************/
-       /* Function: 0x00 */
-
-       typedef struct {
-               srvsvc_PlatformId platform_id;
-               [string,charset(UTF16)] uint16 *server_name;
-               [string,charset(UTF16)] uint16 *domain_name;
-               uint32 version_major;
-               uint32 version_minor;
-       } wkssvc_NetWkstaInfo100;
-
-       typedef struct {
-               srvsvc_PlatformId platform_id;
-               [string,charset(UTF16)] uint16 *server_name;
-               [string,charset(UTF16)] uint16 *domain_name;
-               uint32 version_major;
-               uint32 version_minor;
-               [string,charset(UTF16)] uint16 *lan_root;
-       } wkssvc_NetWkstaInfo101;
-
-       typedef struct {
-               srvsvc_PlatformId platform_id;
-               [string,charset(UTF16)] uint16 *server_name;
-               [string,charset(UTF16)] uint16 *domain_name;
-               uint32 version_major;
-               uint32 version_minor;
-               [string,charset(UTF16)] uint16 *lan_root;
-               uint32 logged_on_users;
-       } wkssvc_NetWkstaInfo102;
-
-       typedef struct {
-               uint32 char_wait;
-               uint32 collection_time;
-               uint32 maximum_collection_count;
-               uint32 keep_connection;
-               uint32 max_commands;
-               uint32 session_timeout;
-               uint32 size_char_buf;
-               uint32 max_threads;
-               uint32 lock_quota;
-               uint32 lock_increment;
-               uint32 lock_maximum;
-               uint32 pipe_increment;
-               uint32 pipe_maximum;
-               uint32 cache_file_timeout;
-               uint32 dormant_file_limit;
-               uint32 read_ahead_throughput;
-               uint32 num_mailslot_buffers;
-               uint32 num_srv_announce_buffers;
-               uint32 max_illegal_dgram_events;
-               uint32 dgram_event_reset_freq;
-               BOOL log_election_packets;
-               BOOL use_opportunistic_locking;
-               BOOL use_unlock_behind;
-               BOOL use_close_behind;
-               BOOL buf_named_pipes;
-               BOOL use_lock_read_unlock;
-               BOOL utilize_nt_caching;
-               BOOL use_raw_read;
-               BOOL use_raw_write;
-               BOOL use_write_raw_data;
-               BOOL use_encryption;
-               BOOL buf_files_deny_write;
-               BOOL buf_read_only_files;
-               BOOL force_core_create_mode;
-               BOOL use_512_byte_max_transfer;
-       } wkssvc_NetWkstaInfo502;
-
-       typedef struct {
-               uint32 char_wait;
-       } wkssvc_NetWkstaInfo1010;
-
-       typedef struct {
-               uint32 collection_time;
-       } wkssvc_NetWkstaInfo1011;
-
-       typedef struct {
-               uint32 maximum_collection_count;
-       } wkssvc_NetWkstaInfo1012;
-
-       typedef struct {
-               uint32 keep_connection;
-       } wkssvc_NetWkstaInfo1013;
-
-       typedef struct {
-               uint32 session_timeout;
-       } wkssvc_NetWkstaInfo1018;
-
-       typedef struct {
-               uint32 size_char_buf;
-       } wkssvc_NetWkstaInfo1023;
-
-       typedef struct {
-               uint32 errorlog_sz;
-       } wkssvc_NetWkstaInfo1027;
-
-       typedef struct {
-               uint32 max_threads;
-       } wkssvc_NetWkstaInfo1033;
-
-       typedef union {
-               [case(100)] wkssvc_NetWkstaInfo100 *info100;
-               [case(101)] wkssvc_NetWkstaInfo101 *info101;
-               [case(102)] wkssvc_NetWkstaInfo102 *info102;
-               [case(502)] wkssvc_NetWkstaInfo502 *info502;
-               [case(1010)] wkssvc_NetWkstaInfo1010 *info1010;
-               [case(1011)] wkssvc_NetWkstaInfo1011 *info1011;
-               [case(1012)] wkssvc_NetWkstaInfo1012 *info1012;
-               [case(1013)] wkssvc_NetWkstaInfo1013 *info1013;
-               [case(1018)] wkssvc_NetWkstaInfo1018 *info1018;
-               [case(1023)] wkssvc_NetWkstaInfo1023 *info1023;
-               [case(1027)] wkssvc_NetWkstaInfo1027 *info1027;
-               [case(1033)] wkssvc_NetWkstaInfo1033 *info1033;
-               [default] ;
-       } wkssvc_NetWkstaInfo;
-
-       WERROR wkssvc_NetWkstaGetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_name,
-               [in]   uint32 level,
-               [out,switch_is(level),ref]  wkssvc_NetWkstaInfo *info
-               );
-
-
-       /******************/
-       /* Function: 0x01 */
-       WERROR wkssvc_NetWkstaSetInfo(
-               [in]   [string,charset(UTF16)] uint16 *server_name,
-               [in]   uint32 level,
-               [in,switch_is(level),ref]  wkssvc_NetWkstaInfo *info,
-               [in,out,ref]   uint32 *parm_error
-               );
-
-
-       /*****************************/
-       /* Function        0x02      */
-       typedef struct {
-               [string,charset(UTF16)] uint16 *user;
-       } USER_INFO_0;
-
-       typedef struct {
-               uint32 entries_read;
-               [size_is(entries_read)] USER_INFO_0 *user0;
-       } USER_INFO_0_CONTAINER;
-
-       typedef struct {
-               [string,charset(UTF16)] uint16 *user_name;
-               [string,charset(UTF16)] uint16 *logon_domain;
-               [string,charset(UTF16)] uint16 *other_domains;
-               [string,charset(UTF16)] uint16 *logon_server;
-       } USER_INFO_1;
-
-       typedef struct {
-               uint32 entries_read;
-               [size_is(entries_read)] USER_INFO_1 *user1;
-       } USER_INFO_1_CONTAINER;
-
-       typedef [switch_type(uint32)] union {
-               [case(0)] USER_INFO_0_CONTAINER *user0;
-               [case(1)] USER_INFO_1_CONTAINER *user1;
-       } WKS_USER_ENUM_UNION;
-
-       WERROR wkssvc_NetWkstaEnumUsers(
-               [in] [string,charset(UTF16)] uint16 *server_name,
-               [in] uint32 level,
-               [in] [out] [ref] WKS_USER_ENUM_UNION *users,
-               [in] uint32 prefmaxlen,
-               [out] uint32 *entriesread,
-               [out] uint32 *totalentries,
-               [in] [out] [ref] uint32 *resumehandle
-               );
-
-       /*****************************/
-       /* Function        0x03      */
-       WERROR WKSSVC_NETRWKSTAUSERGETINFO ();
-
-       /*****************************/
-       /* Function        0x04      */
-       WERROR WKSSVC_NETRWKSTAUSERSETINFO ();
-
-
-       /*****************************/
-       /* Function        0x05      */
-
-       typedef struct {
-               uint32 quality_of_service;
-               uint32 vc_count;
-               [string,charset(UTF16)] uint16 *name;
-               [string,charset(UTF16)] uint16 *address;
-               uint32 wan_link;
-       } wkssvc_NetWkstaTransportInfo0;
-
-       typedef struct {
-               uint32 count;
-               [size_is(count)] wkssvc_NetWkstaTransportInfo0 *array;
-       } wkssvc_NetWkstaTransportCtr0;
-
-       typedef union {
-               [case(0)] wkssvc_NetWkstaTransportCtr0 *ctr0;
-               [default] ;
-       } wkssvc_NetWkstaTransportCtr;
-
-       WERROR wkssvc_NetWkstaTransportEnum (
-               [in]         [string,charset(UTF16)] uint16 *server_name,
-               [in,out]     uint32 level,
-               [in,out,switch_is(level),ref] wkssvc_NetWkstaTransportCtr *ctr,
-               [in]         uint32 max_buffer,
-               [out]        uint32 totalentries,
-               [in,out]     uint32 *resume_handle
-               );
-
-
-       /*****************************/
-       /* Function        0x06      */
-       WERROR WKSSVC_NETRWKSTATRANSPORTADD ();
-
-       /*****************************/
-       /* Function        0x07      */
-       WERROR WKSSVC_NETRWKSTATRANSPORTDEL ();
-
-       /*****************************/
-       /* Function        0x08      */
-       WERROR WKSSVC_NETRUSEADD ();
-
-       /*****************************/
-       /* Function        0x09      */
-       WERROR WKSSVC_NETRUSEGETINFO ();
-
-       /*****************************/
-       /* Function        0x0a      */
-       WERROR WKSSVC_NETRUSEDEL ();
-
-       /*****************************/
-       /* Function        0x0b      */
-       WERROR WKSSVC_NETRUSEENUM ();
-
-       /*****************************/
-       /* Function        0x0c      */
-       WERROR WKSSVC_NETRMESSAGEBUFFERSEND ();
-
-       /*****************************/
-       /* Function        0x0d      */
-       WERROR WKSSVC_NETRWORKSTATIONSTATISTICSGET ();
-
-       /*****************************/
-       /* Function        0x0e      */
-       WERROR WKSSVC_NETRLOGONDOMAINNAMEADD ();
-
-       /*****************************/
-       /* Function        0x0f      */
-       WERROR WKSSVC_NETRLOGONDOMAINNAMEDEL ();
-
-       /*****************************/
-       /* Function        0x10      */
-       WERROR WKSSVC_NETRJOINDOMAIN ();
-
-       /*****************************/
-       /* Function        0x11      */
-       WERROR WKSSVC_NETRUNJOINDOMAIN ();
-
-       /*****************************/
-       /* Function        0x12      */
-       WERROR WKSSVC_NETRRENAMEMACHINEINDOMAIN ();
-
-       /*****************************/
-       /* Function        0x13      */
-       WERROR WKSSVC_NETRVALIDATENAME ();
-
-       /*****************************/
-       /* Function        0x14      */
-       WERROR WKSSVC_NETRGETJOININFORMATION ();
-
-       /*****************************/
-       /* Function        0x15      */
-       WERROR WKSSVC_NETRGETJOINABLEOUS ();
-
-       typedef struct {
-               uint8 data[524];
-       } wkssvc_PasswordBuffer;
-
-       typedef [bitmap32bit] bitmap {
-               /* TRUE: defer setting the SPN and dNSHostName until a rename operation */
-               WKSSVC_JOIN_FLAGS_DEFER_SPN             = 0x00000100,
-
-               /* TRUE: set the machine password to the provided one after the join completes */
-               WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED    = 0x00000080,
-
-               /* TRUE: perform an unsecured join */
-               WKSSVC_JOIN_FLAGS_JOIN_UNSECURE         = 0x00000040,
-
-               /* TRUE: allow the join to complete even if the account already exists */
-               WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED = 0x00000020,
-       
-               /* TRUE: this join is part of a w9x upgrade */
-               WKSSVC_JOIN_FLAGS_WIN9X_UPGRADE         = 0x00000010,
-
-               /* TRUE: delete the account when the domain is left */
-               WKSSVC_JOIN_FLAGS_ACCOUNT_DELETE        = 0x00000004,
-
-               /* TRUE: create the account in the domain */
-               WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE        = 0x00000002,
-
-               /* TRUE: join domain    FALSE: join workgroup */
-               WKSSVC_JOIN_FLAGS_JOIN_TYPE             = 0x00000001
-               
-       } wkssvc_joinflags;
-
-       /*****************************/
-       /* Function        0x16      */
-       WERROR wkssvc_NetrJoinDomain2 (
-               [in]         [string,charset(UTF16)] uint16 *server_name,
-               [in]         [string,charset(UTF16),ref] uint16 *domain_name,
-               [in]         [string,charset(UTF16)] uint16 *account_name,
-               [in]         [string,charset(UTF16)] uint16 *admin_account,
-               [in]         wkssvc_PasswordBuffer *encrypted_password,
-               [in]         wkssvc_joinflags join_flags
-               );
-
-       /*****************************/
-       /* Function        0x17      */
-       WERROR wkssvc_NetrUnjoinDomain2 (
-               [in] [unique] [string,charset(UTF16)] uint16 *server_name,
-               [in] [unique] [string,charset(UTF16)] uint16 *account,
-               [in] [unique] wkssvc_PasswordBuffer *encrypted_password,
-               [in] wkssvc_joinflags unjoin_flags
-               );
-
-       typedef [bitmap32bit] bitmap {
-               /* TRUE: create the account in the domain */
-               WKSSVC_JOIN_FLAGS_ACCOUNT_CREATE        = 0x00000002
-       } wkssvc_renameflags;
-
-       /*****************************/
-       /* Function        0x18      */
-       WERROR wkssvc_NetrRenameMachineInDomain2(
-               [in] [unique] [string,charset(UTF16)] uint16 *server_name,
-               [in] [unique] [string,charset(UTF16)] uint16 *NewMachineName,
-               [in] [unique] [string,charset(UTF16)] uint16 *Account,
-               [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
-               [in] wkssvc_renameflags RenameOptions
-               );
-
-       /*****************************/
-       /* Function        0x19      */
-       WERROR WKSSVC_NETRVALIDATENAME2 ();
-
-       /*****************************/
-       /* Function        0x1a      */
-       WERROR WKSSVC_NETRGETJOINABLEOUS2 ();
-
-       /*****************************/
-       /* Function        0x1b      */
-       WERROR wkssvc_NetrAddAlternateComputerName(
-               [in] [unique] [string,charset(UTF16)] uint16 *server_name,
-               [in] [unique] [string,charset(UTF16)] uint16 *NewAlternateMachineName,
-               [in] [unique] [string,charset(UTF16)] uint16 *Account,
-               [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
-               [in] uint32 Reserved
-               );
-
-       /*****************************/
-       /* Function        0x1c      */
-       WERROR wkssvc_NetrRemoveAlternateComputerName(
-               [in] [unique] [string,charset(UTF16)] uint16 *server_name,
-               [in] [unique] [string,charset(UTF16)] uint16 *AlternateMachineNameToRemove,
-               [in] [unique] [string,charset(UTF16)] uint16 *Account,
-               [in] [unique] wkssvc_PasswordBuffer *EncryptedPassword,
-               [in] uint32 Reserved
-               );
-
-       /*****************************/
-       /* Function        0x1d      */
-       WERROR WKSSVC_NETRSETPRIMARYCOMPUTERNAME ();
-
-       /*****************************/
-       /* Function        0x1e      */
-       WERROR WKSSVC_NETRENUMERATECOMPUTERNAMES ();
-}