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) { \ 73 int use_remaining_space);
86 dissect_ndr_counted_ascii_string_cb(
tvbuff_t *tvb,
int offset,
89 dcerpc_callback_fnct_t *callback,
92 dissect_ndr_counted_ascii_string(
tvbuff_t *tvb,
int offset,
94 dcerpc_info *di, guint8 *drep,
int hf_index,
int levels);
97 dissect_ndr_counted_string_cb(
tvbuff_t *tvb,
int offset,
100 dcerpc_callback_fnct_t *callback,
101 void *callback_args);
104 dissect_ndr_counted_string_ptr(
tvbuff_t *tvb,
int offset,
109 dissect_ndr_counted_string(
tvbuff_t *tvb,
int offset,
111 dcerpc_info *di, guint8 *drep,
int hf_index,
int levels);
114 dissect_ndr_counted_byte_array(
tvbuff_t *tvb,
int offset,
116 dcerpc_info *di, guint8 *drep,
int hf_index,
int levels);
119 dissect_ndr_counted_byte_array_cb(
tvbuff_t *tvb,
int offset,
122 dcerpc_callback_fnct_t *callback,
123 void *callback_args);
130 dissect_nt_GUID(
tvbuff_t *tvb,
int offset,
137 guint32 param,
int hfindex);
141 dissect_ndr_nt_NTTIME (
tvbuff_t *tvb,
int offset,
145 dissect_ndr_nt_NTTIME_hyper (
tvbuff_t *tvb,
int offset,
147 dcerpc_info *di, guint8 *drep,
int hf_index, gboolean onesec_resolution);
149 dissect_ndr_nt_LOGON_HOURS(
tvbuff_t *tvb,
int offset,
153 dissect_ndr_nt_SID(
tvbuff_t *tvb,
int offset,
157 dissect_ndr_nt_SID_with_options(
tvbuff_t *tvb,
int offset,
161 dissect_ndr_nt_PSID(
tvbuff_t *tvb,
int offset,
165 dissect_ndr_nt_PSID_ARRAY(
tvbuff_t *tvb,
int offset,
170 dissect_ndr_nt_SID_AND_ATTRIBUTES_ARRAY(
tvbuff_t *tvb,
int offset,
174 dissect_ndr_nt_SID_AND_ATTRIBUTES(
tvbuff_t *tvb,
int offset,
189 gboolean is_open, gboolean is_close);
200 dcerpc_fetch_polhnd_data(
e_ctx_hnd *policy_hnd,
char **name, guint32 *type,
201 guint32 *open_frame, guint32 *close_frame,
209 int hfindex, guint32 *pdata);
214 int hfindex, guint32 *pdata);
220 gboolean is_open, gboolean is_close);
231 gboolean is_open, gboolean is_close);
234 dissect_nt_LUID(
tvbuff_t *tvb,
int offset,
243 int hfindex,
int length,
const guint8 **pdata);
247 int hfindex,
int length,
const guint8 **pdata);
251 int hfindex,
int length);
255 int hfindex,
int length);
257 int dissect_ndr_str_pointer_item(
tvbuff_t *tvb, gint offset,
259 dcerpc_info *di, guint8 *drep,
int type,
const char *text,
260 int hf_index,
int levels);
262 int nt_dissect_MIDL_NDRHEADERBLOB(
proto_tree *parent_tree,
tvbuff_t *tvb,
int offset, guint8 *drep);
269 #define CB_STR_ITEM_LEVELS(x) ((x) & 0xFFFF) 270 #define CB_STR_SAVE 0x20000000 271 #define CB_STR_COL_INFO 0x10000000 275 int start_offset,
int end_offset,
276 void *callback_args);
279 int start_offset,
int end_offset,
280 void *callback_args);
284 void dcerpc_smb_init(
int proto_dcerpc);
287 extern int hf_nt_cs_len;
288 extern int hf_nt_cs_size;
Definition: packet_info.h:44
Definition: tvbuff-int.h:35
Definition: packet-dcerpc.h:53
Definition: value_string.h:24
Definition: packet-dcerpc.h:151