summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/ndr')
-rw-r--r--source4/librpc/ndr/ndr_lsa.c17
-rw-r--r--source4/librpc/ndr/ndr_lsa.h8
2 files changed, 21 insertions, 4 deletions
diff --git a/source4/librpc/ndr/ndr_lsa.c b/source4/librpc/ndr/ndr_lsa.c
index 1b73482e9c..33596bf659 100644
--- a/source4/librpc/ndr/ndr_lsa.c
+++ b/source4/librpc/ndr/ndr_lsa.c
@@ -1127,14 +1127,27 @@ NTSTATUS ndr_pull_LOOKUPPRIVVALUE(struct ndr_pull *ndr, struct LOOKUPPRIVVALUE *
return NT_STATUS_OK;
}
-NTSTATUS ndr_push_LOOKUPPRIVNAME(struct ndr_push *ndr, struct LOOKUPPRIVNAME *r)
+NTSTATUS ndr_push_lsa_LookupPrivName(struct ndr_push *ndr, struct lsa_LookupPrivName *r)
{
+ NDR_CHECK(ndr_push_policy_handle(ndr, r->in.handle));
+ NDR_CHECK(ndr_push_uint32(ndr, r->in.luid_high));
+ NDR_CHECK(ndr_push_uint32(ndr, r->in.luid_low));
return NT_STATUS_OK;
}
-NTSTATUS ndr_pull_LOOKUPPRIVNAME(struct ndr_pull *ndr, struct LOOKUPPRIVNAME *r)
+NTSTATUS ndr_pull_lsa_LookupPrivName(struct ndr_pull *ndr, struct lsa_LookupPrivName *r)
{
+ uint32 _ptr_name;
+ NDR_CHECK(ndr_pull_uint32(ndr, &_ptr_name));
+ if (_ptr_name) {
+ NDR_ALLOC(ndr, r->out.name);
+ } else {
+ r->out.name = NULL;
+ }
+ if (r->out.name) {
+ NDR_CHECK(ndr_pull_lsa_Name(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.name));
+ }
NDR_CHECK(ndr_pull_NTSTATUS(ndr, &r->out.result));
return NT_STATUS_OK;
diff --git a/source4/librpc/ndr/ndr_lsa.h b/source4/librpc/ndr/ndr_lsa.h
index a3d395760c..402bbe8ca2 100644
--- a/source4/librpc/ndr/ndr_lsa.h
+++ b/source4/librpc/ndr/ndr_lsa.h
@@ -464,11 +464,15 @@ struct LOOKUPPRIVVALUE {
};
-struct LOOKUPPRIVNAME {
+struct lsa_LookupPrivName {
struct {
+ struct policy_handle *handle;
+ uint32 luid_high;
+ uint32 luid_low;
} in;
struct {
+ struct lsa_Name *name;
NTSTATUS result;
} out;
@@ -662,7 +666,7 @@ struct QUERYINFO2 {
#define DCERPC_SETSECRET 29
#define DCERPC_QUERYSECRET 30
#define DCERPC_LOOKUPPRIVVALUE 31
-#define DCERPC_LOOKUPPRIVNAME 32
+#define DCERPC_LSA_LOOKUPPRIVNAME 32
#define DCERPC_PRIV_GET_DISPNAME 33
#define DCERPC_DELETEOBJECT 34
#define DCERPC_ENUMACCTWITHRIGHT 35