summaryrefslogtreecommitdiff
path: root/packet-ncp-int.h
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2002-05-09 23:50:34 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2002-05-09 23:50:34 +0000
commit41cc7f0707c5c62ae5651fcd70a9e9b12a4ce387 (patch)
tree46737517f86dbb9ec37210737dd521c9c3920608 /packet-ncp-int.h
parent9625720a39eddda6ef4c34725fe8017160cf05d9 (diff)
downloadwireshark-41cc7f0707c5c62ae5651fcd70a9e9b12a4ce387.tar.gz
Merge the work in Novell_NCP_branch into the mainline code.
A little work still needs to be done on the new NCP dissector -- make some of the COL_INFO texts more useful, handle a Unicode issue, and modify some of the cases that use "request conditions". But the NCP dissector as it stands is very usable now. Note: I didn't merge in the PROTO_LENGTH_UNTIL_END macro... I wanted to think about the various possible macros and review an email conversation I had with Guy on the subject. svn path=/trunk/; revision=5432
Diffstat (limited to 'packet-ncp-int.h')
-rw-r--r--packet-ncp-int.h40
1 files changed, 28 insertions, 12 deletions
diff --git a/packet-ncp-int.h b/packet-ncp-int.h
index 4a4ba14a99..d4eb2bdf59 100644
--- a/packet-ncp-int.h
+++ b/packet-ncp-int.h
@@ -2,7 +2,7 @@
* 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>
@@ -33,16 +33,36 @@ typedef struct _sub_ptvc_record sub_ptvc_record;
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;
} error_equivalency;
@@ -54,25 +74,21 @@ typedef struct {
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