12#ifndef __PACKET_DCERPC_NT_H
13#define __PACKET_DCERPC_NT_H
15#include "ws_symbol_export.h"
24#define ALIGN_TO_8_BYTES \
26 if(!di->conformant_run) { \
28 offset=(offset&0xfffffff8)+8; \
32#define ALIGN_TO_4_BYTES \
34 if(!di->conformant_run) { \
36 offset=(offset&0xfffffffc)+4; \
40#define ALIGN_TO_2_BYTES \
42 if(!di->conformant_run) { \
44 offset=(offset&0xfffffffe)+2; \
49#define ALIGN_TO_5_BYTES ALIGN_TO_4_OR_8_BYTES
51#define ALIGN_TO_4_OR_8_BYTES \
53 if (di->call_data->flags & DCERPC_IS_NDR64) { \
60#define ALIGN_TO_3_BYTES ALIGN_TO_2_OR_4_BYTES
62#define ALIGN_TO_2_OR_4_BYTES \
64 if (di->call_data->flags & DCERPC_IS_NDR64) { \
71#define UNION_ALIGN_TO_2_BYTES \
73 if (di->call_data->flags & DCERPC_IS_NDR64) { \
78#define UNION_ALIGN_TO_3_BYTES \
80 if (di->call_data->flags & DCERPC_IS_NDR64) { \
85#define UNION_ALIGN_TO_4_BYTES \
87 if (di->call_data->flags & DCERPC_IS_NDR64) { \
92#define UNION_ALIGN_TO_5_BYTES \
94 if (di->call_data->flags & DCERPC_IS_NDR64) { \
99#define UNION_ALIGN_TO_8_BYTES \
101 if (di->call_data->flags & DCERPC_IS_NDR64) { \
109 int use_remaining_space);
113 proto_tree *tree, uint8_t *drep,
int hf_index,
118 proto_tree *tree, uint8_t *drep,
int hf_index,
122dissect_ndr_counted_ascii_string_cb(
tvbuff_t *tvb,
int offset,
125 dcerpc_callback_fnct_t *callback,
126 void *callback_args);
128dissect_ndr_counted_ascii_string(
tvbuff_t *tvb,
int offset,
130 dcerpc_info *di, uint8_t *drep,
int hf_index,
int levels);
133dissect_ndr_counted_string_cb(
tvbuff_t *tvb,
int offset,
136 dcerpc_callback_fnct_t *callback,
137 void *callback_args);
140dissect_ndr_counted_string_ptr(
tvbuff_t *tvb,
int offset,
145dissect_ndr_counted_string(
tvbuff_t *tvb,
int offset,
147 dcerpc_info *di, uint8_t *drep,
int hf_index,
int levels);
150dissect_ndr_counted_byte_array(
tvbuff_t *tvb,
int offset,
152 dcerpc_info *di, uint8_t *drep,
int hf_index,
int levels);
155dissect_ndr_counted_byte_array_cb(
tvbuff_t *tvb,
int offset,
158 dcerpc_callback_fnct_t *callback,
159 void *callback_args);
166dissect_nt_GUID(
tvbuff_t *tvb,
int offset,
173 uint32_t param,
int hfindex);
177dissect_ndr_nt_NTTIME (
tvbuff_t *tvb,
int offset,
181dissect_ndr_nt_NTTIME_hyper (
tvbuff_t *tvb,
int offset,
185dissect_ndr_nt_NTTIME_1sec (
tvbuff_t *tvb,
int offset,
189dissect_ndr_nt_LOGON_HOURS(
tvbuff_t *tvb,
int offset,
193dissect_ndr_nt_SID(
tvbuff_t *tvb,
int offset,
197dissect_ndr_nt_SID_with_options(
tvbuff_t *tvb,
int offset,
199 dcerpc_info *di, uint8_t *drep, uint32_t options,
int hf_index);
201dissect_ndr_nt_PSID_cb(
tvbuff_t *tvb,
int offset,
204 dcerpc_callback_fnct_t *callback,
void *callback_args);
206dissect_ndr_nt_PSID(
tvbuff_t *tvb,
int offset,
210dissect_ndr_nt_PSID_ARRAY(
tvbuff_t *tvb,
int offset,
215dissect_ndr_nt_SE_GROUP_ATTRIBUTES(
tvbuff_t *tvb,
int offset,
220dissect_ndr_nt_SID_AND_ATTRIBUTES_ARRAY(
tvbuff_t *tvb,
int offset,
224dissect_ndr_nt_SID_AND_ATTRIBUTES(
tvbuff_t *tvb,
int offset,
250dcerpc_fetch_polhnd_data(
e_ctx_hnd *policy_hnd,
char **name, uint32_t *type,
251 uint32_t *open_frame, uint32_t *close_frame,
259 int hfindex, uint32_t *pdata);
264 int hfindex, uint32_t *pdata);
269 int hfindex, uint32_t *pdata);
289dissect_nt_LUID(
tvbuff_t *tvb,
int offset,
298 int hfindex,
int length,
const uint8_t **pdata);
302 int hfindex,
int length,
const uint8_t **pdata);
306 int hfindex,
int length);
310 int hfindex,
int length);
312int dissect_ndr_str_pointer_item(
tvbuff_t *tvb,
int offset,
314 dcerpc_info *di, uint8_t *drep,
int type,
const char *text,
315 int hf_index,
int levels);
317int nt_dissect_MIDL_NDRHEADERBLOB(
proto_tree *parent_tree,
tvbuff_t *tvb,
int offset, uint8_t *drep);
324#define CB_STR_ITEM_LEVELS(x) ((x) & 0xFFFF)
325#define CB_STR_SAVE 0x20000000
326#define CB_STR_COL_INFO 0x10000000
330 int start_offset,
int end_offset,
331 void *callback_args);
334 int start_offset,
int end_offset,
335 void *callback_args);
339void dcerpc_smb_init(
int proto_dcerpc);
342extern int hf_nt_cs_len;
343extern int hf_nt_cs_size;
Definition packet-dcerpc.h:154
Definition packet-dcerpc.h:54
Definition packet_info.h:43
Definition value_string.h:25
Definition tvbuff-int.h:35