summaryrefslogtreecommitdiff
path: root/source4/build/pidl/packet-dcerpc-eparser.c
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2004-06-06 11:18:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:56:34 -0500
commit7b1e0454ef1a6af65c9e9305b7502ca5294a1793 (patch)
treecda91ac4ac6e9700f2e4810806bdf1287976c5ca /source4/build/pidl/packet-dcerpc-eparser.c
parentae444c03ea95887897b57799aa436bfed7c577da (diff)
downloadsamba-7b1e0454ef1a6af65c9e9305b7502ca5294a1793.tar.gz
samba-7b1e0454ef1a6af65c9e9305b7502ca5294a1793.tar.bz2
samba-7b1e0454ef1a6af65c9e9305b7502ca5294a1793.zip
r1047: Now samr eparser compiles, links and doesn't crash ethereal.
(This used to be commit f18dc9eb887034171dcf28a1f309a69e9088604e)
Diffstat (limited to 'source4/build/pidl/packet-dcerpc-eparser.c')
-rw-r--r--source4/build/pidl/packet-dcerpc-eparser.c75
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)
+{
+}
+