summaryrefslogtreecommitdiff
path: root/source3/include/rpc_lsa.h
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include/rpc_lsa.h')
-rw-r--r--source3/include/rpc_lsa.h119
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 */