diff options
Diffstat (limited to 'source4/build/pidl/packet-dcerpc-eparser.h')
-rw-r--r-- | source4/build/pidl/packet-dcerpc-eparser.h | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/source4/build/pidl/packet-dcerpc-eparser.h b/source4/build/pidl/packet-dcerpc-eparser.h index 0d181c9c8a..598ae9b08e 100644 --- a/source4/build/pidl/packet-dcerpc-eparser.h +++ b/source4/build/pidl/packet-dcerpc-eparser.h @@ -1,6 +1,31 @@ #define NDR_SCALARS 1 #define NDR_BUFFERS 2 +#define LIBNDR_FLAG_BIGENDIAN (1<<0) +#define LIBNDR_FLAG_NOALIGN (1<<1) + +#define LIBNDR_FLAG_STR_ASCII (1<<2) +#define LIBNDR_FLAG_STR_LEN4 (1<<3) +#define LIBNDR_FLAG_STR_SIZE4 (1<<4) +#define LIBNDR_FLAG_STR_NOTERM (1<<5) +#define LIBNDR_FLAG_STR_NULLTERM (1<<6) +#define LIBNDR_FLAG_STR_SIZE2 (1<<7) +#define LIBNDR_STRING_FLAGS (0xFC) + +#define LIBNDR_FLAG_REF_ALLOC (1<<10) +#define LIBNDR_FLAG_REMAINING (1<<11) +#define LIBNDR_FLAG_ALIGN2 (1<<12) +#define LIBNDR_FLAG_ALIGN4 (1<<13) +#define LIBNDR_FLAG_ALIGN8 (1<<14) + +#define LIBNDR_ALIGN_FLAGS (LIBNDR_FLAG_ALIGN2|LIBNDR_FLAG_ALIGN4|LIBNDR_FLAG_ALIGN8) + +#define LIBNDR_PRINT_ARRAY_HEX (1<<15) +#define LIBNDR_PRINT_SET_VALUES (1<<16) + +/* used to force a section of IDL to be little-endian */ +#define LIBNDR_FLAG_LITTLE_ENDIAN (1<<17) + /* Ethereal version of struct ndr_pull */ struct e_ndr_pull { @@ -9,6 +34,15 @@ struct e_ndr_pull { packet_info *pinfo; proto_tree *tree; guint8 *drep; + struct ndr_ofs_list *ofs_list; + int flags; +}; + +/* offset lists are used to allow a push/pull function to find the + start of an encapsulating structure */ +struct ndr_ofs_list { + guint32 offset; + struct ndr_ofs_list *next; }; /* Create a ndr_pull structure from data stored in a tvb at a given offset. */ @@ -20,4 +54,11 @@ void ndr_pull_ptr(struct e_ndr_pull *ndr, int hf, guint32 *ptr); void ndr_pull_NTSTATUS(struct e_ndr_pull *ndr, int hf); void ndr_pull_uint16(struct e_ndr_pull *ndr, int hf); void ndr_pull_uint32(struct e_ndr_pull *ndr, int hf); -void ndr_pull_policy_handle(struct e_ndr_pull *e_ndr, int hf); +void ndr_pull_policy_handle(struct e_ndr_pull *ndr, int hf); +void ndr_pull_advance(struct e_ndr_pull *ndr, int offset); +void ndr_pull_subcontext_flags_fn(struct e_ndr_pull *ndr, size_t sub_size, + void (*fn)(struct e_ndr_pull *, + int ndr_flags)); +void ndr_pull_struct_start(struct e_ndr_pull *ndr); +void ndr_pull_struct_end(struct e_ndr_pull *ndr); +void ndr_pull_align(struct e_ndr_pull *ndr, int size); |