diff options
Diffstat (limited to 'source4/librpc/ndr')
-rw-r--r-- | source4/librpc/ndr/ndr_lsa.c | 17 | ||||
-rw-r--r-- | source4/librpc/ndr/ndr_lsa.h | 8 |
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 |