* Structures and functions for NetWare Core Protocol.
* Gilbert Ramirez <gram@alumni.rice.edu>
*
- * $Id: packet-ncp-int.h,v 1.6 2002/01/10 04:44:34 gram Exp $
+ * $Id: packet-ncp-int.h,v 1.7 2002/05/09 23:50:25 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
struct _ptvc_record {
int *hf_ptr;
gint length;
- gboolean endianness;
const sub_ptvc_record *sub_ptvc_rec;
+ unsigned int endianness : 1; /* 0=BE, 1=LE */
+ unsigned int var_index : 2;
+ unsigned int repeat_index : 2;
+ unsigned int req_cond_index : 6;
+ unsigned int special_fmt : 2;
};
+#define NCP_FMT_NONE 0
+#define NCP_FMT_NW_DATE 1
+#define NCP_FMT_NW_TIME 2
+
struct _sub_ptvc_record {
gint *ett;
+ const char *descr;
const ptvc_record *ptvc_rec;
};
+typedef struct {
+ const char *dfilter_text;
+ dfilter_t *dfilter;
+} conditional_record;
+
+typedef struct {
+ int *hf_ptr;
+ const char *first_string;
+ const char *repeat_string;
+} info_string_t;
+
typedef struct {
guint8 error_in_packet;
gint ncp_error_index;
gchar* name;
gint group;
const ptvc_record *request_ptvc;
- void *requst_func;
const ptvc_record *reply_ptvc;
- void *reply_func;
const error_equivalency *errors;
+ const int *req_cond_indexes;
+ unsigned int req_cond_size_type;
+ const info_string_t *req_info_str;
} ncp_record;
void dissect_ncp_request(tvbuff_t*, packet_info*, guint16,
- guint8, guint16, proto_tree*, proto_tree*);
+ guint8, guint16, proto_tree*);
void dissect_ncp_reply(tvbuff_t *, packet_info*, guint16,
- guint8, proto_tree*, proto_tree*);
-
-void ncp_hash_insert(conversation_t *conversation, guint8 nw_sequence,
- const ncp_record *ncp_rec);
-
-const ncp_record* ncp_hash_lookup(conversation_t*, guint8 nw_sequence);
-
+ guint8, proto_tree*);
extern int proto_ncp;
+extern gint ett_ncp;
#endif