diff options
author | gram <gram@f5534014-38df-0310-8fa8-9805f1628bb7> | 2002-05-09 23:50:34 +0000 |
---|---|---|
committer | gram <gram@f5534014-38df-0310-8fa8-9805f1628bb7> | 2002-05-09 23:50:34 +0000 |
commit | 806d53470c084dc18baf05428b01171efb51bdc7 (patch) | |
tree | 46737517f86dbb9ec37210737dd521c9c3920608 /packet-ncp-int.h | |
parent | d76272ca47f5c7bb0db089e56563db480074643a (diff) |
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.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@5432 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-ncp-int.h')
-rw-r--r-- | packet-ncp-int.h | 40 |
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 |