Ethereal-dev: [ethereal-dev] Replacing "proto_tree_add_item()" with type-specific versions
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Tue, 30 May 2000 03:52:15 -0700
I have a patch to: replace almost all calls to "proto_tree_add_item()" and 'proto_tree_add_item_hidden()" with calls to routines adding items of a particular type, along the lines of what we did for "proto_tree_add_item_format()", with, for example, "proto_tree_add_uint()"; rename "proto_tree_add_item()" and "proto_tree_add_item_hidden()" to "proto_tree_add_item_old()" and "proto_tree_add_item_hidden_old()" (with the intent of ultimately removing them); adding new "proto_tree_add_item()" and "proto_tree_add_item_hidden()" routines that get the value of the item from the tvbuff handed to them, and the offset and length supplied, so that you don't have to extract a value and then pass it to those routines. (I've mentioned this in mail in the past.) The intent is to add compile-time type checking of the value passed in (for the "proto_tree_add_XXX()" routines), or obviate the need for it (for "proto_tree_add_item()", which fetches the value based on the type of the item being added); adding the compile-time checking did catch some errors. I'd also expect that we might want to convert code to use the new "proto_tree_add_item()" calls as we convert it to use tvbuffs (it requires that a tvbuff be handed to it). The patch is attached; it's fairly large, as it changes most dissectors (Gilbert supplied a Perl script that did most of the work). Note that I'll be on vacation from May 31 to June 9; I may be able to check my mail via the Web during the latter part of the vacation.
? errs ? gtk/proto_draw.c.NEW Index: packet-aarp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-aarp.c,v retrieving revision 1.19 diff -c -r1.19 packet-aarp.c *** packet-aarp.c 2000/05/11 08:14:49 1.19 --- packet-aarp.c 2000/05/30 10:36:57 *************** *** 200,214 **** 2*ar_pln, "AppleTalk Address Resolution Protocol (opcode 0x%04x)", ar_op); aarp_tree = proto_item_add_subtree(ti, ett_aarp); ! proto_tree_add_item(aarp_tree, hf_aarp_hard_type, NullTVB, offset + AR_HRD, 2, ar_hrd); ! proto_tree_add_item(aarp_tree, hf_aarp_proto_type, NullTVB, offset + AR_PRO, 2, ar_pro); ! proto_tree_add_item(aarp_tree, hf_aarp_hard_size, NullTVB, offset + AR_HLN, 1, ar_hln); ! proto_tree_add_item(aarp_tree, hf_aarp_proto_size, NullTVB, offset + AR_PLN, 1, ar_pln); ! proto_tree_add_item(aarp_tree, hf_aarp_opcode, NullTVB, offset + AR_OP, 2, ar_op); proto_tree_add_bytes_format(aarp_tree, hf_aarp_src_ether, NullTVB, sha_offset, ar_hln, &pd[sha_offset], --- 200,214 ---- 2*ar_pln, "AppleTalk Address Resolution Protocol (opcode 0x%04x)", ar_op); aarp_tree = proto_item_add_subtree(ti, ett_aarp); ! proto_tree_add_uint(aarp_tree, hf_aarp_hard_type, NullTVB, offset + AR_HRD, 2, ar_hrd); ! proto_tree_add_uint(aarp_tree, hf_aarp_proto_type, NullTVB, offset + AR_PRO, 2, ar_pro); ! proto_tree_add_uint(aarp_tree, hf_aarp_hard_size, NullTVB, offset + AR_HLN, 1, ar_hln); ! proto_tree_add_uint(aarp_tree, hf_aarp_proto_size, NullTVB, offset + AR_PLN, 1, ar_pln); ! proto_tree_add_uint(aarp_tree, hf_aarp_opcode, NullTVB, offset + AR_OP, 2, ar_op); proto_tree_add_bytes_format(aarp_tree, hf_aarp_src_ether, NullTVB, sha_offset, ar_hln, &pd[sha_offset], Index: packet-afs.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-afs.c,v retrieving revision 1.10 diff -c -r1.10 packet-afs.c *** packet-afs.c 2000/05/11 08:14:49 1.10 --- packet-afs.c 2000/05/30 10:37:03 *************** *** 1,5 **** ! /* packet-rx.c ! * Routines for RX packet dissection * Copyright 1999, Nathan Neulinger <nneul@xxxxxxx> * Based on routines from tcpdump patches by * Ken Hornstein <kenh@xxxxxxxxxxxxxxxx> --- 1,5 ---- ! /* packet-afs.c ! * Routines for AFS packet dissection * Copyright 1999, Nathan Neulinger <nneul@xxxxxxx> * Based on routines from tcpdump patches by * Ken Hornstein <kenh@xxxxxxxxxxxxxxxx> *************** *** 886,892 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_afs, NullTVB, doffset, END_OF_FRAME); afs_tree = proto_item_add_subtree(ti, ett_afs); if ( !BYTES_ARE_IN_FRAME(offset, sizeof(struct rx_header) + --- 886,892 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_afs, NullTVB, doffset, END_OF_FRAME, FALSE); afs_tree = proto_item_add_subtree(ti, ett_afs); if ( !BYTES_ARE_IN_FRAME(offset, sizeof(struct rx_header) + *************** *** 910,922 **** ti = NULL; if ( !reply && node != 0 ) { ! ti = proto_tree_add_item(afs_tree, node, NullTVB, doffset, 4, opcode); } else if ( reply && node != 0 ) { /* the opcode isn't in this packet */ ! ti = proto_tree_add_item(afs_tree, node, NullTVB, doffset, 0, opcode); } else --- 910,922 ---- ti = NULL; if ( !reply && node != 0 ) { ! ti = proto_tree_add_uint(afs_tree, node, NullTVB, doffset, 4, opcode); } else if ( reply && node != 0 ) { /* the opcode isn't in this packet */ ! ti = proto_tree_add_uint(afs_tree, node, NullTVB, doffset, 0, opcode); } else *************** *** 931,937 **** if ( typenode != 0 ) { /* indicate the type of request */ ! proto_tree_add_item_hidden(afs_tree, typenode, NullTVB, doffset, 0, 1); } /* Process the packet according to what service it is */ --- 931,937 ---- if ( typenode != 0 ) { /* indicate the type of request */ ! proto_tree_add_boolean_hidden(afs_tree, typenode, NullTVB, doffset, 0, 1); } /* Process the packet according to what service it is */ *************** *** 972,1005 **** Assumes it is in network byte order, converts to host before using */ #define UINTOUT(field) \ TRUNC(sizeof(guint32)) \ ! proto_tree_add_item(tree,field, NullTVB,curoffset,sizeof(guint32), GETINT()); \ curoffset += 4; ! /* Output a unsigned integer, stored into field 'field' ! Assumes it is in network byte order, converts to host before using */ #define IPOUT(field) \ TRUNC(sizeof(gint32)) \ ! proto_tree_add_item(tree,field, NullTVB,curoffset,sizeof(gint32),\ *((int*)&pd[curoffset]));\ curoffset += 4; ! /* Output a unix timestamp, after converting to a timeval */ #define BIGDATEOUT(field) \ { struct timeval tv; \ TRUNC(2*sizeof(guint32)); \ tv.tv_sec = GETINT(); \ tv.tv_usec = GETINT(); \ ! proto_tree_add_item(tree,field, NullTVB,curoffset,2*sizeof(guint32),&tv); \ curoffset += 8; \ } ! /* Output a unix timestamp, after converting to a timeval */ #define DATEOUT(field) \ { struct timeval tv; \ TRUNC(sizeof(guint32)); \ tv.tv_sec = GETINT(); \ tv.tv_usec = 0; \ ! proto_tree_add_item(tree,field, NullTVB,curoffset,sizeof(guint32),&tv); \ curoffset += 4; \ } --- 972,1004 ---- Assumes it is in network byte order, converts to host before using */ #define UINTOUT(field) \ TRUNC(sizeof(guint32)) \ ! proto_tree_add_uint(tree,field, NullTVB,curoffset,sizeof(guint32), GETINT()); \ curoffset += 4; ! /* Output an IPv4 address, stored into field 'field' */ #define IPOUT(field) \ TRUNC(sizeof(gint32)) \ ! proto_tree_add_ipv4(tree,field, NullTVB,curoffset,sizeof(gint32),\ *((int*)&pd[curoffset]));\ curoffset += 4; ! /* Output a UNIX seconds/microseconds timestamp, after converting to a timeval */ #define BIGDATEOUT(field) \ { struct timeval tv; \ TRUNC(2*sizeof(guint32)); \ tv.tv_sec = GETINT(); \ tv.tv_usec = GETINT(); \ ! proto_tree_add_time(tree,field, NullTVB,curoffset,2*sizeof(guint32),&tv); \ curoffset += 8; \ } ! /* Output a UNIX seconds-only timestamp, after converting to a timeval */ #define DATEOUT(field) \ { struct timeval tv; \ TRUNC(sizeof(guint32)); \ tv.tv_sec = GETINT(); \ tv.tv_usec = 0; \ ! proto_tree_add_time(tree,field, NullTVB,curoffset,sizeof(guint32),&tv); \ curoffset += 4; \ } *************** *** 1075,1090 **** who, tmp, positive ? "" : " (negative)"); \ save = tree; \ tree = proto_item_add_subtree(ti, ett_afs_acl); \ ! proto_tree_add_item(tree,hf_afs_fs_acl_entity, NullTVB,curoffset,strlen(who), who);\ tmpoffset = curoffset + strlen(who) + 1; \ acllen = bytes - strlen(who) - 1; \ ! proto_tree_add_item(tree,hf_afs_fs_acl_r, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_item(tree,hf_afs_fs_acl_l, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_item(tree,hf_afs_fs_acl_i, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_item(tree,hf_afs_fs_acl_d, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_item(tree,hf_afs_fs_acl_w, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_item(tree,hf_afs_fs_acl_k, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_item(tree,hf_afs_fs_acl_a, NullTVB,tmpoffset,acllen,acl);\ tree = save; \ } --- 1074,1089 ---- who, tmp, positive ? "" : " (negative)"); \ save = tree; \ tree = proto_item_add_subtree(ti, ett_afs_acl); \ ! proto_tree_add_string(tree,hf_afs_fs_acl_entity, NullTVB,curoffset,strlen(who), who);\ tmpoffset = curoffset + strlen(who) + 1; \ acllen = bytes - strlen(who) - 1; \ ! proto_tree_add_uint(tree,hf_afs_fs_acl_r, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_uint(tree,hf_afs_fs_acl_l, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_uint(tree,hf_afs_fs_acl_i, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_uint(tree,hf_afs_fs_acl_d, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_uint(tree,hf_afs_fs_acl_w, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_uint(tree,hf_afs_fs_acl_k, NullTVB,tmpoffset,acllen,acl);\ ! proto_tree_add_uint(tree,hf_afs_fs_acl_a, NullTVB,tmpoffset,acllen,acl);\ tree = save; \ } *************** *** 1099,1105 **** /* Raw data */ #define BYTESOUT(field, bytes) \ TRUNC(bytes); \ ! proto_tree_add_item(tree,field, NullTVB,curoffset,bytes,\ (void *)&pd[curoffset]); \ curoffset += bytes; --- 1098,1104 ---- /* Raw data */ #define BYTESOUT(field, bytes) \ TRUNC(bytes); \ ! proto_tree_add_bytes(tree,field, NullTVB,curoffset,bytes,\ (void *)&pd[curoffset]); \ curoffset += bytes; *************** *** 1112,1121 **** curoffset += 4; \ TRUNC(i); \ if ( i > 0 ) { \ ! proto_tree_add_item(tree, field, NullTVB, curoffset-4, i+4, \ (void *)&pd[curoffset]); \ } else { \ ! proto_tree_add_item(tree, field, NullTVB, curoffset-4, 4, \ ""); \ } \ curoffset += i; \ --- 1111,1120 ---- curoffset += 4; \ TRUNC(i); \ if ( i > 0 ) { \ ! proto_tree_add_string(tree, field, NullTVB, curoffset-4, i+4, \ (void *)&pd[curoffset]); \ } else { \ ! proto_tree_add_string(tree, field, NullTVB, curoffset-4, 4, \ ""); \ } \ curoffset += i; \ *************** *** 1133,1139 **** curoffset += sizeof(guint32);\ }\ tmp[length] = '\0';\ ! proto_tree_add_item(tree, field, NullTVB, soff, length, tmp);\ } /* Output a UBIK version code */ --- 1132,1138 ---- curoffset += sizeof(guint32);\ }\ tmp[length] = '\0';\ ! proto_tree_add_string(tree, field, NullTVB, soff, length, tmp);\ } /* Output a UBIK version code */ *************** *** 1152,1160 **** "UBIK Version (%s): %u.%u", label, epoch, counter ); \ save = tree; \ tree = proto_item_add_subtree(ti, ett_afs_ubikver); \ ! proto_tree_add_item(tree,hf_afs_ubik_version_epoch, NullTVB,curoffset-8, \ sizeof(guint32),&tv); \ ! proto_tree_add_item(tree,hf_afs_ubik_version_counter, NullTVB,curoffset-4, \ sizeof(guint32),counter); \ tree = save; \ } --- 1151,1159 ---- "UBIK Version (%s): %u.%u", label, epoch, counter ); \ save = tree; \ tree = proto_item_add_subtree(ti, ett_afs_ubikver); \ ! proto_tree_add_time(tree,hf_afs_ubik_version_epoch, NullTVB,curoffset-8, \ sizeof(guint32),&tv); \ ! proto_tree_add_uint(tree,hf_afs_ubik_version_counter, NullTVB,curoffset-4, \ sizeof(guint32),counter); \ tree = save; \ } *************** *** 1203,1216 **** return; s += n; TRUNC(1); ! proto_tree_add_item(tree, hf_afs_fs_acl_count_positive, NullTVB, curoffset, n, pos); curoffset += n; if (sscanf((char *) s, "%d %n", &neg, &n) != 1) return; s += n; TRUNC(1); ! proto_tree_add_item(tree, hf_afs_fs_acl_count_negative, NullTVB, curoffset, n, neg); curoffset += n; --- 1202,1215 ---- return; s += n; TRUNC(1); ! proto_tree_add_uint(tree, hf_afs_fs_acl_count_positive, NullTVB, curoffset, n, pos); curoffset += n; if (sscanf((char *) s, "%d %n", &neg, &n) != 1) return; s += n; TRUNC(1); ! proto_tree_add_uint(tree, hf_afs_fs_acl_count_negative, NullTVB, curoffset, n, neg); curoffset += n; *************** *** 1887,1893 **** if ( i<nservers && j<=26 ) { part[6] = (char) j; ! proto_tree_add_item(tree, hf_afs_vldb_partition, NullTVB, curoffset, 4, part); } SKIP(4); --- 1886,1892 ---- if ( i<nservers && j<=26 ) { part[6] = (char) j; ! proto_tree_add_string(tree, hf_afs_vldb_partition, NullTVB, curoffset, 4, part); } SKIP(4); *************** *** 1934,1940 **** if ( i<nservers && j<=26 ) { part[6] = (char) j; ! proto_tree_add_item(tree, hf_afs_vldb_partition, NullTVB, curoffset, 4, part); } SKIP(4); --- 1933,1939 ---- if ( i<nservers && j<=26 ) { part[6] = (char) j; ! proto_tree_add_string(tree, hf_afs_vldb_partition, NullTVB, curoffset, 4, part); } SKIP(4); *************** *** 1973,1979 **** if ( i<nservers && j<=26 ) { part[6] = (char) j; ! proto_tree_add_item(tree, hf_afs_vldb_partition, NullTVB, curoffset, 4, part); } SKIP(4); --- 1972,1978 ---- if ( i<nservers && j<=26 ) { part[6] = (char) j; ! proto_tree_add_string(tree, hf_afs_vldb_partition, NullTVB, curoffset, 4, part); } SKIP(4); *************** *** 2064,2070 **** switch ( opcode ) { case 10000: /* beacon */ ! proto_tree_add_item(tree,hf_afs_ubik_votetype, NullTVB,0,0,0); break; case 20004: /* get version */ UBIK_VERSIONOUT("DB Version"); --- 2063,2069 ---- switch ( opcode ) { case 10000: /* beacon */ ! proto_tree_add_boolean(tree,hf_afs_ubik_votetype, NullTVB,0,0,0); break; case 20004: /* get version */ UBIK_VERSIONOUT("DB Version"); *************** *** 2076,2082 **** switch ( opcode ) { case 10000: ! proto_tree_add_item(tree,hf_afs_ubik_votetype, NullTVB,0,0,1); DATEOUT(hf_afs_ubik_voteend); break; default: --- 2075,2081 ---- switch ( opcode ) { case 10000: ! proto_tree_add_boolean(tree,hf_afs_ubik_votetype, NullTVB,0,0,1); DATEOUT(hf_afs_ubik_voteend); break; default: Index: packet-arp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-arp.c,v retrieving revision 1.29 diff -c -r1.29 packet-arp.c *** packet-arp.c 2000/05/11 08:14:51 1.29 --- packet-arp.c 2000/05/30 10:37:04 *************** *** 285,293 **** proto_tree *nsap_tree; if (tl & ATMARP_IS_E164) ! proto_tree_add_item(tree, hf_e164, NullTVB, offset, len, &pd[offset]); else { ! ti = proto_tree_add_item(tree, hf_nsap, NullTVB, offset, len, &pd[offset]); if (len >= 20) { nsap_tree = proto_item_add_subtree(ti, ett_atmarp_nsap); --- 285,293 ---- proto_tree *nsap_tree; if (tl & ATMARP_IS_E164) ! proto_tree_add_string(tree, hf_e164, NullTVB, offset, len, &pd[offset]); else { ! ti = proto_tree_add_bytes(tree, hf_nsap, NullTVB, offset, len, &pd[offset]); if (len >= 20) { nsap_tree = proto_item_add_subtree(ti, ett_atmarp_nsap); *************** *** 503,525 **** ti = proto_tree_add_protocol_format(tree, proto_arp, NullTVB, offset, tot_len, "ATM Address Resolution Protocol (opcode 0x%04x)", ar_op); arp_tree = proto_item_add_subtree(ti, ett_arp); ! proto_tree_add_item(arp_tree, hf_arp_hard_type, NullTVB, offset + ATM_AR_HRD, 2, ar_hrd); ! proto_tree_add_item(arp_tree, hf_arp_proto_type, NullTVB, offset + ATM_AR_PRO, 2, ar_pro); ! proto_tree_add_item(arp_tree, hf_atmarp_shtl, NullTVB, offset + ATM_AR_SHTL, 1, ar_shtl); ! proto_tree_add_item(arp_tree, hf_atmarp_ssl, NullTVB, offset + ATM_AR_SSL, 1, ar_ssl); ! proto_tree_add_item(arp_tree, hf_arp_opcode, NullTVB, offset + AR_OP, 2, ar_op); ! proto_tree_add_item(arp_tree, hf_atmarp_spln, NullTVB, offset + ATM_AR_SPLN, 1, ar_spln); ! proto_tree_add_item(arp_tree, hf_atmarp_thtl, NullTVB, offset + ATM_AR_THTL, 1, ar_thtl); ! proto_tree_add_item(arp_tree, hf_atmarp_tsl, NullTVB, offset + ATM_AR_TSL, 1, ar_tsl); ! proto_tree_add_item(arp_tree, hf_atmarp_tpln, NullTVB, offset + ATM_AR_TPLN, 1, ar_tpln); if (ar_shl != 0) dissect_atm_number(pd, sha_offset, ar_shtl, hf_atmarp_src_atm_num_e164, --- 503,525 ---- ti = proto_tree_add_protocol_format(tree, proto_arp, NullTVB, offset, tot_len, "ATM Address Resolution Protocol (opcode 0x%04x)", ar_op); arp_tree = proto_item_add_subtree(ti, ett_arp); ! proto_tree_add_uint(arp_tree, hf_arp_hard_type, NullTVB, offset + ATM_AR_HRD, 2, ar_hrd); ! proto_tree_add_uint(arp_tree, hf_arp_proto_type, NullTVB, offset + ATM_AR_PRO, 2, ar_pro); ! proto_tree_add_uint(arp_tree, hf_atmarp_shtl, NullTVB, offset + ATM_AR_SHTL, 1, ar_shtl); ! proto_tree_add_uint(arp_tree, hf_atmarp_ssl, NullTVB, offset + ATM_AR_SSL, 1, ar_ssl); ! proto_tree_add_uint(arp_tree, hf_arp_opcode, NullTVB, offset + AR_OP, 2, ar_op); ! proto_tree_add_uint(arp_tree, hf_atmarp_spln, NullTVB, offset + ATM_AR_SPLN, 1, ar_spln); ! proto_tree_add_uint(arp_tree, hf_atmarp_thtl, NullTVB, offset + ATM_AR_THTL, 1, ar_thtl); ! proto_tree_add_uint(arp_tree, hf_atmarp_tsl, NullTVB, offset + ATM_AR_TSL, 1, ar_tsl); ! proto_tree_add_uint(arp_tree, hf_atmarp_tpln, NullTVB, offset + ATM_AR_TPLN, 1, ar_tpln); if (ar_shl != 0) dissect_atm_number(pd, sha_offset, ar_shtl, hf_atmarp_src_atm_num_e164, *************** *** 645,659 **** ti = proto_tree_add_protocol_format(tree, proto_arp, NullTVB, offset, tot_len, "Address Resolution Protocol (opcode 0x%04x)", ar_op); arp_tree = proto_item_add_subtree(ti, ett_arp); ! proto_tree_add_item(arp_tree, hf_arp_hard_type, NullTVB, offset + AR_HRD, 2, ar_hrd); ! proto_tree_add_item(arp_tree, hf_arp_proto_type, NullTVB, offset + AR_PRO, 2, ar_pro); ! proto_tree_add_item(arp_tree, hf_arp_hard_size, NullTVB, offset + AR_HLN, 1, ar_hln); ! proto_tree_add_item(arp_tree, hf_arp_proto_size, NullTVB, offset + AR_PLN, 1, ar_pln); ! proto_tree_add_item(arp_tree, hf_arp_opcode, NullTVB, offset + AR_OP, 2, ar_op); if (ar_hln != 0) proto_tree_add_bytes_format(arp_tree, hf_arp_src_ether, NullTVB, sha_offset, ar_hln, --- 645,659 ---- ti = proto_tree_add_protocol_format(tree, proto_arp, NullTVB, offset, tot_len, "Address Resolution Protocol (opcode 0x%04x)", ar_op); arp_tree = proto_item_add_subtree(ti, ett_arp); ! proto_tree_add_uint(arp_tree, hf_arp_hard_type, NullTVB, offset + AR_HRD, 2, ar_hrd); ! proto_tree_add_uint(arp_tree, hf_arp_proto_type, NullTVB, offset + AR_PRO, 2, ar_pro); ! proto_tree_add_uint(arp_tree, hf_arp_hard_size, NullTVB, offset + AR_HLN, 1, ar_hln); ! proto_tree_add_uint(arp_tree, hf_arp_proto_size, NullTVB, offset + AR_PLN, 1, ar_pln); ! proto_tree_add_uint(arp_tree, hf_arp_opcode, NullTVB, offset + AR_OP, 2, ar_op); if (ar_hln != 0) proto_tree_add_bytes_format(arp_tree, hf_arp_src_ether, NullTVB, sha_offset, ar_hln, Index: packet-ascend.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ascend.c,v retrieving revision 1.15 diff -c -r1.15 packet-ascend.c *** packet-ascend.c 2000/05/25 07:42:24 1.15 --- packet-ascend.c 2000/05/30 10:37:04 *************** *** 77,98 **** if(tree) { ti = proto_tree_add_text(tree, tvb, 0, 0, "Lucent/Ascend packet trace" ); fh_tree = proto_item_add_subtree(ti, ett_raw); ! proto_tree_add_item(fh_tree, hf_link_type, tvb, 0, 0, pseudo_header->ascend.type); if (pseudo_header->ascend.type == ASCEND_PFX_WDD) { ! proto_tree_add_item(fh_tree, hf_called_number, tvb, 0, 0, pseudo_header->ascend.call_num); ! proto_tree_add_item(fh_tree, hf_chunk, tvb, 0, 0, pseudo_header->ascend.chunk); ! proto_tree_add_item_hidden(fh_tree, hf_session_id, tvb, 0, 0, 0); } else { /* It's wandsession data */ ! proto_tree_add_item(fh_tree, hf_user_name, tvb, 0, 0, pseudo_header->ascend.user); ! proto_tree_add_item(fh_tree, hf_session_id, tvb, 0, 0, pseudo_header->ascend.sess); ! proto_tree_add_item_hidden(fh_tree, hf_chunk, tvb, 0, 0, 0); } ! proto_tree_add_item(fh_tree, hf_task, tvb, 0, 0, pseudo_header->ascend.task); } switch (pseudo_header->ascend.type) { --- 77,98 ---- if(tree) { ti = proto_tree_add_text(tree, tvb, 0, 0, "Lucent/Ascend packet trace" ); fh_tree = proto_item_add_subtree(ti, ett_raw); ! proto_tree_add_uint(fh_tree, hf_link_type, tvb, 0, 0, pseudo_header->ascend.type); if (pseudo_header->ascend.type == ASCEND_PFX_WDD) { ! proto_tree_add_string(fh_tree, hf_called_number, tvb, 0, 0, pseudo_header->ascend.call_num); ! proto_tree_add_uint(fh_tree, hf_chunk, tvb, 0, 0, pseudo_header->ascend.chunk); ! proto_tree_add_uint_hidden(fh_tree, hf_session_id, tvb, 0, 0, 0); } else { /* It's wandsession data */ ! proto_tree_add_string(fh_tree, hf_user_name, tvb, 0, 0, pseudo_header->ascend.user); ! proto_tree_add_uint(fh_tree, hf_session_id, tvb, 0, 0, pseudo_header->ascend.sess); ! proto_tree_add_uint_hidden(fh_tree, hf_chunk, tvb, 0, 0, 0); } ! proto_tree_add_uint(fh_tree, hf_task, tvb, 0, 0, pseudo_header->ascend.task); } switch (pseudo_header->ascend.type) { Index: packet-atalk.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-atalk.c,v retrieving revision 1.37 diff -c -r1.37 packet-atalk.c *** packet-atalk.c 2000/05/30 03:35:51 1.37 --- packet-atalk.c 2000/05/30 10:37:06 *************** *** 168,174 **** tmp = g_malloc( len+1 ); memcpy(tmp, &pd[offset], len); tmp[len] = 0; ! item = proto_tree_add_item(tree, hf_index, NullTVB, offset-1, len+1, tmp); subtree = proto_item_add_subtree(item, ett_pstring); proto_tree_add_text(subtree, NullTVB, offset-1, 1, "Length: %d", len); --- 168,174 ---- tmp = g_malloc( len+1 ); memcpy(tmp, &pd[offset], len); tmp[len] = 0; ! item = proto_tree_add_string(tree, hf_index, NullTVB, offset-1, len+1, tmp); subtree = proto_item_add_subtree(item, ett_pstring); proto_tree_add_text(subtree, NullTVB, offset-1, 1, "Length: %d", len); *************** *** 219,230 **** net, nodelen_bits, node); if (tree) { ! ti = proto_tree_add_item(tree, proto_rtmp, NullTVB, offset, END_OF_FRAME, NULL); rtmp_tree = proto_item_add_subtree(ti, ett_rtmp); ! proto_tree_add_item(rtmp_tree, hf_rtmp_net, NullTVB, offset, 2, net); ! proto_tree_add_item(rtmp_tree, hf_rtmp_node_len, NullTVB, offset+2, 1, nodelen_bits); ! proto_tree_add_item(rtmp_tree, hf_rtmp_node, NullTVB, offset+3, nodelen, nodelen); offset += 3 + nodelen; i = 1; --- 219,230 ---- net, nodelen_bits, node); if (tree) { ! ti = proto_tree_add_item(tree, proto_rtmp, NullTVB, offset, END_OF_FRAME, FALSE); rtmp_tree = proto_item_add_subtree(ti, ett_rtmp); ! proto_tree_add_uint(rtmp_tree, hf_rtmp_net, NullTVB, offset, 2, net); ! proto_tree_add_uint(rtmp_tree, hf_rtmp_node_len, NullTVB, offset+2, 1, nodelen_bits); ! proto_tree_add_uint(rtmp_tree, hf_rtmp_node, NullTVB, offset+3, nodelen, nodelen); offset += 3 + nodelen; i = 1; *************** *** 248,256 **** i, tuple_net, tuple_dist); tuple_tree = proto_item_add_subtree(tuple_item, ett_rtmp_tuple); ! proto_tree_add_item(tuple_tree, hf_rtmp_tuple_net, NullTVB, offset, 2, tuple_net); ! proto_tree_add_item(tuple_tree, hf_rtmp_tuple_dist, NullTVB, offset+2, 1, tuple_dist); if ( tuple_dist == 0 || tuple_dist & 0x80 ) /* phase 1/2 */ --- 248,256 ---- i, tuple_net, tuple_dist); tuple_tree = proto_item_add_subtree(tuple_item, ett_rtmp_tuple); ! proto_tree_add_uint(tuple_tree, hf_rtmp_tuple_net, NullTVB, offset, 2, tuple_net); ! proto_tree_add_uint(tuple_tree, hf_rtmp_tuple_dist, NullTVB, offset+2, 1, tuple_dist); if ( tuple_dist == 0 || tuple_dist & 0x80 ) /* phase 1/2 */ *************** *** 264,272 **** tuple_net2 = pntohs(&pd[offset+3]); tuple_dist2 = pd[offset+5]; ! proto_tree_add_item(tuple_tree, hf_rtmp_tuple_net, NullTVB, offset, 2, tuple_net2); ! proto_tree_add_item(tuple_tree, hf_rtmp_tuple_dist, NullTVB, offset+2, 1, tuple_dist2); proto_item_set_len(tuple_item, 6); --- 264,272 ---- tuple_net2 = pntohs(&pd[offset+3]); tuple_dist2 = pd[offset+5]; ! proto_tree_add_uint(tuple_tree, hf_rtmp_tuple_net, NullTVB, offset, 2, tuple_net2); ! proto_tree_add_uint(tuple_tree, hf_rtmp_tuple_dist, NullTVB, offset+2, 1, tuple_dist2); proto_item_set_len(tuple_item, 6); *************** *** 308,314 **** val_to_str(op, nbp_op_vals, "unknown (%1x)"), count); if (tree) { ! ti = proto_tree_add_item(tree, proto_nbp, NullTVB, offset, END_OF_FRAME, NULL); nbp_tree = proto_item_add_subtree(ti, ett_nbp); info_item = proto_tree_add_uint_format(nbp_tree, hf_nbp_info, NullTVB, offset, 1, --- 308,314 ---- val_to_str(op, nbp_op_vals, "unknown (%1x)"), count); if (tree) { ! ti = proto_tree_add_item(tree, proto_nbp, NullTVB, offset, END_OF_FRAME, FALSE); nbp_tree = proto_item_add_subtree(ti, ett_nbp); info_item = proto_tree_add_uint_format(nbp_tree, hf_nbp_info, NullTVB, offset, 1, *************** *** 317,325 **** val_to_str(op, nbp_op_vals, "unknown"), count); nbp_info_tree = proto_item_add_subtree(info_item, ett_nbp_info); ! proto_tree_add_item(nbp_info_tree, hf_nbp_op, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(nbp_info_tree, hf_nbp_count, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(nbp_tree, hf_nbp_tid, NullTVB, offset+1, 1, pd[offset+1]); offset += 2; for (i=0; i<count; i++) { --- 317,325 ---- val_to_str(op, nbp_op_vals, "unknown"), count); nbp_info_tree = proto_item_add_subtree(info_item, ett_nbp_info); ! proto_tree_add_uint(nbp_info_tree, hf_nbp_op, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_uint(nbp_info_tree, hf_nbp_count, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_uint(nbp_tree, hf_nbp_tid, NullTVB, offset+1, 1, pd[offset+1]); offset += 2; for (i=0; i<count; i++) { *************** *** 343,355 **** /* note, this is probably wrong, I need to look at my info at work tomorrow to straighten it out */ ! proto_tree_add_item(node_tree, hf_nbp_node_net, NullTVB, offset, 2, addr.net); offset += 2; ! proto_tree_add_item(node_tree, hf_nbp_node_node, NullTVB, offset, 1, addr.node); offset++; ! proto_tree_add_item(node_tree, hf_nbp_node_port, NullTVB, offset, 1, addr.port); offset++; ! proto_tree_add_item(node_tree, hf_nbp_node_enum, NullTVB, offset, 1, pd[offset]); offset++; offset = dissect_pascal_string(pd,offset,fd,node_tree,hf_nbp_node_object); --- 343,355 ---- /* note, this is probably wrong, I need to look at my info at work tomorrow to straighten it out */ ! proto_tree_add_uint(node_tree, hf_nbp_node_net, NullTVB, offset, 2, addr.net); offset += 2; ! proto_tree_add_uint(node_tree, hf_nbp_node_node, NullTVB, offset, 1, addr.node); offset++; ! proto_tree_add_uint(node_tree, hf_nbp_node_port, NullTVB, offset, 1, addr.port); offset++; ! proto_tree_add_uint(node_tree, hf_nbp_node_enum, NullTVB, offset, 1, pd[offset]); offset++; offset = dissect_pascal_string(pd,offset,fd,node_tree,hf_nbp_node_object); *************** *** 398,417 **** val_to_str(ddp.type, op_vals, "Unknown DDP protocol (%02x)")); if (tree) { ! ti = proto_tree_add_item(tree, proto_ddp, NullTVB, offset, DDP_HEADER_SIZE, NULL); ddp_tree = proto_item_add_subtree(ti, ett_ddp); ! proto_tree_add_item(ddp_tree, hf_ddp_hopcount, NullTVB, offset, 1, ddp_hops(ddp.hops_len)); ! proto_tree_add_item(ddp_tree, hf_ddp_len, NullTVB, offset, 2, ddp_len(ddp.hops_len)); ! proto_tree_add_item(ddp_tree, hf_ddp_checksum, NullTVB, offset + 2, 2, ddp.sum); ! proto_tree_add_item(ddp_tree, hf_ddp_dst_net, NullTVB, offset + 4, 2, ddp.dnet); ! proto_tree_add_item(ddp_tree, hf_ddp_src_net, NullTVB, offset + 6, 2, ddp.snet); ! proto_tree_add_item(ddp_tree, hf_ddp_dst_node, NullTVB, offset + 8, 1, ddp.dnode); ! proto_tree_add_item(ddp_tree, hf_ddp_src_node, NullTVB, offset + 9, 1, ddp.snode); ! proto_tree_add_item(ddp_tree, hf_ddp_dst_socket, NullTVB, offset + 10, 1, ddp.dport); ! proto_tree_add_item(ddp_tree, hf_ddp_src_socket, NullTVB, offset + 11, 1, ddp.sport); ! proto_tree_add_item(ddp_tree, hf_ddp_type, NullTVB, offset + 12, 1, ddp.type); } offset += DDP_HEADER_SIZE; --- 398,417 ---- val_to_str(ddp.type, op_vals, "Unknown DDP protocol (%02x)")); if (tree) { ! ti = proto_tree_add_item(tree, proto_ddp, NullTVB, offset, DDP_HEADER_SIZE, FALSE); ddp_tree = proto_item_add_subtree(ti, ett_ddp); ! proto_tree_add_uint(ddp_tree, hf_ddp_hopcount, NullTVB, offset, 1, ddp_hops(ddp.hops_len)); ! proto_tree_add_uint(ddp_tree, hf_ddp_len, NullTVB, offset, 2, ddp_len(ddp.hops_len)); ! proto_tree_add_uint(ddp_tree, hf_ddp_checksum, NullTVB, offset + 2, 2, ddp.sum); ! proto_tree_add_uint(ddp_tree, hf_ddp_dst_net, NullTVB, offset + 4, 2, ddp.dnet); ! proto_tree_add_uint(ddp_tree, hf_ddp_src_net, NullTVB, offset + 6, 2, ddp.snet); ! proto_tree_add_uint(ddp_tree, hf_ddp_dst_node, NullTVB, offset + 8, 1, ddp.dnode); ! proto_tree_add_uint(ddp_tree, hf_ddp_src_node, NullTVB, offset + 9, 1, ddp.snode); ! proto_tree_add_uint(ddp_tree, hf_ddp_dst_socket, NullTVB, offset + 10, 1, ddp.dport); ! proto_tree_add_uint(ddp_tree, hf_ddp_src_socket, NullTVB, offset + 11, 1, ddp.sport); ! proto_tree_add_uint(ddp_tree, hf_ddp_type, NullTVB, offset + 12, 1, ddp.type); } offset += DDP_HEADER_SIZE; Index: packet-atm.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-atm.c,v retrieving revision 1.21 diff -c -r1.21 packet-atm.c *** packet-atm.c 2000/05/29 08:57:36 1.21 --- packet-atm.c 2000/05/30 10:37:07 *************** *** 668,676 **** break; } } ! proto_tree_add_item(atm_tree, hf_atm_vpi, tvb, 0, 0, pinfo->pseudo_header->ngsniffer_atm.Vpi); ! proto_tree_add_item(atm_tree, hf_atm_vci, tvb, 0, 0, pinfo->pseudo_header->ngsniffer_atm.Vci); switch (pinfo->pseudo_header->ngsniffer_atm.channel) { --- 668,676 ---- break; } } ! proto_tree_add_uint(atm_tree, hf_atm_vpi, tvb, 0, 0, pinfo->pseudo_header->ngsniffer_atm.Vpi); ! proto_tree_add_uint(atm_tree, hf_atm_vci, tvb, 0, 0, pinfo->pseudo_header->ngsniffer_atm.Vci); switch (pinfo->pseudo_header->ngsniffer_atm.channel) { Index: packet-auto_rp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-auto_rp.c,v retrieving revision 1.5 diff -c -r1.5 packet-auto_rp.c *** packet-auto_rp.c 2000/05/11 08:14:57 1.5 --- packet-auto_rp.c 2000/05/30 10:37:09 *************** *** 151,157 **** return; } ! ti = proto_tree_add_item(tree, proto_auto_rp, NullTVB, offset, END_OF_FRAME, NULL); auto_rp_tree = proto_item_add_subtree(ti, ett_auto_rp); tv = proto_tree_add_uint_format(auto_rp_tree, hf_auto_rp_ver_type, NullTVB, offset, 1, --- 151,157 ---- return; } ! ti = proto_tree_add_item(tree, proto_auto_rp, NullTVB, offset, END_OF_FRAME, FALSE); auto_rp_tree = proto_item_add_subtree(ti, ett_auto_rp); tv = proto_tree_add_uint_format(auto_rp_tree, hf_auto_rp_ver_type, NullTVB, offset, 1, *************** *** 159,166 **** val_to_str(hi_nibble(arh.ver_type), auto_rp_ver_vals, "Unknown"), val_to_str(lo_nibble(arh.ver_type), auto_rp_type_vals, "Unknown")); ver_type_tree = proto_item_add_subtree(tv, ett_auto_rp_ver_type); ! proto_tree_add_item(ver_type_tree, hf_auto_rp_version, NullTVB, offset, 1, arh.ver_type); ! proto_tree_add_item(ver_type_tree, hf_auto_rp_type, NullTVB, offset, 1, arh.ver_type); offset++; proto_tree_add_text(auto_rp_tree, NullTVB, offset++, 1, "RP Count: %u", arh.rp_count); --- 159,166 ---- val_to_str(hi_nibble(arh.ver_type), auto_rp_ver_vals, "Unknown"), val_to_str(lo_nibble(arh.ver_type), auto_rp_type_vals, "Unknown")); ver_type_tree = proto_item_add_subtree(tv, ett_auto_rp_ver_type); ! proto_tree_add_uint(ver_type_tree, hf_auto_rp_version, NullTVB, offset, 1, arh.ver_type); ! proto_tree_add_uint(ver_type_tree, hf_auto_rp_type, NullTVB, offset, 1, arh.ver_type); offset++; proto_tree_add_text(auto_rp_tree, NullTVB, offset++, 1, "RP Count: %u", arh.rp_count); *************** *** 270,276 **** proto_tree_add_text(map_tree, NullTVB, offset, 4, "Unicast IP address of this RP: %s (%s)", ip_to_str((void *)&m.rp_address), get_hostname(m.rp_address)); offset +=4; ! proto_tree_add_item(map_tree, hf_auto_rp_pim_ver, NullTVB, offset, 1, pd[offset]); offset++; proto_tree_add_text(map_tree, NullTVB, offset, 1, "Number of groups this RP maps to: %u", m.group_count); offset++; --- 270,276 ---- proto_tree_add_text(map_tree, NullTVB, offset, 4, "Unicast IP address of this RP: %s (%s)", ip_to_str((void *)&m.rp_address), get_hostname(m.rp_address)); offset +=4; ! proto_tree_add_uint(map_tree, hf_auto_rp_pim_ver, NullTVB, offset, 1, pd[offset]); offset++; proto_tree_add_text(map_tree, NullTVB, offset, 1, "Number of groups this RP maps to: %u", m.group_count); offset++; *************** *** 287,293 **** val_to_str(pd[offset]&AUTO_RP_SIGN_MASK, auto_rp_mask_sign_vals, "")); grp_tree = proto_item_add_subtree(gi, ett_auto_rp_group); ! proto_tree_add_item(grp_tree, hf_auto_rp_mask_sgn, NullTVB, offset, 1, pd[offset]); offset++; proto_tree_add_text(grp_tree, NullTVB, offset, 1, "Group mask length: %u", pd[offset]); offset++; --- 287,293 ---- val_to_str(pd[offset]&AUTO_RP_SIGN_MASK, auto_rp_mask_sign_vals, "")); grp_tree = proto_item_add_subtree(gi, ett_auto_rp_group); ! proto_tree_add_uint(grp_tree, hf_auto_rp_mask_sgn, NullTVB, offset, 1, pd[offset]); offset++; proto_tree_add_text(grp_tree, NullTVB, offset, 1, "Group mask length: %u", pd[offset]); offset++; Index: packet-bootp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-bootp.c,v retrieving revision 1.33 diff -c -r1.33 packet-bootp.c *** packet-bootp.c 2000/05/19 04:54:32 1.33 --- packet-bootp.c 2000/05/30 10:37:10 *************** *** 583,589 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_bootp, NullTVB, offset, END_OF_FRAME, NULL); bp_tree = proto_item_add_subtree(ti, ett_bootp); proto_tree_add_uint_format(bp_tree, hf_bootp_type, NullTVB, --- 583,589 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_bootp, NullTVB, offset, END_OF_FRAME, FALSE); bp_tree = proto_item_add_subtree(ti, ett_bootp); proto_tree_add_uint_format(bp_tree, hf_bootp_type, NullTVB, *************** *** 597,624 **** "Hardware type: %s", arphrdtype_to_str(pd[offset+1], "Unknown (0x%02x)")); ! proto_tree_add_item(bp_tree, hf_bootp_hw_len, NullTVB, offset + 2, 1, pd[offset+2]); ! proto_tree_add_item(bp_tree, hf_bootp_hops, NullTVB, offset + 3, 1, pd[offset+3]); ! proto_tree_add_item(bp_tree, hf_bootp_id, NullTVB, offset + 4, 4, pntohl(&pd[offset+4])); ! proto_tree_add_item(bp_tree, hf_bootp_secs, NullTVB, offset + 8, 2, pntohs(&pd[offset+8])); ! proto_tree_add_item(bp_tree, hf_bootp_flag, NullTVB, offset + 10, 2, pntohs(&pd[offset+10]) & 0x8000); memcpy(&ip_addr, &pd[offset+12], sizeof(ip_addr)); ! proto_tree_add_item(bp_tree, hf_bootp_ip_client, NullTVB, offset + 12, 4, ip_addr); memcpy(&ip_addr, &pd[offset+16], sizeof(ip_addr)); ! proto_tree_add_item(bp_tree, hf_bootp_ip_your, NullTVB, offset + 16, 4, ip_addr); memcpy(&ip_addr, &pd[offset+20], sizeof(ip_addr)); ! proto_tree_add_item(bp_tree, hf_bootp_ip_server, NullTVB, offset + 20, 4, ip_addr); memcpy(&ip_addr, &pd[offset+24], sizeof(ip_addr)); ! proto_tree_add_item(bp_tree, hf_bootp_ip_relay, NullTVB, offset + 24, 4, ip_addr); if (pd[offset+2] > 0) { --- 597,624 ---- "Hardware type: %s", arphrdtype_to_str(pd[offset+1], "Unknown (0x%02x)")); ! proto_tree_add_uint(bp_tree, hf_bootp_hw_len, NullTVB, offset + 2, 1, pd[offset+2]); ! proto_tree_add_uint(bp_tree, hf_bootp_hops, NullTVB, offset + 3, 1, pd[offset+3]); ! proto_tree_add_uint(bp_tree, hf_bootp_id, NullTVB, offset + 4, 4, pntohl(&pd[offset+4])); ! proto_tree_add_uint(bp_tree, hf_bootp_secs, NullTVB, offset + 8, 2, pntohs(&pd[offset+8])); ! proto_tree_add_uint(bp_tree, hf_bootp_flag, NullTVB, offset + 10, 2, pntohs(&pd[offset+10]) & 0x8000); memcpy(&ip_addr, &pd[offset+12], sizeof(ip_addr)); ! proto_tree_add_ipv4(bp_tree, hf_bootp_ip_client, NullTVB, offset + 12, 4, ip_addr); memcpy(&ip_addr, &pd[offset+16], sizeof(ip_addr)); ! proto_tree_add_ipv4(bp_tree, hf_bootp_ip_your, NullTVB, offset + 16, 4, ip_addr); memcpy(&ip_addr, &pd[offset+20], sizeof(ip_addr)); ! proto_tree_add_ipv4(bp_tree, hf_bootp_ip_server, NullTVB, offset + 20, 4, ip_addr); memcpy(&ip_addr, &pd[offset+24], sizeof(ip_addr)); ! proto_tree_add_ipv4(bp_tree, hf_bootp_ip_relay, NullTVB, offset + 24, 4, ip_addr); if (pd[offset+2] > 0) { *************** *** 630,636 **** pd[offset+2], pd[offset+1])); } else { ! proto_tree_add_item(bp_tree, hf_bootp_hw_addr, NullTVB, offset + 28, 0, NULL); } --- 630,636 ---- pd[offset+2], pd[offset+1])); } else { ! proto_tree_add_bytes(bp_tree, hf_bootp_hw_addr, NullTVB, offset + 28, 0, NULL); } *************** *** 672,678 **** } else { memcpy(&ip_addr, &pd[offset + 236], sizeof(ip_addr)); ! proto_tree_add_item(bp_tree, hf_bootp_cookie, NullTVB, offset + 236, 4, ip_addr); } --- 672,678 ---- } else { memcpy(&ip_addr, &pd[offset + 236], sizeof(ip_addr)); ! proto_tree_add_ipv4(bp_tree, hf_bootp_cookie, NullTVB, offset + 236, 4, ip_addr); } *************** *** 687,693 **** col_add_str(fd, COL_PROTOCOL, "DHCP"); if (check_col(fd, COL_INFO)) col_add_fstr(fd, COL_INFO, "DHCP %-8s - Trans. ID 0x%x", is_dhcp, pntohl(&pd[offset+4]) ); ! proto_tree_add_item_hidden(bp_tree, hf_bootp_dhcp, NullTVB, 0, 0, 1); } } } --- 687,693 ---- col_add_str(fd, COL_PROTOCOL, "DHCP"); if (check_col(fd, COL_INFO)) col_add_fstr(fd, COL_INFO, "DHCP %-8s - Trans. ID 0x%x", is_dhcp, pntohl(&pd[offset+4]) ); ! proto_tree_add_boolean_hidden(bp_tree, hf_bootp_dhcp, NullTVB, 0, 0, 1); } } } Index: packet-bootparams.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-bootparams.c,v retrieving revision 1.10 diff -c -r1.10 packet-bootparams.c *** packet-bootparams.c 2000/05/11 08:15:03 1.10 --- packet-bootparams.c 2000/05/30 10:37:10 *************** *** 61,70 **** /* get the address type */ if ( !BYTES_ARE_IN_FRAME(offset, 1)) return offset; type = pntohl(&pd[offset]); /* type of address */ ! #if 0 proto_tree_add_item(tree, hf_bootparams_addresstype, NullTVB, offset, 4, type); ! #endif offset += 4; if ( type != 1 ) /* only know how to handle this type of address */ --- 61,71 ---- /* get the address type */ if ( !BYTES_ARE_IN_FRAME(offset, 1)) return offset; type = pntohl(&pd[offset]); /* type of address */ ! /* ! ZZZZZZZZZZZZZZZZZZZ Check type: proto_tree_add_item(tree, hf_bootparams_addresstype, NullTVB, offset, 4, type); ! */ offset += 4; if ( type != 1 ) /* only know how to handle this type of address */ *************** *** 76,82 **** if ( ! BYTES_ARE_IN_FRAME(offset, 16)) return offset; ipaddr = (pd[offset+3]<<24) + (pd[offset+7]<<16) + (pd[offset+11]<<8) + (pd[offset+15]); ! proto_tree_add_item(tree, hfindex, NullTVB, offset, 16, ntohl(ipaddr)); offset += 16; --- 77,83 ---- if ( ! BYTES_ARE_IN_FRAME(offset, 16)) return offset; ipaddr = (pd[offset+3]<<24) + (pd[offset+7]<<16) + (pd[offset+11]<<8) + (pd[offset+15]); ! proto_tree_add_ipv4(tree, hfindex, NullTVB, offset, 16, ntohl(ipaddr)); offset += 16; Index: packet-bpdu.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-bpdu.c,v retrieving revision 1.10 diff -c -r1.10 packet-bpdu.c *** packet-bpdu.c 2000/05/11 08:15:03 1.10 --- packet-bpdu.c 2000/05/30 10:37:11 *************** *** 132,138 **** protocol_identifier == 0 ? "Spanning Tree" : "Unknown Protocol"); ! proto_tree_add_item(bpdu_tree, hf_bpdu_version_id, NullTVB, offset + BPDU_VERSION_IDENTIFIER, 1, protocol_version_identifier); if (protocol_version_identifier != 0) --- 132,138 ---- protocol_identifier == 0 ? "Spanning Tree" : "Unknown Protocol"); ! proto_tree_add_uint(bpdu_tree, hf_bpdu_version_id, NullTVB, offset + BPDU_VERSION_IDENTIFIER, 1, protocol_version_identifier); if (protocol_version_identifier != 0) *************** *** 157,170 **** hello_time = pntohs(bpdu + BPDU_HELLO_TIME) / 256.0; forward_delay = pntohs(bpdu + BPDU_FORWARD_DELAY) / 256.0; ! proto_tree_add_item(bpdu_tree, hf_bpdu_flags, NullTVB, offset + BPDU_FLAGS, 1, flags); if (flags & 0x80) proto_tree_add_text(bpdu_tree, NullTVB, offset + BPDU_FLAGS, 1, " 1... .... Topology Change Acknowledgment"); if (flags & 0x01) proto_tree_add_text(bpdu_tree, NullTVB, offset + BPDU_FLAGS, 1, " .... ...1 Topology Change"); ! proto_tree_add_item_hidden(bpdu_tree, hf_bpdu_root_mac, NullTVB, offset + BPDU_ROOT_IDENTIFIER + 2, 6, bpdu + BPDU_ROOT_IDENTIFIER + 2); proto_tree_add_text(bpdu_tree, NullTVB, --- 157,170 ---- hello_time = pntohs(bpdu + BPDU_HELLO_TIME) / 256.0; forward_delay = pntohs(bpdu + BPDU_FORWARD_DELAY) / 256.0; ! proto_tree_add_uint(bpdu_tree, hf_bpdu_flags, NullTVB, offset + BPDU_FLAGS, 1, flags); if (flags & 0x80) proto_tree_add_text(bpdu_tree, NullTVB, offset + BPDU_FLAGS, 1, " 1... .... Topology Change Acknowledgment"); if (flags & 0x01) proto_tree_add_text(bpdu_tree, NullTVB, offset + BPDU_FLAGS, 1, " .... ...1 Topology Change"); ! proto_tree_add_ether_hidden(bpdu_tree, hf_bpdu_root_mac, NullTVB, offset + BPDU_ROOT_IDENTIFIER + 2, 6, bpdu + BPDU_ROOT_IDENTIFIER + 2); proto_tree_add_text(bpdu_tree, NullTVB, *************** *** 172,178 **** "Root Identifier: %d / %s", root_identifier_bridge_priority, root_identifier_mac); ! proto_tree_add_item(bpdu_tree, hf_bpdu_root_cost, NullTVB, offset + BPDU_ROOT_PATH_COST, 4, root_path_cost); proto_tree_add_text(bpdu_tree, NullTVB, --- 172,178 ---- "Root Identifier: %d / %s", root_identifier_bridge_priority, root_identifier_mac); ! proto_tree_add_uint(bpdu_tree, hf_bpdu_root_cost, NullTVB, offset + BPDU_ROOT_PATH_COST, 4, root_path_cost); proto_tree_add_text(bpdu_tree, NullTVB, *************** *** 180,201 **** "Bridge Identifier: %d / %s", bridge_identifier_bridge_priority, bridge_identifier_mac); ! proto_tree_add_item_hidden(bpdu_tree, hf_bpdu_bridge_mac, NullTVB, offset + BPDU_BRIDGE_IDENTIFIER + 2, 6, bpdu + BPDU_BRIDGE_IDENTIFIER + 2); ! proto_tree_add_item(bpdu_tree, hf_bpdu_port_id, NullTVB, offset + BPDU_PORT_IDENTIFIER, 2, port_identifier); ! proto_tree_add_item(bpdu_tree, hf_bpdu_msg_age, NullTVB, offset + BPDU_MESSAGE_AGE, 2, message_age); ! proto_tree_add_item(bpdu_tree, hf_bpdu_max_age, NullTVB, offset + BPDU_MAX_AGE, 2, max_age); ! proto_tree_add_item(bpdu_tree, hf_bpdu_hello_time, NullTVB, offset + BPDU_HELLO_TIME, 2, hello_time); ! proto_tree_add_item(bpdu_tree, hf_bpdu_forward_delay, NullTVB, offset + BPDU_FORWARD_DELAY, 2, forward_delay); } --- 180,201 ---- "Bridge Identifier: %d / %s", bridge_identifier_bridge_priority, bridge_identifier_mac); ! proto_tree_add_ether_hidden(bpdu_tree, hf_bpdu_bridge_mac, NullTVB, offset + BPDU_BRIDGE_IDENTIFIER + 2, 6, bpdu + BPDU_BRIDGE_IDENTIFIER + 2); ! proto_tree_add_uint(bpdu_tree, hf_bpdu_port_id, NullTVB, offset + BPDU_PORT_IDENTIFIER, 2, port_identifier); ! proto_tree_add_double(bpdu_tree, hf_bpdu_msg_age, NullTVB, offset + BPDU_MESSAGE_AGE, 2, message_age); ! proto_tree_add_double(bpdu_tree, hf_bpdu_max_age, NullTVB, offset + BPDU_MAX_AGE, 2, max_age); ! proto_tree_add_double(bpdu_tree, hf_bpdu_hello_time, NullTVB, offset + BPDU_HELLO_TIME, 2, hello_time); ! proto_tree_add_double(bpdu_tree, hf_bpdu_forward_delay, NullTVB, offset + BPDU_FORWARD_DELAY, 2, forward_delay); } Index: packet-cdp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-cdp.c,v retrieving revision 1.22 diff -c -r1.22 packet-cdp.c *** packet-cdp.c 2000/05/11 08:15:04 1.22 --- packet-cdp.c 2000/05/30 10:37:12 *************** *** 107,117 **** col_add_str(fd, COL_INFO, "Cisco Discovery Protocol"); if(tree){ ! ti = proto_tree_add_item(tree, proto_cdp, NullTVB, offset, END_OF_FRAME, NULL); cdp_tree = proto_item_add_subtree(ti, ett_cdp); /* CDP header */ ! proto_tree_add_item(cdp_tree, hf_cdp_version, NullTVB, offset, 1, pd[offset]); offset += 1; proto_tree_add_uint_format(cdp_tree, hf_cdp_ttl, NullTVB, offset, 1, pntohs(&pd[offset]), --- 107,117 ---- col_add_str(fd, COL_INFO, "Cisco Discovery Protocol"); if(tree){ ! ti = proto_tree_add_item(tree, proto_cdp, NullTVB, offset, END_OF_FRAME, FALSE); cdp_tree = proto_item_add_subtree(ti, ett_cdp); /* CDP header */ ! proto_tree_add_uint(cdp_tree, hf_cdp_version, NullTVB, offset, 1, pd[offset]); offset += 1; proto_tree_add_uint_format(cdp_tree, hf_cdp_ttl, NullTVB, offset, 1, pntohs(&pd[offset]), *************** *** 136,144 **** &pd[offset+4]); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); proto_tree_add_text(tlv_tree, NullTVB, offset + 4, length - 4, "Device ID: %s", --- 136,144 ---- &pd[offset+4]); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); proto_tree_add_text(tlv_tree, NullTVB, offset + 4, length - 4, "Device ID: %s", *************** *** 151,159 **** length, "Addresses"); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); offset += 4; length -= 4; --- 151,159 ---- length, "Addresses"); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); offset += 4; length -= 4; *************** *** 194,202 **** &pd[offset+4]); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); proto_tree_add_text(tlv_tree, NullTVB, offset + 4, real_length - 4, --- 194,202 ---- &pd[offset+4]); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); proto_tree_add_text(tlv_tree, NullTVB, offset + 4, real_length - 4, *************** *** 209,217 **** length, "Capabilities"); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); offset += 4; length -= 4; --- 209,217 ---- length, "Capabilities"); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); offset += 4; length -= 4; *************** *** 224,232 **** length, "Software Version"); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); add_multi_line_string_to_tree(tlv_tree, offset + 4, length - 4, "Software Version: ", --- 224,232 ---- length, "Software Version"); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); add_multi_line_string_to_tree(tlv_tree, offset + 4, length - 4, "Software Version: ", *************** *** 243,251 **** stringmem); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); proto_tree_add_text(tlv_tree, NullTVB, offset + 4, length - 4, "Platform: %s", stringmem); --- 243,251 ---- stringmem); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); proto_tree_add_text(tlv_tree, NullTVB, offset + 4, length - 4, "Platform: %s", stringmem); *************** *** 258,266 **** type_str, length); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); if (length > 4) { proto_tree_add_text(tlv_tree, NullTVB, --- 258,266 ---- type_str, length); tlv_tree = proto_item_add_subtree(tlvi, ett_cdp_tlv); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvtype, NullTVB, offset + TLV_TYPE, 2, type); ! proto_tree_add_uint(tlv_tree, hf_cdp_tlvlength, NullTVB, offset + TLV_LENGTH, 2, length); if (length > 4) { proto_tree_add_text(tlv_tree, NullTVB, Index: packet-cgmp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-cgmp.c,v retrieving revision 1.2 diff -c -r1.2 packet-cgmp.c *** packet-cgmp.c 2000/05/11 08:15:04 1.2 --- packet-cgmp.c 2000/05/30 10:37:13 *************** *** 71,102 **** col_add_str(fd, COL_INFO, "Cisco Group Management Protocol"); if (tree) { ! ti = proto_tree_add_item(tree, proto_cgmp, NullTVB, offset, END_OF_FRAME, NULL); cgmp_tree = proto_item_add_subtree(ti, ett_cgmp); ! proto_tree_add_item(cgmp_tree, hf_cgmp_version, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(cgmp_tree, hf_cgmp_type, NullTVB, offset, 1, pd[offset]); offset += 1; offset += 2; /* skip reserved field */ count = pd[offset]; ! proto_tree_add_item(cgmp_tree, hf_cgmp_count, NullTVB, offset, 1, count); offset += 1; while (count != 0) { if (!BYTES_ARE_IN_FRAME(offset, 6)) break; ! proto_tree_add_item(cgmp_tree, hf_cgmp_gda, NullTVB, offset, 6, &pd[offset]); offset += 6; if (!BYTES_ARE_IN_FRAME(offset, 6)) break; ! proto_tree_add_item(cgmp_tree, hf_cgmp_usa, NullTVB, offset, 6, &pd[offset]); offset += 6; --- 71,102 ---- col_add_str(fd, COL_INFO, "Cisco Group Management Protocol"); if (tree) { ! ti = proto_tree_add_item(tree, proto_cgmp, NullTVB, offset, END_OF_FRAME, FALSE); cgmp_tree = proto_item_add_subtree(ti, ett_cgmp); ! proto_tree_add_uint(cgmp_tree, hf_cgmp_version, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_uint(cgmp_tree, hf_cgmp_type, NullTVB, offset, 1, pd[offset]); offset += 1; offset += 2; /* skip reserved field */ count = pd[offset]; ! proto_tree_add_uint(cgmp_tree, hf_cgmp_count, NullTVB, offset, 1, count); offset += 1; while (count != 0) { if (!BYTES_ARE_IN_FRAME(offset, 6)) break; ! proto_tree_add_ether(cgmp_tree, hf_cgmp_gda, NullTVB, offset, 6, &pd[offset]); offset += 6; if (!BYTES_ARE_IN_FRAME(offset, 6)) break; ! proto_tree_add_ether(cgmp_tree, hf_cgmp_usa, NullTVB, offset, 6, &pd[offset]); offset += 6; Index: packet-clnp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-clnp.c,v retrieving revision 1.7 diff -c -r1.7 packet-clnp.c *** packet-clnp.c 2000/05/11 08:15:04 1.7 --- packet-clnp.c 2000/05/30 10:37:17 *************** *** 272,278 **** src_ref, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 272,278 ---- src_ref, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 364,370 **** (fragment)? "(fragment)" : ""); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 364,370 ---- (fragment)? "(fragment)" : ""); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 506,512 **** tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 506,512 ---- tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 587,593 **** tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 587,593 ---- tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 686,692 **** dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 686,692 ---- dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 970,976 **** dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 970,976 ---- dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 1020,1026 **** tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 1020,1026 ---- tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 1124,1130 **** tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 1124,1130 ---- tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 1274,1280 **** "EA TPDU (%u) dst-ref: 0x%04x", tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 1274,1280 ---- "EA TPDU (%u) dst-ref: 0x%04x", tpdu_nr, dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 1356,1362 **** col_append_fstr(fd, COL_INFO, "ER TPDU dst-ref: 0x%04x", dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, NULL); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); --- 1356,1362 ---- col_append_fstr(fd, COL_INFO, "ER TPDU dst-ref: 0x%04x", dst_ref); if (tree) { ! ti = proto_tree_add_item(tree, proto_cotp, NullTVB, offset, li + 1, FALSE); cotp_tree = proto_item_add_subtree(ti, ett_cotp); proto_tree_add_text(cotp_tree, NullTVB, offset, 1, "Length indicator: %u", li); *************** *** 1509,1515 **** if (check_col(fd, COL_INFO)) col_add_str(fd, COL_INFO, "Inactive subset"); if (tree) { ! ti = proto_tree_add_item(tree, proto_clnp, NullTVB, offset, 1, NULL); clnp_tree = proto_item_add_subtree(ti, ett_clnp); proto_tree_add_uint_format(clnp_tree, hf_clnp_id, NullTVB, offset, 1, clnp.cnf_proto_id, --- 1509,1515 ---- if (check_col(fd, COL_INFO)) col_add_str(fd, COL_INFO, "Inactive subset"); if (tree) { ! ti = proto_tree_add_item(tree, proto_clnp, NullTVB, offset, 1, FALSE); clnp_tree = proto_item_add_subtree(ti, ett_clnp); proto_tree_add_uint_format(clnp_tree, hf_clnp_id, NullTVB, offset, 1, clnp.cnf_proto_id, *************** *** 1544,1556 **** pdu_type_string = val_to_str(clnp.cnf_type & CNF_TYPE, npdu_type_vals, "Unknown (0x%02x)"); if (tree) { ! ti = proto_tree_add_item(tree, proto_clnp, NullTVB, offset, clnp.cnf_hdr_len, NULL); clnp_tree = proto_item_add_subtree(ti, ett_clnp); ! proto_tree_add_item(clnp_tree, hf_clnp_id, NullTVB, offset, 1, clnp.cnf_proto_id); ! proto_tree_add_item(clnp_tree, hf_clnp_length, NullTVB, offset + 1, 1, clnp.cnf_hdr_len); ! proto_tree_add_item(clnp_tree, hf_clnp_version, NullTVB, offset + 2, 1, clnp.cnf_vers); proto_tree_add_uint_format(clnp_tree, hf_clnp_ttl, NullTVB, offset + 3, 1, clnp.cnf_ttl, --- 1544,1556 ---- pdu_type_string = val_to_str(clnp.cnf_type & CNF_TYPE, npdu_type_vals, "Unknown (0x%02x)"); if (tree) { ! ti = proto_tree_add_item(tree, proto_clnp, NullTVB, offset, clnp.cnf_hdr_len, FALSE); clnp_tree = proto_item_add_subtree(ti, ett_clnp); ! proto_tree_add_uint(clnp_tree, hf_clnp_id, NullTVB, offset, 1, clnp.cnf_proto_id); ! proto_tree_add_uint(clnp_tree, hf_clnp_length, NullTVB, offset + 1, 1, clnp.cnf_hdr_len); ! proto_tree_add_uint(clnp_tree, hf_clnp_version, NullTVB, offset + 2, 1, clnp.cnf_vers); proto_tree_add_uint_format(clnp_tree, hf_clnp_ttl, NullTVB, offset + 3, 1, clnp.cnf_ttl, *************** *** 1562,1568 **** clnp.cnf_type, flag_string, pdu_type_string); ! proto_tree_add_item(clnp_tree, hf_clnp_pdu_length, NullTVB, offset + 5, 2, segment_length); proto_tree_add_uint_format(clnp_tree, hf_clnp_checksum, NullTVB, offset + 7, 2, EXTRACT_SHORT(&clnp.cnf_cksum_msb), --- 1562,1568 ---- clnp.cnf_type, flag_string, pdu_type_string); ! proto_tree_add_uint(clnp_tree, hf_clnp_pdu_length, NullTVB, offset + 5, 2, segment_length); proto_tree_add_uint_format(clnp_tree, hf_clnp_checksum, NullTVB, offset + 7, 2, EXTRACT_SHORT(&clnp.cnf_cksum_msb), *************** *** 1588,1600 **** src_len = pd[offset + dst_len + 1]; if (tree) { ! proto_tree_add_item(clnp_tree, hf_clnp_dest_length, NullTVB, offset, 1, dst_len); proto_tree_add_bytes_format(clnp_tree, hf_clnp_dest, NullTVB, offset + 1 , dst_len, &pd[offset + 1], " DA : %s", print_nsap_net(&pd[offset + 1], dst_len)); ! proto_tree_add_item(clnp_tree, hf_clnp_src_length, NullTVB, offset + 1 + dst_len, 1, src_len); proto_tree_add_bytes_format(clnp_tree, hf_clnp_src, NullTVB, offset + dst_len + 2, src_len, --- 1588,1600 ---- src_len = pd[offset + dst_len + 1]; if (tree) { ! proto_tree_add_uint(clnp_tree, hf_clnp_dest_length, NullTVB, offset, 1, dst_len); proto_tree_add_bytes_format(clnp_tree, hf_clnp_dest, NullTVB, offset + 1 , dst_len, &pd[offset + 1], " DA : %s", print_nsap_net(&pd[offset + 1], dst_len)); ! proto_tree_add_uint(clnp_tree, hf_clnp_src_length, NullTVB, offset + 1 + dst_len, 1, src_len); proto_tree_add_bytes_format(clnp_tree, hf_clnp_src, NullTVB, offset + dst_len + 2, src_len, Index: packet-ddtp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ddtp.c,v retrieving revision 1.4 diff -c -r1.4 packet-ddtp.c *** packet-ddtp.c 2000/05/28 17:04:09 1.4 --- packet-ddtp.c 2000/05/30 10:37:18 *************** *** 111,142 **** } if (tree) { ti = proto_tree_add_item(tree, proto_ddtp, NullTVB, offset, ! END_OF_FRAME - offset, NULL); ddtp_tree = proto_item_add_subtree(ti, ett_ddtp); if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_item(ddtp_tree, hf_ddtp_version, NullTVB, offset, 4, pntohl(pd+offset)); offset += 4; if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_item(ddtp_tree, hf_ddtp_encrypt, NullTVB, offset, 4, pntohl(pd+offset)); if (!BYTES_ARE_IN_FRAME(offset+4, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset+4, END_OF_FRAME-offset-4, "Frame too short"); return; } ! proto_tree_add_item(ddtp_tree, hf_ddtp_hostid, NullTVB, offset+4, 4, pntohl(pd+offset+4)); if (pntohl(pd+offset) == DDTP_ENCRYPT_PLAINTEXT) { offset += 8; if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_item(ddtp_tree, hf_ddtp_msgtype, NullTVB, offset, 4, pntohl(pd+offset)); switch (pntohl(pd+offset)) { case DDTP_MESSAGE_ERROR : offset += 4; --- 111,142 ---- } if (tree) { ti = proto_tree_add_item(tree, proto_ddtp, NullTVB, offset, ! END_OF_FRAME - offset, FALSE); ddtp_tree = proto_item_add_subtree(ti, ett_ddtp); if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_uint(ddtp_tree, hf_ddtp_version, NullTVB, offset, 4, pntohl(pd+offset)); offset += 4; if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_uint(ddtp_tree, hf_ddtp_encrypt, NullTVB, offset, 4, pntohl(pd+offset)); if (!BYTES_ARE_IN_FRAME(offset+4, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset+4, END_OF_FRAME-offset-4, "Frame too short"); return; } ! proto_tree_add_uint(ddtp_tree, hf_ddtp_hostid, NullTVB, offset+4, 4, pntohl(pd+offset+4)); if (pntohl(pd+offset) == DDTP_ENCRYPT_PLAINTEXT) { offset += 8; if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_uint(ddtp_tree, hf_ddtp_msgtype, NullTVB, offset, 4, pntohl(pd+offset)); switch (pntohl(pd+offset)) { case DDTP_MESSAGE_ERROR : offset += 4; *************** *** 149,161 **** proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_item(ddtp_tree, hf_ddtp_opcode, NullTVB, offset, 4, pntohl(pd+offset)); offset += 4; if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_item(ddtp_tree, hf_ddtp_ipaddr, NullTVB, offset, 4, pntohl(pd+offset)); break; case DDTP_UPDATE_REPLY : offset += 4; --- 149,161 ---- proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_uint(ddtp_tree, hf_ddtp_opcode, NullTVB, offset, 4, pntohl(pd+offset)); offset += 4; if (!BYTES_ARE_IN_FRAME(offset, 4)) { proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_ipv4(ddtp_tree, hf_ddtp_ipaddr, NullTVB, offset, 4, pntohl(pd+offset)); break; case DDTP_UPDATE_REPLY : offset += 4; *************** *** 164,170 **** proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_item(ddtp_tree, hf_ddtp_status, NullTVB, offset, 4, pntohl(pd+offset)); break; case DDTP_ALIVE_QUERY : offset += 4; --- 164,170 ---- proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short"); return; } ! proto_tree_add_uint(ddtp_tree, hf_ddtp_status, NullTVB, offset, 4, pntohl(pd+offset)); break; case DDTP_ALIVE_QUERY : offset += 4; Index: packet-dns.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-dns.c,v retrieving revision 1.44 diff -c -r1.44 packet-dns.c *** packet-dns.c 2000/05/11 08:15:05 1.44 --- packet-dns.c 2000/05/30 10:37:21 *************** *** 1573,1583 **** dns_tree = proto_item_add_subtree(ti, ett_dns); if (flags & F_RESPONSE) ! proto_tree_add_item_hidden(dns_tree, hf_dns_response, NullTVB, offset, 4, 1); else ! proto_tree_add_item_hidden(dns_tree, hf_dns_query, NullTVB, offset, 4, 1); ! proto_tree_add_item(dns_tree, hf_dns_transaction_id, NullTVB, offset + DNS_ID, 2, id); strcpy(buf, val_to_str(flags & F_OPCODE, opcode_vals, "Unknown operation")); --- 1573,1583 ---- dns_tree = proto_item_add_subtree(ti, ett_dns); if (flags & F_RESPONSE) ! proto_tree_add_boolean_hidden(dns_tree, hf_dns_response, NullTVB, offset, 4, 1); else ! proto_tree_add_boolean_hidden(dns_tree, hf_dns_query, NullTVB, offset, 4, 1); ! proto_tree_add_uint(dns_tree, hf_dns_transaction_id, NullTVB, offset + DNS_ID, 2, id); strcpy(buf, val_to_str(flags & F_OPCODE, opcode_vals, "Unknown operation")); *************** *** 1640,1652 **** decode_enumerated_bitfield(flags, F_RCODE, 2*8, rcode_vals, "%s")); } ! proto_tree_add_item(dns_tree, hf_dns_count_questions, NullTVB, offset + DNS_QUEST, 2, quest); ! proto_tree_add_item(dns_tree, hf_dns_count_answers, NullTVB, offset + DNS_ANS, 2, ans); ! proto_tree_add_item(dns_tree, hf_dns_count_auth_rr, NullTVB, offset + DNS_AUTH, 2, auth); ! proto_tree_add_item(dns_tree, hf_dns_count_add_rr, NullTVB, offset + DNS_ADD, 2, add); } --- 1640,1652 ---- decode_enumerated_bitfield(flags, F_RCODE, 2*8, rcode_vals, "%s")); } ! proto_tree_add_uint(dns_tree, hf_dns_count_questions, NullTVB, offset + DNS_QUEST, 2, quest); ! proto_tree_add_uint(dns_tree, hf_dns_count_answers, NullTVB, offset + DNS_ANS, 2, ans); ! proto_tree_add_uint(dns_tree, hf_dns_count_auth_rr, NullTVB, offset + DNS_AUTH, 2, auth); ! proto_tree_add_uint(dns_tree, hf_dns_count_add_rr, NullTVB, offset + DNS_ADD, 2, add); } Index: packet-eigrp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-eigrp.c,v retrieving revision 1.3 diff -c -r1.3 packet-eigrp.c *** packet-eigrp.c 2000/05/30 03:35:51 1.3 --- packet-eigrp.c 2000/05/30 10:37:22 *************** *** 104,110 **** val_to_str( ih.eigrp_opcode, eigrp_opcode_vals, "Unknown (0x%04x)")); if (tree) { ! ti = proto_tree_add_item(tree, proto_eigrp, NullTVB, offset, END_OF_FRAME, NULL); eigrp_tree = proto_item_add_subtree(ti, ett_eigrp); proto_tree_add_text(eigrp_tree, NullTVB, offset, 1, "Version: %u", ih.eigrp_version); --- 104,110 ---- val_to_str( ih.eigrp_opcode, eigrp_opcode_vals, "Unknown (0x%04x)")); if (tree) { ! ti = proto_tree_add_item(tree, proto_eigrp, NullTVB, offset, END_OF_FRAME, FALSE); eigrp_tree = proto_item_add_subtree(ti, ett_eigrp); proto_tree_add_text(eigrp_tree, NullTVB, offset, 1, "Version: %u", ih.eigrp_version); Index: packet-esis.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-esis.c,v retrieving revision 1.3 diff -c -r1.3 packet-esis.c *** packet-esis.c 2000/05/11 08:15:07 1.3 --- packet-esis.c 2000/05/30 10:37:23 *************** *** 319,333 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_esis, NullTVB, offset, END_OF_FRAME, NULL ); esis_tree = proto_item_add_subtree(ti, ett_esis); ! proto_tree_add_item( esis_tree, hf_esis_nlpi, NullTVB, offset, 1, ehdr->esis_nlpi ); ! proto_tree_add_item( esis_tree, hf_esis_length, NullTVB, offset + 1, 1, ehdr->esis_length ); ! proto_tree_add_item( esis_tree, hf_esis_version, NullTVB, offset + 2, 1, ehdr->esis_version ); ! proto_tree_add_item( esis_tree, hf_esis_reserved, NullTVB, offset + 3, 1, ehdr->esis_reserved ); pdu_type_string = val_to_str(ehdr->esis_type&OSI_PDU_TYPE_MASK, --- 319,333 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_esis, NullTVB, offset, END_OF_FRAME, FALSE); esis_tree = proto_item_add_subtree(ti, ett_esis); ! proto_tree_add_uint( esis_tree, hf_esis_nlpi, NullTVB, offset, 1, ehdr->esis_nlpi ); ! proto_tree_add_uint( esis_tree, hf_esis_length, NullTVB, offset + 1, 1, ehdr->esis_length ); ! proto_tree_add_uint( esis_tree, hf_esis_version, NullTVB, offset + 2, 1, ehdr->esis_version ); ! proto_tree_add_uint( esis_tree, hf_esis_reserved, NullTVB, offset + 3, 1, ehdr->esis_reserved ); pdu_type_string = val_to_str(ehdr->esis_type&OSI_PDU_TYPE_MASK, Index: packet-eth.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-eth.c,v retrieving revision 1.41 diff -c -r1.41 packet-eth.c *** packet-eth.c 2000/05/19 05:29:44 1.41 --- packet-eth.c 2000/05/30 10:37:24 *************** *** 223,236 **** fh_tree = proto_item_add_subtree(ti, ett_ieee8023); ! proto_tree_add_item(fh_tree, hf_eth_dst, tvb, 0, 6, dst); ! proto_tree_add_item(fh_tree, hf_eth_src, tvb, 6, 6, src); /* add items for eth.addr filter */ ! proto_tree_add_item_hidden(fh_tree, hf_eth_addr, tvb, 0, 6, dst); ! proto_tree_add_item_hidden(fh_tree, hf_eth_addr, tvb, 6, 6, src); ! proto_tree_add_item(fh_tree, hf_eth_len, tvb, 12, 2, length); } /* Convert the LLC length from the 802.3 header to a total --- 223,236 ---- fh_tree = proto_item_add_subtree(ti, ett_ieee8023); ! proto_tree_add_ether(fh_tree, hf_eth_dst, tvb, 0, 6, dst); ! proto_tree_add_ether(fh_tree, hf_eth_src, tvb, 6, 6, src); /* add items for eth.addr filter */ ! proto_tree_add_ether_hidden(fh_tree, hf_eth_addr, tvb, 0, 6, dst); ! proto_tree_add_ether_hidden(fh_tree, hf_eth_addr, tvb, 6, 6, src); ! proto_tree_add_uint(fh_tree, hf_eth_len, tvb, 12, 2, length); } /* Convert the LLC length from the 802.3 header to a total *************** *** 254,264 **** fh_tree = proto_item_add_subtree(ti, ett_ether2); ! proto_tree_add_item(fh_tree, hf_eth_dst, tvb, 0, 6, dst); ! proto_tree_add_item(fh_tree, hf_eth_src, tvb, 6, 6, src); /* add items for eth.addr filter */ ! proto_tree_add_item_hidden(fh_tree, hf_eth_addr, tvb, 0, 6, dst); ! proto_tree_add_item_hidden(fh_tree, hf_eth_addr, tvb, 6, 6, src); } } eth_offset += ETH_HEADER_SIZE; --- 254,264 ---- fh_tree = proto_item_add_subtree(ti, ett_ether2); ! proto_tree_add_ether(fh_tree, hf_eth_dst, tvb, 0, 6, dst); ! proto_tree_add_ether(fh_tree, hf_eth_src, tvb, 6, 6, src); /* add items for eth.addr filter */ ! proto_tree_add_ether_hidden(fh_tree, hf_eth_addr, tvb, 0, 6, dst); ! proto_tree_add_ether_hidden(fh_tree, hf_eth_addr, tvb, 6, 6, src); } } eth_offset += ETH_HEADER_SIZE; *************** *** 298,304 **** trailer_length = tvb_length(trailer_tvb); if (trailer_length > 0) { ptr = tvb_get_ptr(trailer_tvb, 0, trailer_length); ! proto_tree_add_item(fh_tree, hf_eth_trailer, tvb, ETH_HEADER_SIZE + etype, trailer_length, ptr); } } --- 298,304 ---- trailer_length = tvb_length(trailer_tvb); if (trailer_length > 0) { ptr = tvb_get_ptr(trailer_tvb, 0, trailer_length); ! proto_tree_add_bytes(fh_tree, hf_eth_trailer, tvb, ETH_HEADER_SIZE + etype, trailer_length, ptr); } } Index: packet-ethertype.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ethertype.c,v retrieving revision 1.4 diff -c -r1.4 packet-ethertype.c *** packet-ethertype.c 2000/05/19 04:54:33 1.4 --- packet-ethertype.c 2000/05/30 10:37:24 *************** *** 97,103 **** /* Add to proto_tree */ if (tree) { ! proto_tree_add_item(fh_tree, item_id, tvb, offset_after_etype - 2, 2, etype); } next_tvb = tvb_new_subset(tvb, offset_after_etype, -1, -1); --- 97,103 ---- /* Add to proto_tree */ if (tree) { ! proto_tree_add_uint(fh_tree, item_id, tvb, offset_after_etype - 2, 2, etype); } next_tvb = tvb_new_subset(tvb, offset_after_etype, -1, -1); Index: packet-fddi.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-fddi.c,v retrieving revision 1.35 diff -c -r1.35 packet-fddi.c *** packet-fddi.c 2000/05/28 22:02:16 1.35 --- packet-fddi.c 2000/05/30 10:37:25 *************** *** 279,285 **** ti = proto_tree_add_protocol_format(tree, proto_fddi, tvb, 0, FDDI_HEADER_SIZE, "Fiber Distributed Data Interface, %s", fc_str); fh_tree = proto_item_add_subtree(ti, ett_fddi); ! proto_tree_add_item(fh_tree, hf_fddi_fc, tvb, FDDI_P_FC, 1, fc); } /* Extract the destination address, possibly bit-swapping it. */ --- 279,285 ---- ti = proto_tree_add_protocol_format(tree, proto_fddi, tvb, 0, FDDI_HEADER_SIZE, "Fiber Distributed Data Interface, %s", fc_str); fh_tree = proto_item_add_subtree(ti, ett_fddi); ! proto_tree_add_uint(fh_tree, hf_fddi_fc, tvb, FDDI_P_FC, 1, fc); } /* Extract the destination address, possibly bit-swapping it. */ *************** *** 295,306 **** SET_ADDRESS(&pi.dst, AT_ETHER, 6, &dst[0]); if (fh_tree) { ! proto_tree_add_item(fh_tree, hf_fddi_dst, tvb, FDDI_P_DHOST, 6, dst); ! proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_DHOST, 6, dst); /* hide some bit-swapped mac address fields in the proto_tree, just in case */ ! proto_tree_add_item_hidden(fh_tree, hf_fddi_dst, tvb, FDDI_P_DHOST, 6, dst_swapped); ! proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_DHOST, 6, dst_swapped); } /* Extract the source address, possibly bit-swapping it. */ --- 295,306 ---- SET_ADDRESS(&pi.dst, AT_ETHER, 6, &dst[0]); if (fh_tree) { ! proto_tree_add_ether(fh_tree, hf_fddi_dst, tvb, FDDI_P_DHOST, 6, dst); ! proto_tree_add_ether_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_DHOST, 6, dst); /* hide some bit-swapped mac address fields in the proto_tree, just in case */ ! proto_tree_add_ether_hidden(fh_tree, hf_fddi_dst, tvb, FDDI_P_DHOST, 6, dst_swapped); ! proto_tree_add_ether_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_DHOST, 6, dst_swapped); } /* Extract the source address, possibly bit-swapping it. */ *************** *** 316,327 **** SET_ADDRESS(&pi.src, AT_ETHER, 6, &src[0]); if (fh_tree) { ! proto_tree_add_item(fh_tree, hf_fddi_src, tvb, FDDI_P_SHOST, 6, src); ! proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_SHOST, 6, src); /* hide some bit-swapped mac address fields in the proto_tree, just in case */ ! proto_tree_add_item_hidden(fh_tree, hf_fddi_src, tvb, FDDI_P_SHOST, 6, src_swapped); ! proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_SHOST, 6, src_swapped); } next_tvb = tvb_new_subset(tvb, FDDI_HEADER_SIZE, -1, -1); --- 316,327 ---- SET_ADDRESS(&pi.src, AT_ETHER, 6, &src[0]); if (fh_tree) { ! proto_tree_add_ether(fh_tree, hf_fddi_src, tvb, FDDI_P_SHOST, 6, src); ! proto_tree_add_ether_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_SHOST, 6, src); /* hide some bit-swapped mac address fields in the proto_tree, just in case */ ! proto_tree_add_ether_hidden(fh_tree, hf_fddi_src, tvb, FDDI_P_SHOST, 6, src_swapped); ! proto_tree_add_ether_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_SHOST, 6, src_swapped); } next_tvb = tvb_new_subset(tvb, FDDI_HEADER_SIZE, -1, -1); Index: packet-ftp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ftp.c,v retrieving revision 1.15 diff -c -r1.15 packet-ftp.c *** packet-ftp.c 2000/05/11 08:15:08 1.15 --- packet-ftp.c 2000/05/30 10:37:25 *************** *** 108,121 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_ftp, NullTVB, offset, END_OF_FRAME, NULL); ftp_tree = proto_item_add_subtree(ti, ett_ftp); if (pi.match_port == pi.destport) { /* Request */ ! proto_tree_add_item_hidden(ftp_tree, hf_ftp_request, NullTVB, offset, i1, TRUE); ! proto_tree_add_item_hidden(ftp_tree, hf_ftp_response, NullTVB, offset, i1, FALSE); proto_tree_add_string_format(ftp_tree, hf_ftp_request_command, NullTVB, offset, i1, rr, "Request: %s", rr); --- 108,121 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_ftp, NullTVB, offset, END_OF_FRAME, FALSE); ftp_tree = proto_item_add_subtree(ti, ett_ftp); if (pi.match_port == pi.destport) { /* Request */ ! proto_tree_add_boolean_hidden(ftp_tree, hf_ftp_request, NullTVB, offset, i1, TRUE); ! proto_tree_add_boolean_hidden(ftp_tree, hf_ftp_response, NullTVB, offset, i1, FALSE); proto_tree_add_string_format(ftp_tree, hf_ftp_request_command, NullTVB, offset, i1, rr, "Request: %s", rr); *************** *** 125,133 **** } else { ! proto_tree_add_item_hidden(ftp_tree, hf_ftp_request, NullTVB, offset, i1, FALSE); ! proto_tree_add_item_hidden(ftp_tree, hf_ftp_response, NullTVB, offset, i1, TRUE); proto_tree_add_uint_format(ftp_tree, hf_ftp_response_code, NullTVB, offset, i1, --- 125,133 ---- } else { ! proto_tree_add_boolean_hidden(ftp_tree, hf_ftp_request, NullTVB, offset, i1, FALSE); ! proto_tree_add_boolean_hidden(ftp_tree, hf_ftp_response, NullTVB, offset, i1, TRUE); proto_tree_add_uint_format(ftp_tree, hf_ftp_response_code, NullTVB, offset, i1, Index: packet-giop.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-giop.c,v retrieving revision 1.13 diff -c -r1.13 packet-giop.c *** packet-giop.c 2000/05/11 08:15:09 1.13 --- packet-giop.c 2000/05/30 10:37:27 *************** *** 271,277 **** if (tree) { ti = proto_tree_add_item(tree, proto_giop, NullTVB, offset, ! GIOP_HEADER_SIZE + message_size, NULL); clnp_tree = proto_item_add_subtree(ti, ett_giop); proto_tree_add_text(clnp_tree, NullTVB, offset, 4, "Magic number: %s", GIOP_MAGIC); --- 271,277 ---- if (tree) { ti = proto_tree_add_item(tree, proto_giop, NullTVB, offset, ! GIOP_HEADER_SIZE + message_size, FALSE); clnp_tree = proto_item_add_subtree(ti, ett_giop); proto_tree_add_text(clnp_tree, NullTVB, offset, 4, "Magic number: %s", GIOP_MAGIC); *************** *** 310,316 **** (header.message_type == MessageError) ? "MessageError" : (header.message_type == Fragment) ? "Fragment" : "?"); ! proto_tree_add_item(clnp_tree, hf_giop_message_size, NullTVB, offset + 8, 4, message_size); --- 310,316 ---- (header.message_type == MessageError) ? "MessageError" : (header.message_type == Fragment) ? "Fragment" : "?"); ! proto_tree_add_uint(clnp_tree, hf_giop_message_size, NullTVB, offset + 8, 4, message_size); Index: packet-gre.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-gre.c,v retrieving revision 1.21 diff -c -r1.21 packet-gre.c *** packet-gre.c 2000/05/25 07:42:24 1.21 --- packet-gre.c 2000/05/30 10:37:27 *************** *** 132,138 **** offset += sizeof(flags_and_ver); ! proto_tree_add_item(gre_tree, hf_gre_proto, NullTVB, offset, sizeof(type), type); offset += sizeof(type); if (flags_and_ver & GH_B_C || flags_and_ver & GH_B_R) { --- 132,138 ---- offset += sizeof(flags_and_ver); ! proto_tree_add_uint(gre_tree, hf_gre_proto, NullTVB, offset, sizeof(type), type); offset += sizeof(type); if (flags_and_ver & GH_B_C || flags_and_ver & GH_B_R) { Index: packet-h1.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-h1.c,v retrieving revision 1.8 diff -c -r1.8 packet-h1.c *** packet-h1.c 2000/05/11 08:15:09 1.8 --- packet-h1.c 2000/05/30 10:37:28 *************** *** 122,132 **** col_add_str (fd, COL_INFO, "S5: "); if (tree) { ! ti = proto_tree_add_item (tree, proto_h1, NullTVB, offset, 16, NULL); h1_tree = proto_item_add_subtree (ti, ett_h1); ! proto_tree_add_item (h1_tree, hf_h1_header, NullTVB, offset, 2, pd[offset] * 0x100 + pd[offset + 1]); ! proto_tree_add_item (h1_tree, hf_h1_len, NullTVB, offset + 2, 1, pd[offset + 2]); } --- 122,132 ---- col_add_str (fd, COL_INFO, "S5: "); if (tree) { ! ti = proto_tree_add_item (tree, proto_h1, NullTVB, offset, 16, FALSE); h1_tree = proto_item_add_subtree (ti, ett_h1); ! proto_tree_add_uint (h1_tree, hf_h1_header, NullTVB, offset, 2, pd[offset] * 0x100 + pd[offset + 1]); ! proto_tree_add_uint (h1_tree, hf_h1_len, NullTVB, offset + 2, 1, pd[offset + 2]); } *************** *** 137,151 **** case OPCODE_BLOCK: if (h1_tree) { ! ti = proto_tree_add_item (h1_tree, hf_h1_opfield, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); opcode_tree = proto_item_add_subtree (ti, ett_opcode); ! proto_tree_add_item (opcode_tree, hf_h1_oplen, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); ! proto_tree_add_item (opcode_tree, hf_h1_opcode, NullTVB, offset + position + 2, 1, pd[offset + position + 2]); } --- 137,151 ---- case OPCODE_BLOCK: if (h1_tree) { ! ti = proto_tree_add_uint (h1_tree, hf_h1_opfield, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); opcode_tree = proto_item_add_subtree (ti, ett_opcode); ! proto_tree_add_uint (opcode_tree, hf_h1_oplen, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); ! proto_tree_add_uint (opcode_tree, hf_h1_opcode, NullTVB, offset + position + 2, 1, pd[offset + position + 2]); } *************** *** 159,183 **** case REQUEST_BLOCK: if (h1_tree) { ! ti = proto_tree_add_item (h1_tree, hf_h1_requestblock, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); org_tree = proto_item_add_subtree (ti, ett_org); ! proto_tree_add_item (org_tree, hf_h1_requestlen, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); ! proto_tree_add_item (org_tree, hf_h1_org, NullTVB, offset + position + 2, 1, pd[offset + position + 2]); ! proto_tree_add_item (org_tree, hf_h1_dbnr, NullTVB, offset + position + 3, 1, pd[offset + position + 3]); ! proto_tree_add_item (org_tree, hf_h1_dwnr, NullTVB, offset + position + 4, 2, pd[offset + position + 4] * 0x100 + pd[offset + position + 5]); ! proto_tree_add_item (org_tree, hf_h1_dlen, NullTVB, offset + position + 6, 2, pd[offset + position + 6] * 0x100 + pd[offset + position + 7]); --- 159,183 ---- case REQUEST_BLOCK: if (h1_tree) { ! ti = proto_tree_add_uint (h1_tree, hf_h1_requestblock, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); org_tree = proto_item_add_subtree (ti, ett_org); ! proto_tree_add_uint (org_tree, hf_h1_requestlen, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); ! proto_tree_add_uint (org_tree, hf_h1_org, NullTVB, offset + position + 2, 1, pd[offset + position + 2]); ! proto_tree_add_uint (org_tree, hf_h1_dbnr, NullTVB, offset + position + 3, 1, pd[offset + position + 3]); ! proto_tree_add_uint (org_tree, hf_h1_dwnr, NullTVB, offset + position + 4, 2, pd[offset + position + 4] * 0x100 + pd[offset + position + 5]); ! proto_tree_add_int (org_tree, hf_h1_dlen, NullTVB, offset + position + 6, 2, pd[offset + position + 6] * 0x100 + pd[offset + position + 7]); *************** *** 199,213 **** case RESPONSE_BLOCK: if (h1_tree) { ! ti = proto_tree_add_item (h1_tree, hf_h1_response, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); response_tree = proto_item_add_subtree (ti, ett_response); ! proto_tree_add_item (response_tree, hf_h1_response_len, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); ! proto_tree_add_item (response_tree, hf_h1_response_value, NullTVB, offset + position + 2, 1, pd[offset + position + 2]); } --- 199,213 ---- case RESPONSE_BLOCK: if (h1_tree) { ! ti = proto_tree_add_uint (h1_tree, hf_h1_response, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); response_tree = proto_item_add_subtree (ti, ett_response); ! proto_tree_add_uint (response_tree, hf_h1_response_len, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); ! proto_tree_add_uint (response_tree, hf_h1_response_value, NullTVB, offset + position + 2, 1, pd[offset + position + 2]); } *************** *** 221,233 **** case EMPTY_BLOCK: if (h1_tree) { ! ti = proto_tree_add_item (h1_tree, hf_h1_empty, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); empty_tree = proto_item_add_subtree (ti, ett_empty); ! proto_tree_add_item (empty_tree, hf_h1_empty_len, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); } --- 221,233 ---- case EMPTY_BLOCK: if (h1_tree) { ! ti = proto_tree_add_uint (h1_tree, hf_h1_empty, NullTVB, offset + position, pd[offset + position + 1], pd[offset + position]); empty_tree = proto_item_add_subtree (ti, ett_empty); ! proto_tree_add_uint (empty_tree, hf_h1_empty_len, NullTVB, offset + position + 1, 1, pd[offset + position + 1]); } Index: packet-hsrp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-hsrp.c,v retrieving revision 1.4 diff -c -r1.4 packet-hsrp.c *** packet-hsrp.c 2000/05/11 08:15:10 1.4 --- packet-hsrp.c 2000/05/30 10:37:28 *************** *** 120,126 **** return; } ! ti = proto_tree_add_item(tree, proto_hsrp, NullTVB, offset, END_OF_FRAME, NULL); hsrp_tree = proto_item_add_subtree(ti, ett_hsrp); proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Version: %u", hsrp.version); --- 120,126 ---- return; } ! ti = proto_tree_add_item(tree, proto_hsrp, NullTVB, offset, END_OF_FRAME, FALSE); hsrp_tree = proto_item_add_subtree(ti, ett_hsrp); proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Version: %u", hsrp.version); Index: packet-http.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-http.c,v retrieving revision 1.18 diff -c -r1.18 packet-http.c *** packet-http.c 2000/05/11 08:15:10 1.18 --- packet-http.c 2000/05/30 10:37:29 *************** *** 92,98 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_http, NullTVB, offset, END_OF_FRAME, NULL); http_tree = proto_item_add_subtree(ti, ett_http); while (data < dataend) { --- 92,98 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_http, NullTVB, offset, END_OF_FRAME, FALSE); http_tree = proto_item_add_subtree(ti, ett_http); while (data < dataend) { *************** *** 189,200 **** switch (http_type) { case HTTP_RESPONSE: ! proto_tree_add_item_hidden(http_tree, hf_http_response, NullTVB, 0, 0, 1); break; case HTTP_REQUEST: ! proto_tree_add_item_hidden(http_tree, hf_http_request, NullTVB, 0, 0, 1); break; --- 189,200 ---- switch (http_type) { case HTTP_RESPONSE: ! proto_tree_add_boolean_hidden(http_tree, hf_http_response, NullTVB, 0, 0, 1); break; case HTTP_REQUEST: ! proto_tree_add_boolean_hidden(http_tree, hf_http_request, NullTVB, 0, 0, 1); break; Index: packet-icmpv6.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-icmpv6.c,v retrieving revision 1.16 diff -c -r1.16 packet-icmpv6.c *** packet-icmpv6.c 2000/05/11 08:15:10 1.16 --- packet-icmpv6.c 2000/05/30 10:37:30 *************** *** 345,351 **** if (tree) { /* !!! specify length */ ! ti = proto_tree_add_item(tree, proto_icmpv6, NullTVB, offset, len, NULL); icmp6_tree = proto_item_add_subtree(ti, ett_icmpv6); proto_tree_add_uint_format(icmp6_tree, hf_icmpv6_type, NullTVB, --- 345,351 ---- if (tree) { /* !!! specify length */ ! ti = proto_tree_add_item(tree, proto_icmpv6, NullTVB, offset, len, FALSE); icmp6_tree = proto_item_add_subtree(ti, ett_icmpv6); proto_tree_add_uint_format(icmp6_tree, hf_icmpv6_type, NullTVB, *************** *** 358,364 **** dp->icmp6_code, "Code: 0x%02x (%s)", dp->icmp6_code, codename); } ! proto_tree_add_item(icmp6_tree, hf_icmpv6_checksum, NullTVB, offset + offsetof(struct icmp6_hdr, icmp6_cksum), 2, (guint16)htons(dp->icmp6_cksum)); --- 358,364 ---- dp->icmp6_code, "Code: 0x%02x (%s)", dp->icmp6_code, codename); } ! proto_tree_add_uint(icmp6_tree, hf_icmpv6_checksum, NullTVB, offset + offsetof(struct icmp6_hdr, icmp6_cksum), 2, (guint16)htons(dp->icmp6_cksum)); Index: packet-icp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-icp.c,v retrieving revision 1.7 diff -c -r1.7 packet-icp.c *** packet-icp.c 2000/05/11 08:15:10 1.7 --- packet-icp.c 2000/05/30 10:37:31 *************** *** 209,216 **** if (tree) { ! ti = proto_tree_add_item(tree,proto_icp , NullTVB,offset,fd->pkt_len-offset, ! NULL); icp_tree = proto_item_add_subtree(ti, ett_icp); proto_tree_add_uint_format(icp_tree,hf_icp_opcode, NullTVB, offset, 1, --- 209,215 ---- if (tree) { ! ti = proto_tree_add_item(tree,proto_icp, NullTVB,offset,fd->pkt_len-offset, FALSE); icp_tree = proto_item_add_subtree(ti, ett_icp); proto_tree_add_uint_format(icp_tree,hf_icp_opcode, NullTVB, offset, 1, Index: packet-imap.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-imap.c,v retrieving revision 1.6 diff -c -r1.6 packet-imap.c *** packet-imap.c 2000/05/11 08:15:11 1.6 --- packet-imap.c 2000/05/30 10:37:31 *************** *** 91,102 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_imap, NullTVB, offset, END_OF_FRAME, NULL); imap_tree = proto_item_add_subtree(ti, ett_imap); if (pi.match_port == pi.destport) { /* Request */ ! proto_tree_add_item_hidden(imap_tree, hf_imap_request, NullTVB, offset, i1, TRUE); proto_tree_add_text(imap_tree, NullTVB, offset, i1, "Request Tag: %s", rr); proto_tree_add_text(imap_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Request: %s", rd); --- 91,102 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_imap, NullTVB, offset, END_OF_FRAME, FALSE); imap_tree = proto_item_add_subtree(ti, ett_imap); if (pi.match_port == pi.destport) { /* Request */ ! proto_tree_add_boolean_hidden(imap_tree, hf_imap_request, NullTVB, offset, i1, TRUE); proto_tree_add_text(imap_tree, NullTVB, offset, i1, "Request Tag: %s", rr); proto_tree_add_text(imap_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Request: %s", rd); *************** *** 104,110 **** } else { ! proto_tree_add_item_hidden(imap_tree, hf_imap_response, NullTVB, offset, i1, TRUE); proto_tree_add_text(imap_tree, NullTVB, offset, i1, "Response Tag: %s", rr); proto_tree_add_text(imap_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Response: %s", rd); --- 104,110 ---- } else { ! proto_tree_add_boolean_hidden(imap_tree, hf_imap_response, NullTVB, offset, i1, TRUE); proto_tree_add_text(imap_tree, NullTVB, offset, i1, "Response Tag: %s", rr); proto_tree_add_text(imap_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Response: %s", rd); Index: packet-ip.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ip.c,v retrieving revision 1.89 diff -c -r1.89 packet-ip.c *** packet-ip.c 2000/05/28 22:59:18 1.89 --- packet-ip.c 2000/05/30 10:37:35 *************** *** 861,870 **** break; } ! ti = proto_tree_add_item(tree, proto_ip, NullTVB, offset, hlen, NULL); ip_tree = proto_item_add_subtree(ti, ett_ip); ! proto_tree_add_item(ip_tree, hf_ip_version, NullTVB, offset, 1, hi_nibble(iph.ip_v_hl)); proto_tree_add_uint_format(ip_tree, hf_ip_hdr_len, NullTVB, offset, 1, hlen, "Header length: %u bytes", hlen); --- 861,870 ---- break; } ! ti = proto_tree_add_item(tree, proto_ip, NullTVB, offset, hlen, FALSE); ip_tree = proto_item_add_subtree(ti, ett_ip); ! proto_tree_add_uint(ip_tree, hf_ip_version, NullTVB, offset, 1, hi_nibble(iph.ip_v_hl)); proto_tree_add_uint_format(ip_tree, hf_ip_hdr_len, NullTVB, offset, 1, hlen, "Header length: %u bytes", hlen); *************** *** 875,914 **** "Unknown DSCP")); field_tree = proto_item_add_subtree(tf, ett_ip_dsfield); ! proto_tree_add_item(field_tree, hf_ip_dsfield_dscp, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_item(field_tree, hf_ip_dsfield_cu, NullTVB, offset + 1, 1, iph.ip_tos); } else { tf = proto_tree_add_uint_format(ip_tree, hf_ip_tos, NullTVB, offset + 1, 1, iph.ip_tos, "Type of service: 0x%02x (%s)", iph.ip_tos, val_to_str( IPTOS_TOS(iph.ip_tos), iptos_vals, "Unknown") ); field_tree = proto_item_add_subtree(tf, ett_ip_tos); ! proto_tree_add_item(field_tree, hf_ip_tos_precedence, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_item(field_tree, hf_ip_tos_delay, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_item(field_tree, hf_ip_tos_throughput, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_item(field_tree, hf_ip_tos_reliability, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_item(field_tree, hf_ip_tos_cost, NullTVB, offset + 1, 1, iph.ip_tos); } ! proto_tree_add_item(ip_tree, hf_ip_len, NullTVB, offset + 2, 2, iph.ip_len); ! proto_tree_add_item(ip_tree, hf_ip_id, NullTVB, offset + 4, 2, iph.ip_id); flags = (iph.ip_off & (IP_DF|IP_MF)) >> 12; ! tf = proto_tree_add_item(ip_tree, hf_ip_flags, NullTVB, offset + 6, 1, flags); field_tree = proto_item_add_subtree(tf, ett_ip_off); ! proto_tree_add_item(field_tree, hf_ip_flags_df, NullTVB, offset + 6, 1, flags), ! proto_tree_add_item(field_tree, hf_ip_flags_mf, NullTVB, offset + 6, 1, flags), ! proto_tree_add_item(ip_tree, hf_ip_frag_offset, NullTVB, offset + 6, 2, (iph.ip_off & IP_OFFSET)*8); ! proto_tree_add_item(ip_tree, hf_ip_ttl, NullTVB, offset + 8, 1, iph.ip_ttl); proto_tree_add_uint_format(ip_tree, hf_ip_proto, NullTVB, offset + 9, 1, iph.ip_p, "Protocol: %s (0x%02x)", ipprotostr(iph.ip_p), iph.ip_p); proto_tree_add_uint_format(ip_tree, hf_ip_checksum, NullTVB, offset + 10, 2, iph.ip_sum, "Header checksum: 0x%04x (%s)", iph.ip_sum, ip_checksum_state((e_ip*) &pd[offset])); ! proto_tree_add_item(ip_tree, hf_ip_src, NullTVB, offset + 12, 4, iph.ip_src); ! proto_tree_add_item(ip_tree, hf_ip_dst, NullTVB, offset + 16, 4, iph.ip_dst); ! proto_tree_add_item_hidden(ip_tree, hf_ip_addr, NullTVB, offset + 12, 4, iph.ip_src); ! proto_tree_add_item_hidden(ip_tree, hf_ip_addr, NullTVB, offset + 16, 4, iph.ip_dst); /* Decode IP options, if any. */ if (hlen > sizeof (e_ip)) { --- 875,914 ---- "Unknown DSCP")); field_tree = proto_item_add_subtree(tf, ett_ip_dsfield); ! proto_tree_add_uint(field_tree, hf_ip_dsfield_dscp, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_uint(field_tree, hf_ip_dsfield_cu, NullTVB, offset + 1, 1, iph.ip_tos); } else { tf = proto_tree_add_uint_format(ip_tree, hf_ip_tos, NullTVB, offset + 1, 1, iph.ip_tos, "Type of service: 0x%02x (%s)", iph.ip_tos, val_to_str( IPTOS_TOS(iph.ip_tos), iptos_vals, "Unknown") ); field_tree = proto_item_add_subtree(tf, ett_ip_tos); ! proto_tree_add_uint(field_tree, hf_ip_tos_precedence, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_boolean(field_tree, hf_ip_tos_delay, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_boolean(field_tree, hf_ip_tos_throughput, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_boolean(field_tree, hf_ip_tos_reliability, NullTVB, offset + 1, 1, iph.ip_tos); ! proto_tree_add_boolean(field_tree, hf_ip_tos_cost, NullTVB, offset + 1, 1, iph.ip_tos); } ! proto_tree_add_uint(ip_tree, hf_ip_len, NullTVB, offset + 2, 2, iph.ip_len); ! proto_tree_add_uint(ip_tree, hf_ip_id, NullTVB, offset + 4, 2, iph.ip_id); flags = (iph.ip_off & (IP_DF|IP_MF)) >> 12; ! tf = proto_tree_add_uint(ip_tree, hf_ip_flags, NullTVB, offset + 6, 1, flags); field_tree = proto_item_add_subtree(tf, ett_ip_off); ! proto_tree_add_boolean(field_tree, hf_ip_flags_df, NullTVB, offset + 6, 1, flags), ! proto_tree_add_boolean(field_tree, hf_ip_flags_mf, NullTVB, offset + 6, 1, flags), ! proto_tree_add_uint(ip_tree, hf_ip_frag_offset, NullTVB, offset + 6, 2, (iph.ip_off & IP_OFFSET)*8); ! proto_tree_add_uint(ip_tree, hf_ip_ttl, NullTVB, offset + 8, 1, iph.ip_ttl); proto_tree_add_uint_format(ip_tree, hf_ip_proto, NullTVB, offset + 9, 1, iph.ip_p, "Protocol: %s (0x%02x)", ipprotostr(iph.ip_p), iph.ip_p); proto_tree_add_uint_format(ip_tree, hf_ip_checksum, NullTVB, offset + 10, 2, iph.ip_sum, "Header checksum: 0x%04x (%s)", iph.ip_sum, ip_checksum_state((e_ip*) &pd[offset])); ! proto_tree_add_ipv4(ip_tree, hf_ip_src, NullTVB, offset + 12, 4, iph.ip_src); ! proto_tree_add_ipv4(ip_tree, hf_ip_dst, NullTVB, offset + 16, 4, iph.ip_dst); ! proto_tree_add_ipv4_hidden(ip_tree, hf_ip_addr, NullTVB, offset + 12, 4, iph.ip_src); ! proto_tree_add_ipv4_hidden(ip_tree, hf_ip_addr, NullTVB, offset + 16, 4, iph.ip_dst); /* Decode IP options, if any. */ if (hlen > sizeof (e_ip)) { *************** *** 1093,1099 **** col_add_str(fd, COL_INFO, type_str); if (tree) { ! ti = proto_tree_add_item(tree, proto_icmp, NullTVB, offset, 4, NULL); icmp_tree = proto_item_add_subtree(ti, ett_icmp); proto_tree_add_uint_format(icmp_tree, hf_icmp_type, NullTVB, offset, 1, ih.icmp_type, --- 1093,1099 ---- col_add_str(fd, COL_INFO, type_str); if (tree) { ! ti = proto_tree_add_item(tree, proto_icmp, NullTVB, offset, 4, FALSE); icmp_tree = proto_item_add_subtree(ti, ett_icmp); proto_tree_add_uint_format(icmp_tree, hf_icmp_type, NullTVB, offset, 1, ih.icmp_type, *************** *** 1103,1109 **** ih.icmp_code, "Code: %u %s", ih.icmp_code, code_str); ! proto_tree_add_item(icmp_tree, hf_icmp_checksum, NullTVB, offset + 2, 2, cksum); /* Decode the second 4 bytes of the packet. */ --- 1103,1109 ---- ih.icmp_code, "Code: %u %s", ih.icmp_code, code_str); ! proto_tree_add_uint(icmp_tree, hf_icmp_checksum, NullTVB, offset + 2, 2, cksum); /* Decode the second 4 bytes of the packet. */ *************** *** 1252,1260 **** if (check_col(fd, COL_INFO)) col_add_str(fd, COL_INFO, type_str); if (tree) { ! ti = proto_tree_add_item(tree, proto_igmp, NullTVB, offset, 8, NULL); igmp_tree = proto_item_add_subtree(ti, ett_igmp); ! proto_tree_add_item(igmp_tree, hf_igmp_version, NullTVB, offset, 1, hi_nibble(ih.igmp_v_t)); proto_tree_add_uint_format(igmp_tree, hf_igmp_type, NullTVB, offset , 1, lo_nibble(ih.igmp_v_t), --- 1252,1260 ---- if (check_col(fd, COL_INFO)) col_add_str(fd, COL_INFO, type_str); if (tree) { ! ti = proto_tree_add_item(tree, proto_igmp, NullTVB, offset, 8, FALSE); igmp_tree = proto_item_add_subtree(ti, ett_igmp); ! proto_tree_add_uint(igmp_tree, hf_igmp_version, NullTVB, offset, 1, hi_nibble(ih.igmp_v_t)); proto_tree_add_uint_format(igmp_tree, hf_igmp_type, NullTVB, offset , 1, lo_nibble(ih.igmp_v_t), *************** *** 1264,1272 **** ih.igmp_unused, "Unused: 0x%02x", ih.igmp_unused); ! proto_tree_add_item(igmp_tree, hf_igmp_checksum, NullTVB, offset + 2, 2, cksum); ! proto_tree_add_item(igmp_tree, hf_igmp_group, NullTVB, offset + 4, 4, ih.igmp_gaddr); } } --- 1264,1272 ---- ih.igmp_unused, "Unused: 0x%02x", ih.igmp_unused); ! proto_tree_add_uint(igmp_tree, hf_igmp_checksum, NullTVB, offset + 2, 2, cksum); ! proto_tree_add_ipv4(igmp_tree, hf_igmp_group, NullTVB, offset + 4, 4, ih.igmp_gaddr); } } Index: packet-ipp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ipp.c,v retrieving revision 1.9 diff -c -r1.9 packet-ipp.c *** packet-ipp.c 2000/05/11 08:15:13 1.9 --- packet-ipp.c 2000/05/30 10:37:36 *************** *** 177,183 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_ipp, NullTVB, offset, END_OF_FRAME, NULL); ipp_tree = proto_item_add_subtree(ti, ett_ipp); proto_tree_add_text(ipp_tree, NullTVB, offset, 2, "Version: %u.%u", --- 177,183 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_ipp, NullTVB, offset, END_OF_FRAME, FALSE); ipp_tree = proto_item_add_subtree(ti, ett_ipp); proto_tree_add_text(ipp_tree, NullTVB, offset, 2, "Version: %u.%u", Index: packet-ipsec.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ipsec.c,v retrieving revision 1.15 diff -c -r1.15 packet-ipsec.c *** packet-ipsec.c 2000/05/11 08:15:14 1.15 --- packet-ipsec.c 2000/05/30 10:37:37 *************** *** 120,136 **** if (tree) { /* !!! specify length */ ! ti = proto_tree_add_item(tree, proto_ah, NullTVB, offset, advance, NULL); ah_tree = proto_item_add_subtree(ti, ett_ah); proto_tree_add_text(ah_tree, NullTVB, offset + offsetof(struct newah, ah_nxt), 1, "Next Header: %s (0x%02x)", ipprotostr(ah.ah_nxt), ah.ah_nxt); proto_tree_add_text(ah_tree, NullTVB, offset + offsetof(struct newah, ah_len), 1, "Length: %d", ah.ah_len << 2); ! proto_tree_add_item(ah_tree, hf_ah_spi, NullTVB, offset + offsetof(struct newah, ah_spi), 4, (guint32)ntohl(ah.ah_spi)); ! proto_tree_add_item(ah_tree, hf_ah_sequence, NullTVB, offset + offsetof(struct newah, ah_seq), 4, (guint32)ntohl(ah.ah_seq)); proto_tree_add_text(ah_tree, NullTVB, offset + sizeof(ah), (ah.ah_len - 1) << 2, --- 120,136 ---- if (tree) { /* !!! specify length */ ! ti = proto_tree_add_item(tree, proto_ah, NullTVB, offset, advance, FALSE); ah_tree = proto_item_add_subtree(ti, ett_ah); proto_tree_add_text(ah_tree, NullTVB, offset + offsetof(struct newah, ah_nxt), 1, "Next Header: %s (0x%02x)", ipprotostr(ah.ah_nxt), ah.ah_nxt); proto_tree_add_text(ah_tree, NullTVB, offset + offsetof(struct newah, ah_len), 1, "Length: %d", ah.ah_len << 2); ! proto_tree_add_uint(ah_tree, hf_ah_spi, NullTVB, offset + offsetof(struct newah, ah_spi), 4, (guint32)ntohl(ah.ah_spi)); ! proto_tree_add_uint(ah_tree, hf_ah_sequence, NullTVB, offset + offsetof(struct newah, ah_seq), 4, (guint32)ntohl(ah.ah_seq)); proto_tree_add_text(ah_tree, NullTVB, offset + sizeof(ah), (ah.ah_len - 1) << 2, *************** *** 166,177 **** * (ie none) */ if(tree) { ! ti = proto_tree_add_item(tree, proto_esp, NullTVB, offset, END_OF_FRAME, NULL); esp_tree = proto_item_add_subtree(ti, ett_esp); ! proto_tree_add_item(esp_tree, hf_esp_spi, NullTVB, offset + offsetof(struct newesp, esp_spi), 4, (guint32)ntohl(esp.esp_spi)); ! proto_tree_add_item(esp_tree, hf_esp_sequence, NullTVB, offset + offsetof(struct newesp, esp_seq), 4, (guint32)ntohl(esp.esp_seq)); dissect_data(pd, offset + sizeof(struct newesp), fd, esp_tree); --- 166,177 ---- * (ie none) */ if(tree) { ! ti = proto_tree_add_item(tree, proto_esp, NullTVB, offset, END_OF_FRAME, FALSE); esp_tree = proto_item_add_subtree(ti, ett_esp); ! proto_tree_add_uint(esp_tree, hf_esp_spi, NullTVB, offset + offsetof(struct newesp, esp_spi), 4, (guint32)ntohl(esp.esp_spi)); ! proto_tree_add_uint(esp_tree, hf_esp_sequence, NullTVB, offset + offsetof(struct newesp, esp_seq), 4, (guint32)ntohl(esp.esp_seq)); dissect_data(pd, offset + sizeof(struct newesp), fd, esp_tree); *************** *** 209,227 **** */ if (tree) { ti = proto_tree_add_item(tree, proto_ipcomp, NullTVB, offset, END_OF_FRAME, ! NULL); ipcomp_tree = proto_item_add_subtree(ti, ett_ipcomp); proto_tree_add_text(ipcomp_tree, NullTVB, offset + offsetof(struct ipcomp, comp_nxt), 1, "Next Header: %s (0x%02x)", ipprotostr(ipcomp.comp_nxt), ipcomp.comp_nxt); ! proto_tree_add_item(ipcomp_tree, hf_ipcomp_flags, NullTVB, offset + offsetof(struct ipcomp, comp_flags), 1, ipcomp.comp_flags); p = val_to_str(ntohs(ipcomp.comp_cpi), cpi2val, ""); if (p[0] == '\0') { ! proto_tree_add_item(ipcomp_tree, hf_ipcomp_cpi, NullTVB, offset + offsetof(struct ipcomp, comp_cpi), 2, ntohs(ipcomp.comp_cpi)); } else { --- 209,227 ---- */ if (tree) { ti = proto_tree_add_item(tree, proto_ipcomp, NullTVB, offset, END_OF_FRAME, ! FALSE); ipcomp_tree = proto_item_add_subtree(ti, ett_ipcomp); proto_tree_add_text(ipcomp_tree, NullTVB, offset + offsetof(struct ipcomp, comp_nxt), 1, "Next Header: %s (0x%02x)", ipprotostr(ipcomp.comp_nxt), ipcomp.comp_nxt); ! proto_tree_add_uint(ipcomp_tree, hf_ipcomp_flags, NullTVB, offset + offsetof(struct ipcomp, comp_flags), 1, ipcomp.comp_flags); p = val_to_str(ntohs(ipcomp.comp_cpi), cpi2val, ""); if (p[0] == '\0') { ! proto_tree_add_uint(ipcomp_tree, hf_ipcomp_cpi, NullTVB, offset + offsetof(struct ipcomp, comp_cpi), 2, ntohs(ipcomp.comp_cpi)); } else { Index: packet-ipv6.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ipv6.c,v retrieving revision 1.37 diff -c -r1.37 packet-ipv6.c *** packet-ipv6.c 2000/05/24 07:52:31 1.37 --- packet-ipv6.c 2000/05/30 10:37:38 *************** *** 268,283 **** if (tree) { /* !!! specify length */ ! ti = proto_tree_add_item(tree, proto_ipv6, NullTVB, offset, 40, NULL); ipv6_tree = proto_item_add_subtree(ti, ett_ipv6); /* !!! warning: version also contains 4 Bit priority */ ! proto_tree_add_item(ipv6_tree, hf_ipv6_version, NullTVB, offset + offsetof(struct ip6_hdr, ip6_vfc), 1, (ipv6.ip6_vfc >> 4) & 0x0f); ! proto_tree_add_item(ipv6_tree, hf_ipv6_class, NullTVB, offset + offsetof(struct ip6_hdr, ip6_flow), 4, (guint8)((ntohl(ipv6.ip6_flow) >> 20) & 0xff)); --- 268,283 ---- if (tree) { /* !!! specify length */ ! ti = proto_tree_add_item(tree, proto_ipv6, NullTVB, offset, 40, FALSE); ipv6_tree = proto_item_add_subtree(ti, ett_ipv6); /* !!! warning: version also contains 4 Bit priority */ ! proto_tree_add_uint(ipv6_tree, hf_ipv6_version, NullTVB, offset + offsetof(struct ip6_hdr, ip6_vfc), 1, (ipv6.ip6_vfc >> 4) & 0x0f); ! proto_tree_add_uint(ipv6_tree, hf_ipv6_class, NullTVB, offset + offsetof(struct ip6_hdr, ip6_flow), 4, (guint8)((ntohl(ipv6.ip6_flow) >> 20) & 0xff)); *************** *** 291,297 **** "Flowlabel: 0x%05lx", (unsigned long)(ntohl(ipv6.ip6_flow & IPV6_FLOWLABEL_MASK))); ! proto_tree_add_item(ipv6_tree, hf_ipv6_plen, NullTVB, offset + offsetof(struct ip6_hdr, ip6_plen), 2, ntohs(ipv6.ip6_plen)); --- 291,297 ---- "Flowlabel: 0x%05lx", (unsigned long)(ntohl(ipv6.ip6_flow & IPV6_FLOWLABEL_MASK))); ! proto_tree_add_uint(ipv6_tree, hf_ipv6_plen, NullTVB, offset + offsetof(struct ip6_hdr, ip6_plen), 2, ntohs(ipv6.ip6_plen)); *************** *** 301,307 **** "Next header: %s (0x%02x)", ipprotostr(ipv6.ip6_nxt), ipv6.ip6_nxt); ! proto_tree_add_item(ipv6_tree, hf_ipv6_hlim, NullTVB, offset + offsetof(struct ip6_hdr, ip6_hlim), 1, ipv6.ip6_hlim); --- 301,307 ---- "Next header: %s (0x%02x)", ipprotostr(ipv6.ip6_nxt), ipv6.ip6_nxt); ! proto_tree_add_uint(ipv6_tree, hf_ipv6_hlim, NullTVB, offset + offsetof(struct ip6_hdr, ip6_hlim), 1, ipv6.ip6_hlim); *************** *** 363,369 **** } #ifdef TEST_FINALHDR ! proto_tree_add_item_hidden(ipv6_tree, hf_ipv6_final, NullTVB, poffset, 1, nxt); #endif if (frag) { /* fragmented */ --- 363,369 ---- } #ifdef TEST_FINALHDR ! proto_tree_add_uint_hidden(ipv6_tree, hf_ipv6_final, NullTVB, poffset, 1, nxt); #endif if (frag) { /* fragmented */ Index: packet-ipx.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ipx.c,v retrieving revision 1.60 diff -c -r1.60 packet-ipx.c *** packet-ipx.c 2000/05/30 03:35:51 1.60 --- packet-ipx.c 2000/05/30 10:37:40 *************** *** 333,353 **** ipx_checksum = pntohs(&pd[offset]); ipx_hops = pd[offset+4]; ! ti = proto_tree_add_item(tree, proto_ipx, NullTVB, offset, 30, NULL); ipx_tree = proto_item_add_subtree(ti, ett_ipx); ! proto_tree_add_item(ipx_tree, hf_ipx_checksum, NullTVB, offset, 2, ipx_checksum); proto_tree_add_uint_format(ipx_tree, hf_ipx_len, NullTVB, offset+2, 2, ipx_length, "Length: %d bytes", ipx_length); proto_tree_add_uint_format(ipx_tree, hf_ipx_hops, NullTVB, offset+4, 1, ipx_hops, "Transport Control: %d hops", ipx_hops); ! proto_tree_add_item(ipx_tree, hf_ipx_packet_type, NullTVB, offset+5, 1, ipx_type); ! proto_tree_add_item(ipx_tree, hf_ipx_dnet, NullTVB, offset+6, 4, ipx_dnet_val); ! proto_tree_add_item(ipx_tree, hf_ipx_dnode, NullTVB, offset+10, 6, ipx_dnode); proto_tree_add_uint_format(ipx_tree, hf_ipx_dsocket, NullTVB, offset+16, 2, ipx_dsocket, "Destination Socket: %s (0x%04X)", port_text(ipx_dsocket), ipx_dsocket); ! proto_tree_add_item(ipx_tree, hf_ipx_snet, NullTVB, offset+18, 4, ipx_snet_val); ! proto_tree_add_item(ipx_tree, hf_ipx_snode, NullTVB, offset+22, 6, ipx_snode); proto_tree_add_uint_format(ipx_tree, hf_ipx_ssocket, NullTVB, offset+28, 2, ipx_ssocket, "Source Socket: %s (0x%04X)", port_text(ipx_ssocket), ipx_ssocket); --- 333,353 ---- ipx_checksum = pntohs(&pd[offset]); ipx_hops = pd[offset+4]; ! ti = proto_tree_add_item(tree, proto_ipx, NullTVB, offset, 30, FALSE); ipx_tree = proto_item_add_subtree(ti, ett_ipx); ! proto_tree_add_uint(ipx_tree, hf_ipx_checksum, NullTVB, offset, 2, ipx_checksum); proto_tree_add_uint_format(ipx_tree, hf_ipx_len, NullTVB, offset+2, 2, ipx_length, "Length: %d bytes", ipx_length); proto_tree_add_uint_format(ipx_tree, hf_ipx_hops, NullTVB, offset+4, 1, ipx_hops, "Transport Control: %d hops", ipx_hops); ! proto_tree_add_uint(ipx_tree, hf_ipx_packet_type, NullTVB, offset+5, 1, ipx_type); ! proto_tree_add_ipxnet(ipx_tree, hf_ipx_dnet, NullTVB, offset+6, 4, ipx_dnet_val); ! proto_tree_add_ether(ipx_tree, hf_ipx_dnode, NullTVB, offset+10, 6, ipx_dnode); proto_tree_add_uint_format(ipx_tree, hf_ipx_dsocket, NullTVB, offset+16, 2, ipx_dsocket, "Destination Socket: %s (0x%04X)", port_text(ipx_dsocket), ipx_dsocket); ! proto_tree_add_ipxnet(ipx_tree, hf_ipx_snet, NullTVB, offset+18, 4, ipx_snet_val); ! proto_tree_add_ether(ipx_tree, hf_ipx_snode, NullTVB, offset+22, 6, ipx_snode); proto_tree_add_uint_format(ipx_tree, hf_ipx_ssocket, NullTVB, offset+28, 2, ipx_ssocket, "Source Socket: %s (0x%04X)", port_text(ipx_ssocket), ipx_ssocket); *************** *** 430,436 **** col_add_str(fd, COL_INFO, "SPX"); if (tree) { ! ti = proto_tree_add_item(tree, proto_spx, NullTVB, offset, 12, NULL); spx_tree = proto_item_add_subtree(ti, ett_spx); proto_tree_add_uint_format(spx_tree, hf_spx_connection_control, NullTVB, --- 430,436 ---- col_add_str(fd, COL_INFO, "SPX"); if (tree) { ! ti = proto_tree_add_item(tree, proto_spx, NullTVB, offset, 12, FALSE); spx_tree = proto_item_add_subtree(ti, ett_spx); proto_tree_add_uint_format(spx_tree, hf_spx_connection_control, NullTVB, *************** *** 447,469 **** spx_datastream(pd[offset+1]), pd[offset+1]); ! proto_tree_add_item(spx_tree, hf_spx_src_id, NullTVB, offset+2, 2, pntohs( &pd[offset+2] )); ! proto_tree_add_item(spx_tree, hf_spx_dst_id, NullTVB, offset+4, 2, pntohs( &pd[offset+4] )); ! proto_tree_add_item(spx_tree, hf_spx_seq_nr, NullTVB, offset+6, 2, pntohs( &pd[offset+6] ) ); ! proto_tree_add_item(spx_tree, hf_spx_ack_nr, NullTVB, offset+8, 2, pntohs( &pd[offset+8] ) ); ! proto_tree_add_item(spx_tree, hf_spx_all_nr, NullTVB, offset+10, 2, pntohs( &pd[offset+10] ) ); --- 447,469 ---- spx_datastream(pd[offset+1]), pd[offset+1]); ! proto_tree_add_uint(spx_tree, hf_spx_src_id, NullTVB, offset+2, 2, pntohs( &pd[offset+2] )); ! proto_tree_add_uint(spx_tree, hf_spx_dst_id, NullTVB, offset+4, 2, pntohs( &pd[offset+4] )); ! proto_tree_add_uint(spx_tree, hf_spx_seq_nr, NullTVB, offset+6, 2, pntohs( &pd[offset+6] ) ); ! proto_tree_add_uint(spx_tree, hf_spx_ack_nr, NullTVB, offset+8, 2, pntohs( &pd[offset+8] ) ); ! proto_tree_add_uint(spx_tree, hf_spx_all_nr, NullTVB, offset+10, 2, pntohs( &pd[offset+10] ) ); *************** *** 498,508 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_ipxmsg, NullTVB, offset, END_OF_FRAME, NULL); msg_tree = proto_item_add_subtree(ti, ett_ipxmsg); ! proto_tree_add_item(msg_tree, hf_msg_conn, NullTVB, offset, 1, conn_number); ! proto_tree_add_item(msg_tree, hf_msg_sigchar, NullTVB, offset+1, 1, sig_char); } } --- 498,508 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_ipxmsg, NullTVB, offset, END_OF_FRAME, FALSE); msg_tree = proto_item_add_subtree(ti, ett_ipxmsg); ! proto_tree_add_uint(msg_tree, hf_msg_conn, NullTVB, offset, 1, conn_number); ! proto_tree_add_uint(msg_tree, hf_msg_sigchar, NullTVB, offset+1, 1, sig_char); } } *************** *** 534,540 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_ipxrip, NullTVB, offset, END_OF_FRAME, NULL); rip_tree = proto_item_add_subtree(ti, ett_ipxrip); if (operation < 2) { --- 534,540 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_ipxrip, NullTVB, offset, END_OF_FRAME, FALSE); rip_tree = proto_item_add_subtree(ti, ett_ipxrip); if (operation < 2) { *************** *** 542,552 **** "RIP packet type: %s", rip_type[operation]); if (operation == 0) { ! proto_tree_add_item_hidden(rip_tree, hf_ipxrip_request, NullTVB, offset, 2, 1); } else { ! proto_tree_add_item_hidden(rip_tree, hf_ipxrip_response, NullTVB, offset, 2, 1); } --- 542,552 ---- "RIP packet type: %s", rip_type[operation]); if (operation == 0) { ! proto_tree_add_boolean_hidden(rip_tree, hf_ipxrip_request, NullTVB, offset, 2, 1); } else { ! proto_tree_add_boolean_hidden(rip_tree, hf_ipxrip_response, NullTVB, offset, 2, 1); } *************** *** 682,698 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_sap, NullTVB, offset, END_OF_FRAME, NULL); sap_tree = proto_item_add_subtree(ti, ett_ipxsap); if (query.query_type >= 1 && query.query_type <= 4) { proto_tree_add_text(sap_tree, NullTVB, offset, 2, sap_type[query.query_type - 1]); if ((query.query_type - 1) % 2) { ! proto_tree_add_item_hidden(sap_tree, hf_sap_response, NullTVB, offset, 2, 1); } else { ! proto_tree_add_item_hidden(sap_tree, hf_sap_request, NullTVB, offset, 2, 1); } --- 682,698 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_sap, NullTVB, offset, END_OF_FRAME, FALSE); sap_tree = proto_item_add_subtree(ti, ett_ipxsap); if (query.query_type >= 1 && query.query_type <= 4) { proto_tree_add_text(sap_tree, NullTVB, offset, 2, sap_type[query.query_type - 1]); if ((query.query_type - 1) % 2) { ! proto_tree_add_boolean_hidden(sap_tree, hf_sap_response, NullTVB, offset, 2, 1); } else { ! proto_tree_add_boolean_hidden(sap_tree, hf_sap_request, NullTVB, offset, 2, 1); } Index: packet-irc.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-irc.c,v retrieving revision 1.5 diff -c -r1.5 packet-irc.c *** packet-irc.c 2000/05/11 08:15:15 1.5 --- packet-irc.c 2000/05/30 10:37:40 *************** *** 55,61 **** static void dissect_irc_request(proto_tree *tree, char *line, int offset, int len) { ! proto_tree_add_item_hidden(tree, hf_irc_request, NullTVB, offset, len, TRUE); proto_tree_add_text(tree, NullTVB, offset, len, "Request Line: %s", line); --- 55,61 ---- static void dissect_irc_request(proto_tree *tree, char *line, int offset, int len) { ! proto_tree_add_boolean_hidden(tree, hf_irc_request, NullTVB, offset, len, TRUE); proto_tree_add_text(tree, NullTVB, offset, len, "Request Line: %s", line); *************** *** 64,70 **** static void dissect_irc_response(proto_tree *tree, char *line, int offset, int len) { ! proto_tree_add_item_hidden(tree, hf_irc_response, NullTVB, offset, len, TRUE); proto_tree_add_text(tree, NullTVB, offset, len, "Response Line: %s", line); --- 64,70 ---- static void dissect_irc_response(proto_tree *tree, char *line, int offset, int len) { ! proto_tree_add_boolean_hidden(tree, hf_irc_response, NullTVB, offset, len, TRUE); proto_tree_add_text(tree, NullTVB, offset, len, "Response Line: %s", line); *************** *** 89,95 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_irc, NullTVB, offset, END_OF_FRAME, NULL); irc_tree = proto_item_add_subtree(ti, ett_irc); tmpline = (char *)g_malloc( pi.captured_len ); --- 89,95 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_irc, NullTVB, offset, END_OF_FRAME, FALSE); irc_tree = proto_item_add_subtree(ti, ett_irc); tmpline = (char *)g_malloc( pi.captured_len ); Index: packet-isakmp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-isakmp.c,v retrieving revision 1.21 diff -c -r1.21 packet-isakmp.c *** packet-isakmp.c 2000/05/22 17:59:53 1.21 --- packet-isakmp.c 2000/05/30 10:37:43 *************** *** 366,372 **** proto_item * ti; proto_tree * isakmp_tree; ! ti = proto_tree_add_item(tree, proto_isakmp, NullTVB, offset, len, NULL); isakmp_tree = proto_item_add_subtree(ti, ett_isakmp); proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->icookie), --- 366,372 ---- proto_item * ti; proto_tree * isakmp_tree; ! ti = proto_tree_add_item(tree, proto_isakmp, NullTVB, offset, len, FALSE); isakmp_tree = proto_item_add_subtree(ti, ett_isakmp); proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->icookie), Index: packet-isis-clv.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-isis-clv.c,v retrieving revision 1.4 diff -c -r1.4 packet-isis-clv.c *** packet-isis-clv.c 2000/05/11 08:15:16 1.4 --- packet-isis-clv.c 2000/05/30 10:37:44 *************** *** 212,218 **** } memcpy(&addr, &pd[offset], sizeof(addr)); if ( tree ) { ! proto_tree_add_item(tree, tree_id, NullTVB, offset, 4, addr); } offset += 4; length -= 4; --- 212,218 ---- } memcpy(&addr, &pd[offset], sizeof(addr)); if ( tree ) { ! proto_tree_add_ipv4(tree, tree_id, NullTVB, offset, 4, addr); } offset += 4; length -= 4; Index: packet-isis-hello.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-isis-hello.c,v retrieving revision 1.7 diff -c -r1.7 packet-isis-hello.c *** packet-isis-hello.c 2000/05/11 08:15:16 1.7 --- packet-isis-hello.c 2000/05/30 10:37:45 *************** *** 437,443 **** if (tree) { ti = proto_tree_add_item(tree, proto_isis_hello, NullTVB, ! offset, END_OF_FRAME, NULL); hello_tree = proto_item_add_subtree(ti, ett_isis_hello); proto_tree_add_uint_format(hello_tree, hf_isis_hello_circuit_reserved, --- 437,443 ---- if (tree) { ti = proto_tree_add_item(tree, proto_isis_hello, NullTVB, ! offset, END_OF_FRAME, FALSE); hello_tree = proto_item_add_subtree(ti, ett_isis_hello); proto_tree_add_uint_format(hello_tree, hf_isis_hello_circuit_reserved, *************** *** 453,468 **** offset + 1, 6, ihp->isis_hello_source_id, "SystemID{ Sender of PDU } : %s", print_system_id( pd + offset + 1, 6 ) ); ! proto_tree_add_item(hello_tree, hf_isis_hello_holding_timer, NullTVB, offset + 7, 2,pntohs(&ihp->isis_hello_holding_timer[0])); ! proto_tree_add_item(hello_tree, hf_isis_hello_pdu_length, NullTVB, offset + 9, 2,pntohs(&ihp->isis_hello_pdu_length[0])); proto_tree_add_uint_format(hello_tree, hf_isis_hello_priority_reserved, NullTVB, offset + 11, 1, ihp->isis_hello_priority_reserved, "Priority : %d, reserved(0x%02x == 0)", ihp->isis_hello_priority, ihp->isis_hello_preserved ); if (hello_type == ISIS_TYPE_PTP_HELLO) { ! proto_tree_add_item(hello_tree, hf_isis_hello_local_circuit_id, NullTVB, offset + 12, 1, ihp->isis_hello_lan_id[0] ); } else { proto_tree_add_string_format(hello_tree, hf_isis_hello_lan_id, NullTVB, --- 453,468 ---- offset + 1, 6, ihp->isis_hello_source_id, "SystemID{ Sender of PDU } : %s", print_system_id( pd + offset + 1, 6 ) ); ! proto_tree_add_uint(hello_tree, hf_isis_hello_holding_timer, NullTVB, offset + 7, 2,pntohs(&ihp->isis_hello_holding_timer[0])); ! proto_tree_add_uint(hello_tree, hf_isis_hello_pdu_length, NullTVB, offset + 9, 2,pntohs(&ihp->isis_hello_pdu_length[0])); proto_tree_add_uint_format(hello_tree, hf_isis_hello_priority_reserved, NullTVB, offset + 11, 1, ihp->isis_hello_priority_reserved, "Priority : %d, reserved(0x%02x == 0)", ihp->isis_hello_priority, ihp->isis_hello_preserved ); if (hello_type == ISIS_TYPE_PTP_HELLO) { ! proto_tree_add_uint(hello_tree, hf_isis_hello_local_circuit_id, NullTVB, offset + 12, 1, ihp->isis_hello_lan_id[0] ); } else { proto_tree_add_string_format(hello_tree, hf_isis_hello_lan_id, NullTVB, Index: packet-isis-lsp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-isis-lsp.c,v retrieving revision 1.6 diff -c -r1.6 packet-isis-lsp.c *** packet-isis-lsp.c 2000/05/11 08:15:16 1.6 --- packet-isis-lsp.c 2000/05/30 10:37:47 *************** *** 791,810 **** if (tree) { ti = proto_tree_add_item(tree, proto_isis_lsp, NullTVB, ! offset, END_OF_FRAME, NULL); lsp_tree = proto_item_add_subtree(ti, ett_isis_lsp); ! proto_tree_add_item(lsp_tree, hf_isis_lsp_pdu_length, NullTVB, offset, 2, pntohs(&ilp->isis_lsp_pdu_length)); ! proto_tree_add_item(lsp_tree, hf_isis_lsp_remaining_life, NullTVB, offset + 2, 2, pntohs(&ilp->isis_lsp_remaining_life)); isis_lsp_decode_lsp_id("LSP ID", lsp_tree, offset + 4, &ilp->isis_lsp_id ); ! proto_tree_add_item(lsp_tree, hf_isis_lsp_sequence_number, NullTVB, offset + 12, 4, pntohl(&ilp->isis_lsp_sequence_number)); /* XXX -> we could validate the cksum here! */ ! proto_tree_add_item(lsp_tree, hf_isis_lsp_checksum, NullTVB, offset + 16, 2, pntohs(&ilp->isis_lsp_checksum)); /* --- 791,810 ---- if (tree) { ti = proto_tree_add_item(tree, proto_isis_lsp, NullTVB, ! offset, END_OF_FRAME, FALSE); lsp_tree = proto_item_add_subtree(ti, ett_isis_lsp); ! proto_tree_add_uint(lsp_tree, hf_isis_lsp_pdu_length, NullTVB, offset, 2, pntohs(&ilp->isis_lsp_pdu_length)); ! proto_tree_add_uint(lsp_tree, hf_isis_lsp_remaining_life, NullTVB, offset + 2, 2, pntohs(&ilp->isis_lsp_remaining_life)); isis_lsp_decode_lsp_id("LSP ID", lsp_tree, offset + 4, &ilp->isis_lsp_id ); ! proto_tree_add_uint(lsp_tree, hf_isis_lsp_sequence_number, NullTVB, offset + 12, 4, pntohl(&ilp->isis_lsp_sequence_number)); /* XXX -> we could validate the cksum here! */ ! proto_tree_add_uint(lsp_tree, hf_isis_lsp_checksum, NullTVB, offset + 16, 2, pntohs(&ilp->isis_lsp_checksum)); /* Index: packet-isis-snp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-isis-snp.c,v retrieving revision 1.4 diff -c -r1.4 packet-isis-snp.c *** packet-isis-snp.c 2000/05/11 08:15:17 1.4 --- packet-isis-snp.c 2000/05/30 10:37:48 *************** *** 254,262 **** if (tree) { ti = proto_tree_add_item(tree, proto_isis_csnp, NullTVB, ! offset, END_OF_FRAME, NULL); csnp_tree = proto_item_add_subtree(ti, ett_isis_csnp); ! proto_tree_add_item(csnp_tree, hf_isis_csnp_pdu_length, NullTVB, offset, 2, pntohs(&ilp->isis_csnp_pdu_length)); proto_tree_add_text(csnp_tree, NullTVB, offset + 2, 7, "Source id : %s", --- 254,262 ---- if (tree) { ti = proto_tree_add_item(tree, proto_isis_csnp, NullTVB, ! offset, END_OF_FRAME, FALSE); csnp_tree = proto_item_add_subtree(ti, ett_isis_csnp); ! proto_tree_add_uint(csnp_tree, hf_isis_csnp_pdu_length, NullTVB, offset, 2, pntohs(&ilp->isis_csnp_pdu_length)); proto_tree_add_text(csnp_tree, NullTVB, offset + 2, 7, "Source id : %s", *************** *** 322,330 **** if (tree) { ti = proto_tree_add_item(tree, proto_isis_psnp, NullTVB, ! offset, END_OF_FRAME, NULL); psnp_tree = proto_item_add_subtree(ti, ett_isis_psnp); ! proto_tree_add_item(psnp_tree, hf_isis_psnp_pdu_length, NullTVB, offset, 2, pntohs(&ilp->isis_psnp_pdu_length)); proto_tree_add_text(psnp_tree, NullTVB, offset + 2, 7, "Source id: %s", --- 322,330 ---- if (tree) { ti = proto_tree_add_item(tree, proto_isis_psnp, NullTVB, ! offset, END_OF_FRAME, FALSE); psnp_tree = proto_item_add_subtree(ti, ett_isis_psnp); ! proto_tree_add_uint(psnp_tree, hf_isis_psnp_pdu_length, NullTVB, offset, 2, pntohs(&ilp->isis_psnp_pdu_length)); proto_tree_add_text(psnp_tree, NullTVB, offset + 2, 7, "Source id: %s", Index: packet-isis.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-isis.c,v retrieving revision 1.9 diff -c -r1.9 packet-isis.c *** packet-isis.c 2000/05/11 08:15:17 1.9 --- packet-isis.c 2000/05/30 10:37:48 *************** *** 160,174 **** if (tree) { ti = proto_tree_add_item(tree, proto_isis, NullTVB, offset, ! END_OF_FRAME, NULL ); isis_tree = proto_item_add_subtree(ti, ett_isis); ! proto_tree_add_item(isis_tree, hf_isis_irpd, NullTVB, offset, 1, ihdr->isis_irpd ); ! proto_tree_add_item(isis_tree, hf_isis_header_length, NullTVB, offset + 1, 1, ihdr->isis_header_length ); ! proto_tree_add_item(isis_tree, hf_isis_version, NullTVB, offset + 2, 1, ihdr->isis_version ); ! proto_tree_add_item(isis_tree, hf_isis_system_id_length, NullTVB, offset + 3, 1, ihdr->isis_system_id_len ); proto_tree_add_uint_format(isis_tree, hf_isis_type, NullTVB, offset + 4, 1, ihdr->isis_type, --- 160,174 ---- if (tree) { ti = proto_tree_add_item(tree, proto_isis, NullTVB, offset, ! END_OF_FRAME, FALSE ); isis_tree = proto_item_add_subtree(ti, ett_isis); ! proto_tree_add_uint(isis_tree, hf_isis_irpd, NullTVB, offset, 1, ihdr->isis_irpd ); ! proto_tree_add_uint(isis_tree, hf_isis_header_length, NullTVB, offset + 1, 1, ihdr->isis_header_length ); ! proto_tree_add_uint(isis_tree, hf_isis_version, NullTVB, offset + 2, 1, ihdr->isis_version ); ! proto_tree_add_uint(isis_tree, hf_isis_system_id_length, NullTVB, offset + 3, 1, ihdr->isis_system_id_len ); proto_tree_add_uint_format(isis_tree, hf_isis_type, NullTVB, offset + 4, 1, ihdr->isis_type, *************** *** 178,188 **** (ihdr->isis_type & ISIS_R8_MASK) ? "1" : "0", (ihdr->isis_type & ISIS_R7_MASK) ? "1" : "0", (ihdr->isis_type & ISIS_R6_MASK) ? "1" : "0"); ! proto_tree_add_item(isis_tree, hf_isis_version2, NullTVB, offset + 5, 1, ihdr->isis_version2 ); ! proto_tree_add_item(isis_tree, hf_isis_reserved, NullTVB, offset + 6, 1, ihdr->isis_reserved ); ! proto_tree_add_item(isis_tree, hf_isis_max_area_adr, NullTVB, offset + 7, 1, ihdr->isis_max_area_adr ); } --- 178,188 ---- (ihdr->isis_type & ISIS_R8_MASK) ? "1" : "0", (ihdr->isis_type & ISIS_R7_MASK) ? "1" : "0", (ihdr->isis_type & ISIS_R6_MASK) ? "1" : "0"); ! proto_tree_add_uint(isis_tree, hf_isis_version2, NullTVB, offset + 5, 1, ihdr->isis_version2 ); ! proto_tree_add_uint(isis_tree, hf_isis_reserved, NullTVB, offset + 6, 1, ihdr->isis_reserved ); ! proto_tree_add_uint(isis_tree, hf_isis_max_area_adr, NullTVB, offset + 7, 1, ihdr->isis_max_area_adr ); } Index: packet-isl.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-isl.c,v retrieving revision 1.11 diff -c -r1.11 packet-isl.c *** packet-isl.c 2000/05/16 06:21:32 1.11 --- packet-isl.c 2000/05/30 10:37:49 *************** *** 162,187 **** ti = proto_tree_add_protocol_format(tree, proto_isl, NullTVB, offset, ISL_HEADER_SIZE, "ISL"); fh_tree = proto_item_add_subtree(ti, ett_isl); ! proto_tree_add_item(fh_tree, hf_isl_dst, NullTVB, offset+0, 6, &pd[offset+0]); ! proto_tree_add_item_hidden(fh_tree, hf_isl_addr, NullTVB, offset+0, 6, &pd[offset+0]); ! proto_tree_add_item(fh_tree, hf_isl_type, NullTVB, offset+5, 1, pd[offset+5]); switch (type) { case TYPE_ETHER: ! proto_tree_add_item(fh_tree, hf_isl_user_eth, NullTVB, offset+5, 1, pd[offset+5]&0x03); break; default: /* XXX - the spec appears to indicate that the "User" field is used for TYPE_TR to distinguish between types of packets. */ ! proto_tree_add_item(fh_tree, hf_isl_user, NullTVB, offset+5, 1, pd[offset+5]); break; } ! proto_tree_add_item(fh_tree, hf_isl_src, NullTVB, offset+6, 6, &pd[offset+6]); ! proto_tree_add_item_hidden(fh_tree, hf_isl_addr, NullTVB, offset+6, 6, &pd[offset+6]); length = pntohs(&pd[offset+12]); ! proto_tree_add_item(fh_tree, hf_isl_len, NullTVB, offset+12, 2, length); /* This part looks sort of like a SNAP-encapsulated LLC header... */ proto_tree_add_text(fh_tree, NullTVB, offset+14, 1, "DSAP: 0x%X", pd[offset+14]); --- 162,187 ---- ti = proto_tree_add_protocol_format(tree, proto_isl, NullTVB, offset, ISL_HEADER_SIZE, "ISL"); fh_tree = proto_item_add_subtree(ti, ett_isl); ! proto_tree_add_ether(fh_tree, hf_isl_dst, NullTVB, offset+0, 6, &pd[offset+0]); ! proto_tree_add_ether_hidden(fh_tree, hf_isl_addr, NullTVB, offset+0, 6, &pd[offset+0]); ! proto_tree_add_uint(fh_tree, hf_isl_type, NullTVB, offset+5, 1, pd[offset+5]); switch (type) { case TYPE_ETHER: ! proto_tree_add_uint(fh_tree, hf_isl_user_eth, NullTVB, offset+5, 1, pd[offset+5]&0x03); break; default: /* XXX - the spec appears to indicate that the "User" field is used for TYPE_TR to distinguish between types of packets. */ ! proto_tree_add_uint(fh_tree, hf_isl_user, NullTVB, offset+5, 1, pd[offset+5]); break; } ! proto_tree_add_ether(fh_tree, hf_isl_src, NullTVB, offset+6, 6, &pd[offset+6]); ! proto_tree_add_ether_hidden(fh_tree, hf_isl_addr, NullTVB, offset+6, 6, &pd[offset+6]); length = pntohs(&pd[offset+12]); ! proto_tree_add_uint(fh_tree, hf_isl_len, NullTVB, offset+12, 2, length); /* This part looks sort of like a SNAP-encapsulated LLC header... */ proto_tree_add_text(fh_tree, NullTVB, offset+14, 1, "DSAP: 0x%X", pd[offset+14]); *************** *** 190,207 **** /* ...but this is the manufacturer's ID portion of the source address field (which is, admittedly, an OUI). */ ! proto_tree_add_item(fh_tree, hf_isl_hsa, NullTVB, offset+17, 3, pd[offset+17] << 16 | pd[offset+18] << 8 | pd[offset+19]); ! proto_tree_add_item(fh_tree, hf_isl_vlan_id, NullTVB, offset+20, 2, pntohs(&pd[offset+20])); ! proto_tree_add_item(fh_tree, hf_isl_bpdu, NullTVB, offset+20, 2, pntohs(&pd[offset+20])); ! proto_tree_add_item(fh_tree, hf_isl_index, NullTVB, offset+22, 2, pntohs(&pd[offset+22])); /* Now for the CRC, which is at the *end* of the packet. */ if (BYTES_ARE_IN_FRAME(pi.len - 4, 4)) { ! proto_tree_add_item(fh_tree, hf_isl_crc, NullTVB, pi.len - 4, 4, pntohl(&pd[END_OF_FRAME - 4])); } } --- 190,207 ---- /* ...but this is the manufacturer's ID portion of the source address field (which is, admittedly, an OUI). */ ! proto_tree_add_uint(fh_tree, hf_isl_hsa, NullTVB, offset+17, 3, pd[offset+17] << 16 | pd[offset+18] << 8 | pd[offset+19]); ! proto_tree_add_uint(fh_tree, hf_isl_vlan_id, NullTVB, offset+20, 2, pntohs(&pd[offset+20])); ! proto_tree_add_boolean(fh_tree, hf_isl_bpdu, NullTVB, offset+20, 2, pntohs(&pd[offset+20])); ! proto_tree_add_uint(fh_tree, hf_isl_index, NullTVB, offset+22, 2, pntohs(&pd[offset+22])); /* Now for the CRC, which is at the *end* of the packet. */ if (BYTES_ARE_IN_FRAME(pi.len - 4, 4)) { ! proto_tree_add_uint(fh_tree, hf_isl_crc, NullTVB, pi.len - 4, 4, pntohl(&pd[END_OF_FRAME - 4])); } } *************** *** 214,230 **** break; case TYPE_TR: ! proto_tree_add_item(fh_tree, hf_isl_src_vlan_id, NullTVB, offset+24, 2, pntohs(&pd[offset+24])); ! proto_tree_add_item(fh_tree, hf_isl_explorer, NullTVB, offset+24, 2, pntohs(&pd[offset+24])); ! proto_tree_add_item(fh_tree, hf_isl_dst_route_descriptor, NullTVB, offset+26, 2, pntohs(&pd[offset+26])); ! proto_tree_add_item(fh_tree, hf_isl_src_route_descriptor, NullTVB, offset+28, 2, pntohs(&pd[offset+28])); ! proto_tree_add_item(fh_tree, hf_isl_fcs_not_incl, NullTVB, offset+30, 1, pd[offset+30]); ! proto_tree_add_item(fh_tree, hf_isl_esize, NullTVB, offset+16, 1, pd[offset+30]); next_tvb = tvb_new_subset(pi.compat_top_tvb, offset+31, -1, -1); dissect_tr(next_tvb, &pi, tree); --- 214,230 ---- break; case TYPE_TR: ! proto_tree_add_uint(fh_tree, hf_isl_src_vlan_id, NullTVB, offset+24, 2, pntohs(&pd[offset+24])); ! proto_tree_add_boolean(fh_tree, hf_isl_explorer, NullTVB, offset+24, 2, pntohs(&pd[offset+24])); ! proto_tree_add_uint(fh_tree, hf_isl_dst_route_descriptor, NullTVB, offset+26, 2, pntohs(&pd[offset+26])); ! proto_tree_add_uint(fh_tree, hf_isl_src_route_descriptor, NullTVB, offset+28, 2, pntohs(&pd[offset+28])); ! proto_tree_add_boolean(fh_tree, hf_isl_fcs_not_incl, NullTVB, offset+30, 1, pd[offset+30]); ! proto_tree_add_uint(fh_tree, hf_isl_esize, NullTVB, offset+16, 1, pd[offset+30]); next_tvb = tvb_new_subset(pi.compat_top_tvb, offset+31, -1, -1); dissect_tr(next_tvb, &pi, tree); Index: packet-l2tp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-l2tp.c,v retrieving revision 1.9 diff -c -r1.9 packet-l2tp.c *** packet-l2tp.c 2000/05/11 08:15:17 1.9 --- packet-l2tp.c 2000/05/30 10:37:51 *************** *** 336,342 **** col_add_fstr(fd,COL_INFO,textbuffer); } if (tree) { ! ti = proto_tree_add_item(tree,proto_l2tp, NullTVB, offset, length , NULL); l2tp_tree = proto_item_add_subtree(ti, ett_l2tp); proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, NullTVB, offset ,1, rhcode, "Packet Type: %s Tunnel Id=%d Session Id=%d",( CONTROL_BIT(ver) ? control_msg : data_msg) ,tid,cid); --- 336,342 ---- col_add_fstr(fd,COL_INFO,textbuffer); } if (tree) { ! ti = proto_tree_add_item(tree,proto_l2tp, NullTVB, offset, length, FALSE); l2tp_tree = proto_item_add_subtree(ti, ett_l2tp); proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, NullTVB, offset ,1, rhcode, "Packet Type: %s Tunnel Id=%d Session Id=%d",( CONTROL_BIT(ver) ? control_msg : data_msg) ,tid,cid); Index: packet-lapd.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-lapd.c,v retrieving revision 1.9 diff -c -r1.9 packet-lapd.c *** packet-lapd.c 2000/05/29 08:57:37 1.9 --- packet-lapd.c 2000/05/30 10:37:51 *************** *** 122,138 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_lapd, NullTVB, 0, 3, NULL); lapd_tree = proto_item_add_subtree(ti, ett_lapd); ! ti = proto_tree_add_item(lapd_tree, hf_lapd_address, NullTVB, 0, 2, address); addr_tree = proto_item_add_subtree(ti, ett_lapd_address); ! proto_tree_add_item(addr_tree, hf_lapd_sapi, NullTVB, 0, 1, address); ! proto_tree_add_item(addr_tree, hf_lapd_cr, NullTVB, 0, 1, address); ! proto_tree_add_item(addr_tree, hf_lapd_ea1, NullTVB, 0, 1, address); ! proto_tree_add_item(addr_tree, hf_lapd_tei, NullTVB, 1, 1, address); ! proto_tree_add_item(addr_tree, hf_lapd_ea2, NullTVB, 1, 1, address); } else { lapd_tree = NULL; --- 122,138 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_lapd, NullTVB, 0, 3, FALSE); lapd_tree = proto_item_add_subtree(ti, ett_lapd); ! ti = proto_tree_add_uint(lapd_tree, hf_lapd_address, NullTVB, 0, 2, address); addr_tree = proto_item_add_subtree(ti, ett_lapd_address); ! proto_tree_add_uint(addr_tree, hf_lapd_sapi, NullTVB, 0, 1, address); ! proto_tree_add_uint(addr_tree, hf_lapd_cr, NullTVB, 0, 1, address); ! proto_tree_add_uint(addr_tree, hf_lapd_ea1, NullTVB, 0, 1, address); ! proto_tree_add_uint(addr_tree, hf_lapd_tei, NullTVB, 1, 1, address); ! proto_tree_add_uint(addr_tree, hf_lapd_ea2, NullTVB, 1, 1, address); } else { lapd_tree = NULL; Index: packet-ldap.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ldap.c,v retrieving revision 1.11 diff -c -r1.11 packet-ldap.c *** packet-ldap.c 2000/05/12 08:04:29 1.11 --- packet-ldap.c 2000/05/30 10:37:54 *************** *** 152,158 **** *len = length; if (tree) ! proto_tree_add_item(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, length); return 0; } --- 152,158 ---- *len = length; if (tree) ! proto_tree_add_uint(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, length); return 0; } *************** *** 204,210 **** if (tree) { proto_tree *temp_tree = 0; ! temp_tree = proto_tree_add_item(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, integer); if (new_tree) *new_tree = temp_tree; } --- 204,210 ---- if (tree) { proto_tree *temp_tree = 0; ! temp_tree = proto_tree_add_uint(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, integer); if (new_tree) *new_tree = temp_tree; } *************** *** 228,233 **** --- 228,270 ---- return read_integer_value(a, tree, hf_id, new_tree, i, start, length); } + static int read_boolean_value(ASN1_SCK *a, proto_tree *tree, int hf_id, + proto_tree **new_tree, guint *i, const guchar *start, guint length) + { + guint integer = 0; + + asn1_uint32_value_decode(a, length, &integer); + + if (i) + *i = integer; + + if (tree) + { + proto_tree *temp_tree = 0; + temp_tree = proto_tree_add_boolean(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, integer); + if (new_tree) + *new_tree = temp_tree; + } + + return 0; + } + + static int read_boolean(ASN1_SCK *a, proto_tree *tree, int hf_id, + proto_tree **new_tree, guint *i) + { + guint cls, con, tag; + gboolean def; + guint length; + const guchar *start = a->pointer; + + if (asn1_header_decode(a, &cls, &con, &tag, &def, &length) != ASN1_ERR_NOERROR) + return 1; + if (cls != ASN1_UNI || con != ASN1_PRI || tag != ASN1_BOL) + return 1; + + return read_boolean_value(a, tree, hf_id, new_tree, i, start, length); + } + static void read_string_value(ASN1_SCK *a, proto_tree *tree, int hf_id, proto_tree **new_tree, char **s, const guchar *start, guint length) { *************** *** 245,251 **** if (tree) { proto_tree *temp_tree; ! temp_tree = proto_tree_add_item(tree, hf_id, NullTVB, start - a->begin, a->pointer - start, string); if (new_tree) *new_tree = temp_tree; } --- 282,288 ---- if (tree) { proto_tree *temp_tree; ! temp_tree = proto_tree_add_string(tree, hf_id, NullTVB, start - a->begin, a->pointer - start, string); if (new_tree) *new_tree = temp_tree; } *************** *** 535,541 **** proto_tree_add_text(tree, NullTVB, start-a->begin, 0, "Error parsing filter (%d)", ret); } else ! proto_tree_add_item(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, filter); } g_free(filter); --- 572,578 ---- proto_tree_add_text(tree, NullTVB, start-a->begin, 0, "Error parsing filter (%d)", ret); } else ! proto_tree_add_string(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, filter); } g_free(filter); *************** *** 586,592 **** return 1; /* XXX - right return value for an error? */ if (cls != ASN1_CTX) return 1; /* RFCs 1777 and 2251 say these are context-specific types */ ! proto_tree_add_item(tree, hf_ldap_message_bind_auth, NullTVB, start - a->begin, a->pointer - start, tag); switch (tag) { --- 623,629 ---- return 1; /* XXX - right return value for an error? */ if (cls != ASN1_CTX) return 1; /* RFCs 1777 and 2251 say these are context-specific types */ ! proto_tree_add_uint(tree, hf_ldap_message_bind_auth, NullTVB, start - a->begin, a->pointer - start, tag); switch (tag) { *************** *** 620,626 **** read_integer(a, tree, hf_ldap_message_search_deref, 0, 0, ASN1_ENUM); read_integer(a, tree, hf_ldap_message_search_sizeLimit, 0, 0, ASN1_INT); read_integer(a, tree, hf_ldap_message_search_timeLimit, 0, 0, ASN1_INT); ! read_integer(a, tree, hf_ldap_message_search_typesOnly, 0, 0, ASN1_BOL); ret = read_filter(a, tree, hf_ldap_message_search_filter); if (ret != ASN1_ERR_NOERROR) return ret; --- 657,663 ---- read_integer(a, tree, hf_ldap_message_search_deref, 0, 0, ASN1_ENUM); read_integer(a, tree, hf_ldap_message_search_sizeLimit, 0, 0, ASN1_INT); read_integer(a, tree, hf_ldap_message_search_timeLimit, 0, 0, ASN1_INT); ! read_boolean(a, tree, hf_ldap_message_search_typesOnly, 0, 0); ret = read_filter(a, tree, hf_ldap_message_search_filter); if (ret != ASN1_ERR_NOERROR) return ret; *************** *** 704,710 **** read_string(a, tree, hf_ldap_message_dn, 0, 0, ASN1_UNI, ASN1_OTS); read_string(a, tree, hf_ldap_message_modrdn_name, 0, 0, ASN1_UNI, ASN1_OTS); ! read_integer(a, tree, hf_ldap_message_modrdn_delete, 0, 0, ASN1_BOL); if (a->pointer < (start + length)) { /* LDAP V3 Modify DN operation, with newSuperior */ --- 741,747 ---- read_string(a, tree, hf_ldap_message_dn, 0, 0, ASN1_UNI, ASN1_OTS); read_string(a, tree, hf_ldap_message_modrdn_name, 0, 0, ASN1_UNI, ASN1_OTS); ! read_boolean(a, tree, hf_ldap_message_modrdn_delete, 0, 0); if (a->pointer < (start + length)) { /* LDAP V3 Modify DN operation, with newSuperior */ *************** *** 732,738 **** length = 2 + strlen(string1) + strlen(string2); compare = g_malloc0(length); snprintf(compare, length, "%s=%s", string1, string2); ! proto_tree_add_item(tree, hf_ldap_message_compare, NullTVB, start-a->begin, a->pointer-start, compare); g_free(string1); g_free(string2); --- 769,775 ---- length = 2 + strlen(string1) + strlen(string2); compare = g_malloc0(length); snprintf(compare, length, "%s=%s", string1, string2); ! proto_tree_add_string(tree, hf_ldap_message_compare, NullTVB, start-a->begin, a->pointer-start, compare); g_free(string1); g_free(string2); *************** *** 807,813 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_ldap, NullTVB, offset, END_OF_FRAME, NULL); ldap_tree = proto_item_add_subtree(ti, ett_ldap); } --- 844,850 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_ldap, NullTVB, offset, END_OF_FRAME, FALSE); ldap_tree = proto_item_add_subtree(ti, ett_ldap); } *************** *** 862,869 **** if (ldap_tree) { ! proto_tree_add_item_hidden(ldap_tree, hf_ldap_message_id, NullTVB, message_id_start, message_id_length, messageId); ! proto_tree_add_item_hidden(ldap_tree, hf_ldap_message_type, NullTVB, start - a.begin, a.pointer - start, protocolOpTag); ti = proto_tree_add_text(ldap_tree, NullTVB, message_id_start, messageLength, "Message: Id=%u %s", messageId, typestr); msg_tree = proto_item_add_subtree(ti, ett_ldap_message); --- 899,906 ---- if (ldap_tree) { ! proto_tree_add_uint_hidden(ldap_tree, hf_ldap_message_id, NullTVB, message_id_start, message_id_length, messageId); ! proto_tree_add_uint_hidden(ldap_tree, hf_ldap_message_type, NullTVB, start - a.begin, a.pointer - start, protocolOpTag); ti = proto_tree_add_text(ldap_tree, NullTVB, message_id_start, messageLength, "Message: Id=%u %s", messageId, typestr); msg_tree = proto_item_add_subtree(ti, ett_ldap_message); *************** *** 985,996 **** static hf_register_info hf[] = { { &hf_ldap_length, { "Length", "ldap.length", ! FT_INT32, BASE_DEC, NULL, 0x0, "LDAP Length" }}, { &hf_ldap_message_id, { "Message Id", "ldap.message_id", ! FT_INT32, BASE_DEC, NULL, 0x0, "LDAP Message Id" }}, { &hf_ldap_message_type, { "Message Type", "ldap.message_type", --- 1022,1033 ---- static hf_register_info hf[] = { { &hf_ldap_length, { "Length", "ldap.length", ! FT_UINT32, BASE_DEC, NULL, 0x0, "LDAP Length" }}, { &hf_ldap_message_id, { "Message Id", "ldap.message_id", ! FT_UINT32, BASE_DEC, NULL, 0x0, "LDAP Message Id" }}, { &hf_ldap_message_type, { "Message Type", "ldap.message_type", *************** *** 998,1009 **** "LDAP Message Type" }}, { &hf_ldap_message_length, { "Message Length", "ldap.message_length", ! FT_INT32, BASE_DEC, NULL, 0x0, "LDAP Message Length" }}, { &hf_ldap_message_result, { "Result Code", "ldap.result.code", ! FT_INT8, BASE_HEX, result_codes, 0x0, "LDAP Result Code" }}, { &hf_ldap_message_result_matcheddn, { "Matched DN", "ldap.result.matcheddn", --- 1035,1046 ---- "LDAP Message Type" }}, { &hf_ldap_message_length, { "Message Length", "ldap.message_length", ! FT_UINT32, BASE_DEC, NULL, 0x0, "LDAP Message Length" }}, { &hf_ldap_message_result, { "Result Code", "ldap.result.code", ! FT_UINT8, BASE_HEX, result_codes, 0x0, "LDAP Result Code" }}, { &hf_ldap_message_result_matcheddn, { "Matched DN", "ldap.result.matcheddn", *************** *** 1020,1026 **** { &hf_ldap_message_bind_version, { "Version", "ldap.bind.version", ! FT_INT32, BASE_DEC, NULL, 0x0, "LDAP Bind Version" }}, { &hf_ldap_message_bind_dn, { "DN", "ldap.bind.dn", --- 1057,1063 ---- { &hf_ldap_message_bind_version, { "Version", "ldap.bind.version", ! FT_UINT32, BASE_DEC, NULL, 0x0, "LDAP Bind Version" }}, { &hf_ldap_message_bind_dn, { "DN", "ldap.bind.dn", *************** *** 1049,1059 **** "LDAP Search Dereference" }}, { &hf_ldap_message_search_sizeLimit, { "Size Limit", "ldap.search.sizelimit", ! FT_INT32, BASE_DEC, NULL, 0x0, "LDAP Search Size Limit" }}, { &hf_ldap_message_search_timeLimit, { "Time Limit", "ldap.search.timelimit", ! FT_INT32, BASE_DEC, NULL, 0x0, "LDAP Search Time Limit" }}, { &hf_ldap_message_search_typesOnly, { "Attributes Only", "ldap.search.typesonly", --- 1086,1096 ---- "LDAP Search Dereference" }}, { &hf_ldap_message_search_sizeLimit, { "Size Limit", "ldap.search.sizelimit", ! FT_UINT32, BASE_DEC, NULL, 0x0, "LDAP Search Size Limit" }}, { &hf_ldap_message_search_timeLimit, { "Time Limit", "ldap.search.timelimit", ! FT_UINT32, BASE_DEC, NULL, 0x0, "LDAP Search Time Limit" }}, { &hf_ldap_message_search_typesOnly, { "Attributes Only", "ldap.search.typesonly", *************** *** 1109,1115 **** { &hf_ldap_message_abandon_msgid, { "Abandon Msg Id", "ldap.abandon.msgid", ! FT_INT32, BASE_DEC, NULL, 0x0, "LDAP Abandon Msg Id" }}, }; --- 1146,1152 ---- { &hf_ldap_message_abandon_msgid, { "Abandon Msg Id", "ldap.abandon.msgid", ! FT_UINT32, BASE_DEC, NULL, 0x0, "LDAP Abandon Msg Id" }}, }; *************** *** 1130,1133 **** { dissector_add("tcp.port", TCP_PORT_LDAP, dissect_ldap); } - --- 1167,1169 ---- Index: packet-llc.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-llc.c,v retrieving revision 1.63 diff -c -r1.63 packet-llc.c *** packet-llc.c 2000/05/28 22:02:17 1.63 --- packet-llc.c 2000/05/30 10:37:55 *************** *** 286,305 **** dsap = tvb_get_guint8(tvb, 0); if (tree) { ! ti = proto_tree_add_item(tree, proto_llc, tvb, 0, 0, NULL); llc_tree = proto_item_add_subtree(ti, ett_llc); ! proto_tree_add_item(llc_tree, hf_llc_dsap, tvb, 0, 1, dsap & SAP_MASK); ! proto_tree_add_item(llc_tree, hf_llc_dsap_ig, tvb, 0, 1, dsap & DSAP_GI_BIT); } else llc_tree = NULL; ssap = tvb_get_guint8(tvb, 1); if (tree) { ! proto_tree_add_item(llc_tree, hf_llc_ssap, tvb, 1, 1, ssap & SAP_MASK); ! proto_tree_add_item(llc_tree, hf_llc_ssap_cr, tvb, 1, 1, ssap & SSAP_CR_BIT); } else llc_tree = NULL; --- 286,305 ---- dsap = tvb_get_guint8(tvb, 0); if (tree) { ! ti = proto_tree_add_item(tree, proto_llc, tvb, 0, 0, FALSE); llc_tree = proto_item_add_subtree(ti, ett_llc); ! proto_tree_add_uint(llc_tree, hf_llc_dsap, tvb, 0, 1, dsap & SAP_MASK); ! proto_tree_add_boolean(llc_tree, hf_llc_dsap_ig, tvb, 0, 1, dsap & DSAP_GI_BIT); } else llc_tree = NULL; ssap = tvb_get_guint8(tvb, 1); if (tree) { ! proto_tree_add_uint(llc_tree, hf_llc_ssap, tvb, 1, 1, ssap & SAP_MASK); ! proto_tree_add_boolean(llc_tree, hf_llc_ssap_cr, tvb, 1, 1, ssap & SSAP_CR_BIT); } else llc_tree = NULL; *************** *** 339,345 **** etype); } if (tree) { ! proto_tree_add_item(llc_tree, hf_llc_oui, tvb, 3, 3, oui); } --- 339,345 ---- etype); } if (tree) { ! proto_tree_add_uint(llc_tree, hf_llc_oui, tvb, 3, 3, oui); } *************** *** 371,377 **** are some of them raw or encapsulated Ethernet? */ if (tree) { ! proto_tree_add_item(llc_tree, hf_llc_pid, tvb, 6, 2, etype); } if (XDLC_IS_INFORMATION(control)) { --- 371,377 ---- are some of them raw or encapsulated Ethernet? */ if (tree) { ! proto_tree_add_uint(llc_tree, hf_llc_pid, tvb, 6, 2, etype); } if (XDLC_IS_INFORMATION(control)) { *************** *** 405,411 **** case OUI_CABLE_BPDU: /* DOCSIS cable modem spanning tree BPDU */ if (tree) { ! proto_tree_add_item(llc_tree, hf_llc_pid, tvb, 6, 2, etype); } dissect_bpdu(pd, offset, pinfo->fd, tree); --- 405,411 ---- case OUI_CABLE_BPDU: /* DOCSIS cable modem spanning tree BPDU */ if (tree) { ! proto_tree_add_uint(llc_tree, hf_llc_pid, tvb, 6, 2, etype); } dissect_bpdu(pd, offset, pinfo->fd, tree); *************** *** 413,419 **** default: if (tree) { ! proto_tree_add_item(llc_tree, hf_llc_pid, tvb, 6, 2, etype); } dissect_data_tvb(next_tvb, pinfo, tree); --- 413,419 ---- default: if (tree) { ! proto_tree_add_uint(llc_tree, hf_llc_pid, tvb, 6, 2, etype); } dissect_data_tvb(next_tvb, pinfo, tree); Index: packet-lpd.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-lpd.c,v retrieving revision 1.19 diff -c -r1.19 packet-lpd.c *** packet-lpd.c 2000/05/11 08:15:23 1.19 --- packet-lpd.c 2000/05/30 10:37:55 *************** *** 105,117 **** if (tree) { ti = proto_tree_add_item(tree, proto_lpd, NullTVB, offset, ! END_OF_FRAME, NULL); lpd_tree = proto_item_add_subtree(ti, ett_lpd); if (lpr_packet_type == response) { ! proto_tree_add_item_hidden(lpd_tree, hf_lpd_response, NullTVB, 0, 0, TRUE); } else { ! proto_tree_add_item_hidden(lpd_tree, hf_lpd_request, NullTVB, 0, 0, TRUE); } if (lpr_packet_type == request) { --- 105,117 ---- if (tree) { ti = proto_tree_add_item(tree, proto_lpd, NullTVB, offset, ! END_OF_FRAME, FALSE); lpd_tree = proto_item_add_subtree(ti, ett_lpd); if (lpr_packet_type == response) { ! proto_tree_add_boolean_hidden(lpd_tree, hf_lpd_response, NullTVB, 0, 0, TRUE); } else { ! proto_tree_add_boolean_hidden(lpd_tree, hf_lpd_request, NullTVB, 0, 0, TRUE); } if (lpr_packet_type == request) { Index: packet-mapi.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-mapi.c,v retrieving revision 1.6 diff -c -r1.6 packet-mapi.c *** packet-mapi.c 2000/05/11 08:15:23 1.6 --- packet-mapi.c 2000/05/30 10:37:55 *************** *** 66,84 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_mapi, NullTVB, offset, END_OF_FRAME, NULL); mapi_tree = proto_item_add_subtree(ti, ett_mapi); if (pi.match_port == pi.destport) { ! proto_tree_add_item_hidden(mapi_tree, hf_mapi_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(mapi_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_item_hidden(mapi_tree, hf_mapi_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(mapi_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); --- 66,84 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_mapi, NullTVB, offset, END_OF_FRAME, FALSE); mapi_tree = proto_item_add_subtree(ti, ett_mapi); if (pi.match_port == pi.destport) { ! proto_tree_add_boolean_hidden(mapi_tree, hf_mapi_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(mapi_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_boolean_hidden(mapi_tree, hf_mapi_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(mapi_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); Index: packet-mip.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-mip.c,v retrieving revision 1.3 diff -c -r1.3 packet-mip.c *** packet-mip.c 2000/05/27 17:51:15 1.3 --- packet-mip.c 2000/05/30 10:37:56 *************** *** 165,187 **** col_add_str(fd, COL_INFO, "Mobile IP Registration Request"); if (tree) { ! ti = proto_tree_add_item(tree, proto_mip, tvb, 0, tvb_length(tvb), NULL); mip_tree = proto_item_add_subtree(ti, ett_mip); ! proto_tree_add_item(mip_tree, hf_mip_type, 0, 1, type); code = tvb_get_guint8(tvb, 1); ! proto_tree_add_item(mip_tree, hf_mip_s, tvb, 1, 1, code); ! proto_tree_add_item(mip_tree, hf_mip_b, tvb, 1, 1, code); ! proto_tree_add_item(mip_tree, hf_mip_d, tvb, 1, 1, code); ! proto_tree_add_item(mip_tree, hf_mip_m, tvb, 1, 1, code); ! proto_tree_add_item(mip_tree, hf_mip_g, tvb, 1, 1, code); ! proto_tree_add_item(mip_tree, hf_mip_v, tvb, 1, 1, code); ! ! proto_tree_add_item(mip_tree, hf_mip_life, tvb, 2, 2, tvb_get_ntohs(tvb, 2)); ! proto_tree_add_item(mip_tree, hf_mip_homeaddr, tvb, 4, 4, tvb_get_letohl(tvb, 4)); ! proto_tree_add_item(mip_tree, hf_mip_haaddr, tvb, 8, 4, tvb_get_letohl(tvb, 8)); ! proto_tree_add_item(mip_tree, hf_mip_coa, tvb, 12, 4, tvb_get_letohl(tvb, 12)); ! proto_tree_add_item(mip_tree, hf_mip_ident, tvb, 16, 8, tvb_get_ptr(tvb, 16, 8)); } } --- 165,187 ---- col_add_str(fd, COL_INFO, "Mobile IP Registration Request"); if (tree) { ! ti = proto_tree_add_item(tree, proto_mip, tvb, 0, tvb_length(tvb), FALSE); mip_tree = proto_item_add_subtree(ti, ett_mip); ! proto_tree_add_int(mip_tree, hf_mip_type, tvb, 0, 1, type); code = tvb_get_guint8(tvb, 1); ! proto_tree_add_boolean(mip_tree, hf_mip_s, tvb, 1, 1, code); ! proto_tree_add_boolean(mip_tree, hf_mip_b, tvb, 1, 1, code); ! proto_tree_add_boolean(mip_tree, hf_mip_d, tvb, 1, 1, code); ! proto_tree_add_boolean(mip_tree, hf_mip_m, tvb, 1, 1, code); ! proto_tree_add_boolean(mip_tree, hf_mip_g, tvb, 1, 1, code); ! proto_tree_add_boolean(mip_tree, hf_mip_v, tvb, 1, 1, code); ! ! proto_tree_add_int(mip_tree, hf_mip_life, tvb, 2, 2, tvb_get_ntohs(tvb, 2)); ! proto_tree_add_ipv4(mip_tree, hf_mip_homeaddr, tvb, 4, 4, tvb_get_letohl(tvb, 4)); ! proto_tree_add_ipv4(mip_tree, hf_mip_haaddr, tvb, 8, 4, tvb_get_letohl(tvb, 8)); ! proto_tree_add_ipv4(mip_tree, hf_mip_coa, tvb, 12, 4, tvb_get_letohl(tvb, 12)); ! proto_tree_add_bytes(mip_tree, hf_mip_ident, tvb, 16, 8, tvb_get_ptr(tvb, 16, 8)); } } *************** *** 191,206 **** col_add_str(fd, COL_INFO, "Mobile IP Registration Reply"); if (tree) { ! ti = proto_tree_add_item(tree, proto_mip, tvb, 0, tvb_length(tvb), NULL); mip_tree = proto_item_add_subtree(ti, ett_mip); ! proto_tree_add_item(mip_tree, hf_mip_type, tvb, 0, 1, type); code = tvb_get_guint8(tvb, 1); ! proto_tree_add_item(mip_tree, hf_mip_code, tvb, 1, 1, code); ! proto_tree_add_item(mip_tree, hf_mip_life, tvb, 2, 2, tvb_get_ntohs(tvb, 2)); ! proto_tree_add_item(mip_tree, hf_mip_homeaddr, tvb, 4, 4, tvb_get_letohl(tvb, 4)); ! proto_tree_add_item(mip_tree, hf_mip_haaddr, tvb, 8, 4, tvb_get_letohl(tvb, 8)); ! proto_tree_add_item(mip_tree, hf_mip_ident, tvb, 12, 8, tvb_get_ptr(tvb, 12, 8)); } } } --- 191,206 ---- col_add_str(fd, COL_INFO, "Mobile IP Registration Reply"); if (tree) { ! ti = proto_tree_add_item(tree, proto_mip, tvb, 0, tvb_length(tvb), FALSE); mip_tree = proto_item_add_subtree(ti, ett_mip); ! proto_tree_add_int(mip_tree, hf_mip_type, tvb, 0, 1, type); code = tvb_get_guint8(tvb, 1); ! proto_tree_add_uint(mip_tree, hf_mip_code, tvb, 1, 1, code); ! proto_tree_add_int(mip_tree, hf_mip_life, tvb, 2, 2, tvb_get_ntohs(tvb, 2)); ! proto_tree_add_ipv4(mip_tree, hf_mip_homeaddr, tvb, 4, 4, tvb_get_letohl(tvb, 4)); ! proto_tree_add_ipv4(mip_tree, hf_mip_haaddr, tvb, 8, 4, tvb_get_letohl(tvb, 8)); ! proto_tree_add_bytes(mip_tree, hf_mip_ident, tvb, 12, 8, tvb_get_ptr(tvb, 12, 8)); } } } Index: packet-mount.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-mount.c,v retrieving revision 1.14 diff -c -r1.14 packet-mount.c *** packet-mount.c 2000/05/11 08:15:23 1.14 --- packet-mount.c 2000/05/30 10:37:58 *************** *** 86,92 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; status = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_item(tree, hf_mount_status, NullTVB, offset, 4, status); } offset += 4; --- 86,92 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; status = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_uint(tree, hf_mount_status, NullTVB, offset, 4, status); } offset += 4; *************** *** 140,146 **** if (tree) { mountlist_item = proto_tree_add_item(tree, hf_mount_mountlist, NullTVB, ! offset+0, END_OF_FRAME, NULL); if (mountlist_item) mountlist_tree = proto_item_add_subtree(mountlist_item, ett_mount_mountlist); } --- 140,146 ---- if (tree) { mountlist_item = proto_tree_add_item(tree, hf_mount_mountlist, NullTVB, ! offset+0, END_OF_FRAME, FALSE); if (mountlist_item) mountlist_tree = proto_item_add_subtree(mountlist_item, ett_mount_mountlist); } *************** *** 199,205 **** if (tree) { exportlist_item = proto_tree_add_item(tree, hf_mount_exportlist, NullTVB, ! offset+0, END_OF_FRAME, NULL); if (exportlist_item) exportlist_tree = proto_item_add_subtree(exportlist_item, ett_mount_exportlist); } --- 199,205 ---- if (tree) { exportlist_item = proto_tree_add_item(tree, hf_mount_exportlist, NullTVB, ! offset+0, END_OF_FRAME, FALSE); if (exportlist_item) exportlist_tree = proto_item_add_subtree(exportlist_item, ett_mount_exportlist); } *************** *** 208,214 **** groups_offset = offset; if (tree) { groups_item = proto_tree_add_item(exportlist_tree, hf_mount_groups, NullTVB, ! offset+0, END_OF_FRAME, NULL); if (groups_item) groups_tree = proto_item_add_subtree(groups_item, ett_mount_groups); } --- 208,214 ---- groups_offset = offset; if (tree) { groups_item = proto_tree_add_item(exportlist_tree, hf_mount_groups, NullTVB, ! offset+0, END_OF_FRAME, FALSE); if (groups_item) groups_tree = proto_item_add_subtree(groups_item, ett_mount_groups); } *************** *** 330,336 **** return offset; if (!(pc_mask & (PC_ERROR_LINK_MAX|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_item(tree, hf_mount_pathconf_link_max, NullTVB, offset, 4, EXTRACT_UINT(pd, offset+0)); } --- 330,336 ---- return offset; if (!(pc_mask & (PC_ERROR_LINK_MAX|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_uint(tree, hf_mount_pathconf_link_max, NullTVB, offset, 4, EXTRACT_UINT(pd, offset+0)); } *************** *** 341,347 **** return offset; if (!(pc_mask & (PC_ERROR_MAX_CANON|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_item(tree, hf_mount_pathconf_max_canon, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } --- 341,347 ---- return offset; if (!(pc_mask & (PC_ERROR_MAX_CANON|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_uint(tree, hf_mount_pathconf_max_canon, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } *************** *** 353,359 **** return offset; if (!(pc_mask & (PC_ERROR_MAX_INPUT|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_item(tree, hf_mount_pathconf_max_input, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } --- 353,359 ---- return offset; if (!(pc_mask & (PC_ERROR_MAX_INPUT|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_uint(tree, hf_mount_pathconf_max_input, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } *************** *** 364,370 **** return offset; if (!(pc_mask & (PC_ERROR_NAME_MAX|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_item(tree, hf_mount_pathconf_name_max, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } --- 364,370 ---- return offset; if (!(pc_mask & (PC_ERROR_NAME_MAX|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_uint(tree, hf_mount_pathconf_name_max, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } *************** *** 375,381 **** return offset; if (!(pc_mask & (PC_ERROR_PATH_MAX|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_item(tree, hf_mount_pathconf_path_max, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } --- 375,381 ---- return offset; if (!(pc_mask & (PC_ERROR_PATH_MAX|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_uint(tree, hf_mount_pathconf_path_max, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } *************** *** 386,392 **** return offset; if (!(pc_mask & (PC_ERROR_PIPE_BUF|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_item(tree, hf_mount_pathconf_pipe_buf, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } --- 386,392 ---- return offset; if (!(pc_mask & (PC_ERROR_PIPE_BUF|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_uint(tree, hf_mount_pathconf_pipe_buf, NullTVB, offset + 2, 2, (EXTRACT_UINT(pd, offset+0)) & 0xFFFF); } *************** *** 399,405 **** return offset; if (!(pc_mask & (PC_ERROR_VDISABLE|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_item(tree, hf_mount_pathconf_vdisable, NullTVB, offset + 3, 1, (EXTRACT_UINT(pd, offset+0)) & 0xFF); } --- 399,405 ---- return offset; if (!(pc_mask & (PC_ERROR_VDISABLE|PC_ERROR_ALL))) { if (tree) { ! proto_tree_add_uint(tree, hf_mount_pathconf_vdisable, NullTVB, offset + 3, 1, (EXTRACT_UINT(pd, offset+0)) & 0xFF); } *************** *** 407,434 **** offset += 4; if (tree) { ! ti = proto_tree_add_item(tree, hf_mount_pathconf_mask, NullTVB, offset + 2, 2, pc_mask); mask_tree = proto_item_add_subtree(ti, ett_mount_pathconf_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_all, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_link_max, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_max_canon, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_max_input, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_name_max, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_path_max, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_pipe_buf, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_chown_restricted, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_no_trunc, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_item(mask_tree, hf_mount_pathconf_error_vdisable, NullTVB, offset + 2, 2, pc_mask); } offset += 4; --- 407,434 ---- offset += 4; if (tree) { ! ti = proto_tree_add_uint(tree, hf_mount_pathconf_mask, NullTVB, offset + 2, 2, pc_mask); mask_tree = proto_item_add_subtree(ti, ett_mount_pathconf_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_all, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_link_max, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_max_canon, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_max_input, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_name_max, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_path_max, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_pipe_buf, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_chown_restricted, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_no_trunc, NullTVB, offset + 2, 2, pc_mask); ! proto_tree_add_boolean(mask_tree, hf_mount_pathconf_error_vdisable, NullTVB, offset + 2, 2, pc_mask); } offset += 4; *************** *** 510,516 **** mountstat3 = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_item(tree, hfindex, NullTVB, offset, 4, mountstat3); } offset += 4; --- 510,516 ---- mountstat3 = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_uint(tree, hfindex, NullTVB, offset, 4, mountstat3); } offset += 4; *************** *** 535,547 **** offset = dissect_nfs_fh3(pd,offset,fd,tree,"fhandle"); if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; auth_flavors = EXTRACT_UINT(pd,offset+0); ! proto_tree_add_item(tree,hf_mount_flavors, NullTVB, offset, 4, auth_flavors); offset += 4; for (auth_flavor_i = 0 ; auth_flavor_i < hf_mount_flavors ; auth_flavor_i++) { if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; auth_flavor = EXTRACT_UINT(pd,offset+0); ! proto_tree_add_item(tree,hf_mount_flavor, NullTVB, offset, 4, auth_flavor); offset += 4; } --- 535,547 ---- offset = dissect_nfs_fh3(pd,offset,fd,tree,"fhandle"); if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; auth_flavors = EXTRACT_UINT(pd,offset+0); ! proto_tree_add_uint(tree,hf_mount_flavors, NullTVB, offset, 4, auth_flavors); offset += 4; for (auth_flavor_i = 0 ; auth_flavor_i < hf_mount_flavors ; auth_flavor_i++) { if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; auth_flavor = EXTRACT_UINT(pd,offset+0); ! proto_tree_add_uint(tree,hf_mount_flavor, NullTVB, offset, 4, auth_flavor); offset += 4; } Index: packet-mpls.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-mpls.c,v retrieving revision 1.6 diff -c -r1.6 packet-mpls.c *** packet-mpls.c 2000/05/11 08:15:23 1.6 --- packet-mpls.c 2000/05/30 10:37:58 *************** *** 153,159 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_mpls, NullTVB, offset, 4, NULL); mpls_tree = proto_item_add_subtree(ti, ett_mpls); if (label <= MAX_RESERVED) --- 153,159 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_mpls, NullTVB, offset, 4, FALSE); mpls_tree = proto_item_add_subtree(ti, ett_mpls); if (label <= MAX_RESERVED) *************** *** 162,175 **** label, val_to_str(label, special_labels, "Reserved - Unknown")); else ! proto_tree_add_item(mpls_tree, mpls_filter[MPLSF_LABEL], NullTVB, offset, 3, label); ! proto_tree_add_item(mpls_tree,mpls_filter[MPLSF_EXP], NullTVB, offset+2,1, exp); ! proto_tree_add_item(mpls_tree,mpls_filter[MPLSF_BOTTOM_OF_STACK], NullTVB, offset+2,1, bos); ! proto_tree_add_item(mpls_tree,mpls_filter[MPLSF_TTL], NullTVB, offset+3,1, ttl); } offset += 4; --- 162,175 ---- label, val_to_str(label, special_labels, "Reserved - Unknown")); else ! proto_tree_add_uint(mpls_tree, mpls_filter[MPLSF_LABEL], NullTVB, offset, 3, label); ! proto_tree_add_uint(mpls_tree,mpls_filter[MPLSF_EXP], NullTVB, offset+2,1, exp); ! proto_tree_add_uint(mpls_tree,mpls_filter[MPLSF_BOTTOM_OF_STACK], NullTVB, offset+2,1, bos); ! proto_tree_add_uint(mpls_tree,mpls_filter[MPLSF_TTL], NullTVB, offset+3,1, ttl); } offset += 4; Index: packet-msproxy.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-msproxy.c,v retrieving revision 1.2 diff -c -r1.2 packet-msproxy.c *** packet-msproxy.c 2000/05/11 08:15:23 1.2 --- packet-msproxy.c 2000/05/30 10:38:01 *************** *** 243,256 **** if ( tree) { ti = proto_tree_add_item( tree, proto_msproxy, NullTVB, offset, 0, ! NULL, "MS Proxy:" ); msp_tree = proto_item_add_subtree(ti, ett_msproxy); ! proto_tree_add_item( msp_tree, hf_msproxy_dstport, NullTVB, offset, 0, redirect_info->remote_port); ! proto_tree_add_item( msp_tree, hf_msproxy_dstaddr, NullTVB, offset, 0, redirect_info->remote_addr); } --- 243,256 ---- if ( tree) { ti = proto_tree_add_item( tree, proto_msproxy, NullTVB, offset, 0, ! FALSE ); msp_tree = proto_item_add_subtree(ti, ett_msproxy); ! proto_tree_add_uint( msp_tree, hf_msproxy_dstport, NullTVB, offset, 0, redirect_info->remote_port); ! proto_tree_add_ipv4( msp_tree, hf_msproxy_dstaddr, NullTVB, offset, 0, redirect_info->remote_addr); } *************** *** 434,452 **** CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_bindaddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_bindport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 6; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_clntport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; --- 434,452 ---- CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_ipv4( tree, hf_msproxy_bindaddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_bindport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 6; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_clntport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; *************** *** 455,461 **** if ( tree){ CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_boundport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 82; --- 455,461 ---- if ( tree){ CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_boundport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 82; *************** *** 499,509 **** offset += 6; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 16; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_boundport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 96; --- 499,509 ---- offset += 6; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_uint( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 16; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_boundport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 96; *************** *** 523,529 **** CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->dst_port = pntohs( &pd[ offset]); --- 523,529 ---- CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->dst_port = pntohs( &pd[ offset]); *************** *** 531,537 **** CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); memcpy( &conv_info->dst_addr, &pd[ offset], sizeof( guint32)); --- 531,537 ---- CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_ipv4( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); memcpy( &conv_info->dst_addr, &pd[ offset], sizeof( guint32)); *************** *** 542,548 **** conv_info->clnt_port = pntohs( &pd[ offset]); if ( tree){ ! proto_tree_add_item( tree, hf_msproxy_clntport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 84; --- 542,548 ---- conv_info->clnt_port = pntohs( &pd[ offset]); if ( tree){ ! proto_tree_add_uint( tree, hf_msproxy_clntport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 84; *************** *** 562,592 **** offset += 6; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 14; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 12; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 4; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 78; --- 562,592 ---- offset += 6; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_uint( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 14; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 12; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 4; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 78; *************** *** 644,662 **** CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 12; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 96; --- 644,662 ---- CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 12; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_ipv4( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 96; *************** *** 677,683 **** CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_clntport, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->clnt_port = pntohs( &pd[ offset]); --- 677,683 ---- CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_clntport, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->clnt_port = pntohs( &pd[ offset]); *************** *** 800,811 **** if ( tree) { CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_serverport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_serveraddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; } --- 800,811 ---- if ( tree) { CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_serverport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_serveraddr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; } *************** *** 834,848 **** if ( tree) { CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 14; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 96; display_application_name( pd, offset, fd, tree); --- 834,848 ---- if ( tree) { CHECK_PACKET_LENGTH( 4); ! proto_tree_add_uint( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 14; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 96; display_application_name( pd, offset, fd, tree); *************** *** 893,899 **** CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->proto = PT_TCP; --- 893,899 ---- CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->proto = PT_TCP; *************** *** 902,916 **** if ( tree){ CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_int_addr, NullTVB, offset, 2, GWORD( pd, offset)); offset += 14; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 80; display_application_name( pd, offset, fd, tree); --- 902,916 ---- if ( tree){ CHECK_PACKET_LENGTH( 2); ! proto_tree_add_ipv4( tree, hf_msproxy_server_int_addr, NullTVB, offset, 2, GWORD( pd, offset)); offset += 14; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 80; display_application_name( pd, offset, fd, tree); *************** *** 930,950 **** offset += 6; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 16; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 6; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 88; --- 930,950 ---- offset += 6; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_uint( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 16; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 6; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 88; *************** *** 964,983 **** CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 14; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->dst_port = pntohs( &pd[ offset]); offset += 2; CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); memcpy( &conv_info->dst_addr, &pd[ offset], sizeof( guint32)); --- 964,983 ---- CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_bind_id, NullTVB, offset, 4, pntohl( &pd[ offset])); offset += 14; CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->dst_port = pntohs( &pd[ offset]); offset += 2; CHECK_PACKET_LENGTH( 4); if ( tree) ! proto_tree_add_ipv4( tree, hf_msproxy_dstaddr, NullTVB, offset, 4, GWORD( pd, offset)); memcpy( &conv_info->dst_addr, &pd[ offset], sizeof( guint32)); *************** *** 986,992 **** CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_item( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->server_int_port = pntohs( &pd[ offset]); offset += 4; --- 986,992 ---- CHECK_PACKET_LENGTH( 2); if ( tree) ! proto_tree_add_uint( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset])); conv_info->server_int_port = pntohs( &pd[ offset]); offset += 4; *************** *** 994,1005 **** if ( tree) { CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 78; --- 994,1005 ---- if ( tree) { CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( tree, hf_msproxy_server_ext_port, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_server_ext_addr, NullTVB, offset, 4, GWORD( pd, offset)); offset += 78; *************** *** 1034,1040 **** offset += addr_offset; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_item( tree, hf_msproxy_resolvaddr, NullTVB, offset, 4, GWORD( pd, offset)); } } --- 1034,1040 ---- offset += addr_offset; CHECK_PACKET_LENGTH( 4); ! proto_tree_add_ipv4( tree, hf_msproxy_resolvaddr, NullTVB, offset, 4, GWORD( pd, offset)); } } *************** *** 1203,1209 **** if (tree) { /* if proto tree, decode data */ ti = proto_tree_add_item( tree, proto_msproxy, NullTVB, offset, ! END_OF_FRAME, NULL, "MSproxy:" ); msproxy_tree = proto_item_add_subtree(ti, ett_msproxy); } --- 1203,1209 ---- if (tree) { /* if proto tree, decode data */ ti = proto_tree_add_item( tree, proto_msproxy, NullTVB, offset, ! END_OF_FRAME, FALSE ); msproxy_tree = proto_item_add_subtree(ti, ett_msproxy); } *************** *** 1356,1361 **** dissector_add("udp.port", UDP_PORT_MSPROXY, dissect_msproxy); } - - - --- 1356,1358 ---- Index: packet-nbipx.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-nbipx.c,v retrieving revision 1.20 diff -c -r1.20 packet-nbipx.c *** packet-nbipx.c 2000/05/30 03:35:52 1.20 --- packet-nbipx.c 2000/05/30 10:38:01 *************** *** 187,193 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbipx, NullTVB, offset, 50, NULL); nbipx_tree = proto_item_add_subtree(ti, ett_nbipx); add_routers(nbipx_tree, pd, offset); --- 187,193 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbipx, NullTVB, offset, 50, FALSE); nbipx_tree = proto_item_add_subtree(ti, ett_nbipx); add_routers(nbipx_tree, pd, offset); *************** *** 239,245 **** if (tree) { ti = proto_tree_add_item(tree, proto_nbipx, NullTVB, offset, ! 2+NETBIOS_NAME_LEN+NETBIOS_NAME_LEN, NULL); nbipx_tree = proto_item_add_subtree(ti, ett_nbipx); proto_tree_add_text(nbipx_tree, NullTVB, offset, 1, --- 239,245 ---- if (tree) { ti = proto_tree_add_item(tree, proto_nbipx, NullTVB, offset, ! 2+NETBIOS_NAME_LEN+NETBIOS_NAME_LEN, FALSE); nbipx_tree = proto_item_add_subtree(ti, ett_nbipx); proto_tree_add_text(nbipx_tree, NullTVB, offset, 1, *************** *** 341,347 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbipx, NullTVB, offset, 68, NULL); nbipx_tree = proto_item_add_subtree(ti, ett_nbipx); add_routers(nbipx_tree, pd, offset); --- 341,347 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbipx, NullTVB, offset, 68, FALSE); nbipx_tree = proto_item_add_subtree(ti, ett_nbipx); add_routers(nbipx_tree, pd, offset); Index: packet-nbns.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-nbns.c,v retrieving revision 1.42 diff -c -r1.42 packet-nbns.c *** packet-nbns.c 2000/05/11 08:15:24 1.42 --- packet-nbns.c 2000/05/30 10:38:05 *************** *** 1167,1194 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbns, NullTVB, offset, END_OF_FRAME, NULL); nbns_tree = proto_item_add_subtree(ti, ett_nbns); if (flags & F_RESPONSE) { ! proto_tree_add_item_hidden(nbns_tree, hf_nbns_response, NullTVB, 0, 0, TRUE); } else { ! proto_tree_add_item_hidden(nbns_tree, hf_nbns_query, NullTVB, 0, 0, TRUE); } ! proto_tree_add_item(nbns_tree, hf_nbns_transaction_id, NullTVB, offset + NBNS_ID, 2, id); nbns_add_nbns_flags(nbns_tree, offset + NBNS_FLAGS, flags, 0); ! proto_tree_add_item(nbns_tree, hf_nbns_count_questions, NullTVB, offset + NBNS_QUEST, 2, quest); ! proto_tree_add_item(nbns_tree, hf_nbns_count_answers, NullTVB, offset + NBNS_ANS, 2, ans); ! proto_tree_add_item(nbns_tree, hf_nbns_count_auth_rr, NullTVB, offset + NBNS_AUTH, 2, auth); ! proto_tree_add_item(nbns_tree, hf_nbns_count_add_rr, NullTVB, offset + NBNS_ADD, 2, add); } --- 1167,1194 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbns, NullTVB, offset, END_OF_FRAME, FALSE); nbns_tree = proto_item_add_subtree(ti, ett_nbns); if (flags & F_RESPONSE) { ! proto_tree_add_boolean_hidden(nbns_tree, hf_nbns_response, NullTVB, 0, 0, TRUE); } else { ! proto_tree_add_boolean_hidden(nbns_tree, hf_nbns_query, NullTVB, 0, 0, TRUE); } ! proto_tree_add_uint(nbns_tree, hf_nbns_transaction_id, NullTVB, offset + NBNS_ID, 2, id); nbns_add_nbns_flags(nbns_tree, offset + NBNS_FLAGS, flags, 0); ! proto_tree_add_uint(nbns_tree, hf_nbns_count_questions, NullTVB, offset + NBNS_QUEST, 2, quest); ! proto_tree_add_uint(nbns_tree, hf_nbns_count_answers, NullTVB, offset + NBNS_ANS, 2, ans); ! proto_tree_add_uint(nbns_tree, hf_nbns_count_auth_rr, NullTVB, offset + NBNS_AUTH, 2, auth); ! proto_tree_add_uint(nbns_tree, hf_nbns_count_add_rr, NullTVB, offset + NBNS_ADD, 2, add); } *************** *** 1325,1331 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbdgm, NullTVB, offset, header.dgm_length, NULL); nbdgm_tree = proto_item_add_subtree(ti, ett_nbdgm); proto_tree_add_uint_format(nbdgm_tree, hf_nbdgm_type, NullTVB, --- 1325,1331 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbdgm, NullTVB, offset, header.dgm_length, FALSE); nbdgm_tree = proto_item_add_subtree(ti, ett_nbdgm); proto_tree_add_uint_format(nbdgm_tree, hf_nbdgm_type, NullTVB, *************** *** 1349,1359 **** "Node Type: %s", node[header.flags.node_type]); ! proto_tree_add_item(nbdgm_tree, hf_nbdgm_datagram_id, NullTVB, offset+2, 2, header.dgm_id); ! proto_tree_add_item(nbdgm_tree, hf_nbdgm_src_ip, NullTVB, offset+4, 4, header.src_ip); ! proto_tree_add_item(nbdgm_tree, hf_nbdgm_src_port, NullTVB, offset+8, 2, header.src_port); } --- 1349,1359 ---- "Node Type: %s", node[header.flags.node_type]); ! proto_tree_add_uint(nbdgm_tree, hf_nbdgm_datagram_id, NullTVB, offset+2, 2, header.dgm_id); ! proto_tree_add_ipv4(nbdgm_tree, hf_nbdgm_src_ip, NullTVB, offset+4, 4, header.src_ip); ! proto_tree_add_uint(nbdgm_tree, hf_nbdgm_src_port, NullTVB, offset+8, 2, header.src_port); } *************** *** 1490,1496 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbss, NullTVB, offset, length + 4, NULL); nbss_tree = proto_item_add_subtree(ti, ett_nbss); proto_tree_add_uint_format(nbss_tree, hf_nbss_type, NullTVB, --- 1490,1496 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_nbss, NullTVB, offset, length + 4, FALSE); nbss_tree = proto_item_add_subtree(ti, ett_nbss); proto_tree_add_uint_format(nbss_tree, hf_nbss_type, NullTVB, *************** *** 1510,1516 **** offset += 3; } else { if (tree) { ! tf = proto_tree_add_item(nbss_tree, hf_nbss_flags, NullTVB, offset, 1, flags); field_tree = proto_item_add_subtree(tf, ett_nbss_flags); proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s", decode_boolean_bitfield(flags, NBSS_FLAGS_E, --- 1510,1516 ---- offset += 3; } else { if (tree) { ! tf = proto_tree_add_uint(nbss_tree, hf_nbss_flags, NullTVB, offset, 1, flags); field_tree = proto_item_add_subtree(tf, ett_nbss_flags); proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s", decode_boolean_bitfield(flags, NBSS_FLAGS_E, Index: packet-ncp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ncp.c,v retrieving revision 1.36 diff -c -r1.36 packet-ncp.c *** packet-ncp.c 2000/05/30 03:35:53 1.36 --- packet-ncp.c 2000/05/30 10:38:07 *************** *** 575,588 **** nw_ncp_type = header.type; if (tree) { ! ti = proto_tree_add_item(tree, proto_ncp, NullTVB, offset, END_OF_FRAME, NULL); ncp_tree = proto_item_add_subtree(ti, ett_ncp); if ( pi.ptype == PT_TCP || pi.ptype == PT_UDP ) { ! proto_tree_add_item(ncp_tree, hf_ncp_ip_sig, NullTVB, offset - 16, 4, ncpiph.signature); proto_tree_add_text(ncp_tree, NullTVB, offset - 12, 4, "Length: %d", ncpiph.length); if ( ncpiph.signature == NCPIP_RQST ) { ! proto_tree_add_item(ncp_tree, hf_ncp_ip_ver, NullTVB, offset - 8, 4, ncpiphrq.version); proto_tree_add_text(ncp_tree, NullTVB, offset - 4, 4, "Reply buffer size: %d", ncpiphrq.rplybufsize); }; }; --- 575,588 ---- nw_ncp_type = header.type; if (tree) { ! ti = proto_tree_add_item(tree, proto_ncp, NullTVB, offset, END_OF_FRAME, FALSE); ncp_tree = proto_item_add_subtree(ti, ett_ncp); if ( pi.ptype == PT_TCP || pi.ptype == PT_UDP ) { ! proto_tree_add_uint(ncp_tree, hf_ncp_ip_sig, NullTVB, offset - 16, 4, ncpiph.signature); proto_tree_add_text(ncp_tree, NullTVB, offset - 12, 4, "Length: %d", ncpiph.length); if ( ncpiph.signature == NCPIP_RQST ) { ! proto_tree_add_uint(ncp_tree, hf_ncp_ip_ver, NullTVB, offset - 8, 4, ncpiphrq.version); proto_tree_add_text(ncp_tree, NullTVB, offset - 4, 4, "Reply buffer size: %d", ncpiphrq.rplybufsize); }; }; *************** *** 594,606 **** request_reply_values, "Unknown (%04X)")); ! proto_tree_add_item(ncp_tree, hf_ncp_seq, NullTVB, offset+2, 1, header.sequence); ! proto_tree_add_item(ncp_tree, hf_ncp_connection, NullTVB, offset+3, 3, nw_connection); ! proto_tree_add_item(ncp_tree, hf_ncp_task, NullTVB, offset+4, 1, header.task); } --- 594,606 ---- request_reply_values, "Unknown (%04X)")); ! proto_tree_add_uint(ncp_tree, hf_ncp_seq, NullTVB, offset+2, 1, header.sequence); ! proto_tree_add_uint(ncp_tree, hf_ncp_connection, NullTVB, offset+3, 3, nw_connection); ! proto_tree_add_uint(ncp_tree, hf_ncp_task, NullTVB, offset+4, 1, header.task); } Index: packet-netbios.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-netbios.c,v retrieving revision 1.19 diff -c -r1.19 packet-netbios.c *** packet-netbios.c 2000/05/11 08:15:28 1.19 --- packet-netbios.c 2000/05/30 10:38:10 *************** *** 986,992 **** if (tree) { ti = proto_tree_add_item(tree, proto_netbios, NullTVB, ! offset, END_OF_FRAME, NULL); netb_tree = proto_item_add_subtree(ti, ett_netb); proto_tree_add_text( netb_tree, NullTVB, offset, --- 986,992 ---- if (tree) { ti = proto_tree_add_item(tree, proto_netbios, NullTVB, ! offset, END_OF_FRAME, FALSE); netb_tree = proto_item_add_subtree(ti, ett_netb); proto_tree_add_text( netb_tree, NullTVB, offset, *************** *** 1030,1036 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_netbios, NullTVB, offset, END_OF_FRAME, NULL); netb_tree = proto_item_add_subtree(ti, ett_netb); --- 1030,1036 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_netbios, NullTVB, offset, END_OF_FRAME, FALSE); netb_tree = proto_item_add_subtree(ti, ett_netb); Index: packet-nfs.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-nfs.c,v retrieving revision 1.27 diff -c -r1.27 packet-nfs.c *** packet-nfs.c 2000/05/11 08:15:28 1.27 --- packet-nfs.c 2000/05/30 10:38:16 *************** *** 663,673 **** count = EXTRACT_UINT(pd, offset+4); totalcount = EXTRACT_UINT(pd, offset+8); if (tree) { ! proto_tree_add_item(tree, hf_nfs_read_offset, NullTVB, offset+0, 4, offset_value); ! proto_tree_add_item(tree, hf_nfs_read_count, NullTVB, offset+4, 4, count); ! proto_tree_add_item(tree, hf_nfs_read_totalcount, NullTVB, offset+8, 4, totalcount); } offset += 12; --- 663,673 ---- count = EXTRACT_UINT(pd, offset+4); totalcount = EXTRACT_UINT(pd, offset+8); if (tree) { ! proto_tree_add_uint(tree, hf_nfs_read_offset, NullTVB, offset+0, 4, offset_value); ! proto_tree_add_uint(tree, hf_nfs_read_count, NullTVB, offset+4, 4, count); ! proto_tree_add_uint(tree, hf_nfs_read_totalcount, NullTVB, offset+8, 4, totalcount); } offset += 12; *************** *** 711,721 **** offset_value = EXTRACT_UINT(pd, offset+4); totalcount = EXTRACT_UINT(pd, offset+8); if (tree) { ! proto_tree_add_item(tree, hf_nfs_write_beginoffset, NullTVB, offset+0, 4, beginoffset); ! proto_tree_add_item(tree, hf_nfs_write_offset, NullTVB, offset+4, 4, offset_value); ! proto_tree_add_item(tree, hf_nfs_write_totalcount, NullTVB, offset+8, 4, totalcount); } offset += 12; --- 711,721 ---- offset_value = EXTRACT_UINT(pd, offset+4); totalcount = EXTRACT_UINT(pd, offset+8); if (tree) { ! proto_tree_add_uint(tree, hf_nfs_write_beginoffset, NullTVB, offset+0, 4, beginoffset); ! proto_tree_add_uint(tree, hf_nfs_write_offset, NullTVB, offset+4, 4, offset_value); ! proto_tree_add_uint(tree, hf_nfs_write_totalcount, NullTVB, offset+8, 4, totalcount); } offset += 12; *************** *** 783,791 **** cookie = EXTRACT_UINT(pd, offset+ 0); count = EXTRACT_UINT(pd, offset+ 4); if (tree) { ! proto_tree_add_item(tree, hf_nfs_readdir_cookie, NullTVB, offset+ 0, 4, cookie); ! proto_tree_add_item(tree, hf_nfs_readdir_count, NullTVB, offset+ 4, 4, count); } offset += 8; --- 783,791 ---- cookie = EXTRACT_UINT(pd, offset+ 0); count = EXTRACT_UINT(pd, offset+ 4); if (tree) { ! proto_tree_add_uint(tree, hf_nfs_readdir_cookie, NullTVB, offset+ 0, 4, cookie); ! proto_tree_add_uint(tree, hf_nfs_readdir_count, NullTVB, offset+ 4, 4, count); } offset += 8; *************** *** 807,813 **** if (tree) { entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry, NullTVB, ! offset+0, END_OF_FRAME, NULL); if (entry_item) entry_tree = proto_item_add_subtree(entry_item, ett_nfs_readdir_entry); } --- 807,813 ---- if (tree) { entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry, NullTVB, ! offset+0, END_OF_FRAME, FALSE); if (entry_item) entry_tree = proto_item_add_subtree(entry_item, ett_nfs_readdir_entry); } *************** *** 818,824 **** } fileid = EXTRACT_UINT(pd, offset + 0); if (entry_tree) ! proto_tree_add_item(entry_tree, hf_nfs_readdir_entry_fileid, NullTVB, offset+0, 4, fileid); offset += 4; --- 818,824 ---- } fileid = EXTRACT_UINT(pd, offset + 0); if (entry_tree) ! proto_tree_add_uint(entry_tree, hf_nfs_readdir_entry_fileid, NullTVB, offset+0, 4, fileid); offset += 4; *************** *** 832,838 **** if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; cookie = EXTRACT_UINT(pd, offset + 0); if (entry_tree) ! proto_tree_add_item(entry_tree, hf_nfs_readdir_entry_cookie, NullTVB, offset+0, 4, cookie); offset += 4; --- 832,838 ---- if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; cookie = EXTRACT_UINT(pd, offset + 0); if (entry_tree) ! proto_tree_add_uint(entry_tree, hf_nfs_readdir_entry_cookie, NullTVB, offset+0, 4, cookie); offset += 4; *************** *** 858,864 **** while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_item(tree,hf_nfs_readdir_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { --- 858,864 ---- while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_boolean(tree,hf_nfs_readdir_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { *************** *** 871,877 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; eof_value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_readdir_eof, NullTVB, offset+ 0, 4, eof_value); offset += 4; break; --- 871,877 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; eof_value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_readdir_eof, NullTVB, offset+ 0, 4, eof_value); offset += 4; break; *************** *** 905,919 **** bfree = EXTRACT_UINT(pd, offset+12); bavail = EXTRACT_UINT(pd, offset+16); if (tree) { ! proto_tree_add_item(tree, hf_nfs_statfs_tsize, NullTVB, offset+ 0, 4, tsize); ! proto_tree_add_item(tree, hf_nfs_statfs_bsize, NullTVB, offset+ 4, 4, bsize); ! proto_tree_add_item(tree, hf_nfs_statfs_blocks, NullTVB, offset+ 8, 4, blocks); ! proto_tree_add_item(tree, hf_nfs_statfs_bfree, NullTVB, offset+12, 4, bfree); ! proto_tree_add_item(tree, hf_nfs_statfs_bavail, NullTVB, offset+16, 4, bavail); } offset += 20; --- 905,919 ---- bfree = EXTRACT_UINT(pd, offset+12); bavail = EXTRACT_UINT(pd, offset+16); if (tree) { ! proto_tree_add_uint(tree, hf_nfs_statfs_tsize, NullTVB, offset+ 0, 4, tsize); ! proto_tree_add_uint(tree, hf_nfs_statfs_bsize, NullTVB, offset+ 4, 4, bsize); ! proto_tree_add_uint(tree, hf_nfs_statfs_blocks, NullTVB, offset+ 8, 4, blocks); ! proto_tree_add_uint(tree, hf_nfs_statfs_bfree, NullTVB, offset+12, 4, bfree); ! proto_tree_add_uint(tree, hf_nfs_statfs_bavail, NullTVB, offset+16, 4, bavail); } offset += 20; *************** *** 1219,1225 **** nfsstat3 = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_item(tree, hf_nfs_nfsstat3, NullTVB, offset, 4, nfsstat3); } --- 1219,1225 ---- nfsstat3 = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_uint(tree, hf_nfs_nfsstat3, NullTVB, offset, 4, nfsstat3); } *************** *** 1253,1259 **** type = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_item(tree, hf, NullTVB, offset, 4, type); } offset += 4; --- 1253,1259 ---- type = EXTRACT_UINT(pd, offset+0); if (tree) { ! proto_tree_add_uint(tree, hf, NullTVB, offset, 4, type); } offset += 4; *************** *** 2249,2255 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; stable_how = EXTRACT_UINT(pd,offset+0); if (tree) { ! proto_tree_add_item(tree, hfindex, NullTVB, offset, 4, stable_how); } offset += 4; --- 2249,2255 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; stable_how = EXTRACT_UINT(pd,offset+0); if (tree) { ! proto_tree_add_uint(tree, hfindex, NullTVB, offset, 4, stable_how); } offset += 4; *************** *** 2313,2319 **** if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; mode_value = EXTRACT_UINT(pd, offset + 0); if (tree) { ! proto_tree_add_item(tree, hf_nfs_createmode3, NullTVB, offset+0, 4, mode_value); } offset += 4; --- 2313,2319 ---- if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; mode_value = EXTRACT_UINT(pd, offset + 0); if (tree) { ! proto_tree_add_uint(tree, hf_nfs_createmode3, NullTVB, offset+0, 4, mode_value); } offset += 4; *************** *** 2527,2533 **** if (tree) { entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry, NullTVB, ! offset+0, END_OF_FRAME, NULL); if (entry_item) entry_tree = proto_item_add_subtree(entry_item, ett_nfs_readdir_entry); } --- 2527,2533 ---- if (tree) { entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry, NullTVB, ! offset+0, END_OF_FRAME, FALSE); if (entry_item) entry_tree = proto_item_add_subtree(entry_item, ett_nfs_readdir_entry); } *************** *** 2567,2573 **** while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_item(tree,hf_nfs_readdir_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { --- 2567,2573 ---- while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_boolean(tree,hf_nfs_readdir_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { *************** *** 2580,2586 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; eof_value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_readdir_eof, NullTVB, offset+ 0, 4, eof_value); offset += 4; break; --- 2580,2586 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; eof_value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_readdir_eof, NullTVB, offset+ 0, 4, eof_value); offset += 4; break; *************** *** 2618,2624 **** if (tree) { entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry, NullTVB, ! offset+0, END_OF_FRAME, NULL); if (entry_item) entry_tree = proto_item_add_subtree(entry_item, ett_nfs_readdir_entry); } --- 2618,2624 ---- if (tree) { entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry, NullTVB, ! offset+0, END_OF_FRAME, FALSE); if (entry_item) entry_tree = proto_item_add_subtree(entry_item, ett_nfs_readdir_entry); } *************** *** 2661,2667 **** while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_item(tree,hf_nfs_readdir_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { --- 2661,2667 ---- while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_boolean(tree,hf_nfs_readdir_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { *************** *** 2674,2680 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; eof_value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_readdir_eof, NullTVB, offset+ 0, 4, eof_value); offset += 4; break; --- 2674,2680 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; eof_value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_readdir_eof, NullTVB, offset+ 0, 4, eof_value); offset += 4; break; *************** *** 2707,2713 **** if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; invarsec = EXTRACT_UINT(pd, offset + 0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsstat_invarsec, NullTVB, offset+0, 4, invarsec); offset += 4; break; --- 2707,2713 ---- if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; invarsec = EXTRACT_UINT(pd, offset + 0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsstat_invarsec, NullTVB, offset+0, 4, invarsec); offset += 4; break; *************** *** 2749,2791 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; rtmax = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsinfo_rtmax, NullTVB, offset+0, 4, rtmax); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; rtpref = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsinfo_rtpref, NullTVB, offset+0, 4, rtpref); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; rtmult = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsinfo_rtmult, NullTVB, offset+0, 4, rtmult); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; wtmax = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsinfo_wtmax, NullTVB, offset+0, 4, wtmax); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; wtpref = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsinfo_wtpref, NullTVB, offset+0, 4, wtpref); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; wtmult = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsinfo_wtmult, NullTVB, offset+0, 4, wtmult); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; dtpref = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hf_nfs_fsinfo_dtpref, NullTVB, offset+0, 4, dtpref); offset += 4; --- 2749,2791 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; rtmax = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsinfo_rtmax, NullTVB, offset+0, 4, rtmax); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; rtpref = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsinfo_rtpref, NullTVB, offset+0, 4, rtpref); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; rtmult = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsinfo_rtmult, NullTVB, offset+0, 4, rtmult); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; wtmax = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsinfo_wtmax, NullTVB, offset+0, 4, wtmax); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; wtpref = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsinfo_wtpref, NullTVB, offset+0, 4, wtpref); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; wtmult = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsinfo_wtmult, NullTVB, offset+0, 4, wtmult); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; dtpref = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_fsinfo_dtpref, NullTVB, offset+0, 4, dtpref); offset += 4; *************** *** 2794,2800 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; properties = EXTRACT_UINT(pd, offset+0); if (tree) { ! properties_item = proto_tree_add_item(tree, hf_nfs_fsinfo_properties, NullTVB, offset+0, 4, properties); if (properties_item) --- 2794,2800 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; properties = EXTRACT_UINT(pd, offset+0); if (tree) { ! properties_item = proto_tree_add_uint(tree, hf_nfs_fsinfo_properties, NullTVB, offset+0, 4, properties); if (properties_item) *************** *** 2855,2867 **** if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; linkmax = EXTRACT_UINT(pd, offset + 0); if (tree) ! proto_tree_add_item(tree, hf_nfs_pathconf_linkmax, NullTVB, offset+0, 4, linkmax); offset += 4; if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; name_max = EXTRACT_UINT(pd, offset + 0); if (tree) ! proto_tree_add_item(tree, hf_nfs_pathconf_name_max, NullTVB, offset+0, 4, name_max); offset += 4; offset = dissect_rpc_bool(pd, offset, fd, tree, hf_nfs_pathconf_no_trunc); --- 2855,2867 ---- if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; linkmax = EXTRACT_UINT(pd, offset + 0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_pathconf_linkmax, NullTVB, offset+0, 4, linkmax); offset += 4; if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; name_max = EXTRACT_UINT(pd, offset + 0); if (tree) ! proto_tree_add_uint(tree, hf_nfs_pathconf_name_max, NullTVB, offset+0, 4, name_max); offset += 4; offset = dissect_rpc_bool(pd, offset, fd, tree, hf_nfs_pathconf_no_trunc); Index: packet-nntp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-nntp.c,v retrieving revision 1.9 diff -c -r1.9 packet-nntp.c *** packet-nntp.c 2000/05/11 08:15:30 1.9 --- packet-nntp.c 2000/05/30 10:38:16 *************** *** 84,96 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_nntp, NullTVB, offset, END_OF_FRAME, NULL); nntp_tree = proto_item_add_subtree(ti, ett_nntp); if (pi.match_port == pi.destport) { ! proto_tree_add_item_hidden(nntp_tree, hf_nntp_request, NullTVB, 0, 0, TRUE); } else { ! proto_tree_add_item_hidden(nntp_tree, hf_nntp_response, NullTVB, 0, 0, TRUE); } /* --- 84,96 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_nntp, NullTVB, offset, END_OF_FRAME, FALSE); nntp_tree = proto_item_add_subtree(ti, ett_nntp); if (pi.match_port == pi.destport) { ! proto_tree_add_boolean_hidden(nntp_tree, hf_nntp_request, NullTVB, 0, 0, TRUE); } else { ! proto_tree_add_boolean_hidden(nntp_tree, hf_nntp_response, NullTVB, 0, 0, TRUE); } /* Index: packet-ntp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ntp.c,v retrieving revision 1.12 diff -c -r1.12 packet-ntp.c *** packet-ntp.c 2000/05/11 08:15:30 1.12 --- packet-ntp.c 2000/05/30 10:38:18 *************** *** 255,263 **** if (tree) { /* Adding NTP item and subtree */ ! ti = proto_tree_add_item(tree, proto_ntp, NullTVB, offset, END_OF_FRAME, NULL); ntp_tree = proto_item_add_subtree(ti, ett_ntp); ! tf = proto_tree_add_item(ntp_tree, hf_ntp_flags, NullTVB, offset, 1, pkt->flags); /* Adding flag subtree and items */ flags_tree = proto_item_add_subtree(tf, ett_ntp_flags); --- 255,263 ---- if (tree) { /* Adding NTP item and subtree */ ! ti = proto_tree_add_item(tree, proto_ntp, NullTVB, offset, END_OF_FRAME, FALSE); ntp_tree = proto_item_add_subtree(ti, ett_ntp); ! tf = proto_tree_add_bytes(ntp_tree, hf_ntp_flags, NullTVB, offset, 1, pkt->flags); /* Adding flag subtree and items */ flags_tree = proto_item_add_subtree(tf, ett_ntp_flags); *************** *** 368,376 **** * hex code for now. */ if ( BYTES_ARE_IN_FRAME(offset, 50) ) ! proto_tree_add_item(ntp_tree, hf_ntp_keyid, NullTVB, offset+48, 4, pkt->keyid); if ( BYTES_ARE_IN_FRAME(offset, 53) ) ! proto_tree_add_item(ntp_tree, hf_ntp_mac, NullTVB, offset+52, END_OF_FRAME, pkt->mac); } } --- 368,376 ---- * hex code for now. */ if ( BYTES_ARE_IN_FRAME(offset, 50) ) ! proto_tree_add_bytes(ntp_tree, hf_ntp_keyid, NullTVB, offset+48, 4, pkt->keyid); if ( BYTES_ARE_IN_FRAME(offset, 53) ) ! proto_tree_add_bytes(ntp_tree, hf_ntp_mac, NullTVB, offset+52, END_OF_FRAME, pkt->mac); } } Index: packet-null.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-null.c,v retrieving revision 1.24 diff -c -r1.24 packet-null.c *** packet-null.c 2000/05/25 07:42:24 1.24 --- packet-null.c 2000/05/30 10:38:19 *************** *** 272,278 **** */ if (null_header > IEEE_802_3_MAX_LEN) { if (tree) { ! ti = proto_tree_add_item(tree, proto_null, tvb, 0, 4, NULL); fh_tree = proto_item_add_subtree(ti, ett_null); } else fh_tree = NULL; --- 272,278 ---- */ if (null_header > IEEE_802_3_MAX_LEN) { if (tree) { ! ti = proto_tree_add_item(tree, proto_null, tvb, 0, 4, FALSE); fh_tree = proto_item_add_subtree(ti, ett_null); } else fh_tree = NULL; *************** *** 281,289 **** /* populate a tree in the second pane with the status of the link layer (ie none) */ if (tree) { ! ti = proto_tree_add_item(tree, proto_null, tvb, 0, 4, NULL); fh_tree = proto_item_add_subtree(ti, ett_null); ! proto_tree_add_item(fh_tree, hf_null_family, tvb, 0, 4, null_header); } next_tvb = tvb_new_subset(tvb, 4, -1, -1); --- 281,289 ---- /* populate a tree in the second pane with the status of the link layer (ie none) */ if (tree) { ! ti = proto_tree_add_item(tree, proto_null, tvb, 0, 4, FALSE); fh_tree = proto_item_add_subtree(ti, ett_null); ! proto_tree_add_uint(fh_tree, hf_null_family, tvb, 0, 4, null_header); } next_tvb = tvb_new_subset(tvb, 4, -1, -1); Index: packet-ospf.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ospf.c,v retrieving revision 1.23 diff -c -r1.23 packet-ospf.c *** packet-ospf.c 2000/05/11 08:15:32 1.23 --- packet-ospf.c 2000/05/30 10:38:21 *************** *** 111,117 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_ospf, NullTVB, offset, ntohs(ospfh.length), NULL); ospf_tree = proto_item_add_subtree(ti, ett_ospf); ti = proto_tree_add_text(ospf_tree, NullTVB, offset, OSPF_HEADER_LENGTH, "OSPF Header"); --- 111,117 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_ospf, NullTVB, offset, ntohs(ospfh.length), FALSE); ospf_tree = proto_item_add_subtree(ti, ett_ospf); ti = proto_tree_add_text(ospf_tree, NullTVB, offset, OSPF_HEADER_LENGTH, "OSPF Header"); Index: packet-pim.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-pim.c,v retrieving revision 1.13 diff -c -r1.13 packet-pim.c *** packet-pim.c 2000/05/11 08:15:33 1.13 --- packet-pim.c 2000/05/30 10:38:22 *************** *** 218,233 **** col_add_fstr(fd, COL_INFO, "%s", typestr); if (tree) { ! ti = proto_tree_add_item(tree, proto_pim, NullTVB, offset, END_OF_FRAME, NULL); pim_tree = proto_item_add_subtree(ti, ett_pim); ! proto_tree_add_item(pim_tree, hf_pim_version, NullTVB, offset, 1, PIM_VER(pim.pim_typever)); proto_tree_add_uint_format(pim_tree, hf_pim_type, NullTVB, offset, 1, PIM_TYPE(pim.pim_typever), "Type: %s (%u)", typestr, PIM_TYPE(pim.pim_typever)); ! proto_tree_add_item(pim_tree, hf_pim_cksum, NullTVB, offset + offsetof(struct pim, pim_cksum), sizeof(pim.pim_cksum), ntohs(pim.pim_cksum)); --- 218,233 ---- col_add_fstr(fd, COL_INFO, "%s", typestr); if (tree) { ! ti = proto_tree_add_item(tree, proto_pim, NullTVB, offset, END_OF_FRAME, FALSE); pim_tree = proto_item_add_subtree(ti, ett_pim); ! proto_tree_add_uint(pim_tree, hf_pim_version, NullTVB, offset, 1, PIM_VER(pim.pim_typever)); proto_tree_add_uint_format(pim_tree, hf_pim_type, NullTVB, offset, 1, PIM_TYPE(pim.pim_typever), "Type: %s (%u)", typestr, PIM_TYPE(pim.pim_typever)); ! proto_tree_add_uint(pim_tree, hf_pim_cksum, NullTVB, offset + offsetof(struct pim, pim_cksum), sizeof(pim.pim_cksum), ntohs(pim.pim_cksum)); Index: packet-pop.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-pop.c,v retrieving revision 1.14 diff -c -r1.14 packet-pop.c *** packet-pop.c 2000/05/11 08:15:33 1.14 --- packet-pop.c 2000/05/30 10:38:23 *************** *** 101,111 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_pop, NullTVB, offset, END_OF_FRAME, NULL); pop_tree = proto_item_add_subtree(ti, ett_pop); if (pi.match_port == pi.destport) { /* Request */ ! proto_tree_add_item_hidden(pop_tree, hf_pop_request, NullTVB, offset, i1, TRUE); proto_tree_add_text(pop_tree, NullTVB, offset, i1, "Request: %s", rr); if (strlen(rd) != 0) --- 101,111 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_pop, NullTVB, offset, END_OF_FRAME, FALSE); pop_tree = proto_item_add_subtree(ti, ett_pop); if (pi.match_port == pi.destport) { /* Request */ ! proto_tree_add_boolean_hidden(pop_tree, hf_pop_request, NullTVB, offset, i1, TRUE); proto_tree_add_text(pop_tree, NullTVB, offset, i1, "Request: %s", rr); if (strlen(rd) != 0) *************** *** 113,119 **** } else { ! proto_tree_add_item_hidden(pop_tree, hf_pop_response, NullTVB, offset, i1, TRUE); if (is_continuation(pd+offset)) dissect_data(pd, offset, fd, pop_tree); --- 113,119 ---- } else { ! proto_tree_add_boolean_hidden(pop_tree, hf_pop_response, NullTVB, offset, i1, TRUE); if (is_continuation(pd+offset)) dissect_data(pd, offset, fd, pop_tree); Index: packet-portmap.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-portmap.c,v retrieving revision 1.15 diff -c -r1.15 packet-portmap.c *** packet-portmap.c 2000/05/11 08:15:34 1.15 --- packet-portmap.c 2000/05/30 10:38:24 *************** *** 77,90 **** proto_tree_add_uint_format(tree, hf_portmap_prog, NullTVB, offset, 4, prog, "Program: %s (%u)", rpc_prog_name(prog), prog); ! proto_tree_add_item(tree, hf_portmap_version, NullTVB, offset+4, 4, pntohl(&pd[offset+4])); proto = pntohl(&pd[offset+8]); proto_tree_add_uint_format(tree, hf_portmap_proto, NullTVB, offset+8, 4, proto, "Proto: %s (%u)", ipprotostr(proto), proto); ! proto_tree_add_item(tree, hf_portmap_port, NullTVB, offset+12, 4, pntohl(&pd[offset+12])); } --- 77,90 ---- proto_tree_add_uint_format(tree, hf_portmap_prog, NullTVB, offset, 4, prog, "Program: %s (%u)", rpc_prog_name(prog), prog); ! proto_tree_add_uint(tree, hf_portmap_version, NullTVB, offset+4, 4, pntohl(&pd[offset+4])); proto = pntohl(&pd[offset+8]); proto_tree_add_uint_format(tree, hf_portmap_proto, NullTVB, offset+8, 4, proto, "Proto: %s (%u)", ipprotostr(proto), proto); ! proto_tree_add_uint(tree, hf_portmap_port, NullTVB, offset+12, 4, pntohl(&pd[offset+12])); } *************** *** 97,103 **** if ( !BYTES_ARE_IN_FRAME(offset, 4)) return offset; if ( tree ) { ! proto_tree_add_item(tree, hf_portmap_port, NullTVB, offset, 4, pntohl(&pd[offset+0])); } return offset+=4; --- 97,103 ---- if ( !BYTES_ARE_IN_FRAME(offset, 4)) return offset; if ( tree ) { ! proto_tree_add_uint(tree, hf_portmap_port, NullTVB, offset, 4, pntohl(&pd[offset+0])); } return offset+=4; *************** *** 117,130 **** proto_tree_add_uint_format(tree, hf_portmap_prog, NullTVB, offset, 4, prog, "Program: %s (%d)", rpc_prog_name(prog), prog); ! proto_tree_add_item(tree, hf_portmap_version, NullTVB, offset+4, 4, pntohl(&pd[offset+4])); proto = pntohl(&pd[offset+8]); proto_tree_add_uint_format(tree, hf_portmap_proto, NullTVB, offset+8, 4, proto, "Proto: %s (%d)", ipprotostr(proto), proto); ! proto_tree_add_item(tree, hf_portmap_port, NullTVB, offset+12, 4, pntohl(&pd[offset+12])); } --- 117,130 ---- proto_tree_add_uint_format(tree, hf_portmap_prog, NullTVB, offset, 4, prog, "Program: %s (%d)", rpc_prog_name(prog), prog); ! proto_tree_add_uint(tree, hf_portmap_version, NullTVB, offset+4, 4, pntohl(&pd[offset+4])); proto = pntohl(&pd[offset+8]); proto_tree_add_uint_format(tree, hf_portmap_proto, NullTVB, offset+8, 4, proto, "Proto: %s (%d)", ipprotostr(proto), proto); ! proto_tree_add_uint(tree, hf_portmap_port, NullTVB, offset+12, 4, pntohl(&pd[offset+12])); } *************** *** 145,158 **** proto_tree_add_uint_format(tree, hf_portmap_prog, NullTVB, offset, 4, prog, "Program: %s (%d)", rpc_prog_name(prog), prog); ! proto_tree_add_item(tree, hf_portmap_version, NullTVB, offset+4, 4, pntohl(&pd[offset+4])); proto = pntohl(&pd[offset+8]); ! proto_tree_add_item(tree, hf_portmap_proto, NullTVB, offset+8, 4, proto); ! proto_tree_add_item(tree, hf_portmap_port, NullTVB, offset+12, 4, pntohl(&pd[offset+12])); } --- 145,158 ---- proto_tree_add_uint_format(tree, hf_portmap_prog, NullTVB, offset, 4, prog, "Program: %s (%d)", rpc_prog_name(prog), prog); ! proto_tree_add_uint(tree, hf_portmap_version, NullTVB, offset+4, 4, pntohl(&pd[offset+4])); proto = pntohl(&pd[offset+8]); ! proto_tree_add_uint(tree, hf_portmap_proto, NullTVB, offset+8, 4, proto); ! proto_tree_add_uint(tree, hf_portmap_port, NullTVB, offset+12, 4, pntohl(&pd[offset+12])); } *************** *** 166,172 **** { if ( !BYTES_ARE_IN_FRAME(offset, 4)) return offset; ! proto_tree_add_item(tree, hf_portmap_answer, NullTVB, offset, 4, pntohl(&pd[offset+0])); offset += 4; } --- 166,172 ---- { if ( !BYTES_ARE_IN_FRAME(offset, 4)) return offset; ! proto_tree_add_boolean(tree, hf_portmap_answer, NullTVB, offset, 4, pntohl(&pd[offset+0])); offset += 4; } *************** *** 184,190 **** value_follows = pntohl(&pd[offset+0]); if ( tree ) { ! proto_tree_add_item(tree, hf_portmap_value_follows, NullTVB, offset, 4, value_follows); } offset += 4; --- 184,190 ---- value_follows = pntohl(&pd[offset+0]); if ( tree ) { ! proto_tree_add_boolean(tree, hf_portmap_value_follows, NullTVB, offset, 4, value_follows); } offset += 4; *************** *** 209,220 **** proto_tree_add_uint_format(subtree, hf_portmap_prog, NullTVB, offset+0, 4, prog, "Program: %s (%u)", rpc_prog_name(prog), prog); ! proto_tree_add_item(subtree, hf_portmap_version, NullTVB, offset+4, 4, version); proto_tree_add_uint_format(subtree, hf_portmap_proto, NullTVB, offset+8, 4, proto, "Protocol: %s (0x%02x)", ipprotostr(proto), proto); ! proto_tree_add_item(subtree, hf_portmap_port, NullTVB, offset+12, 4, port); } offset += 16; --- 209,220 ---- proto_tree_add_uint_format(subtree, hf_portmap_prog, NullTVB, offset+0, 4, prog, "Program: %s (%u)", rpc_prog_name(prog), prog); ! proto_tree_add_uint(subtree, hf_portmap_version, NullTVB, offset+4, 4, version); proto_tree_add_uint_format(subtree, hf_portmap_proto, NullTVB, offset+8, 4, proto, "Protocol: %s (0x%02x)", ipprotostr(proto), proto); ! proto_tree_add_uint(subtree, hf_portmap_port, NullTVB, offset+12, 4, port); } offset += 16; *************** *** 265,271 **** if (tree) { rpcb_item = proto_tree_add_item(tree, hfindex, NullTVB, ! offset+0, END_OF_FRAME, NULL); if (rpcb_item) rpcb_tree = proto_item_add_subtree(rpcb_item, ett_portmap_rpcb); } --- 265,271 ---- if (tree) { rpcb_item = proto_tree_add_item(tree, hfindex, NullTVB, ! offset+0, END_OF_FRAME, FALSE); if (rpcb_item) rpcb_tree = proto_item_add_subtree(rpcb_item, ett_portmap_rpcb); } *************** *** 281,287 **** if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; version = EXTRACT_UINT(pd, offset + 0); if (rpcb_tree) ! proto_tree_add_item(rpcb_tree, hf_portmap_rpcb_version, NullTVB, offset+0, 4, version); offset += 4; --- 281,287 ---- if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset; version = EXTRACT_UINT(pd, offset + 0); if (rpcb_tree) ! proto_tree_add_uint(rpcb_tree, hf_portmap_rpcb_version, NullTVB, offset+0, 4, version); offset += 4; *************** *** 328,334 **** while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_item(tree,hf_portmap_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { --- 328,334 ---- while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_boolean(tree,hf_portmap_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { Index: packet-ppp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ppp.c,v retrieving revision 1.35 diff -c -r1.35 packet-ppp.c *** packet-ppp.c 2000/05/25 07:42:25 1.35 --- packet-ppp.c 2000/05/30 10:38:26 *************** *** 1069,1075 **** flag_str = "Unknown"; break; } ! ti = proto_tree_add_item(tree, proto_mp, tvb, 0, 4, NULL); mp_tree = proto_item_add_subtree(ti, ett_mp); ti = proto_tree_add_text(mp_tree, tvb, 0, 1, "Fragment: 0x%2X (%s)", flags, flag_str); --- 1069,1075 ---- flag_str = "Unknown"; break; } ! ti = proto_tree_add_item(tree, proto_mp, tvb, 0, 4, FALSE); mp_tree = proto_item_add_subtree(ti, ett_mp); ti = proto_tree_add_text(mp_tree, tvb, 0, 1, "Fragment: 0x%2X (%s)", flags, flag_str); *************** *** 1083,1096 **** proto_tree_add_text(hdr_tree, tvb, 0, 1, "%s", decode_boolean_bitfield(flags, MP_FRAG_RESERVED, sizeof(flags) * 8, "reserved", "reserved")); ! proto_tree_add_item(mp_tree, hf_mp_sequence_num, tvb, 1, 3, seq); } next_tvb = tvb_new_subset(tvb, 4, -1, -1); if (tvb_length(next_tvb) > 0) { if (tree) { ! ti = proto_tree_add_item(tree, proto_ppp, next_tvb, 0, 1, NULL); fh_tree = proto_item_add_subtree(ti, ett_ppp); } dissect_ppp_stuff(next_tvb, pinfo, tree, fh_tree); --- 1083,1096 ---- proto_tree_add_text(hdr_tree, tvb, 0, 1, "%s", decode_boolean_bitfield(flags, MP_FRAG_RESERVED, sizeof(flags) * 8, "reserved", "reserved")); ! proto_tree_add_uint(mp_tree, hf_mp_sequence_num, tvb, 1, 3, seq); } next_tvb = tvb_new_subset(tvb, 4, -1, -1); if (tvb_length(next_tvb) > 0) { if (tree) { ! ti = proto_tree_add_item(tree, proto_ppp, next_tvb, 0, 1, FALSE); fh_tree = proto_item_add_subtree(ti, ett_ppp); } dissect_ppp_stuff(next_tvb, pinfo, tree, fh_tree); *************** *** 1106,1112 **** /* populate a tree in the second pane with the status of the link layer (ie none) */ if(tree) { ! ti = proto_tree_add_item(tree, proto_ppp, NullTVB, 0+offset, 2, NULL); fh_tree = proto_item_add_subtree(ti, ett_ppp); } --- 1106,1112 ---- /* populate a tree in the second pane with the status of the link layer (ie none) */ if(tree) { ! ti = proto_tree_add_item(tree, proto_ppp, NullTVB, 0+offset, 2, FALSE); fh_tree = proto_item_add_subtree(ti, ett_ppp); } *************** *** 1151,1157 **** /* populate a tree in the second pane with the status of the link layer (ie none) */ if(tree) { ! ti = proto_tree_add_item(tree, proto_ppp, tvb, 0, 4, NULL); fh_tree = proto_item_add_subtree(ti, ett_ppp); if (byte0 == 0xff) { proto_tree_add_text(fh_tree, tvb, 0, 1, "Address: %02x", ph.ppp_addr); --- 1151,1157 ---- /* populate a tree in the second pane with the status of the link layer (ie none) */ if(tree) { ! ti = proto_tree_add_item(tree, proto_ppp, tvb, 0, 4, FALSE); fh_tree = proto_item_add_subtree(ti, ett_ppp); if (byte0 == 0xff) { proto_tree_add_text(fh_tree, tvb, 0, 1, "Address: %02x", ph.ppp_addr); Index: packet-q2931.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-q2931.c,v retrieving revision 1.9 diff -c -r1.9 packet-q2931.c *** packet-q2931.c 2000/05/29 08:57:37 1.9 --- packet-q2931.c 2000/05/30 10:38:31 *************** *** 1995,2015 **** if (tree) { ti = proto_tree_add_item(tree, proto_q2931, tvb, offset, ! tvb_length(tvb), NULL); q2931_tree = proto_item_add_subtree(ti, ett_q2931); ! proto_tree_add_item(q2931_tree, hf_q2931_discriminator, tvb, offset, 1, tvb_get_guint8(tvb, offset)); } offset += 1; call_ref_len = tvb_get_guint8(tvb, offset) & 0xF; /* XXX - do as a bit field? */ if (q2931_tree != NULL) ! proto_tree_add_item(q2931_tree, hf_q2931_call_ref_len, tvb, offset, 1, call_ref_len); offset += 1; if (call_ref_len != 0) { /* XXX - split this into flag and value */ tvb_memcpy(tvb, call_ref, offset, call_ref_len); if (q2931_tree != NULL) ! proto_tree_add_item(q2931_tree, hf_q2931_call_ref, tvb, offset, call_ref_len, call_ref); offset += call_ref_len; } message_type = tvb_get_guint8(tvb, offset); --- 1995,2015 ---- if (tree) { ti = proto_tree_add_item(tree, proto_q2931, tvb, offset, ! tvb_length(tvb), FALSE); q2931_tree = proto_item_add_subtree(ti, ett_q2931); ! proto_tree_add_uint(q2931_tree, hf_q2931_discriminator, tvb, offset, 1, tvb_get_guint8(tvb, offset)); } offset += 1; call_ref_len = tvb_get_guint8(tvb, offset) & 0xF; /* XXX - do as a bit field? */ if (q2931_tree != NULL) ! proto_tree_add_uint(q2931_tree, hf_q2931_call_ref_len, tvb, offset, 1, call_ref_len); offset += 1; if (call_ref_len != 0) { /* XXX - split this into flag and value */ tvb_memcpy(tvb, call_ref, offset, call_ref_len); if (q2931_tree != NULL) ! proto_tree_add_bytes(q2931_tree, hf_q2931_call_ref, tvb, offset, call_ref_len, call_ref); offset += call_ref_len; } message_type = tvb_get_guint8(tvb, offset); *************** *** 2019,2036 **** "Unknown message type (0x%02X)")); } if (q2931_tree != NULL) ! proto_tree_add_item(q2931_tree, hf_q2931_message_type, tvb, offset, 1, message_type); offset += 1; message_type_ext = tvb_get_guint8(tvb, offset); if (q2931_tree != NULL) { ! ti = proto_tree_add_item(q2931_tree, hf_q2931_message_type_ext, tvb, offset, 1, message_type_ext); ext_tree = proto_item_add_subtree(ti, ett_q2931_ext); ! proto_tree_add_item(ext_tree, hf_q2931_message_flag, tvb, offset, 1, message_type_ext); if (message_type_ext & Q2931_MSG_TYPE_EXT_FOLLOW_INST) { ! proto_tree_add_item(ext_tree, hf_q2931_message_action_indicator, tvb, offset, 1, message_type_ext); } } --- 2019,2036 ---- "Unknown message type (0x%02X)")); } if (q2931_tree != NULL) ! proto_tree_add_uint(q2931_tree, hf_q2931_message_type, tvb, offset, 1, message_type); offset += 1; message_type_ext = tvb_get_guint8(tvb, offset); if (q2931_tree != NULL) { ! ti = proto_tree_add_uint(q2931_tree, hf_q2931_message_type_ext, tvb, offset, 1, message_type_ext); ext_tree = proto_item_add_subtree(ti, ett_q2931_ext); ! proto_tree_add_boolean(ext_tree, hf_q2931_message_flag, tvb, offset, 1, message_type_ext); if (message_type_ext & Q2931_MSG_TYPE_EXT_FOLLOW_INST) { ! proto_tree_add_uint(ext_tree, hf_q2931_message_action_indicator, tvb, offset, 1, message_type_ext); } } *************** *** 2038,2044 **** message_len = tvb_get_ntohs(tvb, offset); if (q2931_tree != NULL) ! proto_tree_add_item(q2931_tree, hf_q2931_message_len, tvb, offset, 2, message_len); offset += 2; /* --- 2038,2044 ---- message_len = tvb_get_ntohs(tvb, offset); if (q2931_tree != NULL) ! proto_tree_add_uint(q2931_tree, hf_q2931_message_len, tvb, offset, 2, message_len); offset += 2; /* Index: packet-q931.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-q931.c,v retrieving revision 1.15 diff -c -r1.15 packet-q931.c *** packet-q931.c 2000/05/29 08:57:38 1.15 --- packet-q931.c 2000/05/30 10:38:36 *************** *** 2074,2094 **** if (tree) { ti = proto_tree_add_item(tree, proto_q931, tvb, offset, ! END_OF_FRAME, NULL); q931_tree = proto_item_add_subtree(ti, ett_q931); ! proto_tree_add_item(q931_tree, hf_q931_discriminator, tvb, offset, 1, tvb_get_guint8(tvb, offset)); } offset += 1; call_ref_len = tvb_get_guint8(tvb, offset) & 0xF; /* XXX - do as a bit field? */ if (q931_tree != NULL) ! proto_tree_add_item(q931_tree, hf_q931_call_ref_len, tvb, offset, 1, call_ref_len); offset += 1; if (call_ref_len != 0) { /* XXX - split this into flag and value */ tvb_memcpy(tvb, call_ref, offset, call_ref_len); if (q931_tree != NULL) ! proto_tree_add_item(q931_tree, hf_q931_call_ref, tvb, offset, call_ref_len, call_ref); offset += call_ref_len; } message_type = tvb_get_guint8(tvb, offset); --- 2074,2094 ---- if (tree) { ti = proto_tree_add_item(tree, proto_q931, tvb, offset, ! tvb_length(tvb), FALSE); q931_tree = proto_item_add_subtree(ti, ett_q931); ! proto_tree_add_uint(q931_tree, hf_q931_discriminator, tvb, offset, 1, tvb_get_guint8(tvb, offset)); } offset += 1; call_ref_len = tvb_get_guint8(tvb, offset) & 0xF; /* XXX - do as a bit field? */ if (q931_tree != NULL) ! proto_tree_add_uint(q931_tree, hf_q931_call_ref_len, tvb, offset, 1, call_ref_len); offset += 1; if (call_ref_len != 0) { /* XXX - split this into flag and value */ tvb_memcpy(tvb, call_ref, offset, call_ref_len); if (q931_tree != NULL) ! proto_tree_add_bytes(q931_tree, hf_q931_call_ref, tvb, offset, call_ref_len, call_ref); offset += call_ref_len; } message_type = tvb_get_guint8(tvb, offset); *************** *** 2098,2104 **** "Unknown message type (0x%02X)")); } if (q931_tree != NULL) ! proto_tree_add_item(q931_tree, hf_q931_message_type, tvb, offset, 1, message_type); offset += 1; /* --- 2098,2104 ---- "Unknown message type (0x%02X)")); } if (q931_tree != NULL) ! proto_tree_add_uint(q931_tree, hf_q931_message_type, tvb, offset, 1, message_type); offset += 1; /* Index: packet-radius.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-radius.c,v retrieving revision 1.12 diff -c -r1.12 packet-radius.c *** packet-radius.c 2000/05/11 08:15:40 1.12 --- packet-radius.c 2000/05/30 10:38:38 *************** *** 704,710 **** { ti = proto_tree_add_item(tree,proto_radius, NullTVB, offset, rhlength, ! NULL); radius_tree = proto_item_add_subtree(ti, ett_radius); --- 704,710 ---- { ti = proto_tree_add_item(tree,proto_radius, NullTVB, offset, rhlength, ! FALSE); radius_tree = proto_item_add_subtree(ti, ett_radius); Index: packet-rip.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rip.c,v retrieving revision 1.15 diff -c -r1.15 packet-rip.c *** packet-rip.c 2000/05/11 08:15:40 1.15 --- packet-rip.c 2000/05/30 10:38:38 *************** *** 97,103 **** col_add_str(fd, COL_INFO, packet_type[rip_header.command]); if (tree) { ! ti = proto_tree_add_item(tree, proto_rip, NullTVB, offset, END_OF_FRAME, NULL); rip_tree = proto_item_add_subtree(ti, ett_rip); proto_tree_add_text(rip_tree, NullTVB, offset, 1, "Command: %d (%s)", rip_header.command, packet_type[rip_header.command]); --- 97,103 ---- col_add_str(fd, COL_INFO, packet_type[rip_header.command]); if (tree) { ! ti = proto_tree_add_item(tree, proto_rip, NullTVB, offset, END_OF_FRAME, FALSE); rip_tree = proto_item_add_subtree(ti, ett_rip); proto_tree_add_text(rip_tree, NullTVB, offset, 1, "Command: %d (%s)", rip_header.command, packet_type[rip_header.command]); Index: packet-ripng.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ripng.c,v retrieving revision 1.11 diff -c -r1.11 packet-ripng.c *** packet-ripng.c 2000/05/17 04:09:32 1.11 --- packet-ripng.c 2000/05/30 10:38:39 *************** *** 78,90 **** col_add_fstr(fd, COL_INFO, "%s", cmd); if (tree) { ! ti = proto_tree_add_item(tree, proto_ripng, NullTVB, offset, END_OF_FRAME, NULL); ripng_tree = proto_item_add_subtree(ti, ett_ripng); proto_tree_add_uint_format(ripng_tree, hf_ripng_cmd, NullTVB, offset, 1, rip6.rip6_cmd, "Command: %s (%u)", cmd, rip6.rip6_cmd); ! proto_tree_add_item(ripng_tree, hf_ripng_version, NullTVB, offset + 1, 1, rip6.rip6_vers); offset += 4; --- 78,90 ---- col_add_fstr(fd, COL_INFO, "%s", cmd); if (tree) { ! ti = proto_tree_add_item(tree, proto_ripng, NullTVB, offset, END_OF_FRAME, FALSE); ripng_tree = proto_item_add_subtree(ti, ett_ripng); proto_tree_add_uint_format(ripng_tree, hf_ripng_cmd, NullTVB, offset, 1, rip6.rip6_cmd, "Command: %s (%u)", cmd, rip6.rip6_cmd); ! proto_tree_add_uint(ripng_tree, hf_ripng_version, NullTVB, offset + 1, 1, rip6.rip6_vers); offset += 4; Index: packet-rlogin.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rlogin.c,v retrieving revision 1.2 diff -c -r1.2 packet-rlogin.c *** packet-rlogin.c 2000/05/11 08:15:41 1.2 --- packet-rlogin.c 2000/05/30 10:38:40 *************** *** 211,217 **** proto_item *user_info_item, *window_info_item; ti = proto_tree_add_item( tree, proto_rlogin, NullTVB, offset, ! END_OF_FRAME, NULL, "Rlogin:" ); rlogin_tree = proto_item_add_subtree(ti, ett_rlogin); --- 211,217 ---- proto_item *user_info_item, *window_info_item; ti = proto_tree_add_item( tree, proto_rlogin, NullTVB, offset, ! END_OF_FRAME, FALSE); rlogin_tree = proto_item_add_subtree(ti, ett_rlogin); *************** *** 252,258 **** if ( compare_packet_ptr( hash_info->info_row)){ /* user info ?*/ user_info_item = proto_tree_add_item( rlogin_tree, hf_user_info, NullTVB, ! offset, END_OF_FRAME, NULL ); str = &pd[ offset]; /* do server user name */ --- 252,258 ---- if ( compare_packet_ptr( hash_info->info_row)){ /* user info ?*/ user_info_item = proto_tree_add_item( rlogin_tree, hf_user_info, NullTVB, ! offset, END_OF_FRAME, FALSE); str = &pd[ offset]; /* do server user name */ *************** *** 297,303 **** CHECK_PACKET_LENGTH( 12); window_info_item = proto_tree_add_item( rlogin_tree, ! hf_window_info, NullTVB, offset, 12, NULL ); window_tree = proto_item_add_subtree( window_info_item, ett_rlogin_window); --- 297,303 ---- CHECK_PACKET_LENGTH( 12); window_info_item = proto_tree_add_item( rlogin_tree, ! hf_window_info, NullTVB, offset, 12, FALSE ); window_tree = proto_item_add_subtree( window_info_item, ett_rlogin_window); *************** *** 313,334 **** offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( window_tree, hf_window_info_rows, NullTVB, offset, 2, pntohs( &pd[offset])); offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( window_tree, hf_window_info_cols, NullTVB, offset, 2, pntohs( &pd[offset]) ); offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( window_tree, hf_window_info_x_pixels, NullTVB, offset, 2, pntohs( &pd[offset])); offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( window_tree, hf_window_info_y_pixels, NullTVB, offset, 2, pntohs( &pd[offset]) ); offset += 2; } --- 313,334 ---- offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( window_tree, hf_window_info_rows, NullTVB, offset, 2, pntohs( &pd[offset])); offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( window_tree, hf_window_info_cols, NullTVB, offset, 2, pntohs( &pd[offset]) ); offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( window_tree, hf_window_info_x_pixels, NullTVB, offset, 2, pntohs( &pd[offset])); offset += 2; CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( window_tree, hf_window_info_y_pixels, NullTVB, offset, 2, pntohs( &pd[offset]) ); offset += 2; } Index: packet-rpc.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rpc.c,v retrieving revision 1.30 diff -c -r1.30 packet-rpc.c *** packet-rpc.c 2000/05/11 08:15:41 1.30 --- packet-rpc.c 2000/05/30 10:38:42 *************** *** 338,344 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_item(tree, hfindex, NullTVB, offset, 4, value); offset += 4; return offset; --- 338,344 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return offset; value = EXTRACT_UINT(pd, offset+0); if (tree) ! proto_tree_add_boolean(tree, hfindex, NullTVB, offset, 4, value); offset += 4; return offset; *************** *** 499,505 **** string_item = proto_tree_add_text(tree, NullTVB,offset+0, END_OF_FRAME, "%s: %s", proto_registrar_get_name(hfindex), string_buffer_print); if (string_data) { ! proto_tree_add_item_hidden(tree, hfindex, NullTVB, offset+4, string_length_copy, string_buffer); } if (string_item) { --- 499,505 ---- string_item = proto_tree_add_text(tree, NullTVB,offset+0, END_OF_FRAME, "%s: %s", proto_registrar_get_name(hfindex), string_buffer_print); if (string_data) { ! proto_tree_add_string_hidden(tree, hfindex, NullTVB, offset+4, string_length_copy, string_buffer); } if (string_item) { *************** *** 585,591 **** while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_item(tree,hf_rpc_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { --- 585,591 ---- while (1) { if (!BYTES_ARE_IN_FRAME(offset,4)) break; value_follows = EXTRACT_UINT(pd, offset+0); ! proto_tree_add_boolean(tree,hf_rpc_value_follows, NullTVB, offset+0, 4, value_follows); offset += 4; if (value_follows == 1) { *************** *** 615,623 **** /* if (!BYTES_ARE_IN_FRAME(offset+8,full_length)) return; */ if (tree) { ! proto_tree_add_item(tree, hf_rpc_auth_flavor, NullTVB, offset+0, 4, flavor); ! proto_tree_add_item(tree, hf_rpc_auth_length, NullTVB, offset+4, 4, length); } --- 615,623 ---- /* if (!BYTES_ARE_IN_FRAME(offset+8,full_length)) return; */ if (tree) { ! proto_tree_add_uint(tree, hf_rpc_auth_flavor, NullTVB, offset+0, 4, flavor); ! proto_tree_add_uint(tree, hf_rpc_auth_length, NullTVB, offset+4, 4, length); } *************** *** 637,643 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return; stamp = EXTRACT_UINT(pd,offset+0); if (tree) ! proto_tree_add_item(tree, hf_rpc_auth_stamp, NullTVB, offset+0, 4, stamp); offset += 4; --- 637,643 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return; stamp = EXTRACT_UINT(pd,offset+0); if (tree) ! proto_tree_add_uint(tree, hf_rpc_auth_stamp, NullTVB, offset+0, 4, stamp); offset += 4; *************** *** 647,660 **** if (!BYTES_ARE_IN_FRAME(offset,4)) return; uid = EXTRACT_UINT(pd,offset+0); if (tree) ! proto_tree_add_item(tree, hf_rpc_auth_uid, NullTVB, offset+0, 4, uid); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return; gid = EXTRACT_UINT(pd,offset+0); if (tree) ! proto_tree_add_item(tree, hf_rpc_auth_gid, NullTVB, offset+0, 4, gid); offset += 4; --- 647,660 ---- if (!BYTES_ARE_IN_FRAME(offset,4)) return; uid = EXTRACT_UINT(pd,offset+0); if (tree) ! proto_tree_add_uint(tree, hf_rpc_auth_uid, NullTVB, offset+0, 4, uid); offset += 4; if (!BYTES_ARE_IN_FRAME(offset,4)) return; gid = EXTRACT_UINT(pd,offset+0); if (tree) ! proto_tree_add_uint(tree, hf_rpc_auth_gid, NullTVB, offset+0, 4, gid); offset += 4; *************** *** 670,676 **** for (gids_i = 0 ; gids_i < gids_count ; gids_i++) { gids_entry = EXTRACT_UINT(pd,offset+0); if (gtree) ! proto_tree_add_item(gtree, hf_rpc_auth_gid, NullTVB, offset, 4, gids_entry); offset+=4; } --- 670,676 ---- for (gids_i = 0 ; gids_i < gids_count ; gids_i++) { gids_entry = EXTRACT_UINT(pd,offset+0); if (gtree) ! proto_tree_add_uint(gtree, hf_rpc_auth_gid, NullTVB, offset, 4, gids_entry); offset+=4; } *************** *** 882,897 **** col_add_str(fd, COL_PROTOCOL, "RPC"); if (tree) { ! rpc_item = proto_tree_add_item(tree, proto_rpc, NullTVB, offset, END_OF_FRAME, NULL); if (rpc_item) { rpc_tree = proto_item_add_subtree(rpc_item, ett_rpc); } } if (use_rm && rpc_tree) { ! proto_tree_add_item(rpc_tree,hf_rpc_lastfrag, NullTVB, offset-4, 4, (rpc_rm >> 31) & 0x1); ! proto_tree_add_item(rpc_tree,hf_rpc_fraglen, NullTVB, offset-4, 4, rpc_rm & RPC_RM_FRAGLEN); } --- 882,897 ---- col_add_str(fd, COL_PROTOCOL, "RPC"); if (tree) { ! rpc_item = proto_tree_add_item(tree, proto_rpc, NullTVB, offset, END_OF_FRAME, FALSE); if (rpc_item) { rpc_tree = proto_item_add_subtree(rpc_item, ett_rpc); } } if (use_rm && rpc_tree) { ! proto_tree_add_boolean(rpc_tree,hf_rpc_lastfrag, NullTVB, offset-4, 4, (rpc_rm >> 31) & 0x1); ! proto_tree_add_uint(rpc_tree,hf_rpc_fraglen, NullTVB, offset-4, 4, rpc_rm & RPC_RM_FRAGLEN); } *************** *** 903,909 **** msg_type_name = val_to_str(msg_type,rpc_msg_type,"%u"); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_msgtype, NullTVB, offset+4, 4, msg_type); } --- 903,909 ---- msg_type_name = val_to_str(msg_type,rpc_msg_type,"%u"); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_msgtype, NullTVB, offset+4, 4, msg_type); } *************** *** 918,924 **** rpcvers = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_version, NullTVB, offset+0, 4, rpcvers); } --- 918,924 ---- rpcvers = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_version, NullTVB, offset+0, 4, rpcvers); } *************** *** 940,946 **** return TRUE; vers = EXTRACT_UINT(pd,offset+8); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_programversion, NullTVB, offset+8, 4, vers); } --- 940,946 ---- return TRUE; vers = EXTRACT_UINT(pd,offset+8); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_programversion, NullTVB, offset+8, 4, vers); } *************** *** 1003,1011 **** if (check_col(fd, COL_INFO)) { col_append_fstr(fd, COL_INFO, " dup XID 0x%x", xid); if (rpc_tree) { ! proto_tree_add_item_hidden(rpc_tree, hf_rpc_dup, NullTVB, 0,0, xid); ! proto_tree_add_item_hidden(rpc_tree, hf_rpc_call_dup, NullTVB, 0,0, xid); } } --- 1003,1011 ---- if (check_col(fd, COL_INFO)) { col_append_fstr(fd, COL_INFO, " dup XID 0x%x", xid); if (rpc_tree) { ! proto_tree_add_uint_hidden(rpc_tree, hf_rpc_dup, NullTVB, 0,0, xid); ! proto_tree_add_uint_hidden(rpc_tree, hf_rpc_call_dup, NullTVB, 0,0, xid); } } *************** *** 1085,1091 **** proto_tree_add_uint_format(rpc_tree, hf_rpc_program, NullTVB, 0, 0, prog, "Program: %s (%u)", progname, prog); ! proto_tree_add_item(rpc_tree, hf_rpc_programversion, NullTVB, 0, 0, vers); proto_tree_add_uint_format(rpc_tree, hf_rpc_procedure, NullTVB, 0, 0, proc, --- 1085,1091 ---- proto_tree_add_uint_format(rpc_tree, hf_rpc_program, NullTVB, 0, 0, prog, "Program: %s (%u)", progname, prog); ! proto_tree_add_uint(rpc_tree, hf_rpc_programversion, NullTVB, 0, 0, vers); proto_tree_add_uint_format(rpc_tree, hf_rpc_procedure, NullTVB, 0, 0, proc, *************** *** 1096,1104 **** if (check_col(fd, COL_INFO)) { col_append_fstr(fd, COL_INFO, " dup XID 0x%x", xid); if (rpc_tree) { ! proto_tree_add_item_hidden(rpc_tree, hf_rpc_dup, NullTVB, 0,0, xid); ! proto_tree_add_item_hidden(rpc_tree, hf_rpc_reply_dup, NullTVB, 0,0, xid); } } --- 1096,1104 ---- if (check_col(fd, COL_INFO)) { col_append_fstr(fd, COL_INFO, " dup XID 0x%x", xid); if (rpc_tree) { ! proto_tree_add_uint_hidden(rpc_tree, hf_rpc_dup, NullTVB, 0,0, xid); ! proto_tree_add_uint_hidden(rpc_tree, hf_rpc_reply_dup, NullTVB, 0,0, xid); } } *************** *** 1108,1114 **** return TRUE; reply_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_state_reply, NullTVB, offset+0, 4, reply_state); } offset += 4; --- 1108,1114 ---- return TRUE; reply_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_state_reply, NullTVB, offset+0, 4, reply_state); } offset += 4; *************** *** 1119,1125 **** return TRUE; accept_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_state_accept, NullTVB, offset+0, 4, accept_state); } offset += 4; --- 1119,1125 ---- return TRUE; accept_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_state_accept, NullTVB, offset+0, 4, accept_state); } offset += 4; *************** *** 1134,1143 **** vers_low = EXTRACT_UINT(pd,offset+0); vers_high = EXTRACT_UINT(pd,offset+4); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_programversion_min, NullTVB, offset+0, 4, vers_low); ! proto_tree_add_item(rpc_tree, hf_rpc_programversion_max, NullTVB, offset+4, 4, vers_high); } --- 1134,1143 ---- vers_low = EXTRACT_UINT(pd,offset+0); vers_high = EXTRACT_UINT(pd,offset+4); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_programversion_min, NullTVB, offset+0, 4, vers_low); ! proto_tree_add_uint(rpc_tree, hf_rpc_programversion_max, NullTVB, offset+4, 4, vers_high); } *************** *** 1152,1158 **** return TRUE; reject_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_state_reject, NullTVB, offset+0, 4, reject_state); } --- 1152,1158 ---- return TRUE; reject_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_state_reject, NullTVB, offset+0, 4, reject_state); } *************** *** 1164,1173 **** vers_low = EXTRACT_UINT(pd,offset+0); vers_high = EXTRACT_UINT(pd,offset+4); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_version_min, NullTVB, offset+0, 4, vers_low); ! proto_tree_add_item(rpc_tree, hf_rpc_version_max, NullTVB, offset+4, 4, vers_high); } --- 1164,1173 ---- vers_low = EXTRACT_UINT(pd,offset+0); vers_high = EXTRACT_UINT(pd,offset+4); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_version_min, NullTVB, offset+0, 4, vers_low); ! proto_tree_add_uint(rpc_tree, hf_rpc_version_max, NullTVB, offset+4, 4, vers_high); } *************** *** 1177,1183 **** return TRUE; auth_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_item(rpc_tree, hf_rpc_state_auth, NullTVB, offset+0, 4, auth_state); } --- 1177,1183 ---- return TRUE; auth_state = EXTRACT_UINT(pd,offset+0); if (rpc_tree) { ! proto_tree_add_uint(rpc_tree, hf_rpc_state_auth, NullTVB, offset+0, 4, auth_state); } *************** *** 1196,1208 **** /* create here the program specific sub-tree */ if (tree) { ! pitem = proto_tree_add_item(tree, proto, NullTVB, offset, END_OF_FRAME); if (pitem) { ptree = proto_item_add_subtree(pitem, ett); } if (ptree) { ! proto_tree_add_item(ptree, hf_rpc_programversion, NullTVB, 0, 0, vers); proto_tree_add_uint_format(ptree, hf_rpc_procedure, NullTVB, 0, 0, proc, --- 1196,1208 ---- /* create here the program specific sub-tree */ if (tree) { ! pitem = proto_tree_add_item(tree, proto, NullTVB, offset, END_OF_FRAME, FALSE); if (pitem) { ptree = proto_item_add_subtree(pitem, ett); } if (ptree) { ! proto_tree_add_uint(ptree, hf_rpc_programversion, NullTVB, 0, 0, vers); proto_tree_add_uint_format(ptree, hf_rpc_procedure, NullTVB, 0, 0, proc, Index: packet-rsvp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rsvp.c,v retrieving revision 1.21 diff -c -r1.21 packet-rsvp.c *** packet-rsvp.c 2000/05/11 08:15:41 1.21 --- packet-rsvp.c 2000/05/30 10:38:47 *************** *** 857,863 **** if (tree) { msg_length = pntohs(pd+offset+6); ! ti = proto_tree_add_item(tree, proto_rsvp, NullTVB, offset, msg_length, NULL); rsvp_tree = proto_item_add_subtree(ti, ett_rsvp); ti = proto_tree_add_text(rsvp_tree, NullTVB, offset, --- 857,863 ---- if (tree) { msg_length = pntohs(pd+offset+6); ! ti = proto_tree_add_item(tree, proto_rsvp, NullTVB, offset, msg_length, FALSE); rsvp_tree = proto_item_add_subtree(ti, ett_rsvp); ti = proto_tree_add_text(rsvp_tree, NullTVB, offset, *************** *** 868,881 **** (hdr->ver_flags & 0xf0)>>4); proto_tree_add_text(rsvp_header_tree, NullTVB, offset, 1, "Flags: %02X", hdr->ver_flags & 0xf); ! proto_tree_add_item(rsvp_header_tree, rsvp_filter[RSVPF_MSG], NullTVB, offset+1, 1, hdr->message_type); if (hdr->message_type >= RSVPF_MAX) { proto_tree_add_text(rsvp_header_tree, NullTVB, offset+1, 1, "Message Type: %u - Unknown", hdr->message_type); return; } ! proto_tree_add_item_hidden(rsvp_header_tree, rsvp_filter[RSVPF_MSG + hdr->message_type], NullTVB, offset+1, 1, 1); proto_tree_add_text(rsvp_header_tree, NullTVB, offset + 2 , 2, "Message Checksum"); proto_tree_add_text(rsvp_header_tree, NullTVB, offset + 4 , 1, "Sending TTL: %u", --- 868,881 ---- (hdr->ver_flags & 0xf0)>>4); proto_tree_add_text(rsvp_header_tree, NullTVB, offset, 1, "Flags: %02X", hdr->ver_flags & 0xf); ! proto_tree_add_uint(rsvp_header_tree, rsvp_filter[RSVPF_MSG], NullTVB, offset+1, 1, hdr->message_type); if (hdr->message_type >= RSVPF_MAX) { proto_tree_add_text(rsvp_header_tree, NullTVB, offset+1, 1, "Message Type: %u - Unknown", hdr->message_type); return; } ! proto_tree_add_item_hidden_old(rsvp_header_tree, rsvp_filter[RSVPF_MSG + hdr->message_type], NullTVB, offset+1, 1, 1); proto_tree_add_text(rsvp_header_tree, NullTVB, offset + 2 , 2, "Message Checksum"); proto_tree_add_text(rsvp_header_tree, NullTVB, offset + 4 , 1, "Sending TTL: %u", *************** *** 896,904 **** object_type = match_strval(obj->class, rsvp_class_vals); if (!object_type) object_type = "Unknown"; ! ti = proto_tree_add_item_hidden(rsvp_tree, rsvp_filter[RSVPF_OBJECT], NullTVB, offset, obj_length, obj->class); ! ti = proto_tree_add_item(rsvp_tree, rsvp_filter[rsvp_class_to_filter_num(obj->class)], NullTVB, offset, obj_length, obj->class); offset2 = offset + sizeof(rsvp_object); --- 896,904 ---- object_type = match_strval(obj->class, rsvp_class_vals); if (!object_type) object_type = "Unknown"; ! ti = proto_tree_add_uint_hidden(rsvp_tree, rsvp_filter[RSVPF_OBJECT], NullTVB, offset, obj_length, obj->class); ! ti = proto_tree_add_item_old(rsvp_tree, rsvp_filter[rsvp_class_to_filter_num(obj->class)], NullTVB, offset, obj_length, obj->class); offset2 = offset + sizeof(rsvp_object); *************** *** 917,930 **** proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 1 - IPv4"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_PROTO], NullTVB, offset2+4, 1, *(pd+offset2+4)); proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+5, 1, "Flags: %x", pntohs(pd+offset2+5)); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_PORT], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); break; } --- 917,930 ---- proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 1 - IPv4"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_ipv4(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_uint(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_PROTO], NullTVB, offset2+4, 1, *(pd+offset2+4)); proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+5, 1, "Flags: %x", pntohs(pd+offset2+5)); ! proto_tree_add_uint(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_PORT], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); break; } *************** *** 950,959 **** proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 7 - IPv4 LSP"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_TUNNEL_ID], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); memcpy(&ip_addr, pd+offset2+8, 4); --- 950,959 ---- proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 7 - IPv4 LSP"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_ipv4(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_uint(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_TUNNEL_ID], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); memcpy(&ip_addr, pd+offset2+8, 4); *************** *** 961,967 **** "Extended Tunnel ID: %lu (%s)", (unsigned long)ntohl(ip_addr), ip_to_str(pd+offset2+8)); ! proto_tree_add_item_hidden(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID], NullTVB, offset2+8, 4, ip_addr); break; } --- 961,967 ---- "Extended Tunnel ID: %lu (%s)", (unsigned long)ntohl(ip_addr), ip_to_str(pd+offset2+8)); ! proto_tree_add_uint_hidden(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID], NullTVB, offset2+8, 4, ip_addr); break; } *************** *** 1253,1262 **** proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 1 - IPv4"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_PORT], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); break; } --- 1253,1262 ---- proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 1 - IPv4"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_ipv4(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_uint(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_PORT], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); break; } *************** *** 1277,1286 **** proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 7 - IPv4 LSP"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_LSP_ID], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); break; } --- 1277,1286 ---- proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1, "C-type: 7 - IPv4 LSP"); memcpy(&ip_addr, pd+offset2, 4); ! proto_tree_add_ipv4(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_IP], NullTVB, offset2, 4, ip_addr); ! proto_tree_add_uint(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_LSP_ID], NullTVB, offset2+6, 2, pntohs(pd+offset2+6)); break; } Index: packet-rtcp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rtcp.c,v retrieving revision 1.2 diff -c -r1.2 packet-rtcp.c *** packet-rtcp.c 2000/05/11 08:15:42 1.2 --- packet-rtcp.c 2000/05/30 10:38:47 *************** *** 342,348 **** start_packet = offset; end_offset = offset + END_OF_FRAME; ! ti = proto_tree_add_item(tree, proto_rtcp, NullTVB, offset, END_OF_FRAME, NULL); rtcp_tree = proto_item_add_subtree(ti, ett_rtcp); memcpy(&hdr, data, END_OF_FRAME < sizeof(rtcp_hdr_t) ? --- 342,348 ---- start_packet = offset; end_offset = offset + END_OF_FRAME; ! ti = proto_tree_add_item(tree, proto_rtcp, NullTVB, offset, END_OF_FRAME, FALSE); rtcp_tree = proto_item_add_subtree(ti, ett_rtcp); memcpy(&hdr, data, END_OF_FRAME < sizeof(rtcp_hdr_t) ? Index: packet-rtp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rtp.c,v retrieving revision 1.3 diff -c -r1.3 packet-rtp.c *** packet-rtp.c 2000/05/11 08:15:43 1.3 --- packet-rtp.c 2000/05/30 10:38:48 *************** *** 108,114 **** if (tree) { ti = proto_tree_add_item(tree, proto_rtp, NullTVB, offset, END_OF_FRAME, ! NULL); rtp_tree = proto_item_add_subtree(ti, ett_rtp); } --- 108,114 ---- if (tree) { ti = proto_tree_add_item(tree, proto_rtp, NullTVB, offset, END_OF_FRAME, ! FALSE); rtp_tree = proto_item_add_subtree(ti, ett_rtp); } Index: packet-rtsp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rtsp.c,v retrieving revision 1.13 diff -c -r1.13 packet-rtsp.c *** packet-rtsp.c 2000/05/11 08:15:43 1.13 --- packet-rtsp.c 2000/05/30 10:38:49 *************** *** 154,160 **** rtsp_tree = NULL; if (tree) { ti = proto_tree_add_item(tree, proto_rtsp, NullTVB, offset, ! END_OF_FRAME, NULL); rtsp_tree = proto_item_add_subtree(ti, ett_rtsp); } --- 154,160 ---- rtsp_tree = NULL; if (tree) { ti = proto_tree_add_item(tree, proto_rtsp, NullTVB, offset, ! END_OF_FRAME, FALSE); rtsp_tree = proto_item_add_subtree(ti, ett_rtsp); } *************** *** 318,324 **** status_start = status; while (status < lineend && isdigit(*status)) status_i = status_i * 10 + *status++ - '0'; ! proto_tree_add_item_hidden(tree, hf_rtsp_status, NullTVB, offset + (status_start - data), status - status_start, status_i); } --- 318,324 ---- status_start = status; while (status < lineend && isdigit(*status)) status_i = status_i * 10 + *status++ - '0'; ! proto_tree_add_uint_hidden(tree, hf_rtsp_status, NullTVB, offset + (status_start - data), status - status_start, status_i); } *************** *** 340,346 **** u_char *tmp_url; /* method name */ ! proto_tree_add_item_hidden(tree, hf_rtsp_method, NullTVB, offset, strlen(rtsp_methods[ii]), rtsp_methods[ii]); /* URL */ --- 340,346 ---- u_char *tmp_url; /* method name */ ! proto_tree_add_string_hidden(tree, hf_rtsp_method, NullTVB, offset, strlen(rtsp_methods[ii]), rtsp_methods[ii]); /* URL */ *************** *** 355,361 **** tmp_url = g_malloc(url - url_start + 1); memcpy(tmp_url, url_start, url - url_start); tmp_url[url - url_start] = 0; ! proto_tree_add_item_hidden(tree, hf_rtsp_url, NullTVB, offset + (url_start - data), url - url_start, tmp_url); g_free(tmp_url); } --- 355,361 ---- tmp_url = g_malloc(url - url_start + 1); memcpy(tmp_url, url_start, url - url_start); tmp_url[url - url_start] = 0; ! proto_tree_add_string_hidden(tree, hf_rtsp_url, NullTVB, offset + (url_start - data), url - url_start, tmp_url); g_free(tmp_url); } Index: packet-rx.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-rx.c,v retrieving revision 1.11 diff -c -r1.11 packet-rx.c *** packet-rx.c 2000/05/11 08:15:43 1.11 --- packet-rx.c 2000/05/30 10:38:49 *************** *** 119,159 **** val_to_str(rxh->type,rx_types,"unknown (%d)")); rx_tree = proto_item_add_subtree(ti, ett_rx); ! proto_tree_add_item(rx_tree, hf_rx_epoch, NullTVB, offset, 4, pntohl(&rxh->epoch)); ! proto_tree_add_item(rx_tree, hf_rx_cid, NullTVB, offset+4, 4, pntohl(&rxh->cid)); ! proto_tree_add_item(rx_tree, hf_rx_callnumber, NullTVB, offset+8, 4, pntohl(&rxh->callNumber)); ! proto_tree_add_item(rx_tree, hf_rx_seq, NullTVB, offset+12, 4, pntohl(&rxh->seq)); ! proto_tree_add_item(rx_tree, hf_rx_serial, NullTVB, offset+16, 4, pntohl(&rxh->serial)); ! proto_tree_add_item(rx_tree, hf_rx_type, NullTVB, offset+20, 1, rxh->type); ! rx_flags = proto_tree_add_item(rx_tree, hf_rx_flags, NullTVB, offset+21, 1, rxh->flags); rx_tree_flags = proto_item_add_subtree(rx_flags, ett_rx_flags); ! proto_tree_add_item(rx_tree_flags, hf_rx_flags_free_packet, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_item(rx_tree_flags, hf_rx_flags_more_packets, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_item(rx_tree_flags, hf_rx_flags_last_packet, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_item(rx_tree_flags, hf_rx_flags_request_ack, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_item(rx_tree_flags, hf_rx_flags_clientinit, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_item(rx_tree, hf_rx_userstatus, NullTVB, offset+22, 1, rxh->userStatus); ! proto_tree_add_item(rx_tree, hf_rx_securityindex, NullTVB, offset+23, 1, rxh->securityIndex); ! proto_tree_add_item(rx_tree, hf_rx_spare, NullTVB, offset+24, 2, pntohs(&rxh->spare)); ! proto_tree_add_item(rx_tree, hf_rx_serviceid, NullTVB, offset+26, 2, pntohs(&rxh->serviceId)); } --- 119,159 ---- val_to_str(rxh->type,rx_types,"unknown (%d)")); rx_tree = proto_item_add_subtree(ti, ett_rx); ! proto_tree_add_uint(rx_tree, hf_rx_epoch, NullTVB, offset, 4, pntohl(&rxh->epoch)); ! proto_tree_add_uint(rx_tree, hf_rx_cid, NullTVB, offset+4, 4, pntohl(&rxh->cid)); ! proto_tree_add_uint(rx_tree, hf_rx_callnumber, NullTVB, offset+8, 4, pntohl(&rxh->callNumber)); ! proto_tree_add_uint(rx_tree, hf_rx_seq, NullTVB, offset+12, 4, pntohl(&rxh->seq)); ! proto_tree_add_uint(rx_tree, hf_rx_serial, NullTVB, offset+16, 4, pntohl(&rxh->serial)); ! proto_tree_add_uint(rx_tree, hf_rx_type, NullTVB, offset+20, 1, rxh->type); ! rx_flags = proto_tree_add_uint(rx_tree, hf_rx_flags, NullTVB, offset+21, 1, rxh->flags); rx_tree_flags = proto_item_add_subtree(rx_flags, ett_rx_flags); ! proto_tree_add_uint(rx_tree_flags, hf_rx_flags_free_packet, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_uint(rx_tree_flags, hf_rx_flags_more_packets, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_uint(rx_tree_flags, hf_rx_flags_last_packet, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_uint(rx_tree_flags, hf_rx_flags_request_ack, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_uint(rx_tree_flags, hf_rx_flags_clientinit, NullTVB, offset+21, 1, rxh->flags); ! proto_tree_add_uint(rx_tree, hf_rx_userstatus, NullTVB, offset+22, 1, rxh->userStatus); ! proto_tree_add_uint(rx_tree, hf_rx_securityindex, NullTVB, offset+23, 1, rxh->securityIndex); ! proto_tree_add_uint(rx_tree, hf_rx_spare, NullTVB, offset+24, 2, pntohs(&rxh->spare)); ! proto_tree_add_uint(rx_tree, hf_rx_serviceid, NullTVB, offset+26, 2, pntohs(&rxh->serviceId)); } Index: packet-sap.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-sap.c,v retrieving revision 1.7 diff -c -r1.7 packet-sap.c *** packet-sap.c 2000/05/11 08:15:43 1.7 --- packet-sap.c 2000/05/30 10:38:50 *************** *** 154,170 **** } if (tree) { ! si = proto_tree_add_item(tree, proto_sap, NullTVB, offset, END_OF_FRAME, NULL); sap_tree = proto_item_add_subtree(si, ett_sap); ! sif = proto_tree_add_item(sap_tree, hf_sap_flags, NullTVB, offset, 1, pd[offset]); sap_flags_tree = proto_item_add_subtree(sif, ett_sap_flags); ! proto_tree_add_item(sap_flags_tree, hf_sap_flags_v, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(sap_flags_tree, hf_sap_flags_a, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(sap_flags_tree, hf_sap_flags_r, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(sap_flags_tree, hf_sap_flags_t, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(sap_flags_tree, hf_sap_flags_e, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(sap_flags_tree, hf_sap_flags_c, NullTVB, offset, 1, pd[offset]); offset++; proto_tree_add_text(sap_tree, NullTVB, offset, 1, "Authentication Length: %u", pd[offset]); --- 154,170 ---- } if (tree) { ! si = proto_tree_add_item(tree, proto_sap, NullTVB, offset, END_OF_FRAME, FALSE); sap_tree = proto_item_add_subtree(si, ett_sap); ! sif = proto_tree_add_uint(sap_tree, hf_sap_flags, NullTVB, offset, 1, pd[offset]); sap_flags_tree = proto_item_add_subtree(sif, ett_sap_flags); ! proto_tree_add_uint(sap_flags_tree, hf_sap_flags_v, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_boolean(sap_flags_tree, hf_sap_flags_a, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_boolean(sap_flags_tree, hf_sap_flags_r, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_boolean(sap_flags_tree, hf_sap_flags_t, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_boolean(sap_flags_tree, hf_sap_flags_e, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_boolean(sap_flags_tree, hf_sap_flags_c, NullTVB, offset, 1, pd[offset]); offset++; proto_tree_add_text(sap_tree, NullTVB, offset, 1, "Authentication Length: %u", pd[offset]); *************** *** 189,202 **** auth_data_len = auth_len * sizeof(guint32); ! sdi = proto_tree_add_item(sap_tree, hf_auth_data, NullTVB, offset, auth_data_len, pd[offset]); sa_tree = proto_item_add_subtree(sdi, ett_sap_auth); ! sai = proto_tree_add_item(sa_tree, hf_auth_flags, NullTVB, offset, 1, pd[offset]); saf_tree = proto_item_add_subtree(sai, ett_sap_authf); ! proto_tree_add_item(saf_tree, hf_auth_flags_v, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(saf_tree, hf_auth_flags_p, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_item(saf_tree, hf_auth_flags_t, NullTVB, offset, 1, pd[offset]); has_pad = pd[offset]&MCAST_SAP_AUTH_BIT_P; if (has_pad) pad_len = *(pd+offset+auth_data_len-1); --- 189,202 ---- auth_data_len = auth_len * sizeof(guint32); ! sdi = proto_tree_add_item(sap_tree, hf_auth_data, NullTVB, offset, auth_data_len, FALSE); sa_tree = proto_item_add_subtree(sdi, ett_sap_auth); ! sai = proto_tree_add_uint(sa_tree, hf_auth_flags, NullTVB, offset, 1, pd[offset]); saf_tree = proto_item_add_subtree(sai, ett_sap_authf); ! proto_tree_add_uint(saf_tree, hf_auth_flags_v, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_boolean(saf_tree, hf_auth_flags_p, NullTVB, offset, 1, pd[offset]); ! proto_tree_add_uint(saf_tree, hf_auth_flags_t, NullTVB, offset, 1, pd[offset]); has_pad = pd[offset]&MCAST_SAP_AUTH_BIT_P; if (has_pad) pad_len = *(pd+offset+auth_data_len-1); Index: packet-sdp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-sdp.c,v retrieving revision 1.7 diff -c -r1.7 packet-sdp.c *** packet-sdp.c 2000/05/11 08:15:43 1.7 --- packet-sdp.c 2000/05/30 10:38:50 *************** *** 72,78 **** if (!tree) return; ! ti = proto_tree_add_item(tree, proto_sdp, NullTVB, offset, END_OF_FRAME, NULL); sdp_tree = proto_item_add_subtree(ti, ett_sdp); section = 0; --- 72,78 ---- if (!tree) return; ! ti = proto_tree_add_item(tree, proto_sdp, NullTVB, offset, END_OF_FRAME, FALSE); sdp_tree = proto_item_add_subtree(ti, ett_sdp); section = 0; Index: packet-smb-browse.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-smb-browse.c,v retrieving revision 1.3 diff -c -r1.3 packet-smb-browse.c *** packet-smb-browse.c 2000/05/11 08:15:44 1.3 --- packet-smb-browse.c 2000/05/30 10:38:52 *************** *** 167,173 **** if (tree) { /* Add the browse tree */ ! ti = proto_tree_add_item(parent, proto_smb_browse, NullTVB, DataOffset, DataCount, NULL); browse_tree = proto_item_add_subtree(ti, ett_browse); proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "OpCode: %s", (OpCode > (sizeof(browse_commands)/sizeof(char *))) ? "Error, No Such Command" : browse_commands[OpCode]); --- 167,173 ---- if (tree) { /* Add the browse tree */ ! ti = proto_tree_add_item(parent, proto_smb_browse, NullTVB, DataOffset, DataCount, FALSE); browse_tree = proto_item_add_subtree(ti, ett_browse); proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "OpCode: %s", (OpCode > (sizeof(browse_commands)/sizeof(char *))) ? "Error, No Such Command" : browse_commands[OpCode]); Index: packet-smb-logon.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-smb-logon.c,v retrieving revision 1.4 diff -c -r1.4 packet-smb-logon.c *** packet-smb-logon.c 2000/05/11 08:15:45 1.4 --- packet-smb-logon.c 2000/05/30 10:38:53 *************** *** 531,537 **** if (tree) { ti = proto_tree_add_item( parent, proto_smb_logon, NullTVB, offset, ! END_OF_FRAME, NULL); smb_logon_tree = proto_item_add_subtree(ti, ett_smb_logon); proto_tree_add_text(smb_logon_tree, NullTVB, offset, 1, --- 531,537 ---- if (tree) { ti = proto_tree_add_item( parent, proto_smb_logon, NullTVB, offset, ! END_OF_FRAME, FALSE); smb_logon_tree = proto_item_add_subtree(ti, ett_smb_logon); proto_tree_add_text(smb_logon_tree, NullTVB, offset, 1, Index: packet-smb-mailslot.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-smb-mailslot.c,v retrieving revision 1.4 diff -c -r1.4 packet-smb-mailslot.c *** packet-smb-mailslot.c 2000/05/11 08:15:45 1.4 --- packet-smb-mailslot.c 2000/05/30 10:38:53 *************** *** 92,98 **** if (tree) { ti = proto_tree_add_item( parent, proto_smb_msp, NullTVB, offset, ! END_OF_FRAME, NULL); smb_msp_tree = proto_item_add_subtree(ti, ett_smb_msp); proto_tree_add_text(smb_msp_tree, NullTVB, offset, 2, "Op code: %u (%s)", --- 92,98 ---- if (tree) { ti = proto_tree_add_item( parent, proto_smb_msp, NullTVB, offset, ! END_OF_FRAME, FALSE); smb_msp_tree = proto_item_add_subtree(ti, ett_smb_msp); proto_tree_add_text(smb_msp_tree, NullTVB, offset, 2, "Op code: %u (%s)", Index: packet-smb-pipe.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-smb-pipe.c,v retrieving revision 1.8 diff -c -r1.8 packet-smb-pipe.c *** packet-smb-pipe.c 2000/05/14 20:50:03 1.8 --- packet-smb-pipe.c 2000/05/30 10:38:56 *************** *** 593,599 **** if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, ParameterCount, NULL); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetShareEnum"); --- 593,599 ---- if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, ParameterCount, FALSE); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetShareEnum"); *************** *** 666,672 **** if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, ParameterCount, NULL); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetServerEnum2"); --- 666,672 ---- if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, ParameterCount, FALSE); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetServerEnum2"); *************** *** 762,768 **** if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, ParameterCount, NULL); lanman_tree = proto_item_add_subtree(ti, ett_lanman); if (lanman) { --- 762,768 ---- if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, ParameterCount, FALSE); lanman_tree = proto_item_add_subtree(ti, ett_lanman); if (lanman) { *************** *** 851,857 **** if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + DataOffset, END_OF_FRAME, NULL); lanman_tree = proto_item_add_subtree(ti, ett_lanman); --- 851,857 ---- if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + DataOffset, END_OF_FRAME, FALSE); lanman_tree = proto_item_add_subtree(ti, ett_lanman); *************** *** 878,884 **** if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, END_OF_FRAME, NULL); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 0, "Function Code: NetShareEnum"); --- 878,884 ---- if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, END_OF_FRAME, FALSE); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 0, "Function Code: NetShareEnum"); *************** *** 1003,1009 **** if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, END_OF_FRAME, NULL); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetServerEnum2"); --- 1003,1009 ---- if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, END_OF_FRAME, FALSE); lanman_tree = proto_item_add_subtree(ti, ett_lanman); proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetServerEnum2"); *************** *** 1166,1172 **** if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, END_OF_FRAME, NULL); lanman_tree = proto_item_add_subtree(ti, ett_lanman); if (lanman) { proto_tree_add_text(lanman_tree, NullTVB, 0, 0, "%s Response", lanman -> lanman_name); --- 1166,1172 ---- if (tree) { ! ti = proto_tree_add_item(parent, proto_smb_lanman, NullTVB, SMB_offset + ParameterOffset, END_OF_FRAME, FALSE); lanman_tree = proto_item_add_subtree(ti, ett_lanman); if (lanman) { proto_tree_add_text(lanman_tree, NullTVB, 0, 0, "%s Response", lanman -> lanman_name); Index: packet-smb.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-smb.c,v retrieving revision 1.67 diff -c -r1.67 packet-smb.c *** packet-smb.c 2000/05/25 08:38:54 1.67 --- packet-smb.c 2000/05/30 10:39:14 *************** *** 10351,10357 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_smb, NullTVB, offset, END_OF_FRAME, NULL); smb_tree = proto_item_add_subtree(ti, ett_smb); /* 0xFFSMB is actually a 1 byte msg type and 3 byte server --- 10351,10357 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_smb, NullTVB, offset, END_OF_FRAME, FALSE); smb_tree = proto_item_add_subtree(ti, ett_smb); /* 0xFFSMB is actually a 1 byte msg type and 3 byte server Index: packet-sna.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-sna.c,v retrieving revision 1.15 diff -c -r1.15 packet-sna.c *** packet-sna.c 2000/05/11 08:15:48 1.15 --- packet-sna.c 2000/05/30 10:39:17 *************** *** 332,344 **** /* Don't bother setting length. We'll set it later after we find * the lengths of TH/RH/RU */ ! sna_ti = proto_tree_add_item(tree, proto_sna, NullTVB, offset, 0, NULL); sna_tree = proto_item_add_subtree(sna_ti, ett_sna); /* --- TH --- */ /* Don't bother setting length. We'll set it later after we find * the length of TH */ ! th_ti = proto_tree_add_item(sna_tree, hf_sna_th, NullTVB, offset, 0, NULL); th_tree = proto_item_add_subtree(th_ti, ett_sna_th); } --- 332,344 ---- /* Don't bother setting length. We'll set it later after we find * the lengths of TH/RH/RU */ ! sna_ti = proto_tree_add_item(tree, proto_sna, NullTVB, offset, 0, FALSE); sna_tree = proto_item_add_subtree(sna_ti, ett_sna); /* --- TH --- */ /* Don't bother setting length. We'll set it later after we find * the length of TH */ ! th_ti = proto_tree_add_item(sna_tree, hf_sna_th, NullTVB, offset, 0, FALSE); th_tree = proto_item_add_subtree(th_ti, ett_sna_th); } *************** *** 375,381 **** /* --- RH --- */ if (BYTES_ARE_IN_FRAME(offset, 3)) { ! rh_ti = proto_tree_add_item(sna_tree, hf_sna_rh, NullTVB, offset, 3, NULL); rh_tree = proto_item_add_subtree(rh_ti, ett_sna_rh); dissect_rh(pd, offset, fd, rh_tree); sna_header_len += 3; --- 375,381 ---- /* --- RH --- */ if (BYTES_ARE_IN_FRAME(offset, 3)) { ! rh_ti = proto_tree_add_item(sna_tree, hf_sna_rh, NullTVB, offset, 3, FALSE); rh_tree = proto_item_add_subtree(rh_ti, ett_sna_rh); dissect_rh(pd, offset, fd, rh_tree); sna_header_len += 3; *************** *** 432,449 **** } /* Create the bitfield tree */ ! bf_item = proto_tree_add_item(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_item(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_efi , NullTVB,offset, 1, th_0); proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); ! proto_tree_add_item(tree, hf_sna_th_daf , NullTVB,offset+2, 1, daf); ! proto_tree_add_item(tree, hf_sna_th_oaf , NullTVB,offset+4, 1, oaf); ! proto_tree_add_item(tree, hf_sna_th_snf , NullTVB,offset+6, 2, snf); ! proto_tree_add_item(tree, hf_sna_th_dcf , NullTVB,offset+8, 2, dcf); return bytes_in_header; --- 432,449 ---- } /* Create the bitfield tree */ ! bf_item = proto_tree_add_uint(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_uint(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_efi , NullTVB,offset, 1, th_0); proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); ! proto_tree_add_uint(tree, hf_sna_th_daf , NullTVB,offset+2, 1, daf); ! proto_tree_add_uint(tree, hf_sna_th_oaf , NullTVB,offset+4, 1, oaf); ! proto_tree_add_uint(tree, hf_sna_th_snf , NullTVB,offset+6, 2, snf); ! proto_tree_add_uint(tree, hf_sna_th_dcf , NullTVB,offset+8, 2, dcf); return bytes_in_header; *************** *** 482,494 **** snf = pntohs(&pd[offset+4]); /* Create the bitfield tree */ ! bf_item = proto_tree_add_item(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_item(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_odai , NullTVB,offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_efi , NullTVB,offset, 1, th_0); /* Addresses in FID 2 are FT_UINT8 */ proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); --- 482,494 ---- snf = pntohs(&pd[offset+4]); /* Create the bitfield tree */ ! bf_item = proto_tree_add_uint(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_uint(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_odai , NullTVB,offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_efi , NullTVB,offset, 1, th_0); /* Addresses in FID 2 are FT_UINT8 */ proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); *************** *** 496,502 **** "Destination Address Field: 0x%02x", daf); proto_tree_add_uint_format(tree, hf_sna_th_oaf , NullTVB,offset+3, 1, oaf, "Origin Address Field: 0x%02x", oaf); ! proto_tree_add_item(tree, hf_sna_th_snf , NullTVB,offset+4, 2, snf); return bytes_in_header; } --- 496,502 ---- "Destination Address Field: 0x%02x", daf); proto_tree_add_uint_format(tree, hf_sna_th_oaf , NullTVB,offset+3, 1, oaf, "Origin Address Field: 0x%02x", oaf); ! proto_tree_add_uint(tree, hf_sna_th_snf , NullTVB,offset+4, 2, snf); return bytes_in_header; } *************** *** 524,537 **** lsid = pd[offset+1]; /* Create the bitfield tree */ ! bf_item = proto_tree_add_item(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_item(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_efi , NullTVB,offset, 1, th_0); ! proto_tree_add_item(tree, hf_sna_th_lsid , NullTVB,offset+1, 1, lsid); return bytes_in_header; } --- 524,537 ---- lsid = pd[offset+1]; /* Create the bitfield tree */ ! bf_item = proto_tree_add_uint(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_uint(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_efi , NullTVB,offset, 1, th_0); ! proto_tree_add_uint(tree, hf_sna_th_lsid , NullTVB,offset+1, 1, lsid); return bytes_in_header; } *************** *** 601,615 **** th_byte = pd[offset]; /* Create the bitfield tree */ ! bf_item = proto_tree_add_item(tree, hf_sna_th_0, NullTVB, offset, 1, th_byte); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 0 */ ! proto_tree_add_item(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_tg_sweep, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_er_vr_supp_ind, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_vr_pac_cnt_ind, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_ntwk_prty, NullTVB, offset, 1, th_byte); offset += 1; th_byte = pd[offset]; --- 601,615 ---- th_byte = pd[offset]; /* Create the bitfield tree */ ! bf_item = proto_tree_add_uint(tree, hf_sna_th_0, NullTVB, offset, 1, th_byte); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 0 */ ! proto_tree_add_uint(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(bf_tree, hf_sna_th_tg_sweep, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(bf_tree, hf_sna_th_er_vr_supp_ind, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(bf_tree, hf_sna_th_vr_pac_cnt_ind, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(bf_tree, hf_sna_th_ntwk_prty, NullTVB, offset, 1, th_byte); offset += 1; th_byte = pd[offset]; *************** *** 619,627 **** bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 1 */ ! proto_tree_add_item(bf_tree, hf_sna_th_tgsf, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_mft, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_piubf, NullTVB, offset, 1, th_byte); mft = th_byte & 0x04; offset += 1; --- 619,627 ---- bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 1 */ ! proto_tree_add_uint(bf_tree, hf_sna_th_tgsf, NullTVB, offset, 1, th_byte); ! proto_tree_add_boolean(bf_tree, hf_sna_th_mft, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(bf_tree, hf_sna_th_piubf, NullTVB, offset, 1, th_byte); mft = th_byte & 0x04; offset += 1; *************** *** 633,645 **** /* Byte 2 */ if (mft) { ! proto_tree_add_item(bf_tree, hf_sna_th_nlpoi, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_nlp_cp, NullTVB, offset, 1, th_byte); } else { ! proto_tree_add_item(bf_tree, hf_sna_th_iern, NullTVB, offset, 1, th_byte); } ! proto_tree_add_item(bf_tree, hf_sna_th_ern, NullTVB, offset, 1, th_byte); offset += 1; th_byte = pd[offset]; --- 633,645 ---- /* Byte 2 */ if (mft) { ! proto_tree_add_uint(bf_tree, hf_sna_th_nlpoi, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(bf_tree, hf_sna_th_nlp_cp, NullTVB, offset, 1, th_byte); } else { ! proto_tree_add_uint(bf_tree, hf_sna_th_iern, NullTVB, offset, 1, th_byte); } ! proto_tree_add_uint(bf_tree, hf_sna_th_ern, NullTVB, offset, 1, th_byte); offset += 1; th_byte = pd[offset]; *************** *** 649,656 **** bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 3 */ ! proto_tree_add_item(bf_tree, hf_sna_th_vrn, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(bf_tree, hf_sna_th_tpf, NullTVB, offset, 1, th_byte); offset += 1; th_word = pntohs(&pd[offset]); --- 649,656 ---- bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 3 */ ! proto_tree_add_uint(bf_tree, hf_sna_th_vrn, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(bf_tree, hf_sna_th_tpf, NullTVB, offset, 1, th_byte); offset += 1; th_word = pntohs(&pd[offset]); *************** *** 660,671 **** bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Bytes 4-5 */ ! proto_tree_add_item(bf_tree, hf_sna_th_vr_cwi, NullTVB, offset, 2, th_word); ! proto_tree_add_item(bf_tree, hf_sna_th_tg_nonfifo_ind, NullTVB, offset, 2, th_word); ! proto_tree_add_item(bf_tree, hf_sna_th_vr_sqti, NullTVB, offset, 2, th_word); /* I'm not sure about byte-order on this one... */ ! proto_tree_add_item(bf_tree, hf_sna_th_tg_snf, NullTVB, offset, 2, th_word); offset += 2; th_word = pntohs(&pd[offset]); --- 660,671 ---- bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Bytes 4-5 */ ! proto_tree_add_uint(bf_tree, hf_sna_th_vr_cwi, NullTVB, offset, 2, th_word); ! proto_tree_add_boolean(bf_tree, hf_sna_th_tg_nonfifo_ind, NullTVB, offset, 2, th_word); ! proto_tree_add_uint(bf_tree, hf_sna_th_vr_sqti, NullTVB, offset, 2, th_word); /* I'm not sure about byte-order on this one... */ ! proto_tree_add_uint(bf_tree, hf_sna_th_tg_snf, NullTVB, offset, 2, th_word); offset += 2; th_word = pntohs(&pd[offset]); *************** *** 675,697 **** bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Bytes 6-7 */ ! proto_tree_add_item(bf_tree, hf_sna_th_vrprq, NullTVB, offset, 2, th_word); ! proto_tree_add_item(bf_tree, hf_sna_th_vrprs, NullTVB, offset, 2, th_word); ! proto_tree_add_item(bf_tree, hf_sna_th_vr_cwri, NullTVB, offset, 2, th_word); ! proto_tree_add_item(bf_tree, hf_sna_th_vr_rwi, NullTVB, offset, 2, th_word); /* I'm not sure about byte-order on this one... */ ! proto_tree_add_item(bf_tree, hf_sna_th_vr_snf_send, NullTVB, offset, 2, th_word); offset += 2; /* Bytes 8-11 */ ! proto_tree_add_item(tree, hf_sna_th_dsaf, NullTVB, offset, 4, dsaf); offset += 4; /* Bytes 12-15 */ ! proto_tree_add_item(tree, hf_sna_th_osaf, NullTVB, offset, 4, osaf); offset += 4; th_byte = pd[offset]; --- 675,697 ---- bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Bytes 6-7 */ ! proto_tree_add_boolean(bf_tree, hf_sna_th_vrprq, NullTVB, offset, 2, th_word); ! proto_tree_add_boolean(bf_tree, hf_sna_th_vrprs, NullTVB, offset, 2, th_word); ! proto_tree_add_uint(bf_tree, hf_sna_th_vr_cwri, NullTVB, offset, 2, th_word); ! proto_tree_add_boolean(bf_tree, hf_sna_th_vr_rwi, NullTVB, offset, 2, th_word); /* I'm not sure about byte-order on this one... */ ! proto_tree_add_uint(bf_tree, hf_sna_th_vr_snf_send, NullTVB, offset, 2, th_word); offset += 2; /* Bytes 8-11 */ ! proto_tree_add_uint(tree, hf_sna_th_dsaf, NullTVB, offset, 4, dsaf); offset += 4; /* Bytes 12-15 */ ! proto_tree_add_uint(tree, hf_sna_th_osaf, NullTVB, offset, 4, osaf); offset += 4; th_byte = pd[offset]; *************** *** 701,722 **** bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 16 */ ! proto_tree_add_item(tree, hf_sna_th_snai, NullTVB, offset, 1, th_byte); /* We luck out here because in their infinite wisdom the SNA * architects placed the MPF and EFI fields in the same bitfield * locations, even though for FID4 they're not in byte 0. * Thank you IBM! */ ! proto_tree_add_item(tree, hf_sna_th_mpf, NullTVB, offset, 1, th_byte); ! proto_tree_add_item(tree, hf_sna_th_efi, NullTVB, offset, 1, th_byte); offset += 2; /* 1 for byte 16, 1 for byte 17 which is reserved */ /* Bytes 18-25 */ ! proto_tree_add_item(tree, hf_sna_th_def, NullTVB, offset+0, 2, def); ! proto_tree_add_item(tree, hf_sna_th_oef, NullTVB, offset+2, 2, oef); ! proto_tree_add_item(tree, hf_sna_th_snf, NullTVB, offset+4, 2, snf); ! proto_tree_add_item(tree, hf_sna_th_snf, NullTVB, offset+6, 2, dcf); return bytes_in_header; } --- 701,722 ---- bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); /* Byte 16 */ ! proto_tree_add_boolean(tree, hf_sna_th_snai, NullTVB, offset, 1, th_byte); /* We luck out here because in their infinite wisdom the SNA * architects placed the MPF and EFI fields in the same bitfield * locations, even though for FID4 they're not in byte 0. * Thank you IBM! */ ! proto_tree_add_uint(tree, hf_sna_th_mpf, NullTVB, offset, 1, th_byte); ! proto_tree_add_uint(tree, hf_sna_th_efi, NullTVB, offset, 1, th_byte); offset += 2; /* 1 for byte 16, 1 for byte 17 which is reserved */ /* Bytes 18-25 */ ! proto_tree_add_uint(tree, hf_sna_th_def, NullTVB, offset+0, 2, def); ! proto_tree_add_uint(tree, hf_sna_th_oef, NullTVB, offset+2, 2, oef); ! proto_tree_add_uint(tree, hf_sna_th_snf, NullTVB, offset+4, 2, snf); ! proto_tree_add_uint(tree, hf_sna_th_snf, NullTVB, offset+6, 2, dcf); return bytes_in_header; } *************** *** 744,760 **** } /* Create the bitfield tree */ ! bf_item = proto_tree_add_item(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_item(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_item(bf_tree, hf_sna_th_efi, NullTVB, offset, 1, th_0); proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); ! proto_tree_add_item(tree, hf_sna_th_snf, NullTVB, offset+2, 2, snf); ! proto_tree_add_item(tree, hf_sna_th_sa, NullTVB, offset+4, 8, &pd[offset+4]); return bytes_in_header; --- 744,760 ---- } /* Create the bitfield tree */ ! bf_item = proto_tree_add_uint(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_uint(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_mpf, NullTVB, offset, 1, th_0); ! proto_tree_add_uint(bf_tree, hf_sna_th_efi, NullTVB, offset, 1, th_0); proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); ! proto_tree_add_uint(tree, hf_sna_th_snf, NullTVB, offset+2, 2, snf); ! proto_tree_add_bytes(tree, hf_sna_th_sa, NullTVB, offset+4, 8, &pd[offset+4]); return bytes_in_header; *************** *** 788,806 **** } /* Create the bitfield tree */ ! bf_item = proto_tree_add_item(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_item(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); ! proto_tree_add_item(tree, hf_sna_th_cmd_fmt, NullTVB, offset+2, 1, cmd_fmt); ! proto_tree_add_item(tree, hf_sna_th_cmd_type, NullTVB, offset+3, 1, cmd_type); ! proto_tree_add_item(tree, hf_sna_th_cmd_sn, NullTVB, offset+4, 2, cmd_sn); proto_tree_add_text(tree, NullTVB, offset+6, 18, "Reserved"); ! proto_tree_add_item(tree, hf_sna_th_dcf, NullTVB, offset+24, 8, dcf); return bytes_in_header; } --- 788,806 ---- } /* Create the bitfield tree */ ! bf_item = proto_tree_add_uint(tree, hf_sna_th_0, NullTVB, offset, 1, th_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid); ! proto_tree_add_uint(bf_tree, hf_sna_th_fid, NullTVB, offset, 1, th_0); proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved"); ! proto_tree_add_uint(tree, hf_sna_th_cmd_fmt, NullTVB, offset+2, 1, cmd_fmt); ! proto_tree_add_uint(tree, hf_sna_th_cmd_type, NullTVB, offset+3, 1, cmd_type); ! proto_tree_add_uint(tree, hf_sna_th_cmd_sn, NullTVB, offset+4, 2, cmd_sn); proto_tree_add_text(tree, NullTVB, offset+6, 18, "Reserved"); ! proto_tree_add_uint(tree, hf_sna_th_dcf, NullTVB, offset+24, 8, dcf); return bytes_in_header; } *************** *** 822,877 **** is_response = (rh_0 & 0x80); /* Create the bitfield tree for byte 0*/ ! bf_item = proto_tree_add_item(tree, hf_sna_rh_0, NullTVB, offset, 1, rh_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_rh_0); ! proto_tree_add_item(bf_tree, hf_sna_rh_rri, NullTVB, offset, 1, rh_0); ! proto_tree_add_item(bf_tree, hf_sna_rh_ru_category, NullTVB, offset, 1, rh_0); ! proto_tree_add_item(bf_tree, hf_sna_rh_fi, NullTVB, offset, 1, rh_0); ! proto_tree_add_item(bf_tree, hf_sna_rh_sdi, NullTVB, offset, 1, rh_0); ! proto_tree_add_item(bf_tree, hf_sna_rh_bci, NullTVB, offset, 1, rh_0); ! proto_tree_add_item(bf_tree, hf_sna_rh_eci, NullTVB, offset, 1, rh_0); offset += 1; /* Create the bitfield tree for byte 1*/ ! bf_item = proto_tree_add_item(tree, hf_sna_rh_1, NullTVB, offset, 1, rh_1); bf_tree = proto_item_add_subtree(bf_item, ett_sna_rh_1); ! proto_tree_add_item(bf_tree, hf_sna_rh_dr1, NullTVB, offset, 1, rh_1); if (!is_response) { ! proto_tree_add_item(bf_tree, hf_sna_rh_lcci, NullTVB, offset, 1, rh_1); } ! proto_tree_add_item(bf_tree, hf_sna_rh_dr2, NullTVB, offset, 1, rh_1); if (is_response) { ! proto_tree_add_item(bf_tree, hf_sna_rh_rti, NullTVB, offset, 1, rh_1); } else { ! proto_tree_add_item(bf_tree, hf_sna_rh_eri, NullTVB, offset, 1, rh_1); ! proto_tree_add_item(bf_tree, hf_sna_rh_rlwi, NullTVB, offset, 1, rh_1); } ! proto_tree_add_item(bf_tree, hf_sna_rh_qri, NullTVB, offset, 1, rh_1); ! proto_tree_add_item(bf_tree, hf_sna_rh_pi, NullTVB, offset, 1, rh_1); offset += 1; /* Create the bitfield tree for byte 2*/ ! bf_item = proto_tree_add_item(tree, hf_sna_rh_2, NullTVB, offset, 1, rh_2); if (!is_response) { bf_tree = proto_item_add_subtree(bf_item, ett_sna_rh_2); ! proto_tree_add_item(bf_tree, hf_sna_rh_bbi, NullTVB, offset, 1, rh_2); ! proto_tree_add_item(bf_tree, hf_sna_rh_ebi, NullTVB, offset, 1, rh_2); ! proto_tree_add_item(bf_tree, hf_sna_rh_cdi, NullTVB, offset, 1, rh_2); ! proto_tree_add_item(bf_tree, hf_sna_rh_csi, NullTVB, offset, 1, rh_2); ! proto_tree_add_item(bf_tree, hf_sna_rh_edi, NullTVB, offset, 1, rh_2); ! proto_tree_add_item(bf_tree, hf_sna_rh_pdi, NullTVB, offset, 1, rh_2); ! proto_tree_add_item(bf_tree, hf_sna_rh_cebi, NullTVB, offset, 1, rh_2); } /* XXX - check for sdi. If TRUE, the next 4 bytes will be sense data */ --- 822,877 ---- is_response = (rh_0 & 0x80); /* Create the bitfield tree for byte 0*/ ! bf_item = proto_tree_add_uint(tree, hf_sna_rh_0, NullTVB, offset, 1, rh_0); bf_tree = proto_item_add_subtree(bf_item, ett_sna_rh_0); ! proto_tree_add_uint(bf_tree, hf_sna_rh_rri, NullTVB, offset, 1, rh_0); ! proto_tree_add_uint(bf_tree, hf_sna_rh_ru_category, NullTVB, offset, 1, rh_0); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_fi, NullTVB, offset, 1, rh_0); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_sdi, NullTVB, offset, 1, rh_0); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_bci, NullTVB, offset, 1, rh_0); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_eci, NullTVB, offset, 1, rh_0); offset += 1; /* Create the bitfield tree for byte 1*/ ! bf_item = proto_tree_add_uint(tree, hf_sna_rh_1, NullTVB, offset, 1, rh_1); bf_tree = proto_item_add_subtree(bf_item, ett_sna_rh_1); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_dr1, NullTVB, offset, 1, rh_1); if (!is_response) { ! proto_tree_add_boolean(bf_tree, hf_sna_rh_lcci, NullTVB, offset, 1, rh_1); } ! proto_tree_add_boolean(bf_tree, hf_sna_rh_dr2, NullTVB, offset, 1, rh_1); if (is_response) { ! proto_tree_add_boolean(bf_tree, hf_sna_rh_rti, NullTVB, offset, 1, rh_1); } else { ! proto_tree_add_boolean(bf_tree, hf_sna_rh_eri, NullTVB, offset, 1, rh_1); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_rlwi, NullTVB, offset, 1, rh_1); } ! proto_tree_add_boolean(bf_tree, hf_sna_rh_qri, NullTVB, offset, 1, rh_1); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_pi, NullTVB, offset, 1, rh_1); offset += 1; /* Create the bitfield tree for byte 2*/ ! bf_item = proto_tree_add_uint(tree, hf_sna_rh_2, NullTVB, offset, 1, rh_2); if (!is_response) { bf_tree = proto_item_add_subtree(bf_item, ett_sna_rh_2); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_bbi, NullTVB, offset, 1, rh_2); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_ebi, NullTVB, offset, 1, rh_2); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_cdi, NullTVB, offset, 1, rh_2); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_csi, NullTVB, offset, 1, rh_2); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_edi, NullTVB, offset, 1, rh_2); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_pdi, NullTVB, offset, 1, rh_2); ! proto_tree_add_boolean(bf_tree, hf_sna_rh_cebi, NullTVB, offset, 1, rh_2); } /* XXX - check for sdi. If TRUE, the next 4 bytes will be sense data */ Index: packet-snmp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-snmp.c,v retrieving revision 1.35 diff -c -r1.35 packet-snmp.c *** packet-snmp.c 2000/05/30 03:35:54 1.35 --- packet-snmp.c 2000/05/30 10:39:20 *************** *** 1217,1223 **** if (tree) { item = proto_tree_add_item(tree, proto, NullTVB, offset, ! END_OF_FRAME, NULL); snmp_tree = proto_item_add_subtree(item, ett); } --- 1217,1223 ---- if (tree) { item = proto_tree_add_item(tree, proto, NullTVB, offset, ! END_OF_FRAME, FALSE); snmp_tree = proto_item_add_subtree(item, ett); } *************** *** 1325,1335 **** hf_snmpv3_flags, NullTVB, offset, length, msgflags[0], "Flags: 0x%02x", msgflags[0]); flags_tree = proto_item_add_subtree(item, ett_flags); ! proto_tree_add_item(flags_tree, hf_snmpv3_flags_report, NullTVB, offset, length, msgflags[0]); ! proto_tree_add_item(flags_tree, hf_snmpv3_flags_crypt, NullTVB, offset, length, msgflags[0]); ! proto_tree_add_item(flags_tree, hf_snmpv3_flags_auth, NullTVB, offset, length, msgflags[0]); } encrypted = msgflags[0] & TH_CRYPT; --- 1325,1335 ---- hf_snmpv3_flags, NullTVB, offset, length, msgflags[0], "Flags: 0x%02x", msgflags[0]); flags_tree = proto_item_add_subtree(item, ett_flags); ! proto_tree_add_boolean(flags_tree, hf_snmpv3_flags_report, NullTVB, offset, length, msgflags[0]); ! proto_tree_add_boolean(flags_tree, hf_snmpv3_flags_crypt, NullTVB, offset, length, msgflags[0]); ! proto_tree_add_boolean(flags_tree, hf_snmpv3_flags_auth, NullTVB, offset, length, msgflags[0]); } encrypted = msgflags[0] & TH_CRYPT; *************** *** 1610,1616 **** if (tree) { item = proto_tree_add_item(tree, proto, NullTVB, offset, ! END_OF_FRAME, NULL); smux_tree = proto_item_add_subtree(item, ett); } --- 1610,1616 ---- if (tree) { item = proto_tree_add_item(tree, proto, NullTVB, offset, ! END_OF_FRAME, FALSE); smux_tree = proto_item_add_subtree(item, ett); } Index: packet-socks.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-socks.c,v retrieving revision 1.4 diff -c -r1.4 packet-socks.c *** packet-socks.c 2000/05/11 08:15:49 1.4 --- packet-socks.c 2000/05/30 10:39:23 *************** *** 308,314 **** if ( (offset + 4) > fd->cap_len) proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***"); ! proto_tree_add_item( tree, hf_socks_ip_dst, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; } --- 308,314 ---- if ( (offset + 4) > fd->cap_len) proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***"); ! proto_tree_add_ipv4( tree, hf_socks_ip_dst, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; } *************** *** 321,328 **** if ((offset + 16) > fd->cap_len) proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***"); ! proto_tree_add_item( tree, hf_socks_ip6_dst, NullTVB, offset, ! 4, GWORD( pd, offset)); offset += 16; } --- 321,328 ---- if ((offset + 16) > fd->cap_len) proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***"); ! proto_tree_add_ipv6( tree, hf_socks_ip6_dst, NullTVB, offset, ! 4, &pd[offset]); offset += 16; } *************** *** 385,392 **** col_add_fstr(fd, COL_INFO, "Version: 5, UDP Associated packet"); if ( tree) { ! ti = proto_tree_add_item( tree, proto_socks, NullTVB, offset, ! END_OF_FRAME, NULL, "Socks:" ); socks_tree = proto_item_add_subtree(ti, ett_socks); --- 385,392 ---- col_add_fstr(fd, COL_INFO, "Version: 5, UDP Associated packet"); if ( tree) { ! ti = proto_tree_add_protocol_format( tree, proto_socks, NullTVB, offset, ! END_OF_FRAME, "Socks" ); socks_tree = proto_item_add_subtree(ti, ett_socks); *************** *** 403,409 **** hash_info->udp_remote_port = pntohs( &pd[ offset]); CHECK_PACKET_LENGTH( 2); ! proto_tree_add_item( socks_tree, hf_socks_dstport, NullTVB, offset, 2, hash_info->udp_remote_port); offset += 2; --- 403,409 ---- hash_info->udp_remote_port = pntohs( &pd[ offset]); CHECK_PACKET_LENGTH( 2); ! proto_tree_add_uint( socks_tree, hf_socks_dstport, NullTVB, offset, 2, hash_info->udp_remote_port); offset += 2; *************** *** 475,493 **** ++offset; /* Do remote port */ ! proto_tree_add_item( tree, hf_socks_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; /* Do destination address */ ! proto_tree_add_item( tree, hf_socks_ip_dst, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; /*$$ check this, needs to do length checking */ /* display user name */ ! proto_tree_add_item( tree, hf_user_name, NullTVB, offset, strlen( &pd[offset]) + 1, &pd[offset]); --- 475,493 ---- ++offset; /* Do remote port */ ! proto_tree_add_uint( tree, hf_socks_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2; /* Do destination address */ ! proto_tree_add_ipv4( tree, hf_socks_ip_dst, NullTVB, offset, 4, GWORD( pd, offset)); offset += 4; /*$$ check this, needs to do length checking */ /* display user name */ ! proto_tree_add_string( tree, hf_user_name, NullTVB, offset, strlen( &pd[offset]) + 1, &pd[offset]); *************** *** 507,517 **** ++offset; /* Do remote port */ ! proto_tree_add_item( tree, hf_socks_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2;; /* Do remote address */ ! proto_tree_add_item( tree, hf_socks_ip_dst, NullTVB, offset, 4, GWORD( pd, offset)); } --- 507,517 ---- ++offset; /* Do remote port */ ! proto_tree_add_uint( tree, hf_socks_dstport, NullTVB, offset, 2, pntohs( &pd[ offset])); offset += 2;; /* Do remote address */ ! proto_tree_add_ipv4( tree, hf_socks_ip_dst, NullTVB, offset, 4, GWORD( pd, offset)); } *************** *** 546,552 **** CHECK_PACKET_LENGTH( 2); /* Do version */ ! proto_tree_add_item( tree, hf_socks_ver, NullTVB, offset, 1, hash_info->version); ++offset; --- 546,552 ---- CHECK_PACKET_LENGTH( 2); /* Do version */ ! proto_tree_add_uint( tree, hf_socks_ver, NullTVB, offset, 1, hash_info->version); ++offset; *************** *** 1025,1031 **** if (tree) { ti = proto_tree_add_item( tree, proto_socks, NullTVB, offset, ! END_OF_FRAME, NULL, "Socks:" ); socks_tree = proto_item_add_subtree(ti, ett_socks); --- 1025,1031 ---- if (tree) { ti = proto_tree_add_item( tree, proto_socks, NullTVB, offset, ! END_OF_FRAME, FALSE ); socks_tree = proto_item_add_subtree(ti, ett_socks); *************** *** 1044,1057 **** "Command: %d (%s)", hash_info->command, get_command_name(hash_info->command)); ! proto_tree_add_item( socks_tree, hf_socks_ip_dst, NullTVB, offset, 0, hash_info->dst_addr); /* no fake address for ping & traceroute */ if (( hash_info->command != PING_COMMAND) && ( hash_info->command != TRACERT_COMMAND)){ ! proto_tree_add_item( socks_tree, hf_socks_dstport, NullTVB, offset, 0, hash_info->port); } } --- 1044,1057 ---- "Command: %d (%s)", hash_info->command, get_command_name(hash_info->command)); ! proto_tree_add_ipv4( socks_tree, hf_socks_ip_dst, NullTVB, offset, 0, hash_info->dst_addr); /* no fake address for ping & traceroute */ if (( hash_info->command != PING_COMMAND) && ( hash_info->command != TRACERT_COMMAND)){ ! proto_tree_add_uint( socks_tree, hf_socks_dstport, NullTVB, offset, 0, hash_info->port); } } *************** *** 1152,1156 **** dissector_add("tcp.port", TCP_PORT_SOCKS, dissect_socks); } - - --- 1152,1154 ---- Index: packet-srvloc.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-srvloc.c,v retrieving revision 1.8 diff -c -r1.8 packet-srvloc.c *** packet-srvloc.c 2000/05/11 08:15:52 1.8 --- packet-srvloc.c 2000/05/30 10:39:24 *************** *** 192,198 **** col_add_str(fd, COL_INFO, val_to_str(pd[offset + 1], srvloc_functions, "Unknown Function (%d)")); if (tree) { ! ti = proto_tree_add_item(tree, proto_srvloc, NullTVB, offset, END_OF_FRAME, NULL); srvloc_tree = proto_item_add_subtree(ti, ett_srvloc); if ( END_OF_FRAME > sizeof(srvloc_hdr) ) { --- 192,198 ---- col_add_str(fd, COL_INFO, val_to_str(pd[offset + 1], srvloc_functions, "Unknown Function (%d)")); if (tree) { ! ti = proto_tree_add_item(tree, proto_srvloc, NullTVB, offset, END_OF_FRAME, FALSE); srvloc_tree = proto_item_add_subtree(ti, ett_srvloc); if ( END_OF_FRAME > sizeof(srvloc_hdr) ) { *************** *** 200,209 **** srvloc_hdr.length = pntohs(&srvloc_hdr.length); srvloc_hdr.encoding = pntohs(&srvloc_hdr.encoding); srvloc_hdr.xid = pntohs(&srvloc_hdr.xid); ! proto_tree_add_item(srvloc_tree, hf_srvloc_version, NullTVB, offset, 1, srvloc_hdr.version); ! proto_tree_add_item(srvloc_tree, hf_srvloc_function, NullTVB, offset + 1, 1, srvloc_hdr.function); proto_tree_add_text(srvloc_tree, NullTVB, offset + 2, 2, "Length: %d",srvloc_hdr.length); ! tf = proto_tree_add_item(srvloc_tree, hf_srvloc_flags, NullTVB, offset + 4, 1, srvloc_hdr.flags); srvloc_flags = proto_item_add_subtree(tf, ett_srvloc_flags); proto_tree_add_text(srvloc_flags, NullTVB, offset + 4, 0, "Overflow %d... .xxx", (srvloc_hdr.flags & FLAG_O) >> 7 ); proto_tree_add_text(srvloc_flags, NullTVB, offset + 4, 0, "Monolingual .%d.. .xxx", (srvloc_hdr.flags & FLAG_M) >> 6 ); --- 200,209 ---- srvloc_hdr.length = pntohs(&srvloc_hdr.length); srvloc_hdr.encoding = pntohs(&srvloc_hdr.encoding); srvloc_hdr.xid = pntohs(&srvloc_hdr.xid); ! proto_tree_add_uint(srvloc_tree, hf_srvloc_version, NullTVB, offset, 1, srvloc_hdr.version); ! proto_tree_add_uint(srvloc_tree, hf_srvloc_function, NullTVB, offset + 1, 1, srvloc_hdr.function); proto_tree_add_text(srvloc_tree, NullTVB, offset + 2, 2, "Length: %d",srvloc_hdr.length); ! tf = proto_tree_add_uint(srvloc_tree, hf_srvloc_flags, NullTVB, offset + 4, 1, srvloc_hdr.flags); srvloc_flags = proto_item_add_subtree(tf, ett_srvloc_flags); proto_tree_add_text(srvloc_flags, NullTVB, offset + 4, 0, "Overflow %d... .xxx", (srvloc_hdr.flags & FLAG_O) >> 7 ); proto_tree_add_text(srvloc_flags, NullTVB, offset + 4, 0, "Monolingual .%d.. .xxx", (srvloc_hdr.flags & FLAG_M) >> 6 ); *************** *** 237,243 **** case SRVRPLY: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Reply"); ! proto_tree_add_item(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL Count: %d", pntohs(&pd[offset])); offset += 2; --- 237,243 ---- case SRVRPLY: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Reply"); ! proto_tree_add_uint(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL Count: %d", pntohs(&pd[offset])); offset += 2; *************** *** 294,300 **** case SRVACK: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Acknowledge"); ! proto_tree_add_item(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; break; --- 294,300 ---- case SRVACK: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Acknowledge"); ! proto_tree_add_uint(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; break; *************** *** 324,330 **** case ATTRRPLY: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Attribute Reply"); ! proto_tree_add_item(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; length = pntohs(&pd[offset]); proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Attribute List length: %d", length); --- 324,330 ---- case ATTRRPLY: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Attribute Reply"); ! proto_tree_add_uint(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; length = pntohs(&pd[offset]); proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Attribute List length: %d", length); *************** *** 337,343 **** case DAADVERT: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "DA Advertisement"); ! proto_tree_add_item(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; length = pntohs(&pd[offset]); proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL length: %d", length); --- 337,343 ---- case DAADVERT: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "DA Advertisement"); ! proto_tree_add_uint(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; length = pntohs(&pd[offset]); proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL length: %d", length); *************** *** 372,378 **** case SRVTYPERPLY: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Type Reply"); ! proto_tree_add_item(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Service Type Count: %d", pntohs(&pd[offset])); offset += 2; --- 372,378 ---- case SRVTYPERPLY: proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Type Reply"); ! proto_tree_add_uint(srvloc_tree, hf_srvloc_error, NullTVB, offset, 2, pd[offset]);; offset += 2; proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Service Type Count: %d", pntohs(&pd[offset])); offset += 2; Index: packet-tacacs.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-tacacs.c,v retrieving revision 1.4 diff -c -r1.4 packet-tacacs.c *** packet-tacacs.c 2000/05/11 08:15:52 1.4 --- packet-tacacs.c 2000/05/30 10:39:25 *************** *** 68,88 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, NULL); tacacs_tree = proto_item_add_subtree(ti, ett_tacacs); ! proto_tree_add_item(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "XTacacs"); if (pi.match_port == pi.destport) { ! proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); --- 68,88 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, FALSE); tacacs_tree = proto_item_add_subtree(ti, ett_tacacs); ! proto_tree_add_string(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "XTacacs"); if (pi.match_port == pi.destport) { ! proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); *************** *** 106,126 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, NULL); tacacs_tree = proto_item_add_subtree(ti, ett_tacacs); ! proto_tree_add_item(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "Tacacs+"); if (pi.match_port == pi.destport) { ! proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); --- 106,126 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_tacacs, NullTVB, offset, END_OF_FRAME, FALSE); tacacs_tree = proto_item_add_subtree(ti, ett_tacacs); ! proto_tree_add_string(tacacs_tree, hf_tacacs_version, NullTVB, 0, 0, "Tacacs+"); if (pi.match_port == pi.destport) { ! proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_boolean_hidden(tacacs_tree, hf_tacacs_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tacacs_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); Index: packet-tcp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-tcp.c,v retrieving revision 1.74 diff -c -r1.74 packet-tcp.c *** packet-tcp.c 2000/05/11 08:15:52 1.74 --- packet-tcp.c 2000/05/30 10:39:26 *************** *** 480,505 **** "Source port: %s (%u)", get_tcp_port(th.th_sport), th.th_sport); proto_tree_add_uint_format(tcp_tree, hf_tcp_dstport, NullTVB, offset + 2, 2, th.th_dport, "Destination port: %s (%u)", get_tcp_port(th.th_dport), th.th_dport); ! proto_tree_add_item_hidden(tcp_tree, hf_tcp_port, NullTVB, offset, 2, th.th_sport); ! proto_tree_add_item_hidden(tcp_tree, hf_tcp_port, NullTVB, offset + 2, 2, th.th_dport); ! proto_tree_add_item(tcp_tree, hf_tcp_seq, NullTVB, offset + 4, 4, th.th_seq); if (th.th_flags & TH_ACK) ! proto_tree_add_item(tcp_tree, hf_tcp_ack, NullTVB, offset + 8, 4, th.th_ack); proto_tree_add_uint_format(tcp_tree, hf_tcp_hdr_len, NullTVB, offset + 12, 1, hlen, "Header length: %u bytes", hlen); tf = proto_tree_add_uint_format(tcp_tree, hf_tcp_flags, NullTVB, offset + 13, 1, th.th_flags, "Flags: 0x%04x (%s)", th.th_flags, flags); field_tree = proto_item_add_subtree(tf, ett_tcp_flags); ! proto_tree_add_item(field_tree, hf_tcp_flags_urg, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_item(field_tree, hf_tcp_flags_ack, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_item(field_tree, hf_tcp_flags_push, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_item(field_tree, hf_tcp_flags_reset, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_item(field_tree, hf_tcp_flags_syn, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_item(field_tree, hf_tcp_flags_fin, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_item(tcp_tree, hf_tcp_window_size, NullTVB, offset + 14, 2, th.th_win); ! proto_tree_add_item(tcp_tree, hf_tcp_checksum, NullTVB, offset + 16, 2, th.th_sum); if (th.th_flags & TH_URG) ! proto_tree_add_item(tcp_tree, hf_tcp_urgent_pointer, NullTVB, offset + 18, 2, th.th_urp); } /* Decode TCP options, if any. */ --- 480,505 ---- "Source port: %s (%u)", get_tcp_port(th.th_sport), th.th_sport); proto_tree_add_uint_format(tcp_tree, hf_tcp_dstport, NullTVB, offset + 2, 2, th.th_dport, "Destination port: %s (%u)", get_tcp_port(th.th_dport), th.th_dport); ! proto_tree_add_uint_hidden(tcp_tree, hf_tcp_port, NullTVB, offset, 2, th.th_sport); ! proto_tree_add_uint_hidden(tcp_tree, hf_tcp_port, NullTVB, offset + 2, 2, th.th_dport); ! proto_tree_add_uint(tcp_tree, hf_tcp_seq, NullTVB, offset + 4, 4, th.th_seq); if (th.th_flags & TH_ACK) ! proto_tree_add_uint(tcp_tree, hf_tcp_ack, NullTVB, offset + 8, 4, th.th_ack); proto_tree_add_uint_format(tcp_tree, hf_tcp_hdr_len, NullTVB, offset + 12, 1, hlen, "Header length: %u bytes", hlen); tf = proto_tree_add_uint_format(tcp_tree, hf_tcp_flags, NullTVB, offset + 13, 1, th.th_flags, "Flags: 0x%04x (%s)", th.th_flags, flags); field_tree = proto_item_add_subtree(tf, ett_tcp_flags); ! proto_tree_add_boolean(field_tree, hf_tcp_flags_urg, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_boolean(field_tree, hf_tcp_flags_ack, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_boolean(field_tree, hf_tcp_flags_push, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_boolean(field_tree, hf_tcp_flags_reset, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_boolean(field_tree, hf_tcp_flags_syn, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_boolean(field_tree, hf_tcp_flags_fin, NullTVB, offset + 13, 1, th.th_flags); ! proto_tree_add_uint(tcp_tree, hf_tcp_window_size, NullTVB, offset + 14, 2, th.th_win); ! proto_tree_add_uint(tcp_tree, hf_tcp_checksum, NullTVB, offset + 16, 2, th.th_sum); if (th.th_flags & TH_URG) ! proto_tree_add_uint(tcp_tree, hf_tcp_urgent_pointer, NullTVB, offset + 18, 2, th.th_urp); } /* Decode TCP options, if any. */ Index: packet-telnet.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-telnet.c,v retrieving revision 1.12 diff -c -r1.12 packet-telnet.c *** packet-telnet.c 2000/05/11 08:15:52 1.12 --- packet-telnet.c 2000/05/30 10:39:26 *************** *** 307,313 **** int data_offset; int data_len; ! ti = proto_tree_add_item(tree, proto_telnet, NullTVB, offset, END_OF_FRAME, NULL); telnet_tree = proto_item_add_subtree(ti, ett_telnet); data_offset = offset; --- 307,313 ---- int data_offset; int data_len; ! ti = proto_tree_add_item(tree, proto_telnet, NullTVB, offset, END_OF_FRAME, FALSE); telnet_tree = proto_item_add_subtree(ti, ett_telnet); data_offset = offset; Index: packet-tftp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-tftp.c,v retrieving revision 1.11 diff -c -r1.11 packet-tftp.c *** packet-tftp.c 2000/05/11 08:15:53 1.11 --- packet-tftp.c 2000/05/30 10:39:27 *************** *** 97,107 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_tftp, NullTVB, offset, END_OF_FRAME, NULL); tftp_tree = proto_item_add_subtree(ti, ett_tftp); i1 = pntohs(pd+offset); ! proto_tree_add_item_hidden(tftp_tree, hf_tftp_type, NullTVB, offset, 2, i1); switch (i1) { case RRQ: --- 97,107 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_tftp, NullTVB, offset, END_OF_FRAME, FALSE); tftp_tree = proto_item_add_subtree(ti, ett_tftp); i1 = pntohs(pd+offset); ! proto_tree_add_uint_hidden(tftp_tree, hf_tftp_type, NullTVB, offset, 2, i1); switch (i1) { case RRQ: *************** *** 159,165 **** proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Error Code"); offset += 2; i1 = pntohs(pd+offset); ! proto_tree_add_item_hidden(tftp_tree, hf_tftp_error_code, NullTVB, offset, 2, i1); proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Code = %s", tftp_errors[i1 % 8]); offset += 2; proto_tree_add_text(tftp_tree, NullTVB, offset, END_OF_FRAME, "Error Message: %s", pd + offset); --- 159,165 ---- proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Error Code"); offset += 2; i1 = pntohs(pd+offset); ! proto_tree_add_uint_hidden(tftp_tree, hf_tftp_error_code, NullTVB, offset, 2, i1); proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Code = %s", tftp_errors[i1 % 8]); offset += 2; proto_tree_add_text(tftp_tree, NullTVB, offset, END_OF_FRAME, "Error Message: %s", pd + offset); Index: packet-time.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-time.c,v retrieving revision 1.5 diff -c -r1.5 packet-time.c *** packet-time.c 2000/05/11 08:15:53 1.5 --- packet-time.c 2000/05/30 10:39:28 *************** *** 56,62 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_time, NullTVB, offset, END_OF_FRAME, NULL); time_tree = proto_item_add_subtree(ti, ett_time); proto_tree_add_text(time_tree, NullTVB, offset, 0, --- 56,62 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_time, NullTVB, offset, END_OF_FRAME, FALSE); time_tree = proto_item_add_subtree(ti, ett_time); proto_tree_add_text(time_tree, NullTVB, offset, 0, Index: packet-tns.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-tns.c,v retrieving revision 1.6 diff -c -r1.6 packet-tns.c *** packet-tns.c 2000/05/11 08:15:53 1.6 --- packet-tns.c 2000/05/30 10:39:28 *************** *** 88,94 **** ti = proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Secure Network Services"); sns_tree = proto_item_add_subtree(ti, ett_tns_sns); ! proto_tree_add_item_hidden(tns_tree, hf_tns_sns, NullTVB, 0, 0, TRUE); } if ( check_col(fd, COL_INFO) ) --- 88,94 ---- ti = proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Secure Network Services"); sns_tree = proto_item_add_subtree(ti, ett_tns_sns); ! proto_tree_add_boolean_hidden(tns_tree, hf_tns_sns, NullTVB, 0, 0, TRUE); } if ( check_col(fd, COL_INFO) ) *************** *** 109,115 **** TRUNC(2); if ( tree ) { ! proto_tree_add_item(tns_tree, hf_tns_data_flag, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; --- 109,115 ---- TRUNC(2); if ( tree ) { ! proto_tree_add_uint(tns_tree, hf_tns_data_flag, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; *************** *** 138,144 **** ti = proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Connect"); connect_tree = proto_item_add_subtree(ti, ett_tns_connect); ! proto_tree_add_item_hidden(tns_tree, hf_tns_connect, NullTVB, 0, 0, TRUE); } if ( check_col(fd, COL_INFO) ) --- 138,144 ---- ti = proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Connect"); connect_tree = proto_item_add_subtree(ti, ett_tns_connect); ! proto_tree_add_boolean_hidden(tns_tree, hf_tns_connect, NullTVB, 0, 0, TRUE); } if ( check_col(fd, COL_INFO) ) *************** *** 149,155 **** TRUNC(2); if ( connect_tree ) { ! proto_tree_add_item(connect_tree, hf_tns_version, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; --- 149,155 ---- TRUNC(2); if ( connect_tree ) { ! proto_tree_add_uint(connect_tree, hf_tns_version, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; *************** *** 157,163 **** TRUNC(2); if ( connect_tree ) { ! proto_tree_add_item(connect_tree, hf_tns_compat_version, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; --- 157,163 ---- TRUNC(2); if ( connect_tree ) { ! proto_tree_add_uint(connect_tree, hf_tns_compat_version, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; *************** *** 166,172 **** if ( connect_tree ) { /* need to break down w/ bitfield */ ! proto_tree_add_item(connect_tree, hf_tns_service_options, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; --- 166,172 ---- if ( connect_tree ) { /* need to break down w/ bitfield */ ! proto_tree_add_uint(connect_tree, hf_tns_service_options, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; *************** *** 204,222 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_tns, NullTVB, offset, END_OF_FRAME, NULL); tns_tree = proto_item_add_subtree(ti, ett_tns); if (pi.match_port == pi.destport) { ! proto_tree_add_item_hidden(tns_tree, hf_tns_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_item_hidden(tns_tree, hf_tns_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); --- 204,222 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_tns, NullTVB, offset, END_OF_FRAME, FALSE); tns_tree = proto_item_add_subtree(ti, ett_tns); if (pi.match_port == pi.destport) { ! proto_tree_add_boolean_hidden(tns_tree, hf_tns_request, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Request: <opaque data>" ); } else { ! proto_tree_add_boolean_hidden(tns_tree, hf_tns_response, NullTVB, offset, END_OF_FRAME, TRUE); proto_tree_add_text(tns_tree, NullTVB, offset, END_OF_FRAME, "Response: <opaque data>"); *************** *** 229,235 **** length = pntohs(&pd[offset]); if (tree) { ! proto_tree_add_item(tns_tree, hf_tns_length, NullTVB, offset, 2, length); } TRUNC(length); --- 229,235 ---- length = pntohs(&pd[offset]); if (tree) { ! proto_tree_add_uint(tns_tree, hf_tns_length, NullTVB, offset, 2, length); } TRUNC(length); *************** *** 238,244 **** TRUNC(2); if ( tree ) { ! proto_tree_add_item(tns_tree, hf_tns_packet_checksum, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; --- 238,244 ---- TRUNC(2); if ( tree ) { ! proto_tree_add_uint(tns_tree, hf_tns_packet_checksum, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; *************** *** 247,253 **** type = pd[offset]; if ( tree ) { ! proto_tree_add_item(tns_tree, hf_tns_packet_type, NullTVB, offset, 1, type); } offset += 1; --- 247,253 ---- type = pd[offset]; if ( tree ) { ! proto_tree_add_uint(tns_tree, hf_tns_packet_type, NullTVB, offset, 1, type); } offset += 1; *************** *** 261,267 **** TRUNC(1); if ( tree ) { ! proto_tree_add_item(tns_tree, hf_tns_reserved_byte, NullTVB, offset, 1, &pd[offset]); } offset += 1; --- 261,267 ---- TRUNC(1); if ( tree ) { ! proto_tree_add_bytes(tns_tree, hf_tns_reserved_byte, NullTVB, offset, 1, &pd[offset]); } offset += 1; *************** *** 269,275 **** TRUNC(2); if ( tree ) { ! proto_tree_add_item(tns_tree, hf_tns_header_checksum, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; --- 269,275 ---- TRUNC(2); if ( tree ) { ! proto_tree_add_uint(tns_tree, hf_tns_header_checksum, NullTVB, offset, 2, pntohs(&pd[offset])); } offset += 2; Index: packet-tr.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-tr.c,v retrieving revision 1.42 diff -c -r1.42 packet-tr.c *** packet-tr.c 2000/05/19 05:29:43 1.42 --- packet-tr.c 2000/05/30 10:39:29 *************** *** 451,495 **** /* protocol analysis tree */ if (tree) { /* Create Token-Ring Tree */ ! ti = proto_tree_add_item(tree, proto_tr, tr_tvb, 0, TR_MIN_HEADER_LEN + actual_rif_bytes, NULL); tr_tree = proto_item_add_subtree(ti, ett_token_ring); /* Create the Access Control bitfield tree */ trn_ac = tvb_get_guint8(tr_tvb, 0); ! ti = proto_tree_add_item(tr_tree, hf_tr_ac, tr_tvb, 0, 1, trn_ac); bf_tree = proto_item_add_subtree(ti, ett_token_ring_ac); ! proto_tree_add_item(bf_tree, hf_tr_priority, tr_tvb, 0, 1, trn_ac); ! proto_tree_add_item(bf_tree, hf_tr_frame, tr_tvb, 0, 1, trn_ac); ! proto_tree_add_item(bf_tree, hf_tr_monitor_cnt, tr_tvb, 0, 1, trn_ac); ! proto_tree_add_item(bf_tree, hf_tr_priority_reservation, tr_tvb, 0, 1, trn_ac); /* Create the Frame Control bitfield tree */ ! ti = proto_tree_add_item(tr_tree, hf_tr_fc, tr_tvb, 1, 1, trn_fc); bf_tree = proto_item_add_subtree(ti, ett_token_ring_fc); ! proto_tree_add_item(bf_tree, hf_tr_fc_type, tr_tvb, 1, 1, trn_fc); ! proto_tree_add_item(bf_tree, hf_tr_fc_pcf, tr_tvb, 1, 1, trn_fc); ! proto_tree_add_item(tr_tree, hf_tr_dst, tr_tvb, 2, 6, trn_dhost); ! proto_tree_add_item(tr_tree, hf_tr_src, tr_tvb, 8, 6, trn_shost); ! proto_tree_add_item_hidden(tr_tree, hf_tr_addr, tr_tvb, 2, 6, trn_dhost); ! proto_tree_add_item_hidden(tr_tree, hf_tr_addr, tr_tvb, 8, 6, trn_shost); ! proto_tree_add_item(tr_tree, hf_tr_sr, tr_tvb, 8, 1, source_routed); /* non-source-routed version of src addr */ ! proto_tree_add_item_hidden(tr_tree, hf_tr_src, tr_tvb, 8, 6, trn_shost_nonsr); if (source_routed) { /* RCF Byte 1 */ rcf1 = tvb_get_guint8(tr_tvb, 14); ! proto_tree_add_item(tr_tree, hf_tr_rif_bytes, tr_tvb, 14, 1, trn_rif_bytes); ! proto_tree_add_item(tr_tree, hf_tr_broadcast, tr_tvb, 14, 1, rcf1 & 224); /* RCF Byte 2 */ rcf2 = tvb_get_guint8(tr_tvb, 15); ! proto_tree_add_item(tr_tree, hf_tr_max_frame_size, tr_tvb, 15, 1, rcf2 & 112); ! proto_tree_add_item(tr_tree, hf_tr_direction, tr_tvb, 15, 1, rcf2 & 128); /* if we have more than 2 bytes of RIF, then we have ring/bridge pairs */ --- 451,495 ---- /* protocol analysis tree */ if (tree) { /* Create Token-Ring Tree */ ! ti = proto_tree_add_item(tree, proto_tr, tr_tvb, 0, TR_MIN_HEADER_LEN + actual_rif_bytes, FALSE); tr_tree = proto_item_add_subtree(ti, ett_token_ring); /* Create the Access Control bitfield tree */ trn_ac = tvb_get_guint8(tr_tvb, 0); ! ti = proto_tree_add_uint(tr_tree, hf_tr_ac, tr_tvb, 0, 1, trn_ac); bf_tree = proto_item_add_subtree(ti, ett_token_ring_ac); ! proto_tree_add_uint(bf_tree, hf_tr_priority, tr_tvb, 0, 1, trn_ac); ! proto_tree_add_boolean(bf_tree, hf_tr_frame, tr_tvb, 0, 1, trn_ac); ! proto_tree_add_uint(bf_tree, hf_tr_monitor_cnt, tr_tvb, 0, 1, trn_ac); ! proto_tree_add_uint(bf_tree, hf_tr_priority_reservation, tr_tvb, 0, 1, trn_ac); /* Create the Frame Control bitfield tree */ ! ti = proto_tree_add_uint(tr_tree, hf_tr_fc, tr_tvb, 1, 1, trn_fc); bf_tree = proto_item_add_subtree(ti, ett_token_ring_fc); ! proto_tree_add_uint(bf_tree, hf_tr_fc_type, tr_tvb, 1, 1, trn_fc); ! proto_tree_add_uint(bf_tree, hf_tr_fc_pcf, tr_tvb, 1, 1, trn_fc); ! proto_tree_add_ether(tr_tree, hf_tr_dst, tr_tvb, 2, 6, trn_dhost); ! proto_tree_add_ether(tr_tree, hf_tr_src, tr_tvb, 8, 6, trn_shost); ! proto_tree_add_ether_hidden(tr_tree, hf_tr_addr, tr_tvb, 2, 6, trn_dhost); ! proto_tree_add_ether_hidden(tr_tree, hf_tr_addr, tr_tvb, 8, 6, trn_shost); ! proto_tree_add_boolean(tr_tree, hf_tr_sr, tr_tvb, 8, 1, source_routed); /* non-source-routed version of src addr */ ! proto_tree_add_ether_hidden(tr_tree, hf_tr_src, tr_tvb, 8, 6, trn_shost_nonsr); if (source_routed) { /* RCF Byte 1 */ rcf1 = tvb_get_guint8(tr_tvb, 14); ! proto_tree_add_uint(tr_tree, hf_tr_rif_bytes, tr_tvb, 14, 1, trn_rif_bytes); ! proto_tree_add_uint(tr_tree, hf_tr_broadcast, tr_tvb, 14, 1, rcf1 & 224); /* RCF Byte 2 */ rcf2 = tvb_get_guint8(tr_tvb, 15); ! proto_tree_add_uint(tr_tree, hf_tr_max_frame_size, tr_tvb, 15, 1, rcf2 & 112); ! proto_tree_add_uint(tr_tree, hf_tr_direction, tr_tvb, 15, 1, rcf2 & 128); /* if we have more than 2 bytes of RIF, then we have ring/bridge pairs */ *************** *** 564,580 **** if (j==1) { segment = tvb_get_ntohs(tvb, RIF_OFFSET) >> 4; size = sprintf(buffer, "%03X",segment); ! proto_tree_add_item_hidden(tree, hf_tr_rif_ring, tvb, TR_MIN_HEADER_LEN + 2, 2, segment); buff_offset += size; } segment = tvb_get_ntohs(tvb, RIF_OFFSET + 1 + j) >> 4; brdgnmb = tvb_get_guint8(tvb, RIF_OFFSET + j) & 0x0f; size = sprintf(buffer+buff_offset, "-%01X-%03X",brdgnmb,segment); ! proto_tree_add_item_hidden(tree, hf_tr_rif_ring, tvb, TR_MIN_HEADER_LEN + 3 + j, 2, segment); ! proto_tree_add_item_hidden(tree, hf_tr_rif_bridge, tvb, TR_MIN_HEADER_LEN + 2 + j, 1, brdgnmb); buff_offset += size; } ! proto_tree_add_item(tree, hf_tr_rif, tvb, TR_MIN_HEADER_LEN + 2, rcf_len, buffer); if (unprocessed_rif > 0) { proto_tree_add_text(tree, tvb, TR_MIN_HEADER_LEN + RIF_BYTES_TO_PROCESS, unprocessed_rif, --- 564,580 ---- if (j==1) { segment = tvb_get_ntohs(tvb, RIF_OFFSET) >> 4; size = sprintf(buffer, "%03X",segment); ! proto_tree_add_uint_hidden(tree, hf_tr_rif_ring, tvb, TR_MIN_HEADER_LEN + 2, 2, segment); buff_offset += size; } segment = tvb_get_ntohs(tvb, RIF_OFFSET + 1 + j) >> 4; brdgnmb = tvb_get_guint8(tvb, RIF_OFFSET + j) & 0x0f; size = sprintf(buffer+buff_offset, "-%01X-%03X",brdgnmb,segment); ! proto_tree_add_uint_hidden(tree, hf_tr_rif_ring, tvb, TR_MIN_HEADER_LEN + 3 + j, 2, segment); ! proto_tree_add_uint_hidden(tree, hf_tr_rif_bridge, tvb, TR_MIN_HEADER_LEN + 2 + j, 1, brdgnmb); buff_offset += size; } ! proto_tree_add_string(tree, hf_tr_rif, tvb, TR_MIN_HEADER_LEN + 2, rcf_len, buffer); if (unprocessed_rif > 0) { proto_tree_add_text(tree, tvb, TR_MIN_HEADER_LEN + RIF_BYTES_TO_PROCESS, unprocessed_rif, Index: packet-trmac.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-trmac.c,v retrieving revision 1.21 diff -c -r1.21 packet-trmac.c *** packet-trmac.c 2000/05/11 08:15:54 1.21 --- packet-trmac.c 2000/05/30 10:39:31 *************** *** 119,125 **** proto_tree_add_text(tree, NullTVB, pkt_offset, 1, "Subvector Length: %d bytes", sv_length);*/ ! proto_tree_add_item_hidden(tree, hf_trmac_sv, NullTVB, pkt_offset+1, 1, pd[1]); switch(pd[1]) { case 0x01: /* Beacon Type */ --- 119,125 ---- proto_tree_add_text(tree, NullTVB, pkt_offset, 1, "Subvector Length: %d bytes", sv_length);*/ ! proto_tree_add_uint_hidden(tree, hf_trmac_sv, NullTVB, pkt_offset+1, 1, pd[1]); switch(pd[1]) { case 0x01: /* Beacon Type */ *************** *** 134,140 **** break; case 0x02: /* NAUN */ ! proto_tree_add_item(tree, hf_trmac_naun, NullTVB, pkt_offset+1, sv_length-1, (guint8*)&pd[2]); break; case 0x03: /* Local Ring Number */ --- 134,140 ---- break; case 0x02: /* NAUN */ ! proto_tree_add_ether(tree, hf_trmac_naun, NullTVB, pkt_offset+1, sv_length-1, (guint8*)&pd[2]); break; case 0x03: /* Local Ring Number */ *************** *** 232,260 **** case 0x2D: /* Isolating Error Counts */ memcpy(errors, &pd[2], 6); ! ti = proto_tree_add_item(tree, hf_trmac_errors_iso, NullTVB, pkt_offset+1, sv_length-1, errors[0] + errors[1] + errors[2] + errors[3] + errors[4]); sv_tree = proto_item_add_subtree(ti, ett_tr_ierr_cnt); ! proto_tree_add_item(sv_tree, hf_trmac_errors_line, NullTVB, pkt_offset+2, 1, errors[0]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_internal, NullTVB, pkt_offset+3, 1, errors[1]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_burst, NullTVB, pkt_offset+4, 1, errors[2]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_ac, NullTVB, pkt_offset+5, 1, errors[3]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_abort, NullTVB, pkt_offset+6, 1, errors[4]); break; case 0x2E: /* Non-Isolating Error Counts */ memcpy(errors, &pd[2], 6); ! ti = proto_tree_add_item(tree, hf_trmac_errors_noniso, NullTVB, pkt_offset+1, sv_length-1, errors[0] + errors[1] + errors[2] + errors[3] + errors[4]); sv_tree = proto_item_add_subtree(ti, ett_tr_nerr_cnt); ! proto_tree_add_item(sv_tree, hf_trmac_errors_lost, NullTVB, pkt_offset+2, 1, errors[0]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_congestion, NullTVB, pkt_offset+3, 1, errors[1]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_fc, NullTVB, pkt_offset+4, 1, errors[2]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_freq, NullTVB, pkt_offset+5, 1, errors[3]); ! proto_tree_add_item(sv_tree, hf_trmac_errors_token, NullTVB, pkt_offset+6, 1, errors[4]); break; case 0x30: /* Error Code */ --- 232,260 ---- case 0x2D: /* Isolating Error Counts */ memcpy(errors, &pd[2], 6); ! ti = proto_tree_add_uint(tree, hf_trmac_errors_iso, NullTVB, pkt_offset+1, sv_length-1, errors[0] + errors[1] + errors[2] + errors[3] + errors[4]); sv_tree = proto_item_add_subtree(ti, ett_tr_ierr_cnt); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_line, NullTVB, pkt_offset+2, 1, errors[0]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_internal, NullTVB, pkt_offset+3, 1, errors[1]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_burst, NullTVB, pkt_offset+4, 1, errors[2]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_ac, NullTVB, pkt_offset+5, 1, errors[3]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_abort, NullTVB, pkt_offset+6, 1, errors[4]); break; case 0x2E: /* Non-Isolating Error Counts */ memcpy(errors, &pd[2], 6); ! ti = proto_tree_add_uint(tree, hf_trmac_errors_noniso, NullTVB, pkt_offset+1, sv_length-1, errors[0] + errors[1] + errors[2] + errors[3] + errors[4]); sv_tree = proto_item_add_subtree(ti, ett_tr_nerr_cnt); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_lost, NullTVB, pkt_offset+2, 1, errors[0]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_congestion, NullTVB, pkt_offset+3, 1, errors[1]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_fc, NullTVB, pkt_offset+4, 1, errors[2]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_freq, NullTVB, pkt_offset+5, 1, errors[3]); ! proto_tree_add_uint(sv_tree, hf_trmac_errors_token, NullTVB, pkt_offset+6, 1, errors[4]); break; case 0x30: /* Error Code */ *************** *** 292,305 **** if (tree) { ! ti = proto_tree_add_item(tree, proto_trmac, NullTVB, offset, mv_length, NULL); mac_tree = proto_item_add_subtree(ti, ett_tr_mac); ! proto_tree_add_item(mac_tree, hf_trmac_mv, NullTVB, offset+3, 1, mv_val); proto_tree_add_uint_format(mac_tree, hf_trmac_length, NullTVB, offset, 2, mv_length, "Total Length: %d bytes", mv_length); ! proto_tree_add_item(mac_tree, hf_trmac_srcclass, NullTVB, offset+2, 1, pd[offset+2] & 0x0f); ! proto_tree_add_item(mac_tree, hf_trmac_dstclass, NullTVB, offset+2, 1, pd[offset+2] >> 4 ); /* interpret the subvectors */ sv_offset = 0; --- 292,305 ---- if (tree) { ! ti = proto_tree_add_item(tree, proto_trmac, NullTVB, offset, mv_length, FALSE); mac_tree = proto_item_add_subtree(ti, ett_tr_mac); ! proto_tree_add_uint(mac_tree, hf_trmac_mv, NullTVB, offset+3, 1, mv_val); proto_tree_add_uint_format(mac_tree, hf_trmac_length, NullTVB, offset, 2, mv_length, "Total Length: %d bytes", mv_length); ! proto_tree_add_uint(mac_tree, hf_trmac_srcclass, NullTVB, offset+2, 1, pd[offset+2] & 0x0f); ! proto_tree_add_uint(mac_tree, hf_trmac_dstclass, NullTVB, offset+2, 1, pd[offset+2] >> 4 ); /* interpret the subvectors */ sv_offset = 0; Index: packet-udp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-udp.c,v retrieving revision 1.71 diff -c -r1.71 packet-udp.c *** packet-udp.c 2000/05/30 03:35:55 1.71 --- packet-udp.c 2000/05/30 10:39:31 *************** *** 165,171 **** get_udp_port(uh_sport), get_udp_port(uh_dport)); if (tree) { ! ti = proto_tree_add_item(tree, proto_udp, NullTVB, offset, 8); udp_tree = proto_item_add_subtree(ti, ett_udp); proto_tree_add_uint_format(udp_tree, hf_udp_srcport, NullTVB, offset, 2, uh_sport, --- 165,171 ---- get_udp_port(uh_sport), get_udp_port(uh_dport)); if (tree) { ! ti = proto_tree_add_item(tree, proto_udp, NullTVB, offset, 8, FALSE); udp_tree = proto_item_add_subtree(ti, ett_udp); proto_tree_add_uint_format(udp_tree, hf_udp_srcport, NullTVB, offset, 2, uh_sport, *************** *** 173,182 **** proto_tree_add_uint_format(udp_tree, hf_udp_dstport, NullTVB, offset + 2, 2, uh_dport, "Destination port: %s (%u)", get_udp_port(uh_dport), uh_dport); ! proto_tree_add_item_hidden(udp_tree, hf_udp_port, NullTVB, offset, 2, uh_sport); ! proto_tree_add_item_hidden(udp_tree, hf_udp_port, NullTVB, offset+2, 2, uh_dport); ! proto_tree_add_item(udp_tree, hf_udp_length, NullTVB, offset + 4, 2, uh_ulen); proto_tree_add_uint_format(udp_tree, hf_udp_checksum, NullTVB, offset + 6, 2, uh_sum, "Checksum: 0x%04x", uh_sum); } --- 173,182 ---- proto_tree_add_uint_format(udp_tree, hf_udp_dstport, NullTVB, offset + 2, 2, uh_dport, "Destination port: %s (%u)", get_udp_port(uh_dport), uh_dport); ! proto_tree_add_uint_hidden(udp_tree, hf_udp_port, NullTVB, offset, 2, uh_sport); ! proto_tree_add_uint_hidden(udp_tree, hf_udp_port, NullTVB, offset+2, 2, uh_dport); ! proto_tree_add_uint(udp_tree, hf_udp_length, NullTVB, offset + 4, 2, uh_ulen); proto_tree_add_uint_format(udp_tree, hf_udp_checksum, NullTVB, offset + 6, 2, uh_sum, "Checksum: 0x%04x", uh_sum); } Index: packet-vlan.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-vlan.c,v retrieving revision 1.15 diff -c -r1.15 packet-vlan.c *** packet-vlan.c 2000/05/19 04:54:34 1.15 --- packet-vlan.c 2000/05/30 10:39:31 *************** *** 90,101 **** } if (tree) { ! ti = proto_tree_add_item(tree, proto_vlan, NullTVB, offset, 4); vlan_tree = proto_item_add_subtree(ti, ett_vlan); ! proto_tree_add_item(vlan_tree, hf_vlan_priority, NullTVB, offset, 2, tci); ! proto_tree_add_item(vlan_tree, hf_vlan_cfi, NullTVB, offset, 2, tci); ! proto_tree_add_item(vlan_tree, hf_vlan_id, NullTVB, offset, 2, tci); } next_tvb = tvb_new_subset(pi.compat_top_tvb, offset+4, -1, -1); /* XXX - should TRY() like dissect_eth() */ --- 90,101 ---- } if (tree) { ! ti = proto_tree_add_item(tree, proto_vlan, NullTVB, offset, 4, FALSE); vlan_tree = proto_item_add_subtree(ti, ett_vlan); ! proto_tree_add_uint(vlan_tree, hf_vlan_priority, NullTVB, offset, 2, tci); ! proto_tree_add_uint(vlan_tree, hf_vlan_cfi, NullTVB, offset, 2, tci); ! proto_tree_add_uint(vlan_tree, hf_vlan_id, NullTVB, offset, 2, tci); } next_tvb = tvb_new_subset(pi.compat_top_tvb, offset+4, -1, -1); /* XXX - should TRY() like dissect_eth() */ Index: packet-vrrp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-vrrp.c,v retrieving revision 1.5 diff -c -r1.5 packet-vrrp.c *** packet-vrrp.c 2000/05/11 08:15:55 1.5 --- packet-vrrp.c 2000/05/30 10:39:32 *************** *** 132,138 **** return; } ! ti = proto_tree_add_item(tree, proto_vrrp, NullTVB, offset, END_OF_FRAME, NULL); vrrp_tree = proto_item_add_subtree(ti, ett_vrrp); tv = proto_tree_add_uint_format(vrrp_tree, hf_vrrp_ver_type, NullTVB, offset, 1, --- 132,138 ---- return; } ! ti = proto_tree_add_item(tree, proto_vrrp, NullTVB, offset, END_OF_FRAME, FALSE); vrrp_tree = proto_item_add_subtree(ti, ett_vrrp); tv = proto_tree_add_uint_format(vrrp_tree, hf_vrrp_ver_type, NullTVB, offset, 1, *************** *** 140,147 **** hi_nibble(vrh.ver_type), lo_nibble(vrh.ver_type), val_to_str(lo_nibble(vrh.ver_type), vrrp_type_vals, "Unknown")); ver_type_tree = proto_item_add_subtree(tv, ett_vrrp_ver_type); ! proto_tree_add_item(ver_type_tree, hf_vrrp_version, NullTVB, offset, 1, vrh.ver_type); ! proto_tree_add_item(ver_type_tree, hf_vrrp_type, NullTVB, offset, 1, vrh.ver_type); offset++; proto_tree_add_text(vrrp_tree, NullTVB, offset++, 1, "Virtual Router ID: %u", vrh.vrouter_id); --- 140,147 ---- hi_nibble(vrh.ver_type), lo_nibble(vrh.ver_type), val_to_str(lo_nibble(vrh.ver_type), vrrp_type_vals, "Unknown")); ver_type_tree = proto_item_add_subtree(tv, ett_vrrp_ver_type); ! proto_tree_add_uint(ver_type_tree, hf_vrrp_version, NullTVB, offset, 1, vrh.ver_type); ! proto_tree_add_uint(ver_type_tree, hf_vrrp_type, NullTVB, offset, 1, vrh.ver_type); offset++; proto_tree_add_text(vrrp_tree, NullTVB, offset++, 1, "Virtual Router ID: %u", vrh.vrouter_id); Index: packet-vtp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-vtp.c,v retrieving revision 1.4 diff -c -r1.4 packet-vtp.c *** packet-vtp.c 2000/05/14 07:19:49 1.4 --- packet-vtp.c 2000/05/30 10:39:34 *************** *** 108,134 **** if (tree) { ti = proto_tree_add_item(tree, proto_vtp, NullTVB, offset, END_OF_FRAME, ! NULL); vtp_tree = proto_item_add_subtree(ti, ett_vtp); ! proto_tree_add_item(vtp_tree, hf_vtp_version, NullTVB, offset, 1, pd[offset]); offset += 1; code = pd[offset]; ! proto_tree_add_item(vtp_tree, hf_vtp_code, NullTVB, offset, 1, code); offset += 1; switch (code) { case SUMMARY_ADVERT: ! proto_tree_add_item(vtp_tree, hf_vtp_followers, NullTVB, offset, 1, pd[offset]); offset += 1; md_len = pd[offset]; ! proto_tree_add_item(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; --- 108,134 ---- if (tree) { ti = proto_tree_add_item(tree, proto_vtp, NullTVB, offset, END_OF_FRAME, ! FALSE); vtp_tree = proto_item_add_subtree(ti, ett_vtp); ! proto_tree_add_uint(vtp_tree, hf_vtp_version, NullTVB, offset, 1, pd[offset]); offset += 1; code = pd[offset]; ! proto_tree_add_uint(vtp_tree, hf_vtp_code, NullTVB, offset, 1, code); offset += 1; switch (code) { case SUMMARY_ADVERT: ! proto_tree_add_uint(vtp_tree, hf_vtp_followers, NullTVB, offset, 1, pd[offset]); offset += 1; md_len = pd[offset]; ! proto_tree_add_uint(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; *************** *** 137,148 **** &pd[offset]); offset += 32; ! proto_tree_add_item(vtp_tree, hf_vtp_conf_rev_num, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; memcpy(&upd_id, &pd[offset], sizeof upd_id); ! proto_tree_add_item(vtp_tree, hf_vtp_upd_id, NullTVB, offset, 4, upd_id); offset += 4; --- 137,148 ---- &pd[offset]); offset += 32; ! proto_tree_add_uint(vtp_tree, hf_vtp_conf_rev_num, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; memcpy(&upd_id, &pd[offset], sizeof upd_id); ! proto_tree_add_ipv4(vtp_tree, hf_vtp_upd_id, NullTVB, offset, 4, upd_id); offset += 4; *************** *** 153,169 **** &pd[offset+6], &pd[offset+8], &pd[offset+10]); offset += 12; ! proto_tree_add_item(vtp_tree, hf_vtp_md5_digest, NullTVB, offset, 16, &pd[offset]); break; case SUBSET_ADVERT: ! proto_tree_add_item(vtp_tree, hf_vtp_seq_num, NullTVB, offset, 1, pd[offset]); offset += 1; md_len = pd[offset]; ! proto_tree_add_item(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; --- 153,169 ---- &pd[offset+6], &pd[offset+8], &pd[offset+10]); offset += 12; ! proto_tree_add_bytes(vtp_tree, hf_vtp_md5_digest, NullTVB, offset, 16, &pd[offset]); break; case SUBSET_ADVERT: ! proto_tree_add_uint(vtp_tree, hf_vtp_seq_num, NullTVB, offset, 1, pd[offset]); offset += 1; md_len = pd[offset]; ! proto_tree_add_uint(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; *************** *** 172,178 **** &pd[offset]); offset += 32; ! proto_tree_add_item(vtp_tree, hf_vtp_conf_rev_num, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; --- 172,178 ---- &pd[offset]); offset += 32; ! proto_tree_add_uint(vtp_tree, hf_vtp_conf_rev_num, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; *************** *** 189,199 **** offset += 1; /* skip reserved field */ md_len = pd[offset]; ! proto_tree_add_item(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; ! proto_tree_add_item(vtp_tree, hf_vtp_start_value, NullTVB, offset, 2, pntohs(&pd[offset])); break; --- 189,199 ---- offset += 1; /* skip reserved field */ md_len = pd[offset]; ! proto_tree_add_uint(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; ! proto_tree_add_uint(vtp_tree, hf_vtp_start_value, NullTVB, offset, 2, pntohs(&pd[offset])); break; *************** *** 205,211 **** offset += 1; /* skip unknown field */ md_len = pd[offset]; ! proto_tree_add_item(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; --- 205,211 ---- offset += 1; /* skip unknown field */ md_len = pd[offset]; ! proto_tree_add_uint(vtp_tree, hf_vtp_md_len, NullTVB, offset, 1, md_len); offset += 1; *************** *** 284,290 **** vlan_info_tree = proto_item_add_subtree(ti, ett_vtp_vlan_info); vlan_info_left = vlan_info_len; ! proto_tree_add_item(vlan_info_tree, hf_vtp_vlan_info_len, NullTVB, offset, 1, vlan_info_len); offset += 1; vlan_info_left -= 1; --- 284,290 ---- vlan_info_tree = proto_item_add_subtree(ti, ett_vtp_vlan_info); vlan_info_left = vlan_info_len; ! proto_tree_add_uint(vlan_info_tree, hf_vtp_vlan_info_len, NullTVB, offset, 1, vlan_info_len); offset += 1; vlan_info_left -= 1; *************** *** 296,309 **** "Status: 0x%02x%s", status, (status & VLAN_SUSPENDED) ? "(VLAN suspended)" : ""); status_tree = proto_item_add_subtree(ti, ett_vtp_vlan_status); ! proto_tree_add_item(status_tree, hf_vtp_vlan_status_vlan_susp, NullTVB, offset, 1, status); offset += 1; vlan_info_left -= 1; if (!BYTES_ARE_IN_FRAME(offset, 1) || vlan_info_left < 1) return -1; ! proto_tree_add_item(vlan_info_tree, hf_vtp_vlan_type, NullTVB, offset, 1, pd[offset]); offset += 1; vlan_info_left -= 1; --- 296,309 ---- "Status: 0x%02x%s", status, (status & VLAN_SUSPENDED) ? "(VLAN suspended)" : ""); status_tree = proto_item_add_subtree(ti, ett_vtp_vlan_status); ! proto_tree_add_boolean(status_tree, hf_vtp_vlan_status_vlan_susp, NullTVB, offset, 1, status); offset += 1; vlan_info_left -= 1; if (!BYTES_ARE_IN_FRAME(offset, 1) || vlan_info_left < 1) return -1; ! proto_tree_add_uint(vlan_info_tree, hf_vtp_vlan_type, NullTVB, offset, 1, pd[offset]); offset += 1; vlan_info_left -= 1; *************** *** 311,338 **** if (!BYTES_ARE_IN_FRAME(offset, 1) || vlan_info_left < 1) return -1; vlan_name_len = pd[offset]; ! proto_tree_add_item(vlan_info_tree, hf_vtp_vlan_name_len, NullTVB, offset, 1, vlan_name_len); offset += 1; vlan_info_left -= 1; if (!BYTES_ARE_IN_FRAME(offset, 2) || vlan_info_left < 2) return -1; ! proto_tree_add_item(vlan_info_tree, hf_vtp_isl_vlan_id, NullTVB, offset, 2, pntohs(&pd[offset])); offset += 2; vlan_info_left -= 2; if (!BYTES_ARE_IN_FRAME(offset, 2) || vlan_info_left < 2) return -1; ! proto_tree_add_item(vlan_info_tree, hf_vtp_mtu_size, NullTVB, offset, 2, pntohs(&pd[offset])); offset += 2; vlan_info_left -= 2; if (!BYTES_ARE_IN_FRAME(offset, 4) || vlan_info_left < 4) return -1; ! proto_tree_add_item(vlan_info_tree, hf_vtp_802_10_index, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; vlan_info_left -= 4; --- 311,338 ---- if (!BYTES_ARE_IN_FRAME(offset, 1) || vlan_info_left < 1) return -1; vlan_name_len = pd[offset]; ! proto_tree_add_uint(vlan_info_tree, hf_vtp_vlan_name_len, NullTVB, offset, 1, vlan_name_len); offset += 1; vlan_info_left -= 1; if (!BYTES_ARE_IN_FRAME(offset, 2) || vlan_info_left < 2) return -1; ! proto_tree_add_uint(vlan_info_tree, hf_vtp_isl_vlan_id, NullTVB, offset, 2, pntohs(&pd[offset])); offset += 2; vlan_info_left -= 2; if (!BYTES_ARE_IN_FRAME(offset, 2) || vlan_info_left < 2) return -1; ! proto_tree_add_uint(vlan_info_tree, hf_vtp_mtu_size, NullTVB, offset, 2, pntohs(&pd[offset])); offset += 2; vlan_info_left -= 2; if (!BYTES_ARE_IN_FRAME(offset, 4) || vlan_info_left < 4) return -1; ! proto_tree_add_uint(vlan_info_tree, hf_vtp_802_10_index, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; vlan_info_left -= 4; *************** *** 358,366 **** ti = proto_tree_add_notext(vlan_info_tree, NullTVB, offset, 2 + length*2); tlv_tree = proto_item_add_subtree(ti, ett_vtp_tlv); ! proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvtype, NullTVB, offset, 1, type); ! proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvlength, NullTVB, offset+1, 1, length); offset += 2; vlan_info_left -= 2; --- 358,366 ---- ti = proto_tree_add_notext(vlan_info_tree, NullTVB, offset, 2 + length*2); tlv_tree = proto_item_add_subtree(ti, ett_vtp_tlv); ! proto_tree_add_uint(tlv_tree, hf_vtp_vlan_tlvtype, NullTVB, offset, 1, type); ! proto_tree_add_uint(tlv_tree, hf_vtp_vlan_tlvlength, NullTVB, offset+1, 1, length); offset += 2; vlan_info_left -= 2; Index: packet-wccp.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-wccp.c,v retrieving revision 1.7 diff -c -r1.7 packet-wccp.c *** packet-wccp.c 2000/05/11 08:15:55 1.7 --- packet-wccp.c 2000/05/30 10:39:34 *************** *** 115,124 **** if(tree != NULL) { wccp_tree_item = proto_tree_add_item(tree, proto_wccp, NullTVB, offset, ! END_OF_FRAME, NULL); wccp_tree = proto_item_add_subtree(wccp_tree_item, ett_wccp); ! proto_tree_add_item(wccp_tree, hf_wccp_message_type, NullTVB, offset, sizeof(wccp_message_type), wccp_message_type); offset += sizeof(wccp_message_type); --- 115,124 ---- if(tree != NULL) { wccp_tree_item = proto_tree_add_item(tree, proto_wccp, NullTVB, offset, ! END_OF_FRAME, FALSE); wccp_tree = proto_item_add_subtree(wccp_tree_item, ett_wccp); ! proto_tree_add_uint(wccp_tree, hf_wccp_message_type, NullTVB, offset, sizeof(wccp_message_type), wccp_message_type); offset += sizeof(wccp_message_type); *************** *** 126,150 **** case WCCP_HERE_I_AM: wccp_version = pntohl(&pd[offset]); ! proto_tree_add_item(wccp_tree, hf_wccp_version, NullTVB, offset, 4, wccp_version); offset += 4; dissect_hash_data(pd, offset, wccp_tree); offset += HASH_INFO_SIZE; ! proto_tree_add_item(wccp_tree, hf_recvd_id, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; break; case WCCP_I_SEE_YOU: wccp_version = pntohl(&pd[offset]); ! proto_tree_add_item(wccp_tree, hf_wccp_version, NullTVB, offset, 4, wccp_version); offset += 4; ! proto_tree_add_item(wccp_tree, hf_change_num, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; ! proto_tree_add_item(wccp_tree, hf_recvd_id, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; cache_count = pntohl(&pd[offset]); --- 126,150 ---- case WCCP_HERE_I_AM: wccp_version = pntohl(&pd[offset]); ! proto_tree_add_uint(wccp_tree, hf_wccp_version, NullTVB, offset, 4, wccp_version); offset += 4; dissect_hash_data(pd, offset, wccp_tree); offset += HASH_INFO_SIZE; ! proto_tree_add_uint(wccp_tree, hf_recvd_id, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; break; case WCCP_I_SEE_YOU: wccp_version = pntohl(&pd[offset]); ! proto_tree_add_uint(wccp_tree, hf_wccp_version, NullTVB, offset, 4, wccp_version); offset += 4; ! proto_tree_add_uint(wccp_tree, hf_change_num, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; ! proto_tree_add_uint(wccp_tree, hf_recvd_id, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; cache_count = pntohl(&pd[offset]); *************** *** 163,169 **** * This hasn't been tested, since I don't have any * traces with this in it. */ ! proto_tree_add_item(wccp_tree, hf_recvd_id, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; cache_count = pntohl(&pd[offset]); --- 163,169 ---- * This hasn't been tested, since I don't have any * traces with this in it. */ ! proto_tree_add_uint(wccp_tree, hf_recvd_id, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; cache_count = pntohl(&pd[offset]); *************** *** 192,198 **** default: wccp_version = pntohl(&pd[offset]); ! proto_tree_add_item(wccp_tree, hf_wccp_version, NullTVB, offset, 4, wccp_version); offset += 4; dissect_data(pd, offset, fd, wccp_tree); --- 192,198 ---- default: wccp_version = pntohl(&pd[offset]); ! proto_tree_add_uint(wccp_tree, hf_wccp_version, NullTVB, offset, 4, wccp_version); offset += 4; dissect_data(pd, offset, fd, wccp_tree); *************** *** 213,219 **** int n; guint32 flags; ! proto_tree_add_item(wccp_tree, hf_hash_revision, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; --- 213,219 ---- int n; guint32 flags; ! proto_tree_add_uint(wccp_tree, hf_hash_revision, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; *************** *** 251,257 **** "Web-Cache List Entry(%d)", index); list_entry_tree = proto_item_add_subtree(tl, ett_cache_info); ! proto_tree_add_item(list_entry_tree, hf_cache_ip, NullTVB, offset, 4, pntohl(&pd[offset])); dissect_hash_data(pd, offset + 4, list_entry_tree); } --- 251,257 ---- "Web-Cache List Entry(%d)", index); list_entry_tree = proto_item_add_subtree(tl, ett_cache_info); ! proto_tree_add_ipv4(list_entry_tree, hf_cache_ip, NullTVB, offset, 4, pntohl(&pd[offset])); dissect_hash_data(pd, offset + 4, list_entry_tree); } Index: packet-who.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-who.c,v retrieving revision 1.6 diff -c -r1.6 packet-who.c *** packet-who.c 2000/05/11 08:15:56 1.6 --- packet-who.c 2000/05/30 10:39:35 *************** *** 137,177 **** /* We already know that the packet has enough data to fill in * the summary info. Retrieve that data */ ! who_ti = proto_tree_add_item(tree, proto_who, NullTVB, offset, END_OF_FRAME, NULL); who_tree = proto_item_add_subtree(who_ti, ett_who); ! proto_tree_add_item(who_tree, hf_who_vers, NullTVB, offset, 1, pd[offset]); offset += 1; ! proto_tree_add_item(who_tree, hf_who_type, NullTVB, offset, 1, pd[offset]); offset += 1; /* 2 filler bytes */ offset += 2; tv.tv_sec = pntohl(&pd[offset]); ! proto_tree_add_item(who_tree, hf_who_sendtime, NullTVB, offset, 4, &tv); offset += 4; tv.tv_sec = pntohl(&pd[offset]); ! proto_tree_add_item(who_tree, hf_who_recvtime, NullTVB, offset, 4, &tv); offset += 4; ! proto_tree_add_item(who_tree, hf_who_hostname, NullTVB, offset, 32, server_name); offset += 32; ! proto_tree_add_item(who_tree, hf_who_loadav_5, NullTVB, offset, 4, loadav_5); offset += 4; ! proto_tree_add_item(who_tree, hf_who_loadav_10, NullTVB, offset, 4, loadav_10); offset += 4; ! proto_tree_add_item(who_tree, hf_who_loadav_15, NullTVB, offset, 4, loadav_15); offset += 4; tv.tv_sec = pntohl(&pd[offset]); ! proto_tree_add_item(who_tree, hf_who_boottime, NullTVB, offset, 4, &tv); offset += 4; dissect_whoent(pd, offset, fd, who_tree); --- 137,177 ---- /* We already know that the packet has enough data to fill in * the summary info. Retrieve that data */ ! who_ti = proto_tree_add_item(tree, proto_who, NullTVB, offset, END_OF_FRAME, FALSE); who_tree = proto_item_add_subtree(who_ti, ett_who); ! proto_tree_add_uint(who_tree, hf_who_vers, NullTVB, offset, 1, pd[offset]); offset += 1; ! proto_tree_add_uint(who_tree, hf_who_type, NullTVB, offset, 1, pd[offset]); offset += 1; /* 2 filler bytes */ offset += 2; tv.tv_sec = pntohl(&pd[offset]); ! proto_tree_add_time(who_tree, hf_who_sendtime, NullTVB, offset, 4, &tv); offset += 4; tv.tv_sec = pntohl(&pd[offset]); ! proto_tree_add_time(who_tree, hf_who_recvtime, NullTVB, offset, 4, &tv); offset += 4; ! proto_tree_add_string(who_tree, hf_who_hostname, NullTVB, offset, 32, server_name); offset += 32; ! proto_tree_add_double(who_tree, hf_who_loadav_5, NullTVB, offset, 4, loadav_5); offset += 4; ! proto_tree_add_double(who_tree, hf_who_loadav_10, NullTVB, offset, 4, loadav_10); offset += 4; ! proto_tree_add_double(who_tree, hf_who_loadav_15, NullTVB, offset, 4, loadav_15); offset += 4; tv.tv_sec = pntohl(&pd[offset]); ! proto_tree_add_time(who_tree, hf_who_boottime, NullTVB, offset, 4, &tv); offset += 4; dissect_whoent(pd, offset, fd, who_tree); *************** *** 203,219 **** memcpy(out_line, &pd[line_offset], 8); memcpy(out_name, &pd[line_offset+8], 8); ! whoent_ti = proto_tree_add_item(tree, hf_who_whoent, NullTVB, line_offset, SIZE_OF_WHOENT, NULL); whoent_tree = proto_item_add_subtree(whoent_ti, ett_whoent); ! proto_tree_add_item(whoent_tree, hf_who_tty, NullTVB, line_offset, 8, out_line); line_offset += 8; ! proto_tree_add_item(whoent_tree, hf_who_uid, NullTVB, line_offset, 8, out_name); line_offset += 8; tv.tv_sec = pntohl(&pd[line_offset]); ! proto_tree_add_item(whoent_tree, hf_who_timeon, NullTVB, line_offset, 4, &tv); line_offset += 4; idle_secs = pntohl(&pd[line_offset]); --- 203,219 ---- memcpy(out_line, &pd[line_offset], 8); memcpy(out_name, &pd[line_offset+8], 8); ! whoent_ti = proto_tree_add_item(tree, hf_who_whoent, NullTVB, line_offset, SIZE_OF_WHOENT, FALSE); whoent_tree = proto_item_add_subtree(whoent_ti, ett_whoent); ! proto_tree_add_string(whoent_tree, hf_who_tty, NullTVB, line_offset, 8, out_line); line_offset += 8; ! proto_tree_add_string(whoent_tree, hf_who_uid, NullTVB, line_offset, 8, out_name); line_offset += 8; tv.tv_sec = pntohl(&pd[line_offset]); ! proto_tree_add_time(whoent_tree, hf_who_timeon, NullTVB, line_offset, 4, &tv); line_offset += 4; idle_secs = pntohl(&pd[line_offset]); Index: packet-x25.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-x25.c,v retrieving revision 1.31 diff -c -r1.31 packet-x25.c *** packet-x25.c 2000/05/29 22:35:11 1.31 --- packet-x25.c 2000/05/30 10:39:40 *************** *** 1432,1445 **** "X.25"); x25_tree = proto_item_add_subtree(ti, ett_x25); if (bytes0_1 & 0x8000) ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_qbit : hf_ex25_qbit, tvb, 0, 2, bytes0_1); if (bytes0_1 & 0x4000) ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_dbit : hf_ex25_dbit, tvb, 0, 2, bytes0_1); ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_mod : hf_ex25_mod, tvb, 0, 2, bytes0_1); } --- 1432,1445 ---- "X.25"); x25_tree = proto_item_add_subtree(ti, ett_x25); if (bytes0_1 & 0x8000) ! proto_tree_add_boolean(x25_tree, (modulo == 8) ? hf_x25_qbit : hf_ex25_qbit, tvb, 0, 2, bytes0_1); if (bytes0_1 & 0x4000) ! proto_tree_add_boolean(x25_tree, (modulo == 8) ? hf_x25_dbit : hf_ex25_dbit, tvb, 0, 2, bytes0_1); ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_mod : hf_ex25_mod, tvb, 0, 2, bytes0_1); } *************** *** 1452,1458 **** : "Call req." , vc); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, --- 1452,1458 ---- : "Call req." , vc); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, *************** *** 1566,1572 **** : "Call acc." , vc); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, --- 1566,1572 ---- : "Call acc." , vc); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, *************** *** 1598,1604 **** } x25_hash_add_proto_end(vc, pinfo->fd->abs_secs, pinfo->fd->abs_usecs); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, --- 1598,1604 ---- } x25_hash_add_proto_end(vc, pinfo->fd->abs_secs, pinfo->fd->abs_usecs); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, *************** *** 1616,1624 **** if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Clear Conf. VC:%d", vc); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_CLEAR_CONFIRMATION); } localoffset = x25_pkt_len; --- 1616,1624 ---- if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Clear Conf. VC:%d", vc); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_CLEAR_CONFIRMATION); } localoffset = x25_pkt_len; *************** *** 1635,1641 **** (int)tvb_get_guint8(tvb, 3)); } if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_DIAGNOSTIC); proto_tree_add_text(x25_tree, tvb, 3, 1, "Diagnostic : %d", (int)tvb_get_guint8(tvb, 3)); --- 1635,1641 ---- (int)tvb_get_guint8(tvb, 3)); } if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_DIAGNOSTIC); proto_tree_add_text(x25_tree, tvb, 3, 1, "Diagnostic : %d", (int)tvb_get_guint8(tvb, 3)); *************** *** 1646,1654 **** if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Interrupt VC:%d", vc); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_INTERRUPT); } localoffset = x25_pkt_len; --- 1646,1654 ---- if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Interrupt VC:%d", vc); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_INTERRUPT); } localoffset = x25_pkt_len; *************** *** 1657,1665 **** if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Interrupt Conf. VC:%d", vc); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_INTERRUPT_CONFIRMATION); } localoffset = x25_pkt_len; --- 1657,1665 ---- if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Interrupt Conf. VC:%d", vc); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_INTERRUPT_CONFIRMATION); } localoffset = x25_pkt_len; *************** *** 1674,1680 **** } x25_hash_add_proto_end(vc, pinfo->fd->abs_secs, pinfo->fd->abs_usecs); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, --- 1674,1680 ---- } x25_hash_add_proto_end(vc, pinfo->fd->abs_secs, pinfo->fd->abs_usecs); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); proto_tree_add_uint_format(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, *************** *** 1692,1700 **** if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Reset conf. VC:%d", vc); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_RESET_CONFIRMATION); } localoffset = x25_pkt_len; --- 1692,1700 ---- if(check_col(pinfo->fd, COL_INFO)) col_add_fstr(pinfo->fd, COL_INFO, "Reset conf. VC:%d", vc); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, 0, 2, bytes0_1); ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_RESET_CONFIRMATION); } localoffset = x25_pkt_len; *************** *** 1724,1730 **** if(check_col(pinfo->fd, COL_INFO)) col_add_str(pinfo->fd, COL_INFO, "Restart conf."); if (x25_tree) ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_RESTART_CONFIRMATION); localoffset = x25_pkt_len; break; --- 1724,1730 ---- if(check_col(pinfo->fd, COL_INFO)) col_add_str(pinfo->fd, COL_INFO, "Restart conf."); if (x25_tree) ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_RESTART_CONFIRMATION); localoffset = x25_pkt_len; break; *************** *** 1732,1738 **** if(check_col(pinfo->fd, COL_INFO)) col_add_str(pinfo->fd, COL_INFO, "Registration req."); if (x25_tree) ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_REGISTRATION_REQUEST); localoffset = 3; if (localoffset < x25_pkt_len) --- 1732,1738 ---- if(check_col(pinfo->fd, COL_INFO)) col_add_str(pinfo->fd, COL_INFO, "Registration req."); if (x25_tree) ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_REGISTRATION_REQUEST); localoffset = 3; if (localoffset < x25_pkt_len) *************** *** 1754,1760 **** if(check_col(pinfo->fd, COL_INFO)) col_add_str(pinfo->fd, COL_INFO, "Registration conf."); if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_REGISTRATION_CONFIRMATION); proto_tree_add_text(x25_tree, tvb, 3, 1, "Cause: %s", registration_code(tvb_get_guint8(tvb, 3))); --- 1754,1760 ---- if(check_col(pinfo->fd, COL_INFO)) col_add_str(pinfo->fd, COL_INFO, "Registration conf."); if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, tvb, 2, 1, X25_REGISTRATION_CONFIRMATION); proto_tree_add_text(x25_tree, tvb, 3, 1, "Cause: %s", registration_code(tvb_get_guint8(tvb, 3))); *************** *** 1796,1826 **** (tvb_get_guint8(tvb, localoffset+1) & 0x01) ? " M" : ""); } if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_item_hidden(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_DATA); ! proto_tree_add_item(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); if (pkt_type & 0x10) ! proto_tree_add_item(x25_tree, hf_x25_mbit, tvb, localoffset, 1, pkt_type); ! proto_tree_add_item(x25_tree, hf_x25_p_s, tvb, localoffset, 1, pkt_type); proto_tree_add_text(x25_tree, tvb, localoffset, 1, decode_boolean_bitfield(pkt_type, 0x01, 1*8, NULL, "DATA")); } else { ! proto_tree_add_item_hidden(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_DATA); ! proto_tree_add_item(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_item(x25_tree, hf_x25_p_s, tvb, localoffset+1, 1, tvb_get_guint8(tvb, localoffset+1)); if (tvb_get_guint8(tvb, localoffset+1) & 0x01) ! proto_tree_add_item(x25_tree, hf_ex25_mbit, tvb, localoffset+1, 1, tvb_get_guint8(tvb, localoffset+1)); } } --- 1796,1826 ---- (tvb_get_guint8(tvb, localoffset+1) & 0x01) ? " M" : ""); } if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_uint_hidden(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_DATA); ! proto_tree_add_uint(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); if (pkt_type & 0x10) ! proto_tree_add_boolean(x25_tree, hf_x25_mbit, tvb, localoffset, 1, pkt_type); ! proto_tree_add_uint(x25_tree, hf_x25_p_s, tvb, localoffset, 1, pkt_type); proto_tree_add_text(x25_tree, tvb, localoffset, 1, decode_boolean_bitfield(pkt_type, 0x01, 1*8, NULL, "DATA")); } else { ! proto_tree_add_uint_hidden(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_DATA); ! proto_tree_add_uint(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_uint(x25_tree, hf_x25_p_s, tvb, localoffset+1, 1, tvb_get_guint8(tvb, localoffset+1)); if (tvb_get_guint8(tvb, localoffset+1) & 0x01) ! proto_tree_add_boolean(x25_tree, hf_ex25_mbit, tvb, localoffset+1, 1, tvb_get_guint8(tvb, localoffset+1)); } } *************** *** 1839,1857 **** vc, tvb_get_guint8(tvb, localoffset+1) >> 1); } if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_item(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_item(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_RR); } else { ! proto_tree_add_item(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_RR); proto_tree_add_item(x25_tree, hf_ex25_p_r, tvb, ! localoffset+1, 1, tvb_get_guint8(tvb, localoffset+1)); } } break; --- 1839,1857 ---- vc, tvb_get_guint8(tvb, localoffset+1) >> 1); } if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_uint(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_uint(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_RR); } else { ! proto_tree_add_uint(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_RR); proto_tree_add_item(x25_tree, hf_ex25_p_r, tvb, ! localoffset+1, 1, FALSE); } } break; *************** *** 1866,1884 **** vc, tvb_get_guint8(tvb, localoffset+1) >> 1); } if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_item(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_item(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_RNR); } else { ! proto_tree_add_item(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_RNR); proto_tree_add_item(x25_tree, hf_ex25_p_r, tvb, ! localoffset+1, 1, tvb_get_guint8(tvb, localoffset+1)); } } break; --- 1866,1884 ---- vc, tvb_get_guint8(tvb, localoffset+1) >> 1); } if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_uint(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_uint(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_RNR); } else { ! proto_tree_add_uint(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_RNR); proto_tree_add_item(x25_tree, hf_ex25_p_r, tvb, ! localoffset+1, 1, FALSE); } } break; *************** *** 1893,1911 **** vc, tvb_get_guint8(tvb, localoffset+1) >> 1); } if (x25_tree) { ! proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_item(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_item(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_REJ); } else { ! proto_tree_add_item(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_REJ); proto_tree_add_item(x25_tree, hf_ex25_p_r, tvb, ! localoffset+1, 1, tvb_get_guint8(tvb, localoffset+1)); } } } --- 1893,1911 ---- vc, tvb_get_guint8(tvb, localoffset+1) >> 1); } if (x25_tree) { ! proto_tree_add_uint(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, tvb, localoffset-2, 2, bytes0_1); if (modulo == 8) { ! proto_tree_add_uint(x25_tree, hf_x25_p_r, tvb, localoffset, 1, pkt_type); ! proto_tree_add_uint(x25_tree, hf_x25_type, tvb, localoffset, 1, X25_REJ); } else { ! proto_tree_add_uint(x25_tree, hf_ex25_type, tvb, localoffset, 1, X25_REJ); proto_tree_add_item(x25_tree, hf_ex25_p_r, tvb, ! localoffset+1, 1, FALSE); } } } Index: packet-yhoo.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-yhoo.c,v retrieving revision 1.7 diff -c -r1.7 packet-yhoo.c *** packet-yhoo.c 2000/05/11 08:15:57 1.7 --- packet-yhoo.c 2000/05/30 10:39:40 *************** *** 143,170 **** ); if (tree) { ! ti = proto_tree_add_item(tree, proto_yhoo, NullTVB, offset, END_OF_FRAME, NULL); yhoo_tree = proto_item_add_subtree(ti, ett_yhoo); ! proto_tree_add_item(yhoo_tree, hf_yhoo_version, NullTVB, offset, 8, pkt->version); ! proto_tree_add_item(yhoo_tree, hf_yhoo_len, NullTVB, offset+8, 4, pletohl(pkt->len)); ! proto_tree_add_item(yhoo_tree, hf_yhoo_service, NullTVB, offset+12, 4, pletohl(pkt->service)); ! proto_tree_add_item(yhoo_tree, hf_yhoo_connection_id, NullTVB, offset+16, 4, pletohl(pkt->connection_id)); ! proto_tree_add_item(yhoo_tree, hf_yhoo_magic_id, NullTVB, offset+20, 4, pletohl(pkt->magic_id)); ! proto_tree_add_item(yhoo_tree, hf_yhoo_unknown1, NullTVB, offset+24, 4, pletohl(pkt->unknown1)); ! proto_tree_add_item(yhoo_tree, hf_yhoo_msgtype, NullTVB, offset+28, 4, pletohl(pkt->msgtype)); ! proto_tree_add_item(yhoo_tree, hf_yhoo_nick1, NullTVB, offset+32, 36, pkt->nick1); ! proto_tree_add_item(yhoo_tree, hf_yhoo_nick2, NullTVB, offset+68, 36, pkt->nick2); ! proto_tree_add_item(yhoo_tree, hf_yhoo_content, NullTVB, offset+104, END_OF_FRAME, pkt->content); } --- 143,170 ---- ); if (tree) { ! ti = proto_tree_add_item(tree, proto_yhoo, NullTVB, offset, END_OF_FRAME, FALSE); yhoo_tree = proto_item_add_subtree(ti, ett_yhoo); ! proto_tree_add_string(yhoo_tree, hf_yhoo_version, NullTVB, offset, 8, pkt->version); ! proto_tree_add_uint(yhoo_tree, hf_yhoo_len, NullTVB, offset+8, 4, pletohl(pkt->len)); ! proto_tree_add_uint(yhoo_tree, hf_yhoo_service, NullTVB, offset+12, 4, pletohl(pkt->service)); ! proto_tree_add_uint(yhoo_tree, hf_yhoo_connection_id, NullTVB, offset+16, 4, pletohl(pkt->connection_id)); ! proto_tree_add_uint(yhoo_tree, hf_yhoo_magic_id, NullTVB, offset+20, 4, pletohl(pkt->magic_id)); ! proto_tree_add_uint(yhoo_tree, hf_yhoo_unknown1, NullTVB, offset+24, 4, pletohl(pkt->unknown1)); ! proto_tree_add_uint(yhoo_tree, hf_yhoo_msgtype, NullTVB, offset+28, 4, pletohl(pkt->msgtype)); ! proto_tree_add_string(yhoo_tree, hf_yhoo_nick1, NullTVB, offset+32, 36, pkt->nick1); ! proto_tree_add_string(yhoo_tree, hf_yhoo_nick2, NullTVB, offset+68, 36, pkt->nick2); ! proto_tree_add_string(yhoo_tree, hf_yhoo_content, NullTVB, offset+104, END_OF_FRAME, pkt->content); } Index: packet-ypserv.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet-ypserv.c,v retrieving revision 1.10 diff -c -r1.10 packet-ypserv.c *** packet-ypserv.c 2000/05/11 08:15:58 1.10 --- packet-ypserv.c 2000/05/30 10:39:41 *************** *** 66,72 **** if ( tree ) { ! proto_tree_add_item(tree, hf_ypserv_servesdomain, NullTVB, offset, 4, pntohl(&pd[offset])); } --- 66,72 ---- if ( tree ) { ! proto_tree_add_boolean(tree, hf_ypserv_servesdomain, NullTVB, offset, 4, pntohl(&pd[offset])); } *************** *** 120,126 **** if ( tree ) { ! proto_tree_add_item(tree, hf_ypserv_status, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; --- 120,126 ---- if ( tree ) { ! proto_tree_add_boolean(tree, hf_ypserv_status, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; *************** *** 137,143 **** if ( tree ) { ! proto_tree_add_item(tree, hf_ypserv_status, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; --- 137,143 ---- if ( tree ) { ! proto_tree_add_boolean(tree, hf_ypserv_status, NullTVB, offset, 4, pntohl(&pd[offset])); offset += 4; Index: packet.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/packet.c,v retrieving revision 1.92 diff -c -r1.92 packet.c *** packet.c 2000/05/29 08:57:41 1.92 --- packet.c 2000/05/30 10:39:43 *************** *** 1139,1154 **** tv.tv_sec = fd->abs_secs; tv.tv_usec = fd->abs_usecs; ! proto_tree_add_item(fh_tree, hf_frame_arrival_time, NullTVB, 0, 0, &tv); tv.tv_sec = fd->del_secs; tv.tv_usec = fd->del_usecs; ! proto_tree_add_item(fh_tree, hf_frame_time_delta, NullTVB, 0, 0, &tv); ! proto_tree_add_item(fh_tree, hf_frame_number, NullTVB, 0, 0, fd->num); proto_tree_add_uint_format(fh_tree, hf_frame_packet_len, NullTVB, --- 1139,1154 ---- tv.tv_sec = fd->abs_secs; tv.tv_usec = fd->abs_usecs; ! proto_tree_add_time(fh_tree, hf_frame_arrival_time, NullTVB, 0, 0, &tv); tv.tv_sec = fd->del_secs; tv.tv_usec = fd->del_usecs; ! proto_tree_add_time(fh_tree, hf_frame_time_delta, NullTVB, 0, 0, &tv); ! proto_tree_add_uint(fh_tree, hf_frame_number, NullTVB, 0, 0, fd->num); proto_tree_add_uint_format(fh_tree, hf_frame_packet_len, NullTVB, Index: proto.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/proto.c,v retrieving revision 1.66 diff -c -r1.66 proto.c *** proto.c 2000/05/19 04:54:36 1.66 --- proto.c 2000/05/30 10:39:47 *************** *** 89,120 **** static gboolean check_for_protocol_or_field_id(GNode *node, gpointer data); static gboolean check_for_field_within_protocol(GNode *node, gpointer data); - static field_info* - proto_tree_add_field_info(int hfindex, tvbuff_t *tvb, gint start, gint length, int visible); - static proto_item* proto_tree_add_node(proto_tree *tree, field_info *fi); static proto_item * proto_tree_add_pi(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! const char *format, gboolean visible, field_info **pfi, va_list ap); static void proto_tree_set_value(field_info *fi, gint length, va_list ap); static void proto_tree_set_bytes(field_info *fi, const guint8* start_ptr, gint length); static void proto_tree_set_time(field_info *fi, struct timeval *value_ptr); static void proto_tree_set_string(field_info *fi, const char* value); static void ! proto_tree_set_ether(field_info *fi, guint8* value); static void proto_tree_set_ipxnet(field_info *fi, guint32 value); static void proto_tree_set_ipv4(field_info *fi, guint32 value); static void ! proto_tree_set_ipv6(field_info *fi, guint8* value_ptr); static void proto_tree_set_boolean(field_info *fi, guint32 value); static void --- 89,127 ---- static gboolean check_for_protocol_or_field_id(GNode *node, gpointer data); static gboolean check_for_field_within_protocol(GNode *node, gpointer data); static proto_item* proto_tree_add_node(proto_tree *tree, field_info *fi); static proto_item * proto_tree_add_pi(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! field_info **pfi); ! static void ! proto_tree_set_representation(proto_item *pi, const char *format, va_list ap); static void proto_tree_set_value(field_info *fi, gint length, va_list ap); static void proto_tree_set_bytes(field_info *fi, const guint8* start_ptr, gint length); static void + proto_tree_set_bytes_tvb(field_info *fi, tvbuff_t *tvb, gint offset, gint length); + static void proto_tree_set_time(field_info *fi, struct timeval *value_ptr); static void proto_tree_set_string(field_info *fi, const char* value); + static void + proto_tree_set_string_tvb(field_info *fi, tvbuff_t *tvb, gint start, gint length); static void ! proto_tree_set_ether(field_info *fi, const guint8* value); static void + proto_tree_set_ether_tvb(field_info *fi, tvbuff_t *tvb, gint start); + static void proto_tree_set_ipxnet(field_info *fi, guint32 value); static void proto_tree_set_ipv4(field_info *fi, guint32 value); + static void + proto_tree_set_ipv6(field_info *fi, const guint8* value_ptr); static void ! proto_tree_set_ipv6_tvb(field_info *fi, tvbuff_t *tvb, gint start); static void proto_tree_set_boolean(field_info *fi, guint32 value); static void *************** *** 267,283 **** proto_item * proto_tree_add_notext(proto_tree *tree, tvbuff_t *tvb, gint start, gint length) { - field_info *fi; proto_item *pi; ! if (!tree) return(NULL); - fi = proto_tree_add_field_info(hf_text_only, tvb, start, length, - proto_tree_is_visible); - pi = proto_tree_add_node(tree, fi); - fi->representation = NULL; - return pi; } --- 274,285 ---- proto_item * proto_tree_add_notext(proto_tree *tree, tvbuff_t *tvb, gint start, gint length) { proto_item *pi; ! pi = proto_tree_add_pi(tree, hf_text_only, tvb, start, length, NULL); ! if (pi == NULL) return(NULL); return pi; } *************** *** 286,331 **** proto_tree_add_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *format, ...) { - field_info *fi; proto_item *pi; va_list ap; ! if (!tree) return(NULL); - - fi = proto_tree_add_field_info(hf_text_only, tvb, start, length, - proto_tree_is_visible); - pi = proto_tree_add_node(tree, fi); ! /* Only add text if we know that proto_tree is to be shown */ ! if (proto_tree_is_visible) { ! va_start(ap, format); ! fi->representation = g_mem_chunk_alloc(gmc_item_labels); ! vsnprintf(fi->representation, ITEM_LABEL_LENGTH, format, ap); ! va_end(ap); ! } ! else { ! fi->representation = NULL; ! } return pi; } /* Add an item to a proto_tree, using the text label registered to that item. */ proto_item * ! proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ...) { proto_item *pi; va_list ap; field_info *new_fi; ! if (!tree) return(NULL); va_start(ap, length); - /* ap won't be used since format is NULL */ - pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, - NULL, TRUE, &new_fi, ap); proto_tree_set_value(new_fi, length, ap); va_end(ap); --- 288,320 ---- proto_tree_add_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *format, ...) { proto_item *pi; va_list ap; ! pi = proto_tree_add_notext(tree, tvb, start, length); ! if (pi == NULL) return(NULL); ! va_start(ap, format); ! proto_tree_set_representation(pi, format, ap); ! va_end(ap); return pi; } /* Add an item to a proto_tree, using the text label registered to that item. */ proto_item * ! proto_tree_add_item_old(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ...) { proto_item *pi; va_list ap; field_info *new_fi; ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); ! if (pi == NULL) return(NULL); va_start(ap, length); proto_tree_set_value(new_fi, length, ap); va_end(ap); *************** *** 335,356 **** /* Add an item to a proto_tree, but make it invisible in GUI. The field is * still searchable, though. */ proto_item * ! proto_tree_add_item_hidden(proto_tree *tree, int hfindex, tvbuff_t* tvb, gint start, gint length, ...) { proto_item *pi; ! va_list ap; field_info *new_fi; ! if (!tree) return(NULL); ! va_start(ap, length); ! /* ap won't be used since format is NULL */ ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! NULL, FALSE, &new_fi, ap); ! proto_tree_set_value(new_fi, length, ap); ! va_end(ap); return pi; } --- 324,512 ---- /* Add an item to a proto_tree, but make it invisible in GUI. The field is * still searchable, though. */ proto_item * ! proto_tree_add_item_hidden_old(proto_tree *tree, int hfindex, tvbuff_t* tvb, gint start, gint length, ...) { proto_item *pi; ! field_info *fi; ! ! pi = proto_tree_add_item_old(tree, hfindex, tvb, start, length); ! if (pi == NULL) ! return(NULL); ! ! fi = (field_info*) (((GNode*)pi)->data); ! fi->visible = FALSE; ! ! return pi; ! } ! ! static guint32 ! get_uint_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian) ! { ! guint32 value; ! ! switch (length) { ! ! case 1: ! value = tvb_get_guint8(tvb, offset); ! break; ! ! case 2: ! value = little_endian ? tvb_get_letohs(tvb, offset) ! : tvb_get_ntohs(tvb, offset); ! break; ! ! case 3: ! value = little_endian ? tvb_get_letoh24(tvb, offset) ! : tvb_get_ntoh24(tvb, offset); ! break; ! ! case 4: ! value = little_endian ? tvb_get_letohl(tvb, offset) ! : tvb_get_ntohl(tvb, offset); ! break; ! ! default: ! g_assert_not_reached(); ! value = 0; ! break; ! } ! return value; ! } ! ! static gint32 ! get_int_value(tvbuff_t *tvb, gint offset, gint length, gboolean little_endian) ! { ! gint32 value; ! ! switch (length) { ! ! case 1: ! value = (gint8)tvb_get_guint8(tvb, offset); ! break; ! ! case 2: ! value = (gint16) (little_endian ? tvb_get_letohs(tvb, offset) ! : tvb_get_ntohs(tvb, offset)); ! break; ! ! case 3: ! value = little_endian ? tvb_get_letoh24(tvb, offset) ! : tvb_get_ntoh24(tvb, offset); ! if (value & 0x00800000) { ! /* Sign bit is set; sign-extend it. */ ! value |= 0xFF000000; ! } ! break; ! ! case 4: ! value = little_endian ? tvb_get_letohl(tvb, offset) ! : tvb_get_ntohl(tvb, offset); ! break; ! ! default: ! g_assert_not_reached(); ! value = 0; ! break; ! } ! return value; ! } ! ! /* Add an item to a proto_tree, using the text label registered to that item; ! the item is extracted from the tvbuff handed to it. */ ! proto_item * ! proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, ! gint start, gint length, gboolean little_endian) ! { ! proto_item *pi; field_info *new_fi; + guint32 value; ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); ! if (pi == NULL) return(NULL); ! switch(new_fi->hfinfo->type) { ! case FT_NONE: ! /* no value to set for FT_NONE */ ! break; + case FT_BYTES: + proto_tree_set_bytes_tvb(new_fi, tvb, start, length); + break; + + case FT_BOOLEAN: + proto_tree_set_boolean(new_fi, + get_uint_value(tvb, start, length, little_endian)); + break; + + /* XXX - make these just FT_UINT? */ + case FT_UINT8: + case FT_UINT16: + case FT_UINT24: + case FT_UINT32: + proto_tree_set_uint(new_fi, + get_uint_value(tvb, start, length, little_endian)); + break; + + /* XXX - make these just FT_INT? */ + case FT_INT8: + case FT_INT16: + case FT_INT24: + case FT_INT32: + proto_tree_set_int(new_fi, + get_int_value(tvb, start, length, little_endian)); + break; + + case FT_IPv4: + g_assert(length == 4); + tvb_memcpy(tvb, (guint8 *)&value, start, 4); + proto_tree_set_ipv4(new_fi, value); + break; + + case FT_IPXNET: + g_assert(length == 4); /* 2? */ + tvb_memcpy(tvb, (guint8 *)&value, start, 4); + proto_tree_set_ipxnet(new_fi, value); + break; + + case FT_IPv6: + g_assert(length == 16); + proto_tree_set_ipv6_tvb(new_fi, tvb, start); + break; + + case FT_ETHER: + g_assert(length == 6); + proto_tree_set_ether_tvb(new_fi, tvb, start); + break; + + case FT_STRING: + /* This g_strdup'ed memory is freed in proto_tree_free_node() */ + proto_tree_set_string_tvb(new_fi, tvb, start, length); + break; + + default: + g_error("new_fi->hfinfo->type %d not handled\n", new_fi->hfinfo->type); + g_assert_not_reached(); + break; + } + + return pi; + } + + proto_item * + proto_tree_add_item_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, + gint start, gint length, gboolean little_endian) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_item(tree, hfindex, tvb, start, length, little_endian); + if (pi == NULL) + return(NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + return pi; } *************** *** 458,479 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_NONE); va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, NULL, ap); ! /* no value to set for FT_NONE */ va_end(ap); return pi; } /* Add a FT_BYTES to a proto_tree */ proto_item * ! proto_tree_add_bytes_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, const guint8 *start_ptr, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 614,636 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_NONE); + pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, NULL); + va_start(ap, format); ! proto_tree_set_representation(pi, format, ap); va_end(ap); + /* no value to set for FT_NONE */ + return pi; } /* Add a FT_BYTES to a proto_tree */ proto_item * ! proto_tree_add_bytes(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, const guint8 *start_ptr) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 483,492 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_BYTES); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_bytes(new_fi, start_ptr, length); va_end(ap); return pi; --- 640,681 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_BYTES); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_bytes(new_fi, start_ptr, length); + + return pi; + } + + proto_item * + proto_tree_add_bytes_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8 *start_ptr) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_bytes(tree, hfindex, tvb, start, length, start_ptr); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_bytes_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8 *start_ptr, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_bytes(tree, hfindex, tvb, start, length, start_ptr); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 509,521 **** } } /* Add a FT_*TIME to a proto_tree */ proto_item * ! proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! struct timeval *value_ptr, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 698,722 ---- } } + static void + proto_tree_set_bytes_tvb(field_info *fi, tvbuff_t *tvb, gint offset, gint length) + { + if (length > 0) { + /* This g_malloc'ed memory is freed in + proto_tree_free_node() */ + fi->value.bytes = tvb_memdup(tvb, offset, length); + } + else { + fi->value.bytes = NULL; + } + } + /* Add a FT_*TIME to a proto_tree */ proto_item * ! proto_tree_add_time(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! struct timeval *value_ptr) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 526,535 **** g_assert(hfinfo->type == FT_ABSOLUTE_TIME || hfinfo->type == FT_RELATIVE_TIME); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_time(new_fi, value_ptr); va_end(ap); return pi; --- 727,768 ---- g_assert(hfinfo->type == FT_ABSOLUTE_TIME || hfinfo->type == FT_RELATIVE_TIME); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_time(new_fi, value_ptr); + + return pi; + } + + proto_item * + proto_tree_add_time_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + struct timeval *value_ptr) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_time(tree, hfindex, tvb, start, length, value_ptr); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + struct timeval *value_ptr, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_time(tree, hfindex, tvb, start, length, value_ptr); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 544,554 **** /* Add a FT_IPXNET to a proto_tree */ proto_item * ! proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 777,786 ---- /* Add a FT_IPXNET to a proto_tree */ proto_item * ! proto_tree_add_ipxnet(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 558,567 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_IPXNET); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_ipxnet(new_fi, value); va_end(ap); return pi; --- 790,831 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_IPXNET); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_ipxnet(new_fi, value); + + return pi; + } + + proto_item * + proto_tree_add_ipxnet_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_ipxnet(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_ipxnet(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 576,586 **** /* Add a FT_IPv4 to a proto_tree */ proto_item * ! proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 840,849 ---- /* Add a FT_IPv4 to a proto_tree */ proto_item * ! proto_tree_add_ipv4(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 590,599 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_IPv4); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_ipv4(new_fi, value); va_end(ap); return pi; --- 853,894 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_IPv4); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_ipv4(new_fi, value); + + return pi; + } + + proto_item * + proto_tree_add_ipv4_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_ipv4(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_ipv4(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 609,619 **** /* Add a FT_IPv6 to a proto_tree */ proto_item * ! proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint8* value_ptr, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 904,913 ---- /* Add a FT_IPv6 to a proto_tree */ proto_item * ! proto_tree_add_ipv6(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! const guint8* value_ptr) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 623,651 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_IPv6); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_ipv6(new_fi, value_ptr); va_end(ap); return pi; } ! /* Set the FT_IPv4 value */ static void ! proto_tree_set_ipv6(field_info *fi, guint8* value_ptr) { memcpy(fi->value.ipv6, value_ptr, 16); } /* Add a FT_STRING to a proto_tree */ proto_item * ! proto_tree_add_string_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, const char* value, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 917,982 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_IPv6); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_ipv6(new_fi, value_ptr); + + return pi; + } + + proto_item * + proto_tree_add_ipv6_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + const guint8* value_ptr) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_ipv6(tree, hfindex, tvb, start, length, value_ptr); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + const guint8* value_ptr, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_ipv6(tree, hfindex, tvb, start, length, value_ptr); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; } ! /* Set the FT_IPv6 value */ static void ! proto_tree_set_ipv6(field_info *fi, const guint8* value_ptr) { memcpy(fi->value.ipv6, value_ptr, 16); } + static void + proto_tree_set_ipv6_tvb(field_info *fi, tvbuff_t *tvb, gint start) + { + tvb_memcpy(tvb, fi->value.ipv6, start, 16); + } + /* Add a FT_STRING to a proto_tree */ proto_item * ! proto_tree_add_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, const char* value) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 655,664 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_STRING); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_string(new_fi, value); va_end(ap); return pi; --- 986,1027 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_STRING); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_string(new_fi, value); + + return pi; + } + + proto_item * + proto_tree_add_string_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const char* value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_string(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_string_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const char* value, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_string(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 672,684 **** fi->value.string = g_strdup(value); } /* Add a FT_ETHER to a proto_tree */ proto_item * ! proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint8* value, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 1035,1053 ---- fi->value.string = g_strdup(value); } + static void + proto_tree_set_string_tvb(field_info *fi, tvbuff_t *tvb, gint start, gint length) + { + /* This g_strdup'ed memory is freed in proto_tree_free_node() */ + fi->value.string = tvb_memdup(tvb, start, length); + } + /* Add a FT_ETHER to a proto_tree */ proto_item * ! proto_tree_add_ether(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! const guint8* value) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 688,697 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_ETHER); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_ether(new_fi, value); va_end(ap); return pi; --- 1057,1098 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_ETHER); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_ether(new_fi, value); + + return pi; + } + + proto_item * + proto_tree_add_ether_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + const guint8* value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_ether(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + const guint8* value, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_ether(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 699,716 **** /* Set the FT_ETHER value */ static void ! proto_tree_set_ether(field_info *fi, guint8* value) { memcpy(fi->value.ether, value, 6); } /* Add a FT_BOOLEAN to a proto_tree */ proto_item * ! proto_tree_add_boolean_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 1100,1122 ---- /* Set the FT_ETHER value */ static void ! proto_tree_set_ether(field_info *fi, const guint8* value) { memcpy(fi->value.ether, value, 6); } + static void + proto_tree_set_ether_tvb(field_info *fi, tvbuff_t *tvb, gint start) + { + tvb_memcpy(tvb, fi->value.ether, start, 6); + } + /* Add a FT_BOOLEAN to a proto_tree */ proto_item * ! proto_tree_add_boolean(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 720,729 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_BOOLEAN); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_boolean(new_fi, value); va_end(ap); return pi; --- 1126,1167 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_BOOLEAN); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_boolean(new_fi, value); + + return pi; + } + + proto_item * + proto_tree_add_boolean_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_boolean(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_boolean_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_boolean(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 738,748 **** /* Add a FT_DOUBLE to a proto_tree */ proto_item * ! proto_tree_add_double_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! double value, const char *format, ...) { proto_item *pi; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 1176,1185 ---- /* Add a FT_DOUBLE to a proto_tree */ proto_item * ! proto_tree_add_double(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! double value) { proto_item *pi; field_info *new_fi; header_field_info *hfinfo; *************** *** 752,761 **** hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_DOUBLE); ! va_start(ap, format); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_double(new_fi, value); va_end(ap); return pi; --- 1189,1230 ---- hfinfo = proto_registrar_get_nth(hfindex); g_assert(hfinfo->type == FT_DOUBLE); ! pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, &new_fi); proto_tree_set_double(new_fi, value); + + return pi; + } + + proto_item * + proto_tree_add_double_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + double value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_double(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_double_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + double value, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_double(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); va_end(ap); return pi; *************** *** 770,780 **** /* Add any FT_UINT* to a proto_tree */ proto_item * ! proto_tree_add_uint_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value, const char *format, ...) { proto_item *pi = NULL; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 1239,1248 ---- /* Add any FT_UINT* to a proto_tree */ proto_item * ! proto_tree_add_uint(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! guint32 value) { proto_item *pi = NULL; field_info *new_fi; header_field_info *hfinfo; *************** *** 787,797 **** case FT_UINT16: case FT_UINT24: case FT_UINT32: - va_start(ap, format); pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_uint(new_fi, value); - va_end(ap); break; default: --- 1255,1263 ---- case FT_UINT16: case FT_UINT24: case FT_UINT32: pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! &new_fi); proto_tree_set_uint(new_fi, value); break; default: *************** *** 801,806 **** --- 1267,1307 ---- return pi; } + proto_item * + proto_tree_add_uint_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_uint(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_uint_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + guint32 value, const char *format, ...) + { + proto_item *pi; + va_list ap; + + pi = proto_tree_add_uint(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); + va_end(ap); + + return pi; + } + /* Set the FT_UINT* value */ static void proto_tree_set_uint(field_info *fi, guint32 value) *************** *** 822,832 **** /* Add any FT_INT* to a proto_tree */ proto_item * ! proto_tree_add_int_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! gint32 value, const char *format, ...) { proto_item *pi = NULL; - va_list ap; field_info *new_fi; header_field_info *hfinfo; --- 1323,1332 ---- /* Add any FT_INT* to a proto_tree */ proto_item * ! proto_tree_add_int(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! gint32 value) { proto_item *pi = NULL; field_info *new_fi; header_field_info *hfinfo; *************** *** 839,849 **** case FT_INT16: case FT_INT24: case FT_INT32: - va_start(ap, format); pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! format, TRUE, &new_fi, ap); proto_tree_set_int(new_fi, value); - va_end(ap); break; default: --- 1339,1347 ---- case FT_INT16: case FT_INT24: case FT_INT32: pi = proto_tree_add_pi(tree, hfindex, tvb, start, length, ! &new_fi); proto_tree_set_int(new_fi, value); break; default: *************** *** 853,858 **** --- 1351,1391 ---- return pi; } + proto_item * + proto_tree_add_int_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + gint32 value) + { + proto_item *pi; + field_info *fi; + + pi = proto_tree_add_int(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + fi = (field_info*) (((GNode*)pi)->data); + fi->visible = FALSE; + + return pi; + } + + proto_item * + proto_tree_add_int_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, + gint32 value, const char *format, ...) + { + proto_item *pi = NULL; + va_list ap; + + pi = proto_tree_add_int(tree, hfindex, tvb, start, length, value); + if (pi == NULL) + return (NULL); + + va_start(ap, format); + proto_tree_set_representation(pi, format, ap); + va_end(ap); + + return pi; + } + /* Set the FT_INT* value */ static void proto_tree_set_int(field_info *fi, gint32 value) *************** *** 873,900 **** } - /* Create a new field_info struct, and initialize it */ - static field_info * - proto_tree_add_field_info(int hfindex, tvbuff_t *tvb, gint start, gint length, int visible) - { - field_info *fi; - - fi = g_mem_chunk_alloc(gmc_field_info); - - g_assert(hfindex >= 0 && hfindex < gpa_hfinfo->len); - fi->hfinfo = proto_registrar_get_nth(hfindex); - g_assert(fi->hfinfo != NULL); - fi->start = start; - if (tvb) { - fi->start += tvb_raw_offset(tvb); - } - fi->length = length; - fi->tree_type = ETT_NONE; - fi->visible = visible; - - return fi; - } - /* Add a field_info struct to the proto_tree, encapsulating it in a GNode (proto_item) */ static proto_item * proto_tree_add_node(proto_tree *tree, field_info *fi) --- 1406,1411 ---- *************** *** 908,918 **** } ! /* Generic way to allocate field_info, add to proto_tree, and set representation. * Sets *pfi to address of newly-allocated field_info struct, if pfi is non-NULL. */ static proto_item * proto_tree_add_pi(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! const char *format, gboolean visible, field_info **pfi, va_list ap) { proto_item *pi; field_info *fi; --- 1419,1429 ---- } ! /* Generic way to allocate field_info and add to proto_tree. * Sets *pfi to address of newly-allocated field_info struct, if pfi is non-NULL. */ static proto_item * proto_tree_add_pi(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ! field_info **pfi) { proto_item *pi; field_info *fi; *************** *** 920,941 **** if (!tree) return(NULL); ! /* either visibility flag can nullify the other */ ! visible = proto_tree_is_visible && visible; ! fi = proto_tree_add_field_info(hfindex, tvb, start, length, visible); pi = proto_tree_add_node(tree, fi); - /* are there any formatting arguments? */ - if (visible && format) { - fi->representation = g_mem_chunk_alloc(gmc_item_labels); - vsnprintf(fi->representation, ITEM_LABEL_LENGTH, format, ap); - } - else { - fi->representation = NULL; - } - if (pfi) { *pfi = fi; } --- 1431,1452 ---- if (!tree) return(NULL); ! fi = g_mem_chunk_alloc(gmc_field_info); ! g_assert(hfindex >= 0 && hfindex < gpa_hfinfo->len); ! fi->hfinfo = proto_registrar_get_nth(hfindex); ! g_assert(fi->hfinfo != NULL); ! fi->start = start; ! if (tvb) { ! fi->start += tvb_raw_offset(tvb); ! } ! fi->length = length; ! fi->tree_type = ETT_NONE; ! fi->visible = proto_tree_is_visible; ! fi->representation = NULL; pi = proto_tree_add_node(tree, fi); if (pfi) { *pfi = fi; } *************** *** 943,948 **** --- 1454,1471 ---- return pi; } + /* Set representation of a proto_tree entry, if the protocol tree is to + be visible. */ + static void + proto_tree_set_representation(proto_item *pi, const char *format, va_list ap) + { + field_info *fi = (field_info*) (((GNode*)pi)->data); + + if (fi->visible) { + fi->representation = g_mem_chunk_alloc(gmc_item_labels); + vsnprintf(fi->representation, ITEM_LABEL_LENGTH, format, ap); + } + } void proto_item_set_text(proto_item *pi, const char *format, ...) *************** *** 953,962 **** if (fi->representation) g_mem_chunk_free(gmc_item_labels, fi->representation); - fi->representation = g_mem_chunk_alloc(gmc_item_labels); va_start(ap, format); ! vsnprintf(fi->representation, ITEM_LABEL_LENGTH, ! format, ap); va_end(ap); } --- 1476,1483 ---- if (fi->representation) g_mem_chunk_free(gmc_item_labels, fi->representation); va_start(ap, format); ! proto_tree_set_representation(pi, format, ap); va_end(ap); } Index: proto.h =================================================================== RCS file: /usr/local/cvsroot/ethereal/proto.h,v retrieving revision 1.31 diff -c -r1.31 proto.h *** proto.h 2000/05/30 09:52:30 1.31 --- proto.h 2000/05/30 10:39:49 *************** *** 197,209 **** /* Add item's value to proto_tree, using label registered to that field */ proto_item * ! proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ...); proto_item * ! proto_tree_add_item_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ...); #if __GNUC__ == 2 proto_item * proto_tree_add_protocol_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, --- 197,220 ---- /* Add item's value to proto_tree, using label registered to that field */ proto_item * ! proto_tree_add_item_old(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ...); proto_item * ! proto_tree_add_item_hidden_old(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ...); + /* Add an item to a proto_tree, using the text label registered to that item; + the item is extracted from the tvbuff handed to it. */ + proto_item * + proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, + gint start, gint length, gboolean little_endian); + + proto_item * + proto_tree_add_item_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, + gint start, gint length, gboolean little_endian); + + /* Add a FT_NONE to a proto_tree */ #if __GNUC__ == 2 proto_item * proto_tree_add_protocol_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, *************** *** 215,220 **** --- 226,239 ---- gint length, const char *format, ...); #endif + /* Add a FT_BYTES to a proto_tree */ + proto_item * + proto_tree_add_bytes(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8* start_ptr); + + proto_item * + proto_tree_add_bytes_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8* start_ptr); #if __GNUC__ == 2 proto_item * *************** *** 227,232 **** --- 246,260 ---- gint length, const guint8* start_ptr, const char *format, ...); #endif + /* Add a FT_*TIME to a proto_tree */ + proto_item * + proto_tree_add_time(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, struct timeval* value_ptr); + + proto_item * + proto_tree_add_time_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, struct timeval* value_ptr); + #if __GNUC__ == 2 proto_item * proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, *************** *** 238,243 **** --- 266,280 ---- gint length, struct timeval* value_ptr, const char *format, ...); #endif + /* Add a FT_IPXNET to a proto_tree */ + proto_item * + proto_tree_add_ipxnet(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + + proto_item * + proto_tree_add_ipxnet_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + #if __GNUC__ == 2 proto_item * proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, *************** *** 249,254 **** --- 286,300 ---- gint length, guint32 value, const char *format, ...); #endif + /* Add a FT_IPv4 to a proto_tree */ + proto_item * + proto_tree_add_ipv4(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + + proto_item * + proto_tree_add_ipv4_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + #if __GNUC__ == 2 proto_item * proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, *************** *** 260,280 **** gint length, guint32 value, const char *format, ...); #endif #if __GNUC__ == 2 proto_item * proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, guint8* value_ptr, const char *format, ...) __attribute__((format (printf, 7, 8))); #else proto_item * proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, guint8* value_ptr, const char *format, ...); #endif #if __GNUC__ == 2 proto_item * proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, guint8* value, const char *format, ...) __attribute__((format (printf, 7, 8))); #else proto_item * --- 306,344 ---- gint length, guint32 value, const char *format, ...); #endif + /* Add a FT_IPv6 to a proto_tree */ + proto_item * + proto_tree_add_ipv6(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8* value_ptr); + + proto_item * + proto_tree_add_ipv6_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8* value_ptr); + #if __GNUC__ == 2 proto_item * proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, const guint8* value_ptr, const char *format, ...) __attribute__((format (printf, 7, 8))); #else proto_item * proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, const guint8* value_ptr, const char *format, ...); #endif + /* Add a FT_ETHER to a proto_tree */ + proto_item * + proto_tree_add_ether(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8* value); + + proto_item * + proto_tree_add_ether_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const guint8* value); + #if __GNUC__ == 2 proto_item * proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, ! gint length, const guint8* value, const char *format, ...) __attribute__((format (printf, 7, 8))); #else proto_item * *************** *** 282,287 **** --- 346,360 ---- gint length, guint8* value, const char *format, ...); #endif + /* Add a FT_STRING to a proto_tree */ + proto_item * + proto_tree_add_string(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const char* value); + + proto_item * + proto_tree_add_string_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, const char* value); + #if __GNUC__ == 2 proto_item * proto_tree_add_string_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, *************** *** 293,298 **** --- 366,380 ---- gint length, const char* value, const char *format, ...); #endif + /* Add a FT_BOOLEAN to a proto_tree */ + proto_item * + proto_tree_add_boolean(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + + proto_item * + proto_tree_add_boolean_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + #if __GNUC__ == 2 proto_item * proto_tree_add_boolean_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, *************** *** 304,311 **** --- 386,422 ---- gint length, guint32 value, const char *format, ...); #endif + /* Add a FT_DOUBLE to a proto_tree */ + proto_item * + proto_tree_add_double(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, double value); + + proto_item * + proto_tree_add_double_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, double value); + #if __GNUC__ == 2 proto_item * + proto_tree_add_double_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, double value, const char *format, ...) + __attribute__((format (printf, 7, 8))); + #else + proto_item * + proto_tree_add_double_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, double value, const char *format, ...); + #endif + + /* Add any FT_UINT* to a proto_tree */ + proto_item * + proto_tree_add_uint(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + + proto_item * + proto_tree_add_uint_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, guint32 value); + + #if __GNUC__ == 2 + proto_item * proto_tree_add_uint_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, guint32 value, const char *format, ...) __attribute__((format (printf, 7, 8))); *************** *** 315,320 **** --- 426,440 ---- gint length, guint32 value, const char *format, ...); #endif + /* Add any FT_INT* to a proto_tree */ + proto_item * + proto_tree_add_int(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, gint32 value); + + proto_item * + proto_tree_add_int_hidden(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, + gint length, gint32 value); + #if __GNUC__ == 2 proto_item * proto_tree_add_int_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, *************** *** 327,332 **** --- 447,453 ---- #endif + /* Add a text-only node to the proto_tree */ #if __GNUC__ == 2 proto_item * proto_tree_add_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *, *************** *** 338,343 **** --- 459,465 ---- #endif + /* Add a node with no text */ proto_item * proto_tree_add_notext(proto_tree *tree, tvbuff_t *tvb, gint start, gint length); Index: plugins/gryphon/packet-gryphon.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/plugins/gryphon/packet-gryphon.c,v retrieving revision 1.9 diff -c -r1.9 packet-gryphon.c *** packet-gryphon.c 2000/05/11 08:18:09 1.9 --- packet-gryphon.c 2000/05/30 10:39:53 *************** *** 141,147 **** if (tree) { if (fd) { ti = proto_tree_add_item(tree, proto_gryphon, NullTVB, offset, ! end_of_frame, NULL); gryphon_tree = proto_item_add_subtree(ti, ett_gryphon); } else gryphon_tree = tree; --- 141,147 ---- if (tree) { if (fd) { ti = proto_tree_add_item(tree, proto_gryphon, NullTVB, offset, ! end_of_frame, FALSE); gryphon_tree = proto_item_add_subtree(ti, ett_gryphon); } else gryphon_tree = tree; *************** *** 164,171 **** i = SIZEOF(src_dest) - 1; proto_tree_add_text(header_tree, NullTVB, offset, 2, "Source: %s, channel %hd", src_dest[i].strptr, data[1]); ! proto_tree_add_item_hidden(header_tree, hf_gryph_src, NullTVB, offset, 1, src); ! proto_tree_add_item_hidden(header_tree, hf_gryph_srcchan, NullTVB, offset+1, 1, data[1]); for (i = 0; i < SIZEOF(src_dest); i++) { if (src_dest[i].value == dest) --- 164,171 ---- i = SIZEOF(src_dest) - 1; proto_tree_add_text(header_tree, NullTVB, offset, 2, "Source: %s, channel %hd", src_dest[i].strptr, data[1]); ! proto_tree_add_uint_hidden(header_tree, hf_gryph_src, NullTVB, offset, 1, src); ! proto_tree_add_uint_hidden(header_tree, hf_gryph_srcchan, NullTVB, offset+1, 1, data[1]); for (i = 0; i < SIZEOF(src_dest); i++) { if (src_dest[i].value == dest) *************** *** 175,182 **** i = SIZEOF(src_dest) - 1; proto_tree_add_text(header_tree, NullTVB, offset+2, 2, "Destination: %s, channel %hd", src_dest[i].strptr, data[3]); ! proto_tree_add_item_hidden(header_tree, hf_gryph_dest, NullTVB, offset+2, 1, dest); ! proto_tree_add_item_hidden(header_tree, hf_gryph_destchan, NullTVB, offset+3, 1, data[3]); proto_tree_add_text(header_tree, NullTVB, offset+4, 2, "Data length: %d bytes", msglen); --- 175,182 ---- i = SIZEOF(src_dest) - 1; proto_tree_add_text(header_tree, NullTVB, offset+2, 2, "Destination: %s, channel %hd", src_dest[i].strptr, data[3]); ! proto_tree_add_uint_hidden(header_tree, hf_gryph_dest, NullTVB, offset+2, 1, dest); ! proto_tree_add_uint_hidden(header_tree, hf_gryph_destchan, NullTVB, offset+3, 1, data[3]); proto_tree_add_text(header_tree, NullTVB, offset+4, 2, "Data length: %d bytes", msglen); *************** *** 184,190 **** "Frame type: %s", frame_type[frmtyp]); proto_tree_add_text(header_tree, NullTVB, offset+7, 1, "reserved"); ! proto_tree_add_item_hidden(header_tree, hf_gryph_type, NullTVB, offset+6, 1, frmtyp); msgpad = 3 - (msglen + 3) % 4; msgend = data + msglen + msgpad + MSG_HDR_SZ; --- 184,190 ---- "Frame type: %s", frame_type[frmtyp]); proto_tree_add_text(header_tree, NullTVB, offset+7, 1, "reserved"); ! proto_tree_add_uint_hidden(header_tree, hf_gryph_type, NullTVB, offset+6, 1, frmtyp); msgpad = 3 - (msglen + 3) % 4; msgend = data + msglen + msgpad + MSG_HDR_SZ; *************** *** 446,452 **** proto_item *ti; cmd = (*data)[0]; ! proto_tree_add_item_hidden(pt, hf_gryph_cmd, NullTVB, *offset, 1, cmd); if (cmd > 0x3F) cmd += dst * 256; --- 446,452 ---- proto_item *ti; cmd = (*data)[0]; ! proto_tree_add_uint_hidden(pt, hf_gryph_cmd, NullTVB, *offset, 1, cmd); if (cmd > 0x3F) cmd += dst * 256;
- Prev by Date: Re: [ethereal-dev] Ethereal C++ compatability
- Next by Date: Re: [ethereal-dev] Replacing "proto_tree_add_item()" with type-specific versions
- Previous by thread: Re: [ethereal-dev] Ethereal C++ compatability
- Next by thread: Re: [ethereal-dev] Replacing "proto_tree_add_item()" with type-specific versions
- Index(es):