When registering a string preference, if the value of the preference is
[obnox/wireshark/wip.git] / packet-spray.c
index 37c1f656e02ad77f853a08f7436cd858968d28a3..26f9a9c35d55736f026a9d081f2e9acaf878cf4d 100644 (file)
@@ -1,5 +1,7 @@
 /* packet-spray.c
- * 2001  Ronnie Sahlberg   <rsahlber@bigpond.net.au>
+ * 2001  Ronnie Sahlberg   <See AUTHORS for email>
+ *
+ * $Id: packet-spray.c,v 1.12 2002/11/01 00:48:39 sahlberg Exp $
  *
  * Ethereal - Network traffic analyzer
  * By Gerald Combs <gerald@ethereal.com>
 #endif
 
 
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
 
 #include "packet-rpc.h"
 #include "packet-spray.h"
 
 static int proto_spray = -1;
+static int hf_spray_procedure_v1 = -1;
 static int hf_spray_sprayarr = -1;
 static int hf_spray_counter = -1;
 static int hf_spray_clock = -1;
@@ -45,32 +44,32 @@ static gint ett_spray_clock = -1;
 
 
 static int
-dissect_get_reply(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
+dissect_get_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
 {
        proto_item* lock_item = NULL;
        proto_tree* lock_tree = NULL;
 
-       offset = dissect_rpc_uint32(tvb, pinfo, tree, 
+       offset = dissect_rpc_uint32(tvb, tree,
                        hf_spray_counter, offset);
 
        lock_item = proto_tree_add_item(tree, hf_spray_clock, tvb,
-                       offset, tvb_length_remaining(tvb, offset), FALSE);
+                       offset, -1, FALSE);
 
        lock_tree = proto_item_add_subtree(lock_item, ett_spray_clock);
 
-       offset = dissect_rpc_uint32(tvb, pinfo, lock_tree, 
+       offset = dissect_rpc_uint32(tvb, lock_tree,
                        hf_spray_sec, offset);
 
-       offset = dissect_rpc_uint32(tvb, pinfo, lock_tree, 
+       offset = dissect_rpc_uint32(tvb, lock_tree,
                        hf_spray_usec, offset);
 
        return offset;
 }
 
 static int
-dissect_spray_call(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree)
+dissect_spray_call(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree)
 {
-       offset = dissect_rpc_data(tvb, pinfo, tree, 
+       offset = dissect_rpc_data(tvb, tree,
                        hf_spray_sprayarr, offset);
 
        return offset;
@@ -89,30 +88,40 @@ static const vsff spray1_proc[] = {
                NULL,   NULL },
        { 0,    NULL,           NULL,                           NULL }
 };
+static const value_string spray1_proc_vals[] = {
+       { SPRAYPROC_NULL,       "NULL" },
+       { SPRAYPROC_SPRAY,      "SPRAY" },
+       { SPRAYPROC_GET,        "GET" },
+       { SPRAYPROC_CLEAR,      "CLEAR" },
+       { 0,    NULL }
+};
 
 void
 proto_register_spray(void)
 {
        static hf_register_info hf[] = {
+               { &hf_spray_procedure_v1, {
+                       "V1 Procedure", "spray.procedure_v1", FT_UINT32, BASE_DEC,
+                       VALS(spray1_proc_vals), 0, "V1 Procedure", HFILL }},
                { &hf_spray_sprayarr, {
                        "Data", "spray.sprayarr", FT_BYTES, BASE_DEC,
-                       NULL, 0, "Sprayarr data" }},
+                       NULL, 0, "Sprayarr data", HFILL }},
 
                { &hf_spray_counter, {
                        "counter", "spray.counter", FT_UINT32, BASE_DEC,
-                       NULL, 0, "Counter" }},
+                       NULL, 0, "Counter", HFILL }},
 
                { &hf_spray_clock, {
                        "clock", "spray.clock", FT_NONE, BASE_NONE,
-                       NULL, 0, "Clock" }},
+                       NULL, 0, "Clock", HFILL }},
 
                { &hf_spray_sec, {
                        "sec", "spray.sec", FT_UINT32, BASE_DEC,
-                       NULL, 0, "Seconds" }},
+                       NULL, 0, "Seconds", HFILL }},
 
                { &hf_spray_usec, {
                        "usec", "spray.usec", FT_UINT32, BASE_DEC,
-                       NULL, 0, "Microseconds" }},
+                       NULL, 0, "Microseconds", HFILL }}
 
        };
 
@@ -133,6 +142,6 @@ proto_reg_handoff_spray(void)
        /* Register the protocol as RPC */
        rpc_init_prog(proto_spray, SPRAY_PROGRAM, ett_spray);
        /* Register the procedure tables */
-       rpc_init_proc_table(SPRAY_PROGRAM, 1, spray1_proc);
+       rpc_init_proc_table(SPRAY_PROGRAM, 1, spray1_proc, hf_spray_procedure_v1);
 }