Merge the work in Novell_NCP_branch into the mainline code.
[obnox/wireshark/wip.git] / packet-ncp-int.h
index 4a4ba14a991099e387170bb866db3999d61503c6..d4eb2bdf59a796d1c3bbb7c6d3084aef399a0c31 100644 (file)
@@ -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,15 +33,35 @@ 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;
@@ -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