diff options
Diffstat (limited to 'source3/include/rpc_lsa.h')
-rw-r--r-- | source3/include/rpc_lsa.h | 119 |
1 files changed, 94 insertions, 25 deletions
diff --git a/source3/include/rpc_lsa.h b/source3/include/rpc_lsa.h index 8eaf68a234..fe444bfdd1 100644 --- a/source3/include/rpc_lsa.h +++ b/source3/include/rpc_lsa.h @@ -46,11 +46,11 @@ #define LSA_CLEARAUDITLOG 0x09 #define LSA_CREATEACCOUNT 0x0a #define LSA_ENUM_ACCOUNTS 0x0b -#define LSA_CREATETRUSTDOM 0x0c +#define LSA_CREATETRUSTDOM 0x0c /* TODO: implement this one -- jerry */ #define LSA_ENUMTRUSTDOM 0x0d #define LSA_LOOKUPNAMES 0x0e #define LSA_LOOKUPSIDS 0x0f -#define LSA_CREATESECRET 0x10 +#define LSA_CREATESECRET 0x10 /* TODO: implement this one -- jerry */ #define LSA_OPENACCOUNT 0x11 #define LSA_ENUMPRIVSACCOUNT 0x12 #define LSA_ADDPRIVS 0x13 @@ -59,16 +59,16 @@ #define LSA_SETQUOTAS 0x16 #define LSA_GETSYSTEMACCOUNT 0x17 #define LSA_SETSYSTEMACCOUNT 0x18 -#define LSA_OPENTRUSTDOM 0x19 +#define LSA_OPENTRUSTDOM 0x19 /* TODO: implement this one -- jerry */ #define LSA_QUERYTRUSTDOM 0x1a #define LSA_SETINFOTRUSTDOM 0x1b -#define LSA_OPENSECRET 0x1c -#define LSA_SETSECRET 0x1d +#define LSA_OPENSECRET 0x1c /* TODO: implement this one -- jerry */ +#define LSA_SETSECRET 0x1d /* TODO: implement this one -- jerry */ #define LSA_QUERYSECRET 0x1e #define LSA_LOOKUPPRIVVALUE 0x1f #define LSA_LOOKUPPRIVNAME 0x20 #define LSA_PRIV_GET_DISPNAME 0x21 -#define LSA_DELETEOBJECT 0x22 +#define LSA_DELETEOBJECT 0x22 /* TODO: implement this one -- jerry */ #define LSA_ENUMACCTWITHRIGHT 0x23 /* TODO: implement this one -- jerry */ #define LSA_ENUMACCTRIGHTS 0x24 #define LSA_ADDACCTRIGHTS 0x25 @@ -475,25 +475,6 @@ typedef struct lsa_r_lookup_names NTSTATUS status; /* return code */ } LSA_R_LOOKUP_NAMES; -/* This is probably a policy handle but at the moment we - never read it - so use a dummy struct. */ - -typedef struct lsa_q_open_secret -{ - uint32 dummy; -} LSA_Q_OPEN_SECRET; - -/* We always return "not found" at present - so just marshal the minimum. */ - -typedef struct lsa_r_open_secret -{ - uint32 dummy1; - uint32 dummy2; - uint32 dummy3; - uint32 dummy4; - NTSTATUS status; -} LSA_R_OPEN_SECRET; - typedef struct lsa_enum_priv_entry { UNIHDR hdr_name; @@ -742,4 +723,92 @@ typedef struct lsa_r_removeprivs NTSTATUS status; } LSA_R_REMOVEPRIVS; +/*******************************************************/ + +typedef struct { + POLICY_HND handle; + uint32 count; /* ??? this is what ethereal calls it */ + DOM_SID sid; +} LSA_Q_OPEN_TRUSTED_DOMAIN; + +typedef struct { + POLICY_HND handle; + NTSTATUS status; +} LSA_R_OPEN_TRUSTED_DOMAIN; + + +/*******************************************************/ + +typedef struct { + POLICY_HND handle; + UNISTR4 secretname; + uint32 access; +} LSA_Q_OPEN_SECRET; + +typedef struct { + POLICY_HND handle; + NTSTATUS status; +} LSA_R_OPEN_SECRET; + + +/*******************************************************/ + +typedef struct { + POLICY_HND handle; +} LSA_Q_DELETE_OBJECT; + +typedef struct { + NTSTATUS status; +} LSA_R_DELETE_OBJECT; + + +/*******************************************************/ + +typedef struct { + POLICY_HND handle; + UNISTR4 secretname; + uint32 access; +} LSA_Q_CREATE_SECRET; + +typedef struct { + POLICY_HND handle; + NTSTATUS status; +} LSA_R_CREATE_SECRET; + + +/*******************************************************/ + +typedef struct { + POLICY_HND handle; + UNISTR4 secretname; + uint32 access; +} LSA_Q_CREATE_TRUSTED_DOMAIN; + +typedef struct { + POLICY_HND handle; + NTSTATUS status; +} LSA_R_CREATE_TRUSTED_DOMAIN; + + +/*******************************************************/ + +typedef struct { + uint32 size; /* size is written on the wire twice so I + can only assume that one is supposed to + be a max length and one is a size */ + UNISTR2 *data; /* not really a UNICODE string but the parsing + is the same */ +} LSA_DATA_BLOB; + +typedef struct { + POLICY_HND handle; + LSA_DATA_BLOB *old_value; + LSA_DATA_BLOB *new_value; +} LSA_Q_SET_SECRET; + +typedef struct { + NTSTATUS status; +} LSA_R_SET_SECRET; + + #endif /* _RPC_LSA_H */ |