12 #ifndef __PACKET_RPC_H__ 13 #define __PACKET_RPC_H__ 16 #include <epan/packet.h> 18 #include "ws_symbol_export.h" 34 #define AUTH_GSSAPI 300001 38 #define RPCSEC_GSS_KRB5 390003 39 #define RPCSEC_GSS_KRB5I 390004 40 #define RPCSEC_GSS_KRB5P 390005 41 #define RPCSEC_GSS_LIPKEY 390006 42 #define RPCSEC_GSS_LIPKEY_I 390007 43 #define RPCSEC_GSS_LIPKEY_P 390008 44 #define RPCSEC_GSS_SPKM3 390009 45 #define RPCSEC_GSS_SPKM3I 390010 46 #define RPCSEC_GSS_SPKM3P 390011 51 #define AUTH_GLUSTERFS 390039 53 #define MSG_ACCEPTED 0 57 #define PROG_UNAVAIL 1 58 #define PROG_MISMATCH 2 59 #define PROC_UNAVAIL 3 60 #define GARBAGE_ARGS 4 61 #define SYSTEM_ERROR 5 63 #define RPC_MISMATCH 0 66 #define AUTH_BADCRED 1 67 #define AUTH_REJECTEDCRED 2 68 #define AUTH_BADVERF 3 69 #define AUTH_REJECTEDVERF 4 70 #define AUTH_TOOWEAK 5 71 #define RPCSEC_GSSCREDPROB 13 72 #define RPCSEC_GSSCTXPROB 14 74 #define RPCSEC_GSS_DATA 0 75 #define RPCSEC_GSS_INIT 1 76 #define RPCSEC_GSS_CONTINUE_INIT 2 77 #define RPCSEC_GSS_DESTROY 3 79 #define AUTH_GSSAPI_EXIT 0 80 #define AUTH_GSSAPI_INIT 1 81 #define AUTH_GSSAPI_CONTINUE_INIT 2 82 #define AUTH_GSSAPI_MSG 3 83 #define AUTH_GSSAPI_DESTROY 4 85 #define RPCSEC_GSS_SVC_NONE 1 86 #define RPCSEC_GSS_SVC_INTEGRITY 2 87 #define RPCSEC_GSS_SVC_PRIVACY 3 89 #define AUTHDES_NAMEKIND_FULLNAME 0 90 #define AUTHDES_NAMEKIND_NICKNAME 1 92 #define RPC_STRING_EMPTY "<EMPTY>" 93 #define RPC_STRING_DATA "<DATA>" 94 #define RPC_STRING_TRUNCATED "<TRUNCATED>" 96 #define RPC_RM_LASTFRAG 0x80000000U 97 #define RPC_RM_FRAGLEN 0x7fffffffU 103 FLAVOR_GSSAPI_NO_INFO,
106 FLAVOR_AUTHGSSAPI_MSG
133 dissector_t dissect_call;
134 dissector_t dissect_reply;
139 const vsff *proc_table;
145 WS_DLL_PUBLIC
void rpc_init_prog(
int proto, guint32 prog,
int ett,
size_t nvers,
147 WS_DLL_PUBLIC
const char *rpc_prog_name(guint32 prog);
148 WS_DLL_PUBLIC
const char *rpc_proc_name(guint32 prog, guint32 vers, guint32 proc);
149 WS_DLL_PUBLIC
int rpc_prog_hf(guint32 prog, guint32 vers);
151 WS_DLL_PUBLIC
unsigned int rpc_roundup(
unsigned int a);
152 WS_DLL_PUBLIC
int dissect_rpc_void(
tvbuff_t *tvb,
154 WS_DLL_PUBLIC
int dissect_rpc_unknown(
tvbuff_t *tvb,
156 WS_DLL_PUBLIC
int dissect_rpc_bool(
tvbuff_t *tvb,
158 WS_DLL_PUBLIC
int dissect_rpc_string(
tvbuff_t *tvb,
159 proto_tree *tree,
int hfindex,
int offset,
const char **string_buffer_ret);
161 int dissect_rpc_opaque_data(
tvbuff_t *tvb,
int offset,
165 gboolean fixed_length, guint32 length,
166 gboolean string_data,
const char **string_buffer_ret,
167 dissect_function_t *dissect_it);
168 WS_DLL_PUBLIC
int dissect_rpc_data(
tvbuff_t *tvb,
170 WS_DLL_PUBLIC
int dissect_rpc_bytes(
tvbuff_t *tvb,
171 proto_tree *tree,
int hfindex,
int offset, guint32 length,
172 gboolean string_data,
const char **string_buffer_ret);
174 proto_tree *tree,
int offset, dissect_function_t *rpc_list_dissector,
177 proto_tree *tree,
int offset, dissect_function_t *rpc_array_dissector,
179 WS_DLL_PUBLIC
int dissect_rpc_uint32(
tvbuff_t *tvb,
181 WS_DLL_PUBLIC
int dissect_rpc_uint64(
tvbuff_t *tvb,
185 proto_tree *tree,
int offset,
int args_id, guint32 prog, guint32 vers,
188 proto_tree *tree,
int offset,
int result_id,
int prog_id,
int vers_id,
197 const char* progname;
198 GArray *procedure_hfs;
207 WS_DLL_PUBLIC GHashTable *rpc_progs;
Definition: packet_info.h:44
Definition: tvbuff-int.h:35
Definition: packet-rpc.h:137
Definition: packet-rpc.h:109
Definition: packet-rpc.h:215
Definition: value_string.h:24
Definition: packet-rpc.h:130
Definition: packet-rpc.h:193
Definition: packet-rpc.h:209