12 #ifndef __PACKET_RPC_H__
13 #define __PACKET_RPC_H__
17 #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
52 #define AUTH_GLUSTERFS_V3 390040
54 #define MSG_ACCEPTED 0
58 #define PROG_UNAVAIL 1
59 #define PROG_MISMATCH 2
60 #define PROC_UNAVAIL 3
61 #define GARBAGE_ARGS 4
62 #define SYSTEM_ERROR 5
64 #define RPC_MISMATCH 0
67 #define AUTH_BADCRED 1
68 #define AUTH_REJECTEDCRED 2
69 #define AUTH_BADVERF 3
70 #define AUTH_REJECTEDVERF 4
71 #define AUTH_TOOWEAK 5
72 #define RPCSEC_GSSCREDPROB 13
73 #define RPCSEC_GSSCTXPROB 14
75 #define RPCSEC_GSS_DATA 0
76 #define RPCSEC_GSS_INIT 1
77 #define RPCSEC_GSS_CONTINUE_INIT 2
78 #define RPCSEC_GSS_DESTROY 3
80 #define AUTH_GSSAPI_EXIT 0
81 #define AUTH_GSSAPI_INIT 1
82 #define AUTH_GSSAPI_CONTINUE_INIT 2
83 #define AUTH_GSSAPI_MSG 3
84 #define AUTH_GSSAPI_DESTROY 4
86 #define RPCSEC_GSS_SVC_NONE 1
87 #define RPCSEC_GSS_SVC_INTEGRITY 2
88 #define RPCSEC_GSS_SVC_PRIVACY 3
90 #define AUTHDES_NAMEKIND_FULLNAME 0
91 #define AUTHDES_NAMEKIND_NICKNAME 1
93 #define RPC_STRING_EMPTY "<EMPTY>"
94 #define RPC_STRING_DATA "<DATA>"
95 #define RPC_STRING_TRUNCATED "<TRUNCATED>"
97 #define RPC_RM_LASTFRAG 0x80000000U
98 #define RPC_RM_FRAGLEN 0x7fffffffU
104 FLAVOR_GSSAPI_NO_INFO,
107 FLAVOR_AUTHGSSAPI_MSG
134 dissector_t dissect_call;
135 dissector_t dissect_reply;
140 const vsff *proc_table;
146 WS_DLL_PUBLIC
void rpc_init_prog(
int proto, guint32 prog,
int ett,
size_t nvers,
148 WS_DLL_PUBLIC
const char *rpc_prog_name(guint32 prog);
149 WS_DLL_PUBLIC
const char *rpc_proc_name(
wmem_allocator_t *allocator, guint32 prog, guint32 vers, guint32 proc);
150 WS_DLL_PUBLIC
int rpc_prog_hf(guint32 prog, guint32 vers);
152 WS_DLL_PUBLIC
unsigned int rpc_roundup(
unsigned int a);
153 WS_DLL_PUBLIC
int dissect_rpc_void(
tvbuff_t *tvb,
155 WS_DLL_PUBLIC
int dissect_rpc_unknown(
tvbuff_t *tvb,
157 WS_DLL_PUBLIC
int dissect_rpc_bool(
tvbuff_t *tvb,
159 WS_DLL_PUBLIC
int dissect_rpc_string(
tvbuff_t *tvb,
160 proto_tree *tree,
int hfindex,
int offset,
const char **string_buffer_ret);
162 int dissect_rpc_opaque_data(
tvbuff_t *tvb,
int offset,
166 gboolean fixed_length, guint32 length,
167 gboolean string_data,
const char **string_buffer_ret,
168 dissect_function_t *dissect_it);
169 WS_DLL_PUBLIC
int dissect_rpc_data(
tvbuff_t *tvb,
171 WS_DLL_PUBLIC
int dissect_rpc_bytes(
tvbuff_t *tvb,
172 proto_tree *tree,
int hfindex,
int offset, guint32 length,
173 gboolean string_data,
const char **string_buffer_ret);
175 proto_tree *tree,
int offset, dissect_function_t *rpc_list_dissector,
178 proto_tree *tree,
int offset, dissect_function_t *rpc_array_dissector,
180 WS_DLL_PUBLIC
int dissect_rpc_uint32(
tvbuff_t *tvb,
182 WS_DLL_PUBLIC
int dissect_rpc_uint64(
tvbuff_t *tvb,
186 proto_tree *tree,
int offset,
int args_id, guint32 prog, guint32 vers,
189 proto_tree *tree,
int offset,
int result_id,
int prog_id,
int vers_id,
198 const char* progname;
199 GArray *procedure_hfs;
208 WS_DLL_PUBLIC GHashTable *rpc_progs;
Definition: packet_info.h:44
Definition: packet-rpc.h:110
Definition: packet-rpc.h:210
Definition: packet-rpc.h:138
Definition: packet-rpc.h:194
Definition: value_string.h:26
Definition: packet-rpc.h:131
Definition: wmem_allocator.h:27
Definition: packet-rpc.h:217
Definition: tvbuff-int.h:35