diff options
Diffstat (limited to 'source4/build/pidl/packet-dcerpc-eparser.c')
-rw-r--r-- | source4/build/pidl/packet-dcerpc-eparser.c | 75 |
1 files changed, 71 insertions, 4 deletions
diff --git a/source4/build/pidl/packet-dcerpc-eparser.c b/source4/build/pidl/packet-dcerpc-eparser.c index f7cf575932..ae559e878a 100644 --- a/source4/build/pidl/packet-dcerpc-eparser.c +++ b/source4/build/pidl/packet-dcerpc-eparser.c @@ -38,6 +38,13 @@ void ndr_pull_ptr(struct e_ndr_pull *e_ndr, int hf, guint32 *ptr) e_ndr->tree, e_ndr->drep, hf, ptr); } +void ndr_pull_level(struct e_ndr_pull *e_ndr, int hf, int *ptr) +{ + e_ndr->offset = dissect_ndr_uint16( + e_ndr->tvb, e_ndr->offset, e_ndr->pinfo, + e_ndr->tree, e_ndr->drep, hf, ptr); +} + void ndr_pull_NTSTATUS(struct e_ndr_pull *e_ndr, int hf) { e_ndr->offset = dissect_ntstatus( @@ -45,6 +52,13 @@ void ndr_pull_NTSTATUS(struct e_ndr_pull *e_ndr, int hf) e_ndr->tree, e_ndr->drep, hf, NULL); } +void ndr_pull_uint8(struct e_ndr_pull *e_ndr, int hf) +{ + e_ndr->offset = dissect_ndr_uint8( + e_ndr->tvb, e_ndr->offset, e_ndr->pinfo, + e_ndr->tree, e_ndr->drep, hf, NULL); +} + void ndr_pull_uint16(struct e_ndr_pull *e_ndr, int hf) { e_ndr->offset = dissect_ndr_uint16( @@ -59,6 +73,34 @@ void ndr_pull_uint32(struct e_ndr_pull *e_ndr, int hf) e_ndr->tree, e_ndr->drep, hf, NULL); } +void ndr_pull_int64(struct e_ndr_pull *e_ndr, int hf) +{ +} + +void ndr_pull_uint64(struct e_ndr_pull *e_ndr, int hf) +{ +} + +void ndr_pull_string(struct e_ndr_pull *e_ndr, int hf) +{ +} + +void ndr_pull_NTTIME(struct e_ndr_pull *e_ndr, int hf) +{ +} + +void ndr_pull_HYPER_T(struct e_ndr_pull *e_ndr, int hf) +{ +} + +void ndr_pull_dom_sid2(struct e_ndr_pull *e_ndr, int hf) +{ +} + +void ndr_pull_security_descriptor(struct e_ndr_pull *e_ndr, int hf) +{ +} + void ndr_pull_policy_handle(struct e_ndr_pull *e_ndr, int hf) { e_ndr->offset = dissect_nt_policy_hnd( @@ -66,22 +108,28 @@ void ndr_pull_policy_handle(struct e_ndr_pull *e_ndr, int hf) e_ndr->drep, hf, NULL, NULL, 0, 0); } -void ndr_pull_advance(struct e_ndr_pull *ndr, int offset) +void ndr_pull_advance(struct e_ndr_pull *e_ndr, int offset) { e_ndr->offset += offset; } +void ndr_pull_align(struct e_ndr_pull *ndr, int size) +{ + if (!(ndr->flags & LIBNDR_FLAG_NOALIGN)) { + ndr->offset = (ndr->offset + (size-1)) & ~(size-1); + } +} + void ndr_pull_subcontext_flags_fn(struct e_ndr_pull *ndr, size_t sub_size, - void *base, void (*fn)(struct e_ndr_pull *, int ndr_flags)) { struct e_ndr_pull ndr2; ndr_pull_subcontext_header(ndr, sub_size, &ndr2); - fn(&ndr2, NDR_SCALARS|NDR_BUFFERS, base); + fn(&ndr2, NDR_SCALARS|NDR_BUFFERS); if (sub_size) { - ndr_pull_advance(ndr, ndr2.data_size); +// ndr_pull_advance(ndr, ndr2.data_size); } else { ndr_pull_advance(ndr, ndr2.offset); } @@ -108,3 +156,22 @@ void ndr_pull_struct_end(struct e_ndr_pull *ndr) g_free(ndr->ofs_list); ndr->ofs_list = ofs; } + +void ndr_pull_subcontext_header(struct e_ndr_pull *ndr, + size_t sub_size, + struct e_ndr_pull *ndr2) +{ +} + +void ndr_pull_lsa_SidArray(struct e_ndr_pull *ndr, int ndr_flags) +{ +} + +void ndr_pull_samr_LogonHours(struct e_ndr_pull *ndr, int ndr_flags) +{ +} + +void ndr_pull_samr_Password(struct e_ndr_pull *ndr, int ndr_flags) +{ +} + |