diff options
author | Gilbert Ramirez <gram@alumni.rice.edu> | 1999-10-12 06:21:15 +0000 |
---|---|---|
committer | Gilbert Ramirez <gram@alumni.rice.edu> | 1999-10-12 06:21:15 +0000 |
commit | bacb9d5bae5e1aa9d9144463cd24d8c5adb9398e (patch) | |
tree | 13a576cc1a346d2364a1b13bf493b2efc42a856f /packet-aarp.c | |
parent | 10c4bab8e129dc0012e8e341fb74fc725e66fee8 (diff) |
New proto_tree header_field_info stuff. Header_field_infos now contain
the base for numbers to be displayed in, bitmasks for bitfields, and blurbs
(which are one or two sentences describing the field).
proto_tree_add*() routines now automatically handle bitfields. You tell
it which header field you are adding, and just pass it the value of the
entire field, and the proto_tree routines will do the masking and shifting
for you.
This means that bitfields are more naturally filtered via dfilter now.
Added Phil Techau's support for signed integers in dfilters/proto_tree.
Added the beginning of the SNA dissector. It's not complete, but I'm
committing it now because it has example after example of how to use
bitfields with the new header_field_info struct and proto_tree routines.
It was the impetus to change how header_field_info works.
svn path=/trunk/; revision=815
Diffstat (limited to 'packet-aarp.c')
-rw-r--r-- | packet-aarp.c | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/packet-aarp.c b/packet-aarp.c index 649c884b1d..5db0fa46cd 100644 --- a/packet-aarp.c +++ b/packet-aarp.c @@ -1,7 +1,7 @@ /* packet-aarp.c * Routines for Appletalk ARP packet disassembly * - * $Id: packet-aarp.c,v 1.10 1999/10/03 15:21:11 deniel Exp $ + * $Id: packet-aarp.c,v 1.11 1999/10/12 06:20:00 gram Exp $ * * Simon Wilkinson <sxw@dcs.ed.ac.uk> * @@ -183,23 +183,40 @@ proto_register_aarp(void) { static hf_register_info hf[] = { { &hf_aarp_hard_type, - { "Hardware type", "aarp.hard.type", FT_UINT16, NULL }}, + { "Hardware type", "aarp.hard.type", FT_UINT16, BASE_HEX, NULL, 0x0, + "" }}, + { &hf_aarp_proto_type, - { "Protocol type", "aarp.proto.type", FT_UINT16, NULL }}, + { "Protocol type", "aarp.proto.type", FT_UINT16, BASE_HEX, NULL, 0x0, + "" }}, + { &hf_aarp_hard_size, - { "Hardware size", "aarp.hard.size", FT_UINT8, NULL }}, + { "Hardware size", "aarp.hard.size", FT_UINT8, BASE_DEC, NULL, 0x0, + "" }}, + { &hf_aarp_proto_size, - { "Protocol size", "aarp.proto.size", FT_UINT8, NULL }}, + { "Protocol size", "aarp.proto.size", FT_UINT8, BASE_DEC, NULL, 0x0, + "" }}, + { &hf_aarp_opcode, - { "Opcode", "aarp.opcode", FT_UINT16, NULL }}, + { "Opcode", "aarp.opcode", FT_UINT16, BASE_DEC, NULL, 0x0, + "" }}, + { &hf_aarp_src_ether, - { "Sender ether", "aarp.src.ether", FT_ETHER, NULL }}, + { "Sender ether", "aarp.src.ether", FT_ETHER, BASE_NONE, NULL, 0x0, + "" }}, + { &hf_aarp_src_id, - { "Sender ID", "aarp.src.id", FT_UINT32, NULL }}, + { "Sender ID", "aarp.src.id", FT_UINT32, BASE_HEX, NULL, 0x0, + "" }}, + { &hf_aarp_dst_ether, - { "Target ether", "aarp.dst.ether", FT_ETHER, NULL }}, + { "Target ether", "aarp.dst.ether", FT_ETHER, BASE_NONE, NULL, 0x0, + "" }}, + { &hf_aarp_dst_id, - { "Target ID", "aarp.dst.id", FT_UINT32, NULL }} + { "Target ID", "aarp.dst.id", FT_UINT32, BASE_HEX, NULL, 0x0, + "" }}, }; proto_aarp = proto_register_protocol("Appletalk Address Resolution Protocol", |