11#ifndef __PACKET_DCOM_H
12#define __PACKET_DCOM_H
14#include <epan/dissectors/packet-dcerpc.h>
15#include "ws_symbol_export.h"
18WS_DLL_PUBLIC
const value_string dcom_variant_type_vals[];
21extern int hf_dcom_iid;
22extern int hf_dcom_clsid;
23extern int hf_dcom_oxid;
24extern int hf_dcom_oid;
25extern int hf_dcom_ipid;
27extern GHashTable *dcom_uuids;
30WS_DLL_PUBLIC
bool dcom_prefs_display_unmarshalling_details;
67 dcom_dissect_fn_t routine;
73extern void dcom_interface_dump(
void);
75extern unsigned dcom_register_routine(dcom_dissect_fn_t routine,
e_guid_t* uuid);
76extern void dcom_register_common_routines_(
void);
78extern dcom_dissect_fn_t dcom_get_routine_by_uuid(
const e_guid_t* uuid);
82dissect_dcom_this(
tvbuff_t *tvb,
unsigned offset,
85dissect_dcom_that(
tvbuff_t *tvb,
unsigned offset,
90#define dissect_dcom_BOOLEAN dissect_ndr_uint8
91#define dissect_dcom_BYTE dissect_ndr_uint8
92#define dissect_dcom_WORD dissect_ndr_uint16
93#define dissect_dcom_DWORD dissect_ndr_uint32
94#define dissect_dcom_I8 dissect_ndr_uint64
95#define dissect_dcom_ID dissect_ndr_duint32
96#define dissect_dcom_FILETIME dissect_ndr_duint32
97#define dissect_dcom_VARIANT_BOOL dissect_ndr_uint16
98#define dissect_dcom_FLOAT dissect_ndr_float
99#define dissect_dcom_DOUBLE dissect_ndr_double
100#define dissect_dcom_DATE dissect_ndr_double
102WS_DLL_PUBLIC
unsigned
103dissect_dcom_UUID(
tvbuff_t *tvb,
unsigned offset,
107WS_DLL_PUBLIC
unsigned
108dissect_dcom_append_UUID(
tvbuff_t *tvb,
unsigned offset,
110 int hfindex,
int field_index,
e_guid_t *uuid);
115 int hfindex, uint16_t * pu16WORD,
int field_index);
117WS_DLL_PUBLIC
unsigned
120 int hfindex, uint32_t * pu32DWORD,
int field_index);
122WS_DLL_PUBLIC
unsigned
123dissect_dcom_HRESULT(
tvbuff_t *tvb,
unsigned offset,
126WS_DLL_PUBLIC
unsigned
129 uint32_t * pu32HResult,
int field_index,
proto_item **item);
131WS_DLL_PUBLIC
unsigned
134 uint32_t * pu32hresult,
int field_index);
137dissect_dcom_COMVERSION(
tvbuff_t *tvb,
unsigned offset,
139 uint16_t * pu16version_major, uint16_t * pu16version_minor);
143 uint32_t u32VarType, uint32_t u32ArraySize);
145WS_DLL_PUBLIC
unsigned
149WS_DLL_PUBLIC
unsigned
152 char *psz_buffer, uint32_t u32max_buffer);
154WS_DLL_PUBLIC
unsigned
157 char *pszStr, uint32_t u32MaxStr,
int field_index);
159WS_DLL_PUBLIC
unsigned
162 char *psz_buffer, uint32_t u32max_buffer);
171 uint64_t *oxid, uint64_t *oid,
e_guid_t *ipid);
176WS_DLL_PUBLIC
unsigned
179WS_DLL_PUBLIC
unsigned
183WS_DLL_PUBLIC
unsigned
184dissect_dcom_VARTYPE(
tvbuff_t *tvb,
unsigned offset,
186 uint16_t *pu16Vartype);
188WS_DLL_PUBLIC
unsigned
193WS_DLL_PUBLIC
unsigned
197WS_DLL_PUBLIC
unsigned
203dissect_dcom_tobedone_data(
tvbuff_t *tvb,
unsigned offset,
208dissect_dcom_nospec_data(
tvbuff_t *tvb,
unsigned offset,
213WS_DLL_PUBLIC
unsigned
214dissect_dcom_simple_rqst(
tvbuff_t *tvb,
unsigned offset,
217WS_DLL_PUBLIC
unsigned
218dissect_dcom_simple_resp(
tvbuff_t *tvb,
unsigned offset,
Definition packet-dcerpc.h:154
Definition guid-utils.h:23
Definition packet_info.h:43
Mapping between a 32-bit integer value and its string representation.
Definition value_string.h:33
Definition packet-dcom.h:50
Definition packet-dcom.h:33
Definition packet-dcom.h:62
Definition packet-dcom.h:40
Definition tvbuff-int.h:36