aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2000-05-11 08:18:09 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2000-05-11 08:18:09 +0000
commit292e38e2c61edcd14bfa30ca3c72bacda1bcbe32 (patch)
treedb4edef02456a48d0f6d505166ac7d70f6c0f644
parent162800efb308901e0c302517be01226130e39b19 (diff)
Add tvbuff class.
Add exceptions routines. Convert proto_tree_add_*() routines to require tvbuff_t* argument. Convert all dissectors to pass NULL argument ("NullTVB" macro == NULL) as the tvbuff_t* argument to proto_tree_add_*() routines. dissect_packet() creates a tvbuff_t, wraps the next dissect call in a TRY block, will print "Short Frame" on the proto_tree if a BoundsError exception is caught. The FDDI dissector is converted to use tvbuff's. svn path=/trunk/; revision=1939
-rw-r--r--Makefile.am9
-rw-r--r--Makefile.nmake4
-rw-r--r--except.c415
-rw-r--r--except.h149
-rw-r--r--exceptions.h131
-rw-r--r--packet-aarp.c24
-rw-r--r--packet-afs.c80
-rw-r--r--packet-arp.c86
-rw-r--r--packet-ascend.c20
-rw-r--r--packet-atalk.c68
-rw-r--r--packet-atm.c94
-rw-r--r--packet-auto_rp.c32
-rw-r--r--packet-bgp.c174
-rw-r--r--packet-bootp.c132
-rw-r--r--packet-bootparams.c6
-rw-r--r--packet-bpdu.c38
-rw-r--r--packet-cdp.c96
-rw-r--r--packet-cgmp.c14
-rw-r--r--packet-clip.c6
-rw-r--r--packet-clnp.c362
-rw-r--r--packet-data.c4
-rw-r--r--packet-ddtp.c44
-rw-r--r--packet-dns.c194
-rw-r--r--packet-esis.c52
-rw-r--r--packet-eth.c24
-rw-r--r--packet-ethertype.c4
-rw-r--r--packet-fddi.c63
-rw-r--r--packet-fddi.h5
-rw-r--r--packet-ftp.c22
-rw-r--r--packet-giop.c78
-rw-r--r--packet-gre.c50
-rw-r--r--packet-h1.c36
-rw-r--r--packet-hsrp.c24
-rw-r--r--packet-http.c10
-rw-r--r--packet-icmpv6.c96
-rw-r--r--packet-icp.c36
-rw-r--r--packet-icq.c192
-rw-r--r--packet-imap.c16
-rw-r--r--packet-ip.c170
-rw-r--r--packet-ipp.c36
-rw-r--r--packet-ipsec.c30
-rw-r--r--packet-ipv6.c50
-rw-r--r--packet-ipx.c88
-rw-r--r--packet-irc.c12
-rw-r--r--packet-isakmp.c184
-rw-r--r--packet-isis-clv.c14
-rw-r--r--packet-isis-hello.c20
-rw-r--r--packet-isis-lsp.c32
-rw-r--r--packet-isis-snp.c20
-rw-r--r--packet-isis.c22
-rw-r--r--packet-isl.c48
-rw-r--r--packet-l2tp.c124
-rw-r--r--packet-lapb.c8
-rw-r--r--packet-lapd.c16
-rw-r--r--packet-ldap.c30
-rw-r--r--packet-llc.c20
-rw-r--r--packet-lpd.c14
-rw-r--r--packet-mapi.c12
-rw-r--r--packet-mount.c52
-rw-r--r--packet-mpls.c14
-rw-r--r--packet-msproxy.c150
-rw-r--r--packet-nbipx.c48
-rw-r--r--packet-nbns.c210
-rw-r--r--packet-ncp.c42
-rw-r--r--packet-netbios.c126
-rw-r--r--packet-nfs.c260
-rw-r--r--packet-nntp.c10
-rw-r--r--packet-ntp.c36
-rw-r--r--packet-null.c8
-rw-r--r--packet-osi-options.c56
-rw-r--r--packet-ospf.c228
-rw-r--r--packet-pim.c82
-rw-r--r--packet-pop.c16
-rw-r--r--packet-portmap.c50
-rw-r--r--packet-ppp.c136
-rw-r--r--packet-pppoe.c34
-rw-r--r--packet-pptp.c196
-rw-r--r--packet-q2931.c234
-rw-r--r--packet-q931.c264
-rw-r--r--packet-radius.c20
-rw-r--r--packet-raw.c6
-rw-r--r--packet-rip.c32
-rw-r--r--packet-ripng.c20
-rw-r--r--packet-rlogin.c40
-rw-r--r--packet-rpc.c100
-rw-r--r--packet-rsvp.c468
-rw-r--r--packet-rtcp.c62
-rw-r--r--packet-rtp.c34
-rw-r--r--packet-rtsp.c16
-rw-r--r--packet-rx.c36
-rw-r--r--packet-sap.c46
-rw-r--r--packet-sdp.c10
-rw-r--r--packet-smb-browse.c136
-rw-r--r--packet-smb-common.c12
-rw-r--r--packet-smb-common.h6
-rw-r--r--packet-smb-logon.c28
-rw-r--r--packet-smb-mailslot.c14
-rw-r--r--packet-smb-pipe.c174
-rw-r--r--packet-smb.c1480
-rw-r--r--packet-sna.c210
-rw-r--r--packet-snmp.c60
-rw-r--r--packet-socks.c86
-rw-r--r--packet-srvloc.c154
-rw-r--r--packet-sscop.c34
-rw-r--r--packet-tacacs.c26
-rw-r--r--packet-tcp.c58
-rw-r--r--packet-telnet.c44
-rw-r--r--packet-tftp.c48
-rw-r--r--packet-time.c8
-rw-r--r--packet-tns.c38
-rw-r--r--packet-tr.c54
-rw-r--r--packet-trmac.c86
-rw-r--r--packet-udp.c16
-rw-r--r--packet-v120.c36
-rw-r--r--packet-vines.c38
-rw-r--r--packet-vlan.c10
-rw-r--r--packet-vrrp.c26
-rw-r--r--packet-vtp.c108
-rw-r--r--packet-wccp.c42
-rw-r--r--packet-who.c32
-rw-r--r--packet-x25.c306
-rw-r--r--packet-yhoo.c24
-rw-r--r--packet-ypserv.c8
-rw-r--r--packet.c122
-rw-r--r--packet.h11
-rw-r--r--plugins/gryphon/packet-gryphon.c384
-rw-r--r--proto.c85
-rw-r--r--proto.h88
-rw-r--r--tvbtest.c392
-rw-r--r--tvbuff.c824
-rw-r--r--tvbuff.h230
-rw-r--r--xdlc.c48
132 files changed, 7398 insertions, 5170 deletions
diff --git a/Makefile.am b/Makefile.am
index 3783bdae6f..e8006b2522 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
# Makefile.am
# Automake file for Ethereal
#
-# $Id: Makefile.am,v 1.194 2000/05/11 07:34:31 guy Exp $
+# $Id: Makefile.am,v 1.195 2000/05/11 08:14:47 gram Exp $
#
# Ethereal - Network traffic analyzer
# By Gerald Combs <gerald@zing.org>
@@ -248,6 +248,9 @@ ETHEREAL_COMMON_SOURCES = \
dfilter.c \
dfilter.h \
etypes.h \
+ except.c \
+ except.h \
+ exceptions.h \
follow.c \
follow.h \
inet_v6defs.h \
@@ -276,6 +279,8 @@ ETHEREAL_COMMON_SOURCES = \
resolv.h \
smb.h \
timestamp.h \
+ tvbuff.c \
+ tvbuff.h \
util.c \
util.h \
xdlc.c \
@@ -438,6 +443,8 @@ randpkt.o: randpkt.c
randpkt: randpkt.o wiretap/libwiretap.a
$(LINK) -o randpkt randpkt.o wiretap/libwiretap.a `glib-config --libs` -lz
+tvbtest: tvbtest.o tvbuff.o except.o
+
DISTCLEANFILES = \
register.c \
rdps \
diff --git a/Makefile.nmake b/Makefile.nmake
index 17b999063d..9c9bd606cb 100644
--- a/Makefile.nmake
+++ b/Makefile.nmake
@@ -1,7 +1,7 @@
## Makefile for building ethereal.exe with Microsoft C and nmake
## Use: nmake -f makefile.nmake
#
-# $Id: Makefile.nmake,v 1.36 2000/05/11 07:34:32 guy Exp $
+# $Id: Makefile.nmake,v 1.37 2000/05/11 08:14:48 gram Exp $
include config.nmake
@@ -148,6 +148,7 @@ ETHEREAL_COMMON_OBJECTS = \
dfilter-grammar.obj \
dfilter-scanner.obj \
dfilter.obj \
+ except.obj \
follow.obj \
getopt.obj \
ipproto.obj \
@@ -160,6 +161,7 @@ ETHEREAL_COMMON_OBJECTS = \
ps.obj \
register.obj \
resolv.obj \
+ tvbuff.obj \
util.obj \
xdlc.obj \
diff --git a/except.c b/except.c
new file mode 100644
index 0000000000..14440aa107
--- /dev/null
+++ b/except.c
@@ -0,0 +1,415 @@
+/*
+ * Portable Exception Handling for ANSI C.
+ * Copyright (C) 1999 Kaz Kylheku <kaz@ashi.footprints.net>
+ *
+ * Free Software License:
+ *
+ * All rights are reserved by the author, with the following exceptions:
+ * Permission is granted to freely reproduce and distribute this software,
+ * possibly in exchange for a fee, provided that this copyright notice appears
+ * intact. Permission is also granted to adapt this software to produce
+ * derivative works, as long as the modified versions carry this copyright
+ * notice and additional notices stating that the work has been modified.
+ * This source code may be translated into executable form and incorporated
+ * into proprietary software; there is no requirement for such software to
+ * contain a copyright notice related to this source.
+ * $Id: except.c,v 1.1 2000/05/11 08:14:49 gram Exp $
+ * $Name: $
+ */
+
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <limits.h>
+#include "except.h"
+
+#define XCEPT_BUFFER_SIZE 1024
+
+#ifdef KAZLIB_RCSID
+static const char rcsid[] = "$Id: except.c,v 1.1 2000/05/11 08:14:49 gram Exp $";
+#endif
+
+#define group except_group
+#define code except_code
+#define id except_id
+#define message except_message
+#define dyndata except_dyndata
+#define func except_func
+#define context except_context
+#define id except_id
+#define size except_size
+#define obj except_obj
+#define jmp except_jmp
+#define down except_down
+#define type except_type
+#define catcher except_catcher
+#define cleanup except_cleanup
+#define info except_info
+
+#ifdef KAZLIB_POSIX_THREADS
+
+#include <pthread.h>
+
+static pthread_mutex_t init_mtx = PTHREAD_MUTEX_INITIALIZER;
+static int init_counter;
+static pthread_key_t top_key;
+static pthread_key_t uh_key;
+static pthread_key_t alloc_key;
+static pthread_key_t dealloc_key;
+static void unhandled_catcher(except_t *);
+
+#define get_top() ((struct except_stacknode *) pthread_getspecific(top_key))
+#define set_top(T) (pthread_setspecific(top_key, (T)), (void)((T) == (struct except_stacknode *) 0))
+#define set_catcher(C) (pthread_setspecific(uh_key, (void *) (C)), (void)((C) == (void (*)(except_t *)) 0))
+#define set_alloc(A) (pthread_setspecific(alloc_key, (void *) (A)), (void)((A) == (void *(*)(size_t)) 0))
+#define set_dealloc(D) (pthread_setspecific(dealloc_key, (void *) (D)), (void)((D) == (void (*)(void *)) 0))
+
+static void (*get_catcher(void))(except_t *)
+{
+ void (*catcher)(except_t *) = (void (*)(except_t *)) pthread_getspecific(uh_key);
+ return (catcher == 0) ? unhandled_catcher : catcher;
+}
+
+static void *(*get_alloc(void))(size_t)
+{
+ void *(*alloc)(size_t) = (void *(*)(size_t)) pthread_getspecific(alloc_key);
+ return (alloc == 0) ? malloc : alloc;
+}
+
+static void (*get_dealloc(void))(void *)
+{
+ void (*dealloc)(void *) = (void (*)(void *)) pthread_getspecific(dealloc_key);
+ return (dealloc == 0) ? free : dealloc;
+}
+
+int except_init(void)
+{
+ int retval = 1;
+
+ pthread_mutex_lock(&init_mtx);
+
+ assert (init_counter < INT_MAX);
+
+ if (init_counter++ == 0) {
+ int top_ok = (pthread_key_create(&top_key, 0) == 0);
+ int uh_ok = (pthread_key_create(&uh_key, 0) == 0);
+ int alloc_ok = (pthread_key_create(&alloc_key, 0) == 0);
+ int dealloc_ok = (pthread_key_create(&dealloc_key, 0) == 0);
+
+ if (!top_ok || !uh_ok || !alloc_ok || !dealloc_ok) {
+ retval = 0;
+ init_counter = 0;
+ if (top_ok)
+ pthread_key_delete(top_key);
+ if (uh_ok)
+ pthread_key_delete(uh_key);
+ if (alloc_ok)
+ pthread_key_delete(alloc_key);
+ if (dealloc_ok)
+ pthread_key_delete(dealloc_key);
+ }
+ }
+
+ pthread_mutex_unlock(&init_mtx);
+
+ return retval;
+}
+
+void except_deinit(void)
+{
+ pthread_mutex_lock(&init_mtx);
+
+ assert (init_counter > 0);
+
+ if (--init_counter == 0) {
+ pthread_key_delete(top_key);
+ pthread_key_delete(uh_key);
+ pthread_key_delete(alloc_key);
+ pthread_key_delete(dealloc_key);
+ }
+
+ pthread_mutex_unlock(&init_mtx);
+}
+
+#else /* no thread support */
+
+static int init_counter;
+static void unhandled_catcher(except_t *);
+static void (*uh_catcher_ptr)(except_t *) = unhandled_catcher;
+static void *(*allocator)(size_t) = malloc;
+static void (*deallocator)(void *) = free;
+static struct except_stacknode *stack_top;
+
+#define get_top() (stack_top)
+#define set_top(T) (stack_top = (T))
+#define get_catcher() (uh_catcher_ptr)
+#define set_catcher(C) (uh_catcher_ptr = (C))
+#define get_alloc() (allocator)
+#define set_alloc(A) (allocator = (A))
+#define get_dealloc() (deallocator)
+#define set_dealloc(D) (deallocator = (D))
+
+int except_init(void)
+{
+ assert (init_counter < INT_MAX);
+ init_counter++;
+ return 1;
+}
+
+void except_deinit(void)
+{
+ assert (init_counter > 0);
+ init_counter--;
+}
+
+#endif
+
+
+static int match(const except_id_t *thrown, const except_id_t *caught)
+{
+ int group_match = (caught->group == XCEPT_GROUP_ANY || caught->group == thrown->group);
+ int code_match = (caught->code == XCEPT_CODE_ANY || caught->code == thrown->code);
+
+ return group_match && code_match;
+}
+
+static void do_throw(except_t *except)
+{
+ struct except_stacknode *top;
+
+ assert (except->id.group != 0 && except->id.code != 0);
+
+ for (top = get_top(); top != 0; top = top->down) {
+ if (top->type == XCEPT_CLEANUP) {
+ top->info.cleanup->func(top->info.cleanup->context);
+ } else {
+ struct except_catch *catcher = top->info.catcher;
+ const except_id_t *pi = catcher->id;
+ size_t i;
+
+ assert (top->type == XCEPT_CATCHER);
+ except_free(catcher->obj.dyndata);
+
+ for (i = 0; i < catcher->size; pi++, i++) {
+ if (match(&except->id, pi)) {
+ catcher->obj = *except;
+ set_top(top);
+ longjmp(catcher->jmp, 1);
+ }
+ }
+ }
+ }
+
+ set_top(top);
+ get_catcher()(except); /* unhandled exception */
+ abort();
+}
+
+static void unhandled_catcher(except_t *except)
+{
+ fprintf(stderr, "Unhandled exception (\"%s\", group=%ld, code=%ld)\n",
+ except->message, except->id.group, except->id.code);
+ abort();
+}
+
+static void stack_push(struct except_stacknode *node)
+{
+ node->down = get_top();
+ set_top(node);
+}
+
+void except_setup_clean(struct except_stacknode *esn,
+ struct except_cleanup *ecl, void (*cleanf)(void *), void *context)
+{
+ esn->type = XCEPT_CLEANUP;
+ ecl->func = cleanf;
+ ecl->context = context;
+ esn->info.cleanup = ecl;
+ stack_push(esn);
+}
+
+void except_setup_try(struct except_stacknode *esn,
+ struct except_catch *ech, const except_id_t id[], size_t size)
+{
+ ech->id = id;
+ ech->size = size;
+ ech->obj.dyndata = 0;
+ esn->type = XCEPT_CATCHER;
+ esn->info.catcher = ech;
+ stack_push(esn);
+}
+
+struct except_stacknode *except_pop(void)
+{
+ struct except_stacknode *top = get_top();
+ set_top(top->down);
+ return top;
+}
+
+void except_rethrow(except_t *except)
+{
+ struct except_stacknode *top = get_top();
+ assert (top != 0);
+ assert (top->type == XCEPT_CATCHER);
+ assert (&top->info.catcher->obj == except);
+ set_top(top->down);
+ do_throw(except);
+}
+
+void except_throw(long group, long code, const char *msg)
+{
+ except_t except;
+
+ except.id.group = group;
+ except.id.code = code;
+ except.message = msg;
+ except.dyndata = 0;
+
+ do_throw(&except);
+}
+
+void except_throwd(long group, long code, const char *msg, void *data)
+{
+ except_t except;
+
+ except.id.group = group;
+ except.id.code = code;
+ except.message = msg;
+ except.dyndata = data;
+
+ do_throw(&except);
+}
+
+void except_throwf(long group, long code, const char *fmt, ...)
+{
+ char *buf = except_alloc(XCEPT_BUFFER_SIZE);
+ va_list vl;
+
+ va_start (vl, fmt);
+ vsprintf(buf, fmt, vl);
+ va_end (vl);
+ except_throwd(group, code, buf, buf);
+}
+
+void (*except_unhandled_catcher(void (*new_catcher)(except_t *)))(except_t *)
+{
+ void (*old_catcher)(except_t *) = get_catcher();
+ set_catcher(new_catcher);
+ return old_catcher;
+}
+
+#undef except_code
+#undef except_group
+#undef except_message
+#undef except_data
+
+unsigned long except_code(except_t *ex)
+{
+ return ex->id.code;
+}
+
+unsigned long except_group(except_t *ex)
+{
+ return ex->id.group;
+}
+
+const char *except_message(except_t *ex)
+{
+ return ex->message;
+}
+
+void *except_data(except_t *ex)
+{
+ return ex->dyndata;
+}
+
+void *except_take_data(except_t *ex)
+{
+ void *data = ex->dyndata;
+ ex->dyndata = 0;
+ return data;
+}
+
+void except_set_allocator(void *(*alloc)(size_t), void (*dealloc)(void *))
+{
+ set_alloc(alloc);
+ set_dealloc(dealloc);
+}
+
+void *except_alloc(size_t size)
+{
+ void *ptr = get_alloc()(size);
+
+ if (ptr == 0)
+ except_throw(XCEPT_BAD_ALLOC, 0, "out of memory");
+ return ptr;
+}
+
+void except_free(void *ptr)
+{
+ get_dealloc()(ptr);
+}
+
+#ifdef KAZLIB_TEST_MAIN
+
+#include <stdio.h>
+#include <ctype.h>
+
+static void cleanup(void *arg)
+{
+ printf("cleanup(\"%s\") called\n", (char *) arg);
+}
+
+static void bottom_level(void)
+{
+ char buf[256];
+ printf("throw exception? "); fflush(stdout);
+ fgets(buf, sizeof buf, stdin);
+
+ if (toupper(buf[0]) == 'Y')
+ except_throw(1, 1, "nasty exception");
+}
+
+static void top_level(void)
+{
+ except_cleanup_push(cleanup, "argument");
+ bottom_level();
+ except_cleanup_pop(0);
+}
+
+int main(int argc, char **argv)
+{
+ static const except_id_t catch[] = { { 1, 1 }, { 1, 2 } };
+ except_t *ex;
+
+ /*
+ * Nested exception ``try blocks''
+ */
+
+ /* outer */
+ except_try_push(catch, 2, &ex);
+ if (!ex) {
+ /* inner */
+ except_try_push(catch, 2, &ex);
+ if (!ex) {
+ top_level();
+ } else {
+ /* inner catch */
+ printf("caught exception (inner): \"%s\", s=%ld, c=%ld\n",
+ except_message(ex), except_group(ex), except_code(ex));
+ except_rethrow(ex);
+ }
+ except_try_pop();
+ } else {
+ /* outer catch */
+ printf("caught exception (outer): \"%s\", s=%ld, c=%ld\n",
+ except_message(ex), except_group(ex), except_code(ex));
+ }
+ except_try_pop();
+ except_throw(99, 99, "exception in main");
+ return 0;
+}
+
+
+#endif
diff --git a/except.h b/except.h
new file mode 100644
index 0000000000..f551c9d651
--- /dev/null
+++ b/except.h
@@ -0,0 +1,149 @@
+/*
+ * Portable Exception Handling for ANSI C.
+ * Copyright (C) 1999 Kaz Kylheku <kaz@ashi.footprints.net>
+ *
+ * Free Software License:
+ *
+ * All rights are reserved by the author, with the following exceptions:
+ * Permission is granted to freely reproduce and distribute this software,
+ * possibly in exchange for a fee, provided that this copyright notice appears
+ * intact. Permission is also granted to adapt this software to produce
+ * derivative works, as long as the modified versions carry this copyright
+ * notice and additional notices stating that the work has been modified.
+ * This source code may be translated into executable form and incorporated
+ * into proprietary software; there is no requirement for such software to
+ * contain a copyright notice related to this source.
+ *
+ * $Id: except.h,v 1.1 2000/05/11 08:14:49 gram Exp $
+ * $Name: $
+ */
+
+#ifndef XCEPT_H
+#define XCEPT_H
+
+#include <setjmp.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#define XCEPT_GROUP_ANY 0
+#define XCEPT_CODE_ANY 0
+#define XCEPT_BAD_ALLOC 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+enum { except_no_call, except_call };
+
+typedef struct {
+ unsigned long except_group;
+ unsigned long except_code;
+} except_id_t;
+
+typedef struct {
+ except_id_t except_id;
+ const char *except_message;
+ void *except_dyndata;
+} except_t;
+
+struct except_cleanup {
+ void (*except_func)(void *);
+ void *except_context;
+};
+
+struct except_catch {
+ const except_id_t *except_id;
+ size_t except_size;
+ except_t except_obj;
+ jmp_buf except_jmp;
+};
+
+enum except_stacktype {
+ XCEPT_CLEANUP, XCEPT_CATCHER
+};
+
+struct except_stacknode {
+ struct except_stacknode *except_down;
+ enum except_stacktype except_type;
+ union {
+ struct except_catch *except_catcher;
+ struct except_cleanup *except_cleanup;
+ } except_info;
+};
+
+/* private functions made external so they can be used in macros */
+void except_setup_clean(struct except_stacknode *,
+ struct except_cleanup *, void (*)(void *), void *);
+void except_setup_try(struct except_stacknode *,
+ struct except_catch *, const except_id_t [], size_t);
+struct except_stacknode *except_pop(void);
+
+/* public interface functions */
+int except_init(void);
+void except_deinit(void);
+void except_rethrow(except_t *);
+void except_throw(long, long, const char *);
+void except_throwd(long, long, const char *, void *);
+void except_throwf(long, long, const char *, ...);
+void (*except_unhandled_catcher(void (*)(except_t *)))(except_t *);
+unsigned long except_code(except_t *);
+unsigned long except_group(except_t *);
+const char *except_message(except_t *);
+void *except_data(except_t *);
+void *except_take_data(except_t *);
+void except_set_allocator(void *(*)(size_t), void (*)(void *));
+void *except_alloc(size_t);
+void except_free(void *);
+
+#define except_code(E) ((E)->except_id.except_code)
+#define except_group(E) ((E)->except_id.except_group)
+#define except_message(E) ((E)->except_message)
+#define except_data(E) ((E)->except_dyndata)
+
+#ifdef __cplusplus
+}
+#endif
+
+/*
+ * void except_cleanup_push(void (*)(void *), void *);
+ * void except_cleanup_pop(int);
+ * void except_checked_cleanup_pop(void (*)(void *), int);
+ * void except_try_push(const except_id_t [], size_t, except_t **);
+ * void except_try_pop(void);
+ */
+
+#define except_cleanup_push(F, C) \
+ { \
+ struct except_stacknode except_sn; \
+ struct except_cleanup except_cl; \
+ except_setup_clean(&except_sn, &except_cl, F, C)
+
+#define except_cleanup_pop(E) \
+ except_pop(); \
+ if (E) \
+ except_cl.except_func(except_cl.except_context); \
+ }
+
+#define except_checked_cleanup_pop(F, E) \
+ except_pop(); \
+ assert (except_cl.except_func == (F)); \
+ if (E) \
+ except_cl.except_func(except_cl.except_context); \
+ }
+
+#define except_try_push(ID, NUM, PPE) \
+ { \
+ struct except_stacknode except_sn; \
+ struct except_catch except_ch; \
+ except_setup_try(&except_sn, &except_ch, ID, NUM); \
+ if (setjmp(except_ch.except_jmp)) \
+ *(PPE) = &except_ch.except_obj; \
+ else \
+ *(PPE) = 0
+
+#define except_try_pop() \
+ except_free(except_ch.except_obj.except_dyndata); \
+ except_pop(); \
+ }
+
+#endif
diff --git a/exceptions.h b/exceptions.h
new file mode 100644
index 0000000000..07de983f4d
--- /dev/null
+++ b/exceptions.h
@@ -0,0 +1,131 @@
+#ifndef __EXCEPTIONS_H__
+#define __EXCEPTIONS_H__
+
+#ifndef XCEPT_H
+#include "except.h"
+#endif
+
+/* Ethereal has only one exception group, to make these macros simple */
+#define XCEPT_GROUP_ETHEREAL 1
+
+/* Ethereal's exceptions */
+#define BoundsError 1 /* Index is out of range */
+
+/* Usage:
+ *
+ * TRY {
+ * code;
+ * }
+ *
+ * CATCH(exception) {
+ * code;
+ * }
+ *
+ * CATCH_ALL {
+ * code;
+ * }
+ *
+ * FINALLY {
+ * code;
+ * }
+ *
+ * ENDTRY;
+ *
+ * ********* Never use 'goto' or 'return' inside the TRY, CATCH, CATCH_ALL,
+ * ********* or FINALLY blocks. Execution must proceed through ENDTRY before
+ * ********* branching out.
+ *
+ * This is really something like:
+ *
+ * {
+ * x = setjmp()
+ * if (x == 0) {
+ * <TRY code>
+ * }
+ * else if (x == 1) {
+ * <CATCH(1) code>
+ * }
+ * else if (x == 2) {
+ * <CATCH(2) code>
+ * }
+ * else {
+ * <CATCH_ALL code> {
+ * }
+ * <FINALLY code>
+ * }<ENDTRY tag>
+ *
+ * All CATCH's must precede a CATCH_ALL.
+ * FINALLY must occur after any CATCH or CATCH_ALL.
+ * ENDTRY marks the end of the TRY code.
+ * TRY and ENDTRY are the mandatory parts of a TRY block.
+ * CATCH, CATCH_ALL, and FINALLY are all optional (although
+ * you'll probably use at least one, otherwise why "TRY"?)
+ *
+ * GET_MESSAGE returns string ptr to exception message
+ * when exception is thrown via THROW_MESSAGE()
+ *
+ * To throw/raise an exception.
+ *
+ * THROW(exception)
+ * RETHROW rethrow the caught exception
+ *
+ * A cleanup callback is a function called in case an exception occurs
+ * and is not caught. It should be used to free any dynamically-allocated data.
+ * A pop or call_and_pop should occur at the same statement-nesting level
+ * as the push.
+ *
+ * CLEANUP_CB_PUSH(func, data)
+ * CLEANUP_CB_POP
+ * CLEANUP_CB_CALL_AND_POP
+ */
+
+
+
+#define TRY \
+{\
+ except_t *exc; \
+ int caught = 0; \
+ static const except_id_t catch_spec[] = { \
+ { XCEPT_GROUP_ETHEREAL, XCEPT_CODE_ANY } }; \
+ except_try_push(catch_spec, 1, &exc); \
+ if (exc == 0) { \
+ /* user's code goes here */
+
+#define ENDTRY \
+ } \
+ except_try_pop();\
+}
+
+#define CATCH(x) \
+ } \
+ else if (exc->except_id.except_code == (x)) { \
+ caught = 1;
+ /* user's code goes here */
+
+
+#define CATCH_ALL \
+ } \
+ else { \
+ caught = 1;
+ /* user's code goes here */
+
+#define FINALLY \
+ } \
+ { \
+ /* user's code goes here */
+
+#define THROW(x) \
+ except_throw(XCEPT_GROUP_ETHEREAL, (x), "XCEPT_GROUP_ETHEREAL")
+
+#define THROW_MESSAGE(x, y) \
+ except_throw(XCEPT_GROUP_ETHEREAL, (x), (y))
+
+#define GET_MESSAGE except_message(exc)
+
+#define RETHROW except_rethrow(exc)
+
+#define CLEANUP_CB_PUSH(x,y) except_cleanup_push((x),(y)
+#define CLEANUP_CB_POP except_cleanup_push(0)
+#define CLEANUP_CB_CALL_AND_POP except_cleanup_push(1)
+
+#endif /* __EXCEPTIONS_H__ */
diff --git a/packet-aarp.c b/packet-aarp.c
index 8190707d42..0f4dab66a8 100644
--- a/packet-aarp.c
+++ b/packet-aarp.c
@@ -1,7 +1,7 @@
/* packet-aarp.c
* Routines for Appletalk ARP packet disassembly
*
- * $Id: packet-aarp.c,v 1.18 2000/04/13 18:18:43 gram Exp $
+ * $Id: packet-aarp.c,v 1.19 2000/05/11 08:14:49 gram Exp $
*
* Simon Wilkinson <sxw@dcs.ed.ac.uk>
*
@@ -191,35 +191,35 @@ dissect_aarp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (tree) {
if ((op_str = match_strval(ar_op, op_vals)))
- ti = proto_tree_add_protocol_format(tree, proto_aarp, offset,
+ ti = proto_tree_add_protocol_format(tree, proto_aarp, NullTVB, offset,
MIN_AARP_HEADER_SIZE + 2*ar_hln +
2*ar_pln, "AppleTalk Address Resolution Protocol (%s)", op_str);
else
- ti = proto_tree_add_protocol_format(tree, proto_aarp, offset,
+ ti = proto_tree_add_protocol_format(tree, proto_aarp, NullTVB, offset,
MIN_AARP_HEADER_SIZE + 2*ar_hln +
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, offset + AR_HRD, 2,
+ 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, offset + AR_PRO, 2,
+ 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, offset + AR_HLN, 1,
+ 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, offset + AR_PLN, 1,
+ 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, offset + AR_OP, 2,
+ 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, sha_offset, ar_hln,
+ proto_tree_add_bytes_format(aarp_tree, hf_aarp_src_ether, NullTVB, sha_offset, ar_hln,
&pd[sha_offset],
"Sender hardware address: %s", sha_str);
- proto_tree_add_bytes_format(aarp_tree, hf_aarp_src_id, spa_offset, ar_pln,
+ proto_tree_add_bytes_format(aarp_tree, hf_aarp_src_id, NullTVB, spa_offset, ar_pln,
&pd[spa_offset],
"Sender ID: %s", spa_str);
- proto_tree_add_bytes_format(aarp_tree, hf_aarp_dst_ether, tha_offset, ar_hln,
+ proto_tree_add_bytes_format(aarp_tree, hf_aarp_dst_ether, NullTVB, tha_offset, ar_hln,
&pd[tha_offset],
"Target hardware address: %s", tha_str);
- proto_tree_add_bytes_format(aarp_tree, hf_aarp_dst_id, tpa_offset, ar_pln,
+ proto_tree_add_bytes_format(aarp_tree, hf_aarp_dst_id, NullTVB, tpa_offset, ar_pln,
&pd[tpa_offset],
"Target ID: %s", tpa_str);
}
diff --git a/packet-afs.c b/packet-afs.c
index 120002e529..0fe12a4e5a 100644
--- a/packet-afs.c
+++ b/packet-afs.c
@@ -6,7 +6,7 @@
* Portions based on information retrieved from the RX definitions
* in Arla, the free AFS client at http://www.stacken.kth.se/project/arla/
*
- * $Id: packet-afs.c,v 1.9 2000/01/15 04:17:36 guy Exp $
+ * $Id: packet-afs.c,v 1.10 2000/05/11 08:14:49 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -886,13 +886,13 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_afs, doffset, END_OF_FRAME);
+ 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) +
sizeof(struct afs_header)) )
{
- proto_tree_add_text(afs_tree, doffset, END_OF_FRAME,
+ proto_tree_add_text(afs_tree, NullTVB, doffset, END_OF_FRAME,
"Service: %s %s (Truncated)",
val_to_str(port, port_types, "Unknown(%d)"),
reply ? "Reply" : "Request");
@@ -900,7 +900,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
else
{
- proto_tree_add_text(afs_tree, doffset, END_OF_FRAME,
+ proto_tree_add_text(afs_tree, NullTVB, doffset, END_OF_FRAME,
"Service: %s %s",
val_to_str(port, port_types, "Unknown(%d)"),
reply ? "Reply" : "Request");
@@ -911,17 +911,17 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if ( !reply && node != 0 )
{
ti = proto_tree_add_item(afs_tree,
- node, doffset, 4, opcode);
+ 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, doffset, 0, opcode);
+ node, NullTVB, doffset, 0, opcode);
}
else
{
- ti = proto_tree_add_text(afs_tree,
+ ti = proto_tree_add_text(afs_tree, NullTVB,
doffset, 0, "Operation: Unknown");
}
@@ -931,7 +931,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if ( typenode != 0 )
{
/* indicate the type of request */
- proto_tree_add_item_hidden(afs_tree, typenode, doffset, 0, 1);
+ proto_tree_add_item_hidden(afs_tree, typenode, NullTVB, doffset, 0, 1);
}
/* Process the packet according to what service it is */
@@ -965,21 +965,21 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
after adding a 'Truncated' message to tree */
#define TRUNC(bytes) \
if(!BYTES_ARE_IN_FRAME(curoffset,(bytes))) \
- { proto_tree_add_text(tree,curoffset,END_OF_FRAME,"Truncated"); \
+ { proto_tree_add_text(tree, NullTVB,curoffset,END_OF_FRAME,"Truncated"); \
return; }
/* Output a unsigned integer, stored into field 'field'
Assumes it is in network byte order, converts to host before using */
#define UINTOUT(field) \
TRUNC(sizeof(guint32)) \
- proto_tree_add_item(tree,field,curoffset,sizeof(guint32), GETINT()); \
+ 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,curoffset,sizeof(gint32),\
+ proto_tree_add_item(tree,field, NullTVB,curoffset,sizeof(gint32),\
*((int*)&pd[curoffset]));\
curoffset += 4;
@@ -989,7 +989,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
TRUNC(2*sizeof(guint32)); \
tv.tv_sec = GETINT(); \
tv.tv_usec = GETINT(); \
- proto_tree_add_item(tree,field,curoffset,2*sizeof(guint32),&tv); \
+ proto_tree_add_item(tree,field, NullTVB,curoffset,2*sizeof(guint32),&tv); \
curoffset += 8; \
}
@@ -999,14 +999,14 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
TRUNC(sizeof(guint32)); \
tv.tv_sec = GETINT(); \
tv.tv_usec = 0; \
- proto_tree_add_item(tree,field,curoffset,sizeof(guint32),&tv); \
+ proto_tree_add_item(tree,field, NullTVB,curoffset,sizeof(guint32),&tv); \
curoffset += 4; \
}
/* Output a callback */
#define FS_CALLBACKOUT() \
{ proto_tree *save, *ti; \
- ti = proto_tree_add_text(tree, curoffset, 3*4, "Callback"); \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, 3*4, "Callback"); \
save = tree; \
tree = proto_item_add_subtree(ti, ett_afs_callback); \
TRUNC(3*sizeof(guint32)); \
@@ -1019,7 +1019,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Output a callback */
#define CB_CALLBACKOUT() \
{ proto_tree *save, *ti; \
- ti = proto_tree_add_text(tree, curoffset, 3*4, "Callback"); \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, 3*4, "Callback"); \
save = tree; \
tree = proto_item_add_subtree(ti, ett_afs_callback); \
TRUNC(3*sizeof(guint32)); \
@@ -1033,7 +1033,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Output a File ID */
#define FS_FIDOUT(label) \
{ proto_tree *save, *ti; \
- ti = proto_tree_add_text(tree, curoffset, 3*4, \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, 3*4, \
"FileID (%s)", label); \
save = tree; \
tree = proto_item_add_subtree(ti, ett_afs_fid); \
@@ -1046,7 +1046,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Output a File ID */
#define CB_FIDOUT(label) \
{ proto_tree *save, *ti; \
- ti = proto_tree_add_text(tree, curoffset, 3*4, \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, 3*4, \
"FileID (%s)", label); \
save = tree; \
tree = proto_item_add_subtree(ti, ett_afs_fid); \
@@ -1070,21 +1070,21 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if ( acl & PRSFS_WRITE ) strcat(tmp, "w"); \
if ( acl & PRSFS_LOCK ) strcat(tmp, "k"); \
if ( acl & PRSFS_ADMINISTER ) strcat(tmp, "a"); \
- ti = proto_tree_add_text(tree, curoffset, bytes, \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, bytes, \
"ACL: %s %s%s", \
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,curoffset,strlen(who), who);\
+ 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,tmpoffset,acllen,acl);\
- proto_tree_add_item(tree,hf_afs_fs_acl_l,tmpoffset,acllen,acl);\
- proto_tree_add_item(tree,hf_afs_fs_acl_i,tmpoffset,acllen,acl);\
- proto_tree_add_item(tree,hf_afs_fs_acl_d,tmpoffset,acllen,acl);\
- proto_tree_add_item(tree,hf_afs_fs_acl_w,tmpoffset,acllen,acl);\
- proto_tree_add_item(tree,hf_afs_fs_acl_k,tmpoffset,acllen,acl);\
- proto_tree_add_item(tree,hf_afs_fs_acl_a,tmpoffset,acllen,acl);\
+ 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; \
}
@@ -1099,7 +1099,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Raw data */
#define BYTESOUT(field, bytes) \
TRUNC(bytes); \
- proto_tree_add_item(tree,field,curoffset,bytes,\
+ proto_tree_add_item(tree,field, NullTVB,curoffset,bytes,\
(void *)&pd[curoffset]); \
curoffset += bytes;
@@ -1112,10 +1112,10 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
curoffset += 4; \
TRUNC(i); \
if ( i > 0 ) { \
- proto_tree_add_item(tree, field, curoffset-4, i+4, \
+ proto_tree_add_item(tree, field, NullTVB, curoffset-4, i+4, \
(void *)&pd[curoffset]); \
} else { \
- proto_tree_add_item(tree, field, curoffset-4, 4, \
+ proto_tree_add_item(tree, field, NullTVB, curoffset-4, 4, \
""); \
} \
curoffset += i; \
@@ -1133,7 +1133,7 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
curoffset += sizeof(guint32);\
}\
tmp[length] = '\0';\
- proto_tree_add_item(tree, field, soff, length, tmp);\
+ proto_tree_add_item(tree, field, NullTVB, soff, length, tmp);\
}
/* Output a UBIK version code */
@@ -1148,13 +1148,13 @@ dissect_afs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
curoffset += 4; \
tv.tv_sec = epoch; \
tv.tv_usec = 0; \
- ti = proto_tree_add_text(tree, curoffset, 3*4, \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, 3*4, \
"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,curoffset-8, \
+ 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,curoffset-4, \
+ proto_tree_add_item(tree,hf_afs_ubik_version_counter, NullTVB,curoffset-4, \
sizeof(guint32),counter); \
tree = save; \
}
@@ -1203,14 +1203,14 @@ static void dissect_acl(const u_char *pd, int offset, frame_data *fd, proto_tree
return;
s += n;
TRUNC(1);
- proto_tree_add_item(tree, hf_afs_fs_acl_count_positive, curoffset, n, pos);
+ 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, curoffset, n, neg);
+ proto_tree_add_item(tree, hf_afs_fs_acl_count_negative, NullTVB, curoffset, n, neg);
curoffset += n;
@@ -1887,7 +1887,7 @@ dissect_vldb_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
if ( i<nservers && j<=26 )
{
part[6] = (char) j;
- proto_tree_add_item(tree, hf_afs_vldb_partition,
+ proto_tree_add_item(tree, hf_afs_vldb_partition, NullTVB,
curoffset, 4, part);
}
SKIP(4);
@@ -1934,7 +1934,7 @@ dissect_vldb_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
if ( i<nservers && j<=26 )
{
part[6] = (char) j;
- proto_tree_add_item(tree, hf_afs_vldb_partition,
+ proto_tree_add_item(tree, hf_afs_vldb_partition, NullTVB,
curoffset, 4, part);
}
SKIP(4);
@@ -1973,7 +1973,7 @@ dissect_vldb_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
if ( i<nservers && j<=26 )
{
part[6] = (char) j;
- proto_tree_add_item(tree, hf_afs_vldb_partition,
+ proto_tree_add_item(tree, hf_afs_vldb_partition, NullTVB,
curoffset, 4, part);
}
SKIP(4);
@@ -2064,7 +2064,7 @@ dissect_ubik_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
switch ( opcode )
{
case 10000: /* beacon */
- proto_tree_add_item(tree,hf_afs_ubik_votetype,0,0,0);
+ proto_tree_add_item(tree,hf_afs_ubik_votetype, NullTVB,0,0,0);
break;
case 20004: /* get version */
UBIK_VERSIONOUT("DB Version");
@@ -2076,7 +2076,7 @@ dissect_ubik_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
switch ( opcode )
{
case 10000:
- proto_tree_add_item(tree,hf_afs_ubik_votetype,0,0,1);
+ proto_tree_add_item(tree,hf_afs_ubik_votetype, NullTVB,0,0,1);
DATEOUT(hf_afs_ubik_voteend);
break;
default:
diff --git a/packet-arp.c b/packet-arp.c
index f56010cd5e..f066ef938a 100644
--- a/packet-arp.c
+++ b/packet-arp.c
@@ -1,7 +1,7 @@
/* packet-arp.c
* Routines for ARP packet disassembly
*
- * $Id: packet-arp.c,v 1.28 2000/04/16 22:59:36 guy Exp $
+ * $Id: packet-arp.c,v 1.29 2000/05/11 08:14:51 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -285,9 +285,9 @@ dissect_atm_number(const u_char *pd, int offset, int tl, int hf_e164,
proto_tree *nsap_tree;
if (tl & ATMARP_IS_E164)
- proto_tree_add_item(tree, hf_e164, offset, len, &pd[offset]);
+ proto_tree_add_item(tree, hf_e164, NullTVB, offset, len, &pd[offset]);
else {
- ti = proto_tree_add_item(tree, hf_nsap, offset, len,
+ 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);
@@ -303,56 +303,56 @@ dissect_atm_nsap(const u_char *pd, int offset, int len, proto_tree *tree)
case 0x39: /* DCC ATM format */
case 0xBD: /* DCC ATM group format */
- proto_tree_add_text(tree, offset + 0, 3,
+ proto_tree_add_text(tree, NullTVB, offset + 0, 3,
"Data Country Code%s: 0x%04X",
(pd[offset] == 0xBD) ? " (group)" : "",
pntohs(&pd[offset + 1]));
- proto_tree_add_text(tree, offset + 3, 10,
+ proto_tree_add_text(tree, NullTVB, offset + 3, 10,
"High Order DSP: %s",
bytes_to_str(&pd[offset + 3], 10));
- proto_tree_add_text(tree, offset + 13, 6,
+ proto_tree_add_text(tree, NullTVB, offset + 13, 6,
"End System Identifier: %s",
bytes_to_str(&pd[offset + 13], 6));
- proto_tree_add_text(tree, offset + 19, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 19, 1,
"Selector: 0x%02X", pd[offset + 19]);
break;
case 0x47: /* ICD ATM format */
case 0xC5: /* ICD ATM group format */
- proto_tree_add_text(tree, offset + 0, 3,
+ proto_tree_add_text(tree, NullTVB, offset + 0, 3,
"International Code Designator%s: 0x%04X",
(pd[offset] == 0xC5) ? " (group)" : "",
pntohs(&pd[offset + 1]));
- proto_tree_add_text(tree, offset + 3, 10,
+ proto_tree_add_text(tree, NullTVB, offset + 3, 10,
"High Order DSP: %s",
bytes_to_str(&pd[offset + 3], 10));
- proto_tree_add_text(tree, offset + 13, 6,
+ proto_tree_add_text(tree, NullTVB, offset + 13, 6,
"End System Identifier: %s",
bytes_to_str(&pd[offset + 13], 6));
- proto_tree_add_text(tree, offset + 19, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 19, 1,
"Selector: 0x%02X", pd[offset + 19]);
break;
case 0x45: /* E.164 ATM format */
case 0xC3: /* E.164 ATM group format */
- proto_tree_add_text(tree, offset + 0, 9,
+ proto_tree_add_text(tree, NullTVB, offset + 0, 9,
"E.164 ISDN%s: %s",
(pd[offset] == 0xC3) ? " (group)" : "",
bytes_to_str(&pd[offset + 1], 8));
- proto_tree_add_text(tree, offset + 9, 4,
+ proto_tree_add_text(tree, NullTVB, offset + 9, 4,
"High Order DSP: %s",
bytes_to_str(&pd[offset + 3], 10));
- proto_tree_add_text(tree, offset + 13, 6,
+ proto_tree_add_text(tree, NullTVB, offset + 13, 6,
"End System Identifier: %s",
bytes_to_str(&pd[offset + 13], 6));
- proto_tree_add_text(tree, offset + 19, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 19, 1,
"Selector: 0x%02X", pd[offset + 19]);
break;
default:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Unknown AFI: 0x%02X", pd[offset]);
- proto_tree_add_text(tree, offset + 1, len - 1,
+ proto_tree_add_text(tree, NullTVB, offset + 1, len - 1,
"Rest of address: %s",
bytes_to_str(&pd[offset + 1], len - 1));
break;
@@ -496,53 +496,53 @@ dissect_atmarp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
if ((op_str = match_strval(ar_op, atmop_vals)))
- ti = proto_tree_add_protocol_format(tree, proto_arp, offset, tot_len,
+ ti = proto_tree_add_protocol_format(tree, proto_arp, NullTVB, offset, tot_len,
"ATM Address Resolution Protocol (%s)",
op_str);
else
- ti = proto_tree_add_protocol_format(tree, proto_arp, offset, tot_len,
+ 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, offset + ATM_AR_HRD, 2,
+ 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, offset + ATM_AR_PRO, 2,
+ 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, offset + ATM_AR_SHTL, 1,
+ 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, offset + ATM_AR_SSL, 1,
+ 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, offset + AR_OP, 2,
+ 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, offset + ATM_AR_SPLN, 1,
+ 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, offset + ATM_AR_THTL, 1,
+ 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, offset + ATM_AR_TSL, 1,
+ 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, offset + ATM_AR_TPLN, 1,
+ 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,
hf_atmarp_src_atm_num_nsap, arp_tree);
if (ar_ssl != 0)
- proto_tree_add_bytes_format(arp_tree, hf_atmarp_src_atm_subaddr, ssa_offset,
+ proto_tree_add_bytes_format(arp_tree, hf_atmarp_src_atm_subaddr, NullTVB, ssa_offset,
ar_ssl,
&pd[ssa_offset],
"Sender ATM subaddress: %s", ssa_str);
if (ar_spln != 0)
- proto_tree_add_bytes_format(arp_tree, hf_arp_src_proto, spa_offset, ar_spln,
+ proto_tree_add_bytes_format(arp_tree, hf_arp_src_proto, NullTVB, spa_offset, ar_spln,
&pd[spa_offset],
"Sender protocol address: %s", spa_str);
if (ar_thl != 0)
dissect_atm_number(pd, tha_offset, ar_thtl, hf_atmarp_dst_atm_num_e164,
hf_atmarp_dst_atm_num_nsap, arp_tree);
if (ar_tsl != 0)
- proto_tree_add_bytes_format(arp_tree, hf_atmarp_dst_atm_subaddr, tsa_offset,
+ proto_tree_add_bytes_format(arp_tree, hf_atmarp_dst_atm_subaddr, NullTVB, tsa_offset,
ar_tsl,
&pd[tsa_offset],
"Target ATM subaddress: %s", tsa_str);
if (ar_tpln != 0)
- proto_tree_add_bytes_format(arp_tree, hf_arp_dst_proto, tpa_offset, ar_tpln,
+ proto_tree_add_bytes_format(arp_tree, hf_arp_dst_proto, NullTVB, tpa_offset, ar_tpln,
&pd[tpa_offset],
"Target protocol address: %s", tpa_str);
}
@@ -639,36 +639,36 @@ dissect_arp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
if ((op_str = match_strval(ar_op, op_vals)))
- ti = proto_tree_add_protocol_format(tree, proto_arp, offset, tot_len,
+ ti = proto_tree_add_protocol_format(tree, proto_arp, NullTVB, offset, tot_len,
"Address Resolution Protocol (%s)", op_str);
else
- ti = proto_tree_add_protocol_format(tree, proto_arp, offset, tot_len,
+ 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, offset + AR_HRD, 2,
+ 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, offset + AR_PRO, 2,
+ 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, offset + AR_HLN, 1,
+ 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, offset + AR_PLN, 1,
+ 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, offset + AR_OP, 2,
+ 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, sha_offset, ar_hln,
+ proto_tree_add_bytes_format(arp_tree, hf_arp_src_ether, NullTVB, sha_offset, ar_hln,
&pd[sha_offset],
"Sender hardware address: %s", sha_str);
if (ar_pln != 0)
- proto_tree_add_bytes_format(arp_tree, hf_arp_src_proto, spa_offset, ar_pln,
+ proto_tree_add_bytes_format(arp_tree, hf_arp_src_proto, NullTVB, spa_offset, ar_pln,
&pd[spa_offset],
"Sender protocol address: %s", spa_str);
if (ar_hln != 0)
- proto_tree_add_bytes_format(arp_tree, hf_arp_dst_ether, tha_offset, ar_hln,
+ proto_tree_add_bytes_format(arp_tree, hf_arp_dst_ether, NullTVB, tha_offset, ar_hln,
&pd[tha_offset],
"Target hardware address: %s", tha_str);
if (ar_pln != 0)
- proto_tree_add_bytes_format(arp_tree, hf_arp_dst_proto, tpa_offset, ar_pln,
+ proto_tree_add_bytes_format(arp_tree, hf_arp_dst_proto, NullTVB, tpa_offset, ar_pln,
&pd[tpa_offset],
"Target protocol address: %s", tpa_str);
}
diff --git a/packet-ascend.c b/packet-ascend.c
index 079bac0e03..cee11ab9f0 100644
--- a/packet-ascend.c
+++ b/packet-ascend.c
@@ -1,7 +1,7 @@
/* packet-ascend.c
* Routines for decoding Lucent/Ascend packet traces
*
- * $Id: packet-ascend.c,v 1.10 2000/03/27 17:53:18 gram Exp $
+ * $Id: packet-ascend.c,v 1.11 2000/05/11 08:14:54 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -70,24 +70,24 @@ dissect_ascend( const u_char *pd, frame_data *fd, proto_tree *tree ) {
/* populate a tree in the second pane with the status of the link
layer (ie none) */
if(tree) {
- ti = proto_tree_add_text(tree, 0, 0, "Lucent/Ascend packet trace" );
+ ti = proto_tree_add_text(tree, NullTVB, 0, 0, "Lucent/Ascend packet trace" );
fh_tree = proto_item_add_subtree(ti, ett_raw);
- proto_tree_add_item(fh_tree, hf_link_type, 0, 0,
+ proto_tree_add_item(fh_tree, hf_link_type, NullTVB, 0, 0,
fd->pseudo_header.ascend.type);
if (fd->pseudo_header.ascend.type == ASCEND_PFX_WDD) {
- proto_tree_add_item(fh_tree, hf_called_number, 0, 0,
+ proto_tree_add_item(fh_tree, hf_called_number, NullTVB, 0, 0,
fd->pseudo_header.ascend.call_num);
- proto_tree_add_item(fh_tree, hf_chunk, 0, 0,
+ proto_tree_add_item(fh_tree, hf_chunk, NullTVB, 0, 0,
fd->pseudo_header.ascend.chunk);
- proto_tree_add_item_hidden(fh_tree, hf_session_id, 0, 0, 0);
+ proto_tree_add_item_hidden(fh_tree, hf_session_id, NullTVB, 0, 0, 0);
} else { /* It's wandsession data */
- proto_tree_add_item(fh_tree, hf_user_name, 0, 0,
+ proto_tree_add_item(fh_tree, hf_user_name, NullTVB, 0, 0,
fd->pseudo_header.ascend.user);
- proto_tree_add_item(fh_tree, hf_session_id, 0, 0,
+ proto_tree_add_item(fh_tree, hf_session_id, NullTVB, 0, 0,
fd->pseudo_header.ascend.sess);
- proto_tree_add_item_hidden(fh_tree, hf_chunk, 0, 0, 0);
+ proto_tree_add_item_hidden(fh_tree, hf_chunk, NullTVB, 0, 0, 0);
}
- proto_tree_add_item(fh_tree, hf_task, 0, 0, fd->pseudo_header.ascend.task);
+ proto_tree_add_item(fh_tree, hf_task, NullTVB, 0, 0, fd->pseudo_header.ascend.task);
}
switch (fd->pseudo_header.ascend.type) {
diff --git a/packet-atalk.c b/packet-atalk.c
index b599f84837..6023821b1a 100644
--- a/packet-atalk.c
+++ b/packet-atalk.c
@@ -1,7 +1,7 @@
/* packet-atalk.c
* Routines for Appletalk packet disassembly (DDP, currently).
*
- * $Id: packet-atalk.c,v 1.33 2000/04/16 21:37:03 guy Exp $
+ * $Id: packet-atalk.c,v 1.34 2000/05/11 08:14:55 gram Exp $
*
* Simon Wilkinson <sxw@dcs.ed.ac.uk>
*
@@ -172,11 +172,11 @@ int dissect_pascal_string(const u_char *pd, int offset, frame_data *fd,
tmp = g_malloc( len+1 );
memcpy(tmp, &pd[offset], len);
tmp[len] = 0;
- item = proto_tree_add_item(tree, hf_index, offset-1, len+1, tmp);
+ 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, offset-1, 1, "Length: %d", len);
- proto_tree_add_text(subtree, offset, len, "Data: %s", tmp);
+ proto_tree_add_text(subtree, NullTVB, offset-1, 1, "Length: %d", len);
+ proto_tree_add_text(subtree, NullTVB, offset, len, "Data: %s", tmp);
g_free(tmp);
}
@@ -223,12 +223,12 @@ dissect_rtmp_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
net, nodelen_bits, node);
if (tree) {
- ti = proto_tree_add_item(tree, proto_rtmp, offset, END_OF_FRAME, NULL);
+ 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, offset, 2, net);
- proto_tree_add_item(rtmp_tree, hf_rtmp_node_len, offset+2, 1, nodelen_bits);
- proto_tree_add_item(rtmp_tree, hf_rtmp_node, offset+3, nodelen, nodelen);
+ 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;
@@ -247,14 +247,14 @@ dissect_rtmp_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
tuple_net = pntohs(&pd[offset]);
tuple_dist = pd[offset+2];
- tuple_item = proto_tree_add_text(rtmp_tree, offset, 3,
+ tuple_item = proto_tree_add_text(rtmp_tree, NullTVB, offset, 3,
"Tuple %d: Net: %d Dist: %d",
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, offset, 2,
+ 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, offset+2, 1,
+ 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 */
@@ -268,9 +268,9 @@ dissect_rtmp_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
tuple_net2 = pntohs(&pd[offset+3]);
tuple_dist2 = pd[offset+5];
- proto_tree_add_item(tuple_tree, hf_rtmp_tuple_net, offset, 2,
+ 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, offset+2, 1,
+ proto_tree_add_item(tuple_tree, hf_rtmp_tuple_dist, NullTVB, offset+2, 1,
tuple_dist2);
proto_item_set_len(tuple_item, 6);
@@ -312,18 +312,18 @@ dissect_nbp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
val_to_str(op, nbp_op_vals, "unknown (%1x)"), count);
if (tree) {
- ti = proto_tree_add_item(tree, proto_nbp, offset, END_OF_FRAME, NULL);
+ 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, offset, 1,
+ info_item = proto_tree_add_uint_format(nbp_tree, hf_nbp_info, NullTVB, offset, 1,
pd[offset],
"Info: 0x%01X Operation: %s Count: %d", pd[offset],
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, offset, 1, pd[offset]);
- proto_tree_add_item(nbp_info_tree, hf_nbp_count, offset, 1, pd[offset]);
- proto_tree_add_item(nbp_tree, hf_nbp_tid, offset+1, 1, pd[offset+1]);
+ 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++) {
@@ -336,7 +336,7 @@ dissect_nbp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
return;
}
- node_item = proto_tree_add_text(nbp_tree, offset, 4,
+ node_item = proto_tree_add_text(nbp_tree, NullTVB, offset, 4,
"Node %d", i+1);
node_tree = proto_item_add_subtree(node_item, ett_nbp_node);
@@ -347,13 +347,13 @@ dissect_nbp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* 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, offset, 2, addr.net);
+ 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, offset, 1, addr.node);
+ 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, offset, 1, addr.port);
+ 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, offset, 1, pd[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);
@@ -402,20 +402,20 @@ dissect_ddp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
val_to_str(ddp.type, op_vals, "Unknown DDP protocol (%02x)"));
if (tree) {
- ti = proto_tree_add_item(tree, proto_ddp, offset, DDP_HEADER_SIZE, NULL);
+ 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, offset, 1,
+ 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, offset, 2,
+ 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, offset + 2, 2, ddp.sum);
- proto_tree_add_item(ddp_tree, hf_ddp_dst_net, offset + 4, 2, ddp.dnet);
- proto_tree_add_item(ddp_tree, hf_ddp_src_net, offset + 6, 2, ddp.snet);
- proto_tree_add_item(ddp_tree, hf_ddp_dst_node, offset + 8, 1, ddp.dnode);
- proto_tree_add_item(ddp_tree, hf_ddp_src_node, offset + 9, 1, ddp.snode);
- proto_tree_add_item(ddp_tree, hf_ddp_dst_socket, offset + 10, 1, ddp.dport);
- proto_tree_add_item(ddp_tree, hf_ddp_src_socket, offset + 11, 1, ddp.sport);
- proto_tree_add_item(ddp_tree, hf_ddp_type, offset + 12, 1, ddp.type);
+ 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;
diff --git a/packet-atm.c b/packet-atm.c
index 731c7af12c..c0a111c86c 100644
--- a/packet-atm.c
+++ b/packet-atm.c
@@ -1,7 +1,7 @@
/* packet-atm.c
* Routines for ATM packet disassembly
*
- * $Id: packet-atm.c,v 1.13 2000/03/12 04:47:35 gram Exp $
+ * $Id: packet-atm.c,v 1.14 2000/05/11 08:14:56 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -153,10 +153,10 @@ dissect_le_client(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
proto_tree *lane_tree;
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_atm_lane, offset, 2, "ATM LANE");
+ ti = proto_tree_add_protocol_format(tree, proto_atm_lane, NullTVB, offset, 2, "ATM LANE");
lane_tree = proto_item_add_subtree(ti, ett_atm_lane);
- proto_tree_add_text(lane_tree, offset, 2, "LE Client: 0x%04X",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 2, "LE Client: 0x%04X",
pntohs(&pd[offset]));
}
}
@@ -171,11 +171,11 @@ dissect_lan_destination(const u_char *pd, int offset, const char *type, proto_tr
proto_tree *rd_tree;
guint16 route_descriptor;
- td = proto_tree_add_text(tree, offset, 8, "%s LAN destination",
+ td = proto_tree_add_text(tree, NullTVB, offset, 8, "%s LAN destination",
type);
dest_tree = proto_item_add_subtree(td, ett_atm_lane_lc_lan_dest);
tag = pntohs(&pd[offset]);
- proto_tree_add_text(dest_tree, offset, 2, "Tag: %s",
+ proto_tree_add_text(dest_tree, NullTVB, offset, 2, "Tag: %s",
val_to_str(tag, le_control_landest_tag_vals,
"Unknown (0x%04X)"));
offset += 2;
@@ -183,20 +183,20 @@ dissect_lan_destination(const u_char *pd, int offset, const char *type, proto_tr
switch (tag) {
case TAG_MAC_ADDRESS:
- proto_tree_add_text(dest_tree, offset, 6, "MAC address: %s",
+ proto_tree_add_text(dest_tree, NullTVB, offset, 6, "MAC address: %s",
ether_to_str((u_char *)&pd[offset]));
break;
case TAG_ROUTE_DESCRIPTOR:
offset += 4;
route_descriptor = pntohs(&pd[offset]);
- trd = proto_tree_add_text(dest_tree, offset, 2, "Route descriptor: 0x%02X",
+ trd = proto_tree_add_text(dest_tree, NullTVB, offset, 2, "Route descriptor: 0x%02X",
route_descriptor);
rd_tree = proto_item_add_subtree(td, ett_atm_lane_lc_lan_dest_rd);
- proto_tree_add_text(rd_tree, offset, 2,
+ proto_tree_add_text(rd_tree, NullTVB, offset, 2,
decode_numeric_bitfield(route_descriptor, 0xFFF0, 2*8,
"LAN ID = %u"));
- proto_tree_add_text(rd_tree, offset, 2,
+ proto_tree_add_text(rd_tree, NullTVB, offset, 2,
decode_numeric_bitfield(route_descriptor, 0x000F, 2*8,
"Bridge number = %u"));
break;
@@ -262,23 +262,23 @@ dissect_le_control(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
col_add_str(fd, COL_INFO, "LE Control");
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_atm_lane, offset, 108, "ATM LANE");
+ ti = proto_tree_add_protocol_format(tree, proto_atm_lane, NullTVB, offset, 108, "ATM LANE");
lane_tree = proto_item_add_subtree(ti, ett_atm_lane);
- proto_tree_add_text(lane_tree, offset, 2, "Marker: 0x%04X",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 2, "Marker: 0x%04X",
pntohs(&pd[offset]));
offset += 2;
- proto_tree_add_text(lane_tree, offset, 1, "Protocol: 0x%02X",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 1, "Protocol: 0x%02X",
pd[offset]);
offset += 1;
- proto_tree_add_text(lane_tree, offset, 1, "Version: 0x%02X",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 1, "Version: 0x%02X",
pd[offset]);
offset += 1;
opcode = pntohs(&pd[offset]);
- proto_tree_add_text(lane_tree, offset, 2, "Opcode: %s",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 2, "Opcode: %s",
val_to_str(opcode, le_control_opcode_vals,
"Unknown (0x%04X)"));
offset += 2;
@@ -290,31 +290,31 @@ dissect_le_control(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
if (opcode & 0x0100) {
/* Response; decode status. */
- proto_tree_add_text(lane_tree, offset, 2, "Status: %s",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 2, "Status: %s",
val_to_str(pntohs(&pd[offset]), le_control_status_vals,
"Unknown (0x%04X)"));
}
offset += 2;
- proto_tree_add_text(lane_tree, offset, 4, "Transaction ID: 0x%08X",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 4, "Transaction ID: 0x%08X",
pntohl(&pd[offset]));
offset += 4;
- proto_tree_add_text(lane_tree, offset, 2, "Requester LECID: 0x%04X",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 2, "Requester LECID: 0x%04X",
pntohs(&pd[offset]));
offset += 2;
flags = pntohs(&pd[offset]);
- tf = proto_tree_add_text(lane_tree, offset, 2, "Flags: 0x%04X",
+ tf = proto_tree_add_text(lane_tree, NullTVB, offset, 2, "Flags: 0x%04X",
pntohs(&pd[offset]));
flags_tree = proto_item_add_subtree(tf, ett_atm_lane_lc_flags);
- proto_tree_add_text(flags_tree, offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0001, 8*2,
"Remote address", "Local address"));
- proto_tree_add_text(flags_tree, offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0080, 8*2,
"Proxy", "Not proxy"));
- proto_tree_add_text(flags_tree, offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0100, 8*2,
"Topology change", "No topology change"));
offset += 2;
@@ -325,45 +325,45 @@ dissect_le_control(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
dissect_lan_destination(pd, offset, "Target", lane_tree);
offset += 8;
- proto_tree_add_text(lane_tree, offset, 20, "Source ATM Address: %s",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 20, "Source ATM Address: %s",
bytes_to_str(&pd[offset], 20));
offset += 20;
- proto_tree_add_text(lane_tree, offset, 1, "LAN type: %s",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 1, "LAN type: %s",
val_to_str(pd[offset], le_control_lan_type_vals,
"Unknown (0x%02X)"));
offset += 1;
- proto_tree_add_text(lane_tree, offset, 1, "Maximum frame size: %u",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 1, "Maximum frame size: %u",
pd[offset]);
offset += 1;
num_tlvs = pd[offset];
- proto_tree_add_text(lane_tree, offset, 1, "Number of TLVs: %u",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 1, "Number of TLVs: %u",
num_tlvs);
offset += 1;
- proto_tree_add_text(lane_tree, offset, 1, "ELAN name size: %u",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 1, "ELAN name size: %u",
pd[offset]);
offset += 1;
- proto_tree_add_text(lane_tree, offset, 20, "Target ATM Address: %s",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 20, "Target ATM Address: %s",
bytes_to_str(&pd[offset], 20));
offset += 20;
- proto_tree_add_text(lane_tree, offset, 32, "ELAN name: %s",
+ proto_tree_add_text(lane_tree, NullTVB, offset, 32, "ELAN name: %s",
bytes_to_str(&pd[offset], 32));
offset += 32;
while (num_tlvs != 0) {
tlv_type = pntohl(&pd[offset]);
tlv_length = pd[offset+4];
- ttlv = proto_tree_add_text(lane_tree, offset, 5+tlv_length, "TLV type: %s",
+ ttlv = proto_tree_add_text(lane_tree, NullTVB, offset, 5+tlv_length, "TLV type: %s",
val_to_str(tlv_type, le_tlv_type_vals, "Unknown (0x%08x)"));
tlv_tree = proto_item_add_subtree(ttlv, ett_atm_lane_lc_tlv);
- proto_tree_add_text(tlv_tree, offset, 4, "TLV Type: %s",
+ proto_tree_add_text(tlv_tree, NullTVB, offset, 4, "TLV Type: %s",
val_to_str(tlv_type, le_tlv_type_vals, "Unknown (0x%08x)"));
- proto_tree_add_text(tlv_tree, offset+4, 1, "TLV Length: %u", tlv_length);
+ proto_tree_add_text(tlv_tree, NullTVB, offset+4, 1, "TLV Length: %u", tlv_length);
offset += 5+tlv_length;
num_tlvs--;
}
@@ -619,58 +619,58 @@ dissect_atm(const u_char *pd, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_atm, 0, 0, "ATM");
+ ti = proto_tree_add_protocol_format(tree, proto_atm, NullTVB, 0, 0, "ATM");
atm_tree = proto_item_add_subtree(ti, ett_atm);
- proto_tree_add_text(atm_tree, 0, 0, "AAL: %s",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "AAL: %s",
val_to_str(aal_type, aal_vals, "Unknown AAL (%x)"));
if (aal_type == ATT_AAL5) {
- proto_tree_add_text(atm_tree, 0, 0, "Traffic type: %s",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "Traffic type: %s",
val_to_str(hl_type, aal5_hltype_vals, "Unknown AAL5 traffic type (%x)"));
switch (hl_type) {
case ATT_HL_LLCMX:
- proto_tree_add_text(atm_tree, 0, 0, "LLC multiplexed traffic");
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "LLC multiplexed traffic");
break;
case ATT_HL_VCMX:
- proto_tree_add_text(atm_tree, 0, 0, "VC multiplexed traffic type: %s",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "VC multiplexed traffic type: %s",
val_to_str(fd->pseudo_header.ngsniffer_atm.AppHLType,
vcmx_type_vals, "Unknown VCMX traffic type (%x)"));
break;
case ATT_HL_LANE:
- proto_tree_add_text(atm_tree, 0, 0, "LANE traffic type: %s",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "LANE traffic type: %s",
val_to_str(fd->pseudo_header.ngsniffer_atm.AppHLType,
lane_type_vals, "Unknown LANE traffic type (%x)"));
break;
case ATT_HL_IPSILON:
- proto_tree_add_text(atm_tree, 0, 0, "Ipsilon traffic type: %s",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "Ipsilon traffic type: %s",
val_to_str(fd->pseudo_header.ngsniffer_atm.AppHLType,
ipsilon_type_vals, "Unknown Ipsilon traffic type (%x)"));
break;
}
}
- proto_tree_add_item(atm_tree, hf_atm_vpi, 0, 0,
+ proto_tree_add_item(atm_tree, hf_atm_vpi, NullTVB, 0, 0,
fd->pseudo_header.ngsniffer_atm.Vpi);
- proto_tree_add_item(atm_tree, hf_atm_vci, 0, 0,
+ proto_tree_add_item(atm_tree, hf_atm_vci, NullTVB, 0, 0,
fd->pseudo_header.ngsniffer_atm.Vci);
switch (fd->pseudo_header.ngsniffer_atm.channel) {
case 0:
/* Traffic from DCE to DTE. */
- proto_tree_add_text(atm_tree, 0, 0, "Channel: DCE->DTE");
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "Channel: DCE->DTE");
break;
case 1:
/* Traffic from DTE to DCE. */
- proto_tree_add_text(atm_tree, 0, 0, "Channel: DTE->DCE");
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "Channel: DTE->DCE");
break;
default:
/* Sniffers shouldn't provide anything other than 0 or 1. */
- proto_tree_add_text(atm_tree, 0, 0, "Channel: %u",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "Channel: %u",
fd->pseudo_header.ngsniffer_atm.channel);
break;
}
@@ -686,14 +686,14 @@ dissect_atm(const u_char *pd, frame_data *fd, proto_tree *tree)
* some other way of indicating whether we have the AAL5 trailer
* information.
*/
- proto_tree_add_text(atm_tree, 0, 0, "Cells: %u",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "Cells: %u",
fd->pseudo_header.ngsniffer_atm.cells);
if (aal_type == ATT_AAL5) {
- proto_tree_add_text(atm_tree, 0, 0, "AAL5 U2U: %u",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "AAL5 U2U: %u",
fd->pseudo_header.ngsniffer_atm.aal5t_u2u);
- proto_tree_add_text(atm_tree, 0, 0, "AAL5 len: %u",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "AAL5 len: %u",
fd->pseudo_header.ngsniffer_atm.aal5t_len);
- proto_tree_add_text(atm_tree, 0, 0, "AAL5 checksum: 0x%08X",
+ proto_tree_add_text(atm_tree, NullTVB, 0, 0, "AAL5 checksum: 0x%08X",
fd->pseudo_header.ngsniffer_atm.aal5t_chksum);
}
}
diff --git a/packet-auto_rp.c b/packet-auto_rp.c
index 4f76cc8931..91065a327f 100644
--- a/packet-auto_rp.c
+++ b/packet-auto_rp.c
@@ -4,7 +4,7 @@
*
* Heikki Vatiainen <hessu@cs.tut.fi>
*
- * $Id: packet-auto_rp.c,v 1.4 2000/04/08 07:07:08 guy Exp $
+ * $Id: packet-auto_rp.c,v 1.5 2000/05/11 08:14:57 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -151,24 +151,24 @@ static void dissect_auto_rp(const u_char *pd, int offset, frame_data *fd, proto_
return;
}
- ti = proto_tree_add_item(tree, proto_auto_rp, offset, END_OF_FRAME, NULL);
+ 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, offset, 1,
+ tv = proto_tree_add_uint_format(auto_rp_tree, hf_auto_rp_ver_type, NullTVB, offset, 1,
arh.ver_type, "Version: %s, Packet type: %s",
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, offset, 1, arh.ver_type);
- proto_tree_add_item(ver_type_tree, hf_auto_rp_type, offset, 1, arh.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, offset++, 1, "RP Count: %u", arh.rp_count);
- proto_tree_add_text(auto_rp_tree, offset, 2, "Holdtime: %u second%s",
+ proto_tree_add_text(auto_rp_tree, NullTVB, offset++, 1, "RP Count: %u", arh.rp_count);
+ proto_tree_add_text(auto_rp_tree, NullTVB, offset, 2, "Holdtime: %u second%s",
ntohs(arh.holdtime),
plurality(ntohs(arh.holdtime), "", "s"));
offset+=2;
- proto_tree_add_text(auto_rp_tree, offset, 4, "Reserved: 0x%x", arh.reserved);
+ proto_tree_add_text(auto_rp_tree, NullTVB, offset, 4, "Reserved: 0x%x", arh.reserved);
offset+=4;
for (i = 0; i < arh.rp_count; i++) {
@@ -262,17 +262,17 @@ static int do_auto_rp_map(const u_char *pd, int offset, frame_data *fd, proto_tr
return -1;
memcpy(&m, pd+offset, sizeof(struct auto_rp_map_hdr));
- ti = proto_tree_add_uint_format(auto_rp_tree, hf_auto_rp_map, offset,
+ ti = proto_tree_add_uint_format(auto_rp_tree, hf_auto_rp_map, NullTVB, offset,
MIN(sizeof(m) + m.group_count*sizeof(g), END_OF_FRAME), 1,
"RP %s: %u group%s", ip_to_str((void *)&m.rp_address),
m.group_count, plurality(m.group_count, "", "s"));
map_tree = proto_item_add_subtree(ti, ett_auto_rp_map);
- proto_tree_add_text(map_tree, offset, 4, "Unicast IP address of this RP: %s (%s)",
+ 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, offset, 1, pd[offset]);
+ proto_tree_add_item(map_tree, hf_auto_rp_pim_ver, NullTVB, offset, 1, pd[offset]);
offset++;
- proto_tree_add_text(map_tree, offset, 1, "Number of groups this RP maps to: %u", m.group_count);
+ proto_tree_add_text(map_tree, NullTVB, offset, 1, "Number of groups this RP maps to: %u", m.group_count);
offset++;
for (i = 0; i < m.group_count; i++) {
@@ -281,17 +281,17 @@ static int do_auto_rp_map(const u_char *pd, int offset, frame_data *fd, proto_tr
if (2*sizeof(guint8) + sizeof(guint32) > END_OF_FRAME) /* struct auto_rp_enc_grp_hdr */
return -1;
- gi = proto_tree_add_uint_format(map_tree, hf_auto_rp_group, offset, 6, 1,
+ gi = proto_tree_add_uint_format(map_tree, hf_auto_rp_group, NullTVB, offset, 6, 1,
"group %s/%u (%s)", ip_to_str(pd + offset + 2),
pd[offset + 1],
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, offset, 1, pd[offset]);
+ proto_tree_add_item(grp_tree, hf_auto_rp_mask_sgn, NullTVB, offset, 1, pd[offset]);
offset++;
- proto_tree_add_text(grp_tree, offset, 1, "Group mask length: %u", pd[offset]);
+ proto_tree_add_text(grp_tree, NullTVB, offset, 1, "Group mask length: %u", pd[offset]);
offset++;
- proto_tree_add_text(grp_tree, offset, 4, "Group prefix: %s", ip_to_str(pd + offset));
+ proto_tree_add_text(grp_tree, NullTVB, offset, 4, "Group prefix: %s", ip_to_str(pd + offset));
offset +=4;
}
diff --git a/packet-bgp.c b/packet-bgp.c
index 8117c18e02..e7c6438afb 100644
--- a/packet-bgp.c
+++ b/packet-bgp.c
@@ -2,7 +2,7 @@
* Routines for BGP packet dissection.
* Copyright 1999, Jun-ichiro itojun Hagino <itojun@itojun.org>
*
- * $Id: packet-bgp.c,v 1.22 2000/04/11 14:21:36 itojun Exp $
+ * $Id: packet-bgp.c,v 1.23 2000/05/11 08:14:59 gram Exp $
*
* Supports:
* RFC1771 A Border Gateway Protocol 4 (BGP-4)
@@ -271,19 +271,19 @@ dissect_bgp_open(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
memcpy(&bgpo, &pd[offset], sizeof(bgpo));
hlen = ntohs(bgpo.bgpo_len);
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + offsetof(struct bgp_open, bgpo_version), 1,
"Version: %u", bgpo.bgpo_version);
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + offsetof(struct bgp_open, bgpo_myas), 2,
"My AS: %u", ntohs(bgpo.bgpo_myas));
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + offsetof(struct bgp_open, bgpo_holdtime), 2,
"Hold time: %u", ntohs(bgpo.bgpo_holdtime));
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + offsetof(struct bgp_open, bgpo_id), 4,
"BGP identifier: %s", ip_to_str((guint8 *)&bgpo.bgpo_id));
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + offsetof(struct bgp_open, bgpo_optlen), 1,
"Optional parameters length: %u %s", bgpo.bgpo_optlen,
(bgpo.bgpo_optlen == 1) ? "byte" : "bytes");
@@ -291,7 +291,7 @@ dissect_bgp_open(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (hlen > sizeof(struct bgp_open)) {
int openoff;
openoff = ((char *)&bgpo.bgpo_optlen - (char *)&bgpo) + 1;
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + openoff, hlen - openoff,
"Optional parameters");
}
@@ -336,20 +336,20 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
/* check for withdrawals */
len = pntohs(p);
- proto_tree_add_text(tree, p - pd, 2,
+ proto_tree_add_text(tree, NullTVB, p - pd, 2,
"Unfeasible routes length: %u %s", len, (len == 1) ? "byte" : "bytes");
p += 2;
/* parse unfeasible prefixes */
if (len > 0) {
- ti = proto_tree_add_text(tree, p - pd, len, "Withdrawn routes:");
+ ti = proto_tree_add_text(tree, NullTVB, p - pd, len, "Withdrawn routes:");
subtree = proto_item_add_subtree(ti, ett_bgp_unfeas);
/* parse each prefixes */
end = p + len;
while (p < end) {
i = decode_prefix4(p, junk_buf, sizeof(junk_buf));
- proto_tree_add_text(subtree, p - pd, i, "%s", junk_buf);
+ proto_tree_add_text(subtree, NullTVB, p - pd, i, "%s", junk_buf);
p += i;
}
}
@@ -359,12 +359,12 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
/* check for advertisements */
len = pntohs(p);
- proto_tree_add_text(tree, p - pd, 2, "Total path attribute length: %u %s",
+ proto_tree_add_text(tree, NullTVB, p - pd, 2, "Total path attribute length: %u %s",
len, (len == 1) ? "byte" : "bytes");
/* path attributes */
if (len > 0) {
- ti = proto_tree_add_text(tree, p - pd + 2, len, "Path attributes");
+ ti = proto_tree_add_text(tree, NullTVB, p - pd + 2, len, "Path attributes");
subtree = proto_item_add_subtree(ti, ett_bgp_attrs);
i = 2;
while (i < len) {
@@ -391,7 +391,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
if (alen != 1)
goto default_attribute_top;
msg = val_to_str(p[i + aoff], bgpattr_origin, "Unknown");
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
msg, alen + aoff, (alen + aoff == 1) ? "byte" :
@@ -451,7 +451,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
if (alen == 0)
strncpy(as_path_str, "empty", 6);
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
as_path_str, alen + aoff,
@@ -460,7 +460,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
case BGPTYPE_NEXT_HOP:
if (alen != 4)
goto default_attribute_top;
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
ip_to_str(&p[i + aoff]), alen + aoff, (alen + aoff == 1)
@@ -469,7 +469,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
case BGPTYPE_MULTI_EXIT_DISC:
if (alen != 4)
goto default_attribute_top;
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %u (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
pntohl(&p[i + aoff]), alen + aoff,
@@ -478,7 +478,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
case BGPTYPE_LOCAL_PREF:
if (alen != 4)
goto default_attribute_top;
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %u (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
pntohl(&p[i + aoff]), alen + aoff,
@@ -487,7 +487,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
case BGPTYPE_ATOMIC_AGGREGATE:
if (alen != 0)
goto default_attribute_top;
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
alen + aoff, (alen + aoff == 1) ? "byte" : "bytes");
@@ -495,7 +495,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
case BGPTYPE_AGGREGATOR:
if (alen != 6)
goto default_attribute_top;
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: AS: %u origin: %s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
pntohs(&p[i + aoff]),
@@ -540,7 +540,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
/* cleanup end of string */
communities_str[strlen(communities_str) - 1] = '\0';
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
communities_str, alen + aoff,
@@ -549,7 +549,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
case BGPTYPE_ORIGINATOR_ID:
if (alen != 4)
goto default_attribute_top;
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
ip_to_str(&p[i + aoff]), alen + aoff, (alen + aoff == 1)
@@ -581,7 +581,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
/* cleanup end of string */
cluster_list_str[strlen(cluster_list_str) - 1] = '\0';
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s: %s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
cluster_list_str, alen + aoff,
@@ -589,7 +589,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
default:
default_attribute_top:
- ti = proto_tree_add_text(subtree, p - pd + i, alen + aoff,
+ ti = proto_tree_add_text(subtree, NullTVB, p - pd + i, alen + aoff,
"%s (%u %s)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
alen + aoff, (alen + aoff == 1) ? "byte" : "bytes");
@@ -622,38 +622,38 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
/* stomp last ", " */
j = strlen(junk_buf);
junk_buf[j - 2] = '\0';
- ti = proto_tree_add_text(subtree2,
+ ti = proto_tree_add_text(subtree2, NullTVB,
p - pd + i + offsetof(struct bgp_attr, bgpa_flags), 1,
"Flags: 0x%02x (%s)", bgpa.bgpa_flags, junk_buf);
subtree3 = proto_item_add_subtree(ti, ett_bgp_attr_flags);
/* add flag bitfield subtrees */
- proto_tree_add_text(subtree3,
+ proto_tree_add_text(subtree3, NullTVB,
p - pd + i + offsetof(struct bgp_attr, bgpa_flags), 1,
"%s", decode_boolean_bitfield(bgpa.bgpa_flags,
BGP_ATTR_FLAG_OPTIONAL, 8, "Optional", "Well-known"));
- proto_tree_add_text(subtree3,
+ proto_tree_add_text(subtree3, NullTVB,
p - pd + i + offsetof(struct bgp_attr, bgpa_flags), 1,
"%s", decode_boolean_bitfield(bgpa.bgpa_flags,
BGP_ATTR_FLAG_TRANSITIVE, 8, "Transitive",
"Non-transitive"));
- proto_tree_add_text(subtree3,
+ proto_tree_add_text(subtree3, NullTVB,
p - pd + i + offsetof(struct bgp_attr, bgpa_flags), 1,
"%s", decode_boolean_bitfield(bgpa.bgpa_flags,
BGP_ATTR_FLAG_PARTIAL, 8, "Partial", "Complete"));
- proto_tree_add_text(subtree3,
+ proto_tree_add_text(subtree3, NullTVB,
p - pd + i + offsetof(struct bgp_attr, bgpa_flags), 1,
"%s", decode_boolean_bitfield(bgpa.bgpa_flags,
BGP_ATTR_FLAG_EXTENDED_LENGTH, 8, "Extended length",
"Regular length"));
- proto_tree_add_text(subtree2,
+ proto_tree_add_text(subtree2, NullTVB,
p - pd + i + offsetof(struct bgp_attr, bgpa_type), 1,
"Type code: %s (%u)",
val_to_str(bgpa.bgpa_type, bgpattr_type, "Unknown"),
bgpa.bgpa_type);
- proto_tree_add_text(subtree2, p - pd + i + sizeof(bgpa),
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + sizeof(bgpa),
aoff - sizeof(bgpa), "Length: %d %s", alen,
(alen == 1) ? "byte" : "bytes");
@@ -662,12 +662,12 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
switch (bgpa.bgpa_type) {
case BGPTYPE_ORIGIN:
if (alen != 1) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Origin (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
} else {
msg = val_to_str(p[i + aoff], bgpattr_origin, "Unknown");
- proto_tree_add_text(subtree2, p - pd + i + aoff, 1,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, 1,
"Origin: %s (%u)", msg, p[i + aoff]);
}
break;
@@ -678,7 +678,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
}
- ti = proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ ti = proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"AS path: %s", as_path_str);
as_paths_tree = proto_item_add_subtree(ti, ett_bgp_as_paths);
@@ -729,14 +729,14 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
}
/* length here means number of ASs, ie length * 2 bytes */
- ti = proto_tree_add_text(as_paths_tree,
+ ti = proto_tree_add_text(as_paths_tree, NullTVB,
q - pd - length * 2 - 2,
length * 2 + 2, "AS path segment: %s", as_path_str);
as_path_tree = proto_item_add_subtree(ti, ett_bgp_as_paths);
- proto_tree_add_text(as_path_tree, q - pd - length * 2 - 2,
+ proto_tree_add_text(as_path_tree, NullTVB, q - pd - length * 2 - 2,
1, "Path segment type: %s (%u)",
val_to_str(type, as_segment_type, "Unknown"), type);
- proto_tree_add_text(as_path_tree, q - pd - length * 2 - 1,
+ proto_tree_add_text(as_path_tree, NullTVB, q - pd - length * 2 - 1,
1, "Path segment length: %u %s", length,
(length == 1) ? "AS" : "ASs");
@@ -750,7 +750,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
}
as_path_str[strlen(as_path_str) - 1] = '\0';
- proto_tree_add_text(as_path_tree, q - pd - length * 2,
+ proto_tree_add_text(as_path_tree, NullTVB, q - pd - length * 2,
length * 2, "Path segment value: %s", as_path_str);
}
@@ -758,65 +758,65 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
case BGPTYPE_NEXT_HOP:
if (alen != 4) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Next hop (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
} else {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Next hop: %s", ip_to_str(&p[i + aoff]));
}
break;
case BGPTYPE_MULTI_EXIT_DISC:
if (alen != 4) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Multiple exit discriminator (invalid): %u %s",
alen, (alen == 1) ? "byte" : "bytes");
} else {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Multiple exit discriminator: %u",
pntohl(&p[i + aoff]));
}
break;
case BGPTYPE_LOCAL_PREF:
if (alen != 4) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Local preference (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
} else {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Local preference: %u", pntohl(&p[i + aoff]));
}
break;
case BGPTYPE_ATOMIC_AGGREGATE:
if (alen != 0) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Atomic aggregate (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
}
break;
case BGPTYPE_AGGREGATOR:
if (alen != 6) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Aggregator (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
} else {
- proto_tree_add_text(subtree2, p - pd + i + aoff, 2,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, 2,
"Aggregator AS: %u", pntohs(&p[i + aoff]));
- proto_tree_add_text(subtree2, p - pd + i + aoff + 2, 4,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff + 2, 4,
"Aggregator origin: %s",
ip_to_str(&p[i + aoff + 2]));
}
break;
case BGPTYPE_COMMUNITIES:
if (alen % 4 != 0) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Communities (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
free(communities_str);
break;
}
- ti = proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ ti = proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Communities: %s", communities_str);
communities_tree = proto_item_add_subtree(ti,
ett_bgp_communities);
@@ -832,33 +832,33 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
if (pntohs(q) == FOURHEX0 || pntohs(q) == FOURHEXF) {
/* check for well-known communities */
if (pntohl(q) == BGP_COMM_NO_EXPORT)
- proto_tree_add_text(communities_tree,
+ proto_tree_add_text(communities_tree, NullTVB,
q - pd - 3 + aoff, 4,
"Community: NO_EXPORT (0x%x)", pntohl(q));
else if (pntohl(q) == BGP_COMM_NO_ADVERTISE)
- proto_tree_add_text(communities_tree,
+ proto_tree_add_text(communities_tree, NullTVB,
q - pd - 3 + aoff, 4,
"Community: NO_ADVERTISE (0x%x)", pntohl(q));
else if (pntohl(q) == BGP_COMM_NO_EXPORT_SUBCONFED)
- proto_tree_add_text(communities_tree,
+ proto_tree_add_text(communities_tree, NullTVB,
q - pd - 3 + aoff, 4,
"Community: NO_EXPORT_SUBCONFED (0x%x)",
pntohl(q));
else
- proto_tree_add_text(communities_tree,
+ proto_tree_add_text(communities_tree, NullTVB,
q - pd - 3 + aoff, 4,
"Community (reserved): 0x%x", pntohl(q));
}
else {
- ti = proto_tree_add_text(communities_tree,
+ ti = proto_tree_add_text(communities_tree, NullTVB,
q - pd - 3 + aoff, 4, "Community: %u:%u",
pntohs(q), pntohs(q + 2));
community_tree = proto_item_add_subtree(ti,
ett_bgp_communities);
- proto_tree_add_text(community_tree, q - pd - 3 + aoff,
+ proto_tree_add_text(community_tree, NullTVB, q - pd - 3 + aoff,
2, "Community AS: %u", pntohs(q));
- proto_tree_add_text(community_tree, q - pd - 1 + aoff,
+ proto_tree_add_text(community_tree, NullTVB, q - pd - 1 + aoff,
2, "Community value: %u", pntohs(q + 2));
}
@@ -869,26 +869,26 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
case BGPTYPE_ORIGINATOR_ID:
if (alen != 4) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Originator identifier (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
} else {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Originator identifier: %s",
ip_to_str(&p[i + aoff]));
}
break;
case BGPTYPE_MP_REACH_NLRI:
af = pntohs(&p[i + aoff]);
- proto_tree_add_text(subtree2, p - pd + i + aoff, 2,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, 2,
"Address family: %s (%u)",
val_to_str(af, afnumber, "Unknown"), af);
- proto_tree_add_text(subtree2, p - pd + i + aoff + 2, 1,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff + 2, 1,
"Subsequent address family identifier: %s (%u)",
val_to_str(p[i + aoff + 2], bgpattr_nlri_safi,
p[i + aoff + 2] >= 128 ? "Vendor specific" : "Unknown"),
p[i + aoff + 2]);
- ti = proto_tree_add_text(subtree2, p - pd + i + aoff + 3, 1,
+ ti = proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff + 3, 1,
"Next hop network address (%d %s)",
p[i + aoff + 3], (p[i + aoff + 3] == 1) ? "byte" :
"bytes");
@@ -916,7 +916,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
s = ip6_to_str((struct e_in6_addr *)
&p[i + aoff + 4 + j]);
}
- proto_tree_add_text(subtree3,
+ proto_tree_add_text(subtree3, NullTVB,
p - pd + i + aoff + 4 + j, advance,
"Next hop: %s", s);
j += advance;
@@ -927,17 +927,17 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
aoff += (p[i + aoff + 3] + 4);
off = 0;
snpa = p[i + aoff];
- ti = proto_tree_add_text(subtree2, p - pd + i + aoff, 1,
+ ti = proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, 1,
"Subnetwork points of attachment: %u", snpa);
off++;
if (snpa)
subtree3 = proto_item_add_subtree(ti,
ett_bgp_mp_reach_nlri);
for (/*nothing*/; snpa > 0; snpa--) {
- proto_tree_add_text(subtree3, p - pd + i + aoff + off, 1,
+ proto_tree_add_text(subtree3, NullTVB, p - pd + i + aoff + off, 1,
"SNPA length: %u", p[i + aoff + off]);
off++;
- proto_tree_add_text(subtree3, p - pd + i + aoff + off,
+ proto_tree_add_text(subtree3, NullTVB, p - pd + i + aoff + off,
p[i + aoff + off - 1],
"SNPA (%u %s)", p[i + aoff + off - 1],
(p[i + aoff + off - 1] == 1) ? "byte" : "bytes");
@@ -946,7 +946,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
alen -= off;
aoff += off;
- ti = proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ ti = proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Network layer reachability information (%u %s)",
alen, (alen == 1) ? "byte" : "bytes");
if (alen)
@@ -968,7 +968,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
if (alen < advance)
break;
- proto_tree_add_text(subtree3, p - pd + i + aoff, advance,
+ proto_tree_add_text(subtree3, NullTVB, p - pd + i + aoff, advance,
"Network layer reachability information: %s", buf);
alen -= advance;
@@ -978,15 +978,15 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
case BGPTYPE_MP_UNREACH_NLRI:
af = pntohs(&p[i + aoff]);
- proto_tree_add_text(subtree2, p - pd + i + aoff, 2,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, 2,
"Address family: %s (%u)",
val_to_str(af, afnumber, "Unknown"), af);
- proto_tree_add_text(subtree2, p - pd + i + aoff + 2, 1,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff + 2, 1,
"Subsequent address family identifier: %s (%u)",
val_to_str(p[i + aoff + 2], bgpattr_nlri_safi,
p[i + aoff + 2] >= 128 ? "Vendor specific" : "Unknown"),
p[i + aoff + 2]);
- ti = proto_tree_add_text(subtree2, p - pd + i + aoff + 3,
+ ti = proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff + 3,
alen - 3, "Withdrawn routes (%u %s)", alen - 3,
(alen - 3 == 1) ? "byte" : "bytes");
@@ -1011,7 +1011,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
if (alen < advance)
break;
- proto_tree_add_text(subtree3, p - pd + i + aoff, advance,
+ proto_tree_add_text(subtree3, NullTVB, p - pd + i + aoff, advance,
"Withdrawn route: %s", buf);
alen -= advance;
@@ -1021,14 +1021,14 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
break;
case BGPTYPE_CLUSTER_LIST:
if (alen % 4 != 0) {
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Cluster list (invalid): %u %s", alen,
(alen == 1) ? "byte" : "bytes");
free(cluster_list_str);
break;
}
- ti = proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ ti = proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Cluster list: %s", cluster_list_str);
cluster_list_tree = proto_item_add_subtree(ti,
ett_bgp_cluster_list);
@@ -1040,7 +1040,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
/* snarf each cluster identifier */
while (q < end) {
- ti = proto_tree_add_text(cluster_list_tree,
+ ti = proto_tree_add_text(cluster_list_tree, NullTVB,
q - pd - 3 + aoff, 4, "Cluster identifier: %s",
ip_to_str(q));
@@ -1050,7 +1050,7 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
free(cluster_list_str);
break;
default:
- proto_tree_add_text(subtree2, p - pd + i + aoff, alen,
+ proto_tree_add_text(subtree2, NullTVB, p - pd + i + aoff, alen,
"Unknown (%d %s)", alen, (alen == 1) ? "byte" :
"bytes");
break;
@@ -1065,14 +1065,14 @@ dissect_bgp_update(const u_char *pd, int offset, frame_data *fd,
/* parse prefixes */
if (len > 0) {
- ti = proto_tree_add_text(tree, p - pd, len,
+ ti = proto_tree_add_text(tree, NullTVB, p - pd, len,
"Network layer reachability information: %u %s", len,
(len == 1) ? "byte" : "bytes");
subtree = proto_item_add_subtree(ti, ett_bgp_nlri);
end = p + len;
while (p < end) {
i = decode_prefix4(p, junk_buf, sizeof(junk_buf));
- proto_tree_add_text(subtree, p - pd, i, "%s", junk_buf);
+ proto_tree_add_text(subtree, NullTVB, p - pd, i, "%s", junk_buf);
p += i;
}
}
@@ -1095,7 +1095,7 @@ dissect_bgp_notification(const u_char *pd, int offset, frame_data *fd,
hlen = ntohs(bgpn.bgpn_len);
/* print error code */
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + offsetof(struct bgp_notification, bgpn_major), 1,
"Error code: %s (%u)",
val_to_str(bgpn.bgpn_major, bgpnotify_major, "Unknown"),
@@ -1110,13 +1110,13 @@ dissect_bgp_notification(const u_char *pd, int offset, frame_data *fd,
p = "Unspecified";
else
p = "Unknown";
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset + offsetof(struct bgp_notification, bgpn_minor), 1,
"Error subcode: %s (%u)", p, bgpn.bgpn_minor);
/* only print if there is optional data */
if (hlen > BGP_MIN_NOTIFICATION_MSG_SIZE) {
- proto_tree_add_text(tree, offset + BGP_MIN_NOTIFICATION_MSG_SIZE,
+ proto_tree_add_text(tree, NullTVB, offset + BGP_MIN_NOTIFICATION_MSG_SIZE,
hlen - BGP_MIN_NOTIFICATION_MSG_SIZE, "Data");
}
}
@@ -1179,7 +1179,7 @@ dissect_bgp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_text(tree, offset, END_OF_FRAME,
+ ti = proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME,
"Border Gateway Protocol");
bgp_tree = proto_item_add_subtree(ti, ett_bgp);
@@ -1204,10 +1204,10 @@ dissect_bgp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
hlen = ntohs(bgp.bgp_len);
typ = val_to_str(bgp.bgp_type, bgptypevals, "Unknown Message");
if (END_OF_FRAME < hlen) {
- ti = proto_tree_add_text(bgp_tree, offset + i, END_OF_FRAME,
+ ti = proto_tree_add_text(bgp_tree, NullTVB, offset + i, END_OF_FRAME,
"%s (truncated)", typ);
} else {
- ti = proto_tree_add_text(bgp_tree, offset + i, hlen,
+ ti = proto_tree_add_text(bgp_tree, NullTVB, offset + i, hlen,
"%s", typ);
}
/* add a different tree for each message type */
@@ -1229,22 +1229,22 @@ dissect_bgp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
}
- proto_tree_add_text(bgp1_tree, offset + i, BGP_MARKER_SIZE,
+ proto_tree_add_text(bgp1_tree, NullTVB, offset + i, BGP_MARKER_SIZE,
"Marker: 16 bytes");
if (hlen < BGP_HEADER_SIZE || hlen > BGP_MAX_PACKET_SIZE) {
- proto_tree_add_text(bgp1_tree,
+ proto_tree_add_text(bgp1_tree, NullTVB,
offset + i + offsetof(struct bgp, bgp_len), 2,
"Length (invalid): %u %s", hlen,
(hlen == 1) ? "byte" : "bytes");
} else {
- proto_tree_add_text(bgp1_tree,
+ proto_tree_add_text(bgp1_tree, NullTVB,
offset + i + offsetof(struct bgp, bgp_len), 2,
"Length: %u %s", hlen,
(hlen == 1) ? "byte" : "bytes");
}
- proto_tree_add_text(bgp1_tree,
+ proto_tree_add_text(bgp1_tree, NullTVB,
offset + i + offsetof(struct bgp, bgp_type), 1,
"Type: %s (%u)", typ, bgp.bgp_type);
diff --git a/packet-bootp.c b/packet-bootp.c
index 502944291a..bb0c6da5b5 100644
--- a/packet-bootp.c
+++ b/packet-bootp.c
@@ -2,7 +2,7 @@
* Routines for BOOTP/DHCP packet disassembly
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-bootp.c,v 1.30 2000/04/08 07:07:10 guy Exp $
+ * $Id: packet-bootp.c,v 1.31 2000/05/11 08:15:00 gram Exp $
*
* The information used comes from:
* RFC 2132: DHCP Options and BOOTP Vendor Extensions
@@ -222,7 +222,7 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
}
}
i = i - voff;
- proto_tree_add_text(bp_tree, voff, i, "Padding");
+ proto_tree_add_text(bp_tree, NullTVB, voff, i, "Padding");
consumed = i;
return consumed;
@@ -230,7 +230,7 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
case 21:
/* one IP address pair */
if (vlen == 8) {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %s/%s", code, text,
ip_to_str((guint8*)&pd[voff+2]),
ip_to_str((guint8*)&pd[voff+6]));
@@ -238,11 +238,11 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
/* > 1 IP address pair. Let's make a sub-tree */
else {
- vti = proto_tree_add_text(bp_tree, voff,
+ vti = proto_tree_add_text(bp_tree, NullTVB, voff,
consumed, "Option %d: %s", code, text);
v_tree = proto_item_add_subtree(vti, ett_bootp_option);
for (i = voff + 2; i < voff + consumed; i += 8) {
- proto_tree_add_text(v_tree, i, 8, "IP Address/Mask: %s/%s",
+ proto_tree_add_text(v_tree, NullTVB, i, 8, "IP Address/Mask: %s/%s",
ip_to_str((guint8*)&pd[i]),
ip_to_str((guint8*)&pd[i+4]));
}
@@ -253,7 +253,7 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
case 33:
/* one IP address pair */
if (vlen == 8) {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %s/%s", code, text,
ip_to_str((guint8*)&pd[voff+2]),
ip_to_str((guint8*)&pd[voff+6]));
@@ -261,11 +261,11 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
/* > 1 IP address pair. Let's make a sub-tree */
else {
- vti = proto_tree_add_text(bp_tree, voff,
+ vti = proto_tree_add_text(bp_tree, NullTVB, voff,
consumed, "Option %d: %s", code, text);
v_tree = proto_item_add_subtree(vti, ett_bootp_option);
for (i = voff + 2; i < voff + consumed; i += 8) {
- proto_tree_add_text(v_tree, i, 8,
+ proto_tree_add_text(v_tree, NullTVB, i, 8,
"Destination IP Address/Router: %s/%s",
ip_to_str((guint8*)&pd[i]),
ip_to_str((guint8*)&pd[i+4]));
@@ -275,14 +275,14 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
/* Vendor-Specific Info */
case 43:
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s", code, text);
break;
/* NetBIOS-over-TCP/IP Node Type */
case 46:
byte = pd[voff+2];
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %s", code, text,
val_to_str(byte, nbnt_vals,
"Unknown (0x%02x)"));
@@ -297,23 +297,23 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
else {
i = 0;
}
- proto_tree_add_text(bp_tree, voff, 3, "Option %d: %s = DHCP %s",
+ proto_tree_add_text(bp_tree, NullTVB, voff, 3, "Option %d: %s = DHCP %s",
code, text, opt53_text[i]);
break;
/* Parameter Request List */
case 55:
- vti = proto_tree_add_text(bp_tree, voff,
+ vti = proto_tree_add_text(bp_tree, NullTVB, voff,
vlen + 2, "Option %d: %s", code, text);
v_tree = proto_item_add_subtree(vti, ett_bootp_option);
for (i = 0; i < vlen; i++) {
byte = pd[voff+2+i];
if (byte < NUM_OPT_INFOS) {
- proto_tree_add_text(v_tree, voff+2+i, 1, "%d = %s",
+ proto_tree_add_text(v_tree, NullTVB, voff+2+i, 1, "%d = %s",
byte, opt[byte].text);
}
else {
- proto_tree_add_text(vti, voff+2+i, 1,
+ proto_tree_add_text(vti, NullTVB, voff+2+i, 1,
"Unknown Option Code: %d", byte);
}
}
@@ -325,28 +325,28 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
guess that the first is the hwtype, and the last 6 are
the hw addr */
if (vlen == 7) {
- vti = proto_tree_add_text(bp_tree, voff,
+ vti = proto_tree_add_text(bp_tree, NullTVB, voff,
consumed, "Option %d: %s", code, text);
v_tree = proto_item_add_subtree(vti, ett_bootp_option);
- proto_tree_add_text(v_tree, voff+2, 1,
+ proto_tree_add_text(v_tree, NullTVB, voff+2, 1,
"Hardware type: %s",
arphrdtype_to_str(pd[voff+2],
"Unknown (0x%02x)"));
- proto_tree_add_text(v_tree, voff+3, 6,
+ proto_tree_add_text(v_tree, NullTVB, voff+3, 6,
"Client hardware address: %s",
arphrdaddr_to_str((guint8*)&pd[voff+3],
6, pd[voff+2]));
}
/* otherwise, it's opaque data */
else {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s (%d bytes)", code, text, vlen);
}
break;
/* NetWare/IP options */
case 63:
- vti = proto_tree_add_text(bp_tree, voff,
+ vti = proto_tree_add_text(bp_tree, NullTVB, voff,
consumed, "Option %d: %s", code, text);
v_tree = proto_item_add_subtree(vti, ett_bootp_option);
@@ -354,28 +354,28 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
optp=voff+2;
while ( optp < (voff+consumed) ) {
if (pd[optp] > NUM_O63_SUBOPTS) {
- proto_tree_add_text(v_tree,optp,1,"Unknown suboption %d", pd[optp]);
+ proto_tree_add_text(v_tree, NullTVB,optp,1,"Unknown suboption %d", pd[optp]);
optp++;
} else {
switch (o63_opt[pd[optp]].ft) {
case string:
- proto_tree_add_text(v_tree, optp, 2, "Suboption %d: %s", pd[optp], o63_opt[pd[optp]].truet);
+ proto_tree_add_text(v_tree, NullTVB, optp, 2, "Suboption %d: %s", pd[optp], o63_opt[pd[optp]].truet);
optp+=2;
break;
case yes_no:
if (pd[optp+2]==1) {
- proto_tree_add_text(v_tree, optp, 3, "Suboption %d: %s", pd[optp], o63_opt[pd[optp]].truet);
+ proto_tree_add_text(v_tree, NullTVB, optp, 3, "Suboption %d: %s", pd[optp], o63_opt[pd[optp]].truet);
} else {
- proto_tree_add_text(v_tree, optp, 3, "Suboption %d: %s" , pd[optp], o63_opt[pd[optp]].falset);
+ proto_tree_add_text(v_tree, NullTVB, optp, 3, "Suboption %d: %s" , pd[optp], o63_opt[pd[optp]].falset);
}
optp+=3;
break;
case special:
- proto_tree_add_text(v_tree, optp, 6,
+ proto_tree_add_text(v_tree, NullTVB, optp, 6,
"Suboption %d: %s = %s" ,
pd[optp], o63_opt[pd[optp]].truet,
ip_to_str((guint8*)&pd[optp+2]));
@@ -383,14 +383,14 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
break;
case val_u_short:
- proto_tree_add_text(v_tree, optp, 3, "Suboption %d: %s = %d",pd[optp], o63_opt[pd[optp]].truet, pd[optp+2]);
+ proto_tree_add_text(v_tree, NullTVB, optp, 3, "Suboption %d: %s = %d",pd[optp], o63_opt[pd[optp]].truet, pd[optp+2]);
optp+=3;
break;
case ipv4:
/* one IP address */
if (pd[optp+1] == 4) {
- proto_tree_add_text(v_tree, optp, 6,
+ proto_tree_add_text(v_tree, NullTVB, optp, 6,
"Suboption %d : %s = %s" ,
pd[optp], o63_opt[pd[optp]].truet,
ip_to_str((guint8*)&pd[optp+2]));
@@ -399,19 +399,19 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
/* > 1 IP addresses. Let's make a sub-tree */
else {
- vti = proto_tree_add_text(v_tree, optp,
+ vti = proto_tree_add_text(v_tree, NullTVB, optp,
pd[optp+1]+2, "Suboption %d: %s",
pd[optp], o63_opt[pd[optp]].truet);
o63_v_tree = proto_item_add_subtree(vti, ett_bootp_option);
for (slask = optp + 2 ; slask < optp+pd[optp+1]; slask += 4) {
- proto_tree_add_text(o63_v_tree, slask, 4, "IP Address: %s",
+ proto_tree_add_text(o63_v_tree, NullTVB, slask, 4, "IP Address: %s",
ip_to_str((guint8*)&pd[slask]));
}
optp=slask;
}
break;
default:
- proto_tree_add_text(v_tree,optp,1,"Unknown suboption %d", pd[optp]);
+ proto_tree_add_text(v_tree, NullTVB,optp,1,"Unknown suboption %d", pd[optp]);
optp++;
break;
}
@@ -422,7 +422,7 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
/* End Option */
case 255:
- proto_tree_add_text(bp_tree, voff, 1, "End Option");
+ proto_tree_add_text(bp_tree, NullTVB, voff, 1, "End Option");
consumed = 1;
return consumed;
@@ -443,18 +443,18 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
case ipv4:
/* one IP address */
if (vlen == 4) {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %s", code, text,
ip_to_str((guint8*)&pd[voff+2]));
}
/* > 1 IP addresses. Let's make a sub-tree */
else {
- vti = proto_tree_add_text(bp_tree, voff,
+ vti = proto_tree_add_text(bp_tree, NullTVB, voff,
consumed, "Option %d: %s", code, text);
v_tree = proto_item_add_subtree(vti, ett_bootp_option);
for (i = voff + 2; i < voff + consumed; i += 4) {
- proto_tree_add_text(v_tree, i, 4, "IP Address: %s",
+ proto_tree_add_text(v_tree, NullTVB, i, 4, "IP Address: %s",
ip_to_str((guint8*)&pd[i]));
}
}
@@ -464,12 +464,12 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
/* Fix for non null-terminated string supplied by
* John Lines <John.Lines@aeat.co.uk>
*/
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %.*s", code, text, vlen, &pd[voff+2]);
break;
case opaque:
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s (%d bytes)",
code, text, vlen);
break;
@@ -477,42 +477,42 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
case val_u_short:
/* one IP address */
if (vlen == 2) {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %d", code, text,
pntohs(&pd[voff+2]));
}
/* > 1 u_short */
else {
- vti = proto_tree_add_text(bp_tree, voff,
+ vti = proto_tree_add_text(bp_tree, NullTVB, voff,
consumed, "Option %d: %s", code, text);
v_tree = proto_item_add_subtree(vti, ett_bootp_option);
for (i = voff + 2; i < voff + consumed; i += 2) {
- proto_tree_add_text(v_tree, i, 4, "Value: %d",
+ proto_tree_add_text(v_tree, NullTVB, i, 4, "Value: %d",
pntohs(&pd[i]));
}
}
break;
case val_u_long:
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %d", code, text,
pntohl(&pd[voff+2]));
break;
case val_u_byte:
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %d", code, text, pd[voff+2]);
break;
case toggle:
i = pd[voff+2];
if (i != 0 && i != 1) {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = Invalid Value %d", code, text,
pd[voff+2]);
}
else {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %s", code, text,
pd[voff+2] == 0 ? "Disabled" : "Enabled");
}
@@ -521,12 +521,12 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
case yes_no:
i = pd[voff+2];
if (i != 0 && i != 1) {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = Invalid Value %d", code, text,
pd[voff+2]);
}
else {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %s", code, text,
pd[voff+2] == 0 ? "No" : "Yes");
}
@@ -534,7 +534,7 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
case time_in_secs:
time_secs = pntohl(&pd[voff+2]);
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s = %s", code, text,
((time_secs == 0xffffffff) ?
"infinity" :
@@ -542,12 +542,12 @@ bootp_option(const u_char *pd, proto_tree *bp_tree, int voff, int eoff)
break;
default:
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Option %d: %s (%d bytes)", code, text, vlen);
}
}
else {
- proto_tree_add_text(bp_tree, voff, consumed,
+ proto_tree_add_text(bp_tree, NullTVB, voff, consumed,
"Unknown Option Code: %d (%d bytes)", code, vlen);
}
@@ -577,45 +577,45 @@ dissect_bootp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_bootp, offset, END_OF_FRAME, NULL);
+ 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,
+ proto_tree_add_uint_format(bp_tree, hf_bootp_type, NullTVB,
offset, 1,
pd[offset],
pd[offset] == 1 ?
"Boot Request" : "Boot Reply");
- proto_tree_add_uint_format(bp_tree, hf_bootp_hw_type,
+ proto_tree_add_uint_format(bp_tree, hf_bootp_hw_type, NullTVB,
offset + 1, 1,
pd[offset+1],
"Hardware type: %s",
arphrdtype_to_str(pd[offset+1],
"Unknown (0x%02x)"));
- proto_tree_add_item(bp_tree, hf_bootp_hw_len,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(bp_tree, hf_bootp_ip_relay, NullTVB,
offset + 24, 4, ip_addr);
- proto_tree_add_bytes_format(bp_tree, hf_bootp_hw_addr,
+ proto_tree_add_bytes_format(bp_tree, hf_bootp_hw_addr, NullTVB,
offset + 28, pd[offset+2],
&pd[offset+28],
"Client hardware address: %s",
@@ -624,14 +624,14 @@ dissect_bootp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* The server host name is optional */
if (pd[offset+44]) {
- proto_tree_add_string_format(bp_tree, hf_bootp_server,
+ proto_tree_add_string_format(bp_tree, hf_bootp_server, NullTVB,
offset + 44, 64,
&pd[offset+44],
"Server host name: %s",
&pd[offset+44]);
}
else {
- proto_tree_add_string_format(bp_tree, hf_bootp_server,
+ proto_tree_add_string_format(bp_tree, hf_bootp_server, NullTVB,
offset + 44, 64,
&pd[offset+44],
"Server host name not given");
@@ -639,28 +639,28 @@ dissect_bootp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Boot file */
if (pd[offset+108]) {
- proto_tree_add_string_format(bp_tree, hf_bootp_file,
+ proto_tree_add_string_format(bp_tree, hf_bootp_file, NullTVB,
offset + 108, 128,
&pd[offset+108],
"Boot file name: %s",
&pd[offset+108]);
}
else {
- proto_tree_add_string_format(bp_tree, hf_bootp_file,
+ proto_tree_add_string_format(bp_tree, hf_bootp_file, NullTVB,
offset + 108, 128,
&pd[offset+108],
"Boot file name not given");
}
if (pntohl(&pd[offset+236]) == 0x63825363) {
- proto_tree_add_ipv4_format(bp_tree, hf_bootp_cookie,
+ proto_tree_add_ipv4_format(bp_tree, hf_bootp_cookie, NullTVB,
offset + 236, 4,
pd[offset+236],
"Magic cookie: (OK)");
}
else {
memcpy(&ip_addr, &pd[offset + 236], sizeof(ip_addr));
- proto_tree_add_item(bp_tree, hf_bootp_cookie,
+ proto_tree_add_item(bp_tree, hf_bootp_cookie, NullTVB,
offset + 236, 4, ip_addr);
}
diff --git a/packet-bootparams.c b/packet-bootparams.c
index fa5a0af688..d644f05cad 100644
--- a/packet-bootparams.c
+++ b/packet-bootparams.c
@@ -1,7 +1,7 @@
/* packet-bootparams.c
* Routines for bootparams dissection
*
- * $Id: packet-bootparams.c,v 1.9 2000/04/04 06:46:24 guy Exp $
+ * $Id: packet-bootparams.c,v 1.10 2000/05/11 08:15:03 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -62,7 +62,7 @@ int dissect_bp_address(const u_char *pd, int offset, frame_data *fd,
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,
+ proto_tree_add_item(tree, hf_bootparams_addresstype, NullTVB,
offset, 4, type);
#endif
offset += 4;
@@ -76,7 +76,7 @@ int dissect_bp_address(const u_char *pd, int offset, frame_data *fd,
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,
+ proto_tree_add_item(tree, hfindex, NullTVB,
offset, 16, ntohl(ipaddr));
offset += 16;
diff --git a/packet-bpdu.c b/packet-bpdu.c
index b2da00a988..d72220c159 100644
--- a/packet-bpdu.c
+++ b/packet-bpdu.c
@@ -1,7 +1,7 @@
/* packet-bpdu.c
* Routines for BPDU (Spanning Tree Protocol) disassembly
*
- * $Id: packet-bpdu.c,v 1.9 2000/04/17 00:32:37 guy Exp $
+ * $Id: packet-bpdu.c,v 1.10 2000/05/11 08:15:03 gram Exp $
*
* Copyright 1999 Christophe Tronche <ch.tronche@computer.org>
*
@@ -121,10 +121,10 @@ void dissect_bpdu(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
protocol_identifier = pntohs(bpdu + BPDU_IDENTIFIER);
protocol_version_identifier = (guint8) bpdu[BPDU_VERSION_IDENTIFIER];
- ti = proto_tree_add_protocol_format(tree, proto_bpdu, offset, 35,
+ ti = proto_tree_add_protocol_format(tree, proto_bpdu, NullTVB, offset, 35,
"Spanning Tree Protocol");
bpdu_tree = proto_item_add_subtree(ti, ett_bpdu);
- proto_tree_add_uint_format(bpdu_tree, hf_bpdu_proto_id,
+ proto_tree_add_uint_format(bpdu_tree, hf_bpdu_proto_id, NullTVB,
offset + BPDU_IDENTIFIER, 2,
protocol_identifier,
"Protocol Identifier: 0x%04x (%s)",
@@ -132,12 +132,12 @@ void dissect_bpdu(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
protocol_identifier == 0 ?
"Spanning Tree" : "Unknown Protocol");
- proto_tree_add_item(bpdu_tree, hf_bpdu_version_id,
+ proto_tree_add_item(bpdu_tree, hf_bpdu_version_id, NullTVB,
offset + BPDU_VERSION_IDENTIFIER, 1,
protocol_version_identifier);
if (protocol_version_identifier != 0)
- proto_tree_add_text(bpdu_tree, offset + BPDU_VERSION_IDENTIFIER, 1, " (Warning: this version of packet-bpdu only knows about version = 0)");
- proto_tree_add_uint_format(bpdu_tree, hf_bpdu_type,
+ proto_tree_add_text(bpdu_tree, NullTVB, offset + BPDU_VERSION_IDENTIFIER, 1, " (Warning: this version of packet-bpdu only knows about version = 0)");
+ proto_tree_add_uint_format(bpdu_tree, hf_bpdu_type, NullTVB,
offset + BPDU_TYPE, 1,
bpdu_type,
"BPDU Type: 0x%02x (%s)",
@@ -157,45 +157,45 @@ void dissect_bpdu(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
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,
+ proto_tree_add_item(bpdu_tree, hf_bpdu_flags, NullTVB,
offset + BPDU_FLAGS, 1, flags);
if (flags & 0x80)
- proto_tree_add_text(bpdu_tree, offset + BPDU_FLAGS, 1, " 1... .... Topology Change Acknowledgment");
+ proto_tree_add_text(bpdu_tree, NullTVB, offset + BPDU_FLAGS, 1, " 1... .... Topology Change Acknowledgment");
if (flags & 0x01)
- proto_tree_add_text(bpdu_tree, offset + BPDU_FLAGS, 1, " .... ...1 Topology Change");
+ 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,
+ 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,
+ proto_tree_add_text(bpdu_tree, NullTVB,
offset + BPDU_ROOT_IDENTIFIER, 8,
"Root Identifier: %d / %s",
root_identifier_bridge_priority,
root_identifier_mac);
- proto_tree_add_item(bpdu_tree, hf_bpdu_root_cost,
+ 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,
+ proto_tree_add_text(bpdu_tree, NullTVB,
offset + BPDU_BRIDGE_IDENTIFIER, 8,
"Bridge Identifier: %d / %s",
bridge_identifier_bridge_priority,
bridge_identifier_mac);
- proto_tree_add_item_hidden(bpdu_tree, hf_bpdu_bridge_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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(bpdu_tree, hf_bpdu_forward_delay, NullTVB,
offset + BPDU_FORWARD_DELAY, 2,
forward_delay);
}
diff --git a/packet-cdp.c b/packet-cdp.c
index 78adaa24fa..551826fe4f 100644
--- a/packet-cdp.c
+++ b/packet-cdp.c
@@ -2,7 +2,7 @@
* Routines for the disassembly of the "Cisco Discovery Protocol"
* (c) Copyright Hannes R. Boehm <hannes@boehm.org>
*
- * $Id: packet-cdp.c,v 1.21 2000/03/12 04:47:36 gram Exp $
+ * $Id: packet-cdp.c,v 1.22 2000/05/11 08:15:04 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -107,17 +107,17 @@ dissect_cdp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str(fd, COL_INFO, "Cisco Discovery Protocol");
if(tree){
- ti = proto_tree_add_item(tree, proto_cdp, offset, END_OF_FRAME, NULL);
+ 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, offset, 1, pd[offset]);
+ 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, offset, 1,
+ proto_tree_add_uint_format(cdp_tree, hf_cdp_ttl, NullTVB, offset, 1,
pntohs(&pd[offset]),
"TTL: %u seconds", pd[offset]);
offset += 1;
- proto_tree_add_uint_format(cdp_tree, hf_cdp_flags, offset, 2,
+ proto_tree_add_uint_format(cdp_tree, hf_cdp_flags, NullTVB, offset, 2,
pd[offset],
"Checksum: 0x%04x", pntohs(&pd[offset]));
offset += 2;
@@ -131,34 +131,34 @@ dissect_cdp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
switch( type ){
case TYPE_DEVICE_ID:
/* Device ID */
- tlvi = proto_tree_add_text(cdp_tree, offset,
+ tlvi = proto_tree_add_text(cdp_tree, NullTVB, offset,
length, "Device ID: %s",
&pd[offset+4]);
tlv_tree = proto_item_add_subtree(tlvi,
ett_cdp_tlv);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvtype,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB,
offset + TLV_TYPE, 2, type);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvlength,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB,
offset + TLV_LENGTH, 2, length);
- proto_tree_add_text(tlv_tree, offset + 4,
+ proto_tree_add_text(tlv_tree, NullTVB, offset + 4,
length - 4, "Device ID: %s",
&pd[offset+4]);
offset+=length;
break;
case TYPE_ADDRESS:
/* Addresses */
- tlvi = proto_tree_add_text(cdp_tree, offset,
+ tlvi = proto_tree_add_text(cdp_tree, NullTVB, offset,
length, "Addresses");
tlv_tree = proto_item_add_subtree(tlvi,
ett_cdp_tlv);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvtype,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB,
offset + TLV_TYPE, 2, type);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvlength,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB,
offset + TLV_LENGTH, 2, length);
offset += 4;
length -= 4;
naddresses = pntohl(&pd[offset]);
- proto_tree_add_text(tlv_tree, offset, 4,
+ proto_tree_add_text(tlv_tree, NullTVB, offset, 4,
"Number of addresses: %u", naddresses);
offset += 4;
length -= 4;
@@ -189,29 +189,29 @@ dissect_cdp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
capture work. */
real_length = length + 3;
}
- tlvi = proto_tree_add_text(cdp_tree, offset,
+ tlvi = proto_tree_add_text(cdp_tree, NullTVB, offset,
real_length, "Port ID: %s",
&pd[offset+4]);
tlv_tree = proto_item_add_subtree(tlvi,
ett_cdp_tlv);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvtype,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB,
offset + TLV_TYPE, 2, type);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvlength,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB,
offset + TLV_LENGTH, 2, length);
- proto_tree_add_text(tlv_tree, offset + 4,
+ proto_tree_add_text(tlv_tree, NullTVB, offset + 4,
real_length - 4,
"Sent through Interface: %s",
&pd[offset+4]);
offset += real_length;
break;
case TYPE_CAPABILITIES:
- tlvi = proto_tree_add_text(cdp_tree, offset,
+ tlvi = proto_tree_add_text(cdp_tree, NullTVB, offset,
length, "Capabilities");
tlv_tree = proto_item_add_subtree(tlvi,
ett_cdp_tlv);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvtype,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB,
offset + TLV_TYPE, 2, type);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvlength,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB,
offset + TLV_LENGTH, 2, length);
offset += 4;
length -= 4;
@@ -220,13 +220,13 @@ dissect_cdp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
offset += length;
break;
case TYPE_IOS_VERSION:
- tlvi = proto_tree_add_text(cdp_tree, offset,
+ tlvi = proto_tree_add_text(cdp_tree, NullTVB, offset,
length, "Software Version");
tlv_tree = proto_item_add_subtree(tlvi,
ett_cdp_tlv);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvtype,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB,
offset + TLV_TYPE, 2, type);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvlength,
+ 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: ",
@@ -238,32 +238,32 @@ dissect_cdp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
stringmem = malloc(length);
memset(stringmem, '\0', length);
memcpy(stringmem, &pd[offset+4], length - 4 );
- tlvi = proto_tree_add_text(cdp_tree,
+ tlvi = proto_tree_add_text(cdp_tree, NullTVB,
offset, length, "Platform: %s",
stringmem);
tlv_tree = proto_item_add_subtree(tlvi,
ett_cdp_tlv);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvtype,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB,
offset + TLV_TYPE, 2, type);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvlength,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB,
offset + TLV_LENGTH, 2, length);
- proto_tree_add_text(tlv_tree, offset + 4,
+ proto_tree_add_text(tlv_tree, NullTVB, offset + 4,
length - 4, "Platform: %s", stringmem);
free(stringmem);
offset+=length;
break;
default:
- tlvi = proto_tree_add_text(cdp_tree, offset,
+ tlvi = proto_tree_add_text(cdp_tree, NullTVB, offset,
length, "Type: %s, length: %u",
type_str, length);
tlv_tree = proto_item_add_subtree(tlvi,
ett_cdp_tlv);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvtype,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvtype, NullTVB,
offset + TLV_TYPE, 2, type);
- proto_tree_add_item(tlv_tree, hf_cdp_tlvlength,
+ proto_tree_add_item(tlv_tree, hf_cdp_tlvlength, NullTVB,
offset + TLV_LENGTH, 2, length);
if (length > 4) {
- proto_tree_add_text(tlv_tree,
+ proto_tree_add_text(tlv_tree, NullTVB,
offset + 4, length - 4, "Data");
} else
return;
@@ -298,10 +298,10 @@ dissect_address_tlv(const u_char *pd, int offset, int length, proto_tree *tree)
if (length < 1)
return -1;
- ti = proto_tree_add_notext(tree, offset, length);
+ ti = proto_tree_add_notext(tree, NullTVB, offset, length);
address_tree = proto_item_add_subtree(ti, ett_cdp_address);
protocol_type = pd[offset];
- proto_tree_add_text(address_tree, offset, 1, "Protocol type: %s",
+ proto_tree_add_text(address_tree, NullTVB, offset, 1, "Protocol type: %s",
val_to_str(protocol_type, proto_type_vals, "Unknown (0x%02x)"));
offset += 1;
length -= 1;
@@ -311,7 +311,7 @@ dissect_address_tlv(const u_char *pd, int offset, int length, proto_tree *tree)
return -1;
}
protocol_length = pd[offset];
- proto_tree_add_text(address_tree, offset, 1, "Protocol length: %u",
+ proto_tree_add_text(address_tree, NullTVB, offset, 1, "Protocol length: %u",
protocol_length);
offset += 1;
length -= 1;
@@ -319,7 +319,7 @@ dissect_address_tlv(const u_char *pd, int offset, int length, proto_tree *tree)
if (length < protocol_length) {
proto_item_set_text(ti, "Truncated address");
if (length != 0) {
- proto_tree_add_text(address_tree, offset, length,
+ proto_tree_add_text(address_tree, NullTVB, offset, length,
"Protocol: %s (truncated)", bytes_to_str(&pd[offset], length));
}
return -1;
@@ -332,7 +332,7 @@ dissect_address_tlv(const u_char *pd, int offset, int length, proto_tree *tree)
nlpid = -1;
if (protocol_str == NULL)
protocol_str = bytes_to_str(&pd[offset], protocol_length);
- proto_tree_add_text(address_tree, offset, protocol_length,
+ proto_tree_add_text(address_tree, NullTVB, offset, protocol_length,
"Protocol: %s", protocol_str);
offset += protocol_length;
length -= protocol_length;
@@ -342,7 +342,7 @@ dissect_address_tlv(const u_char *pd, int offset, int length, proto_tree *tree)
return -1;
}
address_length = pntohs(&pd[offset]);
- proto_tree_add_text(address_tree, offset, 2, "Address length: %u",
+ proto_tree_add_text(address_tree, NullTVB, offset, 2, "Address length: %u",
address_length);
offset += 2;
length -= 2;
@@ -350,7 +350,7 @@ dissect_address_tlv(const u_char *pd, int offset, int length, proto_tree *tree)
if (length < address_length) {
proto_item_set_text(ti, "Truncated address");
if (length != 0) {
- proto_tree_add_text(address_tree, offset, length,
+ proto_tree_add_text(address_tree, NullTVB, offset, length,
"Address: %s (truncated)", bytes_to_str(&pd[offset], length));
}
return -1;
@@ -381,7 +381,7 @@ dissect_address_tlv(const u_char *pd, int offset, int length, proto_tree *tree)
address_str = bytes_to_str(&pd[offset], address_length);
}
proto_item_set_text(ti, "%s: %s", address_type_str, address_str);
- proto_tree_add_text(address_tree, offset, address_length, "%s: %s",
+ proto_tree_add_text(address_tree, NullTVB, offset, address_length, "%s: %s",
address_type_str, address_str);
return 2 + protocol_length + 2 + address_length;
}
@@ -396,34 +396,34 @@ dissect_capabilities(const u_char *pd, int offset, int length, proto_tree *tree)
if (length < 4)
return;
capabilities = pntohl(&pd[offset]);
- ti = proto_tree_add_text(tree, offset, length, "Capabilities: 0x%08x",
+ ti = proto_tree_add_text(tree, NullTVB, offset, length, "Capabilities: 0x%08x",
capabilities);
capabilities_tree = proto_item_add_subtree(ti, ett_cdp_capabilities);
- proto_tree_add_text(capabilities_tree, offset, 4,
+ proto_tree_add_text(capabilities_tree, NullTVB, offset, 4,
decode_boolean_bitfield(capabilities, 0x01, 4*8,
"Performs level 3 routing",
"Doesn't perform level 3 routing"));
- proto_tree_add_text(capabilities_tree, offset, 4,
+ proto_tree_add_text(capabilities_tree, NullTVB, offset, 4,
decode_boolean_bitfield(capabilities, 0x02, 4*8,
"Performs level 2 transparent bridging",
"Doesn't perform level 2 transparent bridging"));
- proto_tree_add_text(capabilities_tree, offset, 4,
+ proto_tree_add_text(capabilities_tree, NullTVB, offset, 4,
decode_boolean_bitfield(capabilities, 0x04, 4*8,
"Performs level 2 source-route bridging",
"Doesn't perform level 2 source-route bridging"));
- proto_tree_add_text(capabilities_tree, offset, 4,
+ proto_tree_add_text(capabilities_tree, NullTVB, offset, 4,
decode_boolean_bitfield(capabilities, 0x08, 4*8,
"Performs level 2 switching",
"Doesn't perform level 2 switching"));
- proto_tree_add_text(capabilities_tree, offset, 4,
+ proto_tree_add_text(capabilities_tree, NullTVB, offset, 4,
decode_boolean_bitfield(capabilities, 0x10, 4*8,
"Sends and receives packets for network-layer protocols",
"Doesn't send or receive packets for network-layer protocols"));
- proto_tree_add_text(capabilities_tree, offset, 4,
+ proto_tree_add_text(capabilities_tree, NullTVB, offset, 4,
decode_boolean_bitfield(capabilities, 0x20, 4*8,
"Doesn't forward IGMP Report packets on nonrouter ports",
"Forwards IGMP Report packets on nonrouter ports"));
- proto_tree_add_text(capabilities_tree, offset, 4,
+ proto_tree_add_text(capabilities_tree, NullTVB, offset, 4,
decode_boolean_bitfield(capabilities, 0x40, 4*8,
"Provides level 1 functionality",
"Doesn't provide level 1 functionality"));
@@ -456,7 +456,7 @@ add_multi_line_string_to_tree(proto_tree *tree, gint start, gint len,
line_len = strlen(p);
data_len = line_len;
}
- proto_tree_add_text(tree, start, data_len, "%s%.*s", prefix,
+ proto_tree_add_text(tree, NullTVB, start, data_len, "%s%.*s", prefix,
line_len, p);
if (q == NULL)
break;
diff --git a/packet-cgmp.c b/packet-cgmp.c
index f07a6908fd..9155aeb682 100644
--- a/packet-cgmp.c
+++ b/packet-cgmp.c
@@ -1,7 +1,7 @@
/* packet-cgmp.c
* Routines for the disassembly of the Cisco Group Management Protocol
*
- * $Id: packet-cgmp.c,v 1.1 2000/02/05 05:54:15 guy Exp $
+ * $Id: packet-cgmp.c,v 1.2 2000/05/11 08:15:04 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -71,32 +71,32 @@ dissect_cgmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str(fd, COL_INFO, "Cisco Group Management Protocol");
if (tree) {
- ti = proto_tree_add_item(tree, proto_cgmp, offset, END_OF_FRAME, NULL);
+ 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, offset, 1,
+ proto_tree_add_item(cgmp_tree, hf_cgmp_version, NullTVB, offset, 1,
pd[offset]);
- proto_tree_add_item(cgmp_tree, hf_cgmp_type, offset, 1,
+ 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, offset, 1,
+ 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, offset, 6,
+ 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, offset, 6,
+ proto_tree_add_item(cgmp_tree, hf_cgmp_usa, NullTVB, offset, 6,
&pd[offset]);
offset += 6;
diff --git a/packet-clip.c b/packet-clip.c
index 18c5ef019a..0760a0c7aa 100644
--- a/packet-clip.c
+++ b/packet-clip.c
@@ -1,7 +1,7 @@
/* packet-clip.c
* Routines for clip packet disassembly
*
- * $Id: packet-clip.c,v 1.5 2000/02/15 21:02:05 gram Exp $
+ * $Id: packet-clip.c,v 1.6 2000/05/11 08:15:04 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -72,9 +72,9 @@ dissect_clip( const u_char *pd, frame_data *fd, proto_tree *tree ) {
it treats the packet as being raw IP with no link-level
header. */
if(tree) {
- ti = proto_tree_add_text(tree, 0, 0, "Classical IP frame" );
+ ti = proto_tree_add_text(tree, NullTVB, 0, 0, "Classical IP frame" );
fh_tree = proto_item_add_subtree(ti, ett_clip);
- proto_tree_add_text(fh_tree, 0, 0, "No link information available");
+ proto_tree_add_text(fh_tree, NullTVB, 0, 0, "No link information available");
}
dissect_ip(pd, 0, fd, tree);
}
diff --git a/packet-clnp.c b/packet-clnp.c
index febb4556e8..93b557fcee 100644
--- a/packet-clnp.c
+++ b/packet-clnp.c
@@ -1,7 +1,7 @@
/* packet-clnp.c
* Routines for ISO/OSI network and transport protocol packet disassembly
*
- * $Id: packet-clnp.c,v 1.6 2000/05/05 09:32:01 guy Exp $
+ * $Id: packet-clnp.c,v 1.7 2000/05/11 08:15:04 gram Exp $
* Laurent Deniel <deniel@worldnet.fr>
* Ralf Schneider <Ralf.Schneider@t-online.de>
*
@@ -272,17 +272,17 @@ static int osi_decode_DR(const u_char *pd, int offset,
src_ref, dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (DR)", tpdu);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
- proto_tree_add_text(cotp_tree, offset + 4, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 2,
"Source reference: 0x%04x", src_ref);
- proto_tree_add_text(cotp_tree, offset + 6, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 6, 1,
"Cause: %s", str);
}
@@ -364,62 +364,62 @@ static gboolean osi_decode_DT(const u_char *pd, int offset,
(fragment)? "(fragment)" : "");
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (DT)", tpdu);
if (li != LI_NORMAL_DT_CLASS_01)
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
switch (li) {
case LI_NORMAL_DT_WITH_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"TPDU number: 0x%02x (%s)",
tpdu_nr,
(fragment)? "fragment":"complete");
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NDT, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NDT + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NDT + 2, length,
"Checksum: 0x%04x", checksum);
break;
case LI_NORMAL_DT_WITHOUT_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"TPDU number: 0x%02x (%s)",
tpdu_nr,
(fragment)? "fragment":"complete");
break;
case LI_EXTENDED_DT_WITH_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"TPDU number: 0x%08x (%s)",
tpdu_nr,
(fragment)? "fragment":"complete");
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EDT, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EDT + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EDT + 2, length,
"Checksum: 0x%04x", checksum);
break;
case LI_EXTENDED_DT_WITHOUT_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"TPDU number: 0x%08x (%s)",
tpdu_nr,
(fragment)? "fragment":"complete");
break;
case LI_NORMAL_DT_CLASS_01 :
- proto_tree_add_text(cotp_tree, offset + 2, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 1,
"TPDU number: 0x%02x (%s)",
tpdu_nr,
(fragment)? "fragment":"complete");
@@ -506,48 +506,48 @@ static int osi_decode_ED(const u_char *pd, int offset,
tpdu_nr, dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (ED)", tpdu);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
switch (li) {
case LI_NORMAL_DT_WITH_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"TPDU number: 0x%02x", tpdu_nr);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NDT, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NDT + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NDT + 2, length,
"Checksum: 0x%04x", checksum);
break;
case LI_NORMAL_DT_WITHOUT_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"TPDU number: 0x%02x", tpdu_nr);
break;
case LI_EXTENDED_DT_WITH_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"TPDU number: 0x%02x", tpdu_nr);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EDT, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EDT + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EDT + 2, length,
"Checksum: 0x%04x", checksum);
break;
case LI_EXTENDED_DT_WITHOUT_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"TPDU number: 0x%02x", tpdu_nr);
break;
}
@@ -587,24 +587,24 @@ static int osi_decode_RJ(const u_char *pd, int offset,
tpdu_nr, dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (RJ)", tpdu);
if (li == LI_NORMAL_RJ)
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"Credit: %u", cdt);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
if (li == LI_NORMAL_RJ)
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"Your TPDU number: 0x%02x", tpdu_nr);
else {
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"Your TPDU number: 0x%02x", tpdu_nr);
- proto_tree_add_text(cotp_tree, offset + 8, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 8, 2,
"Credit: 0x%02x", credit);
}
}
@@ -686,18 +686,18 @@ static int osi_decode_CC(const u_char *pd, int offset,
dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (%s)", tpdu,
(tpdu == CR_TPDU) ? "CR" : "CC");
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
- proto_tree_add_text(cotp_tree, offset + 4, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 2,
"Source reference: 0x%04x", src_ref);
- proto_tree_add_text(cotp_tree, offset + 6, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 6, 1,
"Class option: 0x%02x", class_option);
}
@@ -712,26 +712,26 @@ static int osi_decode_CC(const u_char *pd, int offset,
case VP_CHECKSUM :
length = pd[offset + P_VAR_PART_CC + i + 1];
checksum = EXTRACT_SHORT(&pd[offset + P_VAR_PART_CC + i + 2]);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"Checksum: 0x%04x", checksum);
i += length + 2;
break;
case VP_SRC_TSAP :
length = pd[offset + P_VAR_PART_CC + i + 1];
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (src-tsap)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"Calling TSAP: %s",
print_tsap(&pd[offset + P_VAR_PART_CC + i + 2],
@@ -740,13 +740,13 @@ static int osi_decode_CC(const u_char *pd, int offset,
break;
case VP_DST_TSAP :
length = pd[offset + P_VAR_PART_CC + i + 1];
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (dst-tsap)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"Called TSAP: %s",
print_tsap(&pd[offset + P_VAR_PART_CC + i + 2],
@@ -756,13 +756,13 @@ static int osi_decode_CC(const u_char *pd, int offset,
case VP_TPDU_SIZE :
length = pd[offset + P_VAR_PART_CC + i + 1];
c1 = pd[offset + P_VAR_PART_CC + i + 2] & 0x0F;
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (tpdu-size)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"TPDU size: %u", 2 << c1);
i += length + 2;
@@ -770,45 +770,45 @@ static int osi_decode_CC(const u_char *pd, int offset,
case VP_OPT_SEL :
length = pd[offset + P_VAR_PART_CC + i + 1];
c1 = pd[offset + P_VAR_PART_CC + i + 2] & 0x0F;
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (options)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
if (class_option == 1) {
if (c1 & 0x8)
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Use of network expedited data");
else
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Non use of network expedited data");
if (c1 & 0x4)
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Use of Receipt confirmation");
else
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Use of explicit AK variant");
} else if (class_option == 4) {
if (c1 & 0x2)
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Non-use 16 bit checksum in class 4");
else
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Use 16 bit checksum ");
}
if (c1 & 0x1)
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Use of transport expedited data transfer\n");
else
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 1,
"Non-use of transport expedited data transfer");
i += length + 2;
@@ -816,13 +816,13 @@ static int osi_decode_CC(const u_char *pd, int offset,
case VP_ACK_TIME :
length = pd[offset + P_VAR_PART_CC + i + 1];
s = EXTRACT_SHORT(&pd[offset + P_VAR_PART_CC + i + 2]);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (ack time)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"Ack time (ms): %u", s);
i += length + 2;
@@ -833,22 +833,22 @@ static int osi_decode_CC(const u_char *pd, int offset,
t2 = EXTRACT_LONG(&pd[offset + P_VAR_PART_CC + i + 4]);
t3 = EXTRACT_LONG(&pd[offset + P_VAR_PART_CC + i + 7]);
t4 = EXTRACT_LONG(&pd[offset + P_VAR_PART_CC + i + 10]);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (throughput)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 4,
"Target value / calling-called: %u o/s", t1);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 6, 4,
"Minimum / calling-called: %u o/s", t2);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 10, 4,
"Target value / called-calling: %u o/s", t3);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 14, 4,
"Minimum / called-calling: %u o/s", t4);
i += length + 2;
@@ -859,22 +859,22 @@ static int osi_decode_CC(const u_char *pd, int offset,
s2 = EXTRACT_SHORT(&pd[offset + P_VAR_PART_CC + i + 4]);
s3 = EXTRACT_SHORT(&pd[offset + P_VAR_PART_CC + i + 6]);
s4 = EXTRACT_SHORT(&pd[offset + P_VAR_PART_CC + i + 8]);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (transit delay)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, 2,
"Target value / calling-called: %u ms", s1);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 4, 2,
"Minimum / calling-called: %u ms", s2);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 6, 2,
"Target value / called-calling: %u ms", s3);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 8, 2,
"Minimum / called-calling: %u ms", s4);
i += length + 2;
@@ -882,13 +882,13 @@ static int osi_decode_CC(const u_char *pd, int offset,
case VP_PRIORITY :
length = pd[offset + P_VAR_PART_CC + i + 1];
s = EXTRACT_SHORT(&pd[offset + P_VAR_PART_CC + i + 2]);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (priority)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"Priority: %u", s);
i += length + 2;
@@ -897,13 +897,13 @@ static int osi_decode_CC(const u_char *pd, int offset,
case VP_VERSION_NR :
length = pd[offset + P_VAR_PART_CC + i + 1];
c1 = pd[offset + P_VAR_PART_CC + i + 2];
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i, 1,
"Parameter code: 0x%02x (version)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"Version: %u", c1);
i += length + 2;
@@ -915,13 +915,13 @@ static int osi_decode_CC(const u_char *pd, int offset,
case VP_PROTO_CLASS :
default : /* no decoding */
length = pd[offset + P_VAR_PART_CC + i + 1];
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 0, 1,
"Parameter code: 0x%02x", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_CC + i + 2, length,
"Parameter value: <not shown>");
i += length + 2;
@@ -970,24 +970,24 @@ static int osi_decode_DC(const u_char *pd, int offset,
dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (DC)", tpdu);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
- proto_tree_add_text(cotp_tree, offset + 4, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 2,
"Source reference: 0x%04x", src_ref);
if (code) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_DC + 0, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_DC + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_DC + 2, 2,
"Checksum: 0x%04x", checksum);
}
@@ -1020,17 +1020,17 @@ static int osi_decode_AK(const u_char *pd, int offset,
tpdu_nr, dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (AK)", tpdu);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"Credit: %u", cdt);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"Your TPDU number: 0x%02x", tpdu_nr);
}
@@ -1040,13 +1040,13 @@ static int osi_decode_AK(const u_char *pd, int offset,
length = pd[offset + P_VAR_PART_NAK + i + 1];
checksum = EXTRACT_SHORT(&pd[offset + P_VAR_PART_NAK + i + 2]);
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 0, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 2, 2,
"Checksum: 0x%04x", checksum);
}
@@ -1059,22 +1059,22 @@ static int osi_decode_AK(const u_char *pd, int offset,
r_seq_nr = EXTRACT_SHORT(&pd[offset + P_VAR_PART_NAK + i + 6]);
r_cdt = EXTRACT_SHORT(&pd[offset + P_VAR_PART_NAK + i + 8]);
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 0, 1,
"Parameter code: 0x%02x (flow control)",
code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 2, 4,
"Lower window edge: 0x%08x",
r_lower_window_edge);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 6, 2,
"Sequence number: 0x%04x",
r_seq_nr);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 8, 2,
"Credit: 0x%04x",
r_cdt);
@@ -1085,13 +1085,13 @@ static int osi_decode_AK(const u_char *pd, int offset,
length = pd[offset + P_VAR_PART_NAK + i + 1];
seq_nr = EXTRACT_SHORT(&pd[offset + P_VAR_PART_NAK + i + 2]);
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 0, 1,
"Parameter code: 0x%02x (seq number)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 2, 2,
"Sequence number: 0x%04x", seq_nr);
}
@@ -1100,13 +1100,13 @@ static int osi_decode_AK(const u_char *pd, int offset,
default :
length = pd[offset + P_VAR_PART_NAK + i + 1];
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 0, 1,
"Parameter code: 0x%02x (unknown)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_NAK + i + 2, length,
"Parameter value: <not shown>");
}
@@ -1124,17 +1124,17 @@ static int osi_decode_AK(const u_char *pd, int offset,
tpdu_nr, dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (AK)", tpdu);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"Your TPDU number: 0x%08x", tpdu_nr);
- proto_tree_add_text(cotp_tree, offset + 8, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 8, 2,
"Credit: 0x%04x", cdt_in_ak);
}
@@ -1144,13 +1144,13 @@ static int osi_decode_AK(const u_char *pd, int offset,
length = pd[offset + P_VAR_PART_EAK + i + 1];
checksum = EXTRACT_SHORT(&pd[offset + P_VAR_PART_EAK + i + 2]);
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 0, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 2, 2,
"Checksum: 0x%04x", checksum);
}
@@ -1163,22 +1163,22 @@ static int osi_decode_AK(const u_char *pd, int offset,
r_seq_nr = EXTRACT_SHORT(&pd[offset + P_VAR_PART_EAK + i + 6]);
r_cdt = EXTRACT_SHORT(&pd[offset + P_VAR_PART_EAK + i + 8]);
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 0, 1,
"Parameter code: 0x%02x (flow control)",
code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 2, 4,
"Lower window edge: 0x%08x",
r_lower_window_edge);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 6, 2,
"Sequence number: 0x%04x",
r_seq_nr);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 8, 2,
"Credit: 0x%04x",
r_cdt);
@@ -1189,13 +1189,13 @@ static int osi_decode_AK(const u_char *pd, int offset,
length = pd[offset + P_VAR_PART_EAK + i + 1];
seq_nr = EXTRACT_SHORT(&pd[offset + P_VAR_PART_EAK + i + 2]);
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 0, 1,
"Parameter code: 0x%02x (seq number)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 2, 2,
"Sequence number: 0x%04x", seq_nr);
}
@@ -1204,13 +1204,13 @@ static int osi_decode_AK(const u_char *pd, int offset,
default :
length = pd[offset + P_VAR_PART_EAK + i + 1];
if (tree) {
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 0, 1,
"Parameter code: 0x%02x (unknown)", code);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 1, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree,
+ proto_tree_add_text(cotp_tree, NullTVB,
offset + P_VAR_PART_EAK + i + 2, length,
"Parameter value: <not shown>");
}
@@ -1274,42 +1274,42 @@ static int osi_decode_EA(const u_char *pd, int offset,
"EA TPDU (%u) dst-ref: 0x%04x", tpdu_nr, dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (EA)", tpdu);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
switch (li) {
case LI_NORMAL_EA_WITH_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"Your TPDU number: 0x%02x", tpdu_nr);
- proto_tree_add_text(cotp_tree, offset + 5, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 5, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree, offset + 6, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 6, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree, offset + 7, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 7, 2,
"Checksum: 0x%04x", checksum);
break;
case LI_NORMAL_EA_WITHOUT_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"Your TPDU number: 0x%02x", tpdu_nr);
break;
case LI_EXTENDED_EA_WITH_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"Your TPDU number: 0x%08x", tpdu_nr);
- proto_tree_add_text(cotp_tree, offset + 8, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 8, 1,
"Parameter code: 0x%02x (checksum)", code);
- proto_tree_add_text(cotp_tree, offset + 9, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 9, 1,
"Parameter length: %u", length);
- proto_tree_add_text(cotp_tree, offset + 10, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 10, 2,
"Checksum: 0x%04x", checksum);
break;
case LI_EXTENDED_EA_WITHOUT_CHECKSUM :
- proto_tree_add_text(cotp_tree, offset + 4, 4,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 4,
"Your TPDU number: 0x%08x", tpdu_nr);
break;
default :
@@ -1356,15 +1356,15 @@ static int osi_decode_ER(const u_char *pd, int offset,
col_append_fstr(fd, COL_INFO, "ER TPDU dst-ref: 0x%04x", dst_ref);
if (tree) {
- ti = proto_tree_add_item(tree, proto_cotp, offset, li + 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset, 1,
"Length indicator: %u", li);
- proto_tree_add_text(cotp_tree, offset + 1, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 1, 1,
"TPDU code: 0x%x (ER)", tpdu);
- proto_tree_add_text(cotp_tree, offset + 2, 2,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 2, 2,
"Destination reference: 0x%04x", dst_ref);
- proto_tree_add_text(cotp_tree, offset + 4, 1,
+ proto_tree_add_text(cotp_tree, NullTVB, offset + 4, 1,
"Reject cause: %s", str);
}
@@ -1509,9 +1509,9 @@ static void dissect_clnp(const u_char *pd, int offset, frame_data *fd,
if (check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, "Inactive subset");
if (tree) {
- ti = proto_tree_add_item(tree, proto_clnp, offset, 1, NULL);
+ 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, offset, 1,
+ proto_tree_add_uint_format(clnp_tree, hf_clnp_id, NullTVB, offset, 1,
clnp.cnf_proto_id,
"Inactive subset");
}
@@ -1544,27 +1544,27 @@ static void dissect_clnp(const u_char *pd, int offset, frame_data *fd,
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, offset, clnp.cnf_hdr_len, NULL);
+ 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, offset, 1,
+ 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, offset + 1, 1,
+ 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, offset + 2, 1,
+ 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, offset + 3, 1,
+ proto_tree_add_uint_format(clnp_tree, hf_clnp_ttl, NullTVB, offset + 3, 1,
clnp.cnf_ttl,
"Holding Time : %u (%u secs)",
clnp.cnf_ttl, clnp.cnf_ttl / 2);
- proto_tree_add_uint_format(clnp_tree, hf_clnp_type, offset + 4, 1,
+ proto_tree_add_uint_format(clnp_tree, hf_clnp_type, NullTVB, offset + 4, 1,
clnp.cnf_type,
"PDU Type : 0x%02x (%s%s)",
clnp.cnf_type,
flag_string,
pdu_type_string);
- proto_tree_add_item(clnp_tree, hf_clnp_pdu_length, offset + 5, 2,
+ 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, offset + 7, 2,
+ proto_tree_add_uint_format(clnp_tree, hf_clnp_checksum, NullTVB, offset + 7, 2,
EXTRACT_SHORT(&clnp.cnf_cksum_msb),
"Checksum : 0x%04x",
EXTRACT_SHORT(&clnp.cnf_cksum_msb));
@@ -1588,15 +1588,15 @@ static void dissect_clnp(const u_char *pd, int offset, frame_data *fd,
src_len = pd[offset + dst_len + 1];
if (tree) {
- proto_tree_add_item(clnp_tree, hf_clnp_dest_length, offset, 1,
+ 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, 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,
+ 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,
+ proto_tree_add_bytes_format(clnp_tree, hf_clnp_src, NullTVB,
offset + dst_len + 2, src_len,
&pd[offset + dst_len + 2],
" SA : %s",
@@ -1622,13 +1622,13 @@ static void dissect_clnp(const u_char *pd, int offset, frame_data *fd,
segment_offset = EXTRACT_SHORT(&pd[offset + 2]);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, 2,
+ proto_tree_add_text(clnp_tree, NullTVB, offset, 2,
"Data unit identifier: %06u",
EXTRACT_SHORT(&pd[offset]));
- proto_tree_add_text(clnp_tree, offset + 2 , 2,
+ proto_tree_add_text(clnp_tree, NullTVB, offset + 2 , 2,
"Segment offset : %6u",
segment_offset);
- proto_tree_add_text(clnp_tree, offset + 4 , 2,
+ proto_tree_add_text(clnp_tree, NullTVB, offset + 4 , 2,
"Total length : %6u",
EXTRACT_SHORT(&pd[offset + 4]));
}
@@ -1640,7 +1640,7 @@ static void dissect_clnp(const u_char *pd, int offset, frame_data *fd,
if (tree) {
/* To do : decode options */
/*
- proto_tree_add_text(clnp_tree, offset,
+ proto_tree_add_text(clnp_tree, NullTVB, offset,
clnp.cnf_hdr_len + first_offset - offset,
"Options/Data: <not shown>");
*/
diff --git a/packet-data.c b/packet-data.c
index fadbf405df..924f263649 100644
--- a/packet-data.c
+++ b/packet-data.c
@@ -2,7 +2,7 @@
* Routines for raw data (default case)
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-data.c,v 1.15 2000/03/12 04:47:36 gram Exp $
+ * $Id: packet-data.c,v 1.16 2000/05/11 08:15:05 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -44,7 +44,7 @@ void
dissect_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
if (IS_DATA_IN_FRAME(offset) && tree) {
- proto_tree_add_protocol_format(tree, proto_data, offset,
+ proto_tree_add_protocol_format(tree, proto_data, NullTVB, offset,
END_OF_FRAME, "Data (%d byte%s)", END_OF_FRAME,
plurality(END_OF_FRAME, "", "s"));
}
diff --git a/packet-ddtp.c b/packet-ddtp.c
index 44f8e9ddcd..73a8278369 100644
--- a/packet-ddtp.c
+++ b/packet-ddtp.c
@@ -3,7 +3,7 @@
* see http://ddt.sourceforge.net/
* Olivier Abad <abad@daba.dhis.net>
*
- * $Id: packet-ddtp.c,v 1.2 2000/04/13 21:16:22 oabad Exp $
+ * $Id: packet-ddtp.c,v 1.3 2000/05/11 08:15:05 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -110,33 +110,33 @@ dissect_ddtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str (fd, COL_PROTOCOL, "DDTP");
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_ddtp, offset,
+ 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, offset, END_OF_FRAME-offset, "Frame too short");
+ 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, offset, 4, pntohl(pd+offset));
+ 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, offset, END_OF_FRAME-offset, "Frame too short");
+ 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, offset, 4, pntohl(pd+offset));
+ 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, offset+4, END_OF_FRAME-offset-4, "Frame too short");
+ 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, offset+4, 4, pntohl(pd+offset+4));
+ 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, offset, END_OF_FRAME-offset, "Frame too short");
+ 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, offset, 4, pntohl(pd+offset));
+ 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;
@@ -146,51 +146,51 @@ dissect_ddtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
offset += 4;
if (check_col(fd, COL_INFO)) col_add_str (fd, COL_INFO, "Update Query");
if (!BYTES_ARE_IN_FRAME(offset, 4)) {
- proto_tree_add_text(ddtp_tree, offset, END_OF_FRAME-offset, "Frame too short");
+ 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, offset, 4, pntohl(pd+offset));
+ 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, offset, END_OF_FRAME-offset, "Frame too short");
+ 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, offset, 4, pntohl(pd+offset));
+ proto_tree_add_item(ddtp_tree, hf_ddtp_ipaddr, NullTVB, offset, 4, pntohl(pd+offset));
break;
case DDTP_UPDATE_REPLY :
offset += 4;
if (check_col(fd, COL_INFO)) col_add_str (fd, COL_INFO, "Update Reply");
if (!BYTES_ARE_IN_FRAME(offset, 4)) {
- proto_tree_add_text(ddtp_tree, offset, END_OF_FRAME-offset, "Frame too short");
+ 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, offset, 4, pntohl(pd+offset));
+ proto_tree_add_item(ddtp_tree, hf_ddtp_status, NullTVB, offset, 4, pntohl(pd+offset));
break;
case DDTP_ALIVE_QUERY :
offset += 4;
if (check_col(fd, COL_INFO)) col_add_str (fd, COL_INFO, "Alive Query");
if (!BYTES_ARE_IN_FRAME(offset, 4)) {
- proto_tree_add_text(ddtp_tree, offset, END_OF_FRAME-offset, "Frame too short");
+ proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short");
return;
}
- proto_tree_add_text(ddtp_tree, offset, 4, "Dummy : %u", pntohl(pd+offset));
+ proto_tree_add_text(ddtp_tree, NullTVB, offset, 4, "Dummy : %u", pntohl(pd+offset));
break;
case DDTP_ALIVE_REPLY :
offset += 4;
if (check_col(fd, COL_INFO)) col_add_str (fd, COL_INFO, "Alive Reply");
if (!BYTES_ARE_IN_FRAME(offset, 4)) {
- proto_tree_add_text(ddtp_tree, offset, END_OF_FRAME-offset, "Frame too short");
+ proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short");
return;
}
- proto_tree_add_text(ddtp_tree, offset, 4, "Dummy : %u", pntohl(pd+offset));
+ proto_tree_add_text(ddtp_tree, NullTVB, offset, 4, "Dummy : %u", pntohl(pd+offset));
break;
default :
if (check_col(fd, COL_INFO)) col_add_str (fd, COL_INFO, "Unknwon type");
if (!BYTES_ARE_IN_FRAME(offset, 4)) {
- proto_tree_add_text(ddtp_tree, offset, END_OF_FRAME-offset, "Frame too short");
+ proto_tree_add_text(ddtp_tree, NullTVB, offset, END_OF_FRAME-offset, "Frame too short");
return;
}
- proto_tree_add_text(ddtp_tree, offset, 4, "Unknown type : %u", pntohl(pd+offset));
+ proto_tree_add_text(ddtp_tree, NullTVB, offset, 4, "Unknown type : %u", pntohl(pd+offset));
}
}
}
diff --git a/packet-dns.c b/packet-dns.c
index a1ebf6b6ee..c8e0dac521 100644
--- a/packet-dns.c
+++ b/packet-dns.c
@@ -1,7 +1,7 @@
/* packet-dns.c
* Routines for DNS packet disassembly
*
- * $Id: packet-dns.c,v 1.43 2000/04/26 12:01:50 itojun Exp $
+ * $Id: packet-dns.c,v 1.44 2000/05/11 08:15:05 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -542,17 +542,17 @@ dissect_dns_query(const u_char *pd, int offset, int dns_data_offset,
if (fd != NULL)
col_append_fstr(fd, COL_INFO, " %s %s", type_name, name);
if (dns_tree != NULL) {
- tq = proto_tree_add_text(dns_tree, offset, len, "%s: type %s, class %s",
+ tq = proto_tree_add_text(dns_tree, NullTVB, offset, len, "%s: type %s, class %s",
name, type_name, class_name);
q_tree = proto_item_add_subtree(tq, ett_dns_qd);
- proto_tree_add_text(q_tree, offset, name_len, "Name: %s", name);
+ proto_tree_add_text(q_tree, NullTVB, offset, name_len, "Name: %s", name);
offset += name_len;
- proto_tree_add_text(q_tree, offset, 2, "Type: %s", long_type_name);
+ proto_tree_add_text(q_tree, NullTVB, offset, 2, "Type: %s", long_type_name);
offset += 2;
- proto_tree_add_text(q_tree, offset, 2, "Class: %s", class_name);
+ proto_tree_add_text(q_tree, NullTVB, offset, 2, "Class: %s", class_name);
offset += 2;
}
@@ -568,16 +568,16 @@ add_rr_to_tree(proto_item *trr, int rr_type, int offset, const char *name,
proto_tree *rr_tree;
rr_tree = proto_item_add_subtree(trr, rr_type);
- proto_tree_add_text(rr_tree, offset, namelen, "Name: %s", name);
+ proto_tree_add_text(rr_tree, NullTVB, offset, namelen, "Name: %s", name);
offset += namelen;
- proto_tree_add_text(rr_tree, offset, 2, "Type: %s", type_name);
+ proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Type: %s", type_name);
offset += 2;
- proto_tree_add_text(rr_tree, offset, 2, "Class: %s", class_name);
+ proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Class: %s", class_name);
offset += 2;
- proto_tree_add_text(rr_tree, offset, 4, "Time to live: %s",
+ proto_tree_add_text(rr_tree, NullTVB, offset, 4, "Time to live: %s",
time_secs_to_str(ttl));
offset += 4;
- proto_tree_add_text(rr_tree, offset, 2, "Data length: %u", data_len);
+ proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Data length: %u", data_len);
return rr_tree;
}
@@ -588,22 +588,22 @@ add_opt_rr_to_tree(proto_item *trr, int rr_type, int offset, const char *name,
proto_tree *rr_tree;
rr_tree = proto_item_add_subtree(trr, rr_type);
- proto_tree_add_text(rr_tree, offset, namelen, "Name: %s", name);
+ proto_tree_add_text(rr_tree, NullTVB, offset, namelen, "Name: %s", name);
offset += namelen;
- proto_tree_add_text(rr_tree, offset, 2, "Type: %s", type_name);
+ proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Type: %s", type_name);
offset += 2;
- proto_tree_add_text(rr_tree, offset, 2, "UDP payload size: %u",
+ proto_tree_add_text(rr_tree, NullTVB, offset, 2, "UDP payload size: %u",
class & 0xffff);
offset += 2;
- proto_tree_add_text(rr_tree, offset, 1, "Higher bits in extended RCODE: 0x%x",
+ proto_tree_add_text(rr_tree, NullTVB, offset, 1, "Higher bits in extended RCODE: 0x%x",
(ttl >> 24) & 0xff0);
offset++;
- proto_tree_add_text(rr_tree, offset, 1, "EDNS0 version: %u",
+ proto_tree_add_text(rr_tree, NullTVB, offset, 1, "EDNS0 version: %u",
(ttl >> 16) & 0xff);
offset++;
- proto_tree_add_text(rr_tree, offset, 2, "Must be zero: 0x%x", ttl & 0xffff);
+ proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Must be zero: 0x%x", ttl & 0xffff);
offset += 2;
- proto_tree_add_text(rr_tree, offset, 2, "Data length: %u", data_len);
+ proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Data length: %u", data_len);
return rr_tree;
}
@@ -676,7 +676,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
if (fd != NULL)
col_append_fstr(fd, COL_INFO, " %s", type_name);
if (dns_tree != NULL) {
- trr = proto_tree_add_notext(dns_tree, offset,
+ trr = proto_tree_add_notext(dns_tree, NullTVB, offset,
(dptr - data_start) + data_len);
if (type != T_OPT) {
rr_tree = add_rr_to_tree(trr, ett_dns_rr, offset, name, name_len,
@@ -705,7 +705,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
proto_item_set_text(trr, "%s: type %s, class %s, addr %s",
name, type_name, class_name,
ip_to_str((guint8 *)dptr));
- proto_tree_add_text(rr_tree, cur_offset, 4, "Addr: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Addr: %s",
ip_to_str((guint8 *)dptr));
}
break;
@@ -730,7 +730,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
if (dns_tree != NULL) {
proto_item_set_text(trr, "%s: type %s, class %s, ns %s",
name, type_name, class_name, ns_name);
- proto_tree_add_text(rr_tree, cur_offset, ns_name_len, "Name server: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, ns_name_len, "Name server: %s",
ns_name);
}
}
@@ -756,7 +756,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
if (dns_tree != NULL) {
proto_item_set_text(trr, "%s: type %s, class %s, cname %s",
name, type_name, class_name, cname);
- proto_tree_add_text(rr_tree, cur_offset, cname_len, "Primary name: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, cname_len, "Primary name: %s",
cname);
}
}
@@ -789,7 +789,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
if (dns_tree != NULL) {
proto_item_set_text(trr, "%s: type %s, class %s, mname %s",
name, type_name, class_name, mname);
- proto_tree_add_text(rr_tree, cur_offset, mname_len, "Primary name server: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, mname_len, "Primary name server: %s",
mname);
cur_offset += mname_len;
@@ -798,7 +798,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, rname_len, "Responsible authority's mailbox: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, rname_len, "Responsible authority's mailbox: %s",
rname);
cur_offset += rname_len;
@@ -807,7 +807,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
return 0;
}
serial = pntohl(&pd[cur_offset]);
- proto_tree_add_text(rr_tree, cur_offset, 4, "Serial number: %u",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Serial number: %u",
serial);
cur_offset += 4;
@@ -816,7 +816,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
return 0;
}
refresh = pntohl(&pd[cur_offset]);
- proto_tree_add_text(rr_tree, cur_offset, 4, "Refresh interval: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Refresh interval: %s",
time_secs_to_str(refresh));
cur_offset += 4;
@@ -825,7 +825,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
return 0;
}
retry = pntohl(&pd[cur_offset]);
- proto_tree_add_text(rr_tree, cur_offset, 4, "Retry interval: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Retry interval: %s",
time_secs_to_str(retry));
cur_offset += 4;
@@ -834,7 +834,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
return 0;
}
expire = pntohl(&pd[cur_offset]);
- proto_tree_add_text(rr_tree, cur_offset, 4, "Expiration limit: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Expiration limit: %s",
time_secs_to_str(expire));
cur_offset += 4;
@@ -843,7 +843,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
return 0;
}
minimum = pntohl(&pd[cur_offset]);
- proto_tree_add_text(rr_tree, cur_offset, 4, "Minimum TTL: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Minimum TTL: %s",
time_secs_to_str(minimum));
}
}
@@ -869,7 +869,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
if (dns_tree != NULL) {
proto_item_set_text(trr, "%s: type %s, class %s, ptr %s",
name, type_name, class_name, pname);
- proto_tree_add_text(rr_tree, cur_offset, pname_len, "Domain name: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, pname_len, "Domain name: %s",
pname);
}
break;
@@ -902,19 +902,19 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
proto_item_set_text(trr, "%s: type %s, class %s, addr %s",
name, type_name, class_name,
ip_to_str((guint8 *)dptr));
- proto_tree_add_text(rr_tree, cur_offset, 4, "Addr: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Addr: %s",
ip_to_str((guint8 *)dptr));
cur_offset += 4;
rr_len -= 4;
if (!BYTES_ARE_IN_FRAME(cur_offset, 1)) {
/* We ran past the end of the captured data in the packet. */
- proto_tree_add_text(rr_tree, cur_offset, END_OF_FRAME,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, END_OF_FRAME,
"<Protocol goes past end of captured data in packet>");
return 0;
}
protocol = pd[cur_offset];
- proto_tree_add_text(rr_tree, cur_offset, 1, "Protocol: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Protocol: %s",
ipprotostr(protocol));
cur_offset += 1;
rr_len -= 1;
@@ -923,7 +923,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
while (rr_len != 0) {
if (!BYTES_ARE_IN_FRAME(cur_offset, 1)) {
/* We ran past the end of the captured data in the packet. */
- proto_tree_add_text(rr_tree, cur_offset, END_OF_FRAME,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, END_OF_FRAME,
"<Bit map goes past end of captured data in packet>");
return 0;
}
@@ -954,7 +954,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
mask >>= 1;
port_num++;
}
- proto_tree_add_text(rr_tree, cur_offset, 1,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1,
"Bits: 0x%02x (%s)", bits, bitnames);
} else
port_num += 8;
@@ -1020,9 +1020,9 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
"%s: type %s, class %s, CPU %.*s, OS %.*s",
name, type_name, class_name,
cpu_len, &pd[cpu_offset + 1], os_len, &pd[os_offset + 1]);
- proto_tree_add_text(rr_tree, cpu_offset, 1 + cpu_len, "CPU: %.*s",
+ proto_tree_add_text(rr_tree, NullTVB, cpu_offset, 1 + cpu_len, "CPU: %.*s",
cpu_len, &pd[cpu_offset + 1]);
- proto_tree_add_text(rr_tree, os_offset, 1 + os_len, "OS: %.*s",
+ proto_tree_add_text(rr_tree, NullTVB, os_offset, 1 + os_len, "OS: %.*s",
os_len, &pd[os_offset + 1]);
}
break;
@@ -1061,8 +1061,8 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
proto_item_set_text(trr,
"%s: type %s, class %s, preference %u, mx %s",
name, type_name, class_name, preference, mx_name);
- proto_tree_add_text(rr_tree, cur_offset, 2, "Preference: %u", preference);
- proto_tree_add_text(rr_tree, cur_offset + 2, mx_name_len, "Mail exchange: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2, "Preference: %u", preference);
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset + 2, mx_name_len, "Mail exchange: %s",
mx_name);
}
}
@@ -1082,18 +1082,18 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
while (rr_len != 0) {
if (!BYTES_ARE_IN_FRAME(txt_offset, 1)) {
/* We ran past the end of the captured data in the packet. */
- proto_tree_add_text(rr_tree, txt_offset, END_OF_FRAME,
+ proto_tree_add_text(rr_tree, NullTVB, txt_offset, END_OF_FRAME,
"<String goes past end of captured data in packet>");
return 0;
}
txt_len = pd[txt_offset];
if (!BYTES_ARE_IN_FRAME(txt_offset + 1, txt_len)) {
/* We ran past the end of the captured data in the packet. */
- proto_tree_add_text(rr_tree, txt_offset, END_OF_FRAME,
+ proto_tree_add_text(rr_tree, NullTVB, txt_offset, END_OF_FRAME,
"<String goes past end of captured data in packet>");
return 0;
}
- proto_tree_add_text(rr_tree, txt_offset, 1 + txt_len,
+ proto_tree_add_text(rr_tree, NullTVB, txt_offset, 1 + txt_len,
"Text: %.*s", txt_len, &pd[txt_offset + 1]);
txt_offset += 1 + txt_len;
rr_len -= 1 + txt_len;
@@ -1117,7 +1117,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 2, "Type covered: %s (%s)",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2, "Type covered: %s (%s)",
dns_type_name(pntohs(&pd[cur_offset])),
dns_long_type_name(pntohs(&pd[cur_offset])));
cur_offset += 2;
@@ -1127,7 +1127,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Algorithm: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Algorithm: %s",
val_to_str(pd[cur_offset], algo_vals,
"Unknown (0x%02X)"));
cur_offset += 1;
@@ -1137,7 +1137,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Labels: %u",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Labels: %u",
pd[cur_offset]);
cur_offset += 1;
rr_len -= 1;
@@ -1146,7 +1146,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 4, "Original TTL: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Original TTL: %s",
time_secs_to_str(pntohl(&pd[cur_offset])));
cur_offset += 4;
rr_len -= 4;
@@ -1157,7 +1157,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
}
unixtime.tv_sec = pntohl(&pd[cur_offset]);
unixtime.tv_usec = 0;
- proto_tree_add_text(rr_tree, cur_offset, 4, "Signature expiration: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Signature expiration: %s",
abs_time_to_str(&unixtime));
cur_offset += 4;
rr_len -= 4;
@@ -1168,7 +1168,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
}
unixtime.tv_sec = pntohl(&pd[cur_offset]);
unixtime.tv_usec = 0;
- proto_tree_add_text(rr_tree, cur_offset, 4, "Time signed: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Time signed: %s",
abs_time_to_str(&unixtime));
cur_offset += 4;
rr_len -= 4;
@@ -1177,7 +1177,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 2, "Key footprint: 0x%04x",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2, "Key footprint: 0x%04x",
pntohs(&pd[cur_offset]));
cur_offset += 2;
rr_len -= 2;
@@ -1187,12 +1187,12 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, signer_name_len,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, signer_name_len,
"Signer's name: %s", signer_name);
cur_offset += signer_name_len;
rr_len -= signer_name_len;
- proto_tree_add_text(rr_tree, cur_offset, rr_len, "Signature");
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, rr_len, "Signature");
}
}
break;
@@ -1213,43 +1213,43 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
return 0;
}
flags = pntohs(&pd[cur_offset]);
- tf = proto_tree_add_text(rr_tree, cur_offset, 2, "Flags: 0x%04X", flags);
+ tf = proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2, "Flags: 0x%04X", flags);
flags_tree = proto_item_add_subtree(tf, ett_t_key_flags);
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x8000,
2*8, "Key prohibited for authentication",
"Key allowed for authentication"));
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x4000,
2*8, "Key prohibited for confidentiality",
"Key allowed for confidentiality"));
if ((flags & 0xC000) != 0xC000) {
/* We have a key */
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x2000,
2*8, "Key is experimental or optional",
"Key is required"));
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0400,
2*8, "Key is associated with a user",
"Key is not associated with a user"));
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0200,
2*8, "Key is associated with the named entity",
"Key is not associated with the named entity"));
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0100,
2*8, "This is the zone key for the specified zone",
"This is not a zone key"));
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0080,
2*8, "Key is valid for use with IPSEC",
"Key is not valid for use with IPSEC"));
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_boolean_bitfield(flags, 0x0040,
2*8, "Key is valid for use with MIME security multiparts",
"Key is not valid for use with MIME security multiparts"));
- proto_tree_add_text(flags_tree, cur_offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, cur_offset, 2, "%s",
decode_numeric_bitfield(flags, 0x000F,
2*8, "Signatory = %u"));
}
@@ -1260,7 +1260,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Protocol: %u",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Protocol: %u",
pd[cur_offset]);
cur_offset += 1;
rr_len -= 1;
@@ -1269,13 +1269,13 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Algorithm: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Algorithm: %s",
val_to_str(pd[cur_offset], algo_vals,
"Unknown (0x%02X)"));
cur_offset += 1;
rr_len -= 1;
- proto_tree_add_text(rr_tree, cur_offset, rr_len, "Public key");
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, rr_len, "Public key");
}
}
break;
@@ -1298,7 +1298,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
proto_item_set_text(trr, "%s: type %s, class %s, addr %s",
name, type_name, class_name,
ip6_to_str((struct e_in6_addr *)dptr));
- proto_tree_add_text(rr_tree, cur_offset, 16, "Addr: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 16, "Addr: %s",
ip6_to_str((struct e_in6_addr *)dptr));
}
break;
@@ -1313,7 +1313,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Version: %u", pd[cur_offset]);
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Version: %u", pd[cur_offset]);
if (pd[cur_offset] == 0) {
/* Version 0, the only version RFC 1876 discusses. */
cur_offset++;
@@ -1322,7 +1322,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Size: %g m",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Size: %g m",
rfc1867_size(pd[cur_offset]));
cur_offset++;
@@ -1330,7 +1330,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Horizontal precision: %g m",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Horizontal precision: %g m",
rfc1867_size(pd[cur_offset]));
cur_offset++;
@@ -1338,7 +1338,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 1, "Vertical precision: %g m",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1, "Vertical precision: %g m",
rfc1867_size(pd[cur_offset]));
cur_offset++;
@@ -1346,7 +1346,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 4, "Latitude: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Latitude: %s",
rfc1867_angle(&pd[cur_offset], "NS"));
cur_offset += 4;
@@ -1354,7 +1354,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 4, "Longitude: %s",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Longitude: %s",
rfc1867_angle(&pd[cur_offset], "EW"));
cur_offset += 4;
@@ -1362,10 +1362,10 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
/* We ran past the end of the captured data in the packet. */
return 0;
}
- proto_tree_add_text(rr_tree, cur_offset, 4, "Altitude: %g m",
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4, "Altitude: %g m",
(pntohl(&pd[cur_offset]) - 10000000)/100.0);
} else
- proto_tree_add_text(rr_tree, cur_offset, data_len, "Data");
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, data_len, "Data");
}
break;
}
@@ -1397,7 +1397,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
if (dns_tree != NULL) {
proto_item_set_text(trr, "%s: type %s, class %s, next domain name %s",
name, type_name, class_name, next_domain_name);
- proto_tree_add_text(rr_tree, cur_offset, next_domain_name_len,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, next_domain_name_len,
"Next domain name: %s", next_domain_name);
cur_offset += next_domain_name_len;
rr_len -= next_domain_name_len;
@@ -1405,7 +1405,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
while (rr_len != 0) {
if (!BYTES_ARE_IN_FRAME(cur_offset, 1)) {
/* We ran past the end of the captured data in the packet. */
- proto_tree_add_text(rr_tree, cur_offset, END_OF_FRAME,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, END_OF_FRAME,
"<Bit map goes past end of captured data in packet>");
return 0;
}
@@ -1413,7 +1413,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
mask = 1<<7;
for (i = 0; i < 8; i++) {
if (bits & mask) {
- proto_tree_add_text(rr_tree, cur_offset, 1,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1,
"RR type in bit map: %s (%s)",
dns_type_name(rr_type),
dns_long_type_name(rr_type));
@@ -1431,7 +1431,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
case T_OPT:
if (dns_tree != NULL) {
proto_item_set_text(trr, "%s: type %s", name, type_name);
- proto_tree_add_text(rr_tree, cur_offset, data_len, "Data");
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, data_len, "Data");
}
break;
@@ -1441,7 +1441,7 @@ dissect_dns_answer(const u_char *pd, int offset, int dns_data_offset,
if (dns_tree != NULL) {
proto_item_set_text(trr,
"%s: type %s, class %s", name, type_name, class_name);
- proto_tree_add_text(rr_tree, cur_offset, data_len, "Data");
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, data_len, "Data");
}
break;
}
@@ -1461,7 +1461,7 @@ dissect_query_records(const u_char *pd, int cur_off, int dns_data_offset,
start_off = cur_off;
if (dns_tree) {
- ti = proto_tree_add_text(dns_tree, start_off, 0, "Queries");
+ ti = proto_tree_add_text(dns_tree, NullTVB, start_off, 0, "Queries");
qatree = proto_item_add_subtree(ti, ett_dns_qry);
}
while (count-- > 0) {
@@ -1488,7 +1488,7 @@ dissect_answer_records(const u_char *pd, int cur_off, int dns_data_offset,
start_off = cur_off;
if (dns_tree) {
- ti = proto_tree_add_text(dns_tree, start_off, 0, name);
+ ti = proto_tree_add_text(dns_tree, NullTVB, start_off, 0, name);
qatree = proto_item_add_subtree(ti, ett_dns_ans);
}
while (count-- > 0) {
@@ -1567,17 +1567,17 @@ dissect_dns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_dns, offset, 4,
+ ti = proto_tree_add_protocol_format(tree, proto_dns, NullTVB, offset, 4,
"Domain Name System (%s)", (flags & F_RESPONSE) ? "response" : "query");
dns_tree = proto_item_add_subtree(ti, ett_dns);
if (flags & F_RESPONSE)
- proto_tree_add_item_hidden(dns_tree, hf_dns_response, offset, 4, 1);
+ 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, offset, 4, 1);
+ proto_tree_add_item_hidden(dns_tree, hf_dns_query, NullTVB, offset, 4, 1);
- proto_tree_add_item(dns_tree, hf_dns_transaction_id,
+ 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"));
@@ -1587,66 +1587,66 @@ dissect_dns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
strcat(buf, val_to_str(flags & F_RCODE, rcode_vals,
"Unknown error"));
}
- tf = proto_tree_add_uint_format(dns_tree, hf_dns_flags,
+ tf = proto_tree_add_uint_format(dns_tree, hf_dns_flags, NullTVB,
offset + DNS_FLAGS, 2,
flags,
"Flags: 0x%04x (%s)",
flags, buf);
field_tree = proto_item_add_subtree(tf, ett_dns_flags);
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_boolean_bitfield(flags, F_RESPONSE,
2*8, "Response", "Query"));
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_enumerated_bitfield(flags, F_OPCODE,
2*8, opcode_vals, "%s"));
if (flags & F_RESPONSE) {
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_boolean_bitfield(flags, F_AUTHORITATIVE,
2*8,
"Server is an authority for domain",
"Server isn't an authority for domain"));
}
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_boolean_bitfield(flags, F_TRUNCATED,
2*8,
"Message is truncated",
"Message is not truncated"));
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_boolean_bitfield(flags, F_RECDESIRED,
2*8,
"Do query recursively",
"Don't do query recursively"));
if (flags & F_RESPONSE) {
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_boolean_bitfield(flags, F_RECAVAIL,
2*8,
"Server can do recursive queries",
"Server can't do recursive queries"));
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_boolean_bitfield(flags, F_AUTHENTIC,
2*8,
"Answer/authority portion was autenticated by the server",
"Answer/authority portion was not autenticated by the server"));
}
if ((flags & F_RESPONSE) == 0) {
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_boolean_bitfield(flags, F_CHECKDISABLE,
2*8,
"Non-authenticated data is acceptable",
"Non-authenticated data is unacceptable"));
}
if (flags & F_RESPONSE) {
- proto_tree_add_text(field_tree, offset + DNS_FLAGS, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + DNS_FLAGS, 2, "%s",
decode_enumerated_bitfield(flags, F_RCODE,
2*8, rcode_vals, "%s"));
}
- proto_tree_add_item(dns_tree, hf_dns_count_questions,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(dns_tree, hf_dns_count_add_rr, NullTVB,
offset + DNS_ADD, 2, add);
}
diff --git a/packet-esis.c b/packet-esis.c
index 52ff9d9c0e..2b3980a155 100644
--- a/packet-esis.c
+++ b/packet-esis.c
@@ -2,7 +2,7 @@
* Routines for ISO/OSI End System to Intermediate System
* Routeing Exchange Protocol ISO 9542.
*
- * $Id: packet-esis.c,v 1.2 2000/04/17 01:36:30 guy Exp $
+ * $Id: packet-esis.c,v 1.3 2000/05/11 08:15:07 gram Exp $
* Ralf Schneider <Ralf.Schneider@t-online.de>
*
* Ethereal - Network traffic analyzer
@@ -166,7 +166,7 @@ esis_dissect_unknown(int offset,guint length,proto_tree *tree,frame_data *fd,
}
va_start(ap, fmat);
- proto_tree_add_text(tree, offset, length, fmat, ap);
+ proto_tree_add_text(tree, NullTVB, offset, length, fmat, ap);
va_end(ap);
}
@@ -186,14 +186,14 @@ esis_dissect_esh_pdu( u_char len, const u_char *pd, int offset,
no_sa = pd[offset];
len -= 1;
- ti = proto_tree_add_text( tree, offset++, END_OF_FRAME,
+ ti = proto_tree_add_text( tree, NullTVB, offset++, END_OF_FRAME,
"Number of Source Addresses (SA, Format: NSAP) : %u", no_sa );
esis_area_tree = proto_item_add_subtree( ti, ett_esis_area_addr );
while ( no_sa-- > 0 ) {
sal = (int) pd[offset++];
- proto_tree_add_text(esis_area_tree, offset, 1, "SAL: %2u Octets", sal);
- proto_tree_add_text(esis_area_tree, offset + 1, sal,
+ proto_tree_add_text(esis_area_tree, NullTVB, offset, 1, "SAL: %2u Octets", sal);
+ proto_tree_add_text(esis_area_tree, NullTVB, offset + 1, sal,
" SA: %s", print_nsap_net( &pd[offset], sal ) );
offset += sal;
len -= ( sal + 1 );
@@ -212,10 +212,10 @@ esis_dissect_ish_pdu( u_char len, const u_char *pd, int offset,
offset += ESIS_HDR_FIXED_LENGTH;
netl = (int) pd[ offset ];
- proto_tree_add_text( tree, offset, netl + 1,
+ proto_tree_add_text( tree, NullTVB, offset, netl + 1,
"### Network Entity Titel Section ###");
- proto_tree_add_text( tree, offset++, 1, "NETL: %2u Octets", netl);
- proto_tree_add_text( tree, offset, netl,
+ proto_tree_add_text( tree, NullTVB, offset++, 1, "NETL: %2u Octets", netl);
+ proto_tree_add_text( tree, NullTVB, offset, netl,
" NET: %s", print_nsap_net( &pd[offset], netl ) );
offset += netl;
len -= ( netl + 1 );
@@ -234,35 +234,35 @@ esis_dissect_redirect_pdu( u_char len, const u_char *pd, int offset,
offset += ESIS_HDR_FIXED_LENGTH;
tmpl = (int) pd[ offset ];
- proto_tree_add_text( tree, offset, tmpl + 1,
+ proto_tree_add_text( tree, NullTVB, offset, tmpl + 1,
"### Destination Address Section ###" );
- proto_tree_add_text( tree, offset++, 1, "DAL: %2u Octets", tmpl);
- proto_tree_add_text( tree, offset, tmpl,
+ proto_tree_add_text( tree, NullTVB, offset++, 1, "DAL: %2u Octets", tmpl);
+ proto_tree_add_text( tree, NullTVB, offset, tmpl,
" DA : %s", print_nsap_net( &pd[offset], tmpl ) );
offset += tmpl;
len -= ( tmpl + 1 );
tmpl = (int) pd[ offset ];
- proto_tree_add_text( tree, offset, tmpl + 1,
+ proto_tree_add_text( tree, NullTVB, offset, tmpl + 1,
"### Subnetwork Address Section ###");
- proto_tree_add_text( tree, offset++, 1, "BSNPAL: %2u Octets", tmpl);
- proto_tree_add_text( tree, offset, tmpl,
+ proto_tree_add_text( tree, NullTVB, offset++, 1, "BSNPAL: %2u Octets", tmpl);
+ proto_tree_add_text( tree, NullTVB, offset, tmpl,
" BSNPA: %s", print_system_id( &pd[offset], tmpl ) );
offset += tmpl;
len -= ( tmpl + 1 );
tmpl = (int) pd[ offset ];
if ( 0 == tmpl ) {
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"### No Network Entity Title Section ###" );
offset++;
len--;
}
else {
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"### Network Entity Title Section ###" );
- proto_tree_add_text( tree, offset++, 1, "NETL: %2u Octets", tmpl );
- proto_tree_add_text( tree, offset, tmpl,
+ proto_tree_add_text( tree, NullTVB, offset++, 1, "NETL: %2u Octets", tmpl );
+ proto_tree_add_text( tree, NullTVB, offset, tmpl,
" NET: %s", print_nsap_net( &pd[offset], tmpl ) );
offset += tmpl;
len -= ( tmpl + 1 );
@@ -319,21 +319,21 @@ dissect_esis(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_esis, offset, END_OF_FRAME, NULL );
+ 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, offset, 1, ehdr->esis_nlpi );
- proto_tree_add_item( esis_tree, hf_esis_length,
+ 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, offset + 2, 1,
+ 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, offset + 3, 1,
+ 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,
esis_vals, "Unknown (0x%x)");
- proto_tree_add_uint_format( esis_tree, hf_esis_type, offset + 4, 1,
+ proto_tree_add_uint_format( esis_tree, hf_esis_type, NullTVB, offset + 4, 1,
ehdr->esis_type,
pdu_type_format_string,
pdu_type_string,
@@ -342,13 +342,13 @@ dissect_esis(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
(ehdr->esis_type&BIT_6) ? "1" : "0");
tmp_uint = pntohs( ehdr->esis_holdtime );
- proto_tree_add_uint_format(esis_tree, hf_esis_holdtime, offset + 5, 2,
+ proto_tree_add_uint_format(esis_tree, hf_esis_holdtime, NullTVB, offset + 5, 2,
tmp_uint, "Holding Time : %u seconds",
tmp_uint );
tmp_uint = pntohs( ehdr->esis_checksum );
- proto_tree_add_uint_format( esis_tree, hf_esis_checksum, offset + 7, 2,
+ proto_tree_add_uint_format( esis_tree, hf_esis_checksum, NullTVB, offset + 7, 2,
tmp_uint, "Checksum : 0x%x ( %s )",
tmp_uint, calc_checksum( &pd[offset],
ehdr->esis_length ,
diff --git a/packet-eth.c b/packet-eth.c
index fec20d78e3..3ac60dde14 100644
--- a/packet-eth.c
+++ b/packet-eth.c
@@ -1,7 +1,7 @@
/* packet-eth.c
* Routines for ethernet packet disassembly
*
- * $Id: packet-eth.c,v 1.32 2000/05/05 09:32:02 guy Exp $
+ * $Id: packet-eth.c,v 1.33 2000/05/11 08:15:08 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -195,19 +195,19 @@ dissect_eth(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_eth, offset, ETH_HEADER_SIZE,
+ ti = proto_tree_add_protocol_format(tree, proto_eth, NullTVB, offset, ETH_HEADER_SIZE,
"IEEE 802.3 %s", (ethhdr_type == ETHERNET_802_3 ? "Raw " : ""));
fh_tree = proto_item_add_subtree(ti, ett_ieee8023);
- proto_tree_add_item(fh_tree, hf_eth_dst, offset+0, 6, &pd[offset+0]);
- proto_tree_add_item(fh_tree, hf_eth_src, offset+6, 6, &pd[offset+6]);
+ proto_tree_add_item(fh_tree, hf_eth_dst, NullTVB, offset+0, 6, &pd[offset+0]);
+ proto_tree_add_item(fh_tree, hf_eth_src, NullTVB, offset+6, 6, &pd[offset+6]);
/* add items for eth.addr filter */
- proto_tree_add_item_hidden(fh_tree, hf_eth_addr, offset + 0, 6, &pd[offset+0]);
- proto_tree_add_item_hidden(fh_tree, hf_eth_addr, offset + 6, 6, &pd[offset+6]);
+ proto_tree_add_item_hidden(fh_tree, hf_eth_addr, NullTVB, offset + 0, 6, &pd[offset+0]);
+ proto_tree_add_item_hidden(fh_tree, hf_eth_addr, NullTVB, offset + 6, 6, &pd[offset+6]);
- proto_tree_add_item(fh_tree, hf_eth_len, offset+12, 2, length);
+ proto_tree_add_item(fh_tree, hf_eth_len, NullTVB, offset+12, 2, length);
}
/* Convert the LLC length from the 802.3 header to a total
@@ -226,16 +226,16 @@ dissect_eth(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str(fd, COL_INFO, "Ethernet II");
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_eth, offset, ETH_HEADER_SIZE,
+ ti = proto_tree_add_protocol_format(tree, proto_eth, NullTVB, offset, ETH_HEADER_SIZE,
"Ethernet II");
fh_tree = proto_item_add_subtree(ti, ett_ether2);
- proto_tree_add_item(fh_tree, hf_eth_dst, offset+0, 6, &pd[offset+0]);
- proto_tree_add_item(fh_tree, hf_eth_src, offset+6, 6, &pd[offset+6]);
+ proto_tree_add_item(fh_tree, hf_eth_dst, NullTVB, offset+0, 6, &pd[offset+0]);
+ proto_tree_add_item(fh_tree, hf_eth_src, NullTVB, offset+6, 6, &pd[offset+6]);
/* add items for eth.addr filter */
- proto_tree_add_item_hidden(fh_tree, hf_eth_addr, offset + 0, 6, &pd[offset+0]);
- proto_tree_add_item_hidden(fh_tree, hf_eth_addr, offset + 6, 6, &pd[offset+6]);
+ proto_tree_add_item_hidden(fh_tree, hf_eth_addr, NullTVB, offset + 0, 6, &pd[offset+0]);
+ proto_tree_add_item_hidden(fh_tree, hf_eth_addr, NullTVB, offset + 6, 6, &pd[offset+6]);
}
}
offset += ETH_HEADER_SIZE;
diff --git a/packet-ethertype.c b/packet-ethertype.c
index 5a30edc555..87da8acd43 100644
--- a/packet-ethertype.c
+++ b/packet-ethertype.c
@@ -1,7 +1,7 @@
/* ethertype.c
* Routines for calling the right protocol for the ethertype.
*
- * $Id: packet-ethertype.c,v 1.2 2000/04/13 19:38:55 gram Exp $
+ * $Id: packet-ethertype.c,v 1.3 2000/05/11 08:15:08 gram Exp $
*
* Gilbert Ramirez <gram@xiexie.org>
*
@@ -95,7 +95,7 @@ ethertype(guint16 etype, int offset,
/* Add to proto_tree */
if (tree) {
- proto_tree_add_item(fh_tree, item_id, offset - 2, 2, etype);
+ proto_tree_add_item(fh_tree, item_id, NullTVB, offset - 2, 2, etype);
}
/* Look for sub-dissector */
diff --git a/packet-fddi.c b/packet-fddi.c
index 90f9433558..2e6361f93b 100644
--- a/packet-fddi.c
+++ b/packet-fddi.c
@@ -3,7 +3,7 @@
*
* Laurent Deniel <deniel@worldnet.fr>
*
- * $Id: packet-fddi.c,v 1.29 2000/03/20 22:22:45 gram Exp $
+ * $Id: packet-fddi.c,v 1.30 2000/05/11 08:15:08 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -252,7 +252,8 @@ fddifc_to_str(int fc)
}
}
-void dissect_fddi(const u_char *pd, frame_data *fd, proto_tree *tree,
+void
+dissect_fddi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
gboolean bitswapped)
{
int offset = 0, fc;
@@ -261,23 +262,26 @@ void dissect_fddi(const u_char *pd, frame_data *fd, proto_tree *tree,
gchar *fc_str;
static u_char src[6], dst[6];
u_char src_swapped[6], dst_swapped[6];
+ const u_char *pd;
+ tvbuff_t *next_tvb;
- if (!BYTES_ARE_IN_FRAME(0, FDDI_HEADER_SIZE)) {
- dissect_data(pd, offset, fd, tree);
- return;
- }
+ pinfo->current_proto = "fddi";
+ if (check_col(pinfo->fd, COL_PROTOCOL))
+ col_add_str(pinfo->fd, COL_PROTOCOL, "FDDI");
+ if (check_col(pinfo->fd, COL_INFO))
+ col_add_str(pinfo->fd, COL_INFO, fc_str);
/* Extract the source and destination addresses, possibly bit-swapping
them. */
if (bitswapped) {
- swap_mac_addr(dst, (u_char *)&pd[FDDI_P_DHOST]);
- swap_mac_addr(src, (u_char *)&pd[FDDI_P_SHOST]);
+ swap_mac_addr(dst, (u_char *) tvb_get_ptr(tvb, FDDI_P_DHOST, 6));
+ swap_mac_addr(src, (u_char *) tvb_get_ptr(tvb, FDDI_P_SHOST, 6));
} else {
- memcpy(dst, (u_char *)&pd[FDDI_P_DHOST], sizeof dst);
- memcpy(src, (u_char *)&pd[FDDI_P_SHOST], sizeof src);
+ memcpy(dst, (u_char *) tvb_get_ptr(tvb, FDDI_P_DHOST, 6), sizeof dst);
+ memcpy(src, (u_char *) tvb_get_ptr(tvb, FDDI_P_SHOST, 6), sizeof src);
}
- fc = (int) pd[FDDI_P_FC];
+ fc = (int) tvb_get_guint8(tvb, FDDI_P_FC);
fc_str = fddifc_to_str(fc);
/* XXX - copy them to some buffer associated with "pi", rather than
@@ -287,34 +291,33 @@ void dissect_fddi(const u_char *pd, frame_data *fd, proto_tree *tree,
SET_ADDRESS(&pi.dl_dst, AT_ETHER, 6, &dst[0]);
SET_ADDRESS(&pi.dst, AT_ETHER, 6, &dst[0]);
- if (check_col(fd, COL_PROTOCOL))
- col_add_str(fd, COL_PROTOCOL, "FDDI");
- if (check_col(fd, COL_INFO))
- col_add_str(fd, COL_INFO, fc_str);
-
offset = FDDI_HEADER_SIZE;
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_fddi, 0, offset,
+ ti = proto_tree_add_protocol_format(tree, proto_fddi, tvb, 0, offset,
"Fiber Distributed Data Interface, %s", fc_str);
- swap_mac_addr(dst_swapped, (u_char*)&pd[FDDI_P_DHOST]);
- swap_mac_addr(src_swapped, (u_char*)&pd[FDDI_P_SHOST]);
+ swap_mac_addr(dst_swapped, (u_char*) tvb_get_ptr(tvb, FDDI_P_DHOST, 6));
+ swap_mac_addr(src_swapped, (u_char*) tvb_get_ptr(tvb, FDDI_P_SHOST, 6));
fh_tree = proto_item_add_subtree(ti, ett_fddi);
- proto_tree_add_item(fh_tree, hf_fddi_fc, FDDI_P_FC, 1, fc);
- proto_tree_add_item(fh_tree, hf_fddi_dst, FDDI_P_DHOST, 6, dst);
- proto_tree_add_item(fh_tree, hf_fddi_src, FDDI_P_SHOST, 6, src);
- proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, FDDI_P_DHOST, 6, dst);
- proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, FDDI_P_SHOST, 6, src);
+ proto_tree_add_item(fh_tree, hf_fddi_fc, tvb, FDDI_P_FC, 1, fc);
+ proto_tree_add_item(fh_tree, hf_fddi_dst, tvb, FDDI_P_DHOST, 6, dst);
+ 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_DHOST, 6, dst);
+ 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_dst, FDDI_P_DHOST, 6, dst_swapped);
- proto_tree_add_item_hidden(fh_tree, hf_fddi_src, FDDI_P_SHOST, 6, src_swapped);
- proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, FDDI_P_DHOST, 6, dst_swapped);
- proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, FDDI_P_SHOST, 6, src_swapped);
+ 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_src, tvb, FDDI_P_SHOST, 6, src_swapped);
+ proto_tree_add_item_hidden(fh_tree, hf_fddi_addr, tvb, FDDI_P_DHOST, 6, dst_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);
+ tvb_compat(next_tvb, &pd, &offset);
+
switch (fc) {
/* From now, only 802.2 SNAP (Async. LCC frame) is supported */
@@ -335,11 +338,11 @@ void dissect_fddi(const u_char *pd, frame_data *fd, proto_tree *tree,
case FDDI_FC_LLC_ASYNC + 13 :
case FDDI_FC_LLC_ASYNC + 14 :
case FDDI_FC_LLC_ASYNC + 15 :
- dissect_llc(pd, offset, fd, tree);
+ dissect_llc(pd, offset, pinfo->fd, tree);
return;
default :
- dissect_data(pd, offset, fd, tree);
+ dissect_data(pd, offset, pinfo->fd, tree);
return;
} /* fc */
diff --git a/packet-fddi.h b/packet-fddi.h
index c540c9578d..aa452b821e 100644
--- a/packet-fddi.h
+++ b/packet-fddi.h
@@ -1,6 +1,6 @@
/* packet-fddi.h
*
- * $Id: packet-fddi.h,v 1.1 2000/02/15 21:02:09 gram Exp $
+ * $Id: packet-fddi.h,v 1.2 2000/05/11 08:15:08 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -23,5 +23,4 @@
*/
void capture_fddi(const u_char *, packet_counts *);
-void dissect_fddi(const u_char *pd, frame_data *fd, proto_tree *tree,
- gboolean bitswapped);
+void dissect_fddi(tvbuff_t*, packet_info*, proto_tree*, gboolean bitswapped);
diff --git a/packet-ftp.c b/packet-ftp.c
index 73626931ba..53399885a0 100644
--- a/packet-ftp.c
+++ b/packet-ftp.c
@@ -2,7 +2,7 @@
* Routines for ftp packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-ftp.c,v 1.14 2000/04/15 02:26:17 guy Exp $
+ * $Id: packet-ftp.c,v 1.15 2000/05/11 08:15:08 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -108,31 +108,31 @@ dissect_ftp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_ftp, offset, END_OF_FRAME, NULL);
+ 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,
+ proto_tree_add_item_hidden(ftp_tree, hf_ftp_request, NullTVB,
offset, i1, TRUE);
- proto_tree_add_item_hidden(ftp_tree, hf_ftp_response,
+ 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,
+ proto_tree_add_string_format(ftp_tree, hf_ftp_request_command, NullTVB,
offset, i1, rr, "Request: %s", rr);
- proto_tree_add_string_format(ftp_tree, hf_ftp_request_data,
+ proto_tree_add_string_format(ftp_tree, hf_ftp_request_data, NullTVB,
offset + i1 + 1, END_OF_FRAME,
rd, "Request Arg: %s", rd);
}
else {
- proto_tree_add_item_hidden(ftp_tree, hf_ftp_request,
+ proto_tree_add_item_hidden(ftp_tree, hf_ftp_request, NullTVB,
offset, i1, FALSE);
- proto_tree_add_item_hidden(ftp_tree, hf_ftp_response,
+ 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,
+ proto_tree_add_uint_format(ftp_tree, hf_ftp_response_code, NullTVB,
offset, i1,
atoi(rr), "Response: %s", rr);
- proto_tree_add_string_format(ftp_tree, hf_ftp_response_data,
+ proto_tree_add_string_format(ftp_tree, hf_ftp_response_data, NullTVB,
offset + i1 + 1, END_OF_FRAME,
rd, "Response Arg: %s", rd);
}
@@ -156,7 +156,7 @@ dissect_ftpdata(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_text(tree, offset, END_OF_FRAME,
+ ti = proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME,
"FTP Data: %s",
format_text(&pd[offset], pi.captured_len - offset));
diff --git a/packet-giop.c b/packet-giop.c
index 74328c1e87..8b53eb0c3c 100644
--- a/packet-giop.c
+++ b/packet-giop.c
@@ -3,7 +3,7 @@
*
* Laurent Deniel <deniel@worldnet.fr>
*
- * $Id: packet-giop.c,v 1.12 2000/05/05 09:32:03 guy Exp $
+ * $Id: packet-giop.c,v 1.13 2000/05/11 08:15:09 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -270,25 +270,25 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_giop, offset,
+ 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, offset, 4,
+ proto_tree_add_text(clnp_tree, NullTVB, offset, 4,
"Magic number: %s", GIOP_MAGIC);
- proto_tree_add_text(clnp_tree, offset + 4, 2,
+ proto_tree_add_text(clnp_tree, NullTVB, offset + 4, 2,
"Version: %d.%d",
header.GIOP_version.major,
header.GIOP_version.minor);
switch(minor_version) {
case 1 :
- proto_tree_add_text(clnp_tree, offset + 6, 1,
+ proto_tree_add_text(clnp_tree, NullTVB, offset + 6, 1,
"Flags: 0x%02x (%s%s)",
header.flags,
(big_endian) ? "little" : "big",
(header.flags & 0x02) ? " fragment" : "");
break;
case 0 :
- proto_tree_add_text(clnp_tree, offset + 6, 1,
+ proto_tree_add_text(clnp_tree, NullTVB, offset + 6, 1,
"Byte ordering: %s endian",
(big_endian) ? "little" : "big");
break;
@@ -298,7 +298,7 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
proto_tree_add_uint_format(clnp_tree,
hf_giop_message_type,
- offset + 7, 1,
+ NullTVB, offset + 7, 1,
header.message_type,
"Message type: %s",
(header.message_type == Request) ? "Request" :
@@ -312,7 +312,7 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
proto_tree_add_item(clnp_tree,
hf_giop_message_size,
- offset + 8, 4,
+ NullTVB, offset + 8, 4,
message_size);
} /* tree */
@@ -347,12 +347,12 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(context_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(context_id),
"Context id: %d", context_id);
- proto_tree_add_text(clnp_tree, offset + sizeof(context_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(context_id),
sizeof(sequence_length),
"Sequence length: %d", sequence_length);
- proto_tree_add_text(clnp_tree,
+ proto_tree_add_text(clnp_tree, NullTVB,
offset +
sizeof(context_id) + sizeof(sequence_length),
sequence_length,
@@ -382,13 +382,13 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
request_id = (big_endian)? pntohl(&request_1_1.request_id) :
pletohl(&request_1_1.request_id);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(request_id),
"Request id: %d", request_id);
- proto_tree_add_text(clnp_tree, offset + sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(request_id),
sizeof(request_1_1.response_expected),
"Response expected: %d",
response_expected);
- proto_tree_add_text(clnp_tree, offset + sizeof(request_id) +
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(request_id) +
sizeof(request_1_1.response_expected),
3,
"Reserved");
@@ -402,9 +402,9 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
request_id = (big_endian)? pntohl(&request_1_0.request_id) :
pletohl(&request_1_0.request_id);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(request_id),
"Request id: %d", request_id);
- proto_tree_add_text(clnp_tree, offset + sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(request_id),
sizeof(request_1_0.response_expected),
"Response expected: %d",
response_expected);
@@ -427,9 +427,9 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
pntohl(&pd[offset]) : pletohl(&pd[offset]);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(sequence_length),
"Object key length: %d", sequence_length);
- proto_tree_add_text(clnp_tree, offset + sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(sequence_length),
sequence_length,
"Object key: %s",
print_object_key(sequence_length,
@@ -450,13 +450,13 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(sequence_length),
"Operation length: %d", sequence_length);
- proto_tree_add_text(clnp_tree, offset + sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(sequence_length),
sequence_length,
"Operation: %s",
&pd[offset+sizeof(sequence_length)]);
- proto_tree_add_text(clnp_tree, offset +
+ proto_tree_add_text(clnp_tree, NullTVB, offset +
sizeof(sequence_length)+ sequence_length,
message_size - END_OF_GIOP_MESSAGE -
sizeof(sequence_length) - sequence_length,
@@ -481,9 +481,9 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
pntohl(&reply.reply_status) : pletohl(&reply.reply_status);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(request_id),
"Request id: %d", request_id);
- proto_tree_add_text(clnp_tree, offset + sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(request_id),
sizeof(reply_status),
"Reply status: %s",
reply_status == NO_EXCEPTION ? "no exception" :
@@ -519,9 +519,9 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(sequence_length),
"Exception length: %d", sequence_length);
- proto_tree_add_text(clnp_tree, offset + sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(sequence_length),
sequence_length,
"Exception id: %s",
&pd[offset+sizeof(sequence_length)]);
@@ -537,9 +537,9 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
pletohl(&pd[offset+sizeof(minor_code_value)]);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(minor_code_value),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(minor_code_value),
"Minor code value: %d", minor_code_value);
- proto_tree_add_text(clnp_tree, offset + sizeof(minor_code_value),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(minor_code_value),
sizeof(completion_status),
"Completion Status: %d",
completion_status);
@@ -558,9 +558,9 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(sequence_length),
"Exception length: %d", sequence_length);
- proto_tree_add_text(clnp_tree, offset + sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(sequence_length),
sequence_length,
"Exception id: %s",
&pd[offset+sizeof(sequence_length)]);
@@ -578,9 +578,9 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree && sequence_length) {
- proto_tree_add_text(clnp_tree, offset, sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(sequence_length),
"Exception member length: %d", sequence_length);
- proto_tree_add_text(clnp_tree, offset + sizeof(sequence_length),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(sequence_length),
sequence_length,
"Exception member: %s",
&pd[offset+sizeof(sequence_length)]);
@@ -592,7 +592,7 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
else {
if (tree) {
- proto_tree_add_text(clnp_tree, offset,
+ proto_tree_add_text(clnp_tree, NullTVB, offset,
message_size - END_OF_GIOP_MESSAGE,
"Reply body: <not shown>");
}
@@ -612,13 +612,13 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
pletohl(&pd[offset+sizeof(request_id)]);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(request_id),
"Request id: %d", request_id);
- proto_tree_add_text(clnp_tree, offset + sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(request_id),
sizeof(sequence_length),
"Object key length: %d", sequence_length);
offset += sizeof(request_id) + sizeof(sequence_length);
- proto_tree_add_text(clnp_tree,
+ proto_tree_add_text(clnp_tree, NullTVB,
offset,
sequence_length,
"Object key: %s",
@@ -641,14 +641,14 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
pntohl(&locate_rep.locate_status) : pletohl(&locate_rep.locate_status);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(request_id),
"Request id: %d", request_id);
- proto_tree_add_text(clnp_tree, offset + sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset + sizeof(request_id),
sizeof(locate_status),
"Locate status: %d", locate_status);
offset += sizeof(request_id) + sizeof(locate_status);
if (locate_status == OBJECT_FORWARD) {
- proto_tree_add_text(clnp_tree, offset,
+ proto_tree_add_text(clnp_tree, NullTVB, offset,
message_size - END_OF_GIOP_MESSAGE,
"Locate reply body: <not shown>");
}
@@ -670,7 +670,7 @@ dissect_giop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
pntohl(&pd[offset]) : pletohl(&pd[offset]);
if (tree) {
- proto_tree_add_text(clnp_tree, offset, sizeof(request_id),
+ proto_tree_add_text(clnp_tree, NullTVB, offset, sizeof(request_id),
"Request id: %d", request_id);
}
diff --git a/packet-gre.c b/packet-gre.c
index 985f0aa479..41f9bafaeb 100644
--- a/packet-gre.c
+++ b/packet-gre.c
@@ -2,7 +2,7 @@
* Routines for the Generic Routing Encapsulation (GRE) protocol
* Brad Robel-Forrest <brad.robel-forrest@watchguard.com>
*
- * $Id: packet-gre.c,v 1.18 2000/04/16 22:46:18 guy Exp $
+ * $Id: packet-gre.c,v 1.19 2000/05/11 08:15:09 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -120,7 +120,7 @@ dissect_gre(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
break;
}
- ti = proto_tree_add_protocol_format(tree, proto_gre, offset, len,
+ ti = proto_tree_add_protocol_format(tree, proto_gre, NullTVB, offset, len,
"Generic Routing Encapsulation (%s)",
val_to_str(type, typevals, "0x%04X - unknown"));
gre_tree = proto_item_add_subtree(ti, ett_gre);
@@ -128,19 +128,19 @@ dissect_gre(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
offset += sizeof(flags_and_ver);
- proto_tree_add_item(gre_tree, hf_gre_proto, offset, sizeof(type), type);
+ 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) {
guint16 checksum = pntohs(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(checksum),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(checksum),
"Checksum: %u", checksum);
offset += sizeof(checksum);
}
if (flags_and_ver & GH_B_C || flags_and_ver & GH_B_R) {
guint16 rtoffset = pntohs(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(rtoffset),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(rtoffset),
"Offset: %u", rtoffset);
offset += sizeof(rtoffset);
}
@@ -151,18 +151,18 @@ dissect_gre(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
guint16 callid;
paylen = pntohs(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(paylen),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(paylen),
"Payload length: %u", paylen);
offset += sizeof(paylen);
callid = pntohs(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(callid),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(callid),
"Call ID: %u", callid);
offset += sizeof(callid);
}
else {
guint32 key = pntohl(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(key),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(key),
"Key: %u", key);
offset += sizeof(key);
}
@@ -170,14 +170,14 @@ dissect_gre(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (flags_and_ver & GH_B_S) {
guint32 seqnum = pntohl(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(seqnum),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(seqnum),
"Sequence number: %u", seqnum);
offset += sizeof(seqnum);
}
if (is_ppp && flags_and_ver & GH_P_A) {
guint32 acknum = pntohl(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(acknum),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(acknum),
"Acknowledgement number: %u", acknum);
offset += sizeof(acknum);
}
@@ -185,13 +185,13 @@ dissect_gre(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (flags_and_ver & GH_B_R) {
for (;;) {
sre_af = pntohs(pd + offset);
- proto_tree_add_text(gre_tree, offset, sizeof(guint16),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(guint16),
"Address family: %u", sre_af);
offset += sizeof(guint16);
- proto_tree_add_text(gre_tree, offset, 1,
+ proto_tree_add_text(gre_tree, NullTVB, offset, 1,
"SRE offset: %u", pd[offset++]);
sre_length = pd[offset];
- proto_tree_add_text(gre_tree, offset, sizeof(guint8),
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(guint8),
"SRE length: %u", sre_length);
offset += sizeof(guint8);
if (sre_af == 0 && sre_length == 0)
@@ -209,7 +209,7 @@ dissect_gre(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
break;
case GRE_WCCP:
if (is_wccp2) {
- proto_tree_add_text(gre_tree, offset, sizeof(guint32), "WCCPv2 Data");
+ proto_tree_add_text(gre_tree, NullTVB, offset, sizeof(guint32), "WCCPv2 Data");
offset += 4;
}
dissect_ip(pd, offset, fd, tree);
@@ -228,43 +228,43 @@ add_flags_and_ver(proto_tree *tree, guint16 flags_and_ver, int offset, int is_pp
proto_tree * fv_tree;
int nbits = sizeof(flags_and_ver) * 8;
- ti = proto_tree_add_text(tree, offset, 2,
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2,
"Flags and version: %#04x", flags_and_ver);
fv_tree = proto_item_add_subtree(ti, ett_gre_flags);
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_boolean_bitfield(flags_and_ver, GH_B_C, nbits,
"Checksum", "No checksum"));
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_boolean_bitfield(flags_and_ver, GH_B_R, nbits,
"Routing", "No routing"));
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_boolean_bitfield(flags_and_ver, GH_B_K, nbits,
"Key", "No key"));
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_boolean_bitfield(flags_and_ver, GH_B_S, nbits,
"Sequence number", "No sequence number"));
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_boolean_bitfield(flags_and_ver, GH_B_s, nbits,
"Strict source route", "No strict source route"));
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_numeric_bitfield(flags_and_ver, GH_B_RECUR, nbits,
"Recursion control: %u"));
if (is_ppp) {
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_boolean_bitfield(flags_and_ver, GH_P_A, nbits,
"Acknowledgment number", "No acknowledgment number"));
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_numeric_bitfield(flags_and_ver, GH_P_FLAGS, nbits,
"Flags: %u"));
}
else {
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_numeric_bitfield(flags_and_ver, GH_R_FLAGS, nbits,
"Flags: %u"));
}
- proto_tree_add_text(fv_tree, offset, sizeof(flags_and_ver), "%s",
+ proto_tree_add_text(fv_tree, NullTVB, offset, sizeof(flags_and_ver), "%s",
decode_numeric_bitfield(flags_and_ver, GH_B_VER, nbits,
"Version: %u"));
}
diff --git a/packet-h1.c b/packet-h1.c
index ec5d8999b5..f42eef18d7 100644
--- a/packet-h1.c
+++ b/packet-h1.c
@@ -2,7 +2,7 @@
* Routines for Sinec H1 packet disassembly
* Gerrit Gehnen <G.Gehnen@atrie.de>
*
- * $Id: packet-h1.c,v 1.7 2000/05/08 17:19:42 guy Exp $
+ * $Id: packet-h1.c,v 1.8 2000/05/11 08:15:09 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -122,11 +122,11 @@ dissect_h1 (const u_char * pd, int offset, frame_data * fd, proto_tree * tree)
col_add_str (fd, COL_INFO, "S5: ");
if (tree)
{
- ti = proto_tree_add_item (tree, proto_h1, offset, 16, NULL);
+ 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, offset, 2,
+ 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, offset + 2, 1,
+ proto_tree_add_item (h1_tree, hf_h1_len, NullTVB, offset + 2, 1,
pd[offset + 2]);
}
@@ -137,15 +137,15 @@ dissect_h1 (const u_char * pd, int offset, frame_data * fd, proto_tree * tree)
case OPCODE_BLOCK:
if (h1_tree)
{
- ti = proto_tree_add_item (h1_tree, hf_h1_opfield,
+ 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,
+ 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,
+ proto_tree_add_item (opcode_tree, hf_h1_opcode, NullTVB,
offset + position + 2, 1,
pd[offset + position + 2]);
}
@@ -159,25 +159,25 @@ dissect_h1 (const u_char * pd, int offset, frame_data * fd, proto_tree * tree)
case REQUEST_BLOCK:
if (h1_tree)
{
- ti = proto_tree_add_item (h1_tree, hf_h1_requestblock,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item (org_tree, hf_h1_dlen, NullTVB,
offset + position + 6, 2,
pd[offset + position + 6] * 0x100 +
pd[offset + position + 7]);
@@ -199,15 +199,15 @@ dissect_h1 (const u_char * pd, int offset, frame_data * fd, proto_tree * tree)
case RESPONSE_BLOCK:
if (h1_tree)
{
- ti = proto_tree_add_item (h1_tree, hf_h1_response,
+ 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,
+ 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,
+ proto_tree_add_item (response_tree, hf_h1_response_value, NullTVB,
offset + position + 2, 1,
pd[offset + position + 2]);
}
@@ -221,13 +221,13 @@ dissect_h1 (const u_char * pd, int offset, frame_data * fd, proto_tree * tree)
case EMPTY_BLOCK:
if (h1_tree)
{
- ti = proto_tree_add_item (h1_tree, hf_h1_empty,
+ 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,
+ proto_tree_add_item (empty_tree, hf_h1_empty_len, NullTVB,
offset + position + 1, 1,
pd[offset + position + 1]);
}
diff --git a/packet-hsrp.c b/packet-hsrp.c
index 3babf80907..5ae1390d82 100644
--- a/packet-hsrp.c
+++ b/packet-hsrp.c
@@ -4,7 +4,7 @@
*
* Heikki Vatiainen <hessu@cs.tut.fi>
*
- * $Id: packet-hsrp.c,v 1.3 2000/04/08 07:07:17 guy Exp $
+ * $Id: packet-hsrp.c,v 1.4 2000/05/11 08:15:10 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -120,31 +120,31 @@ dissect_hsrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
return;
}
- ti = proto_tree_add_item(tree, proto_hsrp, offset, END_OF_FRAME, NULL);
+ 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, offset++, 1, "Version: %u", hsrp.version);
- proto_tree_add_text(hsrp_tree, offset++, 1, "Opcode: %u (%s)", hsrp.opcode,
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Version: %u", hsrp.version);
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Opcode: %u (%s)", hsrp.opcode,
val_to_str(hsrp.opcode, hsrp_opcode_vals, "Unknown"));
- proto_tree_add_text(hsrp_tree, offset++, 1, "State: %u (%s)", hsrp.state,
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "State: %u (%s)", hsrp.state,
val_to_str(hsrp.state, hsrp_state_vals, "Unknown"));
- proto_tree_add_text(hsrp_tree, offset++, 1, "Hellotime: %u second%s (%sdefault)",
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Hellotime: %u second%s (%sdefault)",
hsrp.hellotime, plurality(hsrp.hellotime, "", "s"),
(hsrp.hellotime == HSRP_DEFAULT_HELLOTIME) ? "" : "non-");
- proto_tree_add_text(hsrp_tree, offset++, 1, "Holdtime: %u second%s (%sdefault)",
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Holdtime: %u second%s (%sdefault)",
hsrp.holdtime, plurality(hsrp.holdtime, "", "s"),
(hsrp.holdtime == HSRP_DEFAULT_HOLDTIME) ? "" : "non-");
- proto_tree_add_text(hsrp_tree, offset++, 1, "Priority: %u", hsrp.priority);
- proto_tree_add_text(hsrp_tree, offset++, 1, "Group: %u", hsrp.group);
- proto_tree_add_text(hsrp_tree, offset++, 1, "Reserved: 0x%x", hsrp.reserved);
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Priority: %u", hsrp.priority);
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Group: %u", hsrp.group);
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 1, "Reserved: 0x%x", hsrp.reserved);
memcpy(auth_buf, hsrp.auth_data, sizeof(hsrp.auth_data));
auth_buf[sizeof(auth_buf)] = '\0';
- proto_tree_add_text(hsrp_tree, offset, 8, "Authentication Data: `%s'", auth_buf);
+ proto_tree_add_text(hsrp_tree, NullTVB, offset, 8, "Authentication Data: `%s'", auth_buf);
offset+=8;
- proto_tree_add_text(hsrp_tree, offset++, 4, "Virtual IP address: %s",
+ proto_tree_add_text(hsrp_tree, NullTVB, offset++, 4, "Virtual IP address: %s",
ip_to_str((guint8 *)&hsrp.virt_ip_addr));
}
diff --git a/packet-http.c b/packet-http.c
index 085e6bb8b1..50d9f9c458 100644
--- a/packet-http.c
+++ b/packet-http.c
@@ -3,7 +3,7 @@
*
* Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-http.c,v 1.17 2000/04/08 07:07:17 guy Exp $
+ * $Id: packet-http.c,v 1.18 2000/05/11 08:15:10 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -92,7 +92,7 @@ void dissect_http(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_http, offset, END_OF_FRAME, NULL);
+ 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) {
@@ -180,7 +180,7 @@ void dissect_http(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
/*
* Put this line.
*/
- proto_tree_add_text(http_tree, offset, linelen, "%s",
+ proto_tree_add_text(http_tree, NullTVB, offset, linelen, "%s",
format_text(data, linelen));
offset += linelen;
data = lineend;
@@ -190,12 +190,12 @@ void dissect_http(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
case HTTP_RESPONSE:
proto_tree_add_item_hidden(http_tree,
- hf_http_response, 0, 0, 1);
+ hf_http_response, NullTVB, 0, 0, 1);
break;
case HTTP_REQUEST:
proto_tree_add_item_hidden(http_tree,
- hf_http_request, 0, 0, 1);
+ hf_http_request, NullTVB, 0, 0, 1);
break;
case HTTP_OTHERS:
diff --git a/packet-icmpv6.c b/packet-icmpv6.c
index 6f6125e28f..2623a46b33 100644
--- a/packet-icmpv6.c
+++ b/packet-icmpv6.c
@@ -1,7 +1,7 @@
/* packet-icmpv6.c
* Routines for ICMPv6 packet disassembly
*
- * $Id: packet-icmpv6.c,v 1.15 2000/04/20 07:05:53 guy Exp $
+ * $Id: packet-icmpv6.c,v 1.16 2000/05/11 08:15:10 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -92,7 +92,7 @@ again:
len = opt->nd_opt_len << 3;
/* !!! specify length */
- ti = proto_tree_add_text(tree, offset, len, "ICMPv6 options");
+ ti = proto_tree_add_text(tree, NullTVB, offset, len, "ICMPv6 options");
icmp6opt_tree = proto_item_add_subtree(ti, ett_icmpv6opt);
switch (opt->nd_opt_type) {
@@ -116,10 +116,10 @@ again:
break;
}
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + offsetof(struct nd_opt_hdr, nd_opt_type), 1,
"Type: 0x%02x (%s)", opt->nd_opt_type, typename);
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + offsetof(struct nd_opt_hdr, nd_opt_len), 1,
"Length: %d bytes (0x%02x)", opt->nd_opt_len << 3, opt->nd_opt_len);
@@ -140,7 +140,7 @@ again:
t[i * 3 - 1] = ':';
sprintf(&t[i * 3], "%02x", p[i] & 0xff);
}
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + sizeof(*opt), len, "Link-layer address: %s", t);
break;
}
@@ -148,36 +148,36 @@ again:
{
struct nd_opt_prefix_info *pi = (struct nd_opt_prefix_info *)opt;
int flagoff;
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_prefix_len),
1, "Prefix length: %d", pi->nd_opt_pi_prefix_len);
flagoff = offsetof(struct nd_opt_prefix_info, nd_opt_pi_flags_reserved);
- tf = proto_tree_add_text(icmp6opt_tree, flagoff, 1, "Flags: 0x%02x",
+ tf = proto_tree_add_text(icmp6opt_tree, NullTVB, flagoff, 1, "Flags: 0x%02x",
pntohl(&pi->nd_opt_pi_flags_reserved));
field_tree = proto_item_add_subtree(tf, ett_icmpv6flag);
- proto_tree_add_text(field_tree, flagoff, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pi->nd_opt_pi_flags_reserved,
0x80, 8, "Onlink", "Not onlink"));
- proto_tree_add_text(field_tree, flagoff, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pi->nd_opt_pi_flags_reserved,
0x40, 8, "Auto", "Not auto"));
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_valid_time),
4, "Valid lifetime: 0x%08x",
pntohl(&pi->nd_opt_pi_valid_time));
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_preferred_time),
4, "Preferred lifetime: 0x%08x",
pntohl(&pi->nd_opt_pi_preferred_time));
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + offsetof(struct nd_opt_prefix_info, nd_opt_pi_prefix),
16, "Prefix: %s", ip6_to_str(&pi->nd_opt_pi_prefix));
break;
}
case ND_OPT_REDIRECTED_HEADER:
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + 8, (opt->nd_opt_len << 3) - 8, "Redirected packet");
/* tiny sanity check */
if ((pd[offset + 8] & 0xf0) == 0x60)
@@ -188,7 +188,7 @@ again:
case ND_OPT_MTU:
{
struct nd_opt_mtu *pi = (struct nd_opt_mtu *)opt;
- proto_tree_add_text(icmp6opt_tree,
+ proto_tree_add_text(icmp6opt_tree, NullTVB,
offset + offsetof(struct nd_opt_mtu, nd_opt_mtu_mtu), 4,
"MTU: %d", pntohl(&pi->nd_opt_mtu_mtu));
break;
@@ -345,20 +345,20 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
/* !!! specify length */
- ti = proto_tree_add_item(tree, proto_icmpv6, offset, len, NULL);
+ 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,
+ proto_tree_add_uint_format(icmp6_tree, hf_icmpv6_type, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_type), 1,
dp->icmp6_type,
"Type: 0x%02x (%s)", dp->icmp6_type, typename);
if (codename) {
- proto_tree_add_uint_format(icmp6_tree, hf_icmpv6_code,
+ proto_tree_add_uint_format(icmp6_tree, hf_icmpv6_code, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_code), 1,
dp->icmp6_code,
"Code: 0x%02x (%s)", dp->icmp6_code, codename);
}
- proto_tree_add_item(icmp6_tree, hf_icmpv6_checksum,
+ proto_tree_add_item(icmp6_tree, hf_icmpv6_checksum, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_cksum), 2,
(guint16)htons(dp->icmp6_cksum));
@@ -374,7 +374,7 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
break;
case ICMP6_PACKET_TOO_BIG:
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_mtu), 4,
"MTU: %d", pntohl(&dp->icmp6_mtu));
/* tiny sanity check */
@@ -385,7 +385,7 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
break;
case ICMP6_PARAM_PROB:
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_pptr), 4,
"Problem pointer: 0x%04x", pntohl(&dp->icmp6_pptr));
/* tiny sanity check */
@@ -397,10 +397,10 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
case ICMP6_ECHO_REQUEST:
case ICMP6_ECHO_REPLY:
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_id), 2,
"ID: 0x%04x", (guint16)ntohs(dp->icmp6_id));
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_seq), 2,
"Sequence: 0x%04x", (guint16)ntohs(dp->icmp6_seq));
dissect_data(pd, offset + sizeof(*dp), fd, icmp6_tree);
@@ -408,11 +408,11 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case ICMP6_MEMBERSHIP_QUERY:
case ICMP6_MEMBERSHIP_REPORT:
case ICMP6_MEMBERSHIP_REDUCTION:
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_hdr, icmp6_maxdelay), 2,
"Maximum response delay: %d",
(guint16)ntohs(dp->icmp6_maxdelay));
- proto_tree_add_text(icmp6_tree, offset + sizeof(*dp), 16,
+ proto_tree_add_text(icmp6_tree, NullTVB, offset + sizeof(*dp), 16,
"Multicast Address: %s",
ip6_to_str((struct e_in6_addr *)(dp + 1)));
break;
@@ -425,29 +425,29 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
int flagoff;
guint32 ra_flags;
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct nd_router_advert, nd_ra_curhoplimit),
1, "Cur hop limit: %d", ra->nd_ra_curhoplimit);
flagoff = offset + offsetof(struct nd_router_advert, nd_ra_flags_reserved);
ra_flags = pntohl(&pd[flagoff]);
- tf = proto_tree_add_text(icmp6_tree, flagoff, 4, "Flags: 0x%08x", ra_flags);
+ tf = proto_tree_add_text(icmp6_tree, NullTVB, flagoff, 4, "Flags: 0x%08x", ra_flags);
field_tree = proto_item_add_subtree(tf, ett_icmpv6flag);
- proto_tree_add_text(field_tree, flagoff, 4, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 4, "%s",
decode_boolean_bitfield(ra_flags,
0x80000000, 32, "Managed", "Not managed"));
- proto_tree_add_text(field_tree, flagoff, 4, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 4, "%s",
decode_boolean_bitfield(ra_flags,
0x40000000, 32, "Other", "Not other"));
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct nd_router_advert, nd_ra_router_lifetime),
2, "Router lifetime: %d",
(guint16)ntohs(ra->nd_ra_router_lifetime));
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct nd_router_advert, nd_ra_reachable), 4,
"Reachable time: %d", pntohl(&ra->nd_ra_reachable));
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct nd_router_advert, nd_ra_retransmit), 4,
"Retrans time: %d", pntohl(&ra->nd_ra_retransmit));
dissect_icmpv6opt(pd, offset + sizeof(struct nd_router_advert), fd, icmp6_tree);
@@ -457,7 +457,7 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
struct nd_neighbor_solicit *ns = (struct nd_neighbor_solicit *)dp;
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct nd_neighbor_solicit, nd_ns_target), 16,
#ifdef INET6
"Target: %s (%s)",
@@ -479,21 +479,21 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
flagoff = offset + offsetof(struct nd_neighbor_advert, nd_na_flags_reserved);
na_flags = pntohl(&pd[flagoff]);
- tf = proto_tree_add_text(icmp6_tree, flagoff, 4, "Flags: 0x%08x", na_flags);
+ tf = proto_tree_add_text(icmp6_tree, NullTVB, flagoff, 4, "Flags: 0x%08x", na_flags);
field_tree = proto_item_add_subtree(tf, ett_icmpv6flag);
- proto_tree_add_text(field_tree, flagoff, 4, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 4, "%s",
decode_boolean_bitfield(na_flags,
0x80000000, 32, "Router", "Not router"));
- proto_tree_add_text(field_tree, flagoff, 4, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 4, "%s",
decode_boolean_bitfield(na_flags,
0x40000000, 32, "Solicited", "Not adverted"));
- proto_tree_add_text(field_tree, flagoff, 4, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 4, "%s",
decode_boolean_bitfield(na_flags,
0x20000000, 32, "Override", "Not override"));
targetoff = offset + offsetof(struct nd_neighbor_advert, nd_na_target);
na_target_p = (struct e_in6_addr*) &pd[targetoff];
- proto_tree_add_text(icmp6_tree, targetoff, 16,
+ proto_tree_add_text(icmp6_tree, NullTVB, targetoff, 16,
#ifdef INET6
"Target: %s (%s)",
get_hostname6(na_target_p),
@@ -509,7 +509,7 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
struct nd_redirect *rd = (struct nd_redirect *)dp;
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct nd_redirect, nd_rd_target), 16,
#ifdef INET6
"Target: %s (%s)",
@@ -519,7 +519,7 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
#endif
ip6_to_str(&rd->nd_rd_target));
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct nd_redirect, nd_rd_dst), 16,
#ifdef INET6
"Destination: %s (%s)",
@@ -536,35 +536,35 @@ dissect_icmpv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
struct icmp6_router_renum *rr = (struct icmp6_router_renum *)dp;
int flagoff;
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_router_renum, rr_seqnum), 4,
/*"Sequence number: 0x%08x", (u_int32_t)htonl(rr->rr_seqnum));*/
"Sequence number: 0x%08x", pntohl(&rr->rr_seqnum));
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_router_renum, rr_segnum), 1,
"Segment number: 0x%02x", rr->rr_segnum);
flagoff = offset + offsetof(struct icmp6_router_renum, rr_segnum) + 1;
- tf = proto_tree_add_text(icmp6_tree, flagoff, 4, "Flags: 0x%08x",
+ tf = proto_tree_add_text(icmp6_tree, NullTVB, flagoff, 4, "Flags: 0x%08x",
pd[flagoff]);
field_tree = proto_item_add_subtree(tf, ett_icmpv6flag);
- proto_tree_add_text(field_tree, flagoff, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pd[flagoff], 0x80, 8,
"Test command", "Not test command"));
- proto_tree_add_text(field_tree, flagoff, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pd[flagoff], 0x40, 8,
"Result requested", "Result not requested"));
- proto_tree_add_text(field_tree, flagoff, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pd[flagoff], 0x20, 8,
"All interfaces", "Not all interfaces"));
- proto_tree_add_text(field_tree, flagoff, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pd[flagoff], 0x10, 8,
"Site specific", "Not site specific"));
- proto_tree_add_text(field_tree, flagoff, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pd[flagoff], 0x08, 8,
"Processed previously", "Complete result"));
- proto_tree_add_text(icmp6_tree,
+ proto_tree_add_text(icmp6_tree, NullTVB,
offset + offsetof(struct icmp6_router_renum, rr_segnum), 2,
"Max delay: 0x%04x", pntohs(&rr->rr_maxdelay));
dissect_data(pd, offset + sizeof(*rr), fd, tree); /*XXX*/
diff --git a/packet-icp.c b/packet-icp.c
index 2562f502d5..f890d9603d 100644
--- a/packet-icp.c
+++ b/packet-icp.c
@@ -2,7 +2,7 @@
* Routines for ICP (internet cache protocol) packet disassembly
* RFC 2186 && RFC 2187
*
- * $Id: packet-icp.c,v 1.6 2000/04/08 07:07:18 guy Exp $
+ * $Id: packet-icp.c,v 1.7 2000/05/11 08:15:10 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Peter Torvals
@@ -114,7 +114,7 @@ guint16 objectlength;
{
case CODE_ICP_OP_QUERY:
/* 4 byte requester host address */
- proto_tree_add_text(pload_tree,offset,4,
+ proto_tree_add_text(pload_tree, NullTVB,offset,4,
"Requester Host Address %u.%u.%u.%u",
(guint8)pd[offset],
(guint8)pd[offset+1],
@@ -129,7 +129,7 @@ guint16 objectlength;
}
textbuf[i]=0;
i++;
- proto_tree_add_text(pload_tree, offset+4,i,
+ proto_tree_add_text(pload_tree, NullTVB, offset+4,i,
"URL: %s", textbuf);
break;
case CODE_ICP_OP_HIT_OBJ:
@@ -141,17 +141,17 @@ guint16 objectlength;
}
textbuf[i]=0;
i++;
- proto_tree_add_text(pload_tree, offset,i,
+ proto_tree_add_text(pload_tree, NullTVB, offset,i,
"URL: %s", textbuf);
/* 2 byte object size */
/* object data not recommended by standard*/
objectlength=pntohs(&pd[offset]);
- proto_tree_add_text(pload_tree,offset,2,"object length: %u", objectlength);
+ proto_tree_add_text(pload_tree, NullTVB,offset,2,"object length: %u", objectlength);
/* object data not recommended by standard*/
- proto_tree_add_text(pload_tree,offset+2, maxlength-2,"object data");
+ proto_tree_add_text(pload_tree, NullTVB,offset+2, maxlength-2,"object data");
if (objectlength > maxlength-2)
{
- proto_tree_add_text(pload_tree,offset,0,
+ proto_tree_add_text(pload_tree, NullTVB,offset,0,
"Packet is fragmented, rest of object is in next udp packet");
}
case CODE_ICP_OP_MISS:
@@ -163,7 +163,7 @@ guint16 objectlength;
}
textbuf[i]=0;
i++;
- proto_tree_add_text(pload_tree, offset,i,
+ proto_tree_add_text(pload_tree, NullTVB, offset,i,
"URL: %s", textbuf);
default:
/* check for fragmentation and add message if next part
@@ -209,47 +209,47 @@ static void dissect_icp(const u_char *pd, int offset, frame_data *fd,
if (tree)
{
- ti = proto_tree_add_item(tree,proto_icp ,offset,fd->pkt_len-offset,
+ 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, offset, 1,
+ proto_tree_add_uint_format(icp_tree,hf_icp_opcode, NullTVB, offset, 1,
icph.opcode, "Opcode:0x%01x (%s)",icph.opcode, opcodestrval);
- proto_tree_add_uint_format(icp_tree,hf_icp_version, offset+1, 1,
+ proto_tree_add_uint_format(icp_tree,hf_icp_version, NullTVB, offset+1, 1,
icph.version,"Version: 0x%01x (%d)", icph.version, (int)icph.version);
- proto_tree_add_uint_format(icp_tree,hf_icp_length, offset+2, 2,
+ proto_tree_add_uint_format(icp_tree,hf_icp_length, NullTVB, offset+2, 2,
icph.message_length,
"Length: 0x%02x (%d)", icph.message_length,(int)icph.message_length);
- proto_tree_add_uint_format(icp_tree,hf_icp_request_nr, offset+4, 4,
+ proto_tree_add_uint_format(icp_tree,hf_icp_request_nr, NullTVB, offset+4, 4,
icph.request_number,
"Request Number: 0x%04x (%u)", icph.request_number,icph.request_number);
if ( (icph.opcode == CODE_ICP_OP_QUERY) && ((icph.options & 0x80000000 ) != 0) )
{
- proto_tree_add_text(icp_tree,offset+8,4,
+ proto_tree_add_text(icp_tree, NullTVB,offset+8,4,
"option: ICP_FLAG_HIT_OBJ");
}
if ( (icph.opcode == CODE_ICP_OP_QUERY)&& ((icph.options & 0x40000000 ) != 0) )
{
- proto_tree_add_text(icp_tree,offset+8,4,
+ proto_tree_add_text(icp_tree, NullTVB,offset+8,4,
"option:ICP_FLAG_SRC_RTT");
}
if ((icph.opcode != CODE_ICP_OP_QUERY)&& ((icph.options & 0x40000000 ) != 0))
{
- proto_tree_add_text(icp_tree,offset+8,8,
+ proto_tree_add_text(icp_tree, NullTVB,offset+8,8,
"option: ICP_FLAG_SCR_RTT RTT=%u", icph.option_data & 0x0000ffff);
}
- proto_tree_add_text(icp_tree,offset+16, 4,
+ proto_tree_add_text(icp_tree, NullTVB,offset+16, 4,
"Sender Host IP address %u.%u.%u.%u",
(guint8)icph.sender_address[0],
(guint8)icph.sender_address[1],
(guint8)icph.sender_address[2],
(guint8)icph.sender_address[3]);
- payloadtf = proto_tree_add_text(icp_tree,
+ payloadtf = proto_tree_add_text(icp_tree, NullTVB,
offset+20,icph.message_length - 20,
"Payload");
payload_tree = proto_item_add_subtree(payloadtf, ett_icp_payload);
diff --git a/packet-icq.c b/packet-icq.c
index f3ee9cea3d..3de6b91747 100644
--- a/packet-icq.c
+++ b/packet-icq.c
@@ -1,7 +1,7 @@
/* packet-icq.c
* Routines for ICQ packet disassembly
*
- * $Id: packet-icq.c,v 1.14 2000/04/08 07:07:18 guy Exp $
+ * $Id: packet-icq.c,v 1.15 2000/05/11 08:15:10 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Johan Feyaerts
@@ -469,7 +469,7 @@ proto_tree_add_hexdump(proto_tree* t,
added = sprintf(buf + done, ".");
done += added;
}
- proto_tree_add_text(t,
+ proto_tree_add_text(t, NullTVB,
offset + i*16,
16,
buf);
@@ -504,7 +504,7 @@ proto_tree_add_hexdump(proto_tree* t,
}
done += added;
}
- proto_tree_add_text(t,
+ proto_tree_add_text(t, NullTVB,
offset + line*16,
size % 16,
buf);
@@ -610,7 +610,7 @@ proto_add_icq_attr(proto_tree* tree, /* The tree to add to */
len = pletohs(pd);
left -= sizeof(guint16);
if (left<len) {
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset,
sizeof(guint16),
"Length: %u", len);
@@ -622,7 +622,7 @@ proto_add_icq_attr(proto_tree* tree, /* The tree to add to */
strncpy(data, pd + sizeof(guint16), len);
data[len - 1] = '\0';
- proto_tree_add_text(tree,
+ proto_tree_add_text(tree, NullTVB,
offset,
sizeof(guint16) + len,
"%s[%u]: %s", descr, len, data);
@@ -674,7 +674,7 @@ icqv5_decode_msgType(proto_tree* tree,
left -= sizeof(guint16);
}
- ti = proto_tree_add_text(tree,
+ ti = proto_tree_add_text(tree, NullTVB,
offset ,
2,
"Type: %u (%s)", msgType, findMsgType(msgType));
@@ -691,7 +691,7 @@ icqv5_decode_msgType(proto_tree* tree,
msgText = g_malloc(left + 1);
strncpy(msgText, pd + OFF_MSG_TEXT, left);
msgText[left] = '\0';
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT,
left,
"Msg: %s", msgText);
@@ -709,7 +709,7 @@ icqv5_decode_msgType(proto_tree* tree,
msgText[i] = '\0';
else
msgText[i-1] = '\0';
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT,
i,
"Description: %s", msgText);
@@ -718,7 +718,7 @@ icqv5_decode_msgType(proto_tree* tree,
msgText = g_realloc(msgText, left - i);
strncpy(msgText, pd + OFF_MSG_TEXT + i + 1, left - i - 1);
msgText[left - i] = '\0';
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT,
i,
"URL: %s", msgText);
@@ -737,12 +737,12 @@ icqv5_decode_msgType(proto_tree* tree,
msgText = g_realloc(msgText, i-j);
strncpy(msgText, pd + OFF_MSG_TEXT + j, i - j - 1);
msgText[i-j-1] = '\0';
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + j,
i - j - 1,
"%s: %s", emain_field_descr[n], msgText);
} else {
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + j,
0,
"%s: %s", emain_field_descr[n], "(empty)");
@@ -758,12 +758,12 @@ icqv5_decode_msgType(proto_tree* tree,
/* Three bytes, first is a char signifying success */
unsigned char auth_suc = pd[OFF_MSG_LEN];
guint16 x1 = pd[OFF_MSG_LEN+1];
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_LEN,
1,
"Authorization: (%u) %s",auth_suc,
(auth_suc==0)?"Denied":"Allowed");
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_LEN + 1,
sizeof(guint16),
"x1: 0x%04x",x1);
@@ -784,12 +784,12 @@ icqv5_decode_msgType(proto_tree* tree,
msgText = g_realloc(msgText, i - j);
strncpy(msgText, pd + OFF_MSG_TEXT + j, i-j);
msgText[i-j] = '\0';
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + j,
i - j,
"%s: %s", auth_req_field_descr[n], msgText);
} else {
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + j,
i - j,
"%s: %s", auth_req_field_descr[n], "(null)");
@@ -819,12 +819,12 @@ icqv5_decode_msgType(proto_tree* tree,
msgText = g_realloc(msgText, i - j);
strncpy(msgText, pd + OFF_MSG_TEXT + j, i-j);
msgText[i-j] = '\0';
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + j,
i - j,
"%s: %s", auth_req_field_descr[n], msgText);
} else {
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + j,
i - j,
"%s: %s", auth_req_field_descr[n], "(null)");
@@ -860,7 +860,7 @@ icqv5_decode_msgType(proto_tree* tree,
if (n == 0) {
/* The first element is the number of Nick/UIN pairs follow */
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + done,
sz,
"Number of pairs: %s", msgText);
@@ -878,7 +878,7 @@ icqv5_decode_msgType(proto_tree* tree,
strncpy(msgText2, pprev, sz);
msgText2[sz] = '\0';
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + OFF_MSG_TEXT + done,
sz + svsz + 2,
"%s:%s", msgText, msgText2);
@@ -913,12 +913,13 @@ icqv5_cmd_ack(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
4,
CMD_ACK,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_ACK_RANDOM,
4,
"Random: 0x%08x", random);
@@ -952,18 +953,19 @@ icqv5_cmd_rand_search(proto_tree* tree, /* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
4,
CMD_RAND_SEARCH,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
if (group>0 && (group<=sizeof(groups)/sizeof(const char*)))
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_RAND_SEARCH_GROUP,
4,
"Group: (%u) %s", group, groups[group-1]);
else
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_RAND_SEARCH_GROUP,
4,
"Group: (%u)", group);
@@ -983,12 +985,13 @@ icqv5_cmd_ack_messages(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
4,
CMD_ACK_MESSAGES,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_ACK_MESSAGES_RANDOM,
4,
"Random: 0x%08x", random);
@@ -1008,12 +1011,13 @@ icqv5_cmd_keep_alive(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
4,
CMD_KEEP_ALIVE,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_KEEP_ALIVE_RANDOM,
4,
"Random: 0x%08x", random);
@@ -1036,6 +1040,7 @@ icqv5_cmd_send_text_code(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
left,
CMD_KEEP_ALIVE,
@@ -1048,7 +1053,7 @@ icqv5_cmd_send_text_code(proto_tree* tree,/* Tree to put the data in */
left -= sizeof(gint16);
if (tree){
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_SEND_TEXT_CODE_LEN,
2,
"Length: %d", len);
@@ -1061,7 +1066,7 @@ icqv5_cmd_send_text_code(proto_tree* tree,/* Tree to put the data in */
text[len] = '\0';
left -= len;
if (tree){
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_SEND_TEXT_CODE_TEXT,
len,
"Text: %s",text);
@@ -1075,7 +1080,7 @@ icqv5_cmd_send_text_code(proto_tree* tree,/* Tree to put the data in */
x1 = pletohs(pd + size - left);
left -= sizeof(gint16);
if (tree){
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_SEND_TEXT_CODE_TEXT + len,
2,
"X1: 0x%04x", x1);
@@ -1096,12 +1101,13 @@ icqv5_cmd_add_to_list(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
4,
CMD_ADD_TO_LIST,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_ADD_TO_LIST_UIN,
4,
"UIN: %u", uin);
@@ -1123,13 +1129,14 @@ icqv5_cmd_status_change(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
4,
CMD_STATUS_CHANGE,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
if (status!=-1)
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_STATUS_CHANGE_STATUS,
4,
"Status: %08x (%s)", status, findStatus(status));
@@ -1166,16 +1173,17 @@ icqv5_cmd_send_msg(proto_tree* tree,
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
size,
cmd,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_SEND_MSG_RECV_UIN,
4,
"Receiver UIN: %u", receiverUIN);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_SEND_MSG_MSG_LEN,
2,
"Length: %u", msgLen);
@@ -1227,33 +1235,34 @@ icqv5_cmd_login(proto_tree* tree,
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
size,
CMD_SEND_MSG,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
if (theTime!=-1)
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_LOGIN_TIME,
4,
"Time: %ld = %s", (long)theTime, ctime(&theTime));
if (port!=-1)
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_LOGIN_PORT,
4,
"Port: %u", port);
if ((passwdLen!=-1) && (password!=NULL))
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_LOGIN_PASSLEN,
2 + passwdLen,
"Passwd: %s", password);
if (ipAddrp!=NULL)
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_LOGIN_PASSWD + CMD_LOGIN_IP,
4,
"IP: %s", ip_to_str(ipAddrp));
if (status!=-1)
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_LOGIN_PASSWD + CMD_LOGIN_IP,
4,
"Status: %s", findStatus(status));
@@ -1281,12 +1290,13 @@ icqv5_cmd_contact_list(proto_tree* tree,
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
size,
CMD_CONTACT_LIST,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + CMD_CONTACT_LIST,
1,
"Number of uins: %u", num);
@@ -1299,7 +1309,7 @@ icqv5_cmd_contact_list(proto_tree* tree,
for (i = 0; (i<num) && (left>0);i++) {
if (left>=4) {
uin = pletohl(p);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset,
4,
"UIN[%d]: %u",i,uin);
@@ -1324,12 +1334,13 @@ icqv5_cmd_no_params(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
0,
cmd,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset,
0,
"No parameters");
@@ -1355,12 +1366,13 @@ icqv5_srv_no_params(proto_tree* tree,/* Tree to put the data in */
if (tree){
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
0,
cmd,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset,
0,
"No Parameters");
@@ -1383,12 +1395,13 @@ icqv5_srv_login_reply(proto_tree* tree,/* Tree to put the data in */
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
SRV_LOGIN_REPLY_IP + 8,
SRV_LOGIN_REPLY,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_LOGIN_REPLY_IP,
4,
"IP: %s", ip_to_str(ipAddrp));
@@ -1436,32 +1449,33 @@ icqv5_srv_user_online(proto_tree* tree,/* Tree to put the data in */
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
SRV_LOGIN_REPLY_IP + 8,
SRV_LOGIN_REPLY,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_USER_ONL_UIN,
4,
"UIN: %u", uin);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_USER_ONL_IP,
4,
"IP: %s", ip_to_str(ipAddrp));
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_USER_ONL_PORT,
4,
"Port: %u", port);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_USER_ONL_REALIP,
4,
"RealIP: %s", ip_to_str(realipAddrp));
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_USER_ONL_STATUS,
2,
"Status: %s", findStatus(status));
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_USER_ONL_X2,
4,
"Version: %08x", version);
@@ -1484,12 +1498,13 @@ icqv5_srv_user_offline(proto_tree* tree,/* Tree to put the data in */
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
SRV_USER_OFFLINE_UIN + 4,
SRV_USER_OFFLINE,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_USER_OFFLINE_UIN,
4,
"UIN: %u", uin);
@@ -1516,12 +1531,13 @@ icqv5_srv_multi(proto_tree* tree,/* Tree to put the data in */
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
size,
SRV_MULTI,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_MULTI_NUM,
1,
"Number of pkts: %u", num);
@@ -1574,27 +1590,28 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
#if 0
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
size,
SRV_META_USER,
"Body");
subtree = proto_item_add_subtree(ti, ett_icq_body);
- ti = proto_tree_add_text(subtree,
+ ti = proto_tree_add_text(subtree, NullTVB,
offset + SRV_META_USER_SUBCMD,
2,
"%s", findSubCmd(subcmd));
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_META_USER_RESULT,
1,
"%s", (result==0x0a)?"Success":"Failure");
sstree = proto_item_add_subtree(ti, ett_icq_body_parts);
#else
- ti = proto_tree_add_text(tree,
+ ti = proto_tree_add_text(tree, NullTVB,
offset + SRV_META_USER_SUBCMD,
2,
"%s", findSubCmd(subcmd));
sstree = proto_item_add_subtree(ti, ett_icq_body_parts);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + SRV_META_USER_RESULT,
1,
"%s", (result==0x0a)?"Success":"Failure");
@@ -1614,7 +1631,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
/* Read the lenght field */
pktLen = pletohs(p);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint16),
"Length: %u", pktLen);
@@ -1646,7 +1663,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
break;
uin = pletohl(p);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint32),
"UIN: %u", uin);
@@ -1666,7 +1683,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(unsigned char))
break;
auth = *p;
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint16),
"authorization: %s", (auth==0x01)?"Neccessary":"Who needs it");
@@ -1675,7 +1692,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint16))
break;
x2 = pletohs(p);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint16),
"x2: %04x", x2);
@@ -1684,7 +1701,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
break;
x3 = pletohl(p);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint32),
"x3: %08x", x3);
@@ -1704,7 +1721,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
break;
about = g_malloc(len);
strncpy(about, p, len);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint16)+len,
"About(%d): %s", len, about);
@@ -1746,7 +1763,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
break;
uin = pletohl(p);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint32),
"UIN: %u", uin);
@@ -1766,7 +1783,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (len>0) {
item = g_malloc(len);
strncpy(item, p, len);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left - sizeof(guint16),
sizeof(guint16)+len,
"%s(%d): %s",*d, len, item);
@@ -1779,7 +1796,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint16))
break;
country = pletohs(p);
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(guint16),
"Countrycode: %u", country);
@@ -1788,7 +1805,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(unsigned char))
break;
user_timezone = *p;
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(unsigned char),
"Timezone: %u", user_timezone);
@@ -1797,7 +1814,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(unsigned char))
break;
auth = *p;
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(unsigned char),
"Authorization: (%u) %s",
@@ -1807,7 +1824,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(unsigned char))
break;
auth = *p;
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(unsigned char),
"Webaware: (%u) %s",
@@ -1817,7 +1834,7 @@ icqv5_srv_meta_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(unsigned char))
break;
auth = *p;
- proto_tree_add_text(sstree,
+ proto_tree_add_text(sstree, NullTVB,
offset + size - left,
sizeof(unsigned char),
"HideIP: (%u) %s",
@@ -1852,6 +1869,7 @@ icqv5_srv_recv_message(proto_tree* tree, /* Tree to put the data in */
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
4,
SRV_RECV_MESSAGE,
@@ -1861,6 +1879,7 @@ icqv5_srv_recv_message(proto_tree* tree, /* Tree to put the data in */
uin = pletohl(pd + SRV_RECV_MSG_UIN);
proto_tree_add_uint_format(subtree,
hf_icq_uin,
+ NullTVB,
offset + SRV_RECV_MSG_UIN,
sizeof(guint32),
uin,
@@ -1875,7 +1894,7 @@ icqv5_srv_recv_message(proto_tree* tree, /* Tree to put the data in */
hour = pd[SRV_RECV_MSG_HOUR];
minute = pd[SRV_RECV_MSG_MINUTE];
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RECV_MSG_YEAR,
sizeof(guint16) + 4*sizeof(unsigned char),
"Time: %u-%u-%u %02u:%02u",
@@ -1911,6 +1930,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (tree) {
ti = proto_tree_add_uint_format(tree,
hf_icq_cmd,
+ NullTVB,
offset,
SRV_RAND_USER_TCP_VER + 2,
SRV_RAND_USER,
@@ -1920,7 +1940,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
return;
uin = pletohl(pd + SRV_RAND_USER_UIN);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RAND_USER_UIN,
sizeof(guint32),
"UIN: %u", uin);
@@ -1929,7 +1949,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
return;
IP = pd + SRV_RAND_USER_IP;
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RAND_USER_IP,
sizeof(guint32),
"IP: %s", ip_to_str(IP));
@@ -1938,7 +1958,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
return;
port = pletohs(pd + SRV_RAND_USER_PORT);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RAND_USER_UIN,
sizeof(guint32),
"Port: %u", port);
@@ -1947,7 +1967,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
return;
realIP = pd + SRV_RAND_USER_REAL_IP;
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RAND_USER_REAL_IP,
sizeof(guint32),
"RealIP: %s", ip_to_str(realIP));
@@ -1956,7 +1976,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(unsigned char))
return;
commClass = pd[SRV_RAND_USER_CLASS];
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RAND_USER_CLASS,
sizeof(unsigned char),
"Class: %s", (commClass!=4)?"User to User":"Through Server");
@@ -1965,7 +1985,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint32))
return;
status = pletohs(pd + SRV_RAND_USER_STATUS);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RAND_USER_STATUS,
sizeof(guint32),
"Status: (%u) %s", status, findStatus(status));
@@ -1973,7 +1993,7 @@ icqv5_srv_rand_user(proto_tree* tree, /* Tree to put the data in */
if (left<sizeof(guint16))
return;
tcpVer = pletohs(pd + SRV_RAND_USER_TCP_VER);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + SRV_RAND_USER_TCP_VER,
sizeof(guint16),
"TCPVersion: %u", tcpVer);
@@ -2024,6 +2044,7 @@ dissect_icqv5Client(const u_char *pd,
if (tree) {
ti = proto_tree_add_protocol_format(tree,
proto_icq,
+ NullTVB,
offset,
pktsize,
"ICQv5 %s (len %u)",
@@ -2032,6 +2053,7 @@ dissect_icqv5Client(const u_char *pd,
icq_tree = proto_item_add_subtree(ti, ett_icq);
ti = proto_tree_add_uint_format(icq_tree,
hf_icq_type,
+ NullTVB,
offset,
ICQ5_CL_HDRSIZE,
ICQ5_client,
@@ -2040,6 +2062,7 @@ dissect_icqv5Client(const u_char *pd,
proto_tree_add_uint_format(icq_header_tree,
hf_icq_sessionid,
+ NullTVB,
offset+ICQ5_CL_SESSIONID,
4,
sessionid,
@@ -2047,6 +2070,7 @@ dissect_icqv5Client(const u_char *pd,
sessionid);
proto_tree_add_uint_format(icq_header_tree,
hf_icq_checkcode,
+ NullTVB,
offset+ICQ5_CL_CHECKCODE,
4,
key,
@@ -2054,16 +2078,17 @@ dissect_icqv5Client(const u_char *pd,
key);
proto_tree_add_uint_format(icq_header_tree,
hf_icq_uin,
+ NullTVB,
offset+ICQ5_CL_UIN,
4,
uin,
"UIN: %u (0x%08X)",
uin, uin);
- proto_tree_add_text(icq_header_tree,
+ proto_tree_add_text(icq_header_tree, NullTVB,
offset + ICQ5_CL_SEQNUM1,
2,
"Seqnum1: 0x%04x", seqnum1);
- proto_tree_add_text(icq_header_tree,
+ proto_tree_add_text(icq_header_tree, NullTVB,
offset + ICQ5_CL_SEQNUM1,
2,
"Seqnum2: 0x%04x", seqnum2);
@@ -2143,6 +2168,7 @@ dissect_icqv5Client(const u_char *pd,
default:
proto_tree_add_uint_format(icq_tree,
hf_icq_cmd,
+ NullTVB,
offset+ICQ5_CL_CMD,
2,
cmd,
@@ -2151,7 +2177,7 @@ dissect_icqv5Client(const u_char *pd,
fprintf(stderr,"Missing: %s\n", findClientCmd(cmd));
break;
}
- ti = proto_tree_add_text(icq_tree,
+ ti = proto_tree_add_text(icq_tree, NullTVB,
offset,
pktsize,
"Decoded packet");
@@ -2199,6 +2225,7 @@ dissect_icqv5Server(const u_char *pd,
if (tree) {
ti = proto_tree_add_protocol_format(tree,
proto_icq,
+ NullTVB,
offset,
pktsize,
"ICQv5 %s (len %u)",
@@ -2209,6 +2236,7 @@ dissect_icqv5Server(const u_char *pd,
ti = proto_tree_add_uint_format(icq_tree,
hf_icq_type,
+ NullTVB,
offset,
ICQ5_SRV_HDRSIZE,
ICQ5_server,
@@ -2217,23 +2245,25 @@ dissect_icqv5Server(const u_char *pd,
proto_tree_add_uint_format(icq_header_tree,
hf_icq_sessionid,
+ NullTVB,
offset+ICQ5_SRV_SESSIONID,
4,
sessionid,
"Session ID: 0x%08x",
sessionid);
- proto_tree_add_text(icq_header_tree,
+ proto_tree_add_text(icq_header_tree, NullTVB,
offset+ICQ5_SRV_SEQNUM1,
2,
"Seq Number1: 0x%04x",
seq_num1);
- proto_tree_add_text(icq_header_tree,
+ proto_tree_add_text(icq_header_tree, NullTVB,
offset+ICQ5_SRV_SEQNUM2,
2,
"Seq Number2: 0x%04x",
seq_num2);
proto_tree_add_uint_format(icq_header_tree,
hf_icq_uin,
+ NullTVB,
offset+ICQ5_SRV_UIN,
4,
uin,
@@ -2241,6 +2271,7 @@ dissect_icqv5Server(const u_char *pd,
uin);
proto_tree_add_uint_format(icq_header_tree,
hf_icq_checkcode,
+ NullTVB,
offset+ICQ5_SRV_CHECKCODE,
4,
checkcode,
@@ -2313,6 +2344,7 @@ dissect_icqv5Server(const u_char *pd,
default:
proto_tree_add_uint_format(icq_tree,
hf_icq_cmd,
+ NullTVB,
offset + ICQ5_SRV_CMD,
2,
cmd,
@@ -2322,7 +2354,7 @@ dissect_icqv5Server(const u_char *pd,
break;
}
- ti = proto_tree_add_text(icq_tree,
+ ti = proto_tree_add_text(icq_tree, NullTVB,
offset,
pktsize,
"Decoded packet");
diff --git a/packet-imap.c b/packet-imap.c
index d7f1155f1b..b4957237d0 100644
--- a/packet-imap.c
+++ b/packet-imap.c
@@ -2,7 +2,7 @@
* Routines for imap packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-imap.c,v 1.5 2000/04/08 07:07:19 guy Exp $
+ * $Id: packet-imap.c,v 1.6 2000/05/11 08:15:11 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -91,23 +91,23 @@ dissect_imap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_imap, offset, END_OF_FRAME, NULL);
+ 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, offset, i1, TRUE);
- proto_tree_add_text(imap_tree, offset, i1, "Request Tag: %s", rr);
+ 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, offset + i1 + 1, END_OF_FRAME, "Request: %s", rd);
+ proto_tree_add_text(imap_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Request: %s", rd);
}
else {
- proto_tree_add_item_hidden(imap_tree, hf_imap_response, offset, i1, TRUE);
- proto_tree_add_text(imap_tree, offset, i1, "Response Tag: %s", rr);
+ 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, offset + i1 + 1, END_OF_FRAME, "Response: %s", rd);
+ proto_tree_add_text(imap_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Response: %s", rd);
}
}
diff --git a/packet-ip.c b/packet-ip.c
index d84eab9a39..0cdd138b00 100644
--- a/packet-ip.c
+++ b/packet-ip.c
@@ -1,7 +1,7 @@
/* packet-ip.c
* Routines for IP and miscellaneous IP protocol packet disassembly
*
- * $Id: packet-ip.c,v 1.84 2000/05/10 21:36:55 gerald Exp $
+ * $Id: packet-ip.c,v 1.85 2000/05/11 08:15:11 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -410,28 +410,28 @@ dissect_ipopt_security(const ip_tcp_opt *optp, const u_char *opd, int offset,
{IPSEC_RESERVED8, "Reserved" },
{0, NULL } };
- tf = proto_tree_add_text(opt_tree, offset, optlen, "%s:", optp->name);
+ tf = proto_tree_add_text(opt_tree, NullTVB, offset, optlen, "%s:", optp->name);
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
val = pntohs(opd);
- proto_tree_add_text(field_tree, offset, 2,
+ proto_tree_add_text(field_tree, NullTVB, offset, 2,
"Security: %s", val_to_str(val, secl_vals, "Unknown (0x%x)"));
offset += 2;
opd += 2;
val = pntohs(opd);
- proto_tree_add_text(field_tree, offset, 2,
+ proto_tree_add_text(field_tree, NullTVB, offset, 2,
"Compartments: %u", val);
offset += 2;
opd += 2;
- proto_tree_add_text(field_tree, offset, 2,
+ proto_tree_add_text(field_tree, NullTVB, offset, 2,
"Handling restrictions: %c%c", opd[0], opd[1]);
offset += 2;
opd += 2;
- proto_tree_add_text(field_tree, offset, 3,
+ proto_tree_add_text(field_tree, NullTVB, offset, 3,
"Transmission control code: %c%c%c", opd[0], opd[1], opd[2]);
}
@@ -445,7 +445,7 @@ dissect_ipopt_route(const ip_tcp_opt *optp, const u_char *opd, int offset,
int optoffset = 0;
struct in_addr addr;
- tf = proto_tree_add_text(opt_tree, offset, optlen, "%s (%u bytes)",
+ tf = proto_tree_add_text(opt_tree, NullTVB, offset, optlen, "%s (%u bytes)",
optp->name, optlen);
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
@@ -453,7 +453,7 @@ dissect_ipopt_route(const ip_tcp_opt *optp, const u_char *opd, int offset,
optlen -= 2; /* subtract size of type and length */
ptr = *opd;
- proto_tree_add_text(field_tree, offset + optoffset, 1,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, 1,
"Pointer: %d%s", ptr,
((ptr < 4) ? " (points before first address)" :
((ptr & 3) ? " (points to middle of address)" : "")));
@@ -464,7 +464,7 @@ dissect_ipopt_route(const ip_tcp_opt *optp, const u_char *opd, int offset,
while (optlen > 0) {
if (optlen < 4) {
- proto_tree_add_text(field_tree, offset, optlen,
+ proto_tree_add_text(field_tree, NullTVB, offset, optlen,
"(suboption would go past end of option)");
break;
}
@@ -472,7 +472,7 @@ dissect_ipopt_route(const ip_tcp_opt *optp, const u_char *opd, int offset,
/* Avoids alignment problems on many architectures. */
memcpy((char *)&addr, (char *)opd, sizeof(addr));
- proto_tree_add_text(field_tree, offset + optoffset, 4,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, 4,
"%s%s",
((addr.s_addr == 0) ? "-" : (char *)get_hostname(addr.s_addr)),
((optoffset == ptr) ? " <- (current)" : ""));
@@ -486,7 +486,7 @@ static void
dissect_ipopt_sid(const ip_tcp_opt *optp, const u_char *opd, int offset,
guint optlen, proto_tree *opt_tree)
{
- proto_tree_add_text(opt_tree, offset, optlen,
+ proto_tree_add_text(opt_tree, NullTVB, offset, optlen,
"%s: %d", optp->name, pntohs(opd));
return;
}
@@ -508,14 +508,14 @@ dissect_ipopt_timestamp(const ip_tcp_opt *optp, const u_char *opd,
struct in_addr addr;
guint ts;
- tf = proto_tree_add_text(opt_tree, offset, optlen, "%s:", optp->name);
+ tf = proto_tree_add_text(opt_tree, NullTVB, offset, optlen, "%s:", optp->name);
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
optoffset += 2; /* skip past type and length */
optlen -= 2; /* subtract size of type and length */
ptr = *opd;
- proto_tree_add_text(field_tree, offset + optoffset, 1,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, 1,
"Pointer: %d%s", ptr,
((ptr < 5) ? " (points before first address)" :
(((ptr - 1) & 3) ? " (points to middle of address)" : "")));
@@ -525,10 +525,10 @@ dissect_ipopt_timestamp(const ip_tcp_opt *optp, const u_char *opd,
ptr--; /* ptr is 1-origin */
flg = *opd;
- proto_tree_add_text(field_tree, offset + optoffset, 1,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, 1,
"Overflow: %d", flg >> 4);
flg &= 0xF;
- proto_tree_add_text(field_tree, offset + optoffset, 1,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, 1,
"Flag: %s", val_to_str(flg, flag_vals, "Unknown (0x%x)"));
optoffset++;
opd++;
@@ -538,7 +538,7 @@ dissect_ipopt_timestamp(const ip_tcp_opt *optp, const u_char *opd,
if (flg == IPOPT_TS_TSANDADDR) {
/* XXX - check whether it goes past end of packet */
if (optlen < 8) {
- proto_tree_add_text(field_tree, offset + optoffset, optlen,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, optlen,
"(suboption would go past end of option)");
break;
}
@@ -547,14 +547,14 @@ dissect_ipopt_timestamp(const ip_tcp_opt *optp, const u_char *opd,
ts = pntohl(opd);
opd += 4;
optlen -= 8;
- proto_tree_add_text(field_tree, offset + optoffset, 8,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, 8,
"Address = %s, time stamp = %u",
((addr.s_addr == 0) ? "-" : (char *)get_hostname(addr.s_addr)),
ts);
optoffset += 8;
} else {
if (optlen < 4) {
- proto_tree_add_text(field_tree, offset + optoffset, optlen,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, optlen,
"(suboption would go past end of option)");
break;
}
@@ -562,7 +562,7 @@ dissect_ipopt_timestamp(const ip_tcp_opt *optp, const u_char *opd,
ts = pntohl(opd);
opd += 4;
optlen -= 4;
- proto_tree_add_text(field_tree, offset + optoffset, 4,
+ proto_tree_add_text(field_tree, NullTVB, offset + optoffset, 4,
"Time stamp = %u", ts);
optoffset += 4;
}
@@ -683,7 +683,7 @@ dissect_ip_tcp_options(const u_char *opd, int offset, guint length,
if (length == 0) {
/* Bogus - packet must at least include option code byte and
length byte! */
- proto_tree_add_text(opt_tree, offset, 1,
+ proto_tree_add_text(opt_tree, NullTVB, offset, 1,
"%s (length byte past end of options)", name);
return;
}
@@ -692,33 +692,33 @@ dissect_ip_tcp_options(const u_char *opd, int offset, guint length,
if (len < 2) {
/* Bogus - option length is too short to include option code and
option length. */
- proto_tree_add_text(opt_tree, offset, 2,
+ proto_tree_add_text(opt_tree, NullTVB, offset, 2,
"%s (with too-short option length = %u byte%s)", name,
len, plurality(len, "", "s"));
return;
} else if (len - 2 > length) {
/* Bogus - option goes past the end of the header. */
- proto_tree_add_text(opt_tree, offset, length,
+ proto_tree_add_text(opt_tree, NullTVB, offset, length,
"%s (option length = %u byte%s says option goes past end of options)",
name, len, plurality(len, "", "s"));
return;
} else if (len_type == FIXED_LENGTH && len != optlen) {
/* Bogus - option length isn't what it's supposed to be for this
option. */
- proto_tree_add_text(opt_tree, offset, len,
+ proto_tree_add_text(opt_tree, NullTVB, offset, len,
"%s (with option length = %u byte%s; should be %u)", name,
len, plurality(len, "", "s"), optlen);
return;
} else if (len_type == VARIABLE_LENGTH && len < optlen) {
/* Bogus - option length is less than what it's supposed to be for
this option. */
- proto_tree_add_text(opt_tree, offset, len,
+ proto_tree_add_text(opt_tree, NullTVB, offset, len,
"%s (with option length = %u byte%s; should be >= %u)", name,
len, plurality(len, "", "s"), optlen);
return;
} else {
if (optp == NULL) {
- proto_tree_add_text(opt_tree, offset, len, "%s (%u byte%s)",
+ proto_tree_add_text(opt_tree, NullTVB, offset, len, "%s (%u byte%s)",
name, len, plurality(len, "", "s"));
} else {
if (dissect != NULL) {
@@ -726,7 +726,7 @@ dissect_ip_tcp_options(const u_char *opd, int offset, guint length,
(*dissect)(optp, opd, offset, len, opt_tree);
} else {
/* Option has no data, hence no dissector. */
- proto_tree_add_text(opt_tree, offset, len, "%s", name);
+ proto_tree_add_text(opt_tree, NullTVB, offset, len, "%s", name);
}
}
len -= 2; /* subtract size of type and length */
@@ -735,7 +735,7 @@ dissect_ip_tcp_options(const u_char *opd, int offset, guint length,
opd += len;
length -= len;
} else {
- proto_tree_add_text(opt_tree, offset, 1, "%s", name);
+ proto_tree_add_text(opt_tree, NullTVB, offset, 1, "%s", name);
offset += 1;
}
if (opt == eol)
@@ -889,61 +889,61 @@ dissect_ip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
break;
}
- ti = proto_tree_add_item(tree, proto_ip, offset, hlen, NULL);
+ 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, offset, 1, hi_nibble(iph.ip_v_hl));
- proto_tree_add_uint_format(ip_tree, hf_ip_hdr_len, offset, 1, hlen,
+ 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);
if (g_ip_dscp_actif) {
- tf = proto_tree_add_uint_format(ip_tree, hf_ip_dsfield, offset + 1, 1, iph.ip_tos,
+ tf = proto_tree_add_uint_format(ip_tree, hf_ip_dsfield, NullTVB, offset + 1, 1, iph.ip_tos,
"Differentiated Services Field: 0x%02x (DSCP 0x%02x: %s)", iph.ip_tos,
IPDSFIELD_DSCP(iph.ip_tos), val_to_str(IPDSFIELD_DSCP(iph.ip_tos), dscp_vals,
"Unknown DSCP"));
field_tree = proto_item_add_subtree(tf, ett_ip_dsfield);
- proto_tree_add_item(field_tree, hf_ip_dsfield_dscp, offset + 1, 1, iph.ip_tos);
- proto_tree_add_item(field_tree, hf_ip_dsfield_cu, offset + 1, 1, iph.ip_tos);
+ 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, offset + 1, 1, iph.ip_tos,
+ 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, offset + 1, 1, iph.ip_tos);
- proto_tree_add_item(field_tree, hf_ip_tos_delay, offset + 1, 1, iph.ip_tos);
- proto_tree_add_item(field_tree, hf_ip_tos_throughput, offset + 1, 1, iph.ip_tos);
- proto_tree_add_item(field_tree, hf_ip_tos_reliability, offset + 1, 1, iph.ip_tos);
- proto_tree_add_item(field_tree, hf_ip_tos_cost, offset + 1, 1, iph.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, offset + 2, 2, iph.ip_len);
- proto_tree_add_item(ip_tree, hf_ip_id, offset + 4, 2, iph.ip_id);
+ 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, offset + 6, 1, flags);
+ 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, offset + 6, 1, flags),
- proto_tree_add_item(field_tree, hf_ip_flags_mf, offset + 6, 1, flags),
+ 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, offset + 6, 2,
+ proto_tree_add_item(ip_tree, hf_ip_frag_offset, NullTVB, offset + 6, 2,
iph.ip_off & IP_OFFSET);
- proto_tree_add_item(ip_tree, hf_ip_ttl, offset + 8, 1, iph.ip_ttl);
- proto_tree_add_uint_format(ip_tree, hf_ip_proto, offset + 9, 1, iph.ip_p,
+ 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, offset + 10, 2, iph.ip_sum,
+ 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, offset + 12, 4, iph.ip_src);
- proto_tree_add_item(ip_tree, hf_ip_dst, offset + 16, 4, iph.ip_dst);
- proto_tree_add_item_hidden(ip_tree, hf_ip_addr, offset + 12, 4, iph.ip_src);
- proto_tree_add_item_hidden(ip_tree, hf_ip_addr, offset + 16, 4, iph.ip_dst);
+ 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)) {
/* There's more than just the fixed-length header. Decode the
options. */
optlen = hlen - sizeof (e_ip); /* length of options, in bytes */
- tf = proto_tree_add_text(ip_tree, offset + 20, optlen,
+ tf = proto_tree_add_text(ip_tree, NullTVB, offset + 20, optlen,
"Options: (%u bytes)", optlen);
field_tree = proto_item_add_subtree(tf, ett_ip_options);
dissect_ip_tcp_options(&pd[offset + 20], offset + 20, optlen,
@@ -1121,17 +1121,17 @@ dissect_icmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
col_add_str(fd, COL_INFO, type_str);
if (tree) {
- ti = proto_tree_add_item(tree, proto_icmp, offset, 4, NULL);
+ 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, offset, 1,
+ proto_tree_add_uint_format(icmp_tree, hf_icmp_type, NullTVB, offset, 1,
ih.icmp_type,
"Type: %u (%s)",
ih.icmp_type, type_str);
- proto_tree_add_uint_format(icmp_tree, hf_icmp_code, offset + 1, 1,
+ proto_tree_add_uint_format(icmp_tree, hf_icmp_code, NullTVB, offset + 1, 1,
ih.icmp_code,
"Code: %u %s",
ih.icmp_code, code_str);
- proto_tree_add_item(icmp_tree, hf_icmp_checksum, offset + 2, 2,
+ proto_tree_add_item(icmp_tree, hf_icmp_checksum, NullTVB, offset + 2, 2,
cksum);
/* Decode the second 4 bytes of the packet. */
@@ -1144,16 +1144,16 @@ dissect_icmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
case ICMP_IREQREPLY:
case ICMP_MASKREQ:
case ICMP_MASKREPLY:
- proto_tree_add_text(icmp_tree, offset + 4, 2, "Identifier: 0x%04x",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 4, 2, "Identifier: 0x%04x",
pntohs(&pd[offset + 4]));
- proto_tree_add_text(icmp_tree, offset + 6, 2, "Sequence number: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 6, 2, "Sequence number: %u",
pntohs(&pd[offset + 6]));
break;
case ICMP_UNREACH:
switch (ih.icmp_code) {
case ICMP_FRAG_NEEDED:
- proto_tree_add_text(icmp_tree, offset + 6, 2, "MTU of next hop: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 6, 2, "MTU of next hop: %u",
pntohs(&pd[offset + 6]));
break;
}
@@ -1161,22 +1161,22 @@ dissect_icmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
case ICMP_RTRADVERT:
num_addrs = pd[offset + 4];
- proto_tree_add_text(icmp_tree, offset + 4, 1, "Number of addresses: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 4, 1, "Number of addresses: %u",
num_addrs);
addr_entry_size = pd[offset + 5];
- proto_tree_add_text(icmp_tree, offset + 5, 1, "Address entry size: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 5, 1, "Address entry size: %u",
addr_entry_size);
- proto_tree_add_text(icmp_tree, offset + 6, 2, "Lifetime: %s",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 6, 2, "Lifetime: %s",
time_secs_to_str(pntohs(&pd[offset + 6])));
break;
case ICMP_PARAMPROB:
- proto_tree_add_text(icmp_tree, offset + 4, 1, "Pointer: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 4, 1, "Pointer: %u",
pd[offset + 4]);
break;
case ICMP_REDIRECT:
- proto_tree_add_text(icmp_tree, offset + 4, 4, "Gateway address: %s",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 4, 4, "Gateway address: %s",
ip_to_str((guint8 *)&pd[offset + 4]));
break;
}
@@ -1204,10 +1204,10 @@ dissect_icmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
case ICMP_RTRADVERT:
if (addr_entry_size == 2) {
for (i = 0; i < num_addrs; i++) {
- proto_tree_add_text(icmp_tree, offset + 8 + (i*8), 4,
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 8 + (i*8), 4,
"Router address: %s",
ip_to_str((guint8 *)&pd[offset + 8 + (i*8)]));
- proto_tree_add_text(icmp_tree, offset + 12 + (i*8), 4,
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 12 + (i*8), 4,
"Preference level: %u", pntohl(&pd[offset + 12 + (i*8)]));
}
} else
@@ -1216,17 +1216,17 @@ dissect_icmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
case ICMP_TSTAMP:
case ICMP_TSTAMPREPLY:
- proto_tree_add_text(icmp_tree, offset + 8, 4, "Originate timestamp: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 8, 4, "Originate timestamp: %u",
pntohl(&pd[offset + 8]));
- proto_tree_add_text(icmp_tree, offset + 12, 4, "Receive timestamp: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 12, 4, "Receive timestamp: %u",
pntohl(&pd[offset + 12]));
- proto_tree_add_text(icmp_tree, offset + 16, 4, "Transmit timestamp: %u",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 16, 4, "Transmit timestamp: %u",
pntohl(&pd[offset + 16]));
break;
case ICMP_MASKREQ:
case ICMP_MASKREPLY:
- proto_tree_add_text(icmp_tree, offset + 8, 4, "Address mask: %s (0x%8x)",
+ proto_tree_add_text(icmp_tree, NullTVB, offset + 8, 4, "Address mask: %s (0x%8x)",
ip_to_str((guint8 *)&pd[offset + 8]), pntohl(&pd[offset + 8]));
break;
}
@@ -1280,21 +1280,21 @@ dissect_igmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, type_str);
if (tree) {
- ti = proto_tree_add_item(tree, proto_igmp, offset, 8, NULL);
+ 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, offset, 1,
+ 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, offset , 1,
+ proto_tree_add_uint_format(igmp_tree, hf_igmp_type, NullTVB, offset , 1,
lo_nibble(ih.igmp_v_t),
"Type: %u (%s)",
lo_nibble(ih.igmp_v_t), type_str);
- proto_tree_add_uint_format(igmp_tree, hf_igmp_unused, offset + 1, 1,
+ proto_tree_add_uint_format(igmp_tree, hf_igmp_unused, NullTVB, offset + 1, 1,
ih.igmp_unused,
"Unused: 0x%02x",
ih.igmp_unused);
- proto_tree_add_item(igmp_tree, hf_igmp_checksum, offset + 2, 2,
+ proto_tree_add_item(igmp_tree, hf_igmp_checksum, NullTVB, offset + 2, 2,
cksum);
- proto_tree_add_item(igmp_tree, hf_igmp_group, offset + 4, 4,
+ proto_tree_add_item(igmp_tree, hf_igmp_group, NullTVB, offset + 4, 4,
ih.igmp_gaddr);
}
}
@@ -1537,17 +1537,17 @@ dissect_eigrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
val_to_str( ih.eigrp_opcode, eigrp_opcode_vals, "Unknown (0x%04x)"));
if (tree) {
- ti = proto_tree_add_item(tree, proto_eigrp, offset, END_OF_FRAME, NULL);
+ 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, offset, 1, "Version: %u", ih.eigrp_version);
- proto_tree_add_text(eigrp_tree, offset + 1, 1, "Opcode: %u (%s)", ih.eigrp_opcode,
+ proto_tree_add_text(eigrp_tree, NullTVB, offset, 1, "Version: %u", ih.eigrp_version);
+ proto_tree_add_text(eigrp_tree, NullTVB, offset + 1, 1, "Opcode: %u (%s)", ih.eigrp_opcode,
val_to_str( ih.eigrp_opcode, eigrp_opcode_vals, "Unknown") );
- proto_tree_add_text(eigrp_tree, offset + 2, 2, "Checksum: 0x%x", cksum);
- proto_tree_add_text(eigrp_tree, offset + 4, 2, "Subnets in local net: %u", ih.eigrp_subnets);
- proto_tree_add_text(eigrp_tree, offset + 6, 2, "Networks in Autonomous System: %d", ih.eigrp_networks);
- proto_tree_add_text(eigrp_tree, offset + 8, 4, "Sequence Number: 0x%x", ih.eigrp_sequence);
- proto_tree_add_text(eigrp_tree, offset + 12, 4, "Autonomous System number: %u", ih.eigrp_asnumber);
+ proto_tree_add_text(eigrp_tree, NullTVB, offset + 2, 2, "Checksum: 0x%x", cksum);
+ proto_tree_add_text(eigrp_tree, NullTVB, offset + 4, 2, "Subnets in local net: %u", ih.eigrp_subnets);
+ proto_tree_add_text(eigrp_tree, NullTVB, offset + 6, 2, "Networks in Autonomous System: %d", ih.eigrp_networks);
+ proto_tree_add_text(eigrp_tree, NullTVB, offset + 8, 4, "Sequence Number: 0x%x", ih.eigrp_sequence);
+ proto_tree_add_text(eigrp_tree, NullTVB, offset + 12, 4, "Autonomous System number: %u", ih.eigrp_asnumber);
}
}
diff --git a/packet-ipp.c b/packet-ipp.c
index f59c7f3860..32aa93dbde 100644
--- a/packet-ipp.c
+++ b/packet-ipp.c
@@ -3,7 +3,7 @@
*
* Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-ipp.c,v 1.8 2000/04/08 07:07:20 guy Exp $
+ * $Id: packet-ipp.c,v 1.9 2000/05/11 08:15:13 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -177,15 +177,15 @@ void dissect_ipp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_ipp, offset, END_OF_FRAME, NULL);
+ 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, offset, 2, "Version: %u.%u",
+ proto_tree_add_text(ipp_tree, NullTVB, offset, 2, "Version: %u.%u",
pd[offset], pd[offset + 1]);
offset += 2;
if (is_request) {
- proto_tree_add_text(ipp_tree, offset, 2, "Operation-id: %s",
+ proto_tree_add_text(ipp_tree, NullTVB, offset, 2, "Operation-id: %s",
val_to_str(pntohs(&pd[offset]), operation_vals,
"Unknown (0x%04x)"));
} else {
@@ -216,12 +216,12 @@ void dissect_ipp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
status_fmt = "Unknown (0x%04x)";
break;
}
- proto_tree_add_text(ipp_tree, offset, 2, "Status-code: %s",
+ proto_tree_add_text(ipp_tree, NullTVB, offset, 2, "Status-code: %s",
val_to_str(status_code, status_vals, status_fmt));
}
offset += 2;
- proto_tree_add_text(ipp_tree, offset, 4, "Request ID: %u",
+ proto_tree_add_text(ipp_tree, NullTVB, offset, 4, "Request ID: %u",
pntohl(&pd[offset]));
offset += 4;
@@ -335,7 +335,7 @@ parse_attributes(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/*
* Now create a new item for this tag.
*/
- tas = proto_tree_add_text(tree, offset, 1,
+ tas = proto_tree_add_text(tree, NullTVB, offset, 1,
"%s", tag_desc);
offset++;
if (tag == TAG_END_OF_ATTRIBUTES) {
@@ -459,13 +459,13 @@ add_integer_tree(proto_tree *tree, const u_char *pd, int offset,
proto_item *ti;
if (value_length != 4) {
- ti = proto_tree_add_text(tree, offset,
+ ti = proto_tree_add_text(tree, NullTVB, offset,
1 + 2 + name_length + 2 + value_length,
"%.*s: Invalid integer (length is %u, should be 4)",
name_length, &pd[offset + 1 + 2],
value_length);
} else {
- ti = proto_tree_add_text(tree, offset,
+ ti = proto_tree_add_text(tree, NullTVB, offset,
1 + 2 + name_length + 2 + value_length,
"%.*s: %u",
name_length, &pd[offset + 1 + 2],
@@ -481,7 +481,7 @@ add_integer_value(guint tag, gchar *tag_desc, proto_tree *tree,
offset = add_value_head(tag, tag_desc, tree, pd, offset,
name_length, value_length);
if (value_length == 4) {
- proto_tree_add_text(tree, offset, value_length,
+ proto_tree_add_text(tree, NullTVB, offset, value_length,
"Value: %u", pntohl(&pd[offset]));
}
}
@@ -492,7 +492,7 @@ add_octetstring_tree(proto_tree *tree, const u_char *pd, int offset,
{
proto_item *ti;
- ti = proto_tree_add_text(tree, offset,
+ ti = proto_tree_add_text(tree, NullTVB, offset,
1 + 2 + name_length + 2 + value_length,
"%.*s: %s",
name_length,
@@ -507,7 +507,7 @@ add_octetstring_value(guint tag, gchar *tag_desc, proto_tree *tree,
{
offset = add_value_head(tag, tag_desc, tree, pd, offset,
name_length, value_length);
- proto_tree_add_text(tree, offset, value_length,
+ proto_tree_add_text(tree, NullTVB, offset, value_length,
"Value: %s", bytes_to_str(&pd[offset], value_length));
}
@@ -517,7 +517,7 @@ add_charstring_tree(proto_tree *tree, const u_char *pd, int offset,
{
proto_item *ti;
- ti = proto_tree_add_text(tree, offset,
+ ti = proto_tree_add_text(tree, NullTVB, offset,
1 + 2 + name_length + 2 + value_length,
"%.*s: %.*s",
name_length, &pd[offset + 1 + 2],
@@ -531,7 +531,7 @@ add_charstring_value(guint tag, gchar *tag_desc, proto_tree *tree,
{
offset = add_value_head(tag, tag_desc, tree, pd, offset,
name_length, value_length);
- proto_tree_add_text(tree, offset, value_length,
+ proto_tree_add_text(tree, NullTVB, offset, value_length,
"Value: %.*s", value_length, &pd[offset]);
}
@@ -539,17 +539,17 @@ static int
add_value_head(guint tag, gchar *tag_desc, proto_tree *tree,
const u_char *pd, int offset, int name_length, int value_length)
{
- proto_tree_add_text(tree, offset, 1, "Tag: %s", tag_desc);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Tag: %s", tag_desc);
offset += 1;
- proto_tree_add_text(tree, offset, 2, "Name length: %u",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Name length: %u",
name_length);
offset += 2;
if (name_length != 0) {
- proto_tree_add_text(tree, offset, name_length,
+ proto_tree_add_text(tree, NullTVB, offset, name_length,
"Name: %.*s", name_length, &pd[offset]);
}
offset += name_length;
- proto_tree_add_text(tree, offset, 2, "Value length: %u",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Value length: %u",
value_length);
offset += 2;
return offset;
diff --git a/packet-ipsec.c b/packet-ipsec.c
index 8fd2b5d882..eafdb5ce83 100644
--- a/packet-ipsec.c
+++ b/packet-ipsec.c
@@ -1,7 +1,7 @@
/* packet-ipsec.c
* Routines for IPsec/IPComp packet disassembly
*
- * $Id: packet-ipsec.c,v 1.14 2000/04/20 07:05:55 guy Exp $
+ * $Id: packet-ipsec.c,v 1.15 2000/05/11 08:15:14 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -120,20 +120,20 @@ dissect_ah(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
/* !!! specify length */
- ti = proto_tree_add_item(tree, proto_ah, offset, advance, NULL);
+ 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, offset + offsetof(struct newah, ah_nxt), 1,
+ 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, offset + offsetof(struct newah, ah_len), 1,
+ 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,
+ 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,
+ 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, offset + sizeof(ah), (ah.ah_len - 1) << 2,
+ proto_tree_add_text(ah_tree, NullTVB, offset + sizeof(ah), (ah.ah_len - 1) << 2,
"ICV");
}
@@ -166,12 +166,12 @@ dissect_esp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
* (ie none)
*/
if(tree) {
- ti = proto_tree_add_item(tree, proto_esp, offset, END_OF_FRAME, NULL);
+ 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,
+ 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,
+ 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);
@@ -208,24 +208,24 @@ dissect_ipcomp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
* (ie none)
*/
if (tree) {
- ti = proto_tree_add_item(tree, proto_ipcomp, offset, END_OF_FRAME,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(ipcomp_tree, hf_ipcomp_cpi, NullTVB,
offset + offsetof(struct ipcomp, comp_cpi), 2,
ntohs(ipcomp.comp_cpi));
} else {
- proto_tree_add_uint_format(ipcomp_tree, hf_ipcomp_cpi,
+ proto_tree_add_uint_format(ipcomp_tree, hf_ipcomp_cpi, NullTVB,
offset + offsetof(struct ipcomp, comp_cpi), 2,
ntohs(ipcomp.comp_cpi),
"CPI: %s (0x%04x)",
diff --git a/packet-ipv6.c b/packet-ipv6.c
index 267a7ae543..4753315e3e 100644
--- a/packet-ipv6.c
+++ b/packet-ipv6.c
@@ -1,7 +1,7 @@
/* packet-ipv6.c
* Routines for IPv6 packet disassembly
*
- * $Id: packet-ipv6.c,v 1.35 2000/04/20 07:05:56 guy Exp $
+ * $Id: packet-ipv6.c,v 1.36 2000/05/11 08:15:14 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -90,20 +90,20 @@ dissect_routing6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
/* !!! specify length */
- ti = proto_tree_add_text(tree, offset, len,
+ ti = proto_tree_add_text(tree, NullTVB, offset, len,
"Routing Header, Type %u", rt.ip6r_type);
rthdr_tree = proto_item_add_subtree(ti, ett_ipv6);
- proto_tree_add_text(rthdr_tree,
+ proto_tree_add_text(rthdr_tree, NullTVB,
offset + offsetof(struct ip6_rthdr, ip6r_nxt), 1,
"Next header: %s (0x%02x)", ipprotostr(rt.ip6r_nxt), rt.ip6r_nxt);
- proto_tree_add_text(rthdr_tree,
+ proto_tree_add_text(rthdr_tree, NullTVB,
offset + offsetof(struct ip6_rthdr, ip6r_len), 1,
"Length: %u (%d bytes)", rt.ip6r_len, len);
- proto_tree_add_text(rthdr_tree,
+ proto_tree_add_text(rthdr_tree, NullTVB,
offset + offsetof(struct ip6_rthdr, ip6r_type), 1,
"Type: %u", rt.ip6r_type);
- proto_tree_add_text(rthdr_tree,
+ proto_tree_add_text(rthdr_tree, NullTVB,
offset + offsetof(struct ip6_rthdr, ip6r_segleft), 1,
"Segments left: %u", rt.ip6r_segleft);
@@ -117,7 +117,7 @@ dissect_routing6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
for (a = rt0->ip6r0_addr, n = 0;
a < (struct e_in6_addr *)(buf + len);
a++, n++) {
- proto_tree_add_text(rthdr_tree,
+ proto_tree_add_text(rthdr_tree, NullTVB,
offset + offsetof(struct ip6_rthdr0, ip6r0_addr) + n * sizeof(struct e_in6_addr),
sizeof(struct e_in6_addr),
#ifdef INET6
@@ -173,14 +173,14 @@ dissect_opts(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
if (tree) {
/* !!! specify length */
- ti = proto_tree_add_text(tree, offset, len,
+ ti = proto_tree_add_text(tree, NullTVB, offset, len,
"%s Header", optname);
dstopt_tree = proto_item_add_subtree(ti, ett_ipv6);
- proto_tree_add_text(dstopt_tree,
+ proto_tree_add_text(dstopt_tree, NullTVB,
offset + offsetof(struct ip6_ext, ip6e_nxt), 1,
"Next header: %s (0x%02x)", ipprotostr(ext.ip6e_nxt), ext.ip6e_nxt);
- proto_tree_add_text(dstopt_tree,
+ proto_tree_add_text(dstopt_tree, NullTVB,
offset + offsetof(struct ip6_ext, ip6e_len), 1,
"Length: %u (%d bytes)", ext.ip6e_len, len);
@@ -188,23 +188,23 @@ dissect_opts(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
while (p < pd + offset + len) {
switch (p[0]) {
case IP6OPT_PAD1:
- proto_tree_add_text(dstopt_tree, p - pd, 1,
+ proto_tree_add_text(dstopt_tree, NullTVB, p - pd, 1,
"Pad1");
p++;
break;
case IP6OPT_PADN:
- proto_tree_add_text(dstopt_tree, p - pd, p[1] + 2,
+ proto_tree_add_text(dstopt_tree, NullTVB, p - pd, p[1] + 2,
"PadN: %u bytes", p[1] + 2);
p += p[1];
p += 2;
break;
case IP6OPT_JUMBO:
if (p[1] == 4) {
- proto_tree_add_text(dstopt_tree, p - pd, p[1] + 2,
+ proto_tree_add_text(dstopt_tree, NullTVB, p - pd, p[1] + 2,
"Jumbo payload: %u (%u bytes)",
pntohl(&p[2]), p[1] + 2);
} else {
- proto_tree_add_text(dstopt_tree, p - pd, p[1] + 2,
+ proto_tree_add_text(dstopt_tree, NullTVB, p - pd, p[1] + 2,
"Jumbo payload: Invalid length (%u bytes)",
p[1] + 2);
}
@@ -220,7 +220,7 @@ dissect_opts(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
"Unknown");
} else
rta = "Invalid length";
- ti = proto_tree_add_text(dstopt_tree, p - pd, p[1] + 2,
+ ti = proto_tree_add_text(dstopt_tree, NullTVB, p - pd, p[1] + 2,
"Router alert: %s (%u bytes)", rta, p[1] + 2);
p += p[1];
p += 2;
@@ -268,16 +268,16 @@ dissect_ipv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (tree) {
/* !!! specify length */
- ti = proto_tree_add_item(tree, proto_ipv6, offset, 40, NULL);
+ 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,
+ 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,
+ 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));
@@ -285,27 +285,27 @@ dissect_ipv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
* there should be no alignment problems for ip6_flow, since it's the first
* guint32 in the ipv6 struct
*/
- proto_tree_add_uint_format(ipv6_tree, hf_ipv6_flow,
+ proto_tree_add_uint_format(ipv6_tree, hf_ipv6_flow, NullTVB,
offset + offsetof(struct ip6_hdr, ip6_flow), 4,
(unsigned long)(ntohl(ipv6.ip6_flow & IPV6_FLOWLABEL_MASK)),
"Flowlabel: 0x%05lx",
(unsigned long)(ntohl(ipv6.ip6_flow & IPV6_FLOWLABEL_MASK)));
- proto_tree_add_item(ipv6_tree, hf_ipv6_plen,
+ proto_tree_add_item(ipv6_tree, hf_ipv6_plen, NullTVB,
offset + offsetof(struct ip6_hdr, ip6_plen), 2,
ntohs(ipv6.ip6_plen));
- proto_tree_add_uint_format(ipv6_tree, hf_ipv6_nxt,
+ proto_tree_add_uint_format(ipv6_tree, hf_ipv6_nxt, NullTVB,
offset + offsetof(struct ip6_hdr, ip6_nxt), 1,
ipv6.ip6_nxt,
"Next header: %s (0x%02x)",
ipprotostr(ipv6.ip6_nxt), ipv6.ip6_nxt);
- proto_tree_add_item(ipv6_tree, hf_ipv6_hlim,
+ proto_tree_add_item(ipv6_tree, hf_ipv6_hlim, NullTVB,
offset + offsetof(struct ip6_hdr, ip6_hlim), 1,
ipv6.ip6_hlim);
- proto_tree_add_ipv6_format(ipv6_tree, hf_ipv6_src,
+ proto_tree_add_ipv6_format(ipv6_tree, hf_ipv6_src, NullTVB,
offset + offsetof(struct ip6_hdr, ip6_src), 16,
(guint8 *)&ipv6.ip6_src,
#ifdef INET6
@@ -316,7 +316,7 @@ dissect_ipv6(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
#endif
ip6_to_str(&ipv6.ip6_src));
- proto_tree_add_ipv6_format(ipv6_tree, hf_ipv6_dst,
+ proto_tree_add_ipv6_format(ipv6_tree, hf_ipv6_dst, NullTVB,
offset + offsetof(struct ip6_hdr, ip6_dst), 16,
(guint8 *)&ipv6.ip6_dst,
#ifdef INET6
@@ -363,7 +363,7 @@ again:
}
#ifdef TEST_FINALHDR
- proto_tree_add_item_hidden(ipv6_tree, hf_ipv6_final, poffset, 1, nxt);
+ proto_tree_add_item_hidden(ipv6_tree, hf_ipv6_final, NullTVB, poffset, 1, nxt);
#endif
if (frag) {
/* fragmented */
diff --git a/packet-ipx.c b/packet-ipx.c
index 9812986852..68c666ce03 100644
--- a/packet-ipx.c
+++ b/packet-ipx.c
@@ -2,7 +2,7 @@
* Routines for NetWare's IPX
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-ipx.c,v 1.56 2000/04/18 04:46:05 guy Exp $
+ * $Id: packet-ipx.c,v 1.57 2000/05/11 08:15:14 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -399,22 +399,22 @@ dissect_ipx(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
ipx_checksum = pntohs(&pd[offset]);
ipx_hops = pd[offset+4];
- ti = proto_tree_add_item(tree, proto_ipx, offset, 30, NULL);
+ 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, offset, 2, ipx_checksum);
- proto_tree_add_uint_format(ipx_tree, hf_ipx_len, offset+2, 2, ipx_length,
+ 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, offset+4, 1, ipx_hops,
+ 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, offset+5, 1, ipx_type);
- proto_tree_add_item(ipx_tree, hf_ipx_dnet, offset+6, 4, ipx_dnet_val);
- proto_tree_add_item(ipx_tree, hf_ipx_dnode, offset+10, 6, ipx_dnode);
- proto_tree_add_uint_format(ipx_tree, hf_ipx_dsocket, offset+16, 2,
+ 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, offset+18, 4, ipx_snet_val);
- proto_tree_add_item(ipx_tree, hf_ipx_snode, offset+22, 6, ipx_snode);
- proto_tree_add_uint_format(ipx_tree, hf_ipx_ssocket, offset+28, 2,
+ 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);
}
@@ -508,40 +508,40 @@ dissect_spx(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
col_add_str(fd, COL_INFO, "SPX");
if (tree) {
- ti = proto_tree_add_item(tree, proto_spx, offset, 12, NULL);
+ 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,
+ proto_tree_add_uint_format(spx_tree, hf_spx_connection_control, NullTVB,
offset, 1,
pd[offset],
"Connection Control: %s (0x%02X)",
spx_conn_ctrl(pd[offset]),
pd[offset]);
- proto_tree_add_uint_format(spx_tree, hf_spx_datastream_type,
+ proto_tree_add_uint_format(spx_tree, hf_spx_datastream_type, NullTVB,
offset+1, 1,
pd[offset+1],
"Datastream Type: %s (0x%02X)",
spx_datastream(pd[offset+1]),
pd[offset+1]);
- proto_tree_add_item(spx_tree, hf_spx_src_id,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(spx_tree, hf_spx_all_nr, NullTVB,
offset+10, 2,
pntohs( &pd[offset+10] ) );
@@ -551,7 +551,7 @@ dissect_spx(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
/* ================================================================= */
-/* IPX Message */
+/* IPX Message */
/* ================================================================= */
static void
dissect_ipxmsg(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
@@ -576,11 +576,11 @@ dissect_ipxmsg(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_ipxmsg, offset, END_OF_FRAME, NULL);
+ 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, offset, 1, conn_number);
- proto_tree_add_item(msg_tree, hf_msg_sigchar, offset+1, 1, sig_char);
+ 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);
}
}
@@ -612,26 +612,26 @@ dissect_ipxrip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_ipxrip, offset, END_OF_FRAME, NULL);
+ 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) {
- proto_tree_add_text(rip_tree, offset, 2,
+ proto_tree_add_text(rip_tree, NullTVB, offset, 2,
"RIP packet type: %s", rip_type[operation]);
if (operation == 0) {
proto_tree_add_item_hidden(rip_tree,
hf_ipxrip_request,
- offset, 2, 1);
+ NullTVB, offset, 2, 1);
} else {
proto_tree_add_item_hidden(rip_tree,
hf_ipxrip_response,
- offset, 2, 1);
+ NullTVB, offset, 2, 1);
}
}
else {
- proto_tree_add_text(rip_tree, offset, 2, "Unknown RIP packet type");
+ proto_tree_add_text(rip_tree, NullTVB, offset, 2, "Unknown RIP packet type");
}
for (cursor = offset + 2; cursor < pi.captured_len; cursor += 8) {
@@ -640,14 +640,14 @@ dissect_ipxrip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
route.ticks = pntohs(&pd[cursor+6]);
if (operation == IPX_RIP_REQUEST - 1) {
- proto_tree_add_text(rip_tree, cursor, 8,
+ proto_tree_add_text(rip_tree, NullTVB, cursor, 8,
"Route Vector: %s, %d hop%s, %d tick%s",
ipxnet_to_string((guint8*)&route.network),
route.hops, route.hops == 1 ? "" : "s",
route.ticks, route.ticks == 1 ? "" : "s");
}
else {
- proto_tree_add_text(rip_tree, cursor, 8,
+ proto_tree_add_text(rip_tree, NullTVB, cursor, 8,
"Route Vector: %s, %d hop%s, %d tick%s (%d ms)",
ipxnet_to_string((guint8*)&route.network),
route.hops, route.hops == 1 ? "" : "s",
@@ -661,7 +661,7 @@ dissect_ipxrip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* ================================================================= */
-/* SAP */
+/* SAP */
/* ================================================================= */
static char*
server_type(guint16 type)
@@ -760,23 +760,23 @@ dissect_ipxsap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_sap, offset, END_OF_FRAME, NULL);
+ 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, offset, 2, sap_type[query.query_type - 1]);
+ 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,
- offset, 2, 1);
+ NullTVB, offset, 2, 1);
} else {
proto_tree_add_item_hidden(sap_tree,
hf_sap_request,
- offset, 2, 1);
+ NullTVB, offset, 2, 1);
}
}
else {
- proto_tree_add_text(sap_tree, offset, 2,
+ proto_tree_add_text(sap_tree, NullTVB, offset, 2,
"Unknown SAP Packet Type %d", query.query_type);
}
@@ -791,25 +791,25 @@ dissect_ipxsap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
server.server_port = pntohs(&pd[cursor+60]);
server.intermediate_network = pntohs(&pd[cursor+62]);
- ti = proto_tree_add_text(sap_tree, cursor+2, 48,
+ ti = proto_tree_add_text(sap_tree, NullTVB, cursor+2, 48,
"Server Name: %s", server.server_name);
s_tree = proto_item_add_subtree(ti, ett_ipxsap_server);
- proto_tree_add_text(s_tree, cursor, 2, "Server Type: %s (0x%04X)",
+ proto_tree_add_text(s_tree, NullTVB, cursor, 2, "Server Type: %s (0x%04X)",
server_type(server.server_type), server.server_type);
- proto_tree_add_text(s_tree, cursor+50, 4, "Network: %s",
+ proto_tree_add_text(s_tree, NullTVB, cursor+50, 4, "Network: %s",
ipxnet_to_string((guint8*)&pd[cursor+50]));
- proto_tree_add_text(s_tree, cursor+54, 6, "Node: %s",
+ proto_tree_add_text(s_tree, NullTVB, cursor+54, 6, "Node: %s",
ether_to_str((guint8*)&pd[cursor+54]));
- proto_tree_add_text(s_tree, cursor+60, 2, "Socket: %s (0x%04X)",
+ proto_tree_add_text(s_tree, NullTVB, cursor+60, 2, "Socket: %s (0x%04X)",
port_text(server.server_port), server.server_port);
- proto_tree_add_text(s_tree, cursor+62, 2,
+ proto_tree_add_text(s_tree, NullTVB, cursor+62, 2,
"Intermediate Networks: %d",
server.intermediate_network);
}
}
else { /* queries */
- proto_tree_add_text(sap_tree, offset+2, 2, "Server Type: %s (0x%04X)",
+ proto_tree_add_text(sap_tree, NullTVB, offset+2, 2, "Server Type: %s (0x%04X)",
server_type(query.server_type), query.server_type);
}
}
diff --git a/packet-irc.c b/packet-irc.c
index e0c0bc9b13..e32454954d 100644
--- a/packet-irc.c
+++ b/packet-irc.c
@@ -1,7 +1,7 @@
/* packet-irc.c
* Routines for MSX irc packet dissection
*
- * $Id: packet-irc.c,v 1.4 2000/04/08 07:07:22 guy Exp $
+ * $Id: packet-irc.c,v 1.5 2000/05/11 08:15:15 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -55,18 +55,18 @@ static gint ett_irc = -1;
static void
dissect_irc_request(proto_tree *tree, char *line, int offset, int len)
{
- proto_tree_add_item_hidden(tree, hf_irc_request,
+ proto_tree_add_item_hidden(tree, hf_irc_request, NullTVB,
offset, len, TRUE);
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Request Line: %s", line);
}
static void
dissect_irc_response(proto_tree *tree, char *line, int offset, int len)
{
- proto_tree_add_item_hidden(tree, hf_irc_response,
+ proto_tree_add_item_hidden(tree, hf_irc_response, NullTVB,
offset, len, TRUE);
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Response Line: %s", line);
}
@@ -89,7 +89,7 @@ dissect_irc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree)
{
- ti = proto_tree_add_item(tree, proto_irc, offset, END_OF_FRAME, NULL);
+ 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 );
diff --git a/packet-isakmp.c b/packet-isakmp.c
index 2d4970f089..e8d14407c5 100644
--- a/packet-isakmp.c
+++ b/packet-isakmp.c
@@ -2,7 +2,7 @@
* Routines for the Internet Security Association and Key Management Protocol (ISAKMP)
* Brad Robel-Forrest <brad.robel-forrest@watchguard.com>
*
- * $Id: packet-isakmp.c,v 1.14 2000/04/28 17:53:25 guy Exp $
+ * $Id: packet-isakmp.c,v 1.15 2000/05/11 08:15:15 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -353,28 +353,28 @@ dissect_isakmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
proto_item * ti;
proto_tree * isakmp_tree;
- ti = proto_tree_add_item(tree, proto_isakmp, offset, len, NULL);
+ 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, offset, sizeof(hdr->icookie),
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->icookie),
"Initiator cookie");
offset += sizeof(hdr->icookie);
- proto_tree_add_text(isakmp_tree, offset, sizeof(hdr->rcookie),
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->rcookie),
"Responder cookie");
offset += sizeof(hdr->rcookie);
- proto_tree_add_text(isakmp_tree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload);
- proto_tree_add_text(isakmp_tree, offset, sizeof(hdr->version),
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->version),
"Version: %u.%u",
hi_nibble(hdr->version), lo_nibble(hdr->version));
offset += sizeof(hdr->version);
- proto_tree_add_text(isakmp_tree, offset, sizeof(hdr->exch_type),
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->exch_type),
"Exchange type: %s (%u)",
exchtype2str(hdr->exch_type), hdr->exch_type);
offset += sizeof(hdr->exch_type);
@@ -383,31 +383,31 @@ dissect_isakmp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
proto_item * fti;
proto_tree * ftree;
- fti = proto_tree_add_text(isakmp_tree, offset, sizeof(hdr->flags), "Flags");
+ fti = proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->flags), "Flags");
ftree = proto_item_add_subtree(fti, ett_isakmp_flags);
- proto_tree_add_text(ftree, offset, 1, "%s",
+ proto_tree_add_text(ftree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(hdr->flags, E_FLAG, sizeof(hdr->flags)*8,
"Encryption", "No encryption"));
- proto_tree_add_text(ftree, offset, 1, "%s",
+ proto_tree_add_text(ftree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(hdr->flags, C_FLAG, sizeof(hdr->flags)*8,
"Commit", "No commit"));
- proto_tree_add_text(ftree, offset, 1, "%s",
+ proto_tree_add_text(ftree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(hdr->flags, A_FLAG, sizeof(hdr->flags)*8,
"Authentication", "No authentication"));
offset += sizeof(hdr->flags);
}
- proto_tree_add_text(isakmp_tree, offset, sizeof(hdr->message_id), "Message ID");
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->message_id), "Message ID");
offset += sizeof(hdr->message_id);
- proto_tree_add_text(isakmp_tree, offset, sizeof(hdr->length),
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, sizeof(hdr->length),
"Length: %u", len);
offset += sizeof(hdr->length);
if (hdr->flags & E_FLAG) {
if (IS_DATA_IN_FRAME(offset) && isakmp_tree) {
- proto_tree_add_text(isakmp_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(isakmp_tree, NullTVB, offset, END_OF_FRAME,
"Encrypted payload (%d byte%s)",
END_OF_FRAME, plurality(END_OF_FRAME, "", "s"));
}
@@ -435,26 +435,26 @@ dissect_sa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
guint16 length = pntohs(&hdr->length);
guint32 doi = pntohl(&hdr->doi);
guint32 situation = pntohl(&hdr->situation);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Security Association payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Security Association payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(doi),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(doi),
"Domain of interpretation: %s (%u)",
doitype2str(doi), doi);
offset += sizeof(doi);
- proto_tree_add_text(ntree, offset, sizeof(situation),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(situation),
"Situation: %s (%u)",
situation2str(situation), situation);
offset += sizeof(situation);
@@ -477,41 +477,41 @@ dissect_proposal(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
struct proposal_hdr * hdr = (struct proposal_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Proposal payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Proposal payload");
proto_tree * ntree;
int next_hdr_offset = offset + length;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(hdr->proposal_num),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->proposal_num),
"Proposal number: %u", hdr->proposal_num);
offset += sizeof(hdr->proposal_num);
- proto_tree_add_text(ntree, offset, sizeof(hdr->protocol_id),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->protocol_id),
"Protocol ID: %s (%u)",
proto2str(hdr->protocol_id), hdr->protocol_id);
offset += sizeof(hdr->protocol_id);
- proto_tree_add_text(ntree, offset, sizeof(hdr->spi_size),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->spi_size),
"SPI size: %u", hdr->spi_size);
offset += sizeof(hdr->spi_size);
- proto_tree_add_text(ntree, offset, sizeof(hdr->num_transforms),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->num_transforms),
"Number of transforms: %u", hdr->num_transforms);
offset += sizeof(hdr->num_transforms);
if (hdr->spi_size) {
- proto_tree_add_text(ntree, offset, hdr->spi_size, "SPI");
+ proto_tree_add_text(ntree, NullTVB, offset, hdr->spi_size, "SPI");
offset += hdr->spi_size;
}
@@ -535,38 +535,38 @@ dissect_transform(const u_char *pd, int offset, frame_data *fd,
struct trans_hdr * hdr = (struct trans_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Transform payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Transform payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(hdr->transform_num),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->transform_num),
"Transform number: %u", hdr->transform_num);
offset += sizeof(hdr->transform_num);
switch (protocol_id) {
default:
case 1: /* ISAKMP */
- proto_tree_add_text(ntree, offset, sizeof(hdr->transform_id),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->transform_id),
"Transform ID: %s (%u)",
trans2str(hdr->transform_id), hdr->transform_id);
break;
case 2: /* AH */
- proto_tree_add_text(ntree, offset, sizeof(hdr->transform_id),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->transform_id),
"Transform ID: %s (%u)",
ah_trans2str(hdr->transform_id), hdr->transform_id);
break;
case 3: /* ESP */
- proto_tree_add_text(ntree, offset, sizeof(hdr->transform_id),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->transform_id),
"Transform ID: %s (%u)",
esp_trans2str(hdr->transform_id), hdr->transform_id);
break;
@@ -589,7 +589,7 @@ dissect_transform(const u_char *pd, int offset, frame_data *fd,
}
if (pd[offset] & 0xf0) {
- proto_tree_add_text(ntree, offset, 4,
+ proto_tree_add_text(ntree, NullTVB, offset, 4,
"%s (%u): %s (%u)",
str, type,
value2str(ike_phase1, type, val_len), val_len);
@@ -599,7 +599,7 @@ dissect_transform(const u_char *pd, int offset, frame_data *fd,
else {
guint16 pack_len = 4 + val_len;
- proto_tree_add_text(ntree, offset, pack_len,
+ proto_tree_add_text(ntree, NullTVB, offset, pack_len,
"%s (%u): %s",
str, type,
num2str(pd + offset + 4, val_len));
@@ -623,21 +623,21 @@ dissect_key_exch(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
struct ke_hdr * hdr = (struct ke_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Key Exchange payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Key Exchange payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Key Exchange Data");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Key Exchange Data");
offset += (length - sizeof(*hdr));
if (hdr->next_payload < NUM_LOAD_TYPES) {
@@ -655,45 +655,45 @@ dissect_id(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct id_hdr * hdr = (struct id_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Identification payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Identification payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(hdr->id_type),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->id_type),
"ID type: %s (%u)", id2str(hdr->id_type), hdr->id_type);
offset += sizeof(hdr->id_type);
- proto_tree_add_text(ntree, offset, sizeof(hdr->protocol_id),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->protocol_id),
"Protocol ID: %u", hdr->protocol_id);
offset += sizeof(hdr->protocol_id);
- proto_tree_add_text(ntree, offset, sizeof(hdr->port),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->port),
"Port: %u", pntohs(&hdr->port));
offset += sizeof(hdr->port);
switch (hdr->id_type) {
case 1:
case 4:
- proto_tree_add_text(ntree, offset, length-sizeof(*hdr),
+ proto_tree_add_text(ntree, NullTVB, offset, length-sizeof(*hdr),
"Identification data: %s", ip_to_str(pd+offset));
break;
case 2:
case 3:
- proto_tree_add_text(ntree, offset, length-sizeof(*hdr),
+ proto_tree_add_text(ntree, NullTVB, offset, length-sizeof(*hdr),
"Identification data: %s", (char *)(pd+offset));
break;
default:
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Identification Data");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Identification Data");
}
offset += (length - sizeof(*hdr));
@@ -712,25 +712,25 @@ dissect_cert(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct cert_hdr * hdr = (struct cert_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Certificate payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Certificate payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(hdr->cert_enc),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->cert_enc),
"Certificate encoding: %u", hdr->cert_enc);
offset += sizeof(hdr->cert_enc);
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Certificate Data");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Certificate Data");
offset += (length - sizeof(*hdr));
if (hdr->next_payload < NUM_LOAD_TYPES) {
@@ -748,25 +748,25 @@ dissect_certreq(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
struct certreq_hdr * hdr = (struct certreq_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Certificate Request payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Certificate Request payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(hdr->cert_type),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->cert_type),
"Certificate type: %u", hdr->cert_type);
offset += sizeof(hdr->cert_type);
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Certificate Authority");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Certificate Authority");
offset += (length - sizeof(*hdr));
if (hdr->next_payload < NUM_LOAD_TYPES) {
@@ -784,21 +784,21 @@ dissect_hash(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct hash_hdr * hdr = (struct hash_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Hash payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Hash payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Hash Data");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Hash Data");
offset += (length - sizeof(*hdr));
if (hdr->next_payload < NUM_LOAD_TYPES) {
@@ -816,21 +816,21 @@ dissect_sig(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct sig_hdr * hdr = (struct sig_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Signature payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Signature payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Signature Data");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Signature Data");
offset += (length - sizeof(*hdr));
if (hdr->next_payload < NUM_LOAD_TYPES) {
@@ -848,21 +848,21 @@ dissect_nonce(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct nonce_hdr * hdr = (struct nonce_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Nonce payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Nonce payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Nonce Data");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Nonce Data");
offset += (length - sizeof(*hdr));
if (hdr->next_payload < NUM_LOAD_TYPES) {
@@ -882,44 +882,44 @@ dissect_notif(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
guint16 length = pntohs(&hdr->length);
guint32 doi = pntohl(&hdr->doi);
guint16 msgtype = pntohs(&hdr->msgtype);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Notification payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Notification payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(doi),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(doi),
"Domain of Interpretation: %s (%u)", doitype2str(doi), doi);
offset += sizeof(doi);
- proto_tree_add_text(ntree, offset, sizeof(hdr->protocol_id),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->protocol_id),
"Protocol ID: %s (%u)",
proto2str(hdr->protocol_id), hdr->protocol_id);
offset += sizeof(hdr->protocol_id);
- proto_tree_add_text(ntree, offset, sizeof(hdr->spi_size),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->spi_size),
"SPI size: %u", hdr->spi_size);
offset += sizeof(hdr->spi_size);
- proto_tree_add_text(ntree, offset, sizeof(msgtype),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(msgtype),
"Message type: %s (%u)", msgtype2str(msgtype), msgtype);
offset += sizeof(msgtype);
if (hdr->spi_size) {
- proto_tree_add_text(ntree, offset, hdr->spi_size, "Security Parameter Index");
+ proto_tree_add_text(ntree, NullTVB, offset, hdr->spi_size, "Security Parameter Index");
offset += hdr->spi_size;
}
if (length - sizeof(*hdr)) {
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr) - hdr->spi_size,
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr) - hdr->spi_size,
"Notification Data");
offset += (length - sizeof(*hdr) - hdr->spi_size);
}
@@ -941,40 +941,40 @@ dissect_delete(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
guint16 length = pntohs(&hdr->length);
guint32 doi = pntohl(&hdr->doi);
guint16 num_spis = pntohs(&hdr->num_spis);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Delete payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Delete payload");
proto_tree * ntree;
guint16 i;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, sizeof(doi),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(doi),
"Domain of Interpretation: %s (%u)", doitype2str(doi), doi);
offset += sizeof(doi);
- proto_tree_add_text(ntree, offset, sizeof(hdr->protocol_id),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->protocol_id),
"Protocol ID: %s (%u)",
proto2str(hdr->protocol_id), hdr->protocol_id);
offset += sizeof(hdr->protocol_id);
- proto_tree_add_text(ntree, offset, sizeof(hdr->spi_size),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->spi_size),
"SPI size: %u", hdr->spi_size);
offset += sizeof(hdr->spi_size);
- proto_tree_add_text(ntree, offset, num_spis,
+ proto_tree_add_text(ntree, NullTVB, offset, num_spis,
"Number of SPIs: %u", num_spis);
offset += sizeof(hdr->num_spis);
for (i = 0; i < num_spis; ++i) {
- proto_tree_add_text(ntree, offset, hdr->spi_size,
+ proto_tree_add_text(ntree, NullTVB, offset, hdr->spi_size,
"SPI (%d)", i);
offset += hdr->spi_size;
}
@@ -994,21 +994,21 @@ dissect_vid(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct vid_hdr * hdr = (struct vid_hdr *)(pd + offset);
guint16 length = pntohs(&hdr->length);
- proto_item * ti = proto_tree_add_text(tree, offset, length, "Vendor ID payload");
+ proto_item * ti = proto_tree_add_text(tree, NullTVB, offset, length, "Vendor ID payload");
proto_tree * ntree;
ntree = proto_item_add_subtree(ti, ett_isakmp_payload);
- proto_tree_add_text(ntree, offset, sizeof(hdr->next_payload),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(hdr->next_payload),
"Next payload: %s (%u)",
payloadtype2str(hdr->next_payload), hdr->next_payload);
offset += sizeof(hdr->next_payload) * 2;
- proto_tree_add_text(ntree, offset, sizeof(length),
+ proto_tree_add_text(ntree, NullTVB, offset, sizeof(length),
"Length: %u", length);
offset += sizeof(length);
- proto_tree_add_text(ntree, offset, length - sizeof(*hdr), "Vendor ID");
+ proto_tree_add_text(ntree, NullTVB, offset, length - sizeof(*hdr), "Vendor ID");
offset += (length - sizeof(*hdr));
if (hdr->next_payload < NUM_LOAD_TYPES) {
diff --git a/packet-isis-clv.c b/packet-isis-clv.c
index 1de98279c9..ed1354af90 100644
--- a/packet-isis-clv.c
+++ b/packet-isis-clv.c
@@ -1,7 +1,7 @@
/* packet-isis-clv.c
* Common CLV decode routines.
*
- * $Id: packet-isis-clv.c,v 1.3 2000/04/15 22:11:09 guy Exp $
+ * $Id: packet-isis-clv.c,v 1.4 2000/05/11 08:15:16 gram Exp $
* Stuart Stanley <stuarts@mxmail.net>
*
* Ethereal - Network traffic analyzer
@@ -98,7 +98,7 @@ isis_dissect_area_address_clv(const u_char *pd, int offset,
sbuf = print_nsap_net( pd + offset + 1, mylen );
/* and spit it out */
if ( tree ) {
- proto_tree_add_text ( tree, offset, mylen + 1,
+ proto_tree_add_text ( tree, NullTVB, offset, mylen + 1,
"Area address (%d): %s", mylen, sbuf );
}
offset += mylen + 1;
@@ -167,7 +167,7 @@ isis_dissect_authentication_clv(const u_char *pd, int offset, guint length,
}
/* NOTE, s no longer valid */
}
- proto_tree_add_text ( tree, offset - 1, length + 1,
+ proto_tree_add_text ( tree, NullTVB, offset - 1, length + 1,
"%s %s", meaning, sbuf );
if ( !use_cleartext ) {
if ( length ) {
@@ -212,7 +212,7 @@ isis_dissect_ip_int_clv(const u_char *pd, int offset,
}
memcpy(&addr, &pd[offset], sizeof(addr));
if ( tree ) {
- proto_tree_add_item(tree, tree_id, offset, 4, addr);
+ proto_tree_add_item(tree, tree_id, NullTVB, offset, 4, addr);
}
offset += 4;
length -= 4;
@@ -258,7 +258,7 @@ isis_dissect_nlpid_clv(const u_char *pd, int offset,
sprintf ( sbuf, "--none--" );
}
- proto_tree_add_text ( tree, old_offset, hlen,
+ proto_tree_add_text ( tree, NullTVB, old_offset, hlen,
"NLPID: %s", sbuf );
}
@@ -319,7 +319,7 @@ isis_dissect_clvs(const isis_clv_handle_t *opts, int len,
/* adjust by 2 for code/len octets */
snprintf ( sbuf, sizeof(sbuf), "%s (%d)",
opts[q].tree_text, length );
- ti = proto_tree_add_text(tree, offset - 2,
+ ti = proto_tree_add_text(tree, NullTVB, offset - 2,
length + 2, sbuf);
clv_tree = proto_item_add_subtree(ti,
*opts[q].tree_id );
@@ -331,7 +331,7 @@ isis_dissect_clvs(const isis_clv_handle_t *opts, int len,
if (tree) {
snprintf ( sbuf, sizeof(sbuf),
"Unknown code (%d:%d)", code, length );
- ti = proto_tree_add_text(tree, offset - 2,
+ ti = proto_tree_add_text(tree, NullTVB, offset - 2,
length + 2, sbuf);
clv_tree = proto_item_add_subtree(ti,
unknown_tree_id );
diff --git a/packet-isis-hello.c b/packet-isis-hello.c
index 3c53125469..519e0e48b3 100644
--- a/packet-isis-hello.c
+++ b/packet-isis-hello.c
@@ -1,7 +1,7 @@
/* packet-isis-hello.c
* Routines for decoding isis hello packets and their CLVs
*
- * $Id: packet-isis-hello.c,v 1.6 2000/04/15 22:11:09 guy Exp $
+ * $Id: packet-isis-hello.c,v 1.7 2000/05/11 08:15:16 gram Exp $
* Stuart Stanley <stuarts@mxmail.net>
*
* Ethereal - Network traffic analyzer
@@ -360,7 +360,7 @@ dissect_hello_is_neighbors_clv(const u_char *pd, int offset,
* format string.
*/
if ( tree ) {
- proto_tree_add_text ( tree, offset, 6,
+ proto_tree_add_text ( tree, NullTVB, offset, 6,
"IS Neighbor: %s", print_system_id( pd + offset, 6 ) );
}
offset += 6;
@@ -436,12 +436,12 @@ isis_dissect_isis_hello(int hello_type, int header_length,
ihp = (isis_hello_t *) &pd[offset];
if (tree) {
- ti = proto_tree_add_item(tree, proto_isis_hello,
+ 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,
- offset, 1, ihp->isis_hello_circuit_reserved,
+ NullTVB, offset, 1, ihp->isis_hello_circuit_reserved,
"Circuit type : %s, reserved(0x%02x == 0)",
val_to_str(ihp->isis_hello_circuit,
isis_hello_circuit_type_vals,
@@ -449,23 +449,23 @@ isis_dissect_isis_hello(int hello_type, int header_length,
ihp->isis_hello_creserved
);
- proto_tree_add_string_format(hello_tree, hf_isis_hello_lan_id,
+ proto_tree_add_string_format(hello_tree, hf_isis_hello_lan_id, NullTVB,
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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_string_format(hello_tree, hf_isis_hello_lan_id, NullTVB,
offset + 12, 7, ihp->isis_hello_lan_id,
"SystemID{ Designated IS } : %s",
print_system_id( pd + offset + 12, 7 ) );
diff --git a/packet-isis-lsp.c b/packet-isis-lsp.c
index 296123d7f0..0b27029389 100644
--- a/packet-isis-lsp.c
+++ b/packet-isis-lsp.c
@@ -1,7 +1,7 @@
/* packet-isis-lsp.c
* Routines for decoding isis lsp packets and their CLVs
*
- * $Id: packet-isis-lsp.c,v 1.5 2000/04/15 22:11:09 guy Exp $
+ * $Id: packet-isis-lsp.c,v 1.6 2000/05/11 08:15:16 gram Exp $
* Stuart Stanley <stuarts@mxmail.net>
*
* Ethereal - Network traffic analyzer
@@ -267,7 +267,7 @@ dissect_metric(proto_tree *tree, int offset, guint8 value,
if ( !tree ) return;
s = ISIS_LSP_CLV_METRIC_SUPPORTED(value);
- proto_tree_add_text ( tree, offset, 1,
+ proto_tree_add_text ( tree, NullTVB, offset, 1,
"%s Metric: %s%s %s%d:%d", pstr,
s ? "Not supported" : "Supported",
(s && force_supported) ? "(but is required to be)":"",
@@ -314,7 +314,7 @@ dissect_lsp_ip_reachability_clv(const u_char *pd, int offset,
if ( tree ) {
memcpy(&src, &pd[offset+4], 4);
memcpy(&mask, &pd[offset+8], 4);
- ti = proto_tree_add_text ( tree, offset, 12,
+ ti = proto_tree_add_text ( tree, NullTVB, offset, 12,
"IP prefix: %s (%s) : %s",
get_hostname(src), ip_to_str((guint8*)&src),
ip_to_str((guint8*)&mask) );
@@ -490,10 +490,10 @@ dissect_lsp_eis_neighbors_clv_inner(const u_char *pd, int offset,
if ( tree ) {
if ( show_virtual ) {
/* virtual path flag */
- proto_tree_add_text ( tree, offset, 1,
+ proto_tree_add_text ( tree, NullTVB, offset, 1,
&pd[offset] ? "IsNotVirtual" : "IsVirtual" );
} else {
- proto_tree_add_text ( tree, offset, 1,
+ proto_tree_add_text ( tree, NullTVB, offset, 1,
"Reserved value 0x%02x, must == 0",
pd[offset] );
}
@@ -515,11 +515,11 @@ dissect_lsp_eis_neighbors_clv_inner(const u_char *pd, int offset,
*/
if ( tree ) {
if ( is_eis ) {
- ti = proto_tree_add_text ( tree, offset, 11,
+ ti = proto_tree_add_text ( tree, NullTVB, offset, 11,
"ES Neighbor: %s",
print_system_id( pd + offset + 4, 6 ) );
} else {
- ti = proto_tree_add_text ( tree, offset, 11,
+ ti = proto_tree_add_text ( tree, NullTVB, offset, 11,
"IS Neighbor: %s",
print_system_id( pd + offset + 4, 6 ) );
}
@@ -643,7 +643,7 @@ dissect_lsp_partition_dis_clv(const u_char *pd, int offset,
* Gotta build a sub-tree for all our pieces
*/
if ( tree ) {
- proto_tree_add_text ( tree, offset+4, 6,
+ proto_tree_add_text ( tree, NullTVB, offset+4, 6,
"Partition designated L2 IS: %s",
print_system_id( pd + offset, 6 ) );
}
@@ -718,7 +718,7 @@ dissect_lsp_prefix_neighbors_clv(const u_char *pd, int offset,
sbuf = print_area( pd + offset + 1, mylen );
/* and spit it out */
if ( tree ) {
- proto_tree_add_text ( tree, offset, mylen + 1,
+ proto_tree_add_text ( tree, NullTVB, offset, mylen + 1,
"Area address (%d): %s", mylen, sbuf );
}
offset += mylen + 1;
@@ -744,7 +744,7 @@ dissect_lsp_prefix_neighbors_clv(const u_char *pd, int offset,
void
isis_lsp_decode_lsp_id(char *tstr, proto_tree *tree, int offset,
isis_lsp_id_t *id ) {
- proto_tree_add_text(tree, offset, 8,
+ proto_tree_add_text(tree, NullTVB, offset, 8,
"%s: %s.%02x-%02x", tstr,
print_system_id( id->source_id, 6 ),
id->psuodonode_id,
@@ -790,21 +790,21 @@ isis_dissect_isis_lsp(int lsp_type, int header_length,
ilp = (isis_lsp_t *) &pd[offset];
if (tree) {
- ti = proto_tree_add_item(tree, proto_isis_lsp,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(lsp_tree, hf_isis_lsp_checksum, NullTVB,
offset + 16, 2, pntohs(&ilp->isis_lsp_checksum));
/*
@@ -826,7 +826,7 @@ isis_dissect_isis_lsp(int lsp_type, int header_length,
if (!some) {
strcat ( sbuf, "<none set!>" );
}
- proto_tree_add_text(lsp_tree, offset + 18, 1,
+ proto_tree_add_text(lsp_tree, NullTVB, offset + 18, 1,
"Type block(0x%02x): P:%d, Supported metric(s): %s, OL:%d, istype:%s",
ilp->isis_lsp_type_block,
ISIS_LSP_PARTITION(ilp->isis_lsp_type_block) ? 1 : 0,
diff --git a/packet-isis-snp.c b/packet-isis-snp.c
index 6b37ac5f0d..a5ce886790 100644
--- a/packet-isis-snp.c
+++ b/packet-isis-snp.c
@@ -1,7 +1,7 @@
/* packet-isis-snp.c
* Routines for decoding isis complete & partial SNP and their payload
*
- * $Id: packet-isis-snp.c,v 1.3 2000/04/15 22:11:10 guy Exp $
+ * $Id: packet-isis-snp.c,v 1.4 2000/05/11 08:15:17 gram Exp $
* Stuart Stanley <stuarts@mxmail.net>
*
* Ethereal - Network traffic analyzer
@@ -197,14 +197,14 @@ dissect_snp_lsp_entries(const u_char *pd, int offset, guint length,
return;
}
- proto_tree_add_text(tree, offset, 2, "Remaining life : %d",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Remaining life : %d",
pntohs(&ps->isis_snp_remaining_lifetime));
isis_lsp_decode_lsp_id( "LSP ID ", tree, offset + 2,
&ps->isis_snp_lsp_id );
- proto_tree_add_text(tree, offset+10, 4,
+ proto_tree_add_text(tree, NullTVB, offset+10, 4,
"LSP Sequence Number : 0x%04x",
pntohl(&ps->isis_snp_sequence_number));
- proto_tree_add_text(tree, offset+14, 2,
+ proto_tree_add_text(tree, NullTVB, offset+14, 2,
"LSP checksum : 0x%02x",
pntohs(&ps->isis_snp_checksum));
length -= sizeof ( isis_snp_t );
@@ -253,12 +253,12 @@ isis_dissect_isis_csnp(int type, int header_length, const u_char *pd,
ilp = (isis_csnp_t *) &pd[offset];
if (tree) {
- ti = proto_tree_add_item(tree, proto_isis_csnp,
+ 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,
+ 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, offset + 2, 7,
+ proto_tree_add_text(csnp_tree, NullTVB, offset + 2, 7,
"Source id : %s",
print_system_id( pd + offset + 2, 7 ) );
isis_lsp_decode_lsp_id( "Start LSP id ", csnp_tree, offset + 9,
@@ -321,12 +321,12 @@ isis_dissect_isis_psnp(int type, int header_length, const u_char *pd,
ilp = (isis_psnp_t *) &pd[offset];
if (tree) {
- ti = proto_tree_add_item(tree, proto_isis_psnp,
+ 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,
+ 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, offset + 2, 7,
+ proto_tree_add_text(psnp_tree, NullTVB, offset + 2, 7,
"Source id: %s",
print_system_id( pd + offset + 2, 7 ) );
}
diff --git a/packet-isis.c b/packet-isis.c
index 81fd5b80ac..b402506cfc 100644
--- a/packet-isis.c
+++ b/packet-isis.c
@@ -2,7 +2,7 @@
* Routines for ISO/OSI network and transport protocol packet disassembly, core
* bits.
*
- * $Id: packet-isis.c,v 1.8 2000/04/17 01:36:31 guy Exp $
+ * $Id: packet-isis.c,v 1.9 2000/05/11 08:15:17 gram Exp $
* Stuart Stanley <stuarts@mxmail.net>
*
* Ethereal - Network traffic analyzer
@@ -111,7 +111,7 @@ isis_dissect_unknown(int offset,guint length,proto_tree *tree,frame_data *fd,
}
va_start(ap, fmat);
- proto_tree_add_text(tree, offset, length, fmat, ap);
+ proto_tree_add_text(tree, NullTVB, offset, length, fmat, ap);
va_end(ap);
}
/*
@@ -159,18 +159,18 @@ dissect_isis(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(tree, proto_isis, offset,
+ 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, offset, 1,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_uint_format(isis_tree, hf_isis_type, NullTVB,
offset + 4, 1, ihdr->isis_type,
"Type : %s (R:%s%s%s)",
val_to_str(ihdr->isis_type & ISIS_TYPE_MASK, isis_vals,
@@ -178,11 +178,11 @@ dissect_isis(const u_char *pd, int offset, frame_data *fd,
(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,
+ 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,
+ 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,
+ proto_tree_add_item(isis_tree, hf_isis_max_area_adr, NullTVB,
offset + 7, 1, ihdr->isis_max_area_adr );
}
diff --git a/packet-isl.c b/packet-isl.c
index b821c7d095..4d1a94773d 100644
--- a/packet-isl.c
+++ b/packet-isl.c
@@ -1,7 +1,7 @@
/* packet-isl.c
* Routines for Cisco ISL Ethernet header disassembly
*
- * $Id: packet-isl.c,v 1.7 2000/03/20 22:22:45 gram Exp $
+ * $Id: packet-isl.c,v 1.8 2000/05/11 08:15:17 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -158,49 +158,49 @@ dissect_isl(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
type = (pd[offset+5] >> 4)&0x0F;
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_isl, offset, ISL_HEADER_SIZE,
+ 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, offset+0, 6, &pd[offset+0]);
- proto_tree_add_item_hidden(fh_tree, hf_isl_addr, offset+0, 6, &pd[offset+0]);
- proto_tree_add_item(fh_tree, hf_isl_type, offset+5, 1, pd[offset+5]);
+ 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, offset+5, 1,
+ 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, offset+5, 1, pd[offset+5]);
+ 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, offset+6, 6, &pd[offset+6]);
- proto_tree_add_item_hidden(fh_tree, hf_isl_addr, offset+6, 6, &pd[offset+6]);
+ 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, offset+12, 2, length);
+ 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, offset+14, 1, "DSAP: 0x%X", pd[offset+14]);
- proto_tree_add_text(fh_tree, offset+15, 1, "SSAP: 0x%X", pd[offset+15]);
- proto_tree_add_text(fh_tree, offset+16, 1, "Control: 0x%X", pd[offset+16]);
+ proto_tree_add_text(fh_tree, NullTVB, offset+14, 1, "DSAP: 0x%X", pd[offset+14]);
+ proto_tree_add_text(fh_tree, NullTVB, offset+15, 1, "SSAP: 0x%X", pd[offset+15]);
+ proto_tree_add_text(fh_tree, NullTVB, offset+16, 1, "Control: 0x%X", pd[offset+16]);
/* ...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, offset+17, 3,
+ 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, offset+20, 2,
+ 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, offset+20, 2,
+ 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, offset+22, 2,
+ 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, pi.len - 4, 4,
+ proto_tree_add_item(fh_tree, hf_isl_crc, NullTVB, pi.len - 4, 4,
pntohl(&pd[END_OF_FRAME - 4]));
}
}
@@ -212,17 +212,17 @@ dissect_isl(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
case TYPE_TR:
- proto_tree_add_item(fh_tree, hf_isl_src_vlan_id, offset+24, 2,
+ 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, offset+24, 2,
+ 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, offset+26, 2,
+ 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, offset+28, 2,
+ 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, offset+30, 1,
+ 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, offset+16, 1,
+ proto_tree_add_item(fh_tree, hf_isl_esize, NullTVB, offset+16, 1,
pd[offset+30]);
dissect_tr(pd, offset+31, fd, tree);
break;
diff --git a/packet-l2tp.c b/packet-l2tp.c
index 2bf2f5636a..7daefb6aa9 100644
--- a/packet-l2tp.c
+++ b/packet-l2tp.c
@@ -7,7 +7,7 @@
* Laurent Cazalet <laurent.cazalet@mailclub.net>
* Thomas Parvais <thomas.parvais@advalvas.be>
*
- * $Id: packet-l2tp.c,v 1.8 2000/04/08 07:07:24 guy Exp $
+ * $Id: packet-l2tp.c,v 1.9 2000/05/11 08:15:17 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -336,27 +336,27 @@ dissect_l2tp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_fstr(fd,COL_INFO,textbuffer);
}
if (tree) {
- ti = proto_tree_add_item(tree,proto_l2tp, offset, length , NULL);
+ 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, offset ,1,
+ 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);
if (LENGTH_BIT(ver)) {
- proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, (offset += 2), 2,
+ proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, NullTVB, (offset += 2), 2,
rhcode, "Length: %d ", length);
}
if (SEQUENCE_BIT(ver)) {
memcpy(&Ns,(ptr+=2),sizeof(unsigned short));
memcpy(&Nr,(ptr+=2),sizeof(unsigned short));
index += 4;
- proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, (offset += 6 ), 4,
+ proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, NullTVB, (offset += 6 ), 4,
rhcode, "Ns: %d Nr: %d ", htons(Ns), htons(Nr));
}
if ((LENGTH_BIT(ver))&&(length==12)) {
- proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code,offset,1,rhcode,
+ proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, NullTVB,offset,1,rhcode,
"Zero Length Bit message");
}
if (!CONTROL_BIT(ver)) { /* Data Messages so we are done */
- proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, (offset += 4) , (length - 12 ) , rhcode, "Data: ");
+ proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, NullTVB, (offset += 4) , (length - 12 ) , rhcode, "Data: ");
return;
}
@@ -369,16 +369,16 @@ dissect_l2tp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
memcpy(&vendor,(tmp_ptr+=2),sizeof(unsigned short));
memcpy(&avp_type,(tmp_ptr+=2),sizeof(unsigned short));
avp_type=htons(avp_type);
- tf = proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, offset , avp_len,
+ tf = proto_tree_add_uint_format(l2tp_tree,hf_l2tp_code, NullTVB, offset , avp_len,
rhcode, "AVP Type %s ", (NUM_AVP_TYPES > avp_type)
? avptypestr[avp_type] : "Unknown");
l2tp_avp_tree = proto_item_add_subtree(tf, ett_l2tp_avp);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset , 1,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset , 1,
rhcode, " Mandatory:%s" , (MANDATORY_BIT(htons(ver_len_hidden))) ? "True" : "False" );
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset , 1,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset , 1,
rhcode, " Hidden:%s" , (HIDDEN_BIT(htons(ver_len_hidden))) ? "True" : "False" );
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, (offset + 1), 1,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, (offset + 1), 1,
rhcode, " Length:%d" , avp_len );
if (HIDDEN_BIT(htons(ver_len_hidden))) { /* don't try do display hidden */
@@ -391,7 +391,7 @@ dissect_l2tp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case CONTROL_MESSAGE:
memcpy(&msg_type,(tmp_ptr+=2),sizeof(unsigned short));
msg_type=htons(msg_type);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 2 ,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 2 ,
rhcode, " Control Message Type: (%d) %s", msg_type,
((NUM_CONTROL_CALL_TYPES + 1 ) > msg_type) ?
calltypestr[msg_type] : "Unknown" );
@@ -401,7 +401,7 @@ dissect_l2tp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if ( avp_len >= 8 ) {
memcpy(&result_code,(tmp_ptr+=2),sizeof(unsigned short));
result_code=htons(result_code);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
2, rhcode,
" Result code: %d", result_code );
@@ -409,14 +409,14 @@ dissect_l2tp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if ( avp_len >= 10 ) {
memcpy(&error_code,(tmp_ptr+=2),sizeof(unsigned short));
error_code=htons(error_code);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 8,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 8,
2, rhcode,
" Error code: %d", error_code);
}
if ( avp_len > 10 ) {
memset(error_string,'\0' ,sizeof(error_string));
strncpy(error_string,(tmp_ptr),(avp_len - 10));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 10, (avp_len - 10),
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 10, (avp_len - 10),
rhcode, " Error Message: %s", error_string );
}
break;
@@ -428,235 +428,235 @@ dissect_l2tp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
avp_ver=(htons(avp_ver));
avp_rev=(htons(avp_rev));
memcpy(&avp_rev,(tmp_ptr+=2),sizeof(unsigned short));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 1,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 1,
rhcode, " Version: %d", ((avp_ver&0xff00)>>8) );
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 7, 1,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 7, 1,
rhcode, " Revision: %d", (avp_ver&0x00ff));
break;
case FRAMING_CAPABIlITIES:
tmp_ptr+=2;
memcpy(&framing,(tmp_ptr+=2),sizeof(unsigned short));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 4,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 4,
rhcode, " ASYNC FRAMING: %s" , (FRAMING_ASYNC(htons(framing))) ? "True" : "False" );
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 4,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 4,
rhcode, " SYNC FRAMING: %s" , (FRAMING_SYNC(htons(framing))) ? "True" : "False" );
break;
case BEARER_CAPABIlITIES:
tmp_ptr+=2;
memcpy(&framing,(tmp_ptr+=2),sizeof(unsigned short));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 4 ,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 4 ,
rhcode, " Analog Access: %s" , (FRAMING_ASYNC(htons(framing))) ? "True" : "False" );
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 4,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 4,
rhcode, " Digital Access: %s" , (FRAMING_SYNC(htons(framing))) ? "True" : "False" );
break;
case TIE_BREAKER:
memcpy(&long_type,(tmp_ptr+=8),sizeof(unsigned long));
long_type = htonl(long_type);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 1,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 1,
rhcode, " TIE_BREAKER %lu 0x%lx", long_type,long_type );
break;
case FIRMWARE_REVISION:
memcpy(&firmware_rev,(tmp_ptr+=2),sizeof(unsigned short));
firmware_rev=htons(firmware_rev);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6, 2,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6, 2,
rhcode, " Firmware Revision: %d 0x%x", firmware_rev,firmware_rev );
break;
case HOST_NAME:
memset(error_string,'\0',sizeof(error_string));
strncpy(error_string,(tmp_ptr+=2),(avp_len - 6));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6,
(avp_len - 6), rhcode, " Host Name: %s", error_string );
break;
case VENDOR_NAME:
memset(message_string,'\0' ,sizeof(message_string));
strncpy(message_string,(tmp_ptr+=2),(avp_len - 6));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6,
(avp_len - 6), rhcode, " Vendor Name: %s", message_string );
break;
case ASSIGNED_TUNNEL_ID:
memcpy(&gen_type,(tmp_ptr+=2),sizeof(unsigned short));
gen_type=htons(gen_type);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
2, rhcode, " Tunnel ID: %d", gen_type );
break;
case RECEIVE_WINDOW_SIZE:
memcpy(&gen_type,(tmp_ptr+=2),sizeof(unsigned short));
gen_type=htons(gen_type);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
2, rhcode, " Receive Window Size: %d", gen_type );
break;
case CHALLENGE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " CHAP Challenge: ");
break;
case CHALLENGE_RESPONSE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " CHAP Challenge Response: ");
break;
case CAUSE_CODE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
1, rhcode, " Cause Code: ");
break;
case ASSIGNED_SESSION:
memcpy(&gen_type,(tmp_ptr+=2),sizeof(unsigned short));
gen_type=htons(gen_type);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
2, rhcode, " Assigned Session: %d", gen_type );
break;
case CALL_SERIAL_NUMBER:
memcpy(&gen_type,(tmp_ptr+=2),sizeof(unsigned short));
gen_type=htons(gen_type);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " Call Serial Number: %d", gen_type );
break;
case MINIMUM_BPS:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " Minimum BPS: ");
break;
case MAXIMUM_BPS:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " Maximum BPS ");
break;
case BEARER_TYPE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " Bearer Type: ");
break;
case FRAMING_TYPE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " Framing Type: ");
break;
case UNKNOWN_MESSAGE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
1, rhcode, " Unknown Message: ");
break;
case CALLED_NUMBER:
memset(message_string,'\0' ,sizeof(message_string));
strncpy(message_string,(tmp_ptr+=2),(avp_len - 6));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6,
(avp_len - 6), rhcode, " Called Number: %s", message_string );
break;
case CALLING_NUMBER:
memset(message_string,'\0' ,sizeof(message_string));
strncpy(message_string,(tmp_ptr+=2),(avp_len - 6));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6,
(avp_len - 6), rhcode, " Calling Number: %s", message_string );
break;
case SUB_ADDRESS:
memset(message_string,'\0' ,sizeof(message_string));
strncpy(message_string,(tmp_ptr+=2),(avp_len - 6));
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB, offset + 6,
(avp_len - 6), rhcode, " Sub-Address: %s", message_string );
break;
case TX_CONNECT_SPEED:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " Connect Speed: ");
break;
case PHYSICAL_CHANNEL:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " Physical Channel: ");
break;
case INITIAL_RECEIVED_LCP:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " Initial LCP Conf REQ: ");
break;
case LAST_SEND_LCP_CONFREQ:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " Last Sent LCP Conf REQ: ");
break;
case LAST_RECEIVED_LCP_CONFREQ:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " Last Received LCP Conf REQ: ");
break;
case PROXY_AUTHEN_TYPE:
memcpy(&msg_type,(tmp_ptr+=2),sizeof(unsigned short));
msg_type=htons(msg_type);
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
1, rhcode, " Proxy Authen Type: %s ", authen_types[msg_type] );
break;
case PROXY_AUTHEN_NAME:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " Proxy Authen Name: ");
break;
case PROXY_AUTHEN_CHALLENGE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " Proxy Authen Challenge: ");
break;
case PROXY_AUTHEN_ID:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
2, rhcode, " Paorx Authen ID: ");
break;
case PROXY_AUTHEN_RESPONSE:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
(avp_len - 6 ), rhcode, " Proxy Authen Response: ");
break;
case CALL_STATUS_AVPS:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " CRC Errors: ");
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 10,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 10,
4, rhcode, " Framing Errors: ");
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 14,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 14,
4, rhcode, " Hardware Overruns: ");
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 18,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 18,
4, rhcode, " Buffer Overruns: ");
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 23,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 23,
4, rhcode, " Time-out Errors: ");
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 26,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 26,
4, rhcode, " Alignment Errors: ");
break;
case ACCM:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
2, rhcode, " Reserve Quantity: ");
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 8,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 8,
4, rhcode, " Send ACCM: ");
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 12,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 12,
4, rhcode, " Recv ACCM: ");
break;
case PRIVATE_GROUP_ID:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
1, rhcode, " Private Group ID: ");
break;
case RX_CONNECT_SPEED:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset + 6,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset + 6,
4, rhcode, " RX Connect Speed: ");
break;
case SEQUENCING_REQUIRED:
- proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code,offset ,
+ proto_tree_add_uint_format(l2tp_avp_tree,hf_l2tp_code, NullTVB,offset ,
1, rhcode, " Sequencing Required: ");
break;
}
diff --git a/packet-lapb.c b/packet-lapb.c
index c4e012d764..7ba2899318 100644
--- a/packet-lapb.c
+++ b/packet-lapb.c
@@ -2,7 +2,7 @@
* Routines for lapb frame disassembly
* Olivier Abad <abad@daba.dhis.net>
*
- * $Id: packet-lapb.c,v 1.12 2000/03/15 19:17:08 oabad Exp $
+ * $Id: packet-lapb.c,v 1.13 2000/05/11 08:15:18 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -64,7 +64,7 @@ dissect_lapb(const u_char *pd, frame_data *fd, proto_tree *tree)
if (check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, "Invalid LAPB frame");
if (tree)
- ti = proto_tree_add_protocol_format(tree, proto_lapb, 0, fd->cap_len,
+ ti = proto_tree_add_protocol_format(tree, proto_lapb, NullTVB, 0, fd->cap_len,
"Invalid LAPB frame");
return;
}
@@ -89,10 +89,10 @@ dissect_lapb(const u_char *pd, frame_data *fd, proto_tree *tree)
is_response = FALSE;
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_lapb, 0, 2,
+ ti = proto_tree_add_protocol_format(tree, proto_lapb, NullTVB, 0, 2,
"LAPB");
lapb_tree = proto_item_add_subtree(ti, ett_lapb);
- proto_tree_add_uint_format(lapb_tree, hf_lapb_address, 0, 1, pd[0],
+ proto_tree_add_uint_format(lapb_tree, hf_lapb_address, NullTVB, 0, 1, pd[0],
"Address: 0x%02X", pd[0]);
}
else
diff --git a/packet-lapd.c b/packet-lapd.c
index 8bc6f360d8..4dfaa26244 100644
--- a/packet-lapd.c
+++ b/packet-lapd.c
@@ -2,7 +2,7 @@
* Routines for LAPD frame disassembly
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-lapd.c,v 1.5 2000/02/15 21:02:31 gram Exp $
+ * $Id: packet-lapd.c,v 1.6 2000/05/11 08:15:21 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -119,17 +119,17 @@ dissect_lapd(const u_char *pd, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_lapd, 0, 3, NULL);
+ 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, 0, 2, address);
+ 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, 0, 1, address);
- proto_tree_add_item(addr_tree, hf_lapd_cr, 0, 1, address);
- proto_tree_add_item(addr_tree, hf_lapd_ea1, 0, 1, address);
- proto_tree_add_item(addr_tree, hf_lapd_tei, 1, 1, address);
- proto_tree_add_item(addr_tree, hf_lapd_ea2, 1, 1, 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;
diff --git a/packet-ldap.c b/packet-ldap.c
index b00a373ba1..e967cb2bf7 100644
--- a/packet-ldap.c
+++ b/packet-ldap.c
@@ -1,7 +1,7 @@
/* packet-ldap.c
* Routines for ldap packet dissection
*
- * $Id: packet-ldap.c,v 1.9 2000/04/08 07:07:26 guy Exp $
+ * $Id: packet-ldap.c,v 1.10 2000/05/11 08:15:21 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -152,7 +152,7 @@ static int read_length(ASN1_SCK *a, proto_tree *tree, int hf_id, guint *len)
*len = length;
if (tree)
- proto_tree_add_item(tree, hf_id, start-a->begin, a->pointer-start, length);
+ proto_tree_add_item(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, length);
return 0;
}
@@ -204,7 +204,7 @@ static int read_integer_value(ASN1_SCK *a, proto_tree *tree, int hf_id,
if (tree)
{
proto_tree *temp_tree = 0;
- temp_tree = proto_tree_add_item(tree, hf_id, start-a->begin, a->pointer-start, integer);
+ temp_tree = proto_tree_add_item(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, integer);
if (new_tree)
*new_tree = temp_tree;
}
@@ -245,7 +245,7 @@ static void read_string_value(ASN1_SCK *a, proto_tree *tree, int hf_id,
if (tree)
{
proto_tree *temp_tree;
- temp_tree = proto_tree_add_item(tree, hf_id, start - a->begin, a->pointer - start, string);
+ temp_tree = proto_tree_add_item(tree, hf_id, NullTVB, start - a->begin, a->pointer - start, string);
if (new_tree)
*new_tree = temp_tree;
}
@@ -446,10 +446,10 @@ static int read_filter(ASN1_SCK *a, proto_tree *tree, int hf_id)
if (tree) {
if (ret != -1) {
- proto_tree_add_text(tree, start-a->begin, 0,
+ proto_tree_add_text(tree, NullTVB, start-a->begin, 0,
"Error parsing filter (%d)", ret);
} else
- proto_tree_add_item(tree, hf_id, start-a->begin, a->pointer-start, filter);
+ proto_tree_add_item(tree, hf_id, NullTVB, start-a->begin, a->pointer-start, filter);
}
g_free(filter);
@@ -475,7 +475,7 @@ static int dissect_ldap_result(ASN1_SCK *a, proto_tree *tree)
proto_tree *t, *referralTree;
read_sequence(a, &length);
- t = proto_tree_add_text(tree, start-a->begin, length, "Referral URLs");
+ t = proto_tree_add_text(tree, NullTVB, start-a->begin, length, "Referral URLs");
referralTree = proto_item_add_subtree(t, ett_ldap_referrals);
end = a->pointer + length;;
@@ -500,7 +500,7 @@ static int dissect_ldap_request_bind(ASN1_SCK *a, proto_tree *tree)
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, start - a->begin,
+ proto_tree_add_item(tree, hf_ldap_message_bind_auth, NullTVB, start - a->begin,
a->pointer - start, tag);
switch (tag)
{
@@ -646,7 +646,7 @@ static int dissect_ldap_request_compare(ASN1_SCK *a, proto_tree *tree)
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, start-a->begin, a->pointer-start, compare);
+ proto_tree_add_item(tree, hf_ldap_message_compare, NullTVB, start-a->begin, a->pointer-start, compare);
g_free(string1);
g_free(string2);
@@ -721,7 +721,7 @@ dissect_ldap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree)
{
- ti = proto_tree_add_item(tree, proto_ldap, offset, END_OF_FRAME, NULL);
+ ti = proto_tree_add_item(tree, proto_ldap, NullTVB, offset, END_OF_FRAME, NULL);
ldap_tree = proto_item_add_subtree(ti, ett_ldap);
}
@@ -738,14 +738,14 @@ dissect_ldap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (read_sequence(&a, &messageLength))
{
if (ldap_tree)
- proto_tree_add_text(ldap_tree, offset, 1, "Invalid LDAP packet");
+ proto_tree_add_text(ldap_tree, NullTVB, offset, 1, "Invalid LDAP packet");
break;
}
if (messageLength > (a.end - a.pointer))
{
if (ldap_tree)
- proto_tree_add_text(ldap_tree, message_start, END_OF_FRAME, "Short message! (expected: %u, actual: %u)",
+ proto_tree_add_text(ldap_tree, NullTVB, message_start, END_OF_FRAME, "Short message! (expected: %u, actual: %u)",
messageLength, a.end - a.pointer);
break;
}
@@ -776,10 +776,10 @@ dissect_ldap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (ldap_tree)
{
- proto_tree_add_item_hidden(ldap_tree, hf_ldap_message_id, message_id_start, message_id_length, messageId);
- proto_tree_add_item_hidden(ldap_tree, hf_ldap_message_type,
+ 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, message_id_start, messageLength, "Message: Id=%u %s", messageId, typestr);
+ 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);
start = a.pointer;
read_length(&a, msg_tree, hf_ldap_message_length, &opLen);
diff --git a/packet-llc.c b/packet-llc.c
index dc1948e3bc..463a5aa4e6 100644
--- a/packet-llc.c
+++ b/packet-llc.c
@@ -2,7 +2,7 @@
* Routines for IEEE 802.2 LLC layer
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-llc.c,v 1.55 2000/04/17 00:32:39 guy Exp $
+ * $Id: packet-llc.c,v 1.56 2000/05/11 08:15:22 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -287,15 +287,15 @@ dissect_llc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_llc, offset, 0, NULL);
+ ti = proto_tree_add_item(tree, proto_llc, NullTVB, offset, 0, NULL);
llc_tree = proto_item_add_subtree(ti, ett_llc);
- proto_tree_add_item(llc_tree, hf_llc_dsap, offset,
+ proto_tree_add_item(llc_tree, hf_llc_dsap, NullTVB, offset,
1, pd[offset] & SAP_MASK);
- proto_tree_add_item(llc_tree, hf_llc_dsap_ig, offset,
+ proto_tree_add_item(llc_tree, hf_llc_dsap_ig, NullTVB, offset,
1, pd[offset] & DSAP_GI_BIT);
- proto_tree_add_item(llc_tree, hf_llc_ssap, offset+1,
+ proto_tree_add_item(llc_tree, hf_llc_ssap, NullTVB, offset+1,
1, pd[offset+1] & SAP_MASK);
- proto_tree_add_item(llc_tree, hf_llc_ssap_cr, offset+1,
+ proto_tree_add_item(llc_tree, hf_llc_ssap_cr, NullTVB, offset+1,
1, pd[offset+1] & SSAP_CR_BIT);
} else
llc_tree = NULL;
@@ -333,7 +333,7 @@ dissect_llc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
etype);
}
if (tree) {
- proto_tree_add_item(llc_tree, hf_llc_oui, offset+3, 3,
+ proto_tree_add_item(llc_tree, hf_llc_oui, NullTVB, offset+3, 3,
oui);
}
switch (oui) {
@@ -362,7 +362,7 @@ dissect_llc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
Ethernet? */
if (tree) {
proto_tree_add_item(llc_tree,
- hf_llc_pid, offset+6, 2, etype);
+ hf_llc_pid, NullTVB, offset+6, 2, etype);
}
if (XDLC_IS_INFORMATION(control)) {
switch (etype) {
@@ -396,7 +396,7 @@ dissect_llc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
case OUI_CABLE_BPDU: /* DOCSIS cable modem spanning tree BPDU */
if (tree) {
proto_tree_add_item(llc_tree,
- hf_llc_pid, offset+6, 2, etype);
+ hf_llc_pid, NullTVB, offset+6, 2, etype);
}
dissect_bpdu(pd, offset+8, fd, tree);
break;
@@ -404,7 +404,7 @@ dissect_llc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
default:
if (tree) {
proto_tree_add_item(llc_tree,
- hf_llc_pid, offset+6, 2, etype);
+ hf_llc_pid, NullTVB, offset+6, 2, etype);
}
dissect_data(pd, offset+8, fd, tree);
break;
diff --git a/packet-lpd.c b/packet-lpd.c
index 63f2009c5d..f354757101 100644
--- a/packet-lpd.c
+++ b/packet-lpd.c
@@ -2,7 +2,7 @@
* Routines for LPR and LPRng packet disassembly
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-lpd.c,v 1.18 2000/04/20 15:24:41 gram Exp $
+ * $Id: packet-lpd.c,v 1.19 2000/05/11 08:15:23 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -104,23 +104,23 @@ dissect_lpd(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_lpd, offset,
+ 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, 0, 0, TRUE);
+ 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, 0, 0, TRUE);
+ proto_tree_add_item_hidden(lpd_tree, hf_lpd_request, NullTVB, 0, 0, TRUE);
}
if (lpr_packet_type == request) {
printer = find_printer_string(pd, offset+1, END_OF_FRAME);
if (pd[offset] <= 9 && printer) {
- proto_tree_add_text(lpd_tree, offset, 1,
+ proto_tree_add_text(lpd_tree, NullTVB, offset, 1,
lpd_client_code[pd[offset]]);
- proto_tree_add_text(lpd_tree, offset+1,
+ proto_tree_add_text(lpd_tree, NullTVB, offset+1,
strlen(printer), "Printer/options: %s", printer);
}
else {
@@ -134,7 +134,7 @@ dissect_lpd(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
int response = pd[offset];
if (response <= 3) {
- proto_tree_add_text(lpd_tree, offset, 1, "Response: %s",
+ proto_tree_add_text(lpd_tree, NullTVB, offset, 1, "Response: %s",
lpd_server_code[response]);
}
else {
diff --git a/packet-mapi.c b/packet-mapi.c
index bde5bb8dcc..32672b0622 100644
--- a/packet-mapi.c
+++ b/packet-mapi.c
@@ -1,7 +1,7 @@
/* packet-mapi.c
* Routines for MSX mapi packet dissection
*
- * $Id: packet-mapi.c,v 1.5 2000/04/08 07:07:29 guy Exp $
+ * $Id: packet-mapi.c,v 1.6 2000/05/11 08:15:23 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -66,21 +66,21 @@ dissect_mapi(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree)
{
- ti = proto_tree_add_item(tree, proto_mapi, offset, END_OF_FRAME, NULL);
+ 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,
+ proto_tree_add_item_hidden(mapi_tree, hf_mapi_request, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(mapi_tree, offset,
+ 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,
+ proto_tree_add_item_hidden(mapi_tree, hf_mapi_response, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(mapi_tree, offset,
+ proto_tree_add_text(mapi_tree, NullTVB, offset,
END_OF_FRAME, "Response: <opaque data>");
}
}
diff --git a/packet-mount.c b/packet-mount.c
index bbda07bdbe..349b68b9fb 100644
--- a/packet-mount.c
+++ b/packet-mount.c
@@ -1,7 +1,7 @@
/* packet-mount.c
* Routines for mount dissection
*
- * $Id: packet-mount.c,v 1.13 2000/04/04 06:46:25 guy Exp $
+ * $Id: packet-mount.c,v 1.14 2000/05/11 08:15:23 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -86,7 +86,7 @@ dissect_fhstatus(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
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, offset, 4, status);
+ proto_tree_add_item(tree, hf_mount_status, NullTVB, offset, 4, status);
}
offset += 4;
@@ -139,7 +139,7 @@ dissect_mountlist(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
char* directory;
if (tree) {
- mountlist_item = proto_tree_add_item(tree, hf_mount_mountlist,
+ 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);
@@ -198,7 +198,7 @@ dissect_exportlist(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
char* directory;
if (tree) {
- exportlist_item = proto_tree_add_item(tree, hf_mount_exportlist,
+ 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);
@@ -207,7 +207,7 @@ dissect_exportlist(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
offset = dissect_rpc_string(pd, offset, fd, exportlist_tree, hf_mount_exportlist_directory,&directory);
groups_offset = offset;
if (tree) {
- groups_item = proto_tree_add_item(exportlist_tree, hf_mount_groups,
+ 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);
@@ -331,7 +331,7 @@ dissect_mount_pathconf_reply(const u_char *pd, int offset, frame_data *fd,
if (!(pc_mask & (PC_ERROR_LINK_MAX|PC_ERROR_ALL))) {
if (tree) {
proto_tree_add_item(tree,
- hf_mount_pathconf_link_max, offset, 4,
+ hf_mount_pathconf_link_max, NullTVB, offset, 4,
EXTRACT_UINT(pd, offset+0));
}
}
@@ -342,7 +342,7 @@ dissect_mount_pathconf_reply(const u_char *pd, int offset, frame_data *fd,
if (!(pc_mask & (PC_ERROR_MAX_CANON|PC_ERROR_ALL))) {
if (tree) {
proto_tree_add_item(tree,
- hf_mount_pathconf_max_canon, offset + 2, 2,
+ hf_mount_pathconf_max_canon, NullTVB, offset + 2, 2,
(EXTRACT_UINT(pd, offset+0)) & 0xFFFF);
}
}
@@ -354,7 +354,7 @@ dissect_mount_pathconf_reply(const u_char *pd, int offset, frame_data *fd,
if (!(pc_mask & (PC_ERROR_MAX_INPUT|PC_ERROR_ALL))) {
if (tree) {
proto_tree_add_item(tree,
- hf_mount_pathconf_max_input, offset + 2, 2,
+ hf_mount_pathconf_max_input, NullTVB, offset + 2, 2,
(EXTRACT_UINT(pd, offset+0)) & 0xFFFF);
}
}
@@ -365,7 +365,7 @@ dissect_mount_pathconf_reply(const u_char *pd, int offset, frame_data *fd,
if (!(pc_mask & (PC_ERROR_NAME_MAX|PC_ERROR_ALL))) {
if (tree) {
proto_tree_add_item(tree,
- hf_mount_pathconf_name_max, offset + 2, 2,
+ hf_mount_pathconf_name_max, NullTVB, offset + 2, 2,
(EXTRACT_UINT(pd, offset+0)) & 0xFFFF);
}
}
@@ -376,7 +376,7 @@ dissect_mount_pathconf_reply(const u_char *pd, int offset, frame_data *fd,
if (!(pc_mask & (PC_ERROR_PATH_MAX|PC_ERROR_ALL))) {
if (tree) {
proto_tree_add_item(tree,
- hf_mount_pathconf_path_max, offset + 2, 2,
+ hf_mount_pathconf_path_max, NullTVB, offset + 2, 2,
(EXTRACT_UINT(pd, offset+0)) & 0xFFFF);
}
}
@@ -387,7 +387,7 @@ dissect_mount_pathconf_reply(const u_char *pd, int offset, frame_data *fd,
if (!(pc_mask & (PC_ERROR_PIPE_BUF|PC_ERROR_ALL))) {
if (tree) {
proto_tree_add_item(tree,
- hf_mount_pathconf_pipe_buf, offset + 2, 2,
+ hf_mount_pathconf_pipe_buf, NullTVB, offset + 2, 2,
(EXTRACT_UINT(pd, offset+0)) & 0xFFFF);
}
}
@@ -400,35 +400,35 @@ dissect_mount_pathconf_reply(const u_char *pd, int offset, frame_data *fd,
if (!(pc_mask & (PC_ERROR_VDISABLE|PC_ERROR_ALL))) {
if (tree) {
proto_tree_add_item(tree,
- hf_mount_pathconf_vdisable, offset + 3, 1,
+ hf_mount_pathconf_vdisable, NullTVB, offset + 3, 1,
(EXTRACT_UINT(pd, offset+0)) & 0xFF);
}
}
offset += 4;
if (tree) {
- ti = proto_tree_add_item(tree, hf_mount_pathconf_mask,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(mask_tree, hf_mount_pathconf_error_vdisable, NullTVB,
offset + 2, 2, pc_mask);
}
offset += 4;
@@ -510,7 +510,7 @@ dissect_mountstat3(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
mountstat3 = EXTRACT_UINT(pd, offset+0);
if (tree) {
- proto_tree_add_item(tree, hfindex, offset, 4, mountstat3);
+ proto_tree_add_item(tree, hfindex, NullTVB, offset, 4, mountstat3);
}
offset += 4;
@@ -535,13 +535,13 @@ dissect_mount3_mnt_reply(const u_char *pd, int offset, frame_data *fd,
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,
+ 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,
+ proto_tree_add_item(tree,hf_mount_flavor, NullTVB,
offset, 4, auth_flavor);
offset += 4;
}
diff --git a/packet-mpls.c b/packet-mpls.c
index c6c95c3017..87adfb23aa 100644
--- a/packet-mpls.c
+++ b/packet-mpls.c
@@ -3,7 +3,7 @@
*
* (c) Copyright Ashok Narayanan <ashokn@cisco.com>
*
- * $Id: packet-mpls.c,v 1.5 2000/04/16 22:59:37 guy Exp $
+ * $Id: packet-mpls.c,v 1.6 2000/05/11 08:15:23 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -153,23 +153,23 @@ dissect_mpls(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_mpls, offset, 4, NULL);
+ 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)
- proto_tree_add_uint_format(mpls_tree, mpls_filter[MPLSF_LABEL],
+ proto_tree_add_uint_format(mpls_tree, mpls_filter[MPLSF_LABEL], NullTVB,
offset, 3, label, "Label: %d (%s)",
label, val_to_str(label, special_labels,
"Reserved - Unknown"));
else
- proto_tree_add_item(mpls_tree, mpls_filter[MPLSF_LABEL],
+ proto_tree_add_item(mpls_tree, mpls_filter[MPLSF_LABEL], NullTVB,
offset, 3, label);
- proto_tree_add_item(mpls_tree,mpls_filter[MPLSF_EXP],
+ 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],
+ 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],
+ proto_tree_add_item(mpls_tree,mpls_filter[MPLSF_TTL], NullTVB,
offset+3,1, ttl);
}
offset += 4;
diff --git a/packet-msproxy.c b/packet-msproxy.c
index 1746e73880..97ac51e79c 100644
--- a/packet-msproxy.c
+++ b/packet-msproxy.c
@@ -2,7 +2,7 @@
* Routines for Microsoft Proxy packet dissection
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com>
*
- * $Id: packet-msproxy.c,v 1.1 2000/04/20 02:17:54 guy Exp $
+ * $Id: packet-msproxy.c,v 1.2 2000/05/11 08:15:23 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -79,7 +79,7 @@
#endif
#define CHECK_PACKET_LENGTH(X) if ((offset+X) > fd->cap_len){ \
- proto_tree_add_text(tree, offset, 0, "****FRAME TOO SHORT***"); return;}
+ proto_tree_add_text(tree, NullTVB, offset, 0, "****FRAME TOO SHORT***"); return;}
extern void udp_hash_add(guint16 proto,
void (*dissect)(const u_char *, int, frame_data *, proto_tree *));
@@ -242,15 +242,15 @@ static void msproxy_sub_dissector( const u_char *pd, int offset, frame_data *fd,
"UDP packets"));
if ( tree) {
- ti = proto_tree_add_item( tree, proto_msproxy, offset, 0,
+ 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,
+ 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, offset, 0,
+ proto_tree_add_item( msp_tree, hf_msproxy_dstaddr, NullTVB, offset, 0,
redirect_info->remote_addr);
}
@@ -324,13 +324,13 @@ static int display_application_name(const u_char *pd, int offset,
char temp[255];
if ((offset+ 1) > fd->cap_len){
- proto_tree_add_text(tree, offset, 0, "****FRAME TOO SHORT***");
+ proto_tree_add_text(tree, NullTVB, offset, 0, "****FRAME TOO SHORT***");
return 0;
}
strncpy( temp, &pd[ offset], MIN( 255, END_OF_FRAME));
temp[ MIN( 255, END_OF_FRAME)] = 0;
- proto_tree_add_text( tree, offset, strlen(temp), "Application: %s", temp);
+ proto_tree_add_text( tree, NullTVB, offset, strlen(temp), "Application: %s", temp);
return strlen(temp);
@@ -391,21 +391,21 @@ static void dissect_user_info_2(const u_char *pd, int offset, frame_data *fd, pr
strncpy( str, &pd[ offset], MIN( 255, END_OF_FRAME));
str[ MIN( 255, END_OF_FRAME)] = 0;
- proto_tree_add_text( tree, offset, strlen( str) + 1,
+ proto_tree_add_text( tree, NullTVB, offset, strlen( str) + 1,
"User name: %s", str);
offset += strlen( str) + 2;
strncpy( str, &pd[ offset], MIN( 255, END_OF_FRAME));
str[ MIN( 255, END_OF_FRAME)] = 0;
- proto_tree_add_text( tree, offset, strlen( str) + 1,
+ proto_tree_add_text( tree, NullTVB, offset, strlen( str) + 1,
"Application name: %s", str);
offset += strlen( str) + 1;
strncpy( str, &pd[ offset], MIN( 255, END_OF_FRAME));
str[ MIN( 255, END_OF_FRAME)] = 0;
- proto_tree_add_text( tree, offset, strlen( str) + 1,
+ proto_tree_add_text( tree, NullTVB, offset, strlen( str) + 1,
"Client computer name: %s", str);
}
}
@@ -434,19 +434,19 @@ static void dissect_bind(const u_char *pd, int offset, frame_data *fd,
CHECK_PACKET_LENGTH( 4);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_bindaddr, offset, 4,
+ 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, offset, 2,
+ 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, offset, 2,
+ proto_tree_add_item( tree, hf_msproxy_clntport, NullTVB, offset, 2,
pntohs( &pd[ offset]));
offset += 2;
@@ -455,7 +455,7 @@ static void dissect_bind(const u_char *pd, int offset, frame_data *fd,
if ( tree){
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_item( tree, hf_msproxy_boundport, offset, 2,
+ proto_tree_add_item( tree, hf_msproxy_boundport, NullTVB, offset, 2,
pntohs( &pd[ offset]));
offset += 82;
@@ -477,7 +477,7 @@ static void dissect_auth(const u_char *pd, int offset,
strncpy( temp, &pd[ offset], 7);
temp[ 7] = 0;
- proto_tree_add_text( tree, offset, 7, "NTLMSSP signature: %s",
+ proto_tree_add_text( tree, NullTVB, offset, 7, "NTLMSSP signature: %s",
temp);
offset += 7;
}
@@ -499,11 +499,11 @@ static void dissect_tcp_bind(const u_char *pd, int offset,
offset += 6;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_item( tree, hf_msproxy_bind_id, offset, 4, pntohl( &pd[ offset]));
+ 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, offset, 2,
+ proto_tree_add_item( tree, hf_msproxy_boundport, NullTVB, offset, 2,
pntohs( &pd[ offset]));
offset += 96;
@@ -523,7 +523,7 @@ static void dissect_request_connect(const u_char *pd, int offset, frame_data *fd
CHECK_PACKET_LENGTH( 2);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_dstport, offset, 2,
+ proto_tree_add_item( tree, hf_msproxy_dstport, NullTVB, offset, 2,
pntohs( &pd[ offset]));
conv_info->dst_port = pntohs( &pd[ offset]);
@@ -531,7 +531,7 @@ static void dissect_request_connect(const u_char *pd, int offset, frame_data *fd
CHECK_PACKET_LENGTH( 4);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_dstaddr, offset, 4,
+ proto_tree_add_item( tree, hf_msproxy_dstaddr, NullTVB, offset, 4,
GWORD( pd, offset));
memcpy( &conv_info->dst_addr, &pd[ offset], sizeof( guint32));
@@ -542,7 +542,7 @@ static void dissect_request_connect(const u_char *pd, int offset, frame_data *fd
conv_info->clnt_port = pntohs( &pd[ offset]);
if ( tree){
- proto_tree_add_item( tree, hf_msproxy_clntport, offset, 2,
+ proto_tree_add_item( tree, hf_msproxy_clntport, NullTVB, offset, 2,
pntohs( &pd[ offset]));
offset += 84;
@@ -562,31 +562,31 @@ static void dissect_bind_info_ack(const u_char *pd, int offset, frame_data *fd,
offset += 6;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_item( tree, hf_msproxy_bind_id, offset, 4, pntohl( &pd[ offset]));
+ 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, offset, 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, offset, 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, offset,
+ 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, offset,
+ 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, offset,
+ proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset,
4, GWORD( pd, offset));
offset += 78;
@@ -613,17 +613,17 @@ static void dissect_request_resolve(const u_char *pd, int offset,
strncpy( temp, &pd[ offset + 18], length);
temp[ length ] = 0;
- ti = proto_tree_add_text(tree, offset, length + 1,
+ ti = proto_tree_add_text(tree, NullTVB, offset, length + 1,
"Host Name: %s", temp);
name_tree = proto_item_add_subtree(ti, ett_msproxy_name);
- proto_tree_add_text( name_tree, offset, 1, "Length: %d", length);
+ proto_tree_add_text( name_tree, NullTVB, offset, 1, "Length: %d", length);
++offset;
offset += 17;
- proto_tree_add_text( name_tree, offset, length, "String: %s",
+ proto_tree_add_text( name_tree, NullTVB, offset, length, "String: %s",
temp);
}
}
@@ -644,19 +644,19 @@ static void dissect_udp_bind(const u_char *pd, int offset,
CHECK_PACKET_LENGTH( 4);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_bind_id, offset, 4, pntohl( &pd[ offset]));
+ 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, offset, 2,
+ 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, offset, 4,
+ proto_tree_add_item( tree, hf_msproxy_dstaddr, NullTVB, offset, 4,
GWORD( pd, offset));
offset += 96;
@@ -677,7 +677,7 @@ static void dissect_udp_assoc(const u_char *pd, int offset,
CHECK_PACKET_LENGTH( 2);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_clntport, offset, 2,
+ proto_tree_add_item( tree, hf_msproxy_clntport, NullTVB, offset, 2,
pntohs( &pd[ offset]));
conv_info->clnt_port = pntohs( &pd[ offset]);
@@ -699,34 +699,34 @@ static void dissect_msproxy_request(const u_char *pd, int offset, frame_data *fd
if ( tree) {
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_text( tree, offset, 4, "Client id: 0x%0x",
+ proto_tree_add_text( tree, NullTVB, offset, 4, "Client id: 0x%0x",
GWORD( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_text( tree, offset, 4, "Version: 0x%04x",
+ proto_tree_add_text( tree, NullTVB, offset, 4, "Version: 0x%04x",
GWORD( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_text( tree, offset, 4, "Server id: 0x%0x",
+ proto_tree_add_text( tree, NullTVB, offset, 4, "Server id: 0x%0x",
GWORD( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_text( tree, offset, 1, "Server ack: %u",
+ proto_tree_add_text( tree, NullTVB, offset, 1, "Server ack: %u",
GBYTE( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 1);
- proto_tree_add_text( tree, offset, 1, "Sequence Number: %u",
+ proto_tree_add_text( tree, NullTVB, offset, 1, "Sequence Number: %u",
GBYTE( pd, offset));
offset += 8;
CHECK_PACKET_LENGTH( 4);
strncpy( temp, &pd[ offset], 4);
temp[ 4] = 0;
- proto_tree_add_text( tree, offset, 4, "RWSP signature: %s", temp);
+ proto_tree_add_text( tree, NullTVB, offset, 4, "RWSP signature: %s", temp);
offset += 12;
}
else /* no tree */
@@ -736,7 +736,7 @@ static void dissect_msproxy_request(const u_char *pd, int offset, frame_data *fd
cmd = pntohs( &pd[offset]);
if ( tree)
- proto_tree_add_uint_format( tree, hf_msproxy_cmd, offset, 2,
+ proto_tree_add_uint_format( tree, hf_msproxy_cmd, NullTVB, offset, 2,
cmd, "Command: 0x%02x (%s)", cmd,
get_msproxy_cmd_name( cmd, FROM_CLIENT));
@@ -784,7 +784,7 @@ static void dissect_msproxy_request(const u_char *pd, int offset, frame_data *fd
break;
default:
if ( tree)
- proto_tree_add_text( tree, offset, 0,
+ proto_tree_add_text( tree, NullTVB, offset, 0,
"Unhandled request command (report this, please)");
}
}
@@ -800,12 +800,12 @@ static void dissect_hello_ack(const u_char *pd, int offset, frame_data *fd,
if ( tree) {
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_item( tree, hf_msproxy_serverport, offset, 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, offset, 4,
+ proto_tree_add_item( tree, hf_msproxy_serveraddr, NullTVB, offset, 4,
GWORD( pd, offset));
offset += 4;
}
@@ -834,15 +834,15 @@ static void dissect_udpassociate_ack( const u_char *pd, int offset,
if ( tree) {
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_item( tree, hf_msproxy_bind_id, offset, 4, pntohl( &pd[ offset]));
+ 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, offset, 2, pntohs( &pd[ offset]));
+ 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, offset, 4, GWORD( pd, offset));
+ 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);
@@ -862,12 +862,12 @@ static void dissect_auth_1_ack(const u_char *pd, int offset, frame_data *fd, pro
CHECK_PACKET_LENGTH( 7);
strncpy( temp, &pd[ offset], 7);
temp[ 7] = 0;
- proto_tree_add_text( tree, offset, 7, "NTLMSSP signature: %s", temp);
+ proto_tree_add_text( tree, NullTVB, offset, 7, "NTLMSSP signature: %s", temp);
offset += 48;
strncpy( temp, &pd[ offset], MIN( 255, END_OF_FRAME));
temp[ MIN( 255, END_OF_FRAME)] = 0;
- proto_tree_add_text( tree, offset, 255, "NT domain: %s", temp);
+ proto_tree_add_text( tree, NullTVB, offset, 255, "NT domain: %s", temp);
offset += 7;
}
}
@@ -893,7 +893,7 @@ static void dissect_connect_ack( const u_char *pd, int offset, frame_data *fd,
CHECK_PACKET_LENGTH( 2);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_server_int_port, offset, 2, pntohs( &pd[ offset]));
+ proto_tree_add_item( tree, hf_msproxy_server_int_port, NullTVB, offset, 2, pntohs( &pd[ offset]));
conv_info->proto = PT_TCP;
@@ -902,15 +902,15 @@ static void dissect_connect_ack( const u_char *pd, int offset, frame_data *fd,
if ( tree){
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_item( tree, hf_msproxy_server_int_addr, offset, 2, GWORD( pd, offset));
+ 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, offset, 2, pntohs( &pd[ offset]));
+ 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, offset, 4, GWORD( pd, offset));
+ 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);
@@ -930,21 +930,21 @@ static void dissect_tcp_bind_ack( const u_char *pd, int offset, frame_data *fd,
offset += 6;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_item( tree, hf_msproxy_bind_id, offset, 4, pntohl( &pd[ offset]));
+ 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, offset,
+ 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, offset,
+ 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, offset,
+ proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset,
4, GWORD( pd, offset));
offset += 88;
@@ -964,20 +964,20 @@ static void dissect_bind_info( const u_char *pd, int offset, frame_data *fd,
CHECK_PACKET_LENGTH( 4);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_bind_id, offset, 4, pntohl( &pd[ offset]));
+ 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, offset, 2,
+ 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, offset, 4,
+ proto_tree_add_item( tree, hf_msproxy_dstaddr, NullTVB, offset, 4,
GWORD( pd, offset));
memcpy( &conv_info->dst_addr, &pd[ offset], sizeof( guint32));
@@ -986,7 +986,7 @@ static void dissect_bind_info( const u_char *pd, int offset, frame_data *fd,
CHECK_PACKET_LENGTH( 2);
if ( tree)
- proto_tree_add_item( tree, hf_msproxy_server_int_port, offset,
+ 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;
@@ -994,12 +994,12 @@ static void dissect_bind_info( const u_char *pd, int offset, frame_data *fd,
if ( tree) {
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_item( tree, hf_msproxy_server_ext_port, offset,
+ 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, offset,
+ proto_tree_add_item( tree, hf_msproxy_server_ext_addr, NullTVB, offset,
4, GWORD( pd, offset));
offset += 78;
@@ -1024,7 +1024,7 @@ static void dissect_resolve(const u_char *pd, int offset, frame_data *fd,
int addr_offset = GBYTE( pd, offset);
- proto_tree_add_text( tree, offset, 1, "Address offset: %d",
+ proto_tree_add_text( tree, NullTVB, offset, 1, "Address offset: %d",
addr_offset);
++offset;
@@ -1034,7 +1034,7 @@ static void dissect_resolve(const u_char *pd, int offset, frame_data *fd,
offset += addr_offset;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_item( tree, hf_msproxy_resolvaddr, offset, 4,
+ proto_tree_add_item( tree, hf_msproxy_resolvaddr, NullTVB, offset, 4,
GWORD( pd, offset));
}
}
@@ -1049,28 +1049,28 @@ static void dissect_msproxy_response(const u_char *pd, int offset, frame_data *f
if ( tree) {
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_text( tree, offset, 4, "Client id: 0x%0x",
+ proto_tree_add_text( tree, NullTVB, offset, 4, "Client id: 0x%0x",
GWORD( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_text( tree, offset, 4, "Version: 0x%04x",
+ proto_tree_add_text( tree, NullTVB, offset, 4, "Version: 0x%04x",
GWORD( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 4);
- proto_tree_add_text( tree, offset, 4, "Server id: 0x%04x",
+ proto_tree_add_text( tree, NullTVB, offset, 4, "Server id: 0x%04x",
GWORD( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 1);
- proto_tree_add_text( tree, offset, 1, "Client ack: 0x%02x",
+ proto_tree_add_text( tree, NullTVB, offset, 1, "Client ack: 0x%02x",
GBYTE( pd, offset));
offset += 4;
CHECK_PACKET_LENGTH( 1);
- proto_tree_add_text( tree, offset, 1, "Sequence Number: 0x%02x",
+ proto_tree_add_text( tree, NullTVB, offset, 1, "Sequence Number: 0x%02x",
GBYTE( pd, offset));
offset += 8;
@@ -1078,7 +1078,7 @@ static void dissect_msproxy_response(const u_char *pd, int offset, frame_data *f
CHECK_PACKET_LENGTH( 4);
strncpy( temp, &pd[ offset], 4);
temp[ 4] = 0;
- proto_tree_add_text( tree, offset, 4, "RWSP signature: %s", temp);
+ proto_tree_add_text( tree, NullTVB, offset, 4, "RWSP signature: %s", temp);
offset += 12;
}
@@ -1089,7 +1089,7 @@ static void dissect_msproxy_response(const u_char *pd, int offset, frame_data *f
cmd = pntohs( &pd[offset]);
if ( tree)
- proto_tree_add_uint_format( tree, hf_msproxy_cmd, offset, 2,
+ proto_tree_add_uint_format( tree, hf_msproxy_cmd, NullTVB, offset, 2,
cmd, "Command: 0x%02x (%s)", cmd,
get_msproxy_cmd_name( cmd, FROM_SERVER));
offset += 2;
@@ -1136,7 +1136,7 @@ static void dissect_msproxy_response(const u_char *pd, int offset, frame_data *f
case MSPROXY_CONNECT_AUTHFAILED:
case MSPROXY_BIND_AUTHFAILED:
- proto_tree_add_text( tree, offset, 0, "No know information (help wanted)");
+ proto_tree_add_text( tree, NullTVB, offset, 0, "No know information (help wanted)");
break;
default:
@@ -1144,11 +1144,11 @@ static void dissect_msproxy_response(const u_char *pd, int offset, frame_data *f
if (tree &&
(((cmd >> 8) == MSPROXY_CONNREFUSED) ||
((cmd >> 12) == MSPROXY_CONNREFUSED)))
- proto_tree_add_text( tree, offset, 0,
+ proto_tree_add_text( tree, NullTVB, offset, 0,
"No know information (help wanted)");
else if ( tree)
- proto_tree_add_text( tree, offset, 0,
+ proto_tree_add_text( tree, NullTVB, offset, 0,
"Unhandled response command (report this, please)");
}
@@ -1202,7 +1202,7 @@ static void dissect_msproxy(const u_char *pd, int offset, frame_data *fd, proto_
}
if (tree) { /* if proto tree, decode data */
- ti = proto_tree_add_item( tree, proto_msproxy, offset,
+ ti = proto_tree_add_item( tree, proto_msproxy, NullTVB, offset,
END_OF_FRAME, NULL, "MSproxy:" );
msproxy_tree = proto_item_add_subtree(ti, ett_msproxy);
diff --git a/packet-nbipx.c b/packet-nbipx.c
index d31a6c7553..882ad594f1 100644
--- a/packet-nbipx.c
+++ b/packet-nbipx.c
@@ -2,7 +2,7 @@
* Routines for NetBIOS over IPX packet disassembly
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-nbipx.c,v 1.18 2000/02/15 21:02:35 gram Exp $
+ * $Id: packet-nbipx.c,v 1.19 2000/05/11 08:15:24 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -144,7 +144,7 @@ add_routers(proto_tree *tree, const u_char *pd, int offset)
rtr_offset = offset + (i << 2);
memcpy(&router, &pd[rtr_offset], 4);
if (router != 0) {
- proto_tree_add_text(tree, rtr_offset, 4, "IPX Network: %s",
+ proto_tree_add_text(tree, NullTVB, rtr_offset, 4, "IPX Network: %s",
ipxnet_to_string((guint8*)&router));
}
}
@@ -187,37 +187,37 @@ dissect_nbipx_ns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_nbipx, offset, 50, NULL);
+ 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);
- tf = proto_tree_add_text(nbipx_tree, offset+32, 1,
+ tf = proto_tree_add_text(nbipx_tree, NullTVB, offset+32, 1,
"Name type flag: 0x%02x", name_type_flag);
name_type_flag_tree = proto_item_add_subtree(tf,
ett_nbipx_name_type_flags);
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x80, 8,
"Group name", "Unique name"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x40, 8,
"Name in use", "Name not used"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x04, 8,
"Name registered", "Name not registered"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x02, 8,
"Name duplicated", "Name not duplicated"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x01, 8,
"Name deregistered", "Name not deregistered"));
- proto_tree_add_text(nbipx_tree, offset+33, 1,
+ proto_tree_add_text(nbipx_tree, NullTVB, offset+33, 1,
"Packet Type: %s (%02X)",
val_to_str(packet_type, nbipx_data_stream_type_vals, "Unknown"),
packet_type);
@@ -238,18 +238,18 @@ dissect_nbipx_dg(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
col_add_fstr(fd, COL_INFO, "NetBIOS datagram over NBIPX");
if (tree) {
- ti = proto_tree_add_item(tree, proto_nbipx, offset,
+ 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, offset, 1,
+ proto_tree_add_text(nbipx_tree, NullTVB, offset, 1,
"Connection control: 0x%02x", pd[offset]);
offset += 1;
max_data -= 1;
if (!BYTES_ARE_IN_FRAME(offset, 1))
return;
- proto_tree_add_text(nbipx_tree, offset, 1,
+ proto_tree_add_text(nbipx_tree, NullTVB, offset, 1,
"Packet Type: %s (%02X)",
val_to_str(pd[offset], nbipx_data_stream_type_vals, "Unknown"),
pd[offset]);
@@ -341,7 +341,7 @@ dissect_nwlink_dg(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_nbipx, offset, 68, NULL);
+ 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);
@@ -352,28 +352,28 @@ dissect_nwlink_dg(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
*/
if (packet_type != NWLINK_SMB &&
packet_type != NWLINK_NETBIOS_DATAGRAM) {
- tf = proto_tree_add_text(nbipx_tree, offset+32, 1,
+ tf = proto_tree_add_text(nbipx_tree, NullTVB, offset+32, 1,
"Name type flag: 0x%02x",
name_type_flag);
name_type_flag_tree = proto_item_add_subtree(tf,
ett_nbipx_name_type_flags);
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x80, 8,
"Group name", "Unique name"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x40, 8,
"Name in use", "Name not used"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x04, 8,
"Name registered", "Name not registered"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x02, 8,
"Name duplicated", "Name not duplicated"));
- proto_tree_add_text(name_type_flag_tree, offset+32,
+ proto_tree_add_text(name_type_flag_tree, NullTVB, offset+32,
1, "%s",
decode_boolean_bitfield(name_type_flag, 0x01, 8,
"Name deregistered", "Name not deregistered"));
@@ -384,18 +384,18 @@ dissect_nwlink_dg(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
if (!netbios_add_name("Node name", pd, offset+52,
nbipx_tree))
return;
- proto_tree_add_text(nbipx_tree, offset+33, 1,
+ proto_tree_add_text(nbipx_tree, NullTVB, offset+33, 1,
"Packet Type: %s (%02X)",
val_to_str(packet_type, nwlink_data_stream_type_vals, "Unknown"),
packet_type);
} else {
- proto_tree_add_text(nbipx_tree, offset+32, 1,
+ proto_tree_add_text(nbipx_tree, NullTVB, offset+32, 1,
"Packet type: 0x%02x", name_type_flag);
- proto_tree_add_text(nbipx_tree, offset+33, 1,
+ proto_tree_add_text(nbipx_tree, NullTVB, offset+33, 1,
"Name Type: %s (0x%02x)",
netbios_name_type_descr(packet_type),
packet_type);
- proto_tree_add_text(nbipx_tree, offset+34, 2,
+ proto_tree_add_text(nbipx_tree, NullTVB, offset+34, 2,
"Message ID: 0x%04x", pletohs(&pd[offset+34]));
if (!netbios_add_name("Requested name", pd, offset+36,
nbipx_tree))
diff --git a/packet-nbns.c b/packet-nbns.c
index b0b7d2a7a8..e99161d54a 100644
--- a/packet-nbns.c
+++ b/packet-nbns.c
@@ -4,7 +4,7 @@
* Gilbert Ramirez <gram@xiexie.org>
* Much stuff added by Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-nbns.c,v 1.41 2000/04/12 21:42:31 guy Exp $
+ * $Id: packet-nbns.c,v 1.42 2000/05/11 08:15:24 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -325,10 +325,10 @@ add_name_and_type(proto_tree *tree, int offset, int len, char *tag,
char *name, int name_type)
{
if (name_type != -1) {
- proto_tree_add_text(tree, offset, len, "%s: %s (%s)",
+ proto_tree_add_text(tree, NullTVB, offset, len, "%s: %s (%s)",
tag, name, netbios_name_type_descr(name_type));
} else {
- proto_tree_add_text(tree, offset, len, "%s: %s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "%s: %s",
tag, name);
}
}
@@ -366,7 +366,7 @@ dissect_nbns_query(const u_char *pd, int offset, int nbns_data_offset,
if (fd != NULL)
col_append_fstr(fd, COL_INFO, " %s %s", type_name, name);
if (nbns_tree != NULL) {
- tq = proto_tree_add_text(nbns_tree, offset, len,
+ tq = proto_tree_add_text(nbns_tree, NullTVB, offset, len,
"%s: type %s, class %s", name, type_name, class_name);
q_tree = proto_item_add_subtree(tq, ett_nbns_qd);
@@ -374,10 +374,10 @@ dissect_nbns_query(const u_char *pd, int offset, int nbns_data_offset,
name_type);
offset += name_len;
- proto_tree_add_text(q_tree, offset, 2, "Type: %s", type_name);
+ proto_tree_add_text(q_tree, NullTVB, offset, 2, "Type: %s", type_name);
offset += 2;
- proto_tree_add_text(q_tree, offset, 2, "Class: %s", class_name);
+ proto_tree_add_text(q_tree, NullTVB, offset, 2, "Class: %s", class_name);
offset += 2;
}
@@ -411,48 +411,48 @@ nbns_add_nbns_flags(proto_tree *nbns_tree, int offset, u_short flags,
strcat(buf, val_to_str(flags & F_RCODE, rcode_vals,
"Unknown error"));
}
- tf = proto_tree_add_text(nbns_tree, offset, 2,
+ tf = proto_tree_add_text(nbns_tree, NullTVB, offset, 2,
"Flags: 0x%04x (%s)", flags, buf);
field_tree = proto_item_add_subtree(tf, ett_nbns_flags);
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, F_RESPONSE,
2*8, "Response", "Query"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(flags, F_OPCODE,
2*8, opcode_vals, "%s"));
if (flags & F_RESPONSE) {
- proto_tree_add_text(field_tree, offset, 2,
+ proto_tree_add_text(field_tree, NullTVB, offset, 2,
"%s",
decode_boolean_bitfield(flags, F_AUTHORITATIVE,
2*8,
"Server is an authority for domain",
"Server isn't an authority for domain"));
}
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, F_TRUNCATED,
2*8,
"Message is truncated",
"Message is not truncated"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, F_RECDESIRED,
2*8,
"Do query recursively",
"Don't do query recursively"));
if (flags & F_RESPONSE) {
- proto_tree_add_text(field_tree, offset, 2,
+ proto_tree_add_text(field_tree, NullTVB, offset, 2,
"%s",
decode_boolean_bitfield(flags, F_RECAVAIL,
2*8,
"Server can do recursive queries",
"Server can't do recursive queries"));
}
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, F_BROADCAST,
2*8,
"Broadcast packet",
"Not a broadcast packet"));
if (flags & F_RESPONSE && !is_wack) {
- proto_tree_add_text(field_tree, offset, 2,
+ proto_tree_add_text(field_tree, NullTVB, offset, 2,
"%s",
decode_enumerated_bitfield(flags, F_RCODE,
2*8,
@@ -481,15 +481,15 @@ nbns_add_nb_flags(proto_tree *rr_tree, int offset, u_short flags)
strcat(buf, "group");
else
strcat(buf, "unique");
- tf = proto_tree_add_text(rr_tree, offset, 2, "Flags: 0x%x (%s)", flags,
+ tf = proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Flags: 0x%x (%s)", flags,
buf);
field_tree = proto_item_add_subtree(tf, ett_nbns_nb_flags);
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, NB_FLAGS_G,
2*8,
"Group name",
"Unique name"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(flags, NB_FLAGS_ONT,
2*8, nb_flags_ont_vals, "%s"));
}
@@ -522,33 +522,33 @@ nbns_add_name_flags(proto_tree *rr_tree, int offset, u_short flags)
strcat(buf, ", active");
if (flags & NAME_FLAGS_PRM)
strcat(buf, ", permanent node name");
- tf = proto_tree_add_text(rr_tree, offset, 2, "Name flags: 0x%x (%s)",
+ tf = proto_tree_add_text(rr_tree, NullTVB, offset, 2, "Name flags: 0x%x (%s)",
flags, buf);
field_tree = proto_item_add_subtree(tf, ett_nbns_name_flags);
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, NAME_FLAGS_G,
2*8,
"Group name",
"Unique name"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(flags, NAME_FLAGS_ONT,
2*8, name_flags_ont_vals, "%s"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, NAME_FLAGS_DRG,
2*8,
"Name is being deregistered",
"Name is not being deregistered"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, NAME_FLAGS_CNF,
2*8,
"Name is in conflict",
"Name is not in conflict"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, NAME_FLAGS_ACT,
2*8,
"Name is active",
"Name is not active"));
- proto_tree_add_text(field_tree, offset, 2, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, NAME_FLAGS_PRM,
2*8,
"Permanent node name",
@@ -621,7 +621,7 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
}
if (nbns_tree == NULL)
break;
- trr = proto_tree_add_text(nbns_tree, offset,
+ trr = proto_tree_add_text(nbns_tree, NullTVB, offset,
(dptr - data_start) + data_len,
"%s: type %s, class %s",
name, type_name, class_name);
@@ -641,7 +641,7 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
@@ -658,7 +658,7 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
@@ -674,11 +674,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 4) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 4,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4,
"Addr: %s",
ip_to_str((guint8 *)dptr));
dptr += 4;
@@ -693,7 +693,7 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
col_append_fstr(fd, COL_INFO, " %s", type_name);
if (nbns_tree == NULL)
break;
- trr = proto_tree_add_text(nbns_tree, offset,
+ trr = proto_tree_add_text(nbns_tree, NullTVB, offset,
(dptr - data_start) + data_len,
"%s: type %s, class %s",
name, type_name, class_name);
@@ -705,13 +705,13 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 1) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
num_names = *dptr;
dptr += 1;
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of names: %u", num_names);
cur_offset += 1;
@@ -722,7 +722,7 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < NETBIOS_NAME_LEN) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
goto out;
}
@@ -730,7 +730,7 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
dptr += NETBIOS_NAME_LEN;
name_type = process_netbios_name(nbname,
name_str);
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
NETBIOS_NAME_LEN, "Name: %s<%02x> (%s)",
name_str, name_type,
netbios_name_type_descr(name_type));
@@ -743,7 +743,7 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
goto out;
}
@@ -762,11 +762,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 6) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 6,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 6,
"Unit ID: %s",
ether_to_str((guint8 *)dptr));
dptr += 6;
@@ -779,11 +779,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 1) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 1,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1,
"Jumpers: 0x%x", *dptr);
dptr += 1;
cur_offset += 1;
@@ -795,11 +795,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 1) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 1,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 1,
"Test result: 0x%x", *dptr);
dptr += 1;
cur_offset += 1;
@@ -811,11 +811,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Version number: 0x%x", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -827,11 +827,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Period of statistics: 0x%x", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -843,11 +843,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of CRCs: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -859,11 +859,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of alignment errors: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -875,11 +875,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of collisions: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -891,11 +891,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of send aborts: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -907,11 +907,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 4) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 4,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4,
"Number of good sends: %u", pntohl(dptr));
dptr += 4;
cur_offset += 4;
@@ -923,11 +923,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 4) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 4,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 4,
"Number of good receives: %u", pntohl(dptr));
dptr += 4;
cur_offset += 4;
@@ -939,11 +939,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of retransmits: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -955,11 +955,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of no resource conditions: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -971,11 +971,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of command blocks: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -987,11 +987,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Number of pending sessions: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -1003,11 +1003,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Max number of pending sessions: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -1018,11 +1018,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Max total sessions possible: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -1034,11 +1034,11 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
return 0;
}
if (data_len < 2) {
- proto_tree_add_text(rr_tree, cur_offset,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset,
data_len, "(incomplete entry)");
break;
}
- proto_tree_add_text(rr_tree, cur_offset, 2,
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, 2,
"Session data packet size: %u", pntohs(dptr));
dptr += 2;
cur_offset += 2;
@@ -1051,13 +1051,13 @@ dissect_nbns_answer(const u_char *pd, int offset, int nbns_data_offset,
col_append_fstr(fd, COL_INFO, " %s", type_name);
if (nbns_tree == NULL)
break;
- trr = proto_tree_add_text(nbns_tree, offset,
+ trr = proto_tree_add_text(nbns_tree, NullTVB, offset,
(dptr - data_start) + data_len,
"%s: type %s, class %s",
name, type_name, class_name);
rr_tree = add_rr_to_tree(trr, ett_nbns_rr, offset, name,
name_len, type_name, class_name, ttl, data_len);
- proto_tree_add_text(rr_tree, cur_offset, data_len, "Data");
+ proto_tree_add_text(rr_tree, NullTVB, cur_offset, data_len, "Data");
break;
}
dptr += data_len;
@@ -1075,7 +1075,7 @@ dissect_query_records(const u_char *pd, int cur_off, int nbns_data_offset,
start_off = cur_off;
if (nbns_tree != NULL) {
- ti = proto_tree_add_text(nbns_tree, start_off, 0, "Queries");
+ ti = proto_tree_add_text(nbns_tree, NullTVB, start_off, 0, "Queries");
qatree = proto_item_add_subtree(ti, ett_nbns_qry);
}
while (count-- > 0) {
@@ -1106,7 +1106,7 @@ dissect_answer_records(const u_char *pd, int cur_off, int nbns_data_offset,
start_off = cur_off;
if (nbns_tree != NULL) {
- ti = proto_tree_add_text(nbns_tree, start_off, 0, name);
+ ti = proto_tree_add_text(nbns_tree, NullTVB, start_off, 0, name);
qatree = proto_item_add_subtree(ti, ett_nbns_ans);
}
while (count-- > 0) {
@@ -1167,28 +1167,28 @@ dissect_nbns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_nbns, offset, END_OF_FRAME, NULL);
+ 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,
+ 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,
+ proto_tree_add_item_hidden(nbns_tree, hf_nbns_query, NullTVB,
0, 0, TRUE);
}
- proto_tree_add_item(nbns_tree, hf_nbns_transaction_id,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(nbns_tree, hf_nbns_count_add_rr, NullTVB,
offset + NBNS_ADD, 2, add);
}
@@ -1325,35 +1325,35 @@ dissect_nbdgm(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_nbdgm, offset, header.dgm_length, NULL);
+ 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,
+ proto_tree_add_uint_format(nbdgm_tree, hf_nbdgm_type, NullTVB,
offset, 1,
header.msg_type,
"Message Type: %s",
message[message_index]);
- proto_tree_add_boolean_format(nbdgm_tree, hf_nbdgm_fragment,
+ proto_tree_add_boolean_format(nbdgm_tree, hf_nbdgm_fragment, NullTVB,
offset+1, 1,
header.flags.more,
"More fragments follow: %s",
yesno[header.flags.more]);
- proto_tree_add_boolean_format(nbdgm_tree, hf_nbdgm_first,
+ proto_tree_add_boolean_format(nbdgm_tree, hf_nbdgm_first, NullTVB,
offset+1, 1,
header.flags.first,
"This is first fragment: %s",
yesno[header.flags.first]);
- proto_tree_add_uint_format(nbdgm_tree, hf_nbdgm_node_type,
+ proto_tree_add_uint_format(nbdgm_tree, hf_nbdgm_node_type, NullTVB,
offset+1, 1,
header.flags.node_type,
"Node Type: %s",
node[header.flags.node_type]);
- proto_tree_add_item(nbdgm_tree, hf_nbdgm_datagram_id,
+ 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,
+ 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,
+ proto_tree_add_item(nbdgm_tree, hf_nbdgm_src_port, NullTVB,
offset+8, 2, header.src_port);
}
@@ -1365,9 +1365,9 @@ dissect_nbdgm(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
header.msg_type == 0x11 || header.msg_type == 0x12) {
if (tree) {
- proto_tree_add_text(nbdgm_tree, offset, 2,
+ proto_tree_add_text(nbdgm_tree, NullTVB, offset, 2,
"Datagram length: %d bytes", header.dgm_length);
- proto_tree_add_text(nbdgm_tree, offset+2, 2,
+ proto_tree_add_text(nbdgm_tree, NullTVB, offset+2, 2,
"Packet offset: %d bytes", header.pkt_offset);
}
@@ -1399,7 +1399,7 @@ dissect_nbdgm(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
else if (header.msg_type == 0x13) {
if (tree) {
- proto_tree_add_text(nbdgm_tree, offset, 1, "Error code: %s",
+ proto_tree_add_text(nbdgm_tree, NullTVB, offset, 1, "Error code: %s",
val_to_str(header.error_code, error_codes, "Unknown (0x%x)"));
}
}
@@ -1490,10 +1490,10 @@ dissect_nbss_packet(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_nbss, offset, length + 4, NULL);
+ 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,
+ proto_tree_add_uint_format(nbss_tree, hf_nbss_type, NullTVB,
offset, 1,
msg_type,
"Message Type: %s",
@@ -1505,21 +1505,21 @@ dissect_nbss_packet(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
if (is_cifs) {
if (tree) {
- proto_tree_add_text(nbss_tree, offset, 3, "Length: %u", length);
+ proto_tree_add_text(nbss_tree, NullTVB, offset, 3, "Length: %u", length);
}
offset += 3;
} else {
if (tree) {
- tf = proto_tree_add_item(nbss_tree, hf_nbss_flags, offset, 1, flags);
+ 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, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, NBSS_FLAGS_E,
8, "Add 65536 to length", "Add 0 to length"));
}
offset += 1;
if (tree) {
- proto_tree_add_text(nbss_tree, offset, 2, "Length: %u", length);
+ proto_tree_add_text(nbss_tree, NullTVB, offset, 2, "Length: %u", length);
}
offset += 2;
@@ -1544,21 +1544,21 @@ dissect_nbss_packet(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
case NEGATIVE_SESSION_RESPONSE:
if (tree)
- proto_tree_add_text(nbss_tree, offset, 1,
+ proto_tree_add_text(nbss_tree, NullTVB, offset, 1,
"Error code: %s",
val_to_str(pd[offset], error_codes, "Unknown (%x)"));
break;
case RETARGET_SESSION_RESPONSE:
if (tree)
- proto_tree_add_text(nbss_tree, offset, 4,
+ proto_tree_add_text(nbss_tree, NullTVB, offset, 4,
"Retarget IP address: %s",
ip_to_str((guint8 *)&pd[offset]));
offset += 4;
if (tree)
- proto_tree_add_text(nbss_tree, offset, 2,
+ proto_tree_add_text(nbss_tree, NullTVB, offset, 2,
"Retarget port: %u", pntohs(&pd[offset]));
break;
@@ -1633,7 +1633,7 @@ dissect_nbss(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree)
- proto_tree_add_text(tree, offset, max_data, "Continuation data");
+ proto_tree_add_text(tree, NullTVB, offset, max_data, "Continuation data");
return;
}
diff --git a/packet-ncp.c b/packet-ncp.c
index ef215e127f..d36accadca 100644
--- a/packet-ncp.c
+++ b/packet-ncp.c
@@ -3,7 +3,7 @@
* Gilbert Ramirez <gram@xiexie.org>
* Modified to allow NCP over TCP/IP decodes by James Coe <jammer@cin.net>
*
- * $Id: packet-ncp.c,v 1.34 2000/04/18 04:46:06 guy Exp $
+ * $Id: packet-ncp.c,v 1.35 2000/05/11 08:15:26 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -576,18 +576,18 @@ dissect_ncp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
nw_ncp_type = header.type;
if (tree) {
- ti = proto_tree_add_item(tree, proto_ncp, offset, END_OF_FRAME, NULL);
+ 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, offset - 16, 4, ncpiph.signature);
- proto_tree_add_text(ncp_tree, offset - 12, 4, "Length: %d", ncpiph.length);
+ 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, offset - 8, 4, ncpiphrq.version);
- proto_tree_add_text(ncp_tree, offset - 4, 4, "Reply buffer size: %d", ncpiphrq.rplybufsize);
+ 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);
};
};
- proto_tree_add_uint_format(ncp_tree, hf_ncp_type,
+ proto_tree_add_uint_format(ncp_tree, hf_ncp_type, NullTVB,
offset, 2,
header.type,
"Type: %s",
@@ -595,13 +595,13 @@ dissect_ncp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
request_reply_values,
"Unknown (%04X)"));
- proto_tree_add_item(ncp_tree, hf_ncp_seq,
+ proto_tree_add_item(ncp_tree, hf_ncp_seq, NullTVB,
offset+2, 1, header.sequence);
- proto_tree_add_item(ncp_tree, hf_ncp_connection,
+ proto_tree_add_item(ncp_tree, hf_ncp_connection, NullTVB,
offset+3, 3, nw_connection);
- proto_tree_add_item(ncp_tree, hf_ncp_task,
+ proto_tree_add_item(ncp_tree, hf_ncp_task, NullTVB,
offset+4, 1, header.task);
}
@@ -688,16 +688,16 @@ dissect_ncp_request(const u_char *pd, int offset, frame_data *fd,
}
if (ncp_tree) {
- proto_tree_add_text(ncp_tree, offset+6, 1,
+ proto_tree_add_text(ncp_tree, NullTVB, offset+6, 1,
"Function Code: 0x%02X (%s)",
request.function, description);
if (ncp_request) {
if (ncp_request->submask == SUBFUNC) {
- proto_tree_add_text(ncp_tree, offset+7, 2,
+ proto_tree_add_text(ncp_tree, NullTVB, offset+7, 2,
"Packet Length: %d bytes", pntohs(&pd[offset+7]));
- proto_tree_add_text(ncp_tree, offset+9, 1,
+ proto_tree_add_text(ncp_tree, NullTVB, offset+9, 1,
"Subfunction Code: 0x%02x", pd[offset+9]);
offset += 7 + 3;
}
@@ -706,7 +706,7 @@ dissect_ncp_request(const u_char *pd, int offset, frame_data *fd,
}
if (ncp_request->req) {
- ti = proto_tree_add_text(ncp_tree, offset, END_OF_FRAME,
+ ti = proto_tree_add_text(ncp_tree, NullTVB, offset, END_OF_FRAME,
"NCP Request Packet");
field_tree = proto_item_add_subtree(ti, ett_ncp_request_fields);
@@ -770,23 +770,23 @@ dissect_ncp_reply(const u_char *pd, int offset, frame_data *fd,
/* A completion code of 0 always means OK. Other values have different
* meanings */
if (ncp_request) {
- proto_tree_add_text(ncp_tree, offset+6, 1,
+ proto_tree_add_text(ncp_tree, NullTVB, offset+6, 1,
"Completion Code: 0x%02x (%s)", reply.completion_code,
ncp_completion_code(reply.completion_code, ncp_request->family));
}
else {
- proto_tree_add_text(ncp_tree, offset+6, 1,
+ proto_tree_add_text(ncp_tree, NullTVB, offset+6, 1,
"Completion Code: 0x%02x (%s)", reply.completion_code,
reply.completion_code == 0 ? "OK" : "Unknown");
}
- proto_tree_add_text(ncp_tree, offset+7, 1,
+ proto_tree_add_text(ncp_tree, NullTVB, offset+7, 1,
"Connection Status: %d", reply.connection_state);
if (ncp_request) {
if (ncp_request->rep) {
- ti = proto_tree_add_text(ncp_tree, offset+8, END_OF_FRAME,
+ ti = proto_tree_add_text(ncp_tree, NullTVB, offset+8, END_OF_FRAME,
"NCP Reply Packet");
field_tree = proto_item_add_subtree(ti, ett_ncp_reply_fields);
@@ -810,20 +810,20 @@ parse_ncp_svc_fields(const u_char *pd, proto_tree *ncp_tree, int offset,
switch(rec->type) {
case nbeshort:
field_length = 2;
- proto_tree_add_text(ncp_tree, field_offset,
+ proto_tree_add_text(ncp_tree, NullTVB, field_offset,
field_length, rec->description, pntohs(&pd[field_offset]));
break;
case nasciile:
field_length = pd[field_offset];
- proto_tree_add_text(ncp_tree, field_offset,
+ proto_tree_add_text(ncp_tree, NullTVB, field_offset,
field_length + 1, rec->description, field_length,
&pd[field_offset+1]);
break;
case nhex:
field_length = rec->length;
- proto_tree_add_text(ncp_tree, field_offset,
+ proto_tree_add_text(ncp_tree, NullTVB, field_offset,
field_length, rec->description);
break;
diff --git a/packet-netbios.c b/packet-netbios.c
index 5b92ef4829..d48e4e9d2b 100644
--- a/packet-netbios.c
+++ b/packet-netbios.c
@@ -5,7 +5,7 @@
*
* derived from the packet-nbns.c
*
- * $Id: packet-netbios.c,v 1.18 2000/04/17 00:32:40 guy Exp $
+ * $Id: packet-netbios.c,v 1.19 2000/05/11 08:15:28 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -255,14 +255,14 @@ gboolean netbios_add_name(char* label, const u_char *pd, int offset,
}
name_type_str = netbios_name_type_descr(name_type);
- tf = proto_tree_add_text( tree, offset, NETBIOS_NAME_LEN,
+ tf = proto_tree_add_text( tree, NullTVB, offset, NETBIOS_NAME_LEN,
"%s: %s<%02x> (%s)", label, name_str, name_type, name_type_str);
field_tree = proto_item_add_subtree( tf, ett_netb_name);
- proto_tree_add_text( field_tree, offset, 15, "%s",
+ proto_tree_add_text( field_tree, NullTVB, offset, 15, "%s",
name_str);
- proto_tree_add_text( field_tree, offset + 15, 1,
+ proto_tree_add_text( field_tree, NullTVB, offset + 15, 1,
"0x%02x (%s)", name_type, name_type_str);
return TRUE;
}
@@ -277,19 +277,19 @@ static void netbios_data_first_middle_flags(const u_char *pd, proto_tree *tree,
guint flags = pd[offset];
/* decode the flag field for Data First Middle packet*/
- tf = proto_tree_add_text(tree, offset, 1,
+ tf = proto_tree_add_text(tree, NullTVB, offset, 1,
"Flags: 0x%02x", flags);
field_tree = proto_item_add_subtree(tf, ett_netb_flags);
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x08, 8,
"Acknowledge_included", "No Acknowledge_included"));
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x02, 8,
"No acknowledgement expected", "Acknowledgement expected"));
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x01, 8,
"RECEIVE_CONTINUE requested", "RECEIVE_CONTINUE not requested"));
}
@@ -303,19 +303,19 @@ static void netbios_data_only_flags(const u_char *pd, proto_tree *tree,
guint flags = pd[offset];
/* decode the flag field for Data Only Last packet*/
- tf = proto_tree_add_text(tree, offset, 1,
+ tf = proto_tree_add_text(tree, NullTVB, offset, 1,
"Flags: 0x%02x", flags);
field_tree = proto_item_add_subtree(tf, ett_netb_flags);
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x08, 8,
"ACKNOWLEDGE_INCLUDED", "No ACKNOWLEDGE_INCLUDED"));
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x04, 8,
"ACKNOWLEDGE_WITH_DATA_ALLOWED", "No ACKNOWLEDGE_WITH_DATA_ALLOWED"));
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x02, 8,
"No acknowledgement expected", "Acknowledgement expected"));
}
@@ -329,15 +329,15 @@ static void netbios_add_ses_confirm_flags(const u_char *pd, proto_tree *tree,
guint flags = pd[offset];
/* decode the flag field for Session Confirm packet */
- tf = proto_tree_add_text(tree, offset, 1,
+ tf = proto_tree_add_text(tree, NullTVB, offset, 1,
"Flags: 0x%02x", flags);
field_tree = proto_item_add_subtree( tf, ett_netb_flags);
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x80, 8,
"Can handle SEND.NO.ACK", "Can't handle SEND.NO.ACK"));
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x01, 8,
"NetBIOS 2.00 or higher", "NetBIOS 1.xx"));
}
@@ -351,19 +351,19 @@ static void netbios_add_session_init_flags(const u_char *pd, proto_tree *tree,
guint flags = pd[offset];
/* decode the flag field for Session Init packet */
- tf = proto_tree_add_text(tree, offset, 1,
+ tf = proto_tree_add_text(tree, NullTVB, offset, 1,
"Flags: 0x%02x", flags);
field_tree = proto_item_add_subtree(tf, ett_netb_flags);
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x80, 8,
"Can handle SEND.NO.ACK", "Can't handle SEND.NO.ACK"));
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_numeric_bitfield(flags, 0x0E, 8,
"Largest frame value = %u"));
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x01, 8,
"NetBIOS 2.00 or higher", "NetBIOS 1.xx"));
}
@@ -378,12 +378,12 @@ static void netbios_no_receive_flags(const u_char *pd, proto_tree *tree,
guint flags = pd[offset];
/* decode the flag field for No Receive packet*/
- tf = proto_tree_add_text(tree, offset, 1,
+ tf = proto_tree_add_text(tree, NullTVB, offset, 1,
"Flags: 0x%02x", flags);
if (flags & 0x02) {
field_tree = proto_item_add_subtree(tf, ett_netb_flags);
- proto_tree_add_text(field_tree, offset, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x02, 8,
"SEND.NO.ACK data not received", NULL));
}
@@ -401,7 +401,7 @@ static void nb_xmit_corrl(const u_char *pd, int offset, proto_tree *tree)
{/* display the transmit correlator */
- proto_tree_add_text( tree, offset + NB_XMIT_CORL, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_XMIT_CORL, 2,
"Transmit Correlator: 0x%04x", pletohs(&pd[offset + NB_XMIT_CORL]));
}
@@ -410,7 +410,7 @@ static void nb_resp_corrl(const u_char *pd, int offset, proto_tree *tree)
{/* display the response correlator */
- proto_tree_add_text( tree, offset + NB_RESP_CORL, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_RESP_CORL, 2,
"Response Correlator: 0x%04x", pletohs(&pd[offset + NB_RESP_CORL]));
}
@@ -425,17 +425,17 @@ static void nb_call_name_type(const u_char *pd, int offset,
switch (name_type_value) {
case 0x00:
- proto_tree_add_text( tree, offset + NB_CALL_NAME_TYPE, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_CALL_NAME_TYPE, 1,
"Caller's Name Type: Unique name");
break;
case 0x01:
- proto_tree_add_text( tree, offset + NB_CALL_NAME_TYPE, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_CALL_NAME_TYPE, 1,
"Caller's Name Type: Group name");
break;
default:
- proto_tree_add_text( tree, offset + NB_CALL_NAME_TYPE, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_CALL_NAME_TYPE, 1,
"Caller's Name Type: 0x%02x (should be 0 or 1)",
name_type_value);
break;
@@ -448,7 +448,7 @@ static void nb_local_session(const u_char *pd, int offset,
{/* add the local session to tree */
- proto_tree_add_text(tree, offset + NB_LOCAL_SES, 1,
+ proto_tree_add_text(tree, NullTVB, offset + NB_LOCAL_SES, 1,
"Local Session No.: 0x%02x", pd[offset + NB_LOCAL_SES]);
}
@@ -458,7 +458,7 @@ static void nb_remote_session(const u_char *pd, int offset,
{/* add the remote session to tree */
- proto_tree_add_text(tree, offset + NB_RMT_SES, 1,
+ proto_tree_add_text(tree, NullTVB, offset + NB_RMT_SES, 1,
"Remote Session No.: 0x%02x", pd[offset + NB_RMT_SES]);
}
@@ -471,7 +471,7 @@ static void nb_data2(char *label, int len, const u_char *pd, int offset,
int value = (len == 1 ? pd[offset + NB_DATA2]
: pletohs(&pd[offset + NB_DATA2]));
- proto_tree_add_text(tree, offset + NB_DATA2, len, label, value);
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA2, len, label, value);
}
static void nb_resync_indicator(const u_char *pd, int offset,
@@ -482,17 +482,17 @@ static void nb_resync_indicator(const u_char *pd, int offset,
switch (resync_indicator) {
case 0x0000:
- proto_tree_add_text(tree, offset + NB_DATA2, 2,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA2, 2,
"Re-sync indicator: Not first Data First Middle following Receive Outstanding");
break;
case 0x0001:
- proto_tree_add_text(tree, offset + NB_DATA2, 2,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA2, 2,
"Re-sync indicator: First Data First Middle following Receive Outstanding");
break;
default:
- proto_tree_add_text(tree, offset + NB_DATA2, 2,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA2, 2,
"Re-sync indicator: 0x%04x", resync_indicator);
break;
}
@@ -558,17 +558,17 @@ static void dissect_netb_status_query(const u_char *pd, int offset,
switch (status_request) {
case 0:
- proto_tree_add_text(tree, offset + NB_DATA1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA1, 1,
"Status request: NetBIOS 1.x or 2.0");
break;
case 1:
- proto_tree_add_text(tree, offset + NB_DATA1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA1, 1,
"Status request: NetBIOS 2.1, initial status request");
break;
default:
- proto_tree_add_text(tree, offset + NB_DATA1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA1, 1,
"Status request: NetBIOS 2.1, %u names received so far",
status_request);
break;
@@ -596,7 +596,7 @@ static void dissect_netb_datagram(const u_char *pd, int offset,
/* Weird. In some datagrams, this is 10 octets of 0, followed
by a MAC address.... */
if (memcmp(&pd[offset + NB_SENDER_NAME], zeroes, 10) == 0) {
- proto_tree_add_text( tree, offset + NB_SENDER_NAME + 10, 6,
+ proto_tree_add_text( tree, NullTVB, offset + NB_SENDER_NAME + 10, 6,
"Sender's MAC Address: %s",
ether_to_str(&pd[offset + NB_SENDER_NAME + 10]));
} else {
@@ -613,7 +613,7 @@ static void dissect_netb_datagram_bcast(const u_char *pd, int offset,
/* We assume the same weirdness can happen here.... */
if (memcmp(&pd[offset + NB_SENDER_NAME], zeroes, 10) == 0) {
- proto_tree_add_text( tree, offset + NB_SENDER_NAME + 10, 6,
+ proto_tree_add_text( tree, NullTVB, offset + NB_SENDER_NAME + 10, 6,
"Sender's Node Address: %s",
ether_to_str(&pd[offset + NB_SENDER_NAME + 10]));
} else {
@@ -630,10 +630,10 @@ static void dissect_netb_name_query(const u_char *pd, int offset,
guint8 local_session_number = pd[offset + NB_DATA2];
if (local_session_number == 0) {
- proto_tree_add_text( tree, offset + NB_DATA2, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 1,
"Local Session No.: 0 (FIND.NAME request)");
} else {
- proto_tree_add_text( tree, offset + NB_DATA2, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 1,
"Local Session No.: 0x%02x", local_session_number);
}
nb_call_name_type(pd, offset, tree);
@@ -657,17 +657,17 @@ static void dissect_netb_add_name_resp(const u_char *pd, int offset,
switch (status) {
case 0:
- proto_tree_add_text( tree, offset + NB_DATA1, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA1, 1,
"Status: Add name not in process");
break;
case 1:
- proto_tree_add_text( tree, offset + NB_DATA1, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA1, 1,
"Status: Add name in process");
break;
default:
- proto_tree_add_text( tree, offset + NB_DATA1, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA1, 1,
"Status: 0x%02x (should be 0 or 1)", status);
break;
}
@@ -675,17 +675,17 @@ static void dissect_netb_add_name_resp(const u_char *pd, int offset,
switch (name_type) {
case 0:
- proto_tree_add_text( tree, offset + NB_DATA2, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 2,
"Name type: Unique name");
break;
case 1:
- proto_tree_add_text( tree, offset + NB_DATA2, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 2,
"Name type: Group name");
break;
default:
- proto_tree_add_text( tree, offset + NB_DATA2, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 2,
"Name type: 0x%04x (should be 0 or 1)", name_type);
break;
}
@@ -708,17 +708,17 @@ static void dissect_netb_name_resp(const u_char *pd, int offset,
switch (local_session_number) {
case 0x00:
- proto_tree_add_text( tree, offset + NB_DATA2, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 1,
"State of name: No LISTEN pending, or FIND.NAME response");
break;
case 0xFF:
- proto_tree_add_text( tree, offset + NB_DATA2, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 1,
"State of name: LISTEN pending, but insufficient resources to establish session");
break;
default:
- proto_tree_add_text( tree, offset + NB_DATA2, 1,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 1,
"Local Session No.: 0x%02x", local_session_number);
break;
}
@@ -747,28 +747,28 @@ static void dissect_netb_status_resp(const u_char *pd, int offset,
nb_call_name_type(pd, offset, tree);
if (status_response == 0) {
- proto_tree_add_text(tree, offset + NB_DATA1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA1, 1,
"Status response: NetBIOS 1.x or 2.0");
} else {
- proto_tree_add_text(tree, offset + NB_DATA1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + NB_DATA1, 1,
"Status response: NetBIOS 2.1, %u names sent so far",
status_response);
}
data2 = pletohs(&pd[offset + NB_DATA2]);
- td2 = proto_tree_add_text(tree, offset + NB_DATA2, 2, "Status: 0x%04x",
+ td2 = proto_tree_add_text(tree, NullTVB, offset + NB_DATA2, 2, "Status: 0x%04x",
data2);
data2_tree = proto_item_add_subtree(td2, ett_netb_status);
if (data2 & 0x8000) {
- proto_tree_add_text(data2_tree, offset, 2, "%s",
+ proto_tree_add_text(data2_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(data2, 0x8000, 8*2,
"Data length exceeds maximum frame size", NULL));
}
if (data2 & 0x4000) {
- proto_tree_add_text(data2_tree, offset, 2, "%s",
+ proto_tree_add_text(data2_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(data2, 0x4000, 8*2,
"Data length exceeds user's buffer", NULL));
}
- proto_tree_add_text(data2_tree, offset, 2, "%s",
+ proto_tree_add_text(data2_tree, NullTVB, offset, 2, "%s",
decode_numeric_bitfield(data2, 0x3FFF, 2*8,
"Status data length = %u"));
nb_xmit_corrl(pd, offset, tree);
@@ -845,17 +845,17 @@ static void dissect_netb_session_end(const u_char *pd, int offset,
switch (termination_indicator) {
case 0x0000:
- proto_tree_add_text( tree, offset + NB_DATA2, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 2,
"Termination indicator: Normal session end");
break;
case 0x0001:
- proto_tree_add_text( tree, offset + NB_DATA2, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 2,
"Termination indicator: Abormal session end");
break;
default:
- proto_tree_add_text( tree, offset + NB_DATA2, 2,
+ proto_tree_add_text( tree, NullTVB, offset + NB_DATA2, 2,
"Termination indicator: 0x%04x (should be 0x0000 or 0x0001)",
termination_indicator);
break;
@@ -985,11 +985,11 @@ static void dissect_netbios(const u_char *pd, int offset, frame_data *fd,
col_add_str(fd, COL_INFO, "Bad packet");
if (tree) {
- ti = proto_tree_add_item(tree, proto_netbios,
+ 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, offset,
+ proto_tree_add_text( netb_tree, NullTVB, offset,
END_OF_FRAME, "Data (%u bytes)",
END_OF_FRAME);
}
@@ -1030,17 +1030,17 @@ static void dissect_netbios(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(tree, proto_netbios, offset, END_OF_FRAME, NULL);
+ 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, offset, 2,
+ proto_tree_add_text(netb_tree, NullTVB, offset, 2,
"Header Length: %d", hdr_len);
- proto_tree_add_text(netb_tree, offset + 2, 2,
+ proto_tree_add_text(netb_tree, NullTVB, offset + 2, 2,
"Delimiter: EFFF (NetBIOS)");
- proto_tree_add_text(netb_tree, offset + NB_COMMAND, 1,
+ proto_tree_add_text(netb_tree, NullTVB, offset + NB_COMMAND, 1,
"Command: 0x%02x (%s)", command, CommandName[ command]);
/* if command in table range */
diff --git a/packet-nfs.c b/packet-nfs.c
index 8191960572..2beb99888d 100644
--- a/packet-nfs.c
+++ b/packet-nfs.c
@@ -2,7 +2,7 @@
* Routines for nfs dissection
* Copyright 1999, Uwe Girlich <Uwe.Girlich@philosys.de>
*
- * $Id: packet-nfs.c,v 1.26 2000/04/04 06:46:25 guy Exp $
+ * $Id: packet-nfs.c,v 1.27 2000/05/11 08:15:28 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -174,7 +174,7 @@ guint32* status)
if (tree) {
/* this gives the right NFSv2 number<->message relation */
/* and makes it searchable via "nfs.status" */
- proto_tree_add_uint_format(tree, hf_nfs_nfsstat3,
+ proto_tree_add_uint_format(tree, hf_nfs_nfsstat3, NullTVB,
offset+0, 4, stat, "Status: %s (%u)",
val_to_str(stat,names_nfs_stat,"%u"), stat);
}
@@ -221,7 +221,7 @@ char* name)
ftype_name = val_to_str(ftype, nfs2_ftype, "%u");
if (tree) {
- proto_tree_add_text(tree, offset, 4,
+ proto_tree_add_text(tree, NullTVB, offset, 4,
"%s: %s (%u)", name, ftype_name, ftype);
}
@@ -242,7 +242,7 @@ dissect_fhandle_data(const u_char *pd, int offset, proto_tree *tree, int fhlen)
sublen = 16;
if (sublen > bytes_left)
sublen = bytes_left;
- proto_tree_add_text(tree, offset, sublen,
+ proto_tree_add_text(tree, NullTVB, offset, sublen,
"%s%s",
first_line ? "data: " :
" ",
@@ -261,7 +261,7 @@ dissect_fhandle(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
proto_tree* ftree = NULL;
if (tree) {
- fitem = proto_tree_add_text(tree, offset, FHSIZE,
+ fitem = proto_tree_add_text(tree, NullTVB, offset, FHSIZE,
"%s", name);
if (fitem)
ftree = proto_item_add_subtree(fitem, ett_nfs_fhandle);
@@ -299,16 +299,16 @@ dissect_timeval(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
mseconds = EXTRACT_UINT(pd, offset+4);
if (tree) {
- time_item = proto_tree_add_text(tree, offset, 8,
+ time_item = proto_tree_add_text(tree, NullTVB, offset, 8,
"%s: %u.%06u", name, seconds, mseconds);
if (time_item)
time_tree = proto_item_add_subtree(time_item, ett_nfs_timeval);
}
if (time_tree) {
- proto_tree_add_text(time_tree,offset+0,4,
+ proto_tree_add_text(time_tree, NullTVB,offset+0,4,
"seconds: %u", seconds);
- proto_tree_add_text(time_tree,offset+4,4,
+ proto_tree_add_text(time_tree, NullTVB,offset+4,4,
"micro seconds: %u", mseconds);
}
offset += 8;
@@ -339,39 +339,39 @@ char* name)
mode = EXTRACT_UINT(pd, offset+0);
if (tree) {
- mode_item = proto_tree_add_text(tree, offset, 4,
+ mode_item = proto_tree_add_text(tree, NullTVB, offset, 4,
"%s: 0%o", name, mode);
if (mode_item)
mode_tree = proto_item_add_subtree(mode_item, ett_nfs_mode);
}
if (mode_tree) {
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_enumerated_bitfield(mode, 0160000, 16,
nfs2_mode_names, "%s"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 04000, 16, "Set user id on exec", "not SUID"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 02000, 16, "Set group id on exec", "not SGID"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 01000, 16, "Save swapped text even after use", "not save swapped text"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 0400, 16, "Read permission for owner", "no Read permission for owner"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 0200, 16, "Write permission for owner", "no Write permission for owner"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 0100, 16, "Execute permission for owner", "no Execute permission for owner"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 040, 16, "Read permission for group", "no Read permission for group"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 020, 16, "Write permission for group", "no Write permission for group"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 010, 16, "Execute permission for group", "no Execute permission for group"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 04, 16, "Read permission for others", "no Read permission for others"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 02, 16, "Write permission for others", "no Write permission for others"));
- proto_tree_add_text(mode_tree, offset, 4, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode, 01, 16, "Execute permission for others", "no Execute permission for others"));
}
@@ -389,7 +389,7 @@ dissect_fattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
int old_offset = offset;
if (tree) {
- fattr_item = proto_tree_add_text(tree, offset,
+ fattr_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (fattr_item)
fattr_tree = proto_item_add_subtree(fattr_item, ett_nfs_fattr);
@@ -428,7 +428,7 @@ dissect_sattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
int old_offset = offset;
if (tree) {
- sattr_item = proto_tree_add_text(tree, offset,
+ sattr_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (sattr_item)
sattr_tree = proto_item_add_subtree(sattr_item, ett_nfs_sattr);
@@ -438,7 +438,7 @@ dissect_sattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
if (EXTRACT_UINT(pd, offset+0) != 0xffffffff)
offset = dissect_mode (pd,offset,fd,sattr_tree,"mode");
else {
- proto_tree_add_text(sattr_tree, offset, 4, "mode: no value");
+ proto_tree_add_text(sattr_tree, NullTVB, offset, 4, "mode: no value");
offset += 4;
}
@@ -446,7 +446,7 @@ dissect_sattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
if (EXTRACT_UINT(pd, offset+0) != 0xffffffff)
offset = dissect_unsigned_int (pd,offset,fd,sattr_tree,"uid");
else {
- proto_tree_add_text(sattr_tree, offset, 4, "uid: no value");
+ proto_tree_add_text(sattr_tree, NullTVB, offset, 4, "uid: no value");
offset += 4;
}
@@ -454,7 +454,7 @@ dissect_sattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
if (EXTRACT_UINT(pd, offset+0) != 0xffffffff)
offset = dissect_unsigned_int (pd,offset,fd,sattr_tree,"gid");
else {
- proto_tree_add_text(sattr_tree, offset, 4, "gid: no value");
+ proto_tree_add_text(sattr_tree, NullTVB, offset, 4, "gid: no value");
offset += 4;
}
@@ -462,7 +462,7 @@ dissect_sattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
if (EXTRACT_UINT(pd, offset+0) != 0xffffffff)
offset = dissect_unsigned_int (pd,offset,fd,sattr_tree,"size");
else {
- proto_tree_add_text(sattr_tree, offset, 4, "size: no value");
+ proto_tree_add_text(sattr_tree, NullTVB, offset, 4, "size: no value");
offset += 4;
}
@@ -470,7 +470,7 @@ dissect_sattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
if (EXTRACT_UINT(pd, offset+0) != 0xffffffff)
offset = dissect_timeval (pd,offset,fd,sattr_tree,"atime");
else {
- proto_tree_add_text(sattr_tree, offset, 8, "atime: no value");
+ proto_tree_add_text(sattr_tree, NullTVB, offset, 8, "atime: no value");
offset += 8;
}
@@ -478,7 +478,7 @@ dissect_sattr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, ch
if (EXTRACT_UINT(pd, offset+0) != 0xffffffff)
offset = dissect_timeval (pd,offset,fd,sattr_tree,"mtime");
else {
- proto_tree_add_text(sattr_tree, offset, 8, "mtime: no value");
+ proto_tree_add_text(sattr_tree, NullTVB, offset, 8, "mtime: no value");
offset += 8;
}
@@ -548,7 +548,7 @@ dissect_diropargs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
int old_offset = offset;
if (tree) {
- diropargs_item = proto_tree_add_text(tree, offset,
+ diropargs_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (diropargs_item)
diropargs_tree = proto_item_add_subtree(diropargs_item, ett_nfs_diropargs);
@@ -663,11 +663,11 @@ dissect_nfs2_read_call(const u_char *pd, int offset, frame_data *fd, proto_tree
count = EXTRACT_UINT(pd, offset+4);
totalcount = EXTRACT_UINT(pd, offset+8);
if (tree) {
- proto_tree_add_item(tree, hf_nfs_read_offset,
+ proto_tree_add_item(tree, hf_nfs_read_offset, NullTVB,
offset+0, 4, offset_value);
- proto_tree_add_item(tree, hf_nfs_read_count,
+ proto_tree_add_item(tree, hf_nfs_read_count, NullTVB,
offset+4, 4, count);
- proto_tree_add_item(tree, hf_nfs_read_totalcount,
+ proto_tree_add_item(tree, hf_nfs_read_totalcount, NullTVB,
offset+8, 4, totalcount);
}
offset += 12;
@@ -711,11 +711,11 @@ dissect_nfs2_write_call(const u_char *pd, int offset, frame_data *fd, proto_tree
offset_value = EXTRACT_UINT(pd, offset+4);
totalcount = EXTRACT_UINT(pd, offset+8);
if (tree) {
- proto_tree_add_item(tree, hf_nfs_write_beginoffset,
+ proto_tree_add_item(tree, hf_nfs_write_beginoffset, NullTVB,
offset+0, 4, beginoffset);
- proto_tree_add_item(tree, hf_nfs_write_offset,
+ proto_tree_add_item(tree, hf_nfs_write_offset, NullTVB,
offset+4, 4, offset_value);
- proto_tree_add_item(tree, hf_nfs_write_totalcount,
+ proto_tree_add_item(tree, hf_nfs_write_totalcount, NullTVB,
offset+8, 4, totalcount);
}
offset += 12;
@@ -783,9 +783,9 @@ dissect_nfs2_readdir_call(const u_char *pd, int offset, frame_data *fd, proto_tr
cookie = EXTRACT_UINT(pd, offset+ 0);
count = EXTRACT_UINT(pd, offset+ 4);
if (tree) {
- proto_tree_add_item(tree, hf_nfs_readdir_cookie,
+ proto_tree_add_item(tree, hf_nfs_readdir_cookie, NullTVB,
offset+ 0, 4, cookie);
- proto_tree_add_item(tree, hf_nfs_readdir_count,
+ proto_tree_add_item(tree, hf_nfs_readdir_count, NullTVB,
offset+ 4, 4, count);
}
offset += 8;
@@ -806,7 +806,7 @@ dissect_readdir_entry(const u_char* pd, int offset, frame_data* fd, proto_tree*
char *name;
if (tree) {
- entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry,
+ 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);
@@ -818,7 +818,7 @@ dissect_readdir_entry(const u_char* pd, int offset, frame_data* fd, proto_tree*
}
fileid = EXTRACT_UINT(pd, offset + 0);
if (entry_tree)
- proto_tree_add_item(entry_tree, hf_nfs_readdir_entry_fileid,
+ proto_tree_add_item(entry_tree, hf_nfs_readdir_entry_fileid, NullTVB,
offset+0, 4, fileid);
offset += 4;
@@ -832,7 +832,7 @@ dissect_readdir_entry(const u_char* pd, int offset, frame_data* fd, proto_tree*
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,
+ proto_tree_add_item(entry_tree, hf_nfs_readdir_entry_cookie, NullTVB,
offset+0, 4, cookie);
offset += 4;
@@ -858,7 +858,7 @@ dissect_nfs2_readdir_reply(const u_char* pd, int offset, frame_data* fd, proto_t
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,
+ proto_tree_add_item(tree,hf_nfs_readdir_value_follows, NullTVB,
offset+0, 4, value_follows);
offset += 4;
if (value_follows == 1) {
@@ -871,7 +871,7 @@ dissect_nfs2_readdir_reply(const u_char* pd, int offset, frame_data* fd, proto_t
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,
+ proto_tree_add_item(tree, hf_nfs_readdir_eof, NullTVB,
offset+ 0, 4, eof_value);
offset += 4;
break;
@@ -905,15 +905,15 @@ dissect_nfs2_statfs_reply(const u_char* pd, int offset, frame_data* fd, proto_tr
bfree = EXTRACT_UINT(pd, offset+12);
bavail = EXTRACT_UINT(pd, offset+16);
if (tree) {
- proto_tree_add_item(tree, hf_nfs_statfs_tsize,
+ proto_tree_add_item(tree, hf_nfs_statfs_tsize, NullTVB,
offset+ 0, 4, tsize);
- proto_tree_add_item(tree, hf_nfs_statfs_bsize,
+ proto_tree_add_item(tree, hf_nfs_statfs_bsize, NullTVB,
offset+ 4, 4, bsize);
- proto_tree_add_item(tree, hf_nfs_statfs_blocks,
+ proto_tree_add_item(tree, hf_nfs_statfs_blocks, NullTVB,
offset+ 8, 4, blocks);
- proto_tree_add_item(tree, hf_nfs_statfs_bfree,
+ proto_tree_add_item(tree, hf_nfs_statfs_bfree, NullTVB,
offset+12, 4, bfree);
- proto_tree_add_item(tree, hf_nfs_statfs_bavail,
+ proto_tree_add_item(tree, hf_nfs_statfs_bavail, NullTVB,
offset+16, 4, bavail);
}
offset += 20;
@@ -1040,7 +1040,7 @@ int
dissect_cookieverf3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
if (!BYTES_ARE_IN_FRAME(offset,8)) return offset;
- proto_tree_add_text(tree, offset, NFS3_COOKIEVERFSIZE,
+ proto_tree_add_text(tree, NullTVB, offset, NFS3_COOKIEVERFSIZE,
"Verifier: Opaque Data");
offset += NFS3_COOKIEVERFSIZE;
return offset;
@@ -1052,7 +1052,7 @@ int
dissect_createverf3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
if (!BYTES_ARE_IN_FRAME(offset,8)) return offset;
- proto_tree_add_text(tree, offset, NFS3_CREATEVERFSIZE,
+ proto_tree_add_text(tree, NullTVB, offset, NFS3_CREATEVERFSIZE,
"Verifier: Opaque Data");
offset += NFS3_CREATEVERFSIZE;
return offset;
@@ -1064,7 +1064,7 @@ int
dissect_writeverf3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
{
if (!BYTES_ARE_IN_FRAME(offset,8)) return offset;
- proto_tree_add_text(tree, offset, NFS3_WRITEVERFSIZE,
+ proto_tree_add_text(tree, NullTVB, offset, NFS3_WRITEVERFSIZE,
"Verifier: Opaque Data");
offset += NFS3_WRITEVERFSIZE;
return offset;
@@ -1124,7 +1124,7 @@ char* name)
mode3 = EXTRACT_UINT(pd, offset+0);
if (tree) {
- mode3_item = proto_tree_add_text(tree, offset, 4,
+ mode3_item = proto_tree_add_text(tree, NullTVB, offset, 4,
"%s: 0%o", name, mode3);
if (mode3_item)
mode3_tree = proto_item_add_subtree(mode3_item, ett_nfs_mode3);
@@ -1132,29 +1132,29 @@ char* name)
/* RFC 1813, Page 23 */
if (mode3_tree) {
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x800, 12, "Set user id on exec", "not SUID"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x400, 12, "Set group id on exec", "not SGID"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x200, 12, "Save swapped text even after use", "not save swapped text"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x100, 12, "Read permission for owner", "no Read permission for owner"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x80, 12, "Write permission for owner", "no Write permission for owner"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x40, 12, "Execute permission for owner", "no Execute permission for owner"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x20, 12, "Read permission for group", "no Read permission for group"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x10, 12, "Write permission for group", "no Write permission for group"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x8, 12, "Execute permission for group", "no Execute permission for group"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x4, 12, "Read permission for others", "no Read permission for others"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x2, 12, "Write permission for others", "no Write permission for others"));
- proto_tree_add_text(mode3_tree, offset, 4, "%s",
+ proto_tree_add_text(mode3_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(mode3, 0x1, 12, "Execute permission for others", "no Execute permission for others"));
}
@@ -1219,7 +1219,7 @@ dissect_nfsstat3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
nfsstat3 = EXTRACT_UINT(pd, offset+0);
if (tree) {
- proto_tree_add_item(tree, hf_nfs_nfsstat3,
+ proto_tree_add_item(tree, hf_nfs_nfsstat3, NullTVB,
offset, 4, nfsstat3);
}
@@ -1253,7 +1253,7 @@ int hf, guint32* ftype3)
type = EXTRACT_UINT(pd, offset+0);
if (tree) {
- proto_tree_add_item(tree, hf, offset, 4, type);
+ proto_tree_add_item(tree, hf, NullTVB, offset, 4, type);
}
offset += 4;
@@ -1277,7 +1277,7 @@ dissect_specdata3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
specdata2 = EXTRACT_UINT(pd, offset+4);
if (tree) {
- specdata3_item = proto_tree_add_text(tree, offset, 8,
+ specdata3_item = proto_tree_add_text(tree, NullTVB, offset, 8,
"%s: %u,%u", name, specdata1, specdata2);
if (specdata3_item)
specdata3_tree = proto_item_add_subtree(specdata3_item,
@@ -1285,9 +1285,9 @@ dissect_specdata3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
}
if (specdata3_tree) {
- proto_tree_add_text(specdata3_tree,offset+0,4,
+ proto_tree_add_text(specdata3_tree, NullTVB,offset+0,4,
"specdata1: %u", specdata1);
- proto_tree_add_text(specdata3_tree,offset+4,4,
+ proto_tree_add_text(specdata3_tree, NullTVB,offset+4,4,
"specdata2: %u", specdata2);
}
@@ -1311,14 +1311,14 @@ dissect_nfs_fh3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
fh3_fill = fh3_len_full - fh3_len;
if (tree) {
- fitem = proto_tree_add_text(tree, offset, 4+fh3_len_full,
+ fitem = proto_tree_add_text(tree, NullTVB, offset, 4+fh3_len_full,
"%s", name);
if (fitem)
ftree = proto_item_add_subtree(fitem, ett_nfs_fh3);
}
if (ftree) {
- proto_tree_add_text(ftree,offset+0,4,
+ proto_tree_add_text(ftree, NullTVB,offset+0,4,
"length: %u", fh3_len);
dissect_fhandle_data(pd, offset+4, ftree, fh3_len);
}
@@ -1342,16 +1342,16 @@ dissect_nfstime3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
nseconds = EXTRACT_UINT(pd, offset+4);
if (tree) {
- time_item = proto_tree_add_text(tree, offset, 8,
+ time_item = proto_tree_add_text(tree, NullTVB, offset, 8,
"%s: %u.%09u", name, seconds, nseconds);
if (time_item)
time_tree = proto_item_add_subtree(time_item, ett_nfs_nfstime3);
}
if (time_tree) {
- proto_tree_add_text(time_tree,offset+0,4,
+ proto_tree_add_text(time_tree, NullTVB,offset+0,4,
"seconds: %u", seconds);
- proto_tree_add_text(time_tree,offset+4,4,
+ proto_tree_add_text(time_tree, NullTVB,offset+4,4,
"nano seconds: %u", nseconds);
}
offset += 8;
@@ -1369,7 +1369,7 @@ dissect_fattr3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, c
guint32 type;
if (tree) {
- fattr3_item = proto_tree_add_text(tree, offset,
+ fattr3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (fattr3_item)
fattr3_tree = proto_item_add_subtree(fattr3_item, ett_nfs_fattr3);
@@ -1416,7 +1416,7 @@ dissect_post_op_attr(const u_char *pd, int offset, frame_data *fd, proto_tree *t
guint32 attributes_follow;
if (tree) {
- post_op_attr_item = proto_tree_add_text(tree, offset,
+ post_op_attr_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (post_op_attr_item)
post_op_attr_tree = proto_item_add_subtree(post_op_attr_item, ett_nfs_post_op_attr);
@@ -1424,7 +1424,7 @@ dissect_post_op_attr(const u_char *pd, int offset, frame_data *fd, proto_tree *t
if (!BYTES_ARE_IN_FRAME(offset,4)) return offset;
attributes_follow = EXTRACT_UINT(pd, offset+0);
- proto_tree_add_text(post_op_attr_tree, offset, 4,
+ proto_tree_add_text(post_op_attr_tree, NullTVB, offset, 4,
"attributes_follow: %s (%u)",
val_to_str(attributes_follow,value_follows,"Unknown"), attributes_follow);
offset += 4;
@@ -1456,7 +1456,7 @@ dissect_wcc_attr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
int old_offset = offset;
if (tree) {
- wcc_attr_item = proto_tree_add_text(tree, offset,
+ wcc_attr_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (wcc_attr_item)
wcc_attr_tree = proto_item_add_subtree(wcc_attr_item, ett_nfs_wcc_attr);
@@ -1485,7 +1485,7 @@ dissect_pre_op_attr(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
guint32 attributes_follow;
if (tree) {
- pre_op_attr_item = proto_tree_add_text(tree, offset,
+ pre_op_attr_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (pre_op_attr_item)
pre_op_attr_tree = proto_item_add_subtree(pre_op_attr_item, ett_nfs_pre_op_attr);
@@ -1493,7 +1493,7 @@ dissect_pre_op_attr(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
if (!BYTES_ARE_IN_FRAME(offset,4)) return offset;
attributes_follow = EXTRACT_UINT(pd, offset+0);
- proto_tree_add_text(pre_op_attr_tree, offset, 4,
+ proto_tree_add_text(pre_op_attr_tree, NullTVB, offset, 4,
"attributes_follow: %s (%u)",
val_to_str(attributes_follow,value_follows,"Unknown"), attributes_follow);
offset += 4;
@@ -1525,7 +1525,7 @@ dissect_wcc_data(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
int old_offset = offset;
if (tree) {
- wcc_data_item = proto_tree_add_text(tree, offset,
+ wcc_data_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (wcc_data_item)
wcc_data_tree = proto_item_add_subtree(wcc_data_item, ett_nfs_wcc_data);
@@ -1553,7 +1553,7 @@ dissect_post_op_fh3(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
guint32 handle_follows;
if (tree) {
- post_op_fh3_item = proto_tree_add_text(tree, offset,
+ post_op_fh3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (post_op_fh3_item)
post_op_fh3_tree = proto_item_add_subtree(post_op_fh3_item, ett_nfs_post_op_fh3);
@@ -1561,7 +1561,7 @@ dissect_post_op_fh3(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
if (!BYTES_ARE_IN_FRAME(offset,4)) return offset;
handle_follows = EXTRACT_UINT(pd, offset+0);
- proto_tree_add_text(post_op_fh3_tree, offset, 4,
+ proto_tree_add_text(post_op_fh3_tree, NullTVB, offset, 4,
"handle_follows: %s (%u)",
val_to_str(handle_follows,value_follows,"Unknown"), handle_follows);
offset += 4;
@@ -1599,14 +1599,14 @@ dissect_set_mode3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
set_it_name = val_to_str(set_it,value_follows,"Unknown");
if (tree) {
- set_mode3_item = proto_tree_add_text(tree, offset,
+ set_mode3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s: %s", name, set_it_name);
if (set_mode3_item)
set_mode3_tree = proto_item_add_subtree(set_mode3_item, ett_nfs_set_mode3);
}
if (set_mode3_tree)
- proto_tree_add_text(set_mode3_tree, offset, 4,
+ proto_tree_add_text(set_mode3_tree, NullTVB, offset, 4,
"set_it: %s (%u)", set_it_name, set_it);
offset += 4;
@@ -1645,14 +1645,14 @@ dissect_set_uid3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
set_it_name = val_to_str(set_it,value_follows,"Unknown");
if (tree) {
- set_uid3_item = proto_tree_add_text(tree, offset,
+ set_uid3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s: %s", name, set_it_name);
if (set_uid3_item)
set_uid3_tree = proto_item_add_subtree(set_uid3_item, ett_nfs_set_uid3);
}
if (set_uid3_tree)
- proto_tree_add_text(set_uid3_tree, offset, 4,
+ proto_tree_add_text(set_uid3_tree, NullTVB, offset, 4,
"set_it: %s (%u)", set_it_name, set_it);
offset += 4;
@@ -1691,14 +1691,14 @@ dissect_set_gid3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
set_it_name = val_to_str(set_it,value_follows,"Unknown");
if (tree) {
- set_gid3_item = proto_tree_add_text(tree, offset,
+ set_gid3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s: %s", name, set_it_name);
if (set_gid3_item)
set_gid3_tree = proto_item_add_subtree(set_gid3_item, ett_nfs_set_gid3);
}
if (set_gid3_tree)
- proto_tree_add_text(set_gid3_tree, offset, 4,
+ proto_tree_add_text(set_gid3_tree, NullTVB, offset, 4,
"set_it: %s (%u)", set_it_name, set_it);
offset += 4;
@@ -1737,14 +1737,14 @@ dissect_set_size3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
set_it_name = val_to_str(set_it,value_follows,"Unknown");
if (tree) {
- set_size3_item = proto_tree_add_text(tree, offset,
+ set_size3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s: %s", name, set_it_name);
if (set_size3_item)
set_size3_tree = proto_item_add_subtree(set_size3_item, ett_nfs_set_size3);
}
if (set_size3_tree)
- proto_tree_add_text(set_size3_tree, offset, 4,
+ proto_tree_add_text(set_size3_tree, NullTVB, offset, 4,
"set_it: %s (%u)", set_it_name, set_it);
offset += 4;
@@ -1797,7 +1797,7 @@ dissect_set_atime(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
set_it_name = val_to_str(set_it,time_how,"Unknown");
if (tree) {
- set_atime_item = proto_tree_add_text(tree, offset,
+ set_atime_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s: %s",
name, set_it_name);
if (set_atime_item)
@@ -1805,7 +1805,7 @@ dissect_set_atime(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
}
if (set_atime_tree)
- proto_tree_add_text(set_atime_tree, offset, 4,
+ proto_tree_add_text(set_atime_tree, NullTVB, offset, 4,
"set_it: %s (%u)", set_it_name, set_it);
offset += 4;
@@ -1845,7 +1845,7 @@ dissect_set_mtime(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
set_it_name = val_to_str(set_it,time_how,"Unknown");
if (tree) {
- set_mtime_item = proto_tree_add_text(tree, offset,
+ set_mtime_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s: %s",
name, set_it_name);
if (set_mtime_item)
@@ -1853,7 +1853,7 @@ dissect_set_mtime(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
}
if (set_mtime_tree)
- proto_tree_add_text(set_mtime_tree, offset, 4,
+ proto_tree_add_text(set_mtime_tree, NullTVB, offset, 4,
"set_it: %s (%u)", set_it_name, set_it);
offset += 4;
@@ -1887,7 +1887,7 @@ dissect_sattr3(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, c
int old_offset = offset;
if (tree) {
- sattr3_item = proto_tree_add_text(tree, offset,
+ sattr3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (sattr3_item)
sattr3_tree = proto_item_add_subtree(sattr3_item, ett_nfs_sattr3);
@@ -1918,7 +1918,7 @@ dissect_diropargs3(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
int old_offset = offset;
if (tree) {
- diropargs3_item = proto_tree_add_text(tree, offset,
+ diropargs3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s", name);
if (diropargs3_item)
diropargs3_tree = proto_item_add_subtree(diropargs3_item, ett_nfs_diropargs3);
@@ -1958,24 +1958,24 @@ dissect_access(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, c
access = EXTRACT_UINT(pd, offset+0);
if (tree) {
- access_item = proto_tree_add_text(tree, offset, 4,
+ access_item = proto_tree_add_text(tree, NullTVB, offset, 4,
"%s: 0x%02x", name, access);
if (access_item)
access_tree = proto_item_add_subtree(access_item, ett_nfs_access);
}
if (access_tree) {
- proto_tree_add_text(access_tree, offset, 4, "%s READ",
+ proto_tree_add_text(access_tree, NullTVB, offset, 4, "%s READ",
decode_boolean_bitfield(access, 0x001, 6, "allow", "not allow"));
- proto_tree_add_text(access_tree, offset, 4, "%s LOOKUP",
+ proto_tree_add_text(access_tree, NullTVB, offset, 4, "%s LOOKUP",
decode_boolean_bitfield(access, 0x002, 6, "allow", "not allow"));
- proto_tree_add_text(access_tree, offset, 4, "%s MODIFY",
+ proto_tree_add_text(access_tree, NullTVB, offset, 4, "%s MODIFY",
decode_boolean_bitfield(access, 0x004, 6, "allowed", "not allow"));
- proto_tree_add_text(access_tree, offset, 4, "%s EXTEND",
+ proto_tree_add_text(access_tree, NullTVB, offset, 4, "%s EXTEND",
decode_boolean_bitfield(access, 0x008, 6, "allow", "not allow"));
- proto_tree_add_text(access_tree, offset, 4, "%s DELETE",
+ proto_tree_add_text(access_tree, NullTVB, offset, 4, "%s DELETE",
decode_boolean_bitfield(access, 0x010, 6, "allow", "not allow"));
- proto_tree_add_text(access_tree, offset, 4, "%s EXECUTE",
+ proto_tree_add_text(access_tree, NullTVB, offset, 4, "%s EXECUTE",
decode_boolean_bitfield(access, 0x020, 6, "allow", "not allow"));
}
@@ -2050,14 +2050,14 @@ dissect_sattrguard3(const u_char* pd, int offset, frame_data* fd, proto_tree* tr
check_name = val_to_str(check,value_follows,"Unknown");
if (tree) {
- sattrguard3_item = proto_tree_add_text(tree, offset,
+ sattrguard3_item = proto_tree_add_text(tree, NullTVB, offset,
END_OF_FRAME, "%s: %s", name, check_name);
if (sattrguard3_item)
sattrguard3_tree = proto_item_add_subtree(sattrguard3_item, ett_nfs_sattrguard3);
}
if (sattrguard3_tree)
- proto_tree_add_text(sattrguard3_tree, offset, 4,
+ proto_tree_add_text(sattrguard3_tree, NullTVB, offset, 4,
"check: %s (%u)", check_name, check);
offset += 4;
@@ -2249,7 +2249,7 @@ dissect_stable_how(const u_char* pd, int offset, frame_data* fd, proto_tree* tre
if (!BYTES_ARE_IN_FRAME(offset,4)) return offset;
stable_how = EXTRACT_UINT(pd,offset+0);
if (tree) {
- proto_tree_add_item(tree, hfindex,
+ proto_tree_add_item(tree, hfindex, NullTVB,
offset, 4, stable_how);
}
offset += 4;
@@ -2313,7 +2313,7 @@ dissect_createmode3(const u_char* pd, int offset, frame_data* fd, proto_tree* tr
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,
+ proto_tree_add_item(tree, hf_nfs_createmode3, NullTVB,
offset+0, 4, mode_value);
}
offset += 4;
@@ -2526,7 +2526,7 @@ dissect_entry3(const u_char* pd, int offset, frame_data* fd, proto_tree* tree)
char *name;
if (tree) {
- entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry,
+ 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);
@@ -2567,7 +2567,7 @@ dissect_nfs3_readdir_reply(const u_char* pd, int offset, frame_data* fd, proto_t
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,
+ proto_tree_add_item(tree,hf_nfs_readdir_value_follows, NullTVB,
offset+0, 4, value_follows);
offset += 4;
if (value_follows == 1) {
@@ -2580,7 +2580,7 @@ dissect_nfs3_readdir_reply(const u_char* pd, int offset, frame_data* fd, proto_t
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,
+ proto_tree_add_item(tree, hf_nfs_readdir_eof, NullTVB,
offset+ 0, 4, eof_value);
offset += 4;
break;
@@ -2617,7 +2617,7 @@ dissect_entryplus3(const u_char* pd, int offset, frame_data* fd, proto_tree* tre
char *name;
if (tree) {
- entry_item = proto_tree_add_item(tree, hf_nfs_readdir_entry,
+ 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);
@@ -2661,7 +2661,7 @@ dissect_nfs3_readdirplus_reply(const u_char* pd, int offset, frame_data* fd, pro
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,
+ proto_tree_add_item(tree,hf_nfs_readdir_value_follows, NullTVB,
offset+0, 4, value_follows);
offset += 4;
if (value_follows == 1) {
@@ -2674,7 +2674,7 @@ dissect_nfs3_readdirplus_reply(const u_char* pd, int offset, frame_data* fd, pro
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,
+ proto_tree_add_item(tree, hf_nfs_readdir_eof, NullTVB,
offset+ 0, 4, eof_value);
offset += 4;
break;
@@ -2707,7 +2707,7 @@ dissect_nfs3_fsstat_reply(const u_char* pd, int offset, frame_data* fd, proto_tr
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,
+ proto_tree_add_item(tree, hf_nfs_fsstat_invarsec, NullTVB,
offset+0, 4, invarsec);
offset += 4;
break;
@@ -2749,43 +2749,43 @@ dissect_nfs3_fsinfo_reply(const u_char* pd, int offset, frame_data* fd, proto_tr
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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(tree, hf_nfs_fsinfo_dtpref, NullTVB,
offset+0, 4, dtpref);
offset += 4;
@@ -2796,32 +2796,32 @@ dissect_nfs3_fsinfo_reply(const u_char* pd, int offset, frame_data* fd, proto_tr
if (tree) {
properties_item = proto_tree_add_item(tree,
hf_nfs_fsinfo_properties,
- offset+0, 4, properties);
+ NullTVB, offset+0, 4, properties);
if (properties_item)
properties_tree = proto_item_add_subtree(properties_item, ett_nfs_fsinfo_properties);
if (properties_tree) {
- proto_tree_add_text(properties_tree,
+ proto_tree_add_text(properties_tree, NullTVB,
offset, 4, "%s",
decode_boolean_bitfield(properties,
FSF3_CANSETTIME,5,
"SETATTR can set time on server",
"SETATTR can't set time on server"));
- proto_tree_add_text(properties_tree,
+ proto_tree_add_text(properties_tree, NullTVB,
offset, 4, "%s",
decode_boolean_bitfield(properties,
FSF3_HOMOGENEOUS,5,
"PATHCONF is valid for all files",
"PATHCONF should be get for every single file"));
- proto_tree_add_text(properties_tree,
+ proto_tree_add_text(properties_tree, NullTVB,
offset, 4, "%s",
decode_boolean_bitfield(properties,
FSF3_SYMLINK,5,
"File System supports symbolic links",
"File System does not symbolic hard links"));
- proto_tree_add_text(properties_tree,
+ proto_tree_add_text(properties_tree, NullTVB,
offset, 4, "%s",
decode_boolean_bitfield(properties,
FSF3_LINK,5,
@@ -2855,13 +2855,13 @@ dissect_nfs3_pathconf_reply(const u_char* pd, int offset, frame_data* fd, proto_
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,
+ 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,
+ 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);
diff --git a/packet-nntp.c b/packet-nntp.c
index 12db6e789a..54b04196a0 100644
--- a/packet-nntp.c
+++ b/packet-nntp.c
@@ -2,7 +2,7 @@
* Routines for nntp packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-nntp.c,v 1.8 2000/04/08 07:07:31 guy Exp $
+ * $Id: packet-nntp.c,v 1.9 2000/05/11 08:15:30 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -84,13 +84,13 @@ dissect_nntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_nntp, offset, END_OF_FRAME, NULL);
+ 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, 0, 0, TRUE);
+ 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, 0, 0, TRUE);
+ proto_tree_add_item_hidden(nntp_tree, hf_nntp_response, NullTVB, 0, 0, TRUE);
}
/*
@@ -111,7 +111,7 @@ dissect_nntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/*
* Put this line.
*/
- proto_tree_add_text(nntp_tree, offset, linelen, "%s",
+ proto_tree_add_text(nntp_tree, NullTVB, offset, linelen, "%s",
format_text(data, linelen));
offset += linelen;
data = lineend;
diff --git a/packet-ntp.c b/packet-ntp.c
index 463d2a6a9c..751a44b927 100644
--- a/packet-ntp.c
+++ b/packet-ntp.c
@@ -2,7 +2,7 @@
* Routines for NTP packet dissection
* Copyright 1999, Nathan Neulinger <nneul@umr.edu>
*
- * $Id: packet-ntp.c,v 1.11 2000/04/08 07:07:32 guy Exp $
+ * $Id: packet-ntp.c,v 1.12 2000/05/11 08:15:30 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -255,21 +255,21 @@ dissect_ntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
/* Adding NTP item and subtree */
- ti = proto_tree_add_item(tree, proto_ntp, offset, END_OF_FRAME, NULL);
+ 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, offset, 1, pkt->flags);
+ 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);
- proto_tree_add_uint_format(flags_tree, hf_ntp_flags_li, offset, 1,
+ proto_tree_add_uint_format(flags_tree, hf_ntp_flags_li, NullTVB, offset, 1,
*pkt->flags & NTP_LI_MASK,
decode_enumerated_bitfield(*pkt->flags, NTP_LI_MASK,
sizeof(pkt->flags) * 8, li_types, "Leap Indicator: %s"));
- proto_tree_add_uint_format(flags_tree, hf_ntp_flags_vn, offset, 1,
+ proto_tree_add_uint_format(flags_tree, hf_ntp_flags_vn, NullTVB, offset, 1,
*pkt->flags & NTP_VN_MASK,
decode_enumerated_bitfield(*pkt->flags, NTP_VN_MASK,
sizeof(pkt->flags) * 8, ver_nums, "Version number: %s"));
- proto_tree_add_uint_format(flags_tree, hf_ntp_flags_mode, offset, 1,
+ proto_tree_add_uint_format(flags_tree, hf_ntp_flags_mode, NullTVB, offset, 1,
*pkt->flags & NTP_MODE_MASK,
decode_enumerated_bitfield(*pkt->flags, NTP_MODE_MASK,
sizeof(pkt->flags) * 8, mode_types, "Mode: %s"));
@@ -285,12 +285,12 @@ dissect_ntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
} else {
strcpy (buff, "Peer Clock Stratum: reserved: %d");
}
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_stratum, offset+1, 1, pkt->stratum,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_stratum, NullTVB, offset+1, 1, pkt->stratum,
buff, (int) *pkt->stratum);
/* Poll interval, 1byte field indicating the maximum interval between
* successive messages, in seconds to the nearest power of two.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_ppoll, offset+2, 1, pkt->ppoll,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_ppoll, NullTVB, offset+2, 1, pkt->ppoll,
(((*pkt->ppoll >= 4) && (*pkt->ppoll <= 16)) ?
"Peer Pooling Interval: %d (%d sec)" :
"Peer Pooling Interval: invalid (%d)"), (int) *pkt->ppoll,
@@ -298,13 +298,13 @@ dissect_ntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Precision, 1byte field indicating the precision of the
* local clock, in seconds to the nearest power of two.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_precision, offset+3, 1, pkt->precision,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_precision, NullTVB, offset+3, 1, pkt->precision,
"Peer Clock Precision: %8.6f sec", pow(2, *pkt->precision));
/* Root Delay is a 32-bit signed fixed-point number indicating the
* total roundtrip delay to the primary reference source, in seconds
* with fraction point between bits 15 and 16.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_rootdelay, offset+4, 4, pkt->rootdelay,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_rootdelay, NullTVB, offset+4, 4, pkt->rootdelay,
"Root Delay: %9.4f sec",
((gint32) pntohs(pkt->rootdelay)) +
pntohs(pkt->rootdelay + 2) / 65536.0);
@@ -312,7 +312,7 @@ dissect_ntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
* the nominal error relative to the primary reference source, in
* seconds with fraction point between bits 15 and 16.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_rootdispersion, offset+8, 4, pkt->rootdispersion,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_rootdispersion, NullTVB, offset+8, 4, pkt->rootdispersion,
"Clock Dispersion: %9.4f sec",
((gint32) pntohs(pkt->rootdispersion)) +
pntohs(pkt->rootdispersion + 2) / 65536.0);
@@ -335,30 +335,30 @@ dissect_ntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
} else
strcpy (buff, get_hostname (pntohl(pkt->refid)));
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_refid, offset+12, 4, pkt->refid,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_refid, NullTVB, offset+12, 4, pkt->refid,
"Reference Clock ID: %s", buff);
/* Reference Timestamp: This is the time at which the local clock was
* last set or corrected.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_reftime, offset+16, 8, pkt->reftime,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_reftime, NullTVB, offset+16, 8, pkt->reftime,
"Reference Clock Update Time: %s",
ntp_fmt_ts(pkt->reftime, buff));
/* Originate Timestamp: This is the time at which the request departed
* the client for the server.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_org, offset+24, 8, pkt->org,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_org, NullTVB, offset+24, 8, pkt->org,
"Originate Time Stamp: %s",
ntp_fmt_ts(pkt->org, buff));
/* Receive Timestamp: This is the time at which the request arrived at
* the server.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_rec, offset+32, 8, pkt->rec,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_rec, NullTVB, offset+32, 8, pkt->rec,
"Receive Time Stamp: %s",
ntp_fmt_ts(pkt->rec, buff));
/* Transmit Timestamp: This is the time at which the reply departed the
* server for the client.
*/
- proto_tree_add_bytes_format(ntp_tree, hf_ntp_xmt, offset+40, 8, pkt->xmt,
+ proto_tree_add_bytes_format(ntp_tree, hf_ntp_xmt, NullTVB, offset+40, 8, pkt->xmt,
"Transmit Time Stamp: %s",
ntp_fmt_ts(pkt->xmt, buff));
@@ -368,9 +368,9 @@ dissect_ntp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
* hex code for now.
*/
if ( BYTES_ARE_IN_FRAME(offset, 50) )
- proto_tree_add_item(ntp_tree, hf_ntp_keyid, offset+48, 4, pkt->keyid);
+ 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, offset+52, END_OF_FRAME, pkt->mac);
+ proto_tree_add_item(ntp_tree, hf_ntp_mac, NullTVB, offset+52, END_OF_FRAME, pkt->mac);
}
}
diff --git a/packet-null.c b/packet-null.c
index b891777687..3de8f390d8 100644
--- a/packet-null.c
+++ b/packet-null.c
@@ -1,7 +1,7 @@
/* packet-null.c
* Routines for null packet disassembly
*
- * $Id: packet-null.c,v 1.20 2000/03/27 17:53:19 gram Exp $
+ * $Id: packet-null.c,v 1.21 2000/05/11 08:15:30 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -267,7 +267,7 @@ dissect_null( const u_char *pd, frame_data *fd, proto_tree *tree )
*/
if (null_header > IEEE_802_3_MAX_LEN) {
if (tree) {
- ti = proto_tree_add_item(tree, proto_null, 0, 4, NULL);
+ ti = proto_tree_add_item(tree, proto_null, NullTVB, 0, 4, NULL);
fh_tree = proto_item_add_subtree(ti, ett_null);
} else
fh_tree = NULL;
@@ -276,9 +276,9 @@ dissect_null( const u_char *pd, frame_data *fd, proto_tree *tree )
/* 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, 0, 4, NULL);
+ ti = proto_tree_add_item(tree, proto_null, NullTVB, 0, 4, NULL);
fh_tree = proto_item_add_subtree(ti, ett_null);
- proto_tree_add_item(fh_tree, hf_null_family, 0, 4, null_header);
+ proto_tree_add_item(fh_tree, hf_null_family, NullTVB, 0, 4, null_header);
}
switch (null_header) {
diff --git a/packet-osi-options.c b/packet-osi-options.c
index 9db8f89d7a..5b9f1c1e88 100644
--- a/packet-osi-options.c
+++ b/packet-osi-options.c
@@ -5,7 +5,7 @@
* ISO 10589 ISIS (Intradomain Routeing Information Exchange Protocol)
* ISO 9542 ESIS (End System To Intermediate System Routeing Exchange Protocol)
*
- * $Id: packet-osi-options.c,v 1.1 2000/04/15 22:11:11 guy Exp $
+ * $Id: packet-osi-options.c,v 1.2 2000/05/11 08:15:31 gram Exp $
* Ralf Schneider <Ralf.Schneider@t-online.de>
*
* Ethereal - Network traffic analyzer
@@ -178,7 +178,7 @@ dissect_option_qos( const u_char type, const u_char sub_type, u_char offset,
proto_tree *osi_qos_tree = NULL;
- ti = proto_tree_add_text( tree, offset, len,
+ ti = proto_tree_add_text( tree, NullTVB, offset, len,
"Quality of service maintenance: %s",
val_to_str( type, osi_opt_qos_vals, "Unknown (0x%x)") );
@@ -188,33 +188,33 @@ dissect_option_qos( const u_char type, const u_char sub_type, u_char offset,
tmp_type = sub_type & OSI_OPT_QOS_SUB_RSVD;
if ( tmp_type ) {
- proto_tree_add_text( osi_qos_tree, offset, len,
+ proto_tree_add_text( osi_qos_tree, NullTVB, offset, len,
val_to_str( tmp_type, osi_opt_qos_sub_vals, "Unknown (0x%x)") );
}
tmp_type = sub_type & OSI_OPT_QOS_SUB_SEQ_VS_TRS;
if ( tmp_type ) {
- proto_tree_add_text( osi_qos_tree, offset, len,
+ proto_tree_add_text( osi_qos_tree, NullTVB, offset, len,
val_to_str( tmp_type, osi_opt_qos_sub_vals, "Unknown (0x%x)") );
}
tmp_type = sub_type &OSI_OPT_QOS_SUB_CONG_EXPED;
if ( tmp_type ) {
- proto_tree_add_text( osi_qos_tree, offset, len,
+ proto_tree_add_text( osi_qos_tree, NullTVB, offset, len,
val_to_str( tmp_type, osi_opt_qos_sub_vals, "Unknown (0x%x)") );
}
tmp_type = sub_type & OSI_OPT_QOS_SUB_TSD_VS_COST;
if ( tmp_type ) {
- proto_tree_add_text( osi_qos_tree, offset, len,
+ proto_tree_add_text( osi_qos_tree, NullTVB, offset, len,
val_to_str( tmp_type, osi_opt_qos_sub_vals, "Unknown (0x%x)") );
}
tmp_type = sub_type & OSI_OPT_QOS_SUB_RESERR_TRS;
if ( tmp_type ) {
- proto_tree_add_text( osi_qos_tree, offset, len,
+ proto_tree_add_text( osi_qos_tree, NullTVB, offset, len,
val_to_str( tmp_type, osi_opt_qos_sub_vals, "Unknown (0x%x)") );
}
tmp_type = sub_type & OSI_OPT_QOS_SUB_RESERR_COST;
if ( tmp_type ) {
- proto_tree_add_text( osi_qos_tree, offset, len,
+ proto_tree_add_text( osi_qos_tree, NullTVB, offset, len,
val_to_str( tmp_type, osi_opt_qos_sub_vals, "Unknown (0x%x)") );
}
}
@@ -242,7 +242,7 @@ dissect_option_route( u_char parm_type, u_char offset, u_char parm_len,
netl = pd[next_hop + 2 ];
this_hop = offset + 3; /* points to first netl */
- ti = proto_tree_add_text( tree, offset + next_hop, netl,
+ ti = proto_tree_add_text( tree, NullTVB, offset + next_hop, netl,
"Source Routing: %s ( Next Hop Highlighted In Data Buffer )",
(pd[offset] == 0) ? "Partial Source Routeing" :
"Complete Source Routeing" );
@@ -251,7 +251,7 @@ dissect_option_route( u_char parm_type, u_char offset, u_char parm_len,
last_hop = pd[offset + 1 ]; /* points to the end of the list */
netl = pd[ last_hop ]; /* mis-used to highlight buffer */
- ti = proto_tree_add_text( tree, offset + next_hop, netl,
+ ti = proto_tree_add_text( tree, NullTVB, offset + next_hop, netl,
"Record of Route: %s : %s",
(pd[offset] == 0) ? "Partial Source Routeing" :
"Complete Source Routeing" ,
@@ -265,7 +265,7 @@ dissect_option_route( u_char parm_type, u_char offset, u_char parm_len,
while ( this_hop < parm_len ) {
netl = pd[this_hop + 1];
- proto_tree_add_text( osi_route_tree, offset + this_hop, netl,
+ proto_tree_add_text( osi_route_tree, NullTVB, offset + this_hop, netl,
"Hop #%3u NETL: %2u, NET: %s",
cnt_hops++,
netl,
@@ -294,37 +294,37 @@ dissect_option_rfd( const u_char error, const u_char field, u_char offset,
error_class = error & OSI_OPT_RFD_MASK;
if ( OSI_OPT_RFD_GENERAL == error_class ) {
- proto_tree_add_text( tree, offset + field, 1, format_string[0],
+ proto_tree_add_text( tree, NullTVB, offset + field, 1, format_string[0],
val_to_str( error & OSI_OPT_RFD_SUB_MASK,
osi_opt_rfd_general, "Unknown (0x%x)"), field );
}
else if ( OSI_OPT_RFD_ADDRESS == error_class ) {
- proto_tree_add_text( tree, offset + field, 1, format_string[1],
+ proto_tree_add_text( tree, NullTVB, offset + field, 1, format_string[1],
val_to_str( error & OSI_OPT_RFD_SUB_MASK,
osi_opt_rfd_address, "Unknown (0x%x)"), field );
}
else if ( OSI_OPT_RFD_SOURCE_ROUTEING == error_class ) {
- proto_tree_add_text( tree, offset + field, 1, format_string[2],
+ proto_tree_add_text( tree, NullTVB, offset + field, 1, format_string[2],
val_to_str( error & OSI_OPT_RFD_SUB_MASK,
osi_opt_rfd_src_route, "Unknown (0x%x)"), field );
}
else if ( OSI_OPT_RFD_LIFETIME == error_class ) {
- proto_tree_add_text( tree, offset + field, 1, format_string[3],
+ proto_tree_add_text( tree, NullTVB, offset + field, 1, format_string[3],
val_to_str( error & OSI_OPT_RFD_SUB_MASK,
osi_opt_rfd_lifetime, "Unknown (0x%x)"), field );
}
else if ( OSI_OPT_RFD_PDU_DISCARDED == error_class ) {
- proto_tree_add_text( tree, offset + field, 1, format_string[4],
+ proto_tree_add_text( tree, NullTVB, offset + field, 1, format_string[4],
val_to_str( error & OSI_OPT_RFD_SUB_MASK,
osi_opt_rfd_discarded, "Unknown (0x%x)"), field );
}
else if ( OSI_OPT_RFD_REASSEMBLY == error_class ) {
- proto_tree_add_text( tree, offset + field, 1, format_string[5],
+ proto_tree_add_text( tree, NullTVB, offset + field, 1, format_string[5],
val_to_str( error & OSI_OPT_RFD_SUB_MASK,
osi_opt_rfd_reassembly, "Unknown (0x%x)"), field );
}
else {
- proto_tree_add_text( tree, offset, len,
+ proto_tree_add_text( tree, NullTVB, offset, len,
"Reason for discard: UNKNOWN Error Class" );
}
};
@@ -360,18 +360,18 @@ dissect_osi_options( u_char pdu_type, u_char opt_len, const u_char *pd,
if (tree) {
if ( 0 == opt_len ) {
- proto_tree_add_text( tree, offset, 0,
+ proto_tree_add_text( tree, NullTVB, offset, 0,
"### No Options for this PDU ###" );
return;
}
if ( opt_len > END_OF_FRAME ) {
- proto_tree_add_text( tree, offset, END_OF_FRAME,
+ proto_tree_add_text( tree, NullTVB, offset, END_OF_FRAME,
"### Options go past the end of the captured data in this PDU ###" );
return;
}
- ti = proto_tree_add_text( tree, offset, opt_len,
+ ti = proto_tree_add_text( tree, NullTVB, offset, opt_len,
"### Option Section ###" );
osi_option_tree = proto_item_add_subtree( ti, ott_osi_options );
@@ -386,36 +386,36 @@ dissect_osi_options( u_char pdu_type, u_char opt_len, const u_char *pd,
offset, parm_len, pd, osi_option_tree );
break;
case OSI_OPT_SECURITY:
- proto_tree_add_text( osi_option_tree, offset, parm_len,
+ proto_tree_add_text( osi_option_tree, NullTVB, offset, parm_len,
"Security type: %s",
val_to_str( pd[offset]&OSI_OPT_SEC_MASK,
osi_opt_sec_vals, "Unknown (0x%x)") );
break;
case OSI_OPT_PRIORITY:
if ( OSI_OPT_MAX_PRIORITY >= pd[offset] ) {
- proto_tree_add_text( osi_option_tree, offset, parm_len,
+ proto_tree_add_text( osi_option_tree, NullTVB, offset, parm_len,
"Priority : %u", pd[offset] );
}
else {
- proto_tree_add_text( osi_option_tree, offset, parm_len,
+ proto_tree_add_text( osi_option_tree, NullTVB, offset, parm_len,
"Priority : %u ( Invalid )",
pd[offset] );
}
break;
case OSI_OPT_ADDRESS_MASK:
- proto_tree_add_text( osi_option_tree, offset, parm_len,
+ proto_tree_add_text( osi_option_tree, NullTVB, offset, parm_len,
"Address Mask: %s", print_area( &pd[offset], parm_len ) );
break;
case OSI_OPT_SNPA_MASK:
- proto_tree_add_text( osi_option_tree, offset, parm_len,
+ proto_tree_add_text( osi_option_tree, NullTVB, offset, parm_len,
"SNPA Mask : %s", print_system_id( &pd[offset], parm_len ));
break;
case OSI_OPT_ES_CONFIG_TIMER:
- proto_tree_add_text( osi_option_tree, offset, parm_len,
+ proto_tree_add_text( osi_option_tree, NullTVB, offset, parm_len,
"ESCT : %u seconds", pntohs( &pd[offset] ) );
break;
case OSI_OPT_PADDING:
- proto_tree_add_text( osi_option_tree, offset, parm_len,
+ proto_tree_add_text( osi_option_tree, NullTVB, offset, parm_len,
"Padding : %u Octets", parm_len ) ;
break;
case OSI_OPT_SOURCE_ROUTING:
diff --git a/packet-ospf.c b/packet-ospf.c
index dbd8c3a248..bf753bb689 100644
--- a/packet-ospf.c
+++ b/packet-ospf.c
@@ -2,7 +2,7 @@
* Routines for OSPF packet disassembly
* (c) Copyright Hannes R. Boehm <hannes@boehm.org>
*
- * $Id: packet-ospf.c,v 1.22 2000/04/16 22:46:20 guy Exp $
+ * $Id: packet-ospf.c,v 1.23 2000/05/11 08:15:32 gram Exp $
*
* At this time, this module is able to analyze OSPF
* packets as specified in RFC2328. MOSPF (RFC1584) and other
@@ -111,58 +111,58 @@ dissect_ospf(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_ospf, offset, ntohs(ospfh.length), NULL);
+ 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, offset, OSPF_HEADER_LENGTH, "OSPF Header");
+ ti = proto_tree_add_text(ospf_tree, NullTVB, offset, OSPF_HEADER_LENGTH, "OSPF Header");
ospf_header_tree = proto_item_add_subtree(ti, ett_ospf_hdr);
- proto_tree_add_text(ospf_header_tree, offset, 1, "OSPF Version: %d", ospfh.version);
- proto_tree_add_text(ospf_header_tree, offset + 1 , 1, "OSPF Packet Type: %d (%s)",
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset, 1, "OSPF Version: %d", ospfh.version);
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 1 , 1, "OSPF Packet Type: %d (%s)",
ospfh.packet_type,
(packet_type != NULL ?
packet_type :
"Unknown"));
- proto_tree_add_text(ospf_header_tree, offset + 2 , 2, "Packet Length: %d",
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 2 , 2, "Packet Length: %d",
ntohs(ospfh.length));
- proto_tree_add_text(ospf_header_tree, offset + 4 , 4, "Source OSPF Router ID: %s",
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 4 , 4, "Source OSPF Router ID: %s",
ip_to_str((guint8 *) &(ospfh.routerid)));
if (!(ospfh.area)) {
- proto_tree_add_text(ospf_header_tree, offset + 8 , 4, "Area ID: Backbone");
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 8 , 4, "Area ID: Backbone");
} else {
- proto_tree_add_text(ospf_header_tree, offset + 8 , 4, "Area ID: %s", ip_to_str((guint8 *) &(ospfh.area)));
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 8 , 4, "Area ID: %s", ip_to_str((guint8 *) &(ospfh.area)));
}
- proto_tree_add_text(ospf_header_tree, offset + 12 , 2, "Packet Checksum: 0x%x",
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 12 , 2, "Packet Checksum: 0x%x",
ntohs(ospfh.checksum));
switch( ntohs(ospfh.auth_type) ) {
case OSPF_AUTH_NONE:
- proto_tree_add_text(ospf_header_tree, offset + 14 , 2, "Auth Type: none");
- proto_tree_add_text(ospf_header_tree, offset + 16 , 8, "Auth Data (none)");
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 14 , 2, "Auth Type: none");
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 16 , 8, "Auth Data (none)");
break;
case OSPF_AUTH_SIMPLE:
- proto_tree_add_text(ospf_header_tree, offset + 14 , 2, "Auth Type: simple");
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 14 , 2, "Auth Type: simple");
strncpy(auth_data, (char *) &ospfh.auth_data, 8);
- proto_tree_add_text(ospf_header_tree, offset + 16 , 8, "Auth Data: %s", auth_data);
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 16 , 8, "Auth Data: %s", auth_data);
break;
case OSPF_AUTH_CRYPT:
crypto = (e_ospf_crypto *)ospfh.auth_data;
- proto_tree_add_text(ospf_header_tree, offset + 14 , 2, "Auth Type: crypt");
- proto_tree_add_text(ospf_header_tree, offset + 18 , 1, "Auth Key ID: %d",
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 14 , 2, "Auth Type: crypt");
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 18 , 1, "Auth Key ID: %d",
crypto->key_id);
- proto_tree_add_text(ospf_header_tree, offset + 19 , 1, "Auth Data Length: %d",
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 19 , 1, "Auth Data Length: %d",
crypto->length);
- proto_tree_add_text(ospf_header_tree, offset + 20 , 4, "Auth Crypto Sequence Number: 0x%lx",
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 20 , 4, "Auth Crypto Sequence Number: 0x%lx",
(unsigned long)ntohl(crypto->sequence_num));
ospflen = ntohs(ospfh.length);
for (i = 0; i < crypto->length && i < (sizeof(auth_data)/2); i++)
sprintf(&auth_data[i*2],"%02x",pd[offset + ospflen + i]);
- proto_tree_add_text(ospf_header_tree, offset + ospflen , 16, "Auth Data: %s", auth_data);
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + ospflen , 16, "Auth Data: %s", auth_data);
break;
default:
- proto_tree_add_text(ospf_header_tree, offset + 14 , 2, "Auth Type (unknown)");
- proto_tree_add_text(ospf_header_tree, offset + 16 , 8, "Auth Data (unknown)");
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 14 , 2, "Auth Type (unknown)");
+ proto_tree_add_text(ospf_header_tree, NullTVB, offset + 16 , 8, "Auth Data (unknown)");
}
}
@@ -215,12 +215,12 @@ dissect_ospf_hello(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
memcpy(&ospfhello, &pd[offset], sizeof(e_ospf_hello));
if (tree) {
- ti = proto_tree_add_text(tree, offset, END_OF_FRAME, "OSPF Hello Packet");
+ ti = proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "OSPF Hello Packet");
ospf_hello_tree = proto_item_add_subtree(ti, ett_ospf_hello);
- proto_tree_add_text(ospf_hello_tree, offset , 4, "Network Mask: %s", ip_to_str((guint8 *) &ospfhello.network_mask));
- proto_tree_add_text(ospf_hello_tree, offset + 4, 2, "Hello Interval: %d seconds", ntohs(ospfhello.hellointervall));
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset , 4, "Network Mask: %s", ip_to_str((guint8 *) &ospfhello.network_mask));
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset + 4, 2, "Hello Interval: %d seconds", ntohs(ospfhello.hellointervall));
/* ATTENTION !!! no check for length of options string */
options_offset=0;
@@ -245,17 +245,17 @@ dissect_ospf_hello(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
options_offset+=3;
}
- proto_tree_add_text(ospf_hello_tree, offset + 6, 1, "Options: %d (%s)", ospfhello.options, options);
- proto_tree_add_text(ospf_hello_tree, offset + 7, 1, "Router Priority: %d", ospfhello.priority);
- proto_tree_add_text(ospf_hello_tree, offset + 8, 4, "Router Dead Interval: %ld seconds", (long)ntohl(ospfhello.dead_interval));
- proto_tree_add_text(ospf_hello_tree, offset + 12, 4, "Designated Router: %s", ip_to_str((guint8 *) &ospfhello.drouter));
- proto_tree_add_text(ospf_hello_tree, offset + 16, 4, "Backup Designated Router: %s", ip_to_str((guint8 *) &ospfhello.bdrouter));
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset + 6, 1, "Options: %d (%s)", ospfhello.options, options);
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset + 7, 1, "Router Priority: %d", ospfhello.priority);
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset + 8, 4, "Router Dead Interval: %ld seconds", (long)ntohl(ospfhello.dead_interval));
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset + 12, 4, "Designated Router: %s", ip_to_str((guint8 *) &ospfhello.drouter));
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset + 16, 4, "Backup Designated Router: %s", ip_to_str((guint8 *) &ospfhello.bdrouter));
offset+=20;
while(((int)(pi.captured_len - offset)) >= 4){
ospfneighbor=(guint32 *) &pd[offset];
- proto_tree_add_text(ospf_hello_tree, offset, 4, "Active Neighbor: %s", ip_to_str((guint8 *) ospfneighbor));
+ proto_tree_add_text(ospf_hello_tree, NullTVB, offset, 4, "Active Neighbor: %s", ip_to_str((guint8 *) ospfneighbor));
offset+=4;
}
}
@@ -275,10 +275,10 @@ dissect_ospf_db_desc(const u_char *pd, int offset, frame_data *fd, proto_tree *t
memcpy(&ospf_dbd, &pd[offset], sizeof(e_ospf_dbd));
if (tree) {
- ti = proto_tree_add_text(tree, offset, END_OF_FRAME, "OSPF DB Description");
+ ti = proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "OSPF DB Description");
ospf_db_desc_tree = proto_item_add_subtree(ti, ett_ospf_desc);
- proto_tree_add_text(ospf_db_desc_tree, offset, 2, "Interface MTU: %d", ntohs(ospf_dbd.interface_mtu) );
+ proto_tree_add_text(ospf_db_desc_tree, NullTVB, offset, 2, "Interface MTU: %d", ntohs(ospf_dbd.interface_mtu) );
options_offset=0;
@@ -303,7 +303,7 @@ dissect_ospf_db_desc(const u_char *pd, int offset, frame_data *fd, proto_tree *t
options_offset+=3;
}
- proto_tree_add_text(ospf_db_desc_tree, offset + 2 , 1, "Options: %d (%s)", ospf_dbd.options, options );
+ proto_tree_add_text(ospf_db_desc_tree, NullTVB, offset + 2 , 1, "Options: %d (%s)", ospf_dbd.options, options );
flags_offset=0;
@@ -320,8 +320,8 @@ dissect_ospf_db_desc(const u_char *pd, int offset, frame_data *fd, proto_tree *t
flags_offset+=3;
}
- proto_tree_add_text(ospf_db_desc_tree, offset + 3 , 1, "Flags: %d (%s)", ospf_dbd.flags, flags );
- proto_tree_add_text(ospf_db_desc_tree, offset + 4 , 4, "DD Sequence: %ld", (long)ntohl(ospf_dbd.dd_sequence) );
+ proto_tree_add_text(ospf_db_desc_tree, NullTVB, offset + 3 , 1, "Flags: %d (%s)", ospf_dbd.flags, flags );
+ proto_tree_add_text(ospf_db_desc_tree, NullTVB, offset + 4 , 4, "DD Sequence: %ld", (long)ntohl(ospf_dbd.dd_sequence) );
}
/* LS Headers will be processed here */
/* skip to the end of DB-Desc header */
@@ -345,38 +345,38 @@ dissect_ospf_ls_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
if (tree) {
while( ((int) (pi.captured_len - offset)) >= OSPF_LS_REQ_LENGTH ){
memcpy(&ospf_lsr, &pd[offset], sizeof(e_ospf_ls_req));
- ti = proto_tree_add_text(tree, offset, OSPF_LS_REQ_LENGTH, "Link State Request");
+ ti = proto_tree_add_text(tree, NullTVB, offset, OSPF_LS_REQ_LENGTH, "Link State Request");
ospf_lsr_tree = proto_item_add_subtree(ti, ett_ospf_lsr);
switch( ntohl( ospf_lsr.ls_type ) ){
case OSPF_LSTYPE_ROUTER:
- proto_tree_add_text(ospf_lsr_tree, offset, 4, "LS Type: Router-LSA (%ld)",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset, 4, "LS Type: Router-LSA (%ld)",
(long)ntohl( ospf_lsr.ls_type ) );
break;
case OSPF_LSTYPE_NETWORK:
- proto_tree_add_text(ospf_lsr_tree, offset, 4, "LS Type: Network-LSA (%ld)",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset, 4, "LS Type: Network-LSA (%ld)",
(long)ntohl( ospf_lsr.ls_type ) );
break;
case OSPF_LSTYPE_SUMMERY:
- proto_tree_add_text(ospf_lsr_tree, offset, 4, "LS Type: Summary-LSA (IP network) (%ld)",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset, 4, "LS Type: Summary-LSA (IP network) (%ld)",
(long)ntohl( ospf_lsr.ls_type ) );
break;
case OSPF_LSTYPE_ASBR:
- proto_tree_add_text(ospf_lsr_tree, offset, 4, "LS Type: Summary-LSA (ASBR) (%ld)",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset, 4, "LS Type: Summary-LSA (ASBR) (%ld)",
(long)ntohl( ospf_lsr.ls_type ) );
break;
case OSPF_LSTYPE_ASEXT:
- proto_tree_add_text(ospf_lsr_tree, offset, 4, "LS Type: AS-External-LSA (ASBR) (%ld)",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset, 4, "LS Type: AS-External-LSA (ASBR) (%ld)",
(long)ntohl( ospf_lsr.ls_type ) );
break;
default:
- proto_tree_add_text(ospf_lsr_tree, offset, 4, "LS Type: %ld (unknown)",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset, 4, "LS Type: %ld (unknown)",
(long)ntohl( ospf_lsr.ls_type ) );
}
- proto_tree_add_text(ospf_lsr_tree, offset + 4, 4, "Link State ID : %s",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset + 4, 4, "Link State ID : %s",
ip_to_str((guint8 *) &(ospf_lsr.ls_id)));
- proto_tree_add_text(ospf_lsr_tree, offset + 8, 4, "Advertising Router : %s",
+ proto_tree_add_text(ospf_lsr_tree, NullTVB, offset + 8, 4, "Advertising Router : %s",
ip_to_str((guint8 *) &(ospf_lsr.adv_router)));
offset+=12;
@@ -395,10 +395,10 @@ dissect_ospf_ls_upd(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
memcpy(&upd_hdr, &pd[offset], sizeof(e_ospf_lsa_upd_hdr));
if (tree) {
- ti = proto_tree_add_text(tree, offset, END_OF_FRAME, "LS Update Packet");
+ ti = proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "LS Update Packet");
ospf_lsa_upd_tree = proto_item_add_subtree(ti, ett_ospf_lsa_upd);
- proto_tree_add_text(ospf_lsa_upd_tree, offset, 4, "Nr oF LSAs: %ld", (long)ntohl(upd_hdr.lsa_nr) );
+ proto_tree_add_text(ospf_lsa_upd_tree, NullTVB, offset, 4, "Nr oF LSAs: %ld", (long)ntohl(upd_hdr.lsa_nr) );
}
/* skip to the beginning of the first LSA */
offset+=4; /* the LS Upd PAcket contains only a 32 bit #LSAs field */
@@ -481,7 +481,7 @@ void dissect_ospf_lsa_mpls(const u_char *pd,
char *stlv_name;
int i;
- ti = proto_tree_add_text(tree, offset, ntohs(lsa_hdr->length) - 20,
+ ti = proto_tree_add_text(tree, NullTVB, offset, ntohs(lsa_hdr->length) - 20,
"MPLS Traffic Engineering LSA");
mpls_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls);
@@ -491,21 +491,21 @@ void dissect_ospf_lsa_mpls(const u_char *pd,
switch(tlv_type) {
case MPLS_TLV_ROUTER:
- ti = proto_tree_add_text(mpls_tree, offset+length, tlv_length+4,
+ ti = proto_tree_add_text(mpls_tree, NullTVB, offset+length, tlv_length+4,
"Router Address: %s",
ip_to_str((pd+offset+length+4)));
tlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_router);
- proto_tree_add_text(tlv_tree, offset+length, 2, "TLV Type: 1 - Router Address");
- proto_tree_add_text(tlv_tree, offset+length+2, 2, "TLV Length: %d", tlv_length);
- proto_tree_add_text(tlv_tree, offset+length+4, 4, "Router Address: %s",
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length, 2, "TLV Type: 1 - Router Address");
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length+2, 2, "TLV Length: %d", tlv_length);
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length+4, 4, "Router Address: %s",
ip_to_str((pd+offset+length+4)));
break;
case MPLS_TLV_LINK:
- ti = proto_tree_add_text(mpls_tree, offset+length, tlv_length+4,
+ ti = proto_tree_add_text(mpls_tree, NullTVB, offset+length, tlv_length+4,
"Link Information");
tlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link);
- proto_tree_add_text(tlv_tree, offset+length, 2, "TLV Type: 2 - Link Information");
- proto_tree_add_text(tlv_tree, offset+length+2, 2, "TLV Length: %d", tlv_length);
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length, 2, "TLV Type: 2 - Link Information");
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length+2, 2, "TLV Length: %d", tlv_length);
/* Walk down the sub-TLVs for link information */
for (link_len = length + 4; link_len < length + 4 + tlv_length; link_len += 4) {
@@ -515,86 +515,86 @@ void dissect_ospf_lsa_mpls(const u_char *pd,
switch(stlv_type) {
case MPLS_LINK_TYPE:
- ti = proto_tree_add_text(tlv_tree, offset+link_len, stlv_len+4,
+ ti = proto_tree_add_text(tlv_tree, NullTVB, offset+link_len, stlv_len+4,
"%s: %d", stlv_name,
*((guint8 *)pd + offset + link_len + 4));
stlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link_stlv);
- proto_tree_add_text(stlv_tree, offset+link_len, 2,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len, 2,
"TLV Type: %d: %s", stlv_type, stlv_name);
- proto_tree_add_text(stlv_tree, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
- proto_tree_add_text(stlv_tree, offset+link_len+4, 1, "%s: %d", stlv_name,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+4, 1, "%s: %d", stlv_name,
*((guint8 *)pd + offset + link_len + 4));
break;
case MPLS_LINK_ID:
- ti = proto_tree_add_text(tlv_tree, offset+link_len, stlv_len+4,
+ ti = proto_tree_add_text(tlv_tree, NullTVB, offset+link_len, stlv_len+4,
"%s: %s (%x)", stlv_name,
ip_to_str(pd + offset + link_len + 4),
pntohl(pd + offset + link_len + 4));
stlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link_stlv);
- proto_tree_add_text(stlv_tree, offset+link_len, 2,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len, 2,
"TLV Type: %d: %s", stlv_type, stlv_name);
- proto_tree_add_text(stlv_tree, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
- proto_tree_add_text(stlv_tree, offset+link_len+4, 4, "%s: %s (%x)", stlv_name,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+4, 4, "%s: %s (%x)", stlv_name,
ip_to_str(pd + offset + link_len + 4),
pntohl(pd + offset + link_len + 4));
break;
case MPLS_LINK_LOCAL_IF:
case MPLS_LINK_REMOTE_IF:
- ti = proto_tree_add_text(tlv_tree, offset+link_len, stlv_len+4,
+ ti = proto_tree_add_text(tlv_tree, NullTVB, offset+link_len, stlv_len+4,
"%s: %s", stlv_name,
ip_to_str(pd+offset+link_len+4));
stlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link_stlv);
- proto_tree_add_text(stlv_tree, offset+link_len, 2,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len, 2,
"TLV Type: %d: %s", stlv_type, stlv_name);
- proto_tree_add_text(stlv_tree, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
- proto_tree_add_text(stlv_tree, offset+link_len+4, 4, "%s: %s", stlv_name,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+4, 4, "%s: %s", stlv_name,
ip_to_str(pd+offset+link_len+4));
break;
case MPLS_LINK_TE_METRIC:
case MPLS_LINK_COLOR:
- ti = proto_tree_add_text(tlv_tree, offset+link_len, stlv_len+4,
+ ti = proto_tree_add_text(tlv_tree, NullTVB, offset+link_len, stlv_len+4,
"%s: %d", stlv_name,
pntohl(pd + offset + link_len + 4));
stlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link_stlv);
- proto_tree_add_text(stlv_tree, offset+link_len, 2,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len, 2,
"TLV Type: %d: %s", stlv_type, stlv_name);
- proto_tree_add_text(stlv_tree, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
- proto_tree_add_text(stlv_tree, offset+link_len+4, 4, "%s: %d", stlv_name,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+4, 4, "%s: %d", stlv_name,
pntohl(pd + offset + link_len + 4));
break;
case MPLS_LINK_MAX_BW:
case MPLS_LINK_MAX_RES_BW:
- ti = proto_tree_add_text(tlv_tree, offset+link_len, stlv_len+4,
+ ti = proto_tree_add_text(tlv_tree, NullTVB, offset+link_len, stlv_len+4,
"%s: %ld", stlv_name,
pieee_to_long(pd + offset + link_len + 4));
stlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link_stlv);
- proto_tree_add_text(stlv_tree, offset+link_len, 2,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len, 2,
"TLV Type: %d: %s", stlv_type, stlv_name);
- proto_tree_add_text(stlv_tree, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
- proto_tree_add_text(stlv_tree, offset+link_len+4, 4, "%s: %ld", stlv_name,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+4, 4, "%s: %ld", stlv_name,
pieee_to_long(pd + offset + link_len + 4));
break;
case MPLS_LINK_UNRES_BW:
- ti = proto_tree_add_text(tlv_tree, offset+link_len, stlv_len+4,
+ ti = proto_tree_add_text(tlv_tree, NullTVB, offset+link_len, stlv_len+4,
"%s", stlv_name);
stlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link_stlv);
- proto_tree_add_text(stlv_tree, offset+link_len, 2,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len, 2,
"TLV Type: %d: %s", stlv_type, stlv_name);
- proto_tree_add_text(stlv_tree, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+2, 2, "TLV Length: %d", stlv_len);
for (i=0; i<8; i++)
- proto_tree_add_text(stlv_tree, offset+link_len+4+(i*4), 4,
+ proto_tree_add_text(stlv_tree, NullTVB, offset+link_len+4+(i*4), 4,
"Pri %d: %ld", i,
pieee_to_long(pd + offset + link_len + 4 + i*4));
break;
default:
- proto_tree_add_text(tlv_tree, offset+link_len, stlv_len+4,
+ proto_tree_add_text(tlv_tree, NullTVB, offset+link_len, stlv_len+4,
"Unknown Link sub-TLV: %d", stlv_type);
}
link_len += ((stlv_len+3)/4)*4;
@@ -603,12 +603,12 @@ void dissect_ospf_lsa_mpls(const u_char *pd,
break;
default:
- ti = proto_tree_add_text(mpls_tree, offset+length, tlv_length+4,
+ ti = proto_tree_add_text(mpls_tree, NullTVB, offset+length, tlv_length+4,
"Unknown LSA: %d", tlv_type);
tlv_tree = proto_item_add_subtree(ti, ett_ospf_lsa_mpls_link);
- proto_tree_add_text(tlv_tree, offset+length, 2, "TLV Type: %d - Unknown", tlv_type);
- proto_tree_add_text(tlv_tree, offset+length+2, 2, "TLV Length: %d", tlv_length);
- proto_tree_add_text(tlv_tree, offset+length+4, tlv_length, "TLV Data");
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length, 2, "TLV Type: %d - Unknown", tlv_type);
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length+2, 2, "TLV Length: %d", tlv_length);
+ proto_tree_add_text(tlv_tree, NullTVB, offset+length+4, tlv_length, "TLV Data");
break;
}
@@ -634,7 +634,7 @@ void dissect_ospf_lsa_opaque(const u_char *pd,
break;
default:
- proto_tree_add_text(tree, offset, END_OF_FRAME, "Unknown LSA Type");
+ proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "Unknown LSA Type");
break;
} /* switch on opaque LSA id */
}
@@ -706,35 +706,35 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
if (tree) {
if(disassemble_body){
- ti = proto_tree_add_text(tree, offset, ntohs(lsa_hdr.length),
+ ti = proto_tree_add_text(tree, NullTVB, offset, ntohs(lsa_hdr.length),
"%s (Type: %d)", lsa_type, lsa_hdr.ls_type);
} else {
- ti = proto_tree_add_text(tree, offset, OSPF_LSA_HEADER_LENGTH, "LSA Header");
+ ti = proto_tree_add_text(tree, NullTVB, offset, OSPF_LSA_HEADER_LENGTH, "LSA Header");
}
ospf_lsa_tree = proto_item_add_subtree(ti, ett_ospf_lsa);
- proto_tree_add_text(ospf_lsa_tree, offset, 2, "LS Age: %d seconds", ntohs(lsa_hdr.ls_age));
- proto_tree_add_text(ospf_lsa_tree, offset + 2, 1, "Options: %d ", lsa_hdr.options);
- proto_tree_add_text(ospf_lsa_tree, offset + 3, 1, "LSA Type: %d (%s)", lsa_hdr.ls_type, lsa_type);
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 2, "LS Age: %d seconds", ntohs(lsa_hdr.ls_age));
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 2, 1, "Options: %d ", lsa_hdr.options);
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 3, 1, "LSA Type: %d (%s)", lsa_hdr.ls_type, lsa_type);
if (is_opaque(lsa_hdr.ls_type)) {
ls_id = ntohl(lsa_hdr.ls_id);
- proto_tree_add_text(ospf_lsa_tree, offset + 4, 1, "Link State ID Opaque Type: %u ",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 4, 1, "Link State ID Opaque Type: %u ",
(ls_id >> 24) & 0xff);
- proto_tree_add_text(ospf_lsa_tree, offset + 5, 3, "Link State ID Opaque ID: %u ",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 5, 3, "Link State ID Opaque ID: %u ",
ls_id & 0xffffff);
} else
- proto_tree_add_text(ospf_lsa_tree, offset + 4, 4, "Link State ID: %s ",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 4, 4, "Link State ID: %s ",
ip_to_str((guint8 *) &(lsa_hdr.ls_id)));
- proto_tree_add_text(ospf_lsa_tree, offset + 8, 4, "Advertising Router: %s ",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 8, 4, "Advertising Router: %s ",
ip_to_str((guint8 *) &(lsa_hdr.adv_router)));
- proto_tree_add_text(ospf_lsa_tree, offset + 12, 4, "LS Sequence Number: 0x%04lx ",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 12, 4, "LS Sequence Number: 0x%04lx ",
(unsigned long)ntohl(lsa_hdr.ls_seq));
- proto_tree_add_text(ospf_lsa_tree, offset + 16, 2, "LS Checksum: %d ", ntohs(lsa_hdr.ls_checksum));
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 16, 2, "LS Checksum: %d ", ntohs(lsa_hdr.ls_checksum));
- proto_tree_add_text(ospf_lsa_tree, offset + 18, 2, "Length: %d ", ntohs(lsa_hdr.length));
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 18, 2, "Length: %d ", ntohs(lsa_hdr.length));
if(!disassemble_body){
return OSPF_LSA_HEADER_LENGTH;
@@ -749,8 +749,8 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
memcpy(&router_lsa, &pd[offset], sizeof(e_ospf_router_lsa));
/* again: flags should be secified in detail */
- proto_tree_add_text(ospf_lsa_tree, offset, 1, "Flags: 0x%02x ", router_lsa.flags);
- proto_tree_add_text(ospf_lsa_tree, offset + 2, 2, "Nr. of Links: %d ",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 1, "Flags: 0x%02x ", router_lsa.flags);
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 2, 2, "Nr. of Links: %d ",
ntohs(router_lsa.nr_links));
offset += 4;
/* router_lsa.nr_links links follow
@@ -782,17 +782,17 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
link_id="unknown link id";
}
- proto_tree_add_text(ospf_lsa_tree, offset, 4, "%s: %s", link_id,
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 4, "%s: %s", link_id,
ip_to_str((guint8 *) &(router_data.link_id)));
/* link_data should be specified in detail (e.g. network mask) (depends on link type)*/
- proto_tree_add_text(ospf_lsa_tree, offset + 4, 4, "Link Data: %s",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 4, 4, "Link Data: %s",
ip_to_str((guint8 *) &(router_data.link_data)));
- proto_tree_add_text(ospf_lsa_tree, offset + 8, 1, "Link Type: %d - %s",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 8, 1, "Link Type: %d - %s",
router_data.link_type, link_type);
- proto_tree_add_text(ospf_lsa_tree, offset + 9, 1, "Nr. of TOS metrics: %d", router_data.nr_tos);
- proto_tree_add_text(ospf_lsa_tree, offset + 10, 2, "TOS 0 metric: %d", ntohs( router_data.tos0_metric ));
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 9, 1, "Nr. of TOS metrics: %d", router_data.nr_tos);
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 10, 2, "TOS 0 metric: %d", ntohs( router_data.tos0_metric ));
offset += 12;
@@ -803,7 +803,7 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
for(tos_counter = 1 ; link_counter <= ntohs(router_data.nr_tos); tos_counter++){
memcpy(&tos_data, &pd[offset], sizeof(e_ospf_router_metric));
- proto_tree_add_text(ospf_lsa_tree, offset, 1, "TOS: %d, Metric: %d",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 1, "TOS: %d, Metric: %d",
tos_data.tos, ntohs(tos_data.metric));
offset += 4;
}
@@ -811,13 +811,13 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
break;
case(OSPF_LSTYPE_NETWORK):
memcpy(&network_lsa, &pd[offset], sizeof(e_ospf_network_lsa));
- proto_tree_add_text(ospf_lsa_tree, offset, 4, "Netmask: %s",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 4, "Netmask: %s",
ip_to_str((guint8 *) &(network_lsa.network_mask)));
offset += 4;
while( (lsa_end - offset) >= 4){
attached_router = (guint32 *) &pd[offset];
- proto_tree_add_text(ospf_lsa_tree, offset, 4, "Attached Router: %s",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 4, "Attached Router: %s",
ip_to_str((guint8 *) attached_router));
offset += 4;
}
@@ -826,22 +826,22 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
/* Type 3 and 4 LSAs have the same format */
case(OSPF_LSTYPE_ASBR):
memcpy(&summary_lsa, &pd[offset], sizeof(e_ospf_summary_lsa));
- proto_tree_add_text(ospf_lsa_tree, offset, 4, "Netmask: %s",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 4, "Netmask: %s",
ip_to_str((guint8 *) &(summary_lsa.network_mask)));
/* returns only the TOS 0 metric (even if there are more TOS metrics) */
break;
case(OSPF_LSTYPE_ASEXT):
memcpy(&summary_lsa, &pd[offset], sizeof(e_ospf_summary_lsa));
- proto_tree_add_text(ospf_lsa_tree, offset, 4, "Netmask: %s",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 4, "Netmask: %s",
ip_to_str((guint8 *) &(summary_lsa.network_mask)));
/* asext_lsa = (e_ospf_asexternal_lsa *) &pd[offset + 4]; */
memcpy(&asext_lsa, &pd[offset + 4], sizeof(asext_lsa));
if( (asext_lsa.options & 128) == 128 ) { /* check wether or not E bit is set */
- proto_tree_add_text(ospf_lsa_tree, offset, 1,
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, 1,
"External Type: Type 2 (metric is larger than any other link state path)");
} else {
- proto_tree_add_text(ospf_lsa_tree, offset + 4, 1,
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 4, 1,
"External Type: Type 1 (metric is specified in the same units as interface cost)");
}
/* the metric field of a AS-external LAS is specified in 3 bytes -> not well aligned */
@@ -851,10 +851,10 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
/* erase the leading 8 bits (the dont belong to the metric */
asext_metric = ntohl(asext_metric) & 0x00ffffff ;
- proto_tree_add_text(ospf_lsa_tree, offset + 5, 3,"Metric: %d", asext_metric);
- proto_tree_add_text(ospf_lsa_tree, offset + 8, 4,"Forwarding Address: %s",
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 5, 3,"Metric: %d", asext_metric);
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 8, 4,"Forwarding Address: %s",
ip_to_str((guint8 *) &(asext_lsa.gateway)));
- proto_tree_add_text(ospf_lsa_tree, offset + 12, 4,"External Route Tag: %ld", (long)ntohl(asext_lsa.external_tag));
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset + 12, 4,"External Route Tag: %ld", (long)ntohl(asext_lsa.external_tag));
break;
@@ -866,7 +866,7 @@ dissect_ospf_lsa(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
default:
/* unknown LSA type */
- proto_tree_add_text(ospf_lsa_tree, offset, END_OF_FRAME, "Unknown LSA Type");
+ proto_tree_add_text(ospf_lsa_tree, NullTVB, offset, END_OF_FRAME, "Unknown LSA Type");
}
}
/* return the length of this LSA */
diff --git a/packet-pim.c b/packet-pim.c
index 4bb7065020..e8ffeba716 100644
--- a/packet-pim.c
+++ b/packet-pim.c
@@ -2,7 +2,7 @@
* Routines for PIM disassembly
* (c) Copyright Jun-ichiro itojun Hagino <itojun@itojun.org>
*
- * $Id: packet-pim.c,v 1.12 2000/04/20 07:05:56 guy Exp $
+ * $Id: packet-pim.c,v 1.13 2000/05/11 08:15:33 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -218,21 +218,21 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
col_add_fstr(fd, COL_INFO, "%s", typestr);
if (tree) {
- ti = proto_tree_add_item(tree, proto_pim, offset, END_OF_FRAME, NULL);
+ 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, offset, 1,
+ 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, offset, 1,
+ 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,
+ proto_tree_add_item(pim_tree, hf_pim_cksum, NullTVB,
offset + offsetof(struct pim, pim_cksum), sizeof(pim.pim_cksum),
ntohs(pim.pim_cksum));
if (sizeof(struct pim) < END_OF_FRAME) {
- tiopt = proto_tree_add_text(pim_tree,
+ tiopt = proto_tree_add_text(pim_tree, NullTVB,
offset + sizeof(struct pim), END_OF_FRAME,
"PIM parameters");
pimopt_tree = proto_item_add_subtree(tiopt, ett_pim);
@@ -251,7 +251,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
while ((guint8 *)w < &pd[offset + END_OF_FRAME]) {
if (pntohs(&w[0]) == 1 && pntohs(&w[1]) == 2
&& (guint8 *)&w[3] <= &pd[offset + END_OF_FRAME]) {
- proto_tree_add_text(pimopt_tree, (guint8 *)w - pd, 6,
+ proto_tree_add_text(pimopt_tree, NullTVB, (guint8 *)w - pd, 6,
"Holdtime: %u%s", pntohs(&w[2]),
pntohs(&w[2]) == 0xffff ? " (infty)" : "");
w += 3;
@@ -269,13 +269,13 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
int flagoff;
flagoff = offset + sizeof(struct pim);
- tiflag = proto_tree_add_text(pimopt_tree, flagoff, 4,
+ tiflag = proto_tree_add_text(pimopt_tree, NullTVB, flagoff, 4,
"Flags: 0x%08x", pntohl(&pd[flagoff]));
flag_tree = proto_item_add_subtree(tiflag, ett_pim);
- proto_tree_add_text(flag_tree, flagoff, 1, "%s",
+ proto_tree_add_text(flag_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pd[flagoff], 0x80000000, 32,
"Border", "Not border"));
- proto_tree_add_text(flag_tree, flagoff, 1, "%s",
+ proto_tree_add_text(flag_tree, NullTVB, flagoff, 1, "%s",
decode_boolean_bitfield(pd[flagoff], 0x40000000, 32,
"Null-Register", "Not Null-Register"));
@@ -296,7 +296,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
#endif
break;
default:
- proto_tree_add_text(pimopt_tree,
+ proto_tree_add_text(pimopt_tree, NullTVB,
ip - pd, END_OF_FRAME,
"Unknown IP version %d", (*ip & 0xf0) >> 4);
break;
@@ -315,12 +315,12 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
s = dissect_pim_addr(&pd[offset], ep, pimv2_group, &advance);
if (s == NULL)
break;
- proto_tree_add_text(pimopt_tree, offset, advance, "Group: %s", s);
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance, "Group: %s", s);
offset += advance;
s = dissect_pim_addr(&pd[offset], ep, pimv2_unicast, &advance);
if (s == NULL)
break;
- proto_tree_add_text(pimopt_tree, offset, advance, "Source: %s", s);
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance, "Source: %s", s);
break;
}
@@ -345,7 +345,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
s = dissect_pim_addr(&pd[offset], ep, pimv2_unicast, &advance);
if (s == NULL)
break;
- proto_tree_add_text(pimopt_tree, offset, advance,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance,
"Upstream-neighbor: %s", s);
offset += advance;
}
@@ -353,7 +353,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (&pd[offset + 2] > ep)
break;
ngroup = pd[offset + 1];
- proto_tree_add_text(pimopt_tree, offset + 1, 1,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset + 1, 1,
"Groups: %u", pd[offset + 1]);
offset += 2;
@@ -361,7 +361,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
break;
if (PIM_TYPE(pim.pim_typever) != 7) {
/* not graft-ack */
- proto_tree_add_text(pimopt_tree, offset, 2,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, 2,
"Holdtime: %u%s", pntohs(&pd[offset]),
pntohs(&pd[offset]) == 0xffff ? " (infty)" : "");
}
@@ -374,7 +374,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
s = dissect_pim_addr(&pd[offset], ep, pimv2_group, &advance);
if (s == NULL)
goto breakbreak3;
- tigroup = proto_tree_add_text(pimopt_tree, offset, advance,
+ tigroup = proto_tree_add_text(pimopt_tree, NullTVB, offset, advance,
"Group %d: %s", i, s);
grouptree = proto_item_add_subtree(tigroup, ett_pim);
offset += advance;
@@ -384,7 +384,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
njoin = pntohs(&pd[offset]);
nprune = pntohs(&pd[offset + 2]);
- tisub = proto_tree_add_text(grouptree, offset, 2,
+ tisub = proto_tree_add_text(grouptree, NullTVB, offset, 2,
"Join: %d", njoin);
subtree = proto_item_add_subtree(tisub, ett_pim);
off = offset + 4;
@@ -393,12 +393,12 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
&advance);
if (s == NULL)
goto breakbreak3;
- proto_tree_add_text(subtree, off, advance,
+ proto_tree_add_text(subtree, NullTVB, off, advance,
"IP address: %s", s);
off += advance;
}
- tisub = proto_tree_add_text(grouptree, offset + 2, 2,
+ tisub = proto_tree_add_text(grouptree, NullTVB, offset + 2, 2,
"Prune: %d", nprune);
subtree = proto_item_add_subtree(tisub, ett_pim);
for (j = 0; j < nprune; j++) {
@@ -406,7 +406,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
&advance);
if (s == NULL)
goto breakbreak3;
- proto_tree_add_text(subtree, off, advance,
+ proto_tree_add_text(subtree, NullTVB, off, advance,
"IP address: %s", s);
off += advance;
}
@@ -428,15 +428,15 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (END_OF_FRAME < 2)
break;
- proto_tree_add_text(pimopt_tree, offset, 2,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, 2,
"Fragment tag: 0x%04x", pntohs(&pd[offset]));
offset += 2;
if (END_OF_FRAME < 2)
break;
- proto_tree_add_text(pimopt_tree, offset, 1,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, 1,
"Hash mask len: %u", pd[offset]);
- proto_tree_add_text(pimopt_tree, offset + 1, 1,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset + 1, 1,
"BSR priority: %u", pd[offset + 1]);
offset += 2;
@@ -444,7 +444,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
pimv2_unicast, &advance);
if (s == NULL)
break;
- proto_tree_add_text(pimopt_tree, offset, advance, "BSR: %s", s);
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance, "BSR: %s", s);
offset += advance;
for (i = 0; END_OF_FRAME > 0; i++) {
@@ -452,16 +452,16 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
pimv2_group, &advance);
if (s == NULL)
goto breakbreak4;
- tigroup = proto_tree_add_text(pimopt_tree, offset, advance,
+ tigroup = proto_tree_add_text(pimopt_tree, NullTVB, offset, advance,
"Group %d: %s", i, s);
grouptree = proto_item_add_subtree(tigroup, ett_pim);
offset += advance;
if (END_OF_FRAME < 2)
goto breakbreak4;
- proto_tree_add_text(grouptree, offset, 1,
+ proto_tree_add_text(grouptree, NullTVB, offset, 1,
"RP count: %u", pd[offset]);
- proto_tree_add_text(grouptree, offset + 1, 1,
+ proto_tree_add_text(grouptree, NullTVB, offset + 1, 1,
"FRP count: %u", pd[offset + 1]);
frpcnt = pd[offset + 1];
offset += 4;
@@ -471,16 +471,16 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
&pd[offset + END_OF_FRAME], pimv2_unicast, &advance);
if (s == NULL)
goto breakbreak4;
- proto_tree_add_text(grouptree, offset, advance,
+ proto_tree_add_text(grouptree, NullTVB, offset, advance,
"RP %d: %s", j, s);
offset += advance;
if (END_OF_FRAME < 4)
goto breakbreak4;
- proto_tree_add_text(grouptree, offset, 2,
+ proto_tree_add_text(grouptree, NullTVB, offset, 2,
"Holdtime: %u%s", pntohs(&pd[offset]),
pntohs(&pd[offset]) == 0xffff ? " (infty)" : "");
- proto_tree_add_text(grouptree, offset + 3, 1,
+ proto_tree_add_text(grouptree, NullTVB, offset + 3, 1,
"Priority: %u", pd[offset + 3]);
offset += 4;
@@ -502,28 +502,28 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
pimv2_group, &advance);
if (s == NULL)
break;
- proto_tree_add_text(pimopt_tree, offset, advance, "Group: %s", s);
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance, "Group: %s", s);
offset += advance;
s = dissect_pim_addr(&pd[offset], &pd[offset + END_OF_FRAME],
pimv2_unicast, &advance);
if (s == NULL)
break;
- proto_tree_add_text(pimopt_tree, offset, advance, "Source: %s", s);
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance, "Source: %s", s);
offset += advance;
if (END_OF_FRAME < 4)
break;
- proto_tree_add_text(pimopt_tree, offset, 1, "%s",
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(pd[offset], 0x80, 8,
"RP Tree", "Not RP Tree"));
- proto_tree_add_text(pimopt_tree, offset, 4, "Preference: %u",
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, 4, "Preference: %u",
pntohl(&pd[offset]) & 0x7fffffff);
offset += 4;
if (END_OF_FRAME < 4)
break;
- proto_tree_add_text(pimopt_tree, offset, 4, "Metric: %u",
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, 4, "Metric: %u",
pntohl(&pd[offset]));
break;
@@ -540,11 +540,11 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (END_OF_FRAME < 4)
break;
pfxcnt = pd[offset];
- proto_tree_add_text(pimopt_tree, offset, 1,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, 1,
"Prefix-count: %u", pd[offset]);
- proto_tree_add_text(pimopt_tree, offset + 1, 1,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset + 1, 1,
"Priority: %u", pd[offset + 1]);
- proto_tree_add_text(pimopt_tree, offset + 2, 2,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset + 2, 2,
"Holdtime: %u%s", pntohs(&pd[offset + 2]),
pntohs(&pd[offset + 2]) == 0xffff ? " (infty)" : "");
offset += 4;
@@ -555,7 +555,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
pimv2_unicast, &advance);
if (s == NULL)
break;
- proto_tree_add_text(pimopt_tree, offset, advance, "RP: %s", s);
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance, "RP: %s", s);
offset += advance;
for (i = 0; i < pfxcnt && END_OF_FRAME > 0; i++) {
@@ -563,7 +563,7 @@ dissect_pim(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
pimv2_group, &advance);
if (s == NULL)
goto breakbreak8;
- proto_tree_add_text(pimopt_tree, offset, advance,
+ proto_tree_add_text(pimopt_tree, NullTVB, offset, advance,
"Group %d: %s", i, s);
offset += advance;
}
diff --git a/packet-pop.c b/packet-pop.c
index 909085bc23..ff93456b7c 100644
--- a/packet-pop.c
+++ b/packet-pop.c
@@ -2,7 +2,7 @@
* Routines for pop packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-pop.c,v 1.13 2000/04/08 07:07:33 guy Exp $
+ * $Id: packet-pop.c,v 1.14 2000/05/11 08:15:33 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -101,27 +101,27 @@ dissect_pop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_pop, offset, END_OF_FRAME, NULL);
+ 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, offset, i1, TRUE);
- proto_tree_add_text(pop_tree, offset, i1, "Request: %s", rr);
+ 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)
- proto_tree_add_text(pop_tree, offset + i1 + 1, END_OF_FRAME, "Request Arg: %s", rd);
+ proto_tree_add_text(pop_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Request Arg: %s", rd);
}
else {
- proto_tree_add_item_hidden(pop_tree, hf_pop_response, offset, i1, TRUE);
+ 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);
else {
- proto_tree_add_text(pop_tree, offset, i1, "Response: %s", rr);
+ proto_tree_add_text(pop_tree, NullTVB, offset, i1, "Response: %s", rr);
if (strlen(rd) != 0)
- proto_tree_add_text(pop_tree, offset + i1 + 1, END_OF_FRAME, "Response Arg: %s", rd);
+ proto_tree_add_text(pop_tree, NullTVB, offset + i1 + 1, END_OF_FRAME, "Response Arg: %s", rd);
}
}
diff --git a/packet-portmap.c b/packet-portmap.c
index 27cc97ee85..802df7ab18 100644
--- a/packet-portmap.c
+++ b/packet-portmap.c
@@ -1,7 +1,7 @@
/* packet-portmap.c
* Routines for portmap dissection
*
- * $Id: packet-portmap.c,v 1.14 2000/04/04 06:46:27 guy Exp $
+ * $Id: packet-portmap.c,v 1.15 2000/05/11 08:15:34 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -74,17 +74,17 @@ int dissect_getport_call(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
prog = pntohl(&pd[offset+0]);
- proto_tree_add_uint_format(tree, hf_portmap_prog,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(tree, hf_portmap_port, NullTVB,
offset+12, 4, pntohl(&pd[offset+12]));
}
@@ -97,7 +97,7 @@ int dissect_getport_reply(const u_char *pd, int offset, frame_data *fd,
if ( !BYTES_ARE_IN_FRAME(offset, 4)) return offset;
if ( tree )
{
- proto_tree_add_item(tree, hf_portmap_port,
+ proto_tree_add_item(tree, hf_portmap_port, NullTVB,
offset, 4, pntohl(&pd[offset+0]));
}
return offset+=4;
@@ -114,17 +114,17 @@ int dissect_set_call(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
prog = pntohl(&pd[offset+0]);
- proto_tree_add_uint_format(tree, hf_portmap_prog,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(tree, hf_portmap_port, NullTVB,
offset+12, 4, pntohl(&pd[offset+12]));
}
@@ -142,17 +142,17 @@ int dissect_unset_call(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
prog = pntohl(&pd[offset+0]);
- proto_tree_add_uint_format(tree, hf_portmap_prog,
+ 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,
+ 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,
+ proto_tree_add_item(tree, hf_portmap_proto, NullTVB,
offset+8, 4, proto);
- proto_tree_add_item(tree, hf_portmap_port,
+ proto_tree_add_item(tree, hf_portmap_port, NullTVB,
offset+12, 4, pntohl(&pd[offset+12]));
}
@@ -166,7 +166,7 @@ int dissect_set_reply(const u_char *pd, int offset, frame_data *fd,
{
if ( !BYTES_ARE_IN_FRAME(offset, 4)) return offset;
- proto_tree_add_item(tree, hf_portmap_answer,
+ proto_tree_add_item(tree, hf_portmap_answer, NullTVB,
offset, 4, pntohl(&pd[offset+0]));
offset += 4;
}
@@ -184,7 +184,7 @@ int dissect_dump_reply(const u_char *pd, int offset, frame_data *fd,
value_follows = pntohl(&pd[offset+0]);
if ( tree )
{
- proto_tree_add_item(tree, hf_portmap_value_follows,
+ proto_tree_add_item(tree, hf_portmap_value_follows, NullTVB,
offset, 4, value_follows);
}
offset += 4;
@@ -202,19 +202,19 @@ int dissect_dump_reply(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
- ti = proto_tree_add_text(tree, offset, 16, "Map Entry: %s (%u) V%d",
+ ti = proto_tree_add_text(tree, NullTVB, offset, 16, "Map Entry: %s (%u) V%d",
rpc_prog_name(prog), prog, version);
subtree = proto_item_add_subtree(ti, ett_portmap_entry);
- proto_tree_add_uint_format(subtree, hf_portmap_prog,
+ 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,
+ proto_tree_add_item(subtree, hf_portmap_version, NullTVB,
offset+4, 4, version);
- proto_tree_add_uint_format(subtree, hf_portmap_proto,
+ 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,
+ proto_tree_add_item(subtree, hf_portmap_port, NullTVB,
offset+12, 4, port);
}
offset += 16;
@@ -264,7 +264,7 @@ int dissect_rpcb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
guint32 version;
if (tree) {
- rpcb_item = proto_tree_add_item(tree, hfindex,
+ 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);
@@ -273,7 +273,7 @@ int dissect_rpcb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
if (!BYTES_ARE_IN_FRAME(offset, 4)) return offset;
prog = EXTRACT_UINT(pd, offset + 0);
if (rpcb_tree)
- proto_tree_add_uint_format(rpcb_tree, hf_portmap_rpcb_prog,
+ proto_tree_add_uint_format(rpcb_tree, hf_portmap_rpcb_prog, NullTVB,
offset+0, 4, prog,
"Program: %s (%u)", rpc_prog_name(prog), prog);
offset += 4;
@@ -281,7 +281,7 @@ int dissect_rpcb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
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,
+ proto_tree_add_item(rpcb_tree, hf_portmap_rpcb_version, NullTVB,
offset+0, 4, version);
offset += 4;
@@ -328,7 +328,7 @@ int dissect_rpcb3_dump_reply(const u_char *pd, int offset, frame_data *fd,
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,
+ proto_tree_add_item(tree,hf_portmap_value_follows, NullTVB,
offset+0, 4, value_follows);
offset += 4;
if (value_follows == 1) {
diff --git a/packet-ppp.c b/packet-ppp.c
index 7737784ff3..17ba70cbe7 100644
--- a/packet-ppp.c
+++ b/packet-ppp.c
@@ -1,7 +1,7 @@
/* packet-ppp.c
* Routines for ppp packet disassembly
*
- * $Id: packet-ppp.c,v 1.32 2000/04/19 03:28:06 gram Exp $
+ * $Id: packet-ppp.c,v 1.33 2000/05/11 08:15:34 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -523,14 +523,14 @@ static void
dissect_lcp_mru_opt(const ip_tcp_opt *optp, const u_char *opd, int offset,
guint length, proto_tree *tree)
{
- proto_tree_add_text(tree, offset, length, "MRU: %u", pntohs(opd));
+ proto_tree_add_text(tree, NullTVB, offset, length, "MRU: %u", pntohs(opd));
}
static void
dissect_lcp_async_map_opt(const ip_tcp_opt *optp, const u_char *opd, int offset,
guint length, proto_tree *tree)
{
- proto_tree_add_text(tree, offset, length, "Async characters to map: 0x%08x",
+ proto_tree_add_text(tree, NullTVB, offset, length, "Async characters to map: 0x%08x",
pntohl(opd));
}
@@ -542,19 +542,19 @@ dissect_lcp_protocol_opt(const ip_tcp_opt *optp, const u_char *opd, int offset,
proto_item *tf;
proto_tree *field_tree = NULL;
- tf = proto_tree_add_text(tree, offset, length, "%s: %u byte%s",
+ tf = proto_tree_add_text(tree, NullTVB, offset, length, "%s: %u byte%s",
optp->name, length, plurality(length, "", "s"));
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
length -= 2;
protocol = pntohs(opd);
- proto_tree_add_text(field_tree, offset, 2, "%s: %s (0x%02x)", optp->name,
+ proto_tree_add_text(field_tree, NullTVB, offset, 2, "%s: %s (0x%02x)", optp->name,
val_to_str(protocol, ppp_vals, "Unknown"), protocol);
offset += 2;
opd += 2;
length -= 2;
if (length > 0)
- proto_tree_add_text(field_tree, offset, length, "Data (%d byte%s)", length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length, "Data (%d byte%s)", length,
plurality(length, "", "s"));
}
@@ -562,7 +562,7 @@ static void
dissect_lcp_magicnumber_opt(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint length, proto_tree *tree)
{
- proto_tree_add_text(tree, offset, length, "Magic number: 0x%08x",
+ proto_tree_add_text(tree, NullTVB, offset, length, "Magic number: 0x%08x",
pntohl(opd));
}
@@ -575,18 +575,18 @@ dissect_lcp_fcs_alternatives_opt(const ip_tcp_opt *optp, const u_char *opd,
guint8 alternatives;
alternatives = *opd;
- tf = proto_tree_add_text(tree, offset, length, "%s: 0x%02x",
+ tf = proto_tree_add_text(tree, NullTVB, offset, length, "%s: 0x%02x",
optp->name, alternatives);
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
if (alternatives & 0x1)
- proto_tree_add_text(field_tree, offset + 2, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + 2, 1, "%s",
decode_boolean_bitfield(alternatives, 0x1, 8, "Null FCS", NULL));
if (alternatives & 0x2)
- proto_tree_add_text(field_tree, offset + 2, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + 2, 1, "%s",
decode_boolean_bitfield(alternatives, 0x2, 8, "CCITT 16-bit FCS", NULL));
if (alternatives & 0x4)
- proto_tree_add_text(field_tree, offset + 2, 1, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset + 2, 1, "%s",
decode_boolean_bitfield(alternatives, 0x4, 8, "CCITT 32-bit FCS", NULL));
}
@@ -594,7 +594,7 @@ static void
dissect_lcp_self_describing_pad_opt(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint length, proto_tree *tree)
{
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Maximum octets of self-describing padding: %u",
*opd);
}
@@ -606,17 +606,17 @@ dissect_lcp_numbered_mode_opt(const ip_tcp_opt *optp, const u_char *opd,
proto_item *tf;
proto_tree *field_tree = NULL;
- tf = proto_tree_add_text(tree, offset, length, "%s: %u byte%s",
+ tf = proto_tree_add_text(tree, NullTVB, offset, length, "%s: %u byte%s",
optp->name, length, plurality(length, "", "s"));
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
length -= 2;
- proto_tree_add_text(field_tree, offset, 1, "Window: %u", *opd);
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "Window: %u", *opd);
offset += 1;
opd += 1;
length -= 1;
if (length > 0)
- proto_tree_add_text(field_tree, offset, length, "Address (%d byte%s)",
+ proto_tree_add_text(field_tree, NullTVB, offset, length, "Address (%d byte%s)",
length, plurality(length, "", "s"));
}
@@ -636,19 +636,19 @@ dissect_lcp_callback_opt(const ip_tcp_opt *optp, const u_char *opd, int offset,
proto_item *tf;
proto_tree *field_tree = NULL;
- tf = proto_tree_add_text(tree, offset, length, "%s: %u byte%s",
+ tf = proto_tree_add_text(tree, NullTVB, offset, length, "%s: %u byte%s",
optp->name, length, plurality(length, "", "s"));
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
length -= 2;
- proto_tree_add_text(field_tree, offset, 1, "Operation: %s (0x%02x)",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "Operation: %s (0x%02x)",
val_to_str(*opd, callback_op_vals, "Unknown"),
*opd);
offset += 1;
opd += 1;
length -= 1;
if (length > 0)
- proto_tree_add_text(field_tree, offset, length, "Message (%d byte%s)",
+ proto_tree_add_text(field_tree, NullTVB, offset, length, "Message (%d byte%s)",
length, plurality(length, "", "s"));
}
@@ -656,7 +656,7 @@ static void
dissect_lcp_multilink_mrru_opt(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint length, proto_tree *tree)
{
- proto_tree_add_text(tree, offset, length, "Multilink MRRU: %u",
+ proto_tree_add_text(tree, NullTVB, offset, length, "Multilink MRRU: %u",
pntohs(opd));
}
@@ -685,13 +685,13 @@ dissect_lcp_multilink_ep_disc_opt(const ip_tcp_opt *optp, const u_char *opd,
proto_tree *field_tree = NULL;
guint8 ep_disc_class;
- tf = proto_tree_add_text(tree, offset, length, "%s: %u byte%s",
+ tf = proto_tree_add_text(tree, NullTVB, offset, length, "%s: %u byte%s",
optp->name, length, plurality(length, "", "s"));
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
length -= 2;
ep_disc_class = *opd;
- proto_tree_add_text(field_tree, offset, 1, "Class: %s (%u)",
+ proto_tree_add_text(field_tree, NullTVB, offset, 1, "Class: %s (%u)",
val_to_str(ep_disc_class, multilink_ep_disc_class_vals, "Unknown"),
ep_disc_class);
offset += 1;
@@ -701,18 +701,18 @@ dissect_lcp_multilink_ep_disc_opt(const ip_tcp_opt *optp, const u_char *opd,
switch (ep_disc_class) {
case CLASS_NULL:
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s), should have been empty",
length, plurality(length, "", "s"));
break;
case CLASS_LOCAL:
if (length > 20) {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s), should have been <20",
length, plurality(length, "", "s"));
} else {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s)",
length, plurality(length, "", "s"));
}
@@ -720,22 +720,22 @@ dissect_lcp_multilink_ep_disc_opt(const ip_tcp_opt *optp, const u_char *opd,
case CLASS_IP:
if (length != 4) {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s), should have been 4",
length, plurality(length, "", "s"));
} else {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address: %s", ip_to_str(opd));
}
break;
case CLASS_IEEE_802_1:
if (length != 6) {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s), should have been 6",
length, plurality(length, "", "s"));
} else {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address: %s", ether_to_str(opd));
}
break;
@@ -743,11 +743,11 @@ dissect_lcp_multilink_ep_disc_opt(const ip_tcp_opt *optp, const u_char *opd,
case CLASS_PPP_MAGIC_NUMBER:
/* XXX - dissect as 32-bit magic numbers */
if (length > 20) {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s), should have been <20",
length, plurality(length, "", "s"));
} else {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s)",
length, plurality(length, "", "s"));
}
@@ -755,18 +755,18 @@ dissect_lcp_multilink_ep_disc_opt(const ip_tcp_opt *optp, const u_char *opd,
case CLASS_PSDN_DIRECTORY_NUMBER:
if (length > 15) {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s), should have been <20",
length, plurality(length, "", "s"));
} else {
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s)",
length, plurality(length, "", "s"));
}
break;
default:
- proto_tree_add_text(field_tree, offset, length,
+ proto_tree_add_text(field_tree, NullTVB, offset, length,
"Address (%d byte%s)",
length, plurality(length, "", "s"));
break;
@@ -778,7 +778,7 @@ static void
dissect_lcp_bap_link_discriminator_opt(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint length, proto_tree *tree)
{
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Link discriminator for BAP: 0x%04x",
pntohs(opd));
}
@@ -796,12 +796,12 @@ dissect_lcp_internationalization_opt(const ip_tcp_opt *optp, const u_char *opd,
proto_item *tf;
proto_tree *field_tree = NULL;
- tf = proto_tree_add_text(tree, offset, length, "%s: %u byte%s",
+ tf = proto_tree_add_text(tree, NullTVB, offset, length, "%s: %u byte%s",
optp->name, length, plurality(length, "", "s"));
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
length -= 2;
- proto_tree_add_text(field_tree, offset, 4, "Character set: %s (0x%04x)",
+ proto_tree_add_text(field_tree, NullTVB, offset, 4, "Character set: %s (0x%04x)",
val_to_str(pntohl(opd), charset_num_vals, "Unknown"),
pntohl(opd));
offset += 4;
@@ -809,7 +809,7 @@ dissect_lcp_internationalization_opt(const ip_tcp_opt *optp, const u_char *opd,
length -= 4;
if (length > 0) {
/* XXX - should be displayed as an ASCII string */
- proto_tree_add_text(field_tree, offset, length, "Language tag (%d byte%s)",
+ proto_tree_add_text(field_tree, NullTVB, offset, length, "Language tag (%d byte%s)",
length, plurality(length, "", "s"));
}
}
@@ -821,24 +821,24 @@ dissect_ipcp_addrs_opt(const ip_tcp_opt *optp, const u_char *opd,
proto_item *tf;
proto_tree *field_tree = NULL;
- tf = proto_tree_add_text(tree, offset, length, "%s: %u byte%s",
+ tf = proto_tree_add_text(tree, NullTVB, offset, length, "%s: %u byte%s",
optp->name, length, plurality(length, "", "s"));
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
offset += 2;
length -= 2;
- proto_tree_add_text(field_tree, offset, 4,
+ proto_tree_add_text(field_tree, NullTVB, offset, 4,
"Source IP address: %s", ip_to_str(opd));
offset += 4;
opd += 4;
length -= 4;
- proto_tree_add_text(field_tree, offset, 4,
+ proto_tree_add_text(field_tree, NullTVB, offset, 4,
"Destination IP address: %s", ip_to_str(opd));
}
static void dissect_ipcp_addr_opt(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint length, proto_tree *tree)
{
- proto_tree_add_text(tree, offset, length, "%s: %s", optp->name,
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s: %s", optp->name,
ip_to_str((guint8 *)opd));
}
@@ -866,14 +866,14 @@ dissect_cp( const u_char *pd, int offset, const char *proto_short_name,
val_to_str(code, proto_vals, "Unknown"));
if(tree) {
- ti = proto_tree_add_text(tree, 0+offset, 4, "%s Control Protocol",
+ ti = proto_tree_add_text(tree, NullTVB, 0+offset, 4, "%s Control Protocol",
proto_long_name);
fh_tree = proto_item_add_subtree(ti, proto_subtree_index);
- proto_tree_add_text(fh_tree, 0+offset, 1, "Code: %s (0x%02x)",
+ proto_tree_add_text(fh_tree, NullTVB, 0+offset, 1, "Code: %s (0x%02x)",
val_to_str(code, proto_vals, "Unknown"), code);
- proto_tree_add_text(fh_tree, 1+offset, 1, "Identifier: 0x%02x",
+ proto_tree_add_text(fh_tree, NullTVB, 1+offset, 1, "Identifier: 0x%02x",
id);
- proto_tree_add_text(fh_tree, 2+offset, 2, "Length: %u",
+ proto_tree_add_text(fh_tree, NullTVB, 2+offset, 2, "Length: %u",
length);
}
offset += 4;
@@ -886,7 +886,7 @@ dissect_cp( const u_char *pd, int offset, const char *proto_short_name,
case CONFREJ:
if(tree) {
if (length > 0) {
- tf = proto_tree_add_text(fh_tree, offset, length,
+ tf = proto_tree_add_text(fh_tree, NullTVB, offset, length,
"Options: (%d byte%s)", length, plurality(length, "", "s"));
field_tree = proto_item_add_subtree(tf, options_subtree_index);
dissect_ip_tcp_options(&pd[offset], offset, length, opts, nopts,
@@ -900,28 +900,28 @@ dissect_cp( const u_char *pd, int offset, const char *proto_short_name,
case DISCREQ:
case IDENT:
if(tree) {
- proto_tree_add_text(fh_tree, offset, 4, "Magic number: 0x%08x",
+ proto_tree_add_text(fh_tree, NullTVB, offset, 4, "Magic number: 0x%08x",
pntohl(&pd[offset]));
offset += 4;
length -= 4;
if (length > 0)
- proto_tree_add_text(fh_tree, offset, length, "Message (%d byte%s)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, length, "Message (%d byte%s)",
length, plurality(length, "", "s"));
}
break;
case TIMEREMAIN:
if(tree) {
- proto_tree_add_text(fh_tree, offset, 4, "Magic number: 0x%08x",
+ proto_tree_add_text(fh_tree, NullTVB, offset, 4, "Magic number: 0x%08x",
pntohl(&pd[offset]));
offset += 4;
length -= 4;
- proto_tree_add_text(fh_tree, offset, 4, "Seconds remaining: %u",
+ proto_tree_add_text(fh_tree, NullTVB, offset, 4, "Seconds remaining: %u",
pntohl(&pd[offset]));
offset += 4;
length -= 4;
if (length > 0)
- proto_tree_add_text(fh_tree, offset, length, "Message (%d byte%s)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, length, "Message (%d byte%s)",
length, plurality(length, "", "s"));
}
break;
@@ -929,12 +929,12 @@ dissect_cp( const u_char *pd, int offset, const char *proto_short_name,
case PROTREJ:
if(tree) {
protocol = pntohs(&pd[offset]);
- proto_tree_add_text(fh_tree, offset, 2, "Rejected protocol: %s (0x%04x)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, 2, "Rejected protocol: %s (0x%04x)",
val_to_str(protocol, ppp_vals, "Unknown"), protocol);
offset += 2;
length -= 2;
if (length > 0)
- proto_tree_add_text(fh_tree, offset, length, "Rejected packet (%d byte%s)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, length, "Rejected packet (%d byte%s)",
length, plurality(length, "", "s"));
/* XXX - should be dissected as a PPP packet */
}
@@ -943,20 +943,20 @@ dissect_cp( const u_char *pd, int offset, const char *proto_short_name,
case CODEREJ:
/* decode the rejected LCP packet here. */
if (length > 0)
- proto_tree_add_text(fh_tree, offset, length, "Rejected packet (%d byte%s)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, length, "Rejected packet (%d byte%s)",
length, plurality(length, "", "s"));
break;
case TERMREQ:
case TERMACK:
if (length > 0)
- proto_tree_add_text(fh_tree, offset, length, "Data (%d byte%s)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, length, "Data (%d byte%s)",
length, plurality(length, "", "s"));
break;
default:
if (length > 0)
- proto_tree_add_text(fh_tree, offset, length, "Stuff (%d byte%s)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, length, "Stuff (%d byte%s)",
length, plurality(length, "", "s"));
break;
}
@@ -980,7 +980,7 @@ dissect_ppp_stuff( const u_char *pd, int offset, frame_data *fd,
}
if (tree) {
- proto_tree_add_text(fh_tree, offset, proto_len, "Protocol: %s (0x%04x)",
+ proto_tree_add_text(fh_tree, NullTVB, offset, proto_len, "Protocol: %s (0x%04x)",
val_to_str(ppp_prot, ppp_vals, "Unknown"), ppp_prot);
}
offset += proto_len;
@@ -1059,28 +1059,28 @@ dissect_mp(const u_char *pd, int offset, frame_data *fd,
strcpy(flag_str, "Unknown");
break;
}
- ti = proto_tree_add_item(tree, proto_mp, offset, 4, NULL);
+ ti = proto_tree_add_item(tree, proto_mp, NullTVB, offset, 4, NULL);
mp_tree = proto_item_add_subtree(ti, ett_mp);
- ti = proto_tree_add_text(mp_tree, offset, 1, "Fragment: 0x%2X (%s)",
+ ti = proto_tree_add_text(mp_tree, NullTVB, offset, 1, "Fragment: 0x%2X (%s)",
flags, flag_str);
hdr_tree = proto_item_add_subtree(ti, ett_mp_flags);
- proto_tree_add_boolean_format(hdr_tree, hf_mp_frag_first, offset, 1, first,
+ proto_tree_add_boolean_format(hdr_tree, hf_mp_frag_first, NullTVB, offset, 1, first,
"%s", decode_boolean_bitfield(flags, MP_FRAG_FIRST, sizeof(flags) * 8,
"first", "not first"));
- proto_tree_add_boolean_format(hdr_tree, hf_mp_frag_last, offset, 1, last,
+ proto_tree_add_boolean_format(hdr_tree, hf_mp_frag_last, NullTVB, offset, 1, last,
"%s", decode_boolean_bitfield(flags, MP_FRAG_LAST, sizeof(flags) * 8,
"last", "not last"));
- proto_tree_add_text(hdr_tree, offset, 1, "%s",
+ proto_tree_add_text(hdr_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, MP_FRAG_RESERVED, sizeof(flags) * 8,
"reserved", "reserved"));
- proto_tree_add_item(mp_tree, hf_mp_sequence_num, offset + 1, 3, seq);
+ proto_tree_add_item(mp_tree, hf_mp_sequence_num, NullTVB, offset + 1, 3, seq);
}
offset += 4;
if (IS_DATA_IN_FRAME(offset)) {
if (tree) {
- ti = proto_tree_add_item(tree, proto_ppp, offset, 1, NULL);
+ ti = proto_tree_add_item(tree, proto_ppp, NullTVB, offset, 1, NULL);
fh_tree = proto_item_add_subtree(ti, ett_ppp);
}
dissect_ppp_stuff(pd, offset, fd, tree, fh_tree);
@@ -1095,7 +1095,7 @@ dissect_payload_ppp( const u_char *pd, int offset, frame_data *fd, proto_tree *t
/* 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, 0+offset, 2, NULL);
+ ti = proto_tree_add_item(tree, proto_ppp, NullTVB, 0+offset, 2, NULL);
fh_tree = proto_item_add_subtree(ti, ett_ppp);
}
@@ -1134,11 +1134,11 @@ dissect_ppp( const u_char *pd, int offset, frame_data *fd, proto_tree *tree ) {
/* 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, 0, 4, NULL);
+ ti = proto_tree_add_item(tree, proto_ppp, NullTVB, 0, 4, NULL);
fh_tree = proto_item_add_subtree(ti, ett_ppp);
if (pd[offset] == 0xff) {
- proto_tree_add_text(fh_tree, 0, 1, "Address: %02x", ph.ppp_addr);
- proto_tree_add_text(fh_tree, 1, 1, "Control: %02x", ph.ppp_ctl);
+ proto_tree_add_text(fh_tree, NullTVB, 0, 1, "Address: %02x", ph.ppp_addr);
+ proto_tree_add_text(fh_tree, NullTVB, 1, 1, "Control: %02x", ph.ppp_ctl);
}
}
diff --git a/packet-pppoe.c b/packet-pppoe.c
index f63ca80ae0..1d0695e548 100644
--- a/packet-pppoe.c
+++ b/packet-pppoe.c
@@ -1,7 +1,7 @@
/* packet-arp.c
* Routines for ARP packet disassembly
*
- * $Id: packet-pppoe.c,v 1.7 2000/04/16 22:59:37 guy Exp $
+ * $Id: packet-pppoe.c,v 1.8 2000/05/11 08:15:35 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -105,7 +105,7 @@ dissect_pppoe_tags(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
/* Start Decoding Here. */
if (tree) {
- ti = proto_tree_add_text(tree,offset,payload_length,"PPPoE Tags");
+ ti = proto_tree_add_text(tree, NullTVB,offset,payload_length,"PPPoE Tags");
pppoe_tree = proto_item_add_subtree(ti, ett_pppoed_tags);
tagstart = offset;
@@ -114,7 +114,7 @@ dissect_pppoe_tags(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
poe_tag = pntohs(&pd[tagstart]);
poe_tag_length = pntohs(&pd[tagstart + 2]);
- proto_tree_add_text(pppoe_tree,tagstart,4,
+ proto_tree_add_text(pppoe_tree, NullTVB,tagstart,4,
"Tag: %s", pppoetag_to_str(poe_tag,"Unknown (0x%02x)"));
switch(poe_tag) {
@@ -126,13 +126,13 @@ dissect_pppoe_tags(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
/* tag value should be interpreted as a utf-8 unterminated string.*/
if(poe_tag_length > 0 ) {
/* really should do some limit checking here. :( */
- proto_tree_add_text(pppoe_tree,tagstart+4,poe_tag_length,
+ proto_tree_add_text(pppoe_tree, NullTVB,tagstart+4,poe_tag_length,
" String Data: %s", format_text(&pd[tagstart+4],poe_tag_length ));
}
break;
default:
if(poe_tag_length > 0 ) {
- proto_tree_add_text(pppoe_tree,tagstart+4,poe_tag_length,
+ proto_tree_add_text(pppoe_tree, NullTVB,tagstart+4,poe_tag_length,
" Binary Data: (%d bytes)", poe_tag_length );
}
}
@@ -171,17 +171,17 @@ dissect_pppoed(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_text(tree,offset,pppoe_length+6,"PPPoE Discovery");
+ ti = proto_tree_add_text(tree, NullTVB,offset,pppoe_length+6,"PPPoE Discovery");
pppoe_tree = proto_item_add_subtree(ti, ett_pppoed);
- proto_tree_add_text(pppoe_tree,offset,1,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset,1,
"Version: %d", pppoe_ver);
- proto_tree_add_text(pppoe_tree,offset,1,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset,1,
"Type: %d", pppoe_type);
- proto_tree_add_text(pppoe_tree,offset+1,1,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset+1,1,
"Code: %s", pppoecode_to_str(pppoe_code,"Unknown (0x%02x)"));
- proto_tree_add_text(pppoe_tree,offset+2,2,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset+2,2,
"Session ID: %04x", pppoe_session_id);
- proto_tree_add_text(pppoe_tree,offset+4,2,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset+4,2,
"Payload Length: %d", pppoe_length);
}
dissect_pppoe_tags(pd,offset+6,fd,tree,offset+6+pppoe_length);
@@ -215,17 +215,17 @@ dissect_pppoes(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_text(tree,offset,pppoe_length+6,"PPPoE Session");
+ ti = proto_tree_add_text(tree, NullTVB,offset,pppoe_length+6,"PPPoE Session");
pppoe_tree = proto_item_add_subtree(ti, ett_pppoed);
- proto_tree_add_text(pppoe_tree,offset,1,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset,1,
"Version: %d", pppoe_ver);
- proto_tree_add_text(pppoe_tree,offset,1,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset,1,
"Type: %d", pppoe_type);
- proto_tree_add_text(pppoe_tree,offset+1,1,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset+1,1,
"Code: %s", pppoecode_to_str(pppoe_code,"Unknown (0x%02x)"));
- proto_tree_add_text(pppoe_tree,offset+2,2,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset+2,2,
"Session ID: %04x", pppoe_session_id);
- proto_tree_add_text(pppoe_tree,offset+4,2,
+ proto_tree_add_text(pppoe_tree, NullTVB,offset+4,2,
"Payload Length: %d", pppoe_length);
}
/* dissect_ppp is apparently done as a 'top level' dissector,
diff --git a/packet-pptp.c b/packet-pptp.c
index b6b9319b2d..243fe4164f 100644
--- a/packet-pptp.c
+++ b/packet-pptp.c
@@ -2,7 +2,7 @@
* Routines for the Point-to-Point Tunnelling Protocol (PPTP) (RFC 2637)
* Brad Robel-Forrest <brad.robel-forrest@watchguard.com>
*
- * $Id: packet-pptp.c,v 1.9 2000/04/08 07:07:33 guy Exp $
+ * $Id: packet-pptp.c,v 1.10 2000/05/11 08:15:35 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -399,27 +399,27 @@ dissect_pptp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
proto_item * ti;
proto_tree * pptp_tree;
- ti = proto_tree_add_text(tree, offset, len, "PPTP Control Channel");
+ ti = proto_tree_add_text(tree, NullTVB, offset, len, "PPTP Control Channel");
pptp_tree = proto_item_add_subtree(ti, ett_pptp);
- proto_tree_add_text(pptp_tree, offset, sizeof(hdr->len),
+ proto_tree_add_text(pptp_tree, NullTVB, offset, sizeof(hdr->len),
"Length: %u", len);
offset += sizeof(hdr->len);
msg_type = pntohs(&hdr->type);
- proto_tree_add_text(pptp_tree, offset, sizeof(hdr->type),
+ proto_tree_add_text(pptp_tree, NullTVB, offset, sizeof(hdr->type),
"Message type: %s (%u)", msgtype2str(msg_type), msg_type);
offset += sizeof(hdr->type);
- proto_tree_add_text(pptp_tree, offset, sizeof(hdr->cookie),
+ proto_tree_add_text(pptp_tree, NullTVB, offset, sizeof(hdr->cookie),
"Cookie: %#08x", pntohl(&hdr->cookie));
offset += sizeof(hdr->cookie);
- proto_tree_add_text(pptp_tree, offset, sizeof(hdr->cntrl_type),
+ proto_tree_add_text(pptp_tree, NullTVB, offset, sizeof(hdr->cntrl_type),
"Control type: %s (%u)", cntrltype2str(cntrl_type), cntrl_type);
offset += sizeof(hdr->cntrl_type);
- proto_tree_add_text(pptp_tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(pptp_tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
@@ -442,37 +442,37 @@ dissect_cntrl_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
guint32 frame;
guint32 bearer;
- proto_tree_add_text(tree, offset, sizeof(hdr->major_ver) + sizeof(hdr->minor_ver),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->major_ver) + sizeof(hdr->minor_ver),
"Protocol version: %u.%u", hdr->major_ver, hdr->minor_ver );
offset += sizeof(hdr->major_ver) + sizeof(hdr->minor_ver);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
frame = pntohl(&hdr->frame);
- proto_tree_add_text(tree, offset, sizeof(hdr->frame),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->frame),
"Framing capabilities: %s (%u)", frametype2str(frame), frame);
offset += sizeof(hdr->frame);
bearer = pntohl(&hdr->bearer);
- proto_tree_add_text(tree, offset, sizeof(hdr->bearer),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->bearer),
"Bearer capabilities: %s (%u)", bearertype2str(bearer), bearer);
offset += sizeof(hdr->bearer);
- proto_tree_add_text(tree, offset, sizeof(hdr->max_chan),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->max_chan),
"Maximum channels: %u", pntohs(&hdr->max_chan));
offset += sizeof(hdr->max_chan);
- proto_tree_add_text(tree, offset, sizeof(hdr->firm_rev),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->firm_rev),
"Firmware revision: %u", pntohs(&hdr->firm_rev));
offset += sizeof(hdr->firm_rev);
- proto_tree_add_text(tree, offset, sizeof(hdr->host),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->host),
"Hostname: %s", hdr->host);
offset += sizeof(hdr->host);
- proto_tree_add_text(tree, offset, sizeof(hdr->vendor),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->vendor),
"Vendor: %s", hdr->vendor);
}
@@ -482,41 +482,41 @@ dissect_cntrl_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
guint32 frame;
guint32 bearer;
- proto_tree_add_text(tree, offset, sizeof(hdr->major_ver) + sizeof(hdr->minor_ver),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->major_ver) + sizeof(hdr->minor_ver),
"Protocol version: %u.%u", hdr->major_ver, hdr->minor_ver );
offset += sizeof(hdr->major_ver) + sizeof(hdr->minor_ver);
- proto_tree_add_text(tree, offset, sizeof(hdr->result),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->result),
"Result: %s (%u)", cntrlresulttype2str(hdr->result), hdr->result);
offset += sizeof(hdr->result);
- proto_tree_add_text(tree, offset, sizeof(hdr->error),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->error),
"Error: %s (%u)", errortype2str(hdr->error), hdr->error);
offset += sizeof(hdr->error);
frame = pntohl(&hdr->frame);
- proto_tree_add_text(tree, offset, sizeof(hdr->frame),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->frame),
"Framing capabilities: %s (%u)", frametype2str(frame), frame);
offset += sizeof(hdr->frame);
bearer = pntohl(&hdr->bearer);
- proto_tree_add_text(tree, offset, sizeof(hdr->bearer),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->bearer),
"Bearer capabilities: %s (%u)", bearertype2str(bearer), bearer);
offset += sizeof(hdr->bearer);
- proto_tree_add_text(tree, offset, sizeof(hdr->max_chan),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->max_chan),
"Maximum channels: %u", pntohs(&hdr->max_chan));
offset += sizeof(hdr->max_chan);
- proto_tree_add_text(tree, offset, sizeof(hdr->firm_rev),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->firm_rev),
"Firmware revision: %u", pntohs(&hdr->firm_rev));
offset += sizeof(hdr->firm_rev);
- proto_tree_add_text(tree, offset, sizeof(hdr->host),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->host),
"Hostname: %s", hdr->host);
offset += sizeof(hdr->host);
- proto_tree_add_text(tree, offset, sizeof(hdr->vendor),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->vendor),
"Vendor: %s", hdr->vendor);
}
@@ -524,15 +524,15 @@ static void
dissect_stop_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct stop_req * hdr = (struct stop_req *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->reason),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->reason),
"Reason: %s (%u)", reasontype2str(hdr->reason), hdr->reason);
offset += sizeof(hdr->reason);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv0),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv0),
"Reserved: %u", hdr->resv0);
offset += sizeof(hdr->resv0);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv1),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv1),
"Reserved: %u", pntohs(&hdr->resv1));
offset += sizeof(hdr->resv1);
}
@@ -541,15 +541,15 @@ static void
dissect_stop_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct stop_reply * hdr = (struct stop_reply *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->result),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->result),
"Result: %s (%u)", stopresulttype2str(hdr->result), hdr->result);
offset += sizeof(hdr->result);
- proto_tree_add_text(tree, offset, sizeof(hdr->error),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->error),
"Error: %s (%u)", errortype2str(hdr->error), hdr->error);
offset += sizeof(hdr->error);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
}
@@ -558,7 +558,7 @@ static void
dissect_echo_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct echo_req * hdr = (struct echo_req *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->ident),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->ident),
"Identifier: %u", pntohl(&hdr->ident));
offset += sizeof(hdr->ident);
}
@@ -567,19 +567,19 @@ static void
dissect_echo_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct echo_reply * hdr = (struct echo_reply *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->ident),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->ident),
"Identifier: %u", pntohl(&hdr->ident));
offset += sizeof(hdr->ident);
- proto_tree_add_text(tree, offset, sizeof(hdr->result),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->result),
"Result: %s (%u)", echoresulttype2str(hdr->result), hdr->result);
offset += sizeof(hdr->result);
- proto_tree_add_text(tree, offset, sizeof(hdr->error),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->error),
"Error: %s (%u)", errortype2str(hdr->error), hdr->error);
offset += sizeof(hdr->error);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
}
@@ -590,53 +590,53 @@ dissect_out_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
guint32 bearer;
guint32 frame;
- proto_tree_add_text(tree, offset, sizeof(hdr->call_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_id),
"Call ID: %u", pntohs(&hdr->call_id));
offset += sizeof(hdr->call_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->call_serial),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_serial),
"Call Serial Number: %u", pntohs(&hdr->call_serial));
offset += sizeof(hdr->call_serial);
- proto_tree_add_text(tree, offset, sizeof(hdr->min_bps),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->min_bps),
"Minimum BPS: %u", pntohl(&hdr->min_bps));
offset += sizeof(hdr->min_bps);
- proto_tree_add_text(tree, offset, sizeof(hdr->max_bps),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->max_bps),
"Maximum BPS: %u", pntohl(&hdr->max_bps));
offset += sizeof(hdr->max_bps);
bearer = pntohl(&hdr->bearer);
- proto_tree_add_text(tree, offset, sizeof(hdr->bearer),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->bearer),
"Bearer capabilities: %s (%u)", bearertype2str(bearer), bearer);
offset += sizeof(hdr->bearer);
frame = pntohl(&hdr->frame);
- proto_tree_add_text(tree, offset, sizeof(hdr->frame),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->frame),
"Framing capabilities: %s (%u)", frametype2str(frame), frame);
offset += sizeof(hdr->frame);
- proto_tree_add_text(tree, offset, sizeof(hdr->win_size),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->win_size),
"Receive window size: %u", pntohs(&hdr->win_size));
offset += sizeof(hdr->win_size);
- proto_tree_add_text(tree, offset, sizeof(hdr->delay),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->delay),
"Processing delay: %u", pntohs(&hdr->delay));
offset += sizeof(hdr->delay);
- proto_tree_add_text(tree, offset, sizeof(hdr->phone_len),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->phone_len),
"Phone number length: %u", pntohs(&hdr->phone_len));
offset += sizeof(hdr->phone_len);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
- proto_tree_add_text(tree, offset, sizeof(hdr->phone),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->phone),
"Phone number: %s", hdr->phone);
offset += sizeof(hdr->phone);
- proto_tree_add_text(tree, offset, sizeof(hdr->subaddr),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->subaddr),
"Subaddress: %s", hdr->subaddr);
offset += sizeof(hdr->subaddr);
}
@@ -645,39 +645,39 @@ static void
dissect_out_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct out_reply * hdr = (struct out_reply *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->call_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_id),
"Call ID: %u", pntohs(&hdr->call_id));
offset += sizeof(hdr->call_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->peer_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->peer_id),
"Peer's call ID: %u", pntohs(&hdr->peer_id));
offset += sizeof(hdr->peer_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->result),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->result),
"Result: %s (%u)", outresulttype2str(hdr->result), hdr->result);
offset += sizeof(hdr->result);
- proto_tree_add_text(tree, offset, sizeof(hdr->error),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->error),
"Error: %s (%u)", errortype2str(hdr->error), hdr->error);
offset += sizeof(hdr->error);
- proto_tree_add_text(tree, offset, sizeof(hdr->cause),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->cause),
"Cause code: %u", pntohs(&hdr->cause));
offset += sizeof(hdr->cause);
- proto_tree_add_text(tree, offset, sizeof(hdr->speed),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->speed),
"Connect speed: %u", pntohl(&hdr->speed));
offset += sizeof(hdr->speed);
- proto_tree_add_text(tree, offset, sizeof(hdr->win_size),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->win_size),
"Receive window size: %u", pntohs(&hdr->win_size));
offset += sizeof(hdr->win_size);
- proto_tree_add_text(tree, offset, sizeof(hdr->delay),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->delay),
"Processing delay: %u", pntohs(&hdr->delay));
offset += sizeof(hdr->delay);
- proto_tree_add_text(tree, offset, sizeof(hdr->channel_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->channel_id),
"Physical channel ID: %u", pntohl(&hdr->channel_id));
offset += sizeof(hdr->channel_id);
}
@@ -688,40 +688,40 @@ dissect_in_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct in_req * hdr = (struct in_req *)(pd + offset);
guint32 bearer;
- proto_tree_add_text(tree, offset, sizeof(hdr->call_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_id),
"Call ID: %u", pntohs(&hdr->call_id));
offset += sizeof(hdr->call_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->call_serial),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_serial),
"Call serial number: %u", pntohs(&hdr->call_serial));
offset += sizeof(hdr->call_serial);
bearer = pntohl(&hdr->bearer);
- proto_tree_add_text(tree, offset, sizeof(hdr->bearer),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->bearer),
"Bearer capabilities: %s (%u)", bearertype2str(bearer), bearer);
offset += sizeof(hdr->bearer);
- proto_tree_add_text(tree, offset, sizeof(hdr->channel_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->channel_id),
"Physical channel ID: %u", pntohl(&hdr->channel_id));
offset += sizeof(hdr->channel_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->dialed_len),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->dialed_len),
"Dialed number length: %u", pntohs(&hdr->dialed_len));
offset += sizeof(hdr->dialed_len);
- proto_tree_add_text(tree, offset, sizeof(hdr->dialing_len),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->dialing_len),
"Dialing number length: %u", pntohs(&hdr->dialing_len));
offset += sizeof(hdr->dialing_len);
- proto_tree_add_text(tree, offset, sizeof(hdr->dialed),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->dialed),
"Dialed number: %s", hdr->dialed);
offset += sizeof(hdr->dialed);
- proto_tree_add_text(tree, offset, sizeof(hdr->dialing),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->dialing),
"Dialing number: %s", hdr->dialing);
offset += sizeof(hdr->dialing);
- proto_tree_add_text(tree, offset, sizeof(hdr->subaddr),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->subaddr),
"Subaddress: %s", hdr->subaddr);
offset += sizeof(hdr->subaddr);
}
@@ -730,31 +730,31 @@ static void
dissect_in_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct in_reply * hdr = (struct in_reply *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->call_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_id),
"Call ID: %u", pntohs(&hdr->call_id));
offset += sizeof(hdr->call_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->peer_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->peer_id),
"Peer's call ID: %u", pntohs(&hdr->peer_id));
offset += sizeof(hdr->peer_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->result),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->result),
"Result: %s (%u)", inresulttype2str(hdr->result), hdr->result);
offset += sizeof(hdr->result);
- proto_tree_add_text(tree, offset, sizeof(hdr->error),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->error),
"Error: %s (%u)", errortype2str(hdr->error), hdr->error);
offset += sizeof(hdr->error);
- proto_tree_add_text(tree, offset, sizeof(hdr->win_size),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->win_size),
"Receive window size: %u", pntohs(&hdr->win_size));
offset += sizeof(hdr->win_size);
- proto_tree_add_text(tree, offset, sizeof(hdr->delay),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->delay),
"Processing delay: %u", pntohs(&hdr->delay));
offset += sizeof(hdr->delay);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", hdr->resv);
offset += sizeof(hdr->resv);
}
@@ -764,28 +764,28 @@ dissect_in_connected(const u_char *pd, int offset, frame_data *fd, proto_tree *t
struct in_connected * hdr = (struct in_connected *)(pd + offset);
guint32 frame;
- proto_tree_add_text(tree, offset, sizeof(hdr->peer_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->peer_id),
"Peer's call ID: %u", pntohs(&hdr->peer_id));
offset += sizeof(hdr->peer_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
- proto_tree_add_text(tree, offset, sizeof(hdr->speed),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->speed),
"Connect speed: %u", pntohl(&hdr->speed));
offset += sizeof(hdr->speed);
- proto_tree_add_text(tree, offset, sizeof(hdr->win_size),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->win_size),
"Receive window size: %u", pntohs(&hdr->win_size));
offset += sizeof(hdr->win_size);
- proto_tree_add_text(tree, offset, sizeof(hdr->delay),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->delay),
"Processing delay: %u", pntohs(&hdr->delay));
offset += sizeof(hdr->delay);
frame = pntohl(&hdr->frame);
- proto_tree_add_text(tree, offset, sizeof(hdr->frame),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->frame),
"Framing capabilities: %s (%u)", frametype2str(frame), frame);
offset += sizeof(hdr->frame);
}
@@ -794,11 +794,11 @@ static void
dissect_clear_req(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct clear_req * hdr = (struct clear_req *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->call_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_id),
"Call ID: %u", pntohs(&hdr->call_id));
offset += sizeof(hdr->call_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
}
@@ -807,27 +807,27 @@ static void
dissect_disc_notify(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct disc_notify * hdr = (struct disc_notify *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->call_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->call_id),
"Call ID: %u", pntohs(&hdr->call_id));
offset += sizeof(hdr->call_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->result),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->result),
"Result: %s (%u)", discresulttype2str(hdr->result), hdr->result);
offset += sizeof(hdr->result);
- proto_tree_add_text(tree, offset, sizeof(hdr->error),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->error),
"Error: %s (%u)", errortype2str(hdr->error), hdr->error);
offset += sizeof(hdr->error);
- proto_tree_add_text(tree, offset, sizeof(hdr->cause),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->cause),
"Cause code: %u", pntohs(&hdr->cause));
offset += sizeof(hdr->cause);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
- proto_tree_add_text(tree, offset, sizeof(hdr->stats),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->stats),
"Call statistics: %s", hdr->stats);
offset += sizeof(hdr->stats);
}
@@ -836,35 +836,35 @@ static void
dissect_error_notify(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct error_notify * hdr = (struct error_notify *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->peer_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->peer_id),
"Peer's call ID: %u", pntohs(&hdr->peer_id));
offset += sizeof(hdr->peer_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
- proto_tree_add_text(tree, offset, sizeof(hdr->crc),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->crc),
"CRC errors: %u", pntohl(&hdr->crc));
offset += sizeof(hdr->crc);
- proto_tree_add_text(tree, offset, sizeof(hdr->frame),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->frame),
"Framing errors: %u", pntohl(&hdr->frame));
offset += sizeof(hdr->frame);
- proto_tree_add_text(tree, offset, sizeof(hdr->hardware),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->hardware),
"Hardware overruns: %u", pntohl(&hdr->hardware));
offset += sizeof(hdr->hardware);
- proto_tree_add_text(tree, offset, sizeof(hdr->buffer),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->buffer),
"Buffer overruns: %u", pntohl(&hdr->buffer));
offset += sizeof(hdr->buffer);
- proto_tree_add_text(tree, offset, sizeof(hdr->timeout),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->timeout),
"Time-out errors: %u", pntohl(&hdr->timeout));
offset += sizeof(hdr->timeout);
- proto_tree_add_text(tree, offset, sizeof(hdr->alignment),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->alignment),
"Alignment errors: %u", pntohl(&hdr->alignment));
offset += sizeof(hdr->alignment);
}
@@ -873,19 +873,19 @@ static void
dissect_set_link(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
struct set_link * hdr = (struct set_link *)(pd + offset);
- proto_tree_add_text(tree, offset, sizeof(hdr->peer_id),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->peer_id),
"Peer's call ID: %u", pntohs(&hdr->peer_id));
offset += sizeof(hdr->peer_id);
- proto_tree_add_text(tree, offset, sizeof(hdr->resv),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->resv),
"Reserved: %u", pntohs(&hdr->resv));
offset += sizeof(hdr->resv);
- proto_tree_add_text(tree, offset, sizeof(hdr->send_acm),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->send_acm),
"Send ACCM: %#08x", pntohl(&hdr->send_acm));
offset += sizeof(hdr->send_acm);
- proto_tree_add_text(tree, offset, sizeof(hdr->recv_acm),
+ proto_tree_add_text(tree, NullTVB, offset, sizeof(hdr->recv_acm),
"Recv ACCM: %#08x", pntohl(&hdr->recv_acm));
offset += sizeof(hdr->recv_acm);
}
diff --git a/packet-q2931.c b/packet-q2931.c
index 206b575488..92361aa137 100644
--- a/packet-q2931.c
+++ b/packet-q2931.c
@@ -2,7 +2,7 @@
* Routines for Q.2931 frame disassembly
* Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-q2931.c,v 1.7 2000/01/13 05:41:22 guy Exp $
+ * $Id: packet-q2931.c,v 1.8 2000/05/11 08:15:36 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -259,7 +259,7 @@ dissect_q2931_shift_ie(const u_char *pd, int offset, int len,
non_locking_shift = (info_element == Q2931_IE_BBAND_NLOCKING_SHIFT);
codeset = pd[offset] & 0x07;
- proto_tree_add_text(tree, offset, 1, "%s shift to codeset %u: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "%s shift to codeset %u: %s",
(non_locking_shift ? "Non-locking" : "Locking"),
codeset,
val_to_str(codeset, q2931_codeset_vals, "Unknown (0x%02X)"));
@@ -347,7 +347,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
aal_type = pd[offset];
- proto_tree_add_text(tree, offset, 1, "AAL type: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AAL type: %s",
val_to_str(aal_type, q9231_aal_type_vals, "Unknown (0x%02X)"));
offset += 1;
len -= 1;
@@ -361,7 +361,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
*/
if (len > 4)
len = 4;
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"User defined AAL information: %s",
bytes_to_str(&pd[offset], len));
return;
@@ -375,7 +375,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pd[offset + 1];
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Subtype: %s",
val_to_str(value, q9231_aal1_subtype_vals,
"Unknown (0x%02X)"));
@@ -387,7 +387,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pd[offset + 1];
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"CBR rate: %s",
val_to_str(value, q9231_aal1_cbr_rate_vals,
"Unknown (0x%02X)"));
@@ -399,7 +399,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 3)
return;
value = pntohs(&pd[offset + 1]);
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Multiplier: %u", value);
offset += 3;
len -= 3;
@@ -409,7 +409,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pd[offset + 1];
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Source clock frequency recovery method: %s",
val_to_str(value, q2931_aal1_src_clk_rec_meth_vals,
"Unknown (0x%02X)"));
@@ -421,7 +421,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pd[offset + 1];
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Error correction method: %s",
val_to_str(value, q2931_aal1_err_correction_method_vals,
"Unknown (0x%02X)"));
@@ -433,7 +433,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 3)
return;
value = pntohs(&pd[offset + 1]);
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Structured data transfer block size: %u", value);
offset += 3;
len -= 3;
@@ -443,7 +443,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pd[offset + 1];
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Partially filled cells method: %u octets", value);
offset += 2;
len -= 2;
@@ -453,7 +453,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 3)
return;
value = pntohs(&pd[offset + 1]);
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Forward maximum CPCS-SDU size: %u", value);
offset += 3;
len -= 3;
@@ -463,7 +463,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 3)
return;
value = pntohs(&pd[offset + 1]);
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Backward maximum CPCS-SDU size: %u", value);
offset += 3;
len -= 3;
@@ -474,7 +474,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
return;
low_mid = pntohs(&pd[offset + 1]);
high_mid = pntohs(&pd[offset + 3]);
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"MID range: %u - %u", low_mid, high_mid);
offset += 5;
len -= 5;
@@ -484,7 +484,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pd[offset + 1];
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"SSCS type: %s",
val_to_str(value, q2931_sscs_type_vals,
"Unknown (0x%02X)"));
@@ -493,7 +493,7 @@ dissect_q2931_aal_parameters_ie(const u_char *pd, int offset, int len,
break;
default: /* unknown AAL parameter */
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Unknown AAL parameter (0x%02X)",
identifier);
return; /* give up */
@@ -565,7 +565,7 @@ dissect_q2931_atm_cell_rate_ie(const u_char *pd, int offset, int len,
value = (pd[offset + 1] << 16)
| (pd[offset + 2] << 8)
| (pd[offset + 3] << 0);
- proto_tree_add_text(tree, offset, 4,
+ proto_tree_add_text(tree, NullTVB, offset, 4,
"%s: %u cell%s/s",
val_to_str(identifier, q2931_atm_td_subfield_vals,
NULL),
@@ -576,7 +576,7 @@ dissect_q2931_atm_cell_rate_ie(const u_char *pd, int offset, int len,
case Q2931_ATM_CR_BEST_EFFORT_IND:
/* Yes, its value *IS* 0xBE.... */
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s",
val_to_str(identifier, q2931_atm_td_subfield_vals,
NULL));
@@ -588,20 +588,20 @@ dissect_q2931_atm_cell_rate_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pd[offset + 1];
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"%s",
val_to_str(identifier, q2931_atm_td_subfield_vals,
NULL));
- proto_tree_add_text(tree, offset + 1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 1, 1,
"%s allowed in forward direction",
(value & 0x80) ? "Frame discard" : "No frame discard");
- proto_tree_add_text(tree, offset + 1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 1, 1,
"%s allowed in backward direction",
(value & 0x40) ? "Frame discard" : "No frame discard");
- proto_tree_add_text(tree, offset + 1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 1, 1,
"Tagging %srequested in backward direction",
(value & 0x02) ? "" : "not ");
- proto_tree_add_text(tree, offset + 1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 1, 1,
"Tagging %srequested in forward direction",
(value & 0x01) ? "" : "not ");
offset += 2;
@@ -609,7 +609,7 @@ dissect_q2931_atm_cell_rate_ie(const u_char *pd, int offset, int len,
break;
default: /* unknown ATM traffic descriptor element */
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Unknown ATM traffic descriptor element (0x%02X)",
identifier);
return; /* give up */
@@ -665,7 +665,7 @@ dissect_q2931_bband_bearer_cap_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Bearer class: %s",
val_to_str(octet & 0x1F, q2931_bearer_class_vals,
"Unknown (0x%02X)"));
@@ -676,7 +676,7 @@ dissect_q2931_bband_bearer_cap_ie(const u_char *pd, int offset, int len,
return;
if (!(octet & Q2931_IE_EXTENSION)) {
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"ATM Transfer Capability: %s",
val_to_str(octet & 0x1F, q2931_transfer_capability_vals,
"Unknown (0x%02X)"));
@@ -687,11 +687,11 @@ dissect_q2931_bband_bearer_cap_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Susceptibility to clipping: %s",
val_to_str(octet & 0x60, q2931_susc_clip_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User-plane connection configuration: %s",
val_to_str(octet & 0x03, q2931_up_conn_config_vals,
"Unknown (0x%02X)"));
@@ -717,7 +717,7 @@ dissect_q2931_bband_hi_layer_info_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"High layer information type: %s",
val_to_str(octet & 0x7F, q2931_hi_layer_info_type_vals,
"Unknown (0x%02X)"));
@@ -800,7 +800,7 @@ dissect_q2931_bband_low_layer_info_ie(const u_char *pd, int offset, int len,
/*
* Layer 1 information.
*/
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User information layer 1 protocol: 0x%02X",
octet & 0x1F);
offset += 1;
@@ -815,7 +815,7 @@ dissect_q2931_bband_low_layer_info_ie(const u_char *pd, int offset, int len,
* Layer 2 information.
*/
uil2_protocol = octet & 0x1F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User information layer 2 protocol: %s",
val_to_str(uil2_protocol, q2931_uil2_vals,
"Unknown (0x%02X)"));
@@ -828,11 +828,11 @@ dissect_q2931_bband_low_layer_info_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
if (uil2_protocol == Q2931_UIL2_USER_SPEC) {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User-specified layer 2 protocol information: 0x%02X",
octet & 0x7F);
} else {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Mode: %s",
val_to_str(octet & 0x60, q2931_mode_vals,
"Unknown (0x%02X)"));
@@ -845,7 +845,7 @@ dissect_q2931_bband_low_layer_info_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Window size: %u k", octet & 0x7F);
offset += 1;
len -= 1;
@@ -861,7 +861,7 @@ l2_done:
* Layer 3 information.
*/
uil3_protocol = octet & 0x1F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User information layer 3 protocol: %s",
val_to_str(uil3_protocol, q2931_uil3_vals,
"Unknown (0x%02X)"));
@@ -882,7 +882,7 @@ l2_done:
case Q2931_UIL3_X25_PL:
case Q2931_UIL3_ISO_8208:
case Q2931_UIL3_X223:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Mode: %s",
val_to_str(octet & 0x60, q2931_mode_vals,
"Unknown (0x%02X)"));
@@ -894,7 +894,7 @@ l2_done:
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Default packet size: %u", octet & 0x0F);
offset += 1;
len -= 1;
@@ -904,14 +904,14 @@ l2_done:
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Packet window size: %u", octet & 0x7F);
offset += 1;
len -= 1;
break;
case Q2931_UIL3_USER_SPEC:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Default packet size: %u octets",
1 << (octet & 0x0F));
offset += 1;
@@ -925,7 +925,7 @@ l2_done:
if (len < 2)
return;
add_l3_info |= (pd[offset + 1] & 0x40) >> 6;
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Additional layer 3 protocol information: %s",
val_to_str(add_l3_info, nlpid_vals,
"Unknown (0x%02X)"));
@@ -938,7 +938,7 @@ l2_done:
len -= 1;
organization_code =
pd[offset] << 16 | pd[offset+1] << 8 | pd[offset+2];
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Organization Code: 0x%06X (%s)",
organization_code,
val_to_str(organization_code, oui_vals,
@@ -952,21 +952,21 @@ l2_done:
switch (organization_code) {
case OUI_ENCAP_ETHER:
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Ethernet type: %s",
val_to_str(pid, etype_vals,
"Unknown (0x%04X)"));
break;
case OUI_ATM_FORUM:
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"LANE Protocol ID: %s",
val_to_str(pid, lane_pid_vals,
"Unknown (0x%04X)"));
break;
default:
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Protocol ID: 0x%04X", pid);
break;
}
@@ -1098,7 +1098,7 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Location: %s",
val_to_str(octet & 0x0F, q2931_cause_location_vals,
"Unknown (0x%X)"));
@@ -1109,7 +1109,7 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
cause_value = octet & 0x7F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Cause value: %s",
val_to_str(cause_value, q2931_cause_code_vals,
"Unknown (0x%X)"));
@@ -1124,13 +1124,13 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
case Q2931_CAUSE_NO_ROUTE_TO_DEST:
case Q2931_CAUSE_QOS_UNAVAILABLE:
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Network service: %s",
(octet & 0x80) ? "User" : "Provider");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s",
(octet & 0x40) ? "Abnormal" : "Normal");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Condition: %s",
val_to_str(octet & 0x03, q2931_cause_condition_vals,
"Unknown (0x%X)"));
@@ -1138,11 +1138,11 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
case Q2931_CAUSE_CALL_REJECTED:
rejection_reason = octet & 0x7C;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Rejection reason: %s",
val_to_str(octet & 0x7C, q2931_cause_condition_vals,
"Unknown (0x%X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Condition: %s",
val_to_str(octet & 0x03, q2931_cause_condition_vals,
"Unknown (0x%X)"));
@@ -1154,27 +1154,27 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
switch (rejection_reason) {
case Q2931_REJ_USER_SPECIFIC:
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"User specific diagnostic: %s",
bytes_to_str(&pd[offset], len));
break;
case Q2931_REJ_IE_MISSING:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Missing information element: %s",
val_to_str(pd[offset], q2931_info_element_vals,
"Unknown (0x%02X)"));
break;
case Q2931_REJ_IE_INSUFFICIENT:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Insufficient information element: %s",
val_to_str(pd[offset], q2931_info_element_vals,
"Unknown (0x%02X)"));
break;
default:
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Diagnostic: %s",
bytes_to_str(&pd[offset], len));
break;
@@ -1206,7 +1206,7 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
case Q2931_CAUSE_IE_NONEX_OR_UNIMPL:
case Q2931_CAUSE_INVALID_IE_CONTENTS:
do {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Information element: %s",
val_to_str(pd[offset], q2931_info_element_vals,
"Unknown (0x%02X)"));
@@ -1217,7 +1217,7 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
case Q2931_CAUSE_CELL_RATE_UNAVAIL:
do {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Cell rate subfield identifier: %s",
val_to_str(pd[offset], q2931_atm_td_subfield_vals,
"Unknown (0x%02X)"));
@@ -1229,20 +1229,20 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
case Q2931_CAUSE_CHAN_NONEXISTENT:
if (len < 2)
return;
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"VPCI: %u", pntohs(&pd[offset]));
offset += 2;
len -= 2;
if (len < 2)
return;
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"VCI: %u", pntohs(&pd[offset]));
break;
case Q2931_CAUSE_MT_NONEX_OR_UNIMPL:
case Q2931_CAUSE_MSG_INCOMPAT_W_CS:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Message type: %s",
val_to_str(pd[offset], q2931_message_type_vals,
"Unknown (0x%02X)"));
@@ -1251,12 +1251,12 @@ dissect_q2931_cause_ie(const u_char *pd, int offset, int len,
case Q2931_CAUSE_REC_TIMER_EXP:
if (len < 3)
return;
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Timer: %.3s", &pd[offset]);
break;
default:
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Diagnostics: %s",
bytes_to_str(&pd[offset], len));
}
@@ -1296,7 +1296,7 @@ dissect_q2931_call_state_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Call state: %s",
val_to_str(octet & 0x3F, q2931_call_state_vals,
"Unknown (0x%02X)"));
@@ -1353,12 +1353,12 @@ dissect_q2931_number_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Type of number: %s",
val_to_str(octet & 0x70, q2931_number_type_vals,
"Unknown (0x%02X)"));
numbering_plan = octet & 0x0F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Numbering plan: %s",
val_to_str(numbering_plan, q2931_numbering_plan_vals,
"Unknown (0x%02X)"));
@@ -1369,11 +1369,11 @@ dissect_q2931_number_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Presentation indicator: %s",
val_to_str(octet & 0x60, q2931_presentation_indicator_vals,
"Unknown (0x%X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Screening indicator: %s",
val_to_str(octet & 0x03, q2931_screening_indicator_vals,
"Unknown (0x%X)"));
@@ -1386,24 +1386,24 @@ dissect_q2931_number_ie(const u_char *pd, int offset, int len,
switch (numbering_plan) {
case Q2931_ISDN_NUMBERING:
- proto_tree_add_text(tree, offset, len, "Number: %.*s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "Number: %.*s",
len, &pd[offset]);
break;
case Q2931_NSAP_ADDRESSING:
if (len < 20) {
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Number (too short): %s",
bytes_to_str(&pd[offset], len));
return;
}
- ti = proto_tree_add_text(tree, offset, len, "Number");
+ ti = proto_tree_add_text(tree, NullTVB, offset, len, "Number");
nsap_tree = proto_item_add_subtree(ti, ett_q2931_nsap);
dissect_atm_nsap(pd, offset, len, nsap_tree);
break;
default:
- proto_tree_add_text(tree, offset, len, "Number: %s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "Number: %s",
bytes_to_str(&pd[offset], len));
break;
}
@@ -1434,11 +1434,11 @@ dissect_q2931_party_subaddr_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Type of subaddress: %s",
val_to_str(octet & 0x70, q2931_subaddress_type_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Odd/even indicator: %s",
val_to_str(octet & 0x10, q2931_odd_even_indicator_vals,
NULL));
@@ -1447,7 +1447,7 @@ dissect_q2931_party_subaddr_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
- proto_tree_add_text(tree, offset, len, "Subaddress: %s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "Subaddress: %s",
bytes_to_str(&pd[offset], len));
}
@@ -1476,11 +1476,11 @@ dissect_q2931_connection_identifier_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"VP-associated signalling: %s",
val_to_str(octet & 0x18, q2931_vp_associated_signalling_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Preferred/exclusive: %s",
val_to_str(octet & 0x07, q2931_preferred_exclusive_vals,
"Unknown (0x%02X)"));
@@ -1489,14 +1489,14 @@ dissect_q2931_connection_identifier_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
- proto_tree_add_text(tree, offset, 2, "VPCI: %u",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "VPCI: %u",
pntohs(&pd[offset]));
offset += 2;
len -= 2;
if (len < 2)
return;
- proto_tree_add_text(tree, offset, 2, "VCI: %u",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "VCI: %u",
pntohs(&pd[offset]));
}
@@ -1516,23 +1516,23 @@ dissect_q2931_e2e_transit_delay_ie(const u_char *pd, int offset, int len,
switch (identifier) {
case 0x01: /* Cumulative transit delay identifier */
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Cumulative transit delay: %u ms", value);
break;
case 0x03: /* Maximum transit delay identifier */
if (value == 0xFFFF) {
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Any end-to-end transit delay value acceptable");
} else {
- proto_tree_add_text(tree, offset, 3,
+ proto_tree_add_text(tree, NullTVB, offset, 3,
"Maximum end-to-end transit delay: %u ms",
value);
}
break;
default: /* Unknown transit delay identifier */
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Unknown transit delay identifier (0x%02X)",
identifier);
return; /* give up */
@@ -1557,7 +1557,7 @@ dissect_q2931_qos_parameter_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"QOS class forward: %s",
val_to_str(octet, q2931_qos_parameter_vals,
"Unknown (0x%02X)"));
@@ -1567,7 +1567,7 @@ dissect_q2931_qos_parameter_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"QOS class backward: %s",
val_to_str(octet, q2931_qos_parameter_vals,
"Unknown (0x%02X)"));
@@ -1590,7 +1590,7 @@ dissect_q2931_bband_rpt_indicator(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Broadband repeat indicator: %s",
val_to_str(octet & 0x0F, q2931_bband_rpt_indicator_vals,
"Unknown (0x%02X)"));
@@ -1615,7 +1615,7 @@ dissect_q2931_restart_indicator(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Restart indicator: %s",
val_to_str(octet & 0x07, q2931_class_vals,
"Unknown (0x%02X)"));
@@ -1635,14 +1635,14 @@ dissect_q2931_bband_sending_compl_ie(const u_char *pd, int offset, int len,
switch (identifier) {
case 0xA1: /* Sending complete indication */
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Broadband sending complete indication");
offset += 1;
len -= 1;
break;
default: /* unknown broadband sending complete element */
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Unknown broadband sending complete element (0x%02X)",
identifier);
return; /* give up */
@@ -1676,11 +1676,11 @@ dissect_q2931_transit_network_sel_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Type of network identification: %s",
val_to_str(octet & 0x70, q2931_netid_type_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Network identification plan: %s",
val_to_str(octet & 0x0F, q2931_netid_plan_vals,
"Unknown (0x%02X)"));
@@ -1689,7 +1689,7 @@ dissect_q2931_transit_network_sel_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Network identification: %.*s", len, &pd[offset]);
}
@@ -1731,14 +1731,14 @@ dissect_q2931_oam_traffic_descriptor_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Shaping indicator: %s",
val_to_str(octet & 0x60, q2931_shaping_indicator_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Use of end-to-end OAM F5 flow is %s",
(octet & 0x10) ? "mandatory" : "optional");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User-Network fault management indicator: %s",
val_to_str(octet & 0x07, q2931_user_net_fault_mgmt_vals,
"Unknown (0x%02X)"));
@@ -1748,11 +1748,11 @@ dissect_q2931_oam_traffic_descriptor_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Forward end-to-end OAM F5 flow indicator: %s",
val_to_str(octet & 0x70, q2931_fwd_e2e_oam_f5_flow_indicator_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Backward end-to-end OAM F5 flow indicator: %s",
val_to_str(octet & 0x07, q2931_bwd_e2e_oam_f5_flow_indicator_vals,
"Unknown (0x%02X)"));
@@ -1776,7 +1776,7 @@ dissect_q2931_endpoint_reference_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Endpoint reference type: %s",
val_to_str(octet, q2931_endpoint_reference_type_vals,
"Unknown (0x%02X)"));
@@ -1786,11 +1786,11 @@ dissect_q2931_endpoint_reference_ie(const u_char *pd, int offset, int len,
if (len < 2)
return;
value = pntohs(&pd[offset]);
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Endpoint reference flag: %s",
(value & 0x8000) ? "Message sent to side that originates the endpoint reference" :
"Message sent from side that originates the endpoint reference");
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Endpoint reference identifier value: %u",
value & 0x7FFF);
}
@@ -1817,7 +1817,7 @@ dissect_q2931_endpoint_state_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Endpoint reference party-state: %s",
val_to_str(octet & 0x3F, q2931_endpoint_reference_party_state_vals,
"Unknown (0x%02X)"));
@@ -1935,34 +1935,34 @@ dissect_q2931_ie(const u_char *pd, int offset, int len, proto_tree *tree,
proto_tree *ie_tree;
proto_tree *ie_ext_tree;
- ti = proto_tree_add_text(tree, offset, 1+1+2+len, "%s",
+ ti = proto_tree_add_text(tree, NullTVB, offset, 1+1+2+len, "%s",
val_to_str(info_element, q2931_info_element_vals,
"Unknown information element (0x%02X)"));
ie_tree = proto_item_add_subtree(ti, ett_q2931_ie);
- proto_tree_add_text(ie_tree, offset, 1, "Information element: %s",
+ proto_tree_add_text(ie_tree, NullTVB, offset, 1, "Information element: %s",
val_to_str(info_element, q2931_info_element_vals,
"Unknown (0x%02X)"));
- ti = proto_tree_add_text(ie_tree, offset + 1, 1,
+ ti = proto_tree_add_text(ie_tree, NullTVB, offset + 1, 1,
"Information element extension: 0x%02x",
info_element_ext);
ie_ext_tree = proto_item_add_subtree(ti, ett_q2931_ie_ext);
- proto_tree_add_text(ie_ext_tree, offset + 1, 1,
+ proto_tree_add_text(ie_ext_tree, NullTVB, offset + 1, 1,
decode_enumerated_bitfield(info_element_ext,
Q2931_IE_COMPAT_CODING_STD, 8,
coding_std_vals, "Coding standard: %s"));
- proto_tree_add_text(ie_ext_tree, offset + 1, 1,
+ proto_tree_add_text(ie_ext_tree, NullTVB, offset + 1, 1,
decode_boolean_bitfield(info_element_ext,
Q2931_IE_COMPAT_FOLLOW_INST, 8,
"Follow explicit error handling instructions",
"Regular error handling procedures apply"));
if (info_element_ext & Q2931_IE_COMPAT_FOLLOW_INST) {
- proto_tree_add_text(ie_ext_tree, offset + 1, 1,
+ proto_tree_add_text(ie_ext_tree, NullTVB, offset + 1, 1,
decode_enumerated_bitfield(info_element_ext,
Q2931_IE_COMPAT_ACTION_IND, 8,
ie_action_ind_vals,
"Action indicator: %s"));
}
- proto_tree_add_text(ie_tree, offset + 2, 2, "Length: %u", len);
+ proto_tree_add_text(ie_tree, NullTVB, offset + 2, 2, "Length: %u", len);
if ((info_element_ext & Q2931_IE_COMPAT_CODING_STD)
== Q2931_ITU_STANDARDIZED_CODING) {
@@ -1973,7 +1973,7 @@ dissect_q2931_ie(const u_char *pd, int offset, int len, proto_tree *tree,
* We don't know how it's encoded, so just
* dump it as data and be done with it.
*/
- proto_tree_add_text(ie_tree, offset + 4, len,
+ proto_tree_add_text(ie_tree, NullTVB, offset + 4, len,
"Data: %s", bytes_to_str(&pd[offset + 4], len));
}
}
@@ -1999,22 +1999,22 @@ dissect_q2931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str(fd, COL_PROTOCOL, "Q.2931");
if (tree) {
- ti = proto_tree_add_item(tree, proto_q2931, offset,
+ ti = proto_tree_add_item(tree, proto_q2931, NullTVB, offset,
END_OF_FRAME, NULL);
q2931_tree = proto_item_add_subtree(ti, ett_q2931);
- proto_tree_add_item(q2931_tree, hf_q2931_discriminator, offset, 1, pd[offset]);
+ proto_tree_add_item(q2931_tree, hf_q2931_discriminator, NullTVB, offset, 1, pd[offset]);
}
offset += 1;
call_ref_len = pd[offset] & 0xF; /* XXX - do as a bit field? */
if (q2931_tree != NULL)
- proto_tree_add_item(q2931_tree, hf_q2931_call_ref_len, offset, 1, call_ref_len);
+ proto_tree_add_item(q2931_tree, hf_q2931_call_ref_len, NullTVB, offset, 1, call_ref_len);
offset += 1;
if (call_ref_len != 0) {
/* XXX - split this into flag and value */
memcpy(call_ref, &pd[offset], call_ref_len);
if (q2931_tree != NULL)
- proto_tree_add_item(q2931_tree, hf_q2931_call_ref, offset, call_ref_len, call_ref);
+ proto_tree_add_item(q2931_tree, hf_q2931_call_ref, NullTVB, offset, call_ref_len, call_ref);
offset += call_ref_len;
}
message_type = pd[offset];
@@ -2024,18 +2024,18 @@ dissect_q2931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
"Unknown message type (0x%02X)"));
}
if (q2931_tree != NULL)
- proto_tree_add_item(q2931_tree, hf_q2931_message_type, offset, 1, message_type);
+ proto_tree_add_item(q2931_tree, hf_q2931_message_type, NullTVB, offset, 1, message_type);
offset += 1;
message_type_ext = pd[offset];
if (q2931_tree != NULL) {
- ti = proto_tree_add_item(q2931_tree, hf_q2931_message_type_ext,
+ ti = proto_tree_add_item(q2931_tree, hf_q2931_message_type_ext, NullTVB,
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,
+ proto_tree_add_item(ext_tree, hf_q2931_message_flag, NullTVB,
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,
+ proto_tree_add_item(ext_tree, hf_q2931_message_action_indicator, NullTVB,
offset, 1, message_type_ext);
}
}
@@ -2043,7 +2043,7 @@ dissect_q2931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
message_len = pntohs(&pd[offset]);
if (q2931_tree != NULL)
- proto_tree_add_item(q2931_tree, hf_q2931_message_len, offset, 2, message_len);
+ proto_tree_add_item(q2931_tree, hf_q2931_message_len, NullTVB, offset, 2, message_len);
offset += 2;
/*
diff --git a/packet-q931.c b/packet-q931.c
index bb568c236f..001f33afb2 100644
--- a/packet-q931.c
+++ b/packet-q931.c
@@ -2,7 +2,7 @@
* Routines for Q.931 frame disassembly
* Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-q931.c,v 1.13 2000/01/13 05:41:21 guy Exp $
+ * $Id: packet-q931.c,v 1.14 2000/05/11 08:15:39 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -314,20 +314,20 @@ dissect_q931_segmented_message_ie(const u_char *pd, int offset, int len,
proto_tree *tree)
{
if (len != 2) {
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Segmented message: length is %d, should be 2\n", len);
return;
}
if (pd[offset] & 0x80) {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"First segment: %u segments remaining",
pd[offset] & 0x7F);
} else {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Not first segment: %u segments remaining",
pd[offset] & 0x7F);
}
- proto_tree_add_text(tree, offset + 1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 1, 1,
"Segmented message type: %u\n", pd[offset + 1]);
}
@@ -522,7 +522,7 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
coding_standard = octet & 0x60;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Coding standard: %s",
val_to_str(coding_standard, q931_bc_coding_standard_vals, NULL));
if (coding_standard != Q931_ITU_STANDARDIZED_CODING) {
@@ -530,11 +530,11 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
* We don't know how the bearer capability is encoded,
* so just dump it as data and be done with it.
*/
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Data: %s", bytes_to_str(&pd[offset], len));
return;
}
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Information transfer capability: %s",
val_to_str(octet & 0x1F, q931_information_transfer_capability_vals,
"Unknown (0x%02X)"));
@@ -548,7 +548,7 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Out-band negotiation %spossible",
(octet & 0x40) ? "" : "not ");
offset += 1;
@@ -558,12 +558,12 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Transfer mode: %s",
val_to_str(octet & 0x60, q931_transfer_mode_vals,
"Unknown (0x%02X)"));
it_rate = octet & 0x1F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Information transfer rate: %s",
val_to_str(it_rate, q931_information_transfer_rate_vals,
"Unknown (0x%02X)"));
@@ -573,7 +573,7 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (it_rate == Q931_IT_RATE_MULTIRATE) {
if (len == 0)
return;
- proto_tree_add_text(tree, offset, 1, "Rate multiplier: %u", pd[offset]);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Rate multiplier: %u", pd[offset]);
offset += 1;
len -= 1;
}
@@ -585,7 +585,7 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
/*
* Layer 1 information.
*/
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User information layer 1 protocol: %s",
val_to_str(octet & 0x1F, q931_uil1_vals,
"Unknown (0x%02X)"));
@@ -597,13 +597,13 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Layer 1 is %s",
(octet & 0x40) ? "Asynchronous" : "Synchronous");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Layer 1 in-band negotiation is %spossible",
(octet & 0x20) ? "" : "not ");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User rate: %s",
val_to_str(octet & 0x1F, q931_l1_user_rate_vals,
"Unknown (0x%02X)"));
@@ -615,20 +615,20 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Intermediate rate: %s",
val_to_str(octet & 0x60, q931_l1_intermediate_rate_vals,
"Unknown (0x%X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s to send data with network independent clock",
(octet & 0x10) ? "Required" : "Not required");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s accept data with network independent clock",
(octet & 0x08) ? "Can" : "Cannot");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s to send data with flow control mechanism",
(octet & 0x04) ? "Required" : "Not required");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s accept data with flow control mechanism",
(octet & 0x02) ? "Can" : "Cannot");
offset += 1;
@@ -639,22 +639,22 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Rate adaption header %sincluded",
(octet & 0x40) ? "" : "not ");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Multiple frame establishment %ssupported",
(octet & 0x20) ? "" : "not ");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s mode of operation",
(octet & 0x10) ? "Protocol sensitive" : "Bit transparent");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
(octet & 0x08) ?
"Full protocol negotiation" : "LLI = 256 only");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Message originator is %s",
(octet & 0x04) ? "Assignor only" : "Default assignee");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Negotiation is done %s",
(octet & 0x02) ? "in-band" : "out-of-band");
offset += 1;
@@ -665,15 +665,15 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Stop bits: %s",
val_to_str(octet & 0x60, q931_l1_stop_bits_vals,
"Unknown (0x%X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Data bits: %s",
val_to_str(octet & 0x18, q931_l1_data_bits_vals,
"Unknown (0x%X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Parity: %s",
val_to_str(octet & 0x08, q931_l1_parity_vals,
"Unknown (0x%X)"));
@@ -683,19 +683,19 @@ dissect_q931_bearer_capability_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s duplex",
(octet & 0x40) ? "Full" : "Half");
modem_type = octet & 0x3F;
if (modem_type <= 0x5 ||
(modem_type >= 0x20 && modem_type <= 0x2F)) {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Modem type: National use 0x%02X", modem_type);
} else if (modem_type >= 0x30) {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Modem type: User specified 0x%02X", modem_type);
} else {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Modem type: %s",
val_to_str(modem_type, q931_l1_modem_type_vals,
NULL));
@@ -714,7 +714,7 @@ l1_done:
* Layer 2 information.
*/
uil2_protocol = octet & 0x1F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User information layer 2 protocol: %s",
val_to_str(uil2_protocol, q931_uil2_vals,
"Unknown (0x%02X)"));
@@ -730,11 +730,11 @@ l1_done:
return;
octet = pd[offset];
if (uil2_protocol == Q931_UIL2_USER_SPEC) {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User-specified layer 2 protocol information: 0x%02X",
octet & 0x7F);
} else {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Mode: %s",
val_to_str(octet & 0x60, q931_mode_vals,
"Unknown (0x%02X)"));
@@ -747,7 +747,7 @@ l1_done:
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Window size: %u k", octet & 0x7F);
offset += 1;
len -= 1;
@@ -763,7 +763,7 @@ l2_done:
* Layer 3 information.
*/
uil3_protocol = octet & 0x1F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"User information layer 3 protocol: %s",
val_to_str(uil3_protocol, q931_uil3_vals,
"Unknown (0x%02X)"));
@@ -784,7 +784,7 @@ l2_done:
case Q931_UIL3_X25_PL:
case Q931_UIL3_ISO_8208:
case Q931_UIL3_X223:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Mode: %s",
val_to_str(octet & 0x60, q931_mode_vals,
"Unknown (0x%02X)"));
@@ -796,7 +796,7 @@ l2_done:
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Default packet size: %u", octet & 0x0F);
offset += 1;
len -= 1;
@@ -806,14 +806,14 @@ l2_done:
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Packet window size: %u", octet & 0x7F);
offset += 1;
len -= 1;
break;
case Q931_UIL3_USER_SPEC:
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Default packet size: %u octets",
1 << (octet & 0x0F));
offset += 1;
@@ -828,7 +828,7 @@ l2_done:
return;
octet = pd[offset + 1];
add_l3_info |= (octet & 0x0F);
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Additional layer 3 protocol information: %s",
val_to_str(add_l3_info, nlpid_vals,
"Unknown (0x%02X)"));
@@ -976,7 +976,7 @@ dissect_q931_cause_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
coding_standard = octet & 0x60;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Coding standard: %s",
val_to_str(coding_standard, q931_cause_coding_standard_vals, NULL));
if (coding_standard != Q931_ITU_STANDARDIZED_CODING) {
@@ -984,11 +984,11 @@ dissect_q931_cause_ie(const u_char *pd, int offset, int len,
* We don't know how the cause is encoded,
* so just dump it as data and be done with it.
*/
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Data: %s", bytes_to_str(&pd[offset], len));
return;
}
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Location: %s",
val_to_str(octet & 0x0F, q931_cause_location_vals,
"Unknown (0x%X)"));
@@ -999,7 +999,7 @@ dissect_q931_cause_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Recommendation: %s",
val_to_str(octet & 0x7F, q931_cause_recommendation_vals,
"Unknown (0x%X)"));
@@ -1010,7 +1010,7 @@ dissect_q931_cause_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Cause value: %s",
val_to_str(octet & 0x7F, q931_cause_code_vals,
"Unknown (0x%X)"));
@@ -1019,7 +1019,7 @@ dissect_q931_cause_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Diagnostics: %s",
bytes_to_str(&pd[offset], len));
}
@@ -1068,7 +1068,7 @@ dissect_q931_call_state_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
coding_standard = octet & 0x60;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Coding standard: %s",
val_to_str(coding_standard, q931_coding_standard_vals, NULL));
if (coding_standard != Q931_ITU_STANDARDIZED_CODING) {
@@ -1076,11 +1076,11 @@ dissect_q931_call_state_ie(const u_char *pd, int offset, int len,
* We don't know how the call state is encoded,
* so just dump it as data and be done with it.
*/
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Data: %s", bytes_to_str(&pd[offset], len));
return;
}
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Call state: %s",
val_to_str(octet & 0x3F, q931_call_state_vals,
"Unknown (0x%02X)"));
@@ -1129,25 +1129,25 @@ dissect_q931_channel_identification_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Interface %s identified",
(octet & Q931_INTERFACE_IDENTIFIED) ? "explicitly" : "implicitly");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s interface",
(octet & Q931_NOT_BASIC_CHANNEL) ? "Not basic" : "Basic");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Indicated channel is %s",
(octet & 0x08) ? "required" : "preferred");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Indicated channel is %sthe D-channel",
(octet & 0x04) ? "" : "not ");
if (octet & Q931_NOT_BASIC_CHANNEL) {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Channel selection: %s",
val_to_str(octet & 0x03, q931_not_basic_channel_selection_vals,
NULL));
} else {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Channel selection: %s",
val_to_str(octet & 0x03, q931_basic_channel_selection_vals,
NULL));
@@ -1172,7 +1172,7 @@ dissect_q931_channel_identification_ie(const u_char *pd, int offset, int len,
* last octet of the interface identifier?
*/
if (identifier_len != 0) {
- proto_tree_add_text(tree, identifier_offset,
+ proto_tree_add_text(tree, NullTVB, identifier_offset,
identifier_len, "Interface identifier: %s",
bytes_to_str(&pd[identifier_offset],
identifier_len));
@@ -1184,7 +1184,7 @@ dissect_q931_channel_identification_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
coding_standard = octet & 0x60;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Coding standard: %s",
val_to_str(coding_standard, q931_coding_standard_vals,
NULL));
@@ -1194,14 +1194,14 @@ dissect_q931_channel_identification_ie(const u_char *pd, int offset, int len,
* encoded, so just dump it as data and be done
* with it.
*/
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Data: %s", bytes_to_str(&pd[offset], len));
return;
}
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Channel is indicated by %s",
(octet & Q931_IS_SLOT_MAP) ? "slot map" : "number");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s type: %s",
(octet & Q931_IS_SLOT_MAP) ? "Map element" : "Channel",
val_to_str(octet & 0x0F, q931_element_type_vals,
@@ -1237,7 +1237,7 @@ dissect_q931_progress_indicator_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
coding_standard = octet & 0x60;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Coding standard: %s",
val_to_str(coding_standard, q931_cause_coding_standard_vals, NULL));
if (coding_standard != Q931_ITU_STANDARDIZED_CODING) {
@@ -1245,11 +1245,11 @@ dissect_q931_progress_indicator_ie(const u_char *pd, int offset, int len,
* We don't know how the progress indicator is encoded,
* so just dump it as data and be done with it.
*/
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Data: %s", bytes_to_str(&pd[offset], len));
return;
}
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Location: %s",
val_to_str(octet & 0x0F, q931_cause_location_vals,
"Unknown (0x%X)"));
@@ -1259,7 +1259,7 @@ dissect_q931_progress_indicator_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Progress description: %s",
val_to_str(octet & 0x7F, q931_progress_description_vals,
"Unknown (0x%02X)"));
@@ -1294,7 +1294,7 @@ dissect_q931_ns_facilities_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
netid_len = octet & 0x7F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Network identification length: %u",
netid_len);
offset += 1;
@@ -1303,11 +1303,11 @@ dissect_q931_ns_facilities_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Type of network identification: %s",
val_to_str(octet & 0x70, q931_netid_type_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Network identification plan: %s",
val_to_str(octet & 0x0F, q931_netid_plan_vals,
"Unknown (0x%02X)"));
@@ -1320,7 +1320,7 @@ dissect_q931_ns_facilities_ie(const u_char *pd, int offset, int len,
if (netid_len > len)
netid_len = len;
if (netid_len != 0) {
- proto_tree_add_text(tree, offset, netid_len,
+ proto_tree_add_text(tree, NullTVB, offset, netid_len,
"Network identification: %.*s",
netid_len, &pd[offset]);
offset += netid_len;
@@ -1334,7 +1334,7 @@ dissect_q931_ns_facilities_ie(const u_char *pd, int offset, int len,
*/
if (len == 0)
return;
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Network-specific facility specification: %s",
bytes_to_str(&pd[offset], len));
}
@@ -1358,7 +1358,7 @@ dissect_q931_notification_indicator_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Notification description: %s",
val_to_str(octet & 0x7F, q931_notification_description_vals,
"Unknown (0x%02X)"));
@@ -1372,7 +1372,7 @@ dissect_q931_date_time_ie(const u_char *pd, int offset, int len,
proto_tree *tree)
{
if (len != 6) {
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Date/time: length is %d, should be 6\n", len);
return;
}
@@ -1380,7 +1380,7 @@ dissect_q931_date_time_ie(const u_char *pd, int offset, int len,
* XXX - what is "year" relative to? Is "month" 0-origin or
* 1-origin? Q.931 doesn't say....
*/
- proto_tree_add_text(tree, offset, 6,
+ proto_tree_add_text(tree, NullTVB, offset, 6,
"Date/time: %02u-%02u-%02u %02u:%02u:%02u",
pd[offset + 0], pd[offset + 1], pd[offset + 2],
pd[offset + 3], pd[offset + 4], pd[offset + 5]);
@@ -1418,11 +1418,11 @@ dissect_q931_signal_ie(const u_char *pd, int offset, int len,
proto_tree *tree)
{
if (len != 1) {
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Signal: length is %d, should be 1\n", len);
return;
}
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Signal: %s",
val_to_str(pd[offset], q931_signal_vals, "Unknown (0x%02X)"));
}
@@ -1450,23 +1450,23 @@ dissect_q931_information_rate_ie(const u_char *pd, int offset, int len,
proto_tree *tree)
{
if (len != 4) {
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Information rate: length is %d, should be 4\n", len);
return;
}
- proto_tree_add_text(tree, offset + 0, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 0, 1,
"Incoming information rate: %s",
val_to_str(pd[offset + 0] & 0x1F, q931_throughput_class_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset + 1, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 1, 1,
"Outgoing information rate: %s",
val_to_str(pd[offset + 1] & 0x1F, q931_throughput_class_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset + 2, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 2, 1,
"Minimum incoming information rate: %s",
val_to_str(pd[offset + 2] & 0x1F, q931_throughput_class_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset + 3, 1,
+ proto_tree_add_text(tree, NullTVB, offset + 3, 1,
"Minimum outgoing information rate: %s",
val_to_str(pd[offset + 3] & 0x1F, q931_throughput_class_vals,
"Unknown (0x%02X)"));
@@ -1530,17 +1530,17 @@ dissect_q931_guint16_value(const u_char *pd, int offset, int len,
len -= 1;
value_len++;
- proto_tree_add_text(tree, offset, value_len, "%s: %u ms", label,
+ proto_tree_add_text(tree, NullTVB, offset, value_len, "%s: %u ms", label,
value);
return value_len;
past_end:
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"%s goes past end of information element", label);
return -1;
bad_length:
- proto_tree_add_text(tree, offset, len, "%s isn't 3 octets long",
+ proto_tree_add_text(tree, NullTVB, offset, len, "%s isn't 3 octets long",
label);
return -1;
}
@@ -1611,18 +1611,18 @@ dissect_q931_pl_binary_parameters_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Fast select: %s",
val_to_str(octet & 0x18, q931_fast_selected_vals,
NULL));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s",
(octet & 0x04) ? "No request/request denied" :
"Request indicated/request accepted");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"%s confirmation",
(octet & 0x02) ? "Link-by-link" : "End-to-end");
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Modulus %u sequencing",
(octet & 0x01) ? 8 : 128);
}
@@ -1636,14 +1636,14 @@ dissect_q931_pl_window_size_ie(const u_char *pd, int offset, int len,
{
if (len == 0)
return;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Forward value: %u", pd[offset] & 0x7F);
offset += 1;
len -= 1;
if (len == 0)
return;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Backward value: %u", pd[offset] & 0x7F);
}
@@ -1656,14 +1656,14 @@ dissect_q931_packet_size_ie(const u_char *pd, int offset, int len,
{
if (len == 0)
return;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Forward value: %u", pd[offset] & 0x7F);
offset += 1;
len -= 1;
if (len == 0)
return;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Backward value: %u", pd[offset] & 0x7F);
}
@@ -1681,7 +1681,7 @@ dissect_q931_cug_ie(const u_char *pd, int offset, int len, proto_tree *tree)
{
if (len == 0)
return;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"CUG indication: %s",
val_to_str(pd[offset] & 0x07, q931_cug_indication_vals,
"Unknown (0x%02X)"));
@@ -1690,7 +1690,7 @@ dissect_q931_cug_ie(const u_char *pd, int offset, int len, proto_tree *tree)
if (len == 0)
return;
- proto_tree_add_text(tree, offset, len, "CUG index code: %.*s", len,
+ proto_tree_add_text(tree, NullTVB, offset, len, "CUG index code: %.*s", len,
&pd[offset]);
}
@@ -1708,7 +1708,7 @@ dissect_q931_reverse_charge_ind_ie(const u_char *pd, int offset, int len,
{
if (len == 0)
return;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Reverse charging indication: %s",
val_to_str(pd[offset] & 0x07, q931_reverse_charging_indication_vals,
"Unknown (0x%02X)"));
@@ -1772,11 +1772,11 @@ dissect_q931_number_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Type of number: %s",
val_to_str(octet & 0x70, q931_number_type_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Numbering plan: %s",
val_to_str(octet & 0x0F, q931_numbering_plan_vals,
"Unknown (0x%02X)"));
@@ -1787,11 +1787,11 @@ dissect_q931_number_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Presentation indicator: %s",
val_to_str(octet & 0x60, q931_presentation_indicator_vals,
"Unknown (0x%X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Screening indicator: %s",
val_to_str(octet & 0x03, q931_screening_indicator_vals,
"Unknown (0x%X)"));
@@ -1806,7 +1806,7 @@ dissect_q931_number_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Reason for redirection: %s",
val_to_str(octet & 0x0F, q931_redirection_reason_vals,
"Unknown (0x%X)"));
@@ -1816,7 +1816,7 @@ dissect_q931_number_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
- proto_tree_add_text(tree, offset, len, "Number: %.*s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "Number: %.*s",
len, &pd[offset]);
}
@@ -1844,11 +1844,11 @@ dissect_q931_party_subaddr_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Type of subaddress: %s",
val_to_str(octet & 0x70, q931_subaddress_type_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Odd/even indicator: %s",
val_to_str(octet & 0x10, q931_odd_even_indicator_vals,
NULL));
@@ -1857,7 +1857,7 @@ dissect_q931_party_subaddr_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
- proto_tree_add_text(tree, offset, len, "Subaddress: %s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "Subaddress: %s",
bytes_to_str(&pd[offset], len));
}
@@ -1876,11 +1876,11 @@ dissect_q931_restart_indicator_ie(const u_char *pd, int offset, int len,
proto_tree *tree)
{
if (len != 1) {
- proto_tree_add_text(tree, offset, len,
+ proto_tree_add_text(tree, NullTVB, offset, len,
"Restart indicator: length is %d, should be 1\n", len);
return;
}
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Restart indicator: %s",
val_to_str(pd[offset] & 0x07, q931_restart_indicator_class_vals,
"Unknown (0x%02X)"));
@@ -1930,7 +1930,7 @@ dissect_q931_high_layer_compat_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
coding_standard = octet & 0x60;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Coding standard: %s",
val_to_str(coding_standard, q931_coding_standard_vals, NULL));
if (coding_standard != Q931_ITU_STANDARDIZED_CODING) {
@@ -1938,7 +1938,7 @@ dissect_q931_high_layer_compat_ie(const u_char *pd, int offset, int len,
* We don't know how the call state is encoded,
* so just dump it as data and be done with it.
*/
- proto_tree_add_text(tree, offset,
+ proto_tree_add_text(tree, NullTVB, offset,
len, "Data: %s", bytes_to_str(&pd[offset], len));
return;
}
@@ -1947,7 +1947,7 @@ dissect_q931_high_layer_compat_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
characteristics = octet & 0x7F;
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"High layer characteristics identification: %s",
val_to_str(characteristics, q931_high_layer_characteristics_vals,
NULL));
@@ -1959,12 +1959,12 @@ dissect_q931_high_layer_compat_ie(const u_char *pd, int offset, int len,
return;
octet = pd[offset];
if (characteristics == Q931_AUDIOVISUAL) {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Extended audiovisual characteristics identification: %s",
val_to_str(octet & 0x7F, q931_audiovisual_characteristics_vals,
NULL));
} else {
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Extended high layer characteristics identification: %s",
val_to_str(octet & 0x7F, q931_high_layer_characteristics_vals,
NULL));
@@ -1998,7 +1998,7 @@ dissect_q931_user_user_ie(const u_char *pd, int offset, int len,
if (len == 0)
return;
octet = pd[offset];
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
"Protocol discriminator: %s",
val_to_str(octet, q931_protocol_discriminator_vals,
"Unknown (0x%02x)"));
@@ -2010,12 +2010,12 @@ dissect_q931_user_user_ie(const u_char *pd, int offset, int len,
switch (octet) {
case Q931_PROTOCOL_DISCRIMINATOR_IA5:
- proto_tree_add_text(tree, offset, len, "User information: %.*s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "User information: %.*s",
len, &pd[offset]);
break;
default:
- proto_tree_add_text(tree, offset, len, "User information: %s",
+ proto_tree_add_text(tree, NullTVB, offset, len, "User information: %s",
bytes_to_str(&pd[offset], len));
break;
}
@@ -2029,7 +2029,7 @@ dissect_q931_ia5_ie(const u_char *pd, int offset, int len, proto_tree *tree,
char *label)
{
if (len != 0) {
- proto_tree_add_text(tree, offset, len, "%s: %.*s", label, len,
+ proto_tree_add_text(tree, NullTVB, offset, len, "%s: %.*s", label, len,
&pd[offset]);
}
}
@@ -2061,22 +2061,22 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str(fd, COL_PROTOCOL, "Q.931");
if (tree) {
- ti = proto_tree_add_item(tree, proto_q931, offset,
+ ti = proto_tree_add_item(tree, proto_q931, NullTVB, offset,
END_OF_FRAME, NULL);
q931_tree = proto_item_add_subtree(ti, ett_q931);
- proto_tree_add_item(q931_tree, hf_q931_discriminator, offset, 1, pd[offset]);
+ proto_tree_add_item(q931_tree, hf_q931_discriminator, NullTVB, offset, 1, pd[offset]);
}
offset += 1;
call_ref_len = pd[offset] & 0xF; /* XXX - do as a bit field? */
if (q931_tree != NULL)
- proto_tree_add_item(q931_tree, hf_q931_call_ref_len, offset, 1, call_ref_len);
+ proto_tree_add_item(q931_tree, hf_q931_call_ref_len, NullTVB, offset, 1, call_ref_len);
offset += 1;
if (call_ref_len != 0) {
/* XXX - split this into flag and value */
memcpy(call_ref, &pd[offset], call_ref_len);
if (q931_tree != NULL)
- proto_tree_add_item(q931_tree, hf_q931_call_ref, offset, call_ref_len, call_ref);
+ proto_tree_add_item(q931_tree, hf_q931_call_ref, NullTVB, offset, call_ref_len, call_ref);
offset += call_ref_len;
}
message_type = pd[offset];
@@ -2086,7 +2086,7 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
"Unknown message type (0x%02X)"));
}
if (q931_tree != NULL)
- proto_tree_add_item(q931_tree, hf_q931_message_type, offset, 1, message_type);
+ proto_tree_add_item(q931_tree, hf_q931_message_type, NullTVB, offset, 1, message_type);
offset += 1;
/*
@@ -2107,7 +2107,7 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
!(info_element & Q931_IE_SHIFT_LOCKING);
codeset = info_element & Q931_IE_SHIFT_CODESET;
if (q931_tree != NULL) {
- proto_tree_add_text(q931_tree, offset, 1,
+ proto_tree_add_text(q931_tree, NullTVB, offset, 1,
"%s shift to codeset %u: %s",
(non_locking_shift ? "Non-locking" : "Locking"),
codeset,
@@ -2122,21 +2122,21 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case Q931_IE_MORE_DATA:
if (q931_tree != NULL) {
- proto_tree_add_text(q931_tree, offset, 1,
+ proto_tree_add_text(q931_tree, NullTVB, offset, 1,
"More data");
}
break;
case Q931_IE_SENDING_COMPLETE:
if (q931_tree != NULL) {
- proto_tree_add_text(q931_tree, offset, 1,
+ proto_tree_add_text(q931_tree, NullTVB, offset, 1,
"Sending complete");
}
break;
default:
if (q931_tree != NULL) {
- proto_tree_add_text(q931_tree, offset, 1,
+ proto_tree_add_text(q931_tree, NullTVB, offset, 1,
"Unknown information element (0x%02X",
info_element);
}
@@ -2149,7 +2149,7 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case Q931_IE_CONGESTION_LEVEL:
if (q931_tree != NULL) {
- proto_tree_add_text(q931_tree, offset, 1,
+ proto_tree_add_text(q931_tree, NullTVB, offset, 1,
"Congestion level: %s",
val_to_str(info_element & Q931_IE_SO_IE_MASK,
q931_congestion_level_vals,
@@ -2162,7 +2162,7 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case Q931_IE_REPEAT_INDICATOR:
if (q931_tree != NULL) {
- proto_tree_add_text(q931_tree, offset, 1,
+ proto_tree_add_text(q931_tree, NullTVB, offset, 1,
"Repeat indicator: %s",
val_to_str(info_element & Q931_IE_SO_IE_MASK,
q931_repeat_indication_vals,
@@ -2186,16 +2186,16 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (!BYTES_ARE_IN_FRAME(offset + 2, info_element_len))
break; /* ran past end of frame */
if (q931_tree != NULL) {
- ti = proto_tree_add_text(q931_tree, offset,
+ ti = proto_tree_add_text(q931_tree, NullTVB, offset,
1+1+info_element_len, "%s",
val_to_str(info_element, q931_info_element_vals,
"Unknown information element (0x%02X)"));
ie_tree = proto_item_add_subtree(ti, ett_q931_ie);
- proto_tree_add_text(ie_tree, offset, 1,
+ proto_tree_add_text(ie_tree, NullTVB, offset, 1,
"Information element: %s",
val_to_str(info_element, q931_info_element_vals,
"Unknown (0x%02X)"));
- proto_tree_add_text(ie_tree, offset + 1, 1,
+ proto_tree_add_text(ie_tree, NullTVB, offset + 1, 1,
"Length: %u", info_element_len);
switch (info_element) {
@@ -2333,7 +2333,7 @@ dissect_q931(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
default:
- proto_tree_add_text(ie_tree, offset + 2,
+ proto_tree_add_text(ie_tree, NullTVB, offset + 2,
info_element_len, "Data: %s",
bytes_to_str(&pd[offset + 2],
info_element_len));
diff --git a/packet-radius.c b/packet-radius.c
index ef5b0a7bea..6a497f4fc9 100644
--- a/packet-radius.c
+++ b/packet-radius.c
@@ -1,7 +1,7 @@
/* packet-radius.c
* Routines for RADIUS packet disassembly
*
- * $Id: packet-radius.c,v 1.11 2000/04/08 07:07:34 guy Exp $
+ * $Id: packet-radius.c,v 1.12 2000/05/11 08:15:40 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Johan Feyaerts
@@ -641,7 +641,7 @@ void dissect_attribute_value_pairs(const u_char *pd, int offset, frame_data
gchar *valstr;
if (avplength==0)
{
- proto_tree_add_text(tree,offset,0,"No Attribute Value Pairs Found");
+ proto_tree_add_text(tree, NullTVB,offset,0,"No Attribute Value Pairs Found");
return;
}
@@ -656,7 +656,7 @@ void dissect_attribute_value_pairs(const u_char *pd, int offset, frame_data
if (!BYTES_ARE_IN_FRAME(offset, avph.avp_length)) {
break;
}
- proto_tree_add_text(tree,offset,avph.avp_length,
+ proto_tree_add_text(tree, NullTVB,offset,avph.avp_length,
"t:%s(%d) l:%d, %s",
avptpstrval,avph.avp_type,avph.avp_length,valstr);
offset=offset+avph.avp_length;
@@ -703,22 +703,22 @@ proto_tree
if (tree)
{
- ti = proto_tree_add_item(tree,proto_radius, offset, rhlength,
+ ti = proto_tree_add_item(tree,proto_radius, NullTVB, offset, rhlength,
NULL);
radius_tree = proto_item_add_subtree(ti, ett_radius);
- proto_tree_add_uint_format(radius_tree,hf_radius_code, offset, 1,
+ proto_tree_add_uint_format(radius_tree,hf_radius_code, NullTVB, offset, 1,
rh.rh_code, "Packet code:0x%01x (%s)",rhcode, codestrval);
- proto_tree_add_uint_format(radius_tree,hf_radius_id, offset+1, 1,
+ proto_tree_add_uint_format(radius_tree,hf_radius_id, NullTVB, offset+1, 1,
rh.rh_ident, "Packet identifier: 0x%01x (%d)",
rhident,rhident);
- proto_tree_add_uint_format(radius_tree, hf_radius_length,
+ proto_tree_add_uint_format(radius_tree, hf_radius_length, NullTVB,
offset+2, 2,
(guint16)rhlength,
"Packet length: 0x%02x(%d)",rhlength,rhlength);
- proto_tree_add_text(radius_tree, offset+4,
+ proto_tree_add_text(radius_tree, NullTVB, offset+4,
AUTHENTICATOR_LENGTH,
"Authenticator");
@@ -730,8 +730,8 @@ proto_tree
/* list the attribute value pairs */
- avptf = proto_tree_add_text(radius_tree
- ,offset+hdrlength,avplength,
+ avptf = proto_tree_add_text(radius_tree,
+ NullTVB,offset+hdrlength,avplength,
"Attribute value pairs");
avptree = proto_item_add_subtree(avptf, ett_radius_avp);
diff --git a/packet-raw.c b/packet-raw.c
index 398748992f..b9a4005674 100644
--- a/packet-raw.c
+++ b/packet-raw.c
@@ -1,7 +1,7 @@
/* packet-raw.c
* Routines for raw packet disassembly
*
- * $Id: packet-raw.c,v 1.13 2000/02/15 21:02:57 gram Exp $
+ * $Id: packet-raw.c,v 1.14 2000/05/11 08:15:40 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -74,9 +74,9 @@ dissect_raw( const u_char *pd, frame_data *fd, proto_tree *tree ) {
/* populate a tree in the second pane with the status of the link
layer (ie none) */
if(tree) {
- ti = proto_tree_add_text(tree, 0, 0, "Raw packet data" );
+ ti = proto_tree_add_text(tree, NullTVB, 0, 0, "Raw packet data" );
fh_tree = proto_item_add_subtree(ti, ett_raw);
- proto_tree_add_text(fh_tree, 0, 0, "No link information available");
+ proto_tree_add_text(fh_tree, NullTVB, 0, 0, "No link information available");
}
/* So far, the only time we get raw connection types are with Linux and
diff --git a/packet-rip.c b/packet-rip.c
index e03546c1ff..a6970b78bb 100644
--- a/packet-rip.c
+++ b/packet-rip.c
@@ -2,7 +2,7 @@
* Routines for RIPv1 and RIPv2 packet disassembly
* (c) Copyright Hannes R. Boehm <hannes@boehm.org>
*
- * $Id: packet-rip.c,v 1.14 2000/04/14 06:17:23 guy Exp $
+ * $Id: packet-rip.c,v 1.15 2000/05/11 08:15:40 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -97,13 +97,13 @@ dissect_rip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
col_add_str(fd, COL_INFO, packet_type[rip_header.command]);
if (tree) {
- ti = proto_tree_add_item(tree, proto_rip, offset, END_OF_FRAME, NULL);
+ 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, offset, 1, "Command: %d (%s)", rip_header.command, packet_type[rip_header.command]);
- proto_tree_add_text(rip_tree, offset + 1, 1, "Version: %d", rip_header.version);
+ proto_tree_add_text(rip_tree, NullTVB, offset, 1, "Command: %d (%s)", rip_header.command, packet_type[rip_header.command]);
+ proto_tree_add_text(rip_tree, NullTVB, offset + 1, 1, "Version: %d", rip_header.version);
if(rip_header.version == RIPv2)
- proto_tree_add_text(rip_tree, offset + 2 , 2, "Routing Domain: %d", ntohs(rip_header.domain));
+ proto_tree_add_text(rip_tree, NullTVB, offset + 2 , 2, "Routing Domain: %d", ntohs(rip_header.domain));
/* skip header */
offset += RIP_HEADER_LENGTH;
@@ -115,7 +115,7 @@ dissect_rip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
family = ntohs(rip_entry.vektor.family);
switch (family) {
case 2: /* IP */
- ti = proto_tree_add_text(rip_tree, offset,
+ ti = proto_tree_add_text(rip_tree, NullTVB, offset,
RIP_ENTRY_LENGTH, "IP Address: %s, Metric: %ld",
ip_to_str((guint8 *) &(rip_entry.vektor.ip)),
(long)ntohl(rip_entry.vektor.metric));
@@ -123,13 +123,13 @@ dissect_rip(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
offset, ti);
break;
case 0xFFFF:
- proto_tree_add_text(rip_tree, offset,
+ proto_tree_add_text(rip_tree, NullTVB, offset,
RIP_ENTRY_LENGTH, "Authentication");
dissect_rip_authentication(&rip_entry.authentication,
offset, ti);
break;
default:
- proto_tree_add_text(rip_tree, offset,
+ proto_tree_add_text(rip_tree, NullTVB, offset,
RIP_ENTRY_LENGTH, "Unknown address family %u",
family);
break;
@@ -148,19 +148,19 @@ dissect_ip_rip_vektor(guint8 version, const e_rip_vektor *rip_vektor,
rip_vektor_tree = proto_item_add_subtree(tree, ett_rip_vec);
- proto_tree_add_text(rip_vektor_tree, offset, 2, "Address Family ID: IP");
+ proto_tree_add_text(rip_vektor_tree, NullTVB, offset, 2, "Address Family ID: IP");
if(version == RIPv2)
- proto_tree_add_text(rip_vektor_tree, offset + 2 , 2, "Route Tag: %d",
+ proto_tree_add_text(rip_vektor_tree, NullTVB, offset + 2 , 2, "Route Tag: %d",
ntohs(rip_vektor->tag));
- proto_tree_add_text(rip_vektor_tree, offset + 4, 4, "IP Address: %s",
+ proto_tree_add_text(rip_vektor_tree, NullTVB, offset + 4, 4, "IP Address: %s",
ip_to_str((guint8 *) &(rip_vektor->ip)));
if(version == RIPv2) {
- proto_tree_add_text(rip_vektor_tree, offset + 8 , 4, "Netmask: %s",
+ proto_tree_add_text(rip_vektor_tree, NullTVB, offset + 8 , 4, "Netmask: %s",
ip_to_str((guint8 *) &(rip_vektor->mask)));
- proto_tree_add_text(rip_vektor_tree, offset + 12, 4, "Next Hop: %s",
+ proto_tree_add_text(rip_vektor_tree, NullTVB, offset + 12, 4, "Next Hop: %s",
ip_to_str((guint8 *) &(rip_vektor->next_hop)));
}
- proto_tree_add_text(rip_vektor_tree, offset + 16, 4, "Metric: %ld",
+ proto_tree_add_text(rip_vektor_tree, NullTVB, offset + 16, 4, "Metric: %ld",
(long)ntohl(rip_vektor->metric));
}
@@ -174,10 +174,10 @@ dissect_rip_authentication(const e_rip_authentication *rip_authentication,
rip_authentication_tree = proto_item_add_subtree(tree, ett_rip_vec);
authtype = ntohs(rip_authentication->authtype);
- proto_tree_add_text(rip_authentication_tree, offset + 2, 2,
+ proto_tree_add_text(rip_authentication_tree, NullTVB, offset + 2, 2,
"Authentication type: %u", authtype);
if (authtype == 2)
- proto_tree_add_text(rip_authentication_tree, offset + 4 , 16,
+ proto_tree_add_text(rip_authentication_tree, NullTVB, offset + 4 , 16,
"Password: %.16s",
rip_authentication->authentication);
}
diff --git a/packet-ripng.c b/packet-ripng.c
index 8ea96c4c14..5c3b37f21c 100644
--- a/packet-ripng.c
+++ b/packet-ripng.c
@@ -3,7 +3,7 @@
* (c) Copyright Jun-ichiro itojun Hagino <itojun@itojun.org>
* derived from packet-rip.c
*
- * $Id: packet-ripng.c,v 1.9 2000/04/08 07:07:35 guy Exp $
+ * $Id: packet-ripng.c,v 1.10 2000/05/11 08:15:41 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -78,46 +78,46 @@ dissect_ripng(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
col_add_fstr(fd, COL_INFO, "%s", cmd);
if (tree) {
- ti = proto_tree_add_item(tree, proto_ripng, offset, END_OF_FRAME, NULL);
+ 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, offset, 1,
+ 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, offset + 1, 1,
+ proto_tree_add_item(ripng_tree, hf_ripng_version, NullTVB, offset + 1, 1,
rip6.rip6_vers);
offset += 4;
while ((pi.captured_len - offset) >= sizeof(struct netinfo6)){
memcpy(&ni6, &pd[offset], sizeof(ni6));
if (ni6.rip6_tag) {
- ti = proto_tree_add_text(ripng_tree, offset,
+ ti = proto_tree_add_text(ripng_tree, NullTVB, offset,
sizeof(ni6), "IP Address: %s/%u, Metric: %u, tag: 0x%04x",
ip6_to_str(&ni6.rip6_dest),
ni6.rip6_plen,
ni6.rip6_metric,
ntohs(ni6.rip6_tag));
} else {
- ti = proto_tree_add_text(ripng_tree, offset,
+ ti = proto_tree_add_text(ripng_tree, NullTVB, offset,
sizeof(ni6), "IP Address: %s/%u, Metric: %u",
ip6_to_str(&ni6.rip6_dest),
ni6.rip6_plen,
ni6.rip6_metric);
}
subtree = proto_item_add_subtree(ti, ett_ripng_addr);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + offsetof(struct netinfo6, rip6_dest),
sizeof(ni6.rip6_dest), "IP Address: %s",
ip6_to_str(&ni6.rip6_dest));
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + offsetof(struct netinfo6, rip6_tag),
sizeof(ni6.rip6_tag), "Tag: 0x%04x",
ntohs(ni6.rip6_tag));
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + offsetof(struct netinfo6, rip6_plen),
sizeof(ni6.rip6_plen), "Prefix length: %u",
ni6.rip6_plen);
- proto_tree_add_text(subtree,
+ proto_tree_add_text(subtree, NullTVB,
offset + offsetof(struct netinfo6, rip6_metric),
sizeof(ni6.rip6_metric), "Metric: %u",
ni6.rip6_metric);
diff --git a/packet-rlogin.c b/packet-rlogin.c
index d07393c441..9b564d0b3d 100644
--- a/packet-rlogin.c
+++ b/packet-rlogin.c
@@ -2,7 +2,7 @@
* Routines for unix rlogin packet dissection
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com>
*
- * $Id: packet-rlogin.c,v 1.1 2000/04/08 03:32:09 guy Exp $
+ * $Id: packet-rlogin.c,v 1.2 2000/05/11 08:15:41 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -66,7 +66,7 @@
#endif
#define CHECK_PACKET_LENGTH(X) if ((offset+X) > fd->cap_len){ \
- proto_tree_add_text(tree, offset, 0, "*** FRAME TOO SHORT ***"); \
+ proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***"); \
return; }
@@ -210,7 +210,7 @@ static void rlogin_display( rlogin_hash_entry_t *hash_info, const u_char *pd,
const char *str;
proto_item *user_info_item, *window_info_item;
- ti = proto_tree_add_item( tree, proto_rlogin, offset,
+ ti = proto_tree_add_item( tree, proto_rlogin, NullTVB, offset,
END_OF_FRAME, NULL, "Rlogin:" );
rlogin_tree = proto_item_add_subtree(ti, ett_rlogin);
@@ -225,10 +225,10 @@ static void rlogin_display( rlogin_hash_entry_t *hash_info, const u_char *pd,
guint16 Temp = GBYTE( pd, i);
if ( i < offset) /* check for data in front */
- proto_tree_add_text( rlogin_tree, offset, i - offset,
+ proto_tree_add_text( rlogin_tree, NullTVB, offset, i - offset,
"Data");
- proto_tree_add_text( rlogin_tree, i, 1, "Control byte: %u (%s)",
+ proto_tree_add_text( rlogin_tree, NullTVB, i, 1, "Control byte: %u (%s)",
Temp,
(Temp == 2) ? "Clear buffer" :
(Temp == 0x10) ? "Raw mode" :
@@ -240,18 +240,18 @@ static void rlogin_display( rlogin_hash_entry_t *hash_info, const u_char *pd,
else if ( !GBYTE( pd, offset)){ /* startup */
if ( pi.srcport== RLOGIN_PORT) /* from server */
- proto_tree_add_text(rlogin_tree, offset, 1,
+ proto_tree_add_text(rlogin_tree, NullTVB, offset, 1,
"Startup info received flag (0x00)");
else
- proto_tree_add_text(rlogin_tree, offset, 1,
+ proto_tree_add_text(rlogin_tree, NullTVB, offset, 1,
"Client Startup Flag (0x00)");
++offset;
}
if ( compare_packet_ptr( hash_info->info_row)){ /* user info ?*/
- user_info_item = proto_tree_add_item( rlogin_tree, hf_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 */
@@ -261,20 +261,20 @@ static void rlogin_display( rlogin_hash_entry_t *hash_info, const u_char *pd,
user_info_tree = proto_item_add_subtree( user_info_item,
ett_rlogin_user_info);
- proto_tree_add_text( user_info_tree, offset, strlen( str) + 1,
+ proto_tree_add_text( user_info_tree, NullTVB, offset, strlen( str) + 1,
"Server User Name: %s", str);
offset += strlen( str) + 1;
str = &pd[ offset]; /* do client user name */
CHECK_PACKET_LENGTH( strlen( str));
- proto_tree_add_text( user_info_tree, offset, strlen( str) + 1,
+ proto_tree_add_text( user_info_tree, NullTVB, offset, strlen( str) + 1,
"Client User Name: %s", str);
offset += strlen( str) + 1;
str = &pd[ offset]; /* do terminal type/speed */
CHECK_PACKET_LENGTH( strlen( str));
- proto_tree_add_text( user_info_tree, offset, strlen( str) + 1,
+ proto_tree_add_text( user_info_tree, NullTVB, offset, strlen( str) + 1,
"Terminal Type/Speed: %s", str);
offset += strlen( str) + 1;
@@ -290,51 +290,51 @@ static void rlogin_display( rlogin_hash_entry_t *hash_info, const u_char *pd,
int ti_offset = Ptr - pd; /* get offset */
if ( ti_offset < offset){ /*if data before terminal info*/
- proto_tree_add_text( rlogin_tree, offset,
+ proto_tree_add_text( rlogin_tree, NullTVB, offset,
(ti_offset - offset), "Data");
offset = ti_offset;
}
CHECK_PACKET_LENGTH( 12);
window_info_item = proto_tree_add_item( rlogin_tree,
- hf_window_info, offset, 12, NULL );
+ hf_window_info, NullTVB, offset, 12, NULL );
window_tree = proto_item_add_subtree( window_info_item,
ett_rlogin_window);
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_text( window_tree, offset, 2,
+ proto_tree_add_text( window_tree, NullTVB, offset, 2,
"Magic Cookie: (0xff, 0xff)");
offset += 2;
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_text( window_tree, offset, 2,
+ proto_tree_add_text( window_tree, NullTVB, offset, 2,
"Window size marker: 'ss'");
offset += 2;
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_item( window_tree, hf_window_info_rows, offset,
+ 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, offset,
+ 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,
+ 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,
+ proto_tree_add_item( window_tree, hf_window_info_y_pixels, NullTVB,
offset, 2, pntohs( &pd[offset]) );
offset += 2;
}
if ( END_OF_FRAME != 0) /* if more data */
- proto_tree_add_text(rlogin_tree, offset, END_OF_FRAME, "Data");
+ proto_tree_add_text(rlogin_tree, NullTVB, offset, END_OF_FRAME, "Data");
}
diff --git a/packet-rpc.c b/packet-rpc.c
index 2541825e8c..50f6c5a8dc 100644
--- a/packet-rpc.c
+++ b/packet-rpc.c
@@ -2,7 +2,7 @@
* Routines for rpc dissection
* Copyright 1999, Uwe Girlich <Uwe.Girlich@philosys.de>
*
- * $Id: packet-rpc.c,v 1.29 2000/04/04 06:46:27 guy Exp $
+ * $Id: packet-rpc.c,v 1.30 2000/05/11 08:15:41 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -338,7 +338,7 @@ int hfindex)
if (!BYTES_ARE_IN_FRAME(offset,4)) return offset;
value = EXTRACT_UINT(pd, offset+0);
if (tree)
- proto_tree_add_item(tree, hfindex, offset, 4, value);
+ proto_tree_add_item(tree, hfindex, NullTVB, offset, 4, value);
offset += 4;
return offset;
@@ -355,7 +355,7 @@ char* name, char* type)
value = EXTRACT_UINT(pd, offset+0);
if (tree) {
- proto_tree_add_text(tree, offset, 4,
+ proto_tree_add_text(tree, NullTVB, offset, 4,
"%s: %u", name, value);
}
@@ -377,10 +377,10 @@ char* name, char* type)
if (tree) {
if (value_high)
- proto_tree_add_text(tree, offset, 8,
+ proto_tree_add_text(tree, NullTVB, offset, 8,
"%s: 0x%x%08x", name, value_high, value_low);
else
- proto_tree_add_text(tree, offset, 8,
+ proto_tree_add_text(tree, NullTVB, offset, 8,
"%s: %u", name, value_low);
}
@@ -496,10 +496,10 @@ dissect_rpc_opaque_data(const u_char *pd, int offset, frame_data *fd,
}
if (tree) {
- string_item = proto_tree_add_text(tree,offset+0, END_OF_FRAME,
+ 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, offset+4,
+ proto_tree_add_item_hidden(tree, hfindex, NullTVB, offset+4,
string_length_copy, string_buffer);
}
if (string_item) {
@@ -508,29 +508,29 @@ dissect_rpc_opaque_data(const u_char *pd, int offset, frame_data *fd,
}
if (length_truncated) {
if (string_tree)
- proto_tree_add_text(string_tree,
+ proto_tree_add_text(string_tree, NullTVB,
offset,pi.captured_len-offset,
"length: <TRUNCATED>");
offset = pi.captured_len;
} else {
if (string_tree)
- proto_tree_add_text(string_tree,offset+0,4,
+ proto_tree_add_text(string_tree, NullTVB,offset+0,4,
"length: %u", string_length);
offset += 4;
if (string_tree)
- proto_tree_add_text(string_tree,offset,string_length_copy,
+ proto_tree_add_text(string_tree, NullTVB,offset,string_length_copy,
"contents: %s", string_buffer_print);
offset += string_length_copy;
if (fill_length) {
if (string_tree) {
if (fill_truncated) {
- proto_tree_add_text(string_tree,
+ proto_tree_add_text(string_tree, NullTVB,
offset,fill_length_copy,
"fill bytes: opaque data<TRUNCATED>");
}
else {
- proto_tree_add_text(string_tree,
+ proto_tree_add_text(string_tree, NullTVB,
offset,fill_length_copy,
"fill bytes: opaque data");
}
@@ -585,7 +585,7 @@ dissect_rpc_list(const u_char *pd, int offset, frame_data *fd,
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,
+ proto_tree_add_item(tree,hf_rpc_value_follows, NullTVB,
offset+0, 4, value_follows);
offset += 4;
if (value_follows == 1) {
@@ -615,9 +615,9 @@ dissect_rpc_auth( const u_char *pd, int offset, frame_data *fd, proto_tree *tree
/* if (!BYTES_ARE_IN_FRAME(offset+8,full_length)) return; */
if (tree) {
- proto_tree_add_item(tree, hf_rpc_auth_flavor, offset+0, 4,
+ proto_tree_add_item(tree, hf_rpc_auth_flavor, NullTVB, offset+0, 4,
flavor);
- proto_tree_add_item(tree, hf_rpc_auth_length, offset+4, 4,
+ proto_tree_add_item(tree, hf_rpc_auth_length, NullTVB, offset+4, 4,
length);
}
@@ -637,7 +637,7 @@ dissect_rpc_auth( const u_char *pd, int offset, frame_data *fd, proto_tree *tree
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,
+ proto_tree_add_item(tree, hf_rpc_auth_stamp, NullTVB,
offset+0, 4, stamp);
offset += 4;
@@ -647,21 +647,21 @@ dissect_rpc_auth( const u_char *pd, int offset, frame_data *fd, proto_tree *tree
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,
+ 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,
+ proto_tree_add_item(tree, hf_rpc_auth_gid, NullTVB,
offset+0, 4, gid);
offset += 4;
if (!BYTES_ARE_IN_FRAME(offset,4)) return;
gids_count = EXTRACT_UINT(pd,offset+0);
if (tree) {
- gitem = proto_tree_add_text(tree, offset, 4+gids_count*4,
+ gitem = proto_tree_add_text(tree, NullTVB, offset, 4+gids_count*4,
"Auxiliary GIDs");
gtree = proto_item_add_subtree(gitem, ett_rpc_gids);
}
@@ -670,7 +670,7 @@ dissect_rpc_auth( const u_char *pd, int offset, frame_data *fd, proto_tree *tree
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,
+ proto_tree_add_item(gtree, hf_rpc_auth_gid, NullTVB,
offset, 4, gids_entry);
offset+=4;
}
@@ -693,7 +693,7 @@ dissect_rpc_auth( const u_char *pd, int offset, frame_data *fd, proto_tree *tree
default:
if (length_full) {
if (tree)
- proto_tree_add_text(tree,offset,
+ proto_tree_add_text(tree, NullTVB,offset,
length_full, "opaque data");
}
}
@@ -713,7 +713,7 @@ dissect_rpc_cred( const u_char *pd, int offset, frame_data *fd, proto_tree *tree
if (!BYTES_ARE_IN_FRAME(offset+8,length_full)) return offset;
if (tree) {
- citem = proto_tree_add_text(tree, offset, 8+length_full,
+ citem = proto_tree_add_text(tree, NullTVB, offset, 8+length_full,
"Credentials");
ctree = proto_item_add_subtree(citem, ett_rpc_cred);
dissect_rpc_auth(pd, offset, fd, ctree);
@@ -738,7 +738,7 @@ dissect_rpc_verf( const u_char *pd, int offset, frame_data *fd, proto_tree *tree
if (!BYTES_ARE_IN_FRAME(offset+8,length_full)) return offset;
if (tree) {
- vitem = proto_tree_add_text(tree, offset, 8+length_full,
+ vitem = proto_tree_add_text(tree, NullTVB, offset, 8+length_full,
"Verifier");
vtree = proto_item_add_subtree(vitem, ett_rpc_verf);
dissect_rpc_auth(pd, offset, fd, vtree);
@@ -882,28 +882,28 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str(fd, COL_PROTOCOL, "RPC");
if (tree) {
- rpc_item = proto_tree_add_item(tree, proto_rpc, offset, END_OF_FRAME, NULL);
+ 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,
+ 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,
+ proto_tree_add_item(rpc_tree,hf_rpc_fraglen, NullTVB,
offset-4, 4, rpc_rm & RPC_RM_FRAGLEN);
}
xid = EXTRACT_UINT(pd,offset+0);
if (rpc_tree) {
- proto_tree_add_uint_format(rpc_tree,hf_rpc_xid,
+ proto_tree_add_uint_format(rpc_tree,hf_rpc_xid, NullTVB,
offset+0, 4, xid, "XID: 0x%x (%u)", xid, xid);
}
msg_type_name = val_to_str(msg_type,rpc_msg_type,"%u");
if (rpc_tree) {
- proto_tree_add_item(rpc_tree, hf_rpc_msgtype,
+ proto_tree_add_item(rpc_tree, hf_rpc_msgtype, NullTVB,
offset+4, 4, msg_type);
}
@@ -919,14 +919,14 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
rpcvers = EXTRACT_UINT(pd,offset+0);
if (rpc_tree) {
proto_tree_add_item(rpc_tree,
- hf_rpc_version, offset+0, 4, rpcvers);
+ hf_rpc_version, NullTVB, offset+0, 4, rpcvers);
}
prog = EXTRACT_UINT(pd,offset+4);
if (rpc_tree) {
proto_tree_add_uint_format(rpc_tree,
- hf_rpc_program, offset+4, 4, prog,
+ hf_rpc_program, NullTVB, offset+4, 4, prog,
"Program: %s (%u)", progname, prog);
}
@@ -941,7 +941,7 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
vers = EXTRACT_UINT(pd,offset+8);
if (rpc_tree) {
proto_tree_add_item(rpc_tree,
- hf_rpc_programversion, offset+8, 4, vers);
+ hf_rpc_programversion, NullTVB, offset+8, 4, vers);
}
if (!BYTES_ARE_IN_FRAME(offset+12,4))
@@ -966,7 +966,7 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (rpc_tree) {
proto_tree_add_uint_format(rpc_tree,
- hf_rpc_procedure, offset+12, 4, proc,
+ hf_rpc_procedure, NullTVB, offset+12, 4, proc,
"Procedure: %s (%u)", procname, proc);
}
@@ -1004,9 +1004,9 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_append_fstr(fd, COL_INFO, " dup XID 0x%x", xid);
if (rpc_tree) {
proto_tree_add_item_hidden(rpc_tree,
- hf_rpc_dup, 0,0, xid);
+ hf_rpc_dup, NullTVB, 0,0, xid);
proto_tree_add_item_hidden(rpc_tree,
- hf_rpc_call_dup, 0,0, xid);
+ hf_rpc_call_dup, NullTVB, 0,0, xid);
}
}
}
@@ -1083,12 +1083,12 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (rpc_tree) {
proto_tree_add_uint_format(rpc_tree,
- hf_rpc_program, 0, 0, prog,
+ hf_rpc_program, NullTVB, 0, 0, prog,
"Program: %s (%u)", progname, prog);
proto_tree_add_item(rpc_tree,
- hf_rpc_programversion, 0, 0, vers);
+ hf_rpc_programversion, NullTVB, 0, 0, vers);
proto_tree_add_uint_format(rpc_tree,
- hf_rpc_procedure, 0, 0, proc,
+ hf_rpc_procedure, NullTVB, 0, 0, proc,
"Procedure: %s (%u)", procname, proc);
}
@@ -1097,9 +1097,9 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_append_fstr(fd, COL_INFO, " dup XID 0x%x", xid);
if (rpc_tree) {
proto_tree_add_item_hidden(rpc_tree,
- hf_rpc_dup, 0,0, xid);
+ hf_rpc_dup, NullTVB, 0,0, xid);
proto_tree_add_item_hidden(rpc_tree,
- hf_rpc_reply_dup, 0,0, xid);
+ hf_rpc_reply_dup, NullTVB, 0,0, xid);
}
}
}
@@ -1108,7 +1108,7 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
return TRUE;
reply_state = EXTRACT_UINT(pd,offset+0);
if (rpc_tree) {
- proto_tree_add_item(rpc_tree, hf_rpc_state_reply,
+ proto_tree_add_item(rpc_tree, hf_rpc_state_reply, NullTVB,
offset+0, 4, reply_state);
}
offset += 4;
@@ -1119,7 +1119,7 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
return TRUE;
accept_state = EXTRACT_UINT(pd,offset+0);
if (rpc_tree) {
- proto_tree_add_item(rpc_tree, hf_rpc_state_accept,
+ proto_tree_add_item(rpc_tree, hf_rpc_state_accept, NullTVB,
offset+0, 4, accept_state);
}
offset += 4;
@@ -1136,10 +1136,10 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (rpc_tree) {
proto_tree_add_item(rpc_tree,
hf_rpc_programversion_min,
- offset+0, 4, vers_low);
+ NullTVB, offset+0, 4, vers_low);
proto_tree_add_item(rpc_tree,
hf_rpc_programversion_max,
- offset+4, 4, vers_high);
+ NullTVB, offset+4, 4, vers_high);
}
offset += 8;
break;
@@ -1153,7 +1153,7 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
reject_state = EXTRACT_UINT(pd,offset+0);
if (rpc_tree) {
proto_tree_add_item(rpc_tree,
- hf_rpc_state_reject, offset+0, 4,
+ hf_rpc_state_reject, NullTVB, offset+0, 4,
reject_state);
}
offset += 4;
@@ -1166,10 +1166,10 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (rpc_tree) {
proto_tree_add_item(rpc_tree,
hf_rpc_version_min,
- offset+0, 4, vers_low);
+ NullTVB, offset+0, 4, vers_low);
proto_tree_add_item(rpc_tree,
hf_rpc_version_max,
- offset+4, 4, vers_high);
+ NullTVB, offset+4, 4, vers_high);
}
offset += 8;
} else if (reject_state==AUTH_ERROR) {
@@ -1178,7 +1178,7 @@ dissect_rpc( const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
auth_state = EXTRACT_UINT(pd,offset+0);
if (rpc_tree) {
proto_tree_add_item(rpc_tree,
- hf_rpc_state_auth, offset+0, 4,
+ hf_rpc_state_auth, NullTVB, offset+0, 4,
auth_state);
}
offset += 4;
@@ -1196,16 +1196,16 @@ dissect_rpc_prog:
/* create here the program specific sub-tree */
if (tree) {
- pitem = proto_tree_add_item(tree, proto, offset, END_OF_FRAME);
+ 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, 0, 0, vers);
+ hf_rpc_programversion, NullTVB, 0, 0, vers);
proto_tree_add_uint_format(ptree,
- hf_rpc_procedure, 0, 0, proc,
+ hf_rpc_procedure, NullTVB, 0, 0, proc,
"Procedure: %s (%u)", procname, proc);
}
}
diff --git a/packet-rsvp.c b/packet-rsvp.c
index 41dab852d4..a0a13db5be 100644
--- a/packet-rsvp.c
+++ b/packet-rsvp.c
@@ -3,7 +3,7 @@
*
* (c) Copyright Ashok Narayanan <ashokn@cisco.com>
*
- * $Id: packet-rsvp.c,v 1.20 2000/04/16 22:46:22 guy Exp $
+ * $Id: packet-rsvp.c,v 1.21 2000/05/11 08:15:41 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -857,30 +857,30 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
msg_length = pntohs(pd+offset+6);
- ti = proto_tree_add_item(tree, proto_rsvp, offset, msg_length, NULL);
+ 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, offset,
+ ti = proto_tree_add_text(rsvp_tree, NullTVB, offset,
sizeof(rsvp_header), "RSVP Header");
rsvp_header_tree = proto_item_add_subtree(ti, ett_rsvp_hdr);
- proto_tree_add_text(rsvp_header_tree, offset, 1, "RSVP Version: %u",
+ proto_tree_add_text(rsvp_header_tree, NullTVB, offset, 1, "RSVP Version: %u",
(hdr->ver_flags & 0xf0)>>4);
- proto_tree_add_text(rsvp_header_tree, offset, 1, "Flags: %02X",
+ 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],
+ 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, offset+1, 1, "Message Type: %u - Unknown",
+ 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],
+ 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, offset + 2 , 2, "Message Checksum");
- proto_tree_add_text(rsvp_header_tree, offset + 4 , 1, "Sending TTL: %u",
+ 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",
hdr->sending_ttl);
- proto_tree_add_text(rsvp_header_tree, offset + 6 , 2, "Message length: %d",
+ proto_tree_add_text(rsvp_header_tree, NullTVB, offset + 6 , 2, "Message length: %d",
msg_length);
offset += sizeof(rsvp_header);
@@ -889,16 +889,16 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
obj = (rsvp_object *)&pd[offset];
obj_length = pntohs(pd+offset);
if (!BYTES_ARE_IN_FRAME(offset, obj_length)) {
- proto_tree_add_text(rsvp_tree, offset, 1,
+ proto_tree_add_text(rsvp_tree, NullTVB, offset, 1,
"Further data not captured");
break;
}
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],
+ 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)],
+ 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);
@@ -907,71 +907,71 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_SESSION :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_session);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ 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],
+ 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],
+ 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, offset2+5, 1,
+ 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],
+ proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_PORT], NullTVB,
offset2+6, 2, pntohs(pd+offset2+6));
break;
}
case 2: {
rsvp_session_ipv6 *sess = (rsvp_session_ipv6 *)obj;
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"Destination address: %s",
ip6_to_str(&(sess->destination)));
- proto_tree_add_text(rsvp_object_tree, offset2+16, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+16, 1,
"Protocol: %u", sess->protocol);
- proto_tree_add_text(rsvp_object_tree, offset2+17, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+17, 1,
"Flags: %x", sess->flags);
- proto_tree_add_text(rsvp_object_tree, offset2+18, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+18, 2,
"Destination port: %u",
pntohs(pd+offset2+18));
break;
}
case 7: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ 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],
+ 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],
+ 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);
- proto_tree_add_text(rsvp_object_tree, offset2+8, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+8, 4,
"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],
+ proto_tree_add_item_hidden(rsvp_object_tree, rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID], NullTVB,
offset2+8, 4, ip_addr);
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
}
}
@@ -979,20 +979,20 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_HOP :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_hop);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
rsvp_hop_ipv4 *hop = (rsvp_hop_ipv4 *)obj;
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1 - IPv4");
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"Neighbor address: %s",
ip_to_str((guint8 *) &(hop->neighbor)));
- proto_tree_add_text(rsvp_object_tree, offset2+4, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+4, 4,
"Logical interface: %0x",
pntohl(pd+offset2+4));
break;
@@ -1000,23 +1000,23 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case 2: {
rsvp_hop_ipv6 *hop = (rsvp_hop_ipv6 *)obj;
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"Neighbor address: %s",
ip6_to_str(&(hop->neighbor)));
- proto_tree_add_text(rsvp_object_tree, offset2+16, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+16, 4,
"Logical interface: %0x",
pntohl(pd+offset2+16));
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
}
}
@@ -1024,16 +1024,16 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_TIME_VALUES :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_time_values);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1");
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"Refresh interval: %u ms (%u seconds)",
pntohl(pd+offset2),
pntohl(pd+offset2)/1000);
@@ -1041,11 +1041,11 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
}
@@ -1054,9 +1054,9 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_ERROR :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_error);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
switch(obj->type) {
@@ -1065,17 +1065,17 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
char *err_str = match_strval(err->error_code, rsvp_error_vals);
if (!err_str) err_str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1 - IPv4");
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"Error node: %s",
ip_to_str((guint8 *) &(err->error_node)));
- proto_tree_add_text(rsvp_object_tree, offset2+4, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+4, 1,
"Flags: %02x", err->flags);
- proto_tree_add_text(rsvp_object_tree, offset2+5, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+5, 1,
"Error code: %u - %s", err->error_code,
err_str);
- proto_tree_add_text(rsvp_object_tree, offset2+6, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+6, 2,
"Error value: %u", pntohs(pd+offset2+6));
break;
@@ -1085,28 +1085,28 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
rsvp_error_ipv6 *err = (rsvp_error_ipv6 *)obj;
char *err_str = match_strval(err->error_code, rsvp_error_vals);
if (!err_str) err_str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"Error node: %s",
ip6_to_str(&(err->error_node)));
- proto_tree_add_text(rsvp_object_tree, offset2+16, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+16, 1,
"Flags: %02x", err->flags);
- proto_tree_add_text(rsvp_object_tree, offset2+17, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+17, 1,
"Error code: %u - %s", err->error_code,
err_str);
- proto_tree_add_text(rsvp_object_tree, offset2+18, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+18, 2,
"Error value: %u", pntohs(pd+offset2+18));
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
}
}
@@ -1116,19 +1116,19 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_SCOPE :
mylen = obj_length;
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_scope);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
unsigned long ip;
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1 - IPv4");
while (mylen > sizeof(rsvp_object)) {
ip = pntohl(pd+offset2);
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"IPv4 Address: %s",
ip_to_str((guint8 *) &ip));
offset2 += 4;
@@ -1138,11 +1138,11 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
case 2: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 2 - IPv6");
while (mylen>sizeof(rsvp_object)) {
ip6a = (struct e_in6_addr *)pd+offset2;
- proto_tree_add_text(rsvp_object_tree, offset2, 16,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 16,
"IPv6 Address: %s",
ip6_to_str(ip6a));
offset2 += 16;
@@ -1152,11 +1152,11 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
}
}
@@ -1164,9 +1164,9 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_STYLE :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_style);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
switch(obj->type) {
@@ -1174,19 +1174,19 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
unsigned long ip = pntohl(pd+offset2);
char *style_str = match_strval(ip, style_vals);
if (!style_str) style_str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1");
- proto_tree_add_text(rsvp_object_tree, offset2+5, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+5, 1,
"Style: %lu - %s", ip, style_str);
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
}
@@ -1195,17 +1195,17 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_CONFIRM :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_confirm);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
rsvp_confirm_ipv4 *confirm = (rsvp_confirm_ipv4 *)obj;
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1 - IPv4");
- proto_tree_add_text(rsvp_object_tree, offset2, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 4,
"Receiver address: %s",
ip_to_str((guint8 *) &(confirm->receiver)));
break;
@@ -1213,20 +1213,20 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case 2: {
rsvp_confirm_ipv6 *confirm = (rsvp_confirm_ipv6 *)obj;
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, offset2, 16,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 16,
"Receiver address: %s",
ip6_to_str(&(confirm->receiver)));
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
}
}
@@ -1234,63 +1234,63 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_SENDER_TEMPLATE :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_sender_template);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
goto common_template;
case RSVP_CLASS_FILTER_SPEC :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_filter_spec);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
common_template:
switch(obj->type) {
case 1: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ 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],
+ 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],
+ proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_PORT], NullTVB,
offset2+6, 2, pntohs(pd+offset2+6));
break;
}
case 2: {
rsvp_template_ipv6 *tem = (rsvp_template_ipv6 *)obj;
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, offset2, 16,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 16,
"Source address: %s",
ip6_to_str(&(tem->source)));
- proto_tree_add_text(rsvp_object_tree, offset2+18, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+18, 2,
"Source port: %u", pntohs(pd+offset2+18));
break;
}
case 7: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ 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],
+ 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],
+ proto_tree_add_item(rsvp_object_tree, rsvp_filter[RSVPF_SENDER_LSP_ID], NullTVB,
offset2+6, 2, pntohs(pd+offset2+6));
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%u)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
}
}
@@ -1305,16 +1305,16 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
mylen = obj_length;
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_sender_tspec);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Message format version: %u",
tspec->version>>4);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Data length: %u words, not including header",
pntohs(pd+offset2+2));
@@ -1325,10 +1325,10 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
str = match_strval(sh->service_num, qos_vals);
if (!str) str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Service header: %u - %s",
sh->service_num, str);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Length of service %u data: %u words, "
"not including header",
sh->service_num,
@@ -1344,31 +1344,31 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Token bucket TSPEC */
str = match_strval(ist->param_id, svc_vals);
if (!str) str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Parameter %u - %s",
ist->param_id, str);
- proto_tree_add_text(rsvp_object_tree, offset2+1, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+1, 1,
"Parameter %u flags: %x",
ist->param_id, ist->flags_tspec);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Parameter %u data length: %u words, "
"not including header",
ist->param_id,
/* pntohs(pd+offset2+10)); */
ntohs(ist->parameter_length));
- proto_tree_add_text(rsvp_object_tree, offset2+4, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+4, 4,
"Token bucket rate: %ld",
pieee_to_long(pd+offset2+4));
- proto_tree_add_text(rsvp_object_tree, offset2+8, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+8, 4,
"Token bucket size: %ld",
pieee_to_long(pd+offset2+8));
- proto_tree_add_text(rsvp_object_tree, offset2+12, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+12, 4,
"Peak data rate: %ld",
pieee_to_long(pd+offset2+12));
- proto_tree_add_text(rsvp_object_tree, offset2+16, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+16, 4,
"Minimum policed unit: %u",
pntohl(pd+offset2+16));
- proto_tree_add_text(rsvp_object_tree, offset2+20, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+20, 4,
"Maximum policed unit: %u",
pntohl(pd+offset2+20));
@@ -1380,19 +1380,19 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Token bucket TSPEC */
str = match_strval(qt->param_id, svc_vals);
if (!str) str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Parameter %u - %s",
qt->param_id, str);
- proto_tree_add_text(rsvp_object_tree, offset2+1, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+1, 1,
"Parameter %u flags: %x",
qt->param_id, qt->flags_tspec);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Parameter %u data length: %u words, "
"not including header",
qt->param_id,
/* pntohs(pd+offset2+10)); */
ntohs(qt->parameter_length));
- proto_tree_add_text(rsvp_object_tree, offset2+4, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+4, 4,
"Maximum policed unit: %u",
pntohl(pd+offset2+4));
@@ -1417,16 +1417,16 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
mylen = obj_length;
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_flowspec);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Message format version: %u",
flowspec->version>>4);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Data length: %u words, not including header",
pntohs(pd+offset2+2));
@@ -1437,10 +1437,10 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
str = match_strval(sh->service_num, intsrv_services_str);
if (!str) str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Service header: %u - %s",
sh->service_num, str);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Length of service %u data: %u words, "
"not including header",
sh->service_num,
@@ -1457,30 +1457,30 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
str = match_strval(isf->tspec.param_id, svc_vals);
if (!str) str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Parameter %u - %s",
isf->tspec.param_id, str);
- proto_tree_add_text(rsvp_object_tree, offset2+1, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+1, 1,
"Parameter %u flags: %x",
isf->tspec.param_id, isf->tspec.flags_tspec);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Parameter %u data length: %u words, "
"not including header",
isf->tspec.param_id,
ntohs(isf->tspec.parameter_length));
- proto_tree_add_text(rsvp_object_tree, offset2+4, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+4, 4,
"Token bucket rate: %ld",
pieee_to_long(pd+offset2+4));
- proto_tree_add_text(rsvp_object_tree, offset2+8, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+8, 4,
"Token bucket size: %ld",
pieee_to_long(pd+offset2+8));
- proto_tree_add_text(rsvp_object_tree, offset2+12, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+12, 4,
"Peak data rate: %ld",
pieee_to_long(pd+offset2+12));
- proto_tree_add_text(rsvp_object_tree, offset2+16, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+16, 4,
"Minimum policed unit: %u",
pntohl(pd+offset2+16));
- proto_tree_add_text(rsvp_object_tree, offset2+20, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+20, 4,
"Maximum policed unit: %u",
pntohl(pd+offset2+20));
if (sh->service_num!=QOS_GUARANTEED)
@@ -1489,22 +1489,22 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Guaranteed-rate RSpec */
str = match_strval(isf->rspec.param_id, svc_vals);
if (!str) str="Unknown";
- proto_tree_add_text(rsvp_object_tree, offset2+24, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+24, 1,
"Parameter %u - %s",
isf->rspec.param_id, str);
- proto_tree_add_text(rsvp_object_tree, offset2+25, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+25, 1,
"Parameter %u flags: %x",
isf->rspec.param_id, isf->rspec.flags_rspec);
- proto_tree_add_text(rsvp_object_tree, offset2+26, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+26, 2,
"Parameter %u data length: %u words, "
"not including header",
isf->rspec.param_id,
ntohs(isf->rspec.param2_length));
- proto_tree_add_text(rsvp_object_tree, offset2+28, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+28, 4,
"Rate: %ld",
pieee_to_long(pd+offset2+28));
- proto_tree_add_text(rsvp_object_tree, offset2+32, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+32, 4,
"Slack term: %u",
pntohl(pd+offset2+32));
break;
@@ -1514,18 +1514,18 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
str = match_strval(qf->param_id, svc_vals);
if (!str) str = "Unknown";
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Parameter %u - %s",
qf->param_id, str);
- proto_tree_add_text(rsvp_object_tree, offset2+1, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+1, 1,
"Parameter %u flags: %x",
qf->param_id, qf->flags_tspec);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Parameter %u data length: %u words, "
"not including header",
qf->param_id,
ntohs(qf->parameter_length));
- proto_tree_add_text(rsvp_object_tree, offset2+4, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+4, 4,
"Maximum policed unit: %u",
pntohl(pd+offset2+4));
@@ -1547,16 +1547,16 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
mylen = obj_length;
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_adspec);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Message format version: %u",
(*((unsigned char *)pd+offset2))>>4);
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"Data length: %u words, not including header",
pntohs(pd+offset2+2));
offset2+=4;
@@ -1565,18 +1565,18 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
shdr = (service_hdr *)(pd + offset2);
str = match_strval(shdr->service_num, intsrv_services_str);
- ti = proto_tree_add_text(rsvp_object_tree, offset2,
+ ti = proto_tree_add_text(rsvp_object_tree, NullTVB, offset2,
(pntohs(&shdr->length)+1)<<2,
str?str:"Unknown");
adspec_tree = proto_item_add_subtree(ti,
ett_rsvp_adspec_subtree);
- proto_tree_add_text(adspec_tree, offset2, 1,
+ proto_tree_add_text(adspec_tree, NullTVB, offset2, 1,
"Service header %u - %s",
shdr->service_num, str);
- proto_tree_add_text(adspec_tree, offset2+1, 1,
+ proto_tree_add_text(adspec_tree, NullTVB, offset2+1, 1,
(shdr->break_bit&0x80)?
"Break bit set":"Break bit not set");
- proto_tree_add_text(adspec_tree, offset2+2, 2,
+ proto_tree_add_text(adspec_tree, NullTVB, offset2+2, 2,
"Data length: %u words, not including header",
pntohs(&shdr->length));
offset2+=4; i=(pntohs(&shdr->length)+1)<<2; mylen-=4;
@@ -1593,7 +1593,7 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case 135:
case 136:
/* 32-bit unsigned integer */
- proto_tree_add_text(adspec_tree, offset2,
+ proto_tree_add_text(adspec_tree, NullTVB, offset2,
(pntohs(&phdr->length)+1)<<2,
"%s - %lu (type %u, length %u)",
str,
@@ -1603,7 +1603,7 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case 6:
/* IEEE float */
- proto_tree_add_text(adspec_tree, offset2,
+ proto_tree_add_text(adspec_tree, NullTVB, offset2,
(pntohs(&phdr->length)+1)<<2,
"%s - %lu (type %u, length %u)",
str,
@@ -1611,14 +1611,14 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
phdr->id, pntohs(&phdr->length));
break;
default:
- proto_tree_add_text(adspec_tree, offset2,
+ proto_tree_add_text(adspec_tree, NullTVB, offset2,
(pntohs(&phdr->length)+1)<<2,
"%s (type %u, length %u)",
str,
phdr->id, pntohs(&phdr->length));
}
} else {
- proto_tree_add_text(adspec_tree, offset2,
+ proto_tree_add_text(adspec_tree, NullTVB, offset2,
(pntohs(&phdr->length)+1)<<2,
"Unknown (type %u, length %u)",
phdr->id, pntohs(&phdr->length));
@@ -1633,45 +1633,45 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_INTEGRITY :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_integrity);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
goto default_class;
case RSVP_CLASS_POLICY :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_policy);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
goto default_class;
case RSVP_CLASS_LABEL_REQUEST :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_label_request);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %d - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
unsigned short l3pid = pntohs(pd+offset2+2);
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1");
- proto_tree_add_text(rsvp_object_tree, offset2+2, 2,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 2,
"L3PID: 0x%04x", l3pid);
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%d)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
}
@@ -1680,17 +1680,17 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_LABEL :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_label);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %d - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1");
for (i=1, l = 0; l < obj_length - 4; l+=4, i++)
- proto_tree_add_text(rsvp_object_tree, offset2+l, 4,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+l, 4,
"Label %d: %d %s",
i, pntohl(pd+offset2+l),
l == obj_length - 8 ?
@@ -1699,11 +1699,11 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%d)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
}
@@ -1712,54 +1712,54 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_SESSION_ATTRIBUTE :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_session_attribute);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %d - %s",
obj->class, object_type);
switch(obj->type) {
case 7: {
char s_name[64];
session_attribute *s_attr = (session_attribute *)&pd[offset];
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 7 - IPv4 LSP");
- proto_tree_add_text(rsvp_object_tree, offset2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, 1,
"Setup priority: %d", s_attr->setup_prio);
- proto_tree_add_text(rsvp_object_tree, offset2+1, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+1, 1,
"Hold priority: %d", s_attr->hold_prio);
- ti2 = proto_tree_add_text(rsvp_object_tree, offset2+2, 1,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+2, 1,
"Flags: %0x", s_attr->flags);
rsvp_sa_flags_tree = proto_item_add_subtree(ti2,
ett_rsvp_session_attribute_flags);
- proto_tree_add_text(rsvp_sa_flags_tree, offset2+2, 1,
+ proto_tree_add_text(rsvp_sa_flags_tree, NullTVB, offset2+2, 1,
".......%d: Local protection: %s",
s_attr->flags & 0x1 ? 1 : 0,
s_attr->flags & 0x1 ? "Set" : "Not set");
- proto_tree_add_text(rsvp_sa_flags_tree, offset2+2, 1,
+ proto_tree_add_text(rsvp_sa_flags_tree, NullTVB, offset2+2, 1,
"......%d.: Merging permitted: %s",
s_attr->flags & 0x2 ? 1 : 0,
s_attr->flags & 0x2 ? "Set" : "Not set");
- proto_tree_add_text(rsvp_sa_flags_tree, offset2+2, 1,
+ proto_tree_add_text(rsvp_sa_flags_tree, NullTVB, offset2+2, 1,
".....%d..: Ingress note may reroute: %s",
s_attr->flags & 0x4 ? 1 : 0,
s_attr->flags & 0x4 ? "Set" : "Not set");
- proto_tree_add_text(rsvp_object_tree, offset2+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+3, 1,
"Name length: %d", s_attr->name_len);
memset(s_name, 0, 64);
strncpy(s_name, &pd[offset2+4], 60);
if (s_attr->name_len>60) sprintf(&(s_name[60]), "...");
- proto_tree_add_text(rsvp_object_tree, offset2+4, s_attr->name_len,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2+4, s_attr->name_len,
"Name: %s", s_name);
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%d)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
}
@@ -1768,103 +1768,103 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_EXPLICIT_ROUTE :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_explicit_route);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %d - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1");
for (i=1, l = 0; l < obj_length - 4; i++) {
j = ((unsigned char)pd[offset2+l]) & 0x7f;
switch(j) {
case 1: /* IPv4 */
k = ((unsigned char)pd[offset2+l]) & 0x80;
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, 8,
"IPv4 Subobject - %s, %s",
ip_to_str(&pd[offset2+l+2]),
k ? "Loose" : "Strict");
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_explicit_route_subobj);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
k ? "Loose Hop " : "Strict Hop");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: 1 (IPv4)");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+2, 4,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+2, 4,
"IPv4 hop: %s", ip_to_str(&pd[offset2+l+2]));
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+6, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+6, 1,
"Prefix length: %d", pd[offset2+l+6]);
break;
case 2: /* IPv6 */
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, 20,
"IPv6 Subobject");
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_explicit_route_subobj);
k = ((unsigned char)pd[offset2+l]) & 0x80;
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
k ? "Loose Hop " : "Strict Hop");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: 2 (IPv6)");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
ip6a = (struct e_in6_addr *)pd+offset2+l+2;
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+2, 16,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+2, 16,
"IPv6 hop: %s", ip6_to_str(ip6a));
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+18, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+18, 1,
"Prefix length: %d", pd[offset2+l+6]);
break;
case 32: /* AS */
k = pntohs(offset2+l+2);
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, 4,
"Autonomous System %d", k);
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_explicit_route_subobj);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
k ? "Loose Hop " : "Strict Hop");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: 32 (Autonomous System Number)");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+2, 2,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+2, 2,
"Autonomous System %d", k);
break;
case 64: /* Path Term */
k = ((unsigned char)pd[offset2+l]) & 0x80;
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, 4,
"LSP Path Termination");
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_explicit_route_subobj);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
k ? "Loose Hop " : "Strict Hop");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: 64 (MPLS LSP Path Termination)");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
break;
default: /* Unknown subobject */
k = ((unsigned char)pd[offset2+l]) & 0x80;
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, pd[offset2+l+1],
"Unknown subobject: %d", j);
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_explicit_route_subobj);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
k ? "Loose Hop " : "Strict Hop");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: %d (Unknown)", j);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
}
@@ -1874,11 +1874,11 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%d)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
}
@@ -1888,64 +1888,64 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case RSVP_CLASS_RECORD_ROUTE :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_record_route);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %d - %s",
obj->class, object_type);
switch(obj->type) {
case 1: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: 1");
for (i=1, l = 0; l < obj_length - 4; i++) {
j = (unsigned char)pd[offset2+l];
switch(j) {
case 1: /* IPv4 */
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, 8,
"IPv4 Subobject - %s",
ip_to_str(&pd[offset2+l+2]));
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_record_route_subobj);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: 1 (IPv4)");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+2, 4,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+2, 4,
"IPv4 hop: %s", ip_to_str(&pd[offset2+l+2]));
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+6, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+6, 1,
"Prefix length: %d", pd[offset2+l+6]);
break;
case 2: /* IPv6 */
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, 20,
"IPv6 Subobject");
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_record_route_subobj);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: 2 (IPv6)");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
ip6a = (struct e_in6_addr *)pd+offset2+l+2;
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+2, 16,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+2, 16,
"IPv6 hop: %s", ip6_to_str(ip6a));
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+18, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+18, 1,
"Prefix length: %d", pd[offset2+l+6]);
break;
default: /* Unknown subobject */
k = ((unsigned char)pd[offset2+l]) & 0x80;
- ti2 = proto_tree_add_text(rsvp_object_tree,
+ ti2 = proto_tree_add_text(rsvp_object_tree, NullTVB,
offset2+l, pd[offset2+l+1],
"Unknown subobject: %d", j);
rsvp_ero_subtree =
proto_item_add_subtree(ti2, ett_rsvp_record_route_subobj);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
k ? "Loose Hop " : "Strict Hop");
- proto_tree_add_text(rsvp_ero_subtree, offset2+l, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l, 1,
"Type: %d (Unknown)", j);
- proto_tree_add_text(rsvp_ero_subtree, offset2+l+1, 1,
+ proto_tree_add_text(rsvp_ero_subtree, NullTVB, offset2+l+1, 1,
"Length: %d", pd[offset2+l+1]);
}
@@ -1956,11 +1956,11 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
default: {
- proto_tree_add_text(rsvp_object_tree, offset+3, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+3, 1,
"C-type: Unknown (%d)",
obj->type);
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
}
@@ -1969,14 +1969,14 @@ dissect_rsvp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
default :
rsvp_object_tree = proto_item_add_subtree(ti, ett_rsvp_unknown_class);
- proto_tree_add_text(rsvp_object_tree, offset, 2, "Length: %d",
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset, 2, "Length: %d",
obj_length);
- proto_tree_add_text(rsvp_object_tree, offset+2, 1,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset+2, 1,
"Class number: %u - %s",
obj->class, object_type);
default_class:
i = obj_length - sizeof(rsvp_object);
- proto_tree_add_text(rsvp_object_tree, offset2, i,
+ proto_tree_add_text(rsvp_object_tree, NullTVB, offset2, i,
"Data (%d bytes)", i);
break;
diff --git a/packet-rtcp.c b/packet-rtcp.c
index aaff7c7b64..517b1f0f7c 100644
--- a/packet-rtcp.c
+++ b/packet-rtcp.c
@@ -3,7 +3,7 @@
*
* Jason Lango <jal@netapp.com>
*
- * $Id: packet-rtcp.c,v 1.1 2000/04/21 01:45:56 guy Exp $
+ * $Id: packet-rtcp.c,v 1.2 2000/05/11 08:15:42 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -98,40 +98,40 @@ dissect_rtcp_report(rtcp_hdr_t *hdr, int sn, const u_char *pd, int offset,
rep.rtcp_rr_dlsr = ntohl(rep.rtcp_rr_dlsr);
if ((offset + sizeof(rtcp_report_t)) > end_offset) {
- proto_tree_add_text(rtcp_tree, offset, 0,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 0,
"Warning: Bad packet length -- "
"data might be incorrect");
}
- proto_tree_add_text(rtcp_tree, offset, 4,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4,
"Source %d SSRC: %u", sn + 1, rep.rtcp_rr_ssrc);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 1,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 1,
"Fraction lost: %u / 256", (unsigned) rep.rtcp_rr_flt);
offset += 1;
- proto_tree_add_text(rtcp_tree, offset, 3,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 3,
"Cumulative Packets Lost: %lu",
(((unsigned long) rep.rtcp_rr_cplthi) << 16) +
(unsigned long) rep.rtcp_rr_cplt);
offset += 3;
- proto_tree_add_text(rtcp_tree, offset, 4,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4,
"Extended Highest Seq #: %lu",
(unsigned long) rep.rtcp_rr_xhiseq);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4,
"Jitter: %lu", (unsigned long) rep.rtcp_rr_jitter);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4,
"Last SR timestamp (middle): %lu",
(unsigned long) rep.rtcp_rr_lsr);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4,
"Delay Since Last SR: %lu",
(unsigned long) rep.rtcp_rr_dlsr);
offset += 4;
@@ -157,7 +157,7 @@ dissect_rtcp_rr(rtcp_hdr_t *hdr, const u_char *pd, int offset,
if ((offset + sizeof(rtcp_rr_t)) >= end_offset)
return -1;
- proto_tree_add_text(rtcp_tree, offset, 4, "Sender SSRC: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "Sender SSRC: %u",
rr.rtcp_rr_ssrc);
offset += 4;
@@ -196,27 +196,27 @@ dissect_rtcp_sr(rtcp_hdr_t *hdr, const u_char *pd, int offset,
sr.rtcp_sr_nbytes = ntohl(sr.rtcp_sr_nbytes);
if ((offset + sizeof(rtcp_sr_t)) > end_offset) {
- proto_tree_add_text(rtcp_tree, offset, 0,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 0,
"Warning: Bad packet length -- "
"data might be incorrect");
}
- proto_tree_add_text(rtcp_tree, offset, 4, "Sender's SSRC: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "Sender's SSRC: %u",
sr.rtcp_sr_ssrc);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4, "NTP timestamp, MSW: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "NTP timestamp, MSW: %u",
sr.rtcp_sr_ntp_hi);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4, "NTP timestamp, LSW: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "NTP timestamp, LSW: %u",
sr.rtcp_sr_ntp_lo);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4, "RTP timestamp: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "RTP timestamp: %u",
sr.rtcp_sr_rtp_time);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4, "Sender's packet count: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "Sender's packet count: %u",
sr.rtcp_sr_npackets);
offset += 4;
- proto_tree_add_text(rtcp_tree, offset, 4, "Sender's octet count: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "Sender's octet count: %u",
sr.rtcp_sr_nbytes);
offset += 4;
@@ -265,7 +265,7 @@ dissect_rtcp_sdes_chunk(rtcp_hdr_t *hdr, int cn, const u_char *pd, int offset,
if ((offset + 4) > end_packet)
return -1;
- proto_tree_add_text(rtcp_tree, offset, 4, "Chunk %d SSRC: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 4, "Chunk %d SSRC: %u",
cn + 1, pntohl(&pd[offset]));
offset += 4;
@@ -281,7 +281,7 @@ dissect_rtcp_sdes_chunk(rtcp_hdr_t *hdr, int cn, const u_char *pd, int offset,
if ((offset - start_packet) & 3) {
offset += 4 - ((offset - start_packet) & 3);
}
- proto_tree_add_text(rtcp_tree, pad_start,
+ proto_tree_add_text(rtcp_tree, NullTVB, pad_start,
offset - pad_start,
"(end of chunk and alignment padding)");
break;
@@ -289,7 +289,7 @@ dissect_rtcp_sdes_chunk(rtcp_hdr_t *hdr, int cn, const u_char *pd, int offset,
ctype = rtcp_find_chunk_type(type);
- proto_tree_add_text(rtcp_tree, offset, 1, "Chunk type: %s",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 1, "Chunk type: %s",
ctype->name);
offset++;
@@ -297,14 +297,14 @@ dissect_rtcp_sdes_chunk(rtcp_hdr_t *hdr, int cn, const u_char *pd, int offset,
return -1;
len = pd[offset];
- proto_tree_add_text(rtcp_tree, offset, 1, "Chunk length: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 1, "Chunk length: %u",
(unsigned) len);
offset++;
if ((offset + len) > end_packet)
return -1;
- proto_tree_add_text(rtcp_tree, offset, len, "Chunk string: %s",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, len, "Chunk string: %s",
format_text(&pd[offset], len));
offset += len;
}
@@ -342,7 +342,7 @@ dissect_one_rtcp(const u_char *pd, int offset, frame_data *fd,
start_packet = offset;
end_offset = offset + END_OF_FRAME;
- ti = proto_tree_add_item(tree, proto_rtcp, offset, END_OF_FRAME, NULL);
+ 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) ?
@@ -351,15 +351,15 @@ dissect_one_rtcp(const u_char *pd, int offset, frame_data *fd,
if (offset >= end_offset)
return -1;
- proto_tree_add_text(rtcp_tree, offset, 1, "Version: %u (%s)",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 1, "Version: %u (%s)",
RTCP_VERSION(&hdr),
RTCP_VERSION(&hdr) == 3 ? "New Unknown Version" :
RTCP_VERSION(&hdr) == 2 ? "RFC 1889 Version" :
RTCP_VERSION(&hdr) == 1 ? "First Draft Version" :
"Old Vat Version");
- proto_tree_add_text(rtcp_tree, offset, 1, "Padding: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 1, "Padding: %u",
RTCP_PADDING(&hdr));
- proto_tree_add_text(rtcp_tree, offset, 1, "Count: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 1, "Count: %u",
RTCP_COUNT(&hdr));
offset++;
@@ -373,13 +373,13 @@ dissect_one_rtcp(const u_char *pd, int offset, frame_data *fd,
case RTCP_TYPE_APP: ptype = "APP: Application-defined"; break;
default: ptype = "Unknown"; break;
}
- proto_tree_add_text(rtcp_tree, offset, 1, "Type: %u (%s)",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 1, "Type: %u (%s)",
(u_int) hdr.rtcp_type, ptype);
offset++;
if (offset >= end_offset)
return -1;
- proto_tree_add_text(rtcp_tree, offset, 2, "Length / 4 - 1: %u",
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, 2, "Length / 4 - 1: %u",
(unsigned) hdr.rtcp_length);
offset += 2;
@@ -402,14 +402,14 @@ dissect_one_rtcp(const u_char *pd, int offset, frame_data *fd,
end_packet, rtcp_tree);
break;
default:
- proto_tree_add_text(rtcp_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, END_OF_FRAME,
"TYPE NOT HANDLED YET");
offset = end_packet;
break;
}
if (offset > 0 && offset < end_packet) {
- proto_tree_add_text(rtcp_tree, offset, end_packet - offset,
+ proto_tree_add_text(rtcp_tree, NullTVB, offset, end_packet - offset,
"Extra data (%d bytes)", end_packet - offset);
}
if (offset < 0)
@@ -433,7 +433,7 @@ dissect_rtcp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
offset = dissect_one_rtcp(pd, offset, fd, tree);
}
if (offset < 0) {
- proto_tree_add_text(tree, end_offset, 0,
+ proto_tree_add_text(tree, NullTVB, end_offset, 0,
"Unexpected end of packet");
}
}
diff --git a/packet-rtp.c b/packet-rtp.c
index 1590148bc2..f9d1dfd2b2 100644
--- a/packet-rtp.c
+++ b/packet-rtp.c
@@ -3,7 +3,7 @@
*
* Jason Lango <jal@netapp.com>
*
- * $Id: packet-rtp.c,v 1.2 2000/05/09 06:28:05 guy Exp $
+ * $Id: packet-rtp.c,v 1.3 2000/05/11 08:15:43 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -107,7 +107,7 @@ dissect_rtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
rtp_tree = NULL;
if (tree) {
- ti = proto_tree_add_item(tree, proto_rtp, offset, END_OF_FRAME,
+ ti = proto_tree_add_item(tree, proto_rtp, NullTVB, offset, END_OF_FRAME,
NULL);
rtp_tree = proto_item_add_subtree(ti, ett_rtp);
}
@@ -117,43 +117,43 @@ dissect_rtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (offset >= end_offset)
goto bad_len;
- proto_tree_add_text(rtp_tree, offset, 1, "Version: %u (%s)",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 1, "Version: %u (%s)",
RTP_VERSION(&hdr),
RTP_VERSION(&hdr) == 3 ? "New Unknown Version" :
RTP_VERSION(&hdr) == 2 ? "RFC 1889 Version" :
RTP_VERSION(&hdr) == 1 ? "First Draft Version" :
"Old Vat Version");
- proto_tree_add_text(rtp_tree, offset, 1, "Padding: %u",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 1, "Padding: %u",
RTP_PADDING(&hdr));
- proto_tree_add_text(rtp_tree, offset, 1, "Extension: %u",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 1, "Extension: %u",
RTP_EXTENSION(&hdr));
- proto_tree_add_text(rtp_tree, offset, 1, "CSRC Count: %u",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 1, "CSRC Count: %u",
RTP_CSRC_COUNT(&hdr));
offset++;
if (offset >= end_offset)
goto bad_len;
- proto_tree_add_text(rtp_tree, offset, 1, "Marker: %u",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 1, "Marker: %u",
RTP_MARKER(&hdr));
- proto_tree_add_text(rtp_tree, offset, 1, "Payload Type: %u",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 1, "Payload Type: %u",
RTP_PAYLOAD_TYPE(&hdr));
offset++;
if (offset >= end_offset)
goto bad_len;
- proto_tree_add_text(rtp_tree, offset, 2, "Seq: %u",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 2, "Seq: %u",
(u_int) hdr.rtp_seq);
offset += 2;
if (offset >= end_offset)
goto bad_len;
- proto_tree_add_text(rtp_tree, offset, 4, "Timestamp: %lu",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 4, "Timestamp: %lu",
(u_long) hdr.rtp_timestamp);
offset += 4;
if (offset >= end_offset)
goto bad_len;
- proto_tree_add_text(rtp_tree, offset, 4, "SSRC: %lu",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 4, "SSRC: %lu",
(u_long) hdr.rtp_ssrc);
offset += 4;
@@ -163,7 +163,7 @@ dissect_rtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (offset >= end_offset)
goto bad_len;
csrc = pntohl(csrc_ptr);
- proto_tree_add_text(rtp_tree, offset, 4, "CSRC %d: %lu",
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 4, "CSRC %d: %lu",
ii + 1, (u_long) csrc);
offset += 4;
csrc_ptr++;
@@ -176,25 +176,25 @@ dissect_rtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
ext.rtp_ext_app = ntohs(ext.rtp_ext_app);
ext.rtp_ext_length = ntohs(ext.rtp_ext_length);
- proto_tree_add_text(rtp_tree, offset, 2,
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 2,
"Extension-defined: %x", (u_int) ext.rtp_ext_app);
offset += 2;
- proto_tree_add_text(rtp_tree, offset, 2,
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 2,
"Extension length: %u", (u_int) ext.rtp_ext_length);
offset += 2;
- proto_tree_add_text(rtp_tree, offset, 4 * ext.rtp_ext_length,
+ proto_tree_add_text(rtp_tree, NullTVB, offset, 4 * ext.rtp_ext_length,
"Extension Data (%d bytes)",
(int) 4 * ext.rtp_ext_length);
offset += 4 * ext.rtp_ext_length;
}
- proto_tree_add_text(rtp_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(rtp_tree, NullTVB, offset, END_OF_FRAME,
"Data (%d bytes)", END_OF_FRAME);
return;
bad_len:
- proto_tree_add_text(rtp_tree, end_offset, 0,
+ proto_tree_add_text(rtp_tree, NullTVB, end_offset, 0,
"Unexpected end of packet");
}
diff --git a/packet-rtsp.c b/packet-rtsp.c
index 4acf052101..1c929c32e4 100644
--- a/packet-rtsp.c
+++ b/packet-rtsp.c
@@ -4,7 +4,7 @@
* Jason Lango <jal@netapp.com>
* Liberally copied from packet-http.c, by Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-rtsp.c,v 1.12 2000/04/21 07:43:53 guy Exp $
+ * $Id: packet-rtsp.c,v 1.13 2000/05/11 08:15:43 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -153,7 +153,7 @@ static void dissect_rtsp(const u_char *pd, int offset, frame_data *fd,
rtsp_tree = NULL;
if (tree) {
- ti = proto_tree_add_item(tree, proto_rtsp, offset,
+ ti = proto_tree_add_item(tree, proto_rtsp, NullTVB, offset,
END_OF_FRAME, NULL);
rtsp_tree = proto_item_add_subtree(ti, ett_rtsp);
}
@@ -263,7 +263,7 @@ static void dissect_rtsp(const u_char *pd, int offset, frame_data *fd,
* Put this line.
*/
if (rtsp_tree) {
- proto_tree_add_text(rtsp_tree, offset, linelen, "%s",
+ proto_tree_add_text(rtsp_tree, NullTVB, offset, linelen, "%s",
format_text(data, linelen));
}
if (linelen > strlen(rtsp_transport) &&
@@ -280,13 +280,13 @@ static void dissect_rtsp(const u_char *pd, int offset, frame_data *fd,
col_add_str(fd, COL_PROTOCOL, "RTSP/SDP");
}
else if (data < dataend) {
- proto_tree_add_text(rtsp_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(rtsp_tree, NullTVB, offset, END_OF_FRAME,
"Data (%d bytes)", END_OF_FRAME);
}
return;
bad_len:
- proto_tree_add_text(rtsp_tree, end_offset, 0,
+ proto_tree_add_text(rtsp_tree, NullTVB, end_offset, 0,
"Unexpected end of packet");
}
@@ -318,7 +318,7 @@ process_rtsp_request_or_reply(const u_char *data, int offset, int linelen,
status_start = status;
while (status < lineend && isdigit(*status))
status_i = status_i * 10 + *status++ - '0';
- proto_tree_add_item_hidden(tree, hf_rtsp_status,
+ proto_tree_add_item_hidden(tree, hf_rtsp_status, NullTVB,
offset + (status_start - data),
status - status_start, status_i);
}
@@ -340,7 +340,7 @@ process_rtsp_request_or_reply(const u_char *data, int offset, int linelen,
u_char *tmp_url;
/* method name */
- proto_tree_add_item_hidden(tree, hf_rtsp_method, offset,
+ proto_tree_add_item_hidden(tree, hf_rtsp_method, NullTVB, offset,
strlen(rtsp_methods[ii]), rtsp_methods[ii]);
/* URL */
@@ -355,7 +355,7 @@ process_rtsp_request_or_reply(const u_char *data, int offset, int linelen,
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,
+ proto_tree_add_item_hidden(tree, hf_rtsp_url, NullTVB,
offset + (url_start - data), url - url_start, tmp_url);
g_free(tmp_url);
}
diff --git a/packet-rx.c b/packet-rx.c
index 28bdf78ba8..7889c2456f 100644
--- a/packet-rx.c
+++ b/packet-rx.c
@@ -4,7 +4,7 @@
* Based on routines from tcpdump patches by
* Ken Hornstein <kenh@cmf.nrl.navy.mil>
*
- * $Id: packet-rx.c,v 1.10 2000/04/14 06:42:51 guy Exp $
+ * $Id: packet-rx.c,v 1.11 2000/05/11 08:15:43 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -114,46 +114,46 @@ dissect_rx(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_rx, offset,
+ ti = proto_tree_add_protocol_format(tree, proto_rx, NullTVB, offset,
sizeof(struct rx_header), "RX Protocol (%s)",
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,
+ proto_tree_add_item(rx_tree, hf_rx_epoch, NullTVB,
offset, 4, pntohl(&rxh->epoch));
- proto_tree_add_item(rx_tree, hf_rx_cid,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(rx_tree, hf_rx_userstatus, NullTVB,
offset+22, 1, rxh->userStatus);
- proto_tree_add_item(rx_tree, hf_rx_securityindex,
+ proto_tree_add_item(rx_tree, hf_rx_securityindex, NullTVB,
offset+23, 1, rxh->securityIndex);
- proto_tree_add_item(rx_tree, hf_rx_spare,
+ 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,
+ proto_tree_add_item(rx_tree, hf_rx_serviceid, NullTVB,
offset+26, 2, pntohs(&rxh->serviceId));
}
diff --git a/packet-sap.c b/packet-sap.c
index adfd4c163f..99d9bea9fa 100644
--- a/packet-sap.c
+++ b/packet-sap.c
@@ -4,7 +4,7 @@
*
* Heikki Vatiainen <hessu@cs.tut.fi>
*
- * $Id: packet-sap.c,v 1.6 2000/04/08 07:07:35 guy Exp $
+ * $Id: packet-sap.c,v 1.7 2000/05/11 08:15:43 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -154,28 +154,28 @@ dissect_sap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
- si = proto_tree_add_item(tree, proto_sap, offset, END_OF_FRAME, NULL);
+ 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, offset, 1, pd[offset]);
+ 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, offset, 1, pd[offset]);
- proto_tree_add_item(sap_flags_tree, hf_sap_flags_a, offset, 1, pd[offset]);
- proto_tree_add_item(sap_flags_tree, hf_sap_flags_r, offset, 1, pd[offset]);
- proto_tree_add_item(sap_flags_tree, hf_sap_flags_t, offset, 1, pd[offset]);
- proto_tree_add_item(sap_flags_tree, hf_sap_flags_e, offset, 1, pd[offset]);
- proto_tree_add_item(sap_flags_tree, hf_sap_flags_c, offset, 1, pd[offset]);
+ 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, offset, 1, "Authentication Length: %u", pd[offset]);
+ proto_tree_add_text(sap_tree, NullTVB, offset, 1, "Authentication Length: %u", pd[offset]);
auth_len = pd[offset];
offset++;
tmp1 = pntohs(pd+offset);
- proto_tree_add_text(sap_tree, offset, 2, "Message Identifier Hash: 0x%x", tmp1);
+ proto_tree_add_text(sap_tree, NullTVB, offset, 2, "Message Identifier Hash: 0x%x", tmp1);
offset +=2;
- proto_tree_add_text(sap_tree, offset, addr_len, "Originating Source: %s",
+ proto_tree_add_text(sap_tree, NullTVB, offset, addr_len, "Originating Source: %s",
(is_ipv6) ? ip6_to_str((struct e_in6_addr*)(pd+offset)) : ip_to_str(pd+offset));
offset += addr_len;
@@ -189,26 +189,26 @@ dissect_sap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
auth_data_len = auth_len * sizeof(guint32);
- sdi = proto_tree_add_item(sap_tree, hf_auth_data, offset, auth_data_len, pd[offset]);
+ 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, offset, 1, pd[offset]);
+ 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, offset, 1, pd[offset]);
- proto_tree_add_item(saf_tree, hf_auth_flags_p, offset, 1, pd[offset]);
- proto_tree_add_item(saf_tree, hf_auth_flags_t, offset, 1, pd[offset]);
+ 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);
- proto_tree_add_text(sa_tree, offset+1, auth_data_len-pad_len-1,
+ proto_tree_add_text(sa_tree, NullTVB, offset+1, auth_data_len-pad_len-1,
"Authentication subheader: (%u byte%s)",
auth_data_len-1, plurality(auth_data_len-1, "", "s"));
if (has_pad) {
- proto_tree_add_text(sa_tree, offset+auth_data_len-pad_len, pad_len,
+ proto_tree_add_text(sa_tree, NullTVB, offset+auth_data_len-pad_len, pad_len,
"Authentication data padding: (%u byte%s)",
pad_len, plurality(pad_len, "", "s"));
- proto_tree_add_text(sa_tree, offset+auth_data_len-1, 1,
+ proto_tree_add_text(sa_tree, NullTVB, offset+auth_data_len-1, 1,
"Authentication data pad count: %u byte%s",
pad_len, plurality(pad_len, "", "s"));
}
@@ -218,12 +218,12 @@ dissect_sap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (is_enc) { /* Encrypted payload implies valid timeout in the SAP header */
tmp2 = pntohl(pd+offset);
- proto_tree_add_text(sap_tree, offset, 4, "Timeout: %u", tmp2);
+ proto_tree_add_text(sap_tree, NullTVB, offset, 4, "Timeout: %u", tmp2);
offset += sizeof(guint32);
}
if (is_enc || is_comp) {
- proto_tree_add_text(sap_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(sap_tree, NullTVB, offset, END_OF_FRAME,
"Rest of the packet is encrypted or compressed");
return;
}
@@ -231,7 +231,7 @@ dissect_sap(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* Do we have the optional payload type aka. MIME content specifier */
if (strncasecmp(pd+offset, "v=", strlen("v="))) {
guint32 pt_len = strlen(pd+offset); /* BUG: should use strnlen */
- proto_tree_add_text(sap_tree, offset, pt_len, "Payload type: %s", pd+offset);
+ proto_tree_add_text(sap_tree, NullTVB, offset, pt_len, "Payload type: %s", pd+offset);
offset += pt_len;
if (pd[offset] == '\0')
offset++; /* Skip possible '\0' */
diff --git a/packet-sdp.c b/packet-sdp.c
index 14298510bd..9b84e83cce 100644
--- a/packet-sdp.c
+++ b/packet-sdp.c
@@ -4,7 +4,7 @@
* Jason Lango <jal@netapp.com>
* Liberally copied from packet-http.c, by Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-sdp.c,v 1.6 2000/01/22 06:22:17 guy Exp $
+ * $Id: packet-sdp.c,v 1.7 2000/05/11 08:15:43 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -72,7 +72,7 @@ void dissect_sdp(const u_char *pd, int offset, frame_data *fd,
if (!tree)
return;
- ti = proto_tree_add_item(tree, proto_sdp, offset, END_OF_FRAME, NULL);
+ 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;
@@ -91,7 +91,7 @@ void dissect_sdp(const u_char *pd, int offset, frame_data *fd,
type = data[0];
if (data[1] != '=') {
- proto_tree_add_text(sdp_tree, offset, linelen,
+ proto_tree_add_text(sdp_tree, NullTVB, offset, linelen,
"Invalid line: %s",
format_text(data, linelen));
continue;
@@ -166,13 +166,13 @@ void dissect_sdp(const u_char *pd, int offset, frame_data *fd,
break;
}
- proto_tree_add_text(sdp_tree, offset, linelen,
+ proto_tree_add_text(sdp_tree, NullTVB, offset, linelen,
"%s (%c): %s", typename, type,
format_text(value, valuelen));
}
if (data < dataend) {
- proto_tree_add_text(sdp_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(sdp_tree, NullTVB, offset, END_OF_FRAME,
"Data (%d bytes)", END_OF_FRAME);
}
}
diff --git a/packet-smb-browse.c b/packet-smb-browse.c
index 611cb4c11a..a217b7597e 100644
--- a/packet-smb-browse.c
+++ b/packet-smb-browse.c
@@ -2,7 +2,7 @@
* Routines for smb packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-smb-browse.c,v 1.2 2000/04/08 01:28:13 sharpe Exp $
+ * $Id: packet-smb-browse.c,v 1.3 2000/05/11 08:15:44 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -167,10 +167,10 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) { /* Add the browse tree */
- ti = proto_tree_add_item(parent, proto_smb_browse, DataOffset, DataCount, NULL);
+ 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, loc_offset, 1, "OpCode: %s", (OpCode > (sizeof(browse_commands)/sizeof(char *))) ? "Error, No Such Command" : browse_commands[OpCode]);
+ 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]);
}
@@ -186,7 +186,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Update Count: %u", UpdateCount);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Update Count: %u", UpdateCount);
}
@@ -196,7 +196,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Update Periodicity: %u Sec", Periodicity/1000 );
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Update Periodicity: %u Sec", Periodicity/1000 );
}
@@ -212,7 +212,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 16, (OpCode == DOMAINANNOUNCEMENT) ? "Domain/WorkGroup: %s": "Host Name: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 16, (OpCode == DOMAINANNOUNCEMENT) ? "Domain/WorkGroup: %s": "Host Name: %s", ServerName);
}
@@ -222,7 +222,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Major Version: %u", VersionMajor);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Major Version: %u", VersionMajor);
}
@@ -232,7 +232,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Minor Version: %u", VersionMinor);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Minor Version: %u", VersionMinor);
}
@@ -255,55 +255,55 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- ti = proto_tree_add_text(browse_tree, loc_offset, 4, "Server Type: 0x%04x", ServerType);
+ ti = proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Server Type: 0x%04x", ServerType);
flags_tree = proto_item_add_subtree(ti, ett_browse_flags);
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0001, 32, "Workstation", "Not Workstation"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0002, 32, "Server", "Not Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0004, 32, "SQL Server", "Not SQL Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0008, 32, "Domain Controller", "Not Domain Controller"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0010, 32, "Backup Controller", "Not Backup Controller"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0020, 32, "Time Source", "Not Time Source"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0040, 32, "Apple Server", "Not Apple Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0080, 32, "Novell Server", "Not Novell Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0100, 32, "Domain Member Server", "Not Domain Member Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0200, 32, "Print Queue Server", "Not Print Queue Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0400, 32, "Dialin Server", "Not Dialin Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x0800, 32, "Xenix Server", "Not Xenix Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x1000, 32, "NT Workstation", "Not NT Workstation"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x2000, 32, "Windows for Workgroups", "Not Windows for Workgroups"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x8000, 32, "NT Server", "Not NT Server"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x10000, 32, "Potential Browser", "Not Potential Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x20000, 32, "Backup Browser", "Not Backup Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x40000, 32, "Master Browser", "Not Master Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x80000, 32, "Domain Master Browser", "Not Domain Master Browser"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x100000, 32, "OSF", "Not OSF"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x200000, 32, "VMS", "Not VMS"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x400000, 32, "Windows 95 or above", "Not Windows 95 or above"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x40000000, 32, "Local List Only", "Not Local List Only"));
- proto_tree_add_text(flags_tree, loc_offset, 4, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, loc_offset, 4, "%s",
decode_boolean_bitfield(ServerType, 0x80000000, 32, "Domain Enum", "Not Domain Enum"));
}
loc_offset += 4;
@@ -312,7 +312,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 2, "Election Version: %u", ElectionVersion);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 2, "Election Version: %u", ElectionVersion);
}
@@ -322,7 +322,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 2, "Signature: %u (0x%04X)", SigConstant, SigConstant);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 2, "Signature: %u (0x%04X)", SigConstant, SigConstant);
}
@@ -332,7 +332,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerComment) + 1, "Host Comment: %s", ServerComment);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerComment) + 1, "Host Comment: %s", ServerComment);
}
@@ -344,7 +344,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Unused Flags: %u", Flags);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Unused Flags: %u", Flags);
}
@@ -354,7 +354,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Send List To: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Send List To: %s", ServerName);
}
@@ -366,7 +366,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Election Version = %u", ElectionVersion);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Election Version = %u", ElectionVersion);
}
@@ -379,66 +379,66 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- ti = proto_tree_add_text(browse_tree, loc_offset, 4, "Election Criteria = %u (0x%08X)", ElectionCriteria, ElectionCriteria);
+ ti = proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Election Criteria = %u (0x%08X)", ElectionCriteria, ElectionCriteria);
ec = proto_item_add_subtree(ti, ett_browse_election_criteria);
- ti = proto_tree_add_text(ec, loc_offset + 3, 1, "Election OS Summary: %u (0x%02X)", ElectionOS, ElectionOS);
+ ti = proto_tree_add_text(ec, NullTVB, loc_offset + 3, 1, "Election OS Summary: %u (0x%02X)", ElectionOS, ElectionOS);
OSflags = proto_item_add_subtree(ti, ett_browse_election_os);
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x01, 8, "Windows for Workgroups", "Not Windows for Workgroups"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x02, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x04, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x08, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x10, 8, "Windows NT Workstation", "Not Windows NT Workstation"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x20, 8, "Windows NT Server", "Not Windows NT Server"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x40, 8, "Unknown", "Not used"));
- proto_tree_add_text(OSflags, loc_offset + 3, 1, "%s",
+ proto_tree_add_text(OSflags, NullTVB, loc_offset + 3, 1, "%s",
decode_boolean_bitfield(ElectionOS, 0x80, 8, "Unknown", "Not used"));
- proto_tree_add_text(ec, loc_offset + 1, 2, "Election Revision: %u (0x%04X)", ElectionRevision, ElectionRevision);
+ proto_tree_add_text(ec, NullTVB, loc_offset + 1, 2, "Election Revision: %u (0x%04X)", ElectionRevision, ElectionRevision);
- ti = proto_tree_add_text(ec, loc_offset, 1, "Election Desire Summary: %u (0x%02X)", ElectionDesire, ElectionDesire);
+ ti = proto_tree_add_text(ec, NullTVB, loc_offset, 1, "Election Desire Summary: %u (0x%02X)", ElectionDesire, ElectionDesire);
DesireFlags = proto_item_add_subtree(ti, ett_browse_election_desire);
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x01, 8, "Backup Browse Server", "Not Backup Browse Server"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x02, 8, "Standby Browse Server", "Not Standby Browse Server"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x04, 8, "Master Browser", "Not Master Browser"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x08, 8, "Domain Master Browse Server", "Not Domain Master Browse Server"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x10, 8, "Unknown", "Not used"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x20, 8, "WINS Client", "Not WINS Client"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x40, 8, "Unknown", "Not used"));
- proto_tree_add_text(DesireFlags, loc_offset, 1, "%s",
+ proto_tree_add_text(DesireFlags, NullTVB, loc_offset, 1, "%s",
decode_boolean_bitfield(ElectionDesire, 0x80, 8, "Windows NT Advanced Server", "Not Windows NT Advanced Server"));
}
@@ -449,7 +449,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Server Up Time: %u Sec (%ums)", ServerUpTime/1000, ServerUpTime);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Server Up Time: %u Sec (%ums)", ServerUpTime/1000, ServerUpTime);
}
@@ -463,7 +463,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Election Server Name: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Election Server Name: %s", ServerName);
}
@@ -475,7 +475,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Backup List Requested Count: %u", BackupServerCount);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Backup List Requested Count: %u", BackupServerCount);
}
@@ -485,7 +485,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Backup Request Token: %u", Token);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Backup Request Token: %u", Token);
}
@@ -497,7 +497,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 1, "Backup Server Count: %u", BackupServerCount);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 1, "Backup Server Count: %u", BackupServerCount);
}
@@ -507,7 +507,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, 4, "Backup Response Token: %u", Token);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, 4, "Backup Response Token: %u", Token);
}
@@ -519,7 +519,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Backup Server: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Backup Server: %s", ServerName);
}
@@ -537,7 +537,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Browser to Promote: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Browser to Promote: %s", ServerName);
}
@@ -549,7 +549,7 @@ dissect_mailslot_browse(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(browse_tree, loc_offset, strlen(ServerName) + 1, "Server Name: %s", ServerName);
+ proto_tree_add_text(browse_tree, NullTVB, loc_offset, strlen(ServerName) + 1, "Server Name: %s", ServerName);
}
diff --git a/packet-smb-common.c b/packet-smb-common.c
index 067f401ead..ea07153527 100644
--- a/packet-smb-common.c
+++ b/packet-smb-common.c
@@ -2,7 +2,7 @@
* Common routines for smb packet dissection
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com>
*
- * $Id: packet-smb-common.c,v 1.3 2000/02/14 04:22:22 guy Exp $
+ * $Id: packet-smb-common.c,v 1.4 2000/05/11 08:15:44 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -49,7 +49,7 @@ int display_ms_value( char *Name, int len, const u_char *pd, int offset,
else
return 0;
- proto_tree_add_text( tree, offset, len, "%s: %u", Name, Temp32);
+ proto_tree_add_text( tree, NullTVB, offset, len, "%s: %u", Name, Temp32);
return len;
}
@@ -59,7 +59,7 @@ int display_ms_string( char *Name, const u_char *pd, int offset,
{/* display a string from the tree and return the amount to move offset */
- proto_tree_add_text( tree, offset, strlen( &pd[offset]) + 1, "%s: %s ",
+ proto_tree_add_text( tree, NullTVB, offset, strlen( &pd[offset]) + 1, "%s: %s ",
Name, &pd[offset]);
return strlen( &pd[offset]) + 1;
@@ -83,7 +83,7 @@ int display_unicode_string( char *Name, const u_char *pd, int offset,
}
*OutPtr = 0; /* terminate out string */
- proto_tree_add_text( tree, offset, strlen( Temp) * 2 + 2, "%s: %s ",
+ proto_tree_add_text( tree, NullTVB, offset, strlen( Temp) * 2 + 2, "%s: %s ",
Name, Temp);
return strlen( Temp) * 2 + 2;
@@ -96,7 +96,7 @@ dissect_smb_unknown( const u_char *pd, int offset, frame_data *fd,
/* display data as unknown */
- proto_tree_add_text(tree, offset, END_OF_FRAME, "Data (%u bytes)",
+ proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "Data (%u bytes)",
END_OF_FRAME);
}
@@ -142,7 +142,7 @@ display_flags( struct flag_array_type *flag_array, int length,
}
while( array_ptr->mask) {
- proto_tree_add_text( tree, offset, 2, "%s%s%s%s",
+ proto_tree_add_text( tree, NullTVB, offset, 2, "%s%s%s%s",
decode_boolean_bitfield( flags, array_ptr->mask,
length * 8, "",""),
array_ptr->pre_string,
diff --git a/packet-smb-common.h b/packet-smb-common.h
index 4b1b0ab59f..95fb04961c 100644
--- a/packet-smb-common.h
+++ b/packet-smb-common.h
@@ -2,7 +2,7 @@
* Routines for smb packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-smb-common.h,v 1.1 2000/02/14 04:02:06 guy Exp $
+ * $Id: packet-smb-common.h,v 1.2 2000/05/11 08:15:45 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -53,13 +53,13 @@
-#define ShortPacketError proto_tree_add_text(tree, offset, 0, "****FRAME TOO SHORT***"); return;
+#define ShortPacketError proto_tree_add_text(tree, NullTVB, offset, 0, "****FRAME TOO SHORT***"); return;
#define IncAndCheckOffset if ( ++offset > fd->cap_len) {ShortPacketError;}
#define CheckPacketLength(X) if ((offset+X) > fd->cap_len) {ShortPacketError;}
#define MoveAndCheckOffset(X) {int tmp = X; if (( offset + tmp) > fd->cap_len){ ShortPacketError;} else offset += tmp;}
-#define UnknowData if (tree) proto_tree_add_text(tree, offset, END_OF_FRAME, "Data (%u bytes)",END_OF_FRAME);
+#define UnknowData if (tree) proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "Data (%u bytes)",END_OF_FRAME);
struct flag_array_type {
diff --git a/packet-smb-logon.c b/packet-smb-logon.c
index 749566de15..82fdea6aaf 100644
--- a/packet-smb-logon.c
+++ b/packet-smb-logon.c
@@ -2,7 +2,7 @@
* Routines for smb net logon packet dissection
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com>
*
- * $Id: packet-smb-logon.c,v 1.3 2000/02/21 23:50:15 sharpe Exp $
+ * $Id: packet-smb-logon.c,v 1.4 2000/05/11 08:15:45 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -59,7 +59,7 @@ dissect_account_control( const u_char *pd, int offset, frame_data *fd,
};
- ti = proto_tree_add_text( tree, offset, 4,
+ ti = proto_tree_add_text( tree, NullTVB, offset, 4,
"Account control = 0x%04x", flags);
flags_tree = proto_item_add_subtree( ti, ett_smb_account_flags);
@@ -78,14 +78,14 @@ display_LM_token( const u_char *pd, int *offset, frame_data *fd,
guint16 Token = GSHORT( pd, *offset);
if ( Token && 0x01)
- proto_tree_add_text( tree, *offset, 2,
+ proto_tree_add_text( tree, NullTVB, *offset, 2,
"LM20 Token: 0x%x (LanMan 2.0 or higher)", Token);
else
- proto_tree_add_text( tree, *offset, 2,
+ proto_tree_add_text( tree, NullTVB, *offset, 2,
"LM10 Token: 0x%x (WFW Networking)", Token);
if (( *offset + 2) > fd->cap_len)
- proto_tree_add_text(tree, *offset, 0,"****FRAME TOO SHORT***");
+ proto_tree_add_text(tree, NullTVB, *offset, 0,"****FRAME TOO SHORT***");
else
*offset += 2;
@@ -104,11 +104,11 @@ display_NT_version( const u_char *pd, int *offset, frame_data *fd,
else
Version = GWORD( pd, *offset);
- proto_tree_add_text( tree, *offset, length, "NT Version: 0x%x ",
+ proto_tree_add_text( tree, NullTVB, *offset, length, "NT Version: 0x%x ",
Version);
if (( *offset + length) > fd->cap_len)
- proto_tree_add_text(tree, *offset, 0, "****FRAME TOO SHORT***");
+ proto_tree_add_text(tree, NullTVB, *offset, 0, "****FRAME TOO SHORT***");
else
*offset += length;
@@ -207,7 +207,7 @@ dissect_smb_pdc_query(const u_char *pd, int offset, frame_data *fd,
display_NT_version( pd, &offset, fd, tree, 4);
- proto_tree_add_text( tree, offset, 2, "LMNT Token: 0x%x",
+ proto_tree_add_text( tree, NullTVB, offset, 2, "LMNT Token: 0x%x",
GWORD(pd, offset));
MoveAndCheckOffset( 2);
@@ -309,7 +309,7 @@ dissect_smb_sam_logon_req(const u_char *pd, int offset, frame_data *fd,
/*** Netlogon command 0x12 - decode the SAM logon request from client ***/
- proto_tree_add_text( tree, offset, 2, "Request Count = %x",
+ proto_tree_add_text( tree, NullTVB, offset, 2, "Request Count = %x",
GSHORT(pd, offset));
MoveAndCheckOffset( 2);
@@ -325,7 +325,7 @@ dissect_smb_sam_logon_req(const u_char *pd, int offset, frame_data *fd,
dissect_account_control( pd, offset, fd, tree);
- proto_tree_add_text( tree, offset, 2, "Domain SID Size = %x",
+ proto_tree_add_text( tree, NullTVB, offset, 2, "Domain SID Size = %x",
GWORD(pd, offset));
}
@@ -377,7 +377,7 @@ dissect_smb_acc_update( const u_char *pd, int offset, frame_data *fd,
Temp2 = GWORD( pd, offset + 4);
- proto_tree_add_text( tree, offset, 2, "Signature: 0x%04x%04x",
+ proto_tree_add_text( tree, NullTVB, offset, 2, "Signature: 0x%04x%04x",
Temp1, Temp2);
MoveAndCheckOffset( 8);
@@ -440,7 +440,7 @@ void dissect_smb_sam_logon_resp(const u_char *pd, int offset, frame_data *fd,
display_NT_version( pd, &offset, fd, tree, 4);
- proto_tree_add_text( tree, offset, 2, "LMNT Token: 0x%x",
+ proto_tree_add_text( tree, NullTVB, offset, 2, "LMNT Token: 0x%x",
GSHORT(pd, offset));
MoveAndCheckOffset( 2);
@@ -530,11 +530,11 @@ static void (*dissect_smb_logon_cmds[])(const u_char *, int, frame_data *,
col_add_fstr(fd, COL_INFO, "%s", CommandName[ cmd]);
if (tree) {
- ti = proto_tree_add_item( parent, proto_smb_logon, offset,
+ 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, offset, 1,
+ proto_tree_add_text(smb_logon_tree, NullTVB, offset, 1,
"Command: %u (%s)", cmd, CommandName[ cmd]);
offset += 2; /* skip to name field */
diff --git a/packet-smb-mailslot.c b/packet-smb-mailslot.c
index 9d37b6b2dd..5e8e5fdfc4 100644
--- a/packet-smb-mailslot.c
+++ b/packet-smb-mailslot.c
@@ -2,7 +2,7 @@
* Routines for smb mailslot packet dissection
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com>
*
- * $Id: packet-smb-mailslot.c,v 1.3 2000/02/14 04:21:04 guy Exp $
+ * $Id: packet-smb-mailslot.c,v 1.4 2000/05/11 08:15:45 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -91,18 +91,18 @@ dissect_mailslot_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item( parent, proto_smb_msp, offset,
+ 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, offset, 2, "Op code: %u (%s)",
+ proto_tree_add_text(smb_msp_tree, NullTVB, offset, 2, "Op code: %u (%s)",
Temp16, ( Temp16 == 1 ? "Write Mail slot" : "Unknown"));
offset += 2;
/* do the Priority field */
Temp16 = GSHORT(pd, offset);
- proto_tree_add_text(smb_msp_tree, offset, 2,
+ proto_tree_add_text(smb_msp_tree, NullTVB, offset, 2,
"Priority of transaction: %u", Temp16);
offset += 2;
@@ -110,7 +110,7 @@ dissect_mailslot_smb(const u_char *pd, int offset, frame_data *fd,
/* do the Class field */
Temp16 = GSHORT(pd, offset);
- proto_tree_add_text(smb_msp_tree, offset, 2, "Class: %u (%s)",
+ proto_tree_add_text(smb_msp_tree, NullTVB, offset, 2, "Class: %u (%s)",
Temp16, ( Temp16 == 1) ? "Reliable" : (( Temp16 == 2) ?
"Unreliable & Broadcast" : "Unknown"));
@@ -118,7 +118,7 @@ dissect_mailslot_smb(const u_char *pd, int offset, frame_data *fd,
/* do the data size field */
Temp16 = GSHORT(pd, offset);
- proto_tree_add_text(smb_msp_tree, offset, 2,
+ proto_tree_add_text(smb_msp_tree, NullTVB, offset, 2,
"Total size of mail data: %u", Temp16);
offset += 2;
@@ -131,7 +131,7 @@ dissect_mailslot_smb(const u_char *pd, int offset, frame_data *fd,
StrPtr = &pd[offset]; /* load pointer to name */
if (smb_msp_tree) {
- proto_tree_add_text(smb_msp_tree, offset, strlen( StrPtr) + 1,
+ proto_tree_add_text(smb_msp_tree, NullTVB, offset, strlen( StrPtr) + 1,
"Mailslot Name: %s", StrPtr);
}
diff --git a/packet-smb-pipe.c b/packet-smb-pipe.c
index fe9370d7a6..1a7713aa1a 100644
--- a/packet-smb-pipe.c
+++ b/packet-smb-pipe.c
@@ -2,7 +2,7 @@
* Routines for smb packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-smb-pipe.c,v 1.4 2000/03/06 20:03:07 guy Exp $
+ * $Id: packet-smb-pipe.c,v 1.5 2000/05/11 08:15:45 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -151,53 +151,53 @@ find_lanman(int lanman_num)
void dissect_server_flags(proto_tree *tree, int offset, int length, int flags)
{
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0001, length*8, "Workstation", "Not Workstation"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0002, length*8, "Server", "Not Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0004, length*8, "SQL Server", "Not SQL Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0008, length*8, "Domain Controller", "Not Domain Controller"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0010, length*8, "Backup Controller", "Not Backup Controller"));
- proto_tree_add_text(tree, offset, 4, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(flags, 0x0020, length*8, "Time Source", "Not Time Source"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0040, length*8, "Apple Server", "Not Apple Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0080, length*8, "Novell Server", "Not Novell Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0100, length*8, "Domain Member Server", "Not Domain Member Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0200, length*8, "Print Queue Server", "Not Print Queue Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0400, length*8, "Dialin Server", "Not Dialin Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x0800, length*8, "Xenix Server", "Not Xenix Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x1000, length*8, "NT Workstation", "Not NT Workstation"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x2000, length*8, "Windows for Workgroups", "Not Windows for Workgroups"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x8000, length*8, "NT Server", "Not NT Server"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x10000, length*8, "Potential Browser", "Not Potential Browser"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x20000, length*8, "Backup Browser", "Not Backup Browser"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x40000, length*8, "Master Browser", "Not Master Browser"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x80000, length*8, "Domain Master Browser", "Not Domain Master Browser"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x100000, length*8, "OSF", "Not OSF"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x200000, length*8, "VMS", "Not VMS"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x400000, length*8, "Windows 95 or above", "Not Windows 95 or above"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x40000000, length*8, "Local List Only", "Not Local List Only"));
- proto_tree_add_text(tree, offset, length, "%s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "%s",
decode_boolean_bitfield(flags, 0x80000000, length*8, "Domain Enum", "Not Domain Enum"));
}
@@ -310,7 +310,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
WParam = GSHORT(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 2, "%s: %u (%04X)", (Name) ? Name : "Returned Word", WParam, WParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 2, "%s: %u (%04X)", (Name) ? Name : "Returned Word", WParam, WParam);
pd_p_current += 2;
@@ -328,7 +328,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
WParam = GSHORT(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 2, "%s: (%04X)", (Name) ? Name : "Entry Count", WParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 2, "%s: (%04X)", (Name) ? Name : "Entry Count", WParam);
pd_p_current += 2;
@@ -348,7 +348,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
WParam = GSHORT(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 2, "%s: %u (%04X)", (Name) ? Name : "Word Param", WParam, WParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 2, "%s: %u (%04X)", (Name) ? Name : "Word Param", WParam, WParam);
pd_p_current += 2;
@@ -364,7 +364,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
LParam = GWORD(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 4, "%s: %u (0x%08X)", (Name) ? Name : "Returned Long Word", LParam, LParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 4, "%s: %u (0x%08X)", (Name) ? Name : "Returned Long Word", LParam, LParam);
pd_p_current += 2;
@@ -380,7 +380,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
LParam = GWORD(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 4, "%s: %u (0x%08X)", (Name) ? Name : "DWord Param", LParam, LParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 4, "%s: %u (0x%08X)", (Name) ? Name : "DWord Param", LParam, LParam);
pd_p_current += 4;
@@ -396,7 +396,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
bc = get_byte_count(p_desc + p_offset);
- proto_tree_add_text(tree, pd_p_current, bc, "%s%u: %s", (Name) ? Name : "B", (bc) ? bc : 1, format_text( pd + pd_p_current, (bc) ? bc : 1));
+ proto_tree_add_text(tree, NullTVB, pd_p_current, bc, "%s%u: %s", (Name) ? Name : "B", (bc) ? bc : 1, format_text( pd + pd_p_current, (bc) ? bc : 1));
pd_p_current += (bc) ? bc : 1;
@@ -414,7 +414,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
/*Bytes = g_malloc(bc + 1); / * Is this needed ? */
- proto_tree_add_text(tree, pd_p_current, bc, "%s%u: %s", (Name) ? Name : "B", (bc) ? bc : 1, format_text(pd + pd_p_current, (bc) ? bc : 1));
+ proto_tree_add_text(tree, NullTVB, pd_p_current, bc, "%s%u: %s", (Name) ? Name : "B", (bc) ? bc : 1, format_text(pd + pd_p_current, (bc) ? bc : 1));
pd_p_current += (bc) ? bc : 1;
@@ -428,7 +428,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
if (dirn == 1) {
- proto_tree_add_text(tree, pd_p_current, 0, "%s: Null Pointer", (Name) ? Name : "Unknown");
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 0, "%s: Null Pointer", (Name) ? Name : "Unknown");
return 1; /* That's it here */
@@ -442,7 +442,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
AsciiZ = pd + pd_p_current;
- proto_tree_add_text(tree, pd_p_current, strlen(AsciiZ) + 1, "%s: %s", (Name) ? Name : "AsciiZ", AsciiZ);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, strlen(AsciiZ) + 1, "%s: %s", (Name) ? Name : "AsciiZ", AsciiZ);
pd_p_current += strlen(AsciiZ) + 1;
@@ -458,7 +458,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
bc = get_byte_count(pd);
- proto_tree_add_text(tree, pd_p_current, bc, "%s%u: %s", (Name) ? Name : "Pad", bc, format_text(pd + pd_p_current, bc));
+ proto_tree_add_text(tree, NullTVB, pd_p_current, bc, "%s%u: %s", (Name) ? Name : "Pad", bc, format_text(pd + pd_p_current, bc));
pd_p_current += bc;
@@ -474,7 +474,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
WParam = GSHORT(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 2, "%s: %u (0x%04X)", (Name) ? Name : "Receive Buffer Len", WParam, WParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 2, "%s: %u (0x%04X)", (Name) ? Name : "Receive Buffer Len", WParam, WParam);
pd_p_current += 2;
@@ -492,7 +492,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
LParam = GWORD(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 4, "%s: %u", (Name) ? Name : "Send Buffer Ptr", LParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 4, "%s: %u", (Name) ? Name : "Send Buffer Ptr", LParam);
pd_p_current += 4;
@@ -508,7 +508,7 @@ int dissect_transact_next(const u_char *pd, char *Name, int dirn, proto_tree *tr
WParam = GSHORT(pd, pd_p_current);
- proto_tree_add_text(tree, pd_p_current, 2, "%s: %u", (Name) ? Name : "Send Buffer Len", WParam);
+ proto_tree_add_text(tree, NullTVB, pd_p_current, 2, "%s: %u", (Name) ? Name : "Send Buffer Len", WParam);
pd_p_current += 2;
@@ -580,10 +580,10 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(parent, proto_smb_lanman, SMB_offset + ParameterOffset, ParameterCount, NULL);
+ 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, loc_offset, 2, "Function Code: NetShareEnum");
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetShareEnum");
}
@@ -600,7 +600,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, strlen(ParameterDescriptor) + 1, "Parameter Descriptor: %s", ParameterDescriptor);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, strlen(ParameterDescriptor) + 1, "Parameter Descriptor: %s", ParameterDescriptor);
}
@@ -615,7 +615,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, strlen(ReturnDescriptor) + 1, "Return Descriptor: %s", ReturnDescriptor);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, strlen(ReturnDescriptor) + 1, "Return Descriptor: %s", ReturnDescriptor);
}
@@ -625,7 +625,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Detail Level: %u", Level);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Detail Level: %u", Level);
}
@@ -635,7 +635,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Receive Buffer Length: %u", RecvBufLen);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Receive Buffer Length: %u", RecvBufLen);
}
@@ -653,10 +653,10 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(parent, proto_smb_lanman, SMB_offset + ParameterOffset, ParameterCount, NULL);
+ 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, loc_offset, 2, "Function Code: NetServerEnum2");
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetServerEnum2");
}
@@ -675,7 +675,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, strlen(ParameterDescriptor) + 1, "Parameter Descriptor: %s", ParameterDescriptor);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, strlen(ParameterDescriptor) + 1, "Parameter Descriptor: %s", ParameterDescriptor);
}
@@ -691,7 +691,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, strlen(ReturnDescriptor) + 1, "Return Descriptor: %s", ReturnDescriptor);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, strlen(ReturnDescriptor) + 1, "Return Descriptor: %s", ReturnDescriptor);
}
@@ -702,7 +702,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Info Detail Level: %u", Level);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Info Detail Level: %u", Level);
}
@@ -712,7 +712,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Receive Buffer Length: %u", RecvBufLen);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Receive Buffer Length: %u", RecvBufLen);
}
@@ -722,7 +722,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_text(lanman_tree, loc_offset, 4, "Server Types Required: 0x%08X", Flags);
+ ti = proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 4, "Server Types Required: 0x%08X", Flags);
flags_tree = proto_item_add_subtree(ti, ett_lanman_flags);
dissect_server_flags(flags_tree, loc_offset, 4, Flags);
@@ -749,14 +749,14 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(parent, proto_smb_lanman, SMB_offset + ParameterOffset, ParameterCount, NULL);
+ 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) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "%s Request", lanman -> lanman_name);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "%s Request", lanman -> lanman_name);
}
else {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Function Code: Unknown LANMAN Request: %u", FunctionCode);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: Unknown LANMAN Request: %u", FunctionCode);
}
}
@@ -774,7 +774,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, strlen(ParameterDescriptor) + 1, "Parameter Descriptor: %s", ParameterDescriptor);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, strlen(ParameterDescriptor) + 1, "Parameter Descriptor: %s", ParameterDescriptor);
}
@@ -789,7 +789,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, strlen(ReturnDescriptor) + 1, "Return Descriptor: %s", ReturnDescriptor);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, strlen(ReturnDescriptor) + 1, "Return Descriptor: %s", ReturnDescriptor);
}
@@ -838,11 +838,11 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(parent, proto_smb_lanman, SMB_offset + DataOffset, END_OF_FRAME, NULL);
+ 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);
- proto_tree_add_text(lanman_tree, loc_offset, END_OF_FRAME, "Payload: %s", format_text(pd + SMB_offset + DataOffset, END_OF_FRAME));
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, END_OF_FRAME, "Payload: %s", format_text(pd + SMB_offset + DataOffset, END_OF_FRAME));
}
@@ -865,10 +865,10 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(parent, proto_smb_lanman, SMB_offset + ParameterOffset, END_OF_FRAME, NULL);
+ 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, loc_offset, 0, "Function Code: NetShareEnum");
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 0, "Function Code: NetShareEnum");
}
@@ -880,7 +880,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Status: %u", Status);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Status: %u", Status);
}
@@ -890,7 +890,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Convert: %u", Convert);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Convert: %u", Convert);
}
@@ -900,7 +900,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Entry Count: %u", EntCount);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Entry Count: %u", EntCount);
}
@@ -910,7 +910,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Available Entries: %u", AvailCount);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Available Entries: %u", AvailCount);
}
@@ -918,7 +918,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_text(lanman_tree, loc_offset, AvailCount * 20, "Available Shares");
+ ti = proto_tree_add_text(lanman_tree, NullTVB, loc_offset, AvailCount * 20, "Available Shares");
share_tree = proto_item_add_subtree(ti, ett_lanman_shares);
@@ -933,7 +933,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_text(share_tree, loc_offset, 20, "Share %s", Share);
+ ti = proto_tree_add_text(share_tree, NullTVB, loc_offset, 20, "Share %s", Share);
share = proto_item_add_subtree(ti, ett_lanman_share);
@@ -941,7 +941,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(share, loc_offset, 13, "Share Name: %s", Share);
+ proto_tree_add_text(share, NullTVB, loc_offset, 13, "Share Name: %s", Share);
}
@@ -954,7 +954,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(share, loc_offset, 2, "Share Type: %u", Flags);
+ proto_tree_add_text(share, NullTVB, loc_offset, 2, "Share Type: %u", Flags);
}
@@ -964,7 +964,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(share, loc_offset, 4, "Share Comment: %s", Comment);
+ proto_tree_add_text(share, NullTVB, loc_offset, 4, "Share Comment: %s", Comment);
}
@@ -984,10 +984,10 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(parent, proto_smb_lanman, SMB_offset + ParameterOffset, END_OF_FRAME, NULL);
+ 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, loc_offset, 2, "Function Code: NetServerEnum2");
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Function Code: NetServerEnum2");
}
@@ -996,7 +996,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Status: %u", Status);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Status: %u", Status);
}
@@ -1006,7 +1006,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Convert: %u", Convert);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Convert: %u", Convert);
}
@@ -1016,7 +1016,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Entry Count: %u", EntCount);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Entry Count: %u", EntCount);
}
@@ -1026,7 +1026,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Available Entries: %u", AvailCount);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Available Entries: %u", AvailCount);
}
@@ -1034,7 +1034,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_text(lanman_tree, loc_offset, 26 * AvailCount, "Servers");
+ ti = proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 26 * AvailCount, "Servers");
if (ti == NULL) {
printf("Null value returned from proto_tree_add_text\n");
@@ -1059,7 +1059,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_text(server_tree, loc_offset,
+ ti = proto_tree_add_text(server_tree, NullTVB, loc_offset,
(si.request_val -> last_level) ? 26 : 16,
"Server %s", Server);
server = proto_item_add_subtree(ti, ett_lanman_server);
@@ -1069,7 +1069,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(server, loc_offset, 16, "Server Name: %s", Server);
+ proto_tree_add_text(server, NullTVB, loc_offset, 16, "Server Name: %s", Server);
}
@@ -1081,7 +1081,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(server, loc_offset, 1, "Major Version: %u", ServerMajor);
+ proto_tree_add_text(server, NullTVB, loc_offset, 1, "Major Version: %u", ServerMajor);
}
@@ -1091,7 +1091,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(server, loc_offset, 1, "Minor Version: %u", ServerMinor);
+ proto_tree_add_text(server, NullTVB, loc_offset, 1, "Minor Version: %u", ServerMinor);
}
@@ -1101,7 +1101,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_text(server, loc_offset, 4, "Server Type: 0x%08X", ServerFlags);
+ ti = proto_tree_add_text(server, NullTVB, loc_offset, 4, "Server Type: 0x%08X", ServerFlags);
flags_tree = proto_item_add_subtree(ti, ett_lanman_flags);
dissect_server_flags(flags_tree, loc_offset, 4, ServerFlags);
@@ -1113,7 +1113,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(server, loc_offset, 4, "Server Comment: %s", Comment);
+ proto_tree_add_text(server, NullTVB, loc_offset, 4, "Server Comment: %s", Comment);
}
@@ -1141,13 +1141,13 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- ti = proto_tree_add_item(parent, proto_smb_lanman, SMB_offset + ParameterOffset, END_OF_FRAME, NULL);
+ 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, 0, 0, "%s Response", lanman -> lanman_name);
+ proto_tree_add_text(lanman_tree, NullTVB, 0, 0, "%s Response", lanman -> lanman_name);
}
else {
- proto_tree_add_text(lanman_tree, loc_offset, 0, "Function Code: Unknown LANMAN Response: %u", FunctionCode);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 0, "Function Code: Unknown LANMAN Response: %u", FunctionCode);
}
}
@@ -1157,7 +1157,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Status: %u", Status);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Status: %u", Status);
}
@@ -1167,7 +1167,7 @@ dissect_pipe_lanman(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(lanman_tree, loc_offset, 2, "Convert: %u", Convert);
+ proto_tree_add_text(lanman_tree, NullTVB, loc_offset, 2, "Convert: %u", Convert);
}
diff --git a/packet-smb.c b/packet-smb.c
index 5b50bf2ca0..32040ad564 100644
--- a/packet-smb.c
+++ b/packet-smb.c
@@ -2,7 +2,7 @@
* Routines for smb packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-smb.c,v 1.64 2000/03/21 10:15:50 guy Exp $
+ * $Id: packet-smb.c,v 1.65 2000/05/11 08:15:46 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -426,7 +426,7 @@ dissect_unknown_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, END_OF_FRAME, "Data (%u bytes)",
+ proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "Data (%u bytes)",
END_OF_FRAME);
}
@@ -563,7 +563,7 @@ dissect_flush_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -575,7 +575,7 @@ dissect_flush_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -587,7 +587,7 @@ dissect_flush_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -603,7 +603,7 @@ dissect_flush_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -615,7 +615,7 @@ dissect_flush_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -645,7 +645,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -657,7 +657,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -673,7 +673,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -687,7 +687,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Units: %u", TotalUnits);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Units: %u", TotalUnits);
}
@@ -699,7 +699,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Blocks Per Unit: %u", BlocksPerUnit);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Blocks Per Unit: %u", BlocksPerUnit);
}
@@ -711,7 +711,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Block Size: %u", BlockSize);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Block Size: %u", BlockSize);
}
@@ -723,7 +723,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Free Units: %u", FreeUnits);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Free Units: %u", FreeUnits);
}
@@ -735,7 +735,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u", Reserved);
}
@@ -749,7 +749,7 @@ dissect_get_disk_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -786,7 +786,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -800,19 +800,19 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Attributes: 0x%02x", Attributes);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Attributes: 0x%02x", Attributes);
Attributes_tree = proto_item_add_subtree(ti, ett_smb_fileattributes);
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x01, 16, "Read-only file", "Not a read-only file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x02, 16, "Hidden file", "Not a hidden file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x04, 16, "System file", "Not a system file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x08, 16, " Volume", "Not a volume"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x10, 16, " Directory", "Not a directory"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x20, 16, " Archived", "Not archived"));
}
@@ -825,7 +825,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
}
@@ -837,7 +837,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
}
@@ -849,7 +849,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 1: %u", Reserved1);
}
@@ -861,7 +861,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 2: %u", Reserved2);
}
@@ -873,7 +873,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 3: %u", Reserved3);
}
@@ -885,7 +885,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 4: %u", Reserved4);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 4: %u", Reserved4);
}
@@ -897,7 +897,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 5: %u", Reserved5);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 5: %u", Reserved5);
}
@@ -911,7 +911,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -923,7 +923,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -935,7 +935,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, strlen(FileName) + 1, "File Name: %s", FileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(FileName) + 1, "File Name: %s", FileName);
}
@@ -951,7 +951,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -963,7 +963,7 @@ dissect_set_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Byte Count (BCC): %u", ByteCount);
}
@@ -994,7 +994,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1006,7 +1006,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -1018,7 +1018,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -1030,7 +1030,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -1042,7 +1042,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Remaining: %u", Remaining);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Remaining: %u", Remaining);
}
@@ -1054,7 +1054,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1066,7 +1066,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -1078,7 +1078,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -1094,7 +1094,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1106,7 +1106,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -1118,7 +1118,7 @@ dissect_write_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1155,7 +1155,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1167,7 +1167,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -1179,7 +1179,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -1191,7 +1191,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Count: %u", MaxCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Count: %u", MaxCount);
}
@@ -1203,7 +1203,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Min Count: %u", MinCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Min Count: %u", MinCount);
}
@@ -1215,7 +1215,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Reserved 1: %u", Reserved1);
}
@@ -1227,7 +1227,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 2: %u", Reserved2);
}
@@ -1239,7 +1239,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1255,7 +1255,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count: %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count: %u", WordCount);
}
@@ -1269,7 +1269,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -1281,7 +1281,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -1293,7 +1293,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u", Reserved);
}
@@ -1305,7 +1305,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Compaction Mode: %u", DataCompactionMode);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Compaction Mode: %u", DataCompactionMode);
}
@@ -1317,7 +1317,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u", Reserved);
}
@@ -1329,7 +1329,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -1341,7 +1341,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -1355,7 +1355,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1367,7 +1367,7 @@ dissect_read_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *a
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad: %u", Pad);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad: %u", Pad);
}
@@ -1394,7 +1394,7 @@ dissect_delete_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1406,7 +1406,7 @@ dissect_delete_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1418,7 +1418,7 @@ dissect_delete_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -1430,7 +1430,7 @@ dissect_delete_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(FileName) + 1, "File Name: %s", FileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(FileName) + 1, "File Name: %s", FileName);
}
@@ -1446,7 +1446,7 @@ dissect_delete_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1458,7 +1458,7 @@ dissect_delete_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1495,7 +1495,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1507,7 +1507,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -1519,7 +1519,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -1535,7 +1535,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1549,7 +1549,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Date: %s", dissect_dos_date(CreationDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Date: %s", dissect_dos_date(CreationDate));
}
@@ -1561,7 +1561,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
}
@@ -1573,7 +1573,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Access Date: %s", dissect_dos_date(LastAccessDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Access Date: %s", dissect_dos_date(LastAccessDate));
}
@@ -1585,7 +1585,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Access Time: %s", dissect_dos_time(LastAccessTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Access Time: %s", dissect_dos_time(LastAccessTime));
}
@@ -1597,7 +1597,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
}
@@ -1609,7 +1609,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
}
@@ -1621,7 +1621,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "File Data Size: %u", FileDataSize);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "File Data Size: %u", FileDataSize);
}
@@ -1633,7 +1633,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "File Allocation Size: %u", FileAllocationSize);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "File Allocation Size: %u", FileAllocationSize);
}
@@ -1645,19 +1645,19 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Attributes: 0x%02x", Attributes);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Attributes: 0x%02x", Attributes);
Attributes_tree = proto_item_add_subtree(ti, ett_smb_fileattributes);
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x01, 16, "Read-only file", "Not a read-only file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x02, 16, "Hidden file", "Not a hidden file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x04, 16, "System file", "Not a system file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x08, 16, " Volume", "Not a volume"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x10, 16, " Directory", "Not a directory"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x20, 16, " Archived", "Not archived"));
}
@@ -1672,7 +1672,7 @@ dissect_query_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -1705,7 +1705,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1717,7 +1717,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1729,7 +1729,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 1, "BufferFormat1: %u", BufferFormat1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "BufferFormat1: %u", BufferFormat1);
}
@@ -1741,7 +1741,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, strlen(SharePath) + 1, "Share Path: %s", SharePath);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(SharePath) + 1, "Share Path: %s", SharePath);
}
@@ -1753,7 +1753,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 1, "BufferFormat2: %u", BufferFormat2);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "BufferFormat2: %u", BufferFormat2);
}
@@ -1765,7 +1765,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, strlen(Password) + 1, "Password: %s", Password);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(Password) + 1, "Password: %s", Password);
}
@@ -1777,7 +1777,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 1, "BufferFormat3: %u", BufferFormat3);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "BufferFormat3: %u", BufferFormat3);
}
@@ -1789,7 +1789,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, strlen(Service) + 1, "Service: %s", Service);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(Service) + 1, "Service: %s", Service);
}
@@ -1805,7 +1805,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1819,7 +1819,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Buffer Size: %u", MaxBufferSize);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Buffer Size: %u", MaxBufferSize);
}
@@ -1831,7 +1831,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "TID: %u", TID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "TID: %u", TID);
}
@@ -1843,7 +1843,7 @@ dissect_treecon_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -1898,7 +1898,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -1910,7 +1910,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %s",
(AndXCommand == 0xFF ? "No further commands" : decode_smb_name(AndXCommand)));
}
@@ -1923,7 +1923,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -1935,7 +1935,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -1947,7 +1947,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "MaxBufferSize: %u", MaxBufferSize);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "MaxBufferSize: %u", MaxBufferSize);
}
@@ -1959,7 +1959,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "MaxMpxCount: %u", MaxMpxCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "MaxMpxCount: %u", MaxMpxCount);
}
@@ -1971,7 +1971,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "VcNumber: %u", VcNumber);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "VcNumber: %u", VcNumber);
}
@@ -1983,7 +1983,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "SessionKey: %u", SessionKey);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "SessionKey: %u", SessionKey);
}
@@ -1995,7 +1995,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "PasswordLen: %u", PasswordLen);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "PasswordLen: %u", PasswordLen);
}
@@ -2007,7 +2007,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Reserved: %u", Reserved);
}
@@ -2019,7 +2019,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -2033,7 +2033,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(Password) + 1, "Password: %s", Password);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(Password) + 1, "Password: %s", Password);
}
@@ -2045,7 +2045,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(AccountName) + 1, "AccountName: %s", AccountName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(AccountName) + 1, "AccountName: %s", AccountName);
}
@@ -2057,7 +2057,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(PrimaryDomain) + 1, "PrimaryDomain: %s", PrimaryDomain);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(PrimaryDomain) + 1, "PrimaryDomain: %s", PrimaryDomain);
}
@@ -2069,7 +2069,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(NativeOS) + 1, "Native OS: %s", NativeOS);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(NativeOS) + 1, "Native OS: %s", NativeOS);
}
@@ -2081,7 +2081,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(NativeLanMan) + 1, "Native Lan Manager: %s", NativeLanMan);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(NativeLanMan) + 1, "Native Lan Manager: %s", NativeLanMan);
}
@@ -2099,7 +2099,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -2111,7 +2111,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %s",
(AndXCommand == 0xFF ? "No further commands" : decode_smb_name(AndXCommand)));
}
@@ -2124,7 +2124,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -2136,7 +2136,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -2148,7 +2148,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "MaxBufferSize: %u", MaxBufferSize);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "MaxBufferSize: %u", MaxBufferSize);
}
@@ -2160,7 +2160,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "MaxMpxCount: %u", MaxMpxCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "MaxMpxCount: %u", MaxMpxCount);
}
@@ -2172,7 +2172,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "VcNumber: %u", VcNumber);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "VcNumber: %u", VcNumber);
}
@@ -2184,7 +2184,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "SessionKey: %u", SessionKey);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "SessionKey: %u", SessionKey);
}
@@ -2196,7 +2196,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "ANSI Account Password Length: %u", ANSIAccountPasswordLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "ANSI Account Password Length: %u", ANSIAccountPasswordLength);
}
@@ -2208,7 +2208,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "UNICODE Account Password Length: %u", UNICODEAccountPasswordLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "UNICODE Account Password Length: %u", UNICODEAccountPasswordLength);
}
@@ -2220,7 +2220,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Reserved: %u", Reserved);
}
@@ -2232,35 +2232,35 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- ti = proto_tree_add_text(tree, offset, 4, "Capabilities: 0x%04x", Capabilities);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 4, "Capabilities: 0x%04x", Capabilities);
Capabilities_tree = proto_item_add_subtree(ti, ett_smb_capabilities);
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0001, 32, " Raw Mode supported", " Raw Mode not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0002, 32, " Raw Mode supported", " MPX Mode not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0004, 32," Unicode supported", " Unicode not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0008, 32, " Large Files supported", " Large Files not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0010, 32, " NT LM 0.12 SMBs supported", " NT LM 0.12 SMBs not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0020, 32, " RPC Remote APIs supported", " RPC Remote APIs not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0040, 32, " NT Status Codes supported", " NT Status Codes not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0080, 32, " Level 2 OpLocks supported", " Level 2 OpLocks not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0100, 32, " Lock&Read supported", " Lock&Read not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x0200, 32, " NT Find supported", " NT Find not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x1000, 32, " DFS supported", " DFS not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x4000, 32, " Large READX supported", " Large READX not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x8000, 32, " Large WRITEX supported", " Large WRITEX not supported"));
- proto_tree_add_text(Capabilities_tree, offset, 4, "%s",
+ proto_tree_add_text(Capabilities_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(Capabilities, 0x80000000, 32, " Extended Security Exchanges supported", " Extended Security Exchanges not supported"));
}
@@ -2273,7 +2273,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -2287,7 +2287,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, ANSIAccountPasswordLength, "ANSI Password: %s", format_text(ANSIPassword, ANSIAccountPasswordLength));
+ proto_tree_add_text(tree, NullTVB, offset, ANSIAccountPasswordLength, "ANSI Password: %s", format_text(ANSIPassword, ANSIAccountPasswordLength));
}
@@ -2302,7 +2302,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, UNICODEAccountPasswordLength, "UNICODE Password: %s", format_text(UNICODEPassword, UNICODEAccountPasswordLength));
+ proto_tree_add_text(tree, NullTVB, offset, UNICODEAccountPasswordLength, "UNICODE Password: %s", format_text(UNICODEPassword, UNICODEAccountPasswordLength));
}
@@ -2316,7 +2316,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(AccountName) + 1, "Account Name: %s", AccountName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(AccountName) + 1, "Account Name: %s", AccountName);
}
@@ -2328,7 +2328,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(PrimaryDomain) + 1, "Primary Domain: %s", PrimaryDomain);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(PrimaryDomain) + 1, "Primary Domain: %s", PrimaryDomain);
}
@@ -2340,7 +2340,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(NativeOS) + 1, "Native OS: %s", NativeOS);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(NativeOS) + 1, "Native OS: %s", NativeOS);
}
@@ -2352,7 +2352,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(NativeLanManType) + 1, "Native LanMan Type: %s", NativeLanManType);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(NativeLanManType) + 1, "Native LanMan Type: %s", NativeLanManType);
}
@@ -2381,7 +2381,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -2395,7 +2395,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %s",
(AndXCommand == 0xFF ? "No futher commands" : decode_smb_name(AndXCommand)));
}
@@ -2408,7 +2408,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -2420,7 +2420,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -2433,7 +2433,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Action: %u", Action);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Action: %u", Action);
}
@@ -2447,7 +2447,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -2463,7 +2463,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(NativeOS) + 1, "NativeOS: %s", NativeOS);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(NativeOS) + 1, "NativeOS: %s", NativeOS);
}
@@ -2475,7 +2475,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(NativeLanMan) + 1, "NativeLanMan: %s", NativeLanMan);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(NativeLanMan) + 1, "NativeLanMan: %s", NativeLanMan);
}
@@ -2487,7 +2487,7 @@ dissect_ssetup_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(PrimaryDomain) + 1, "PrimaryDomain: %s", PrimaryDomain);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(PrimaryDomain) + 1, "PrimaryDomain: %s", PrimaryDomain);
}
@@ -2526,9 +2526,9 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Invalid TCON_ANDX format. WCT should be 0, 2, 3, or 4 ..., not %u", wct);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Invalid TCON_ANDX format. WCT should be 0, 2, 3, or 4 ..., not %u", wct);
- proto_tree_add_text(tree, offset, END_OF_FRAME, "Data");
+ proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "Data");
return;
@@ -2538,7 +2538,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", wct);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", wct);
}
@@ -2550,11 +2550,11 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Next Command: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Next Command: %s",
(andxcmd == 0xFF) ? "No further commands":
decode_smb_name(andxcmd));
- proto_tree_add_text(tree, offset + 1, 1, "Reserved (MBZ): %u", pd[offset+1]);
+ proto_tree_add_text(tree, NullTVB, offset + 1, 1, "Reserved (MBZ): %u", pd[offset+1]);
}
@@ -2564,7 +2564,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Offset to next command: %u", andxoffs);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Offset to next command: %u", andxoffs);
}
@@ -2580,7 +2580,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", bcc);
}
@@ -2592,9 +2592,9 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Additional Flags: 0x%02x", flags);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Additional Flags: 0x%02x", flags);
flags_tree = proto_item_add_subtree(ti, ett_smb_aflags);
- proto_tree_add_text(flags_tree, offset, 2, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(flags, 0x01, 16,
"Disconnect TID",
"Don't disconnect TID"));
@@ -2607,7 +2607,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Password Length: %u", passwdlen);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Password Length: %u", passwdlen);
}
@@ -2617,7 +2617,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", bcc);
}
@@ -2627,7 +2627,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(str) + 1, "Password: %s", format_text(str, passwdlen));
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str) + 1, "Password: %s", format_text(str, passwdlen));
}
@@ -2637,7 +2637,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(str) + 1, "Path: %s", str);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str) + 1, "Path: %s", str);
}
@@ -2647,7 +2647,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(str) + 1, "Service: %s", str);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str) + 1, "Service: %s", str);
}
@@ -2659,7 +2659,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", bcc);
}
@@ -2669,7 +2669,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(str) + 1, "Service Type: %s",
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str) + 1, "Service Type: %s",
str);
}
@@ -2684,7 +2684,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) { /* Should break out the bits */
- proto_tree_add_text(tree, offset, 2, "Optional Support: 0x%04x",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Optional Support: 0x%04x",
optionsup);
}
@@ -2695,7 +2695,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", bcc);
}
@@ -2705,7 +2705,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(str) + 1, "Service: %s", str);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str) + 1, "Service: %s", str);
}
@@ -2715,7 +2715,7 @@ dissect_tcon_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(str) + 1, "Native File System: %s", str);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str) + 1, "Native File System: %s", str);
}
@@ -2753,9 +2753,9 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
!((wct == 13) && (dirn == 0)) && !((wct == 17) && (dirn == 0))) {
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Invalid Negotiate Protocol format. WCT should be zero or 1 or 13 or 17 ..., not %u", wct);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Invalid Negotiate Protocol format. WCT should be zero or 1 or 13 or 17 ..., not %u", wct);
- proto_tree_add_text(tree, offset, END_OF_FRAME, "Data");
+ proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "Data");
return;
}
@@ -2763,7 +2763,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %d", wct);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %d", wct);
}
@@ -2781,7 +2781,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", bcc);
}
@@ -2789,7 +2789,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- ti = proto_tree_add_text(tree, offset, END_OF_FRAME, "Dialects");
+ ti = proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME, "Dialects");
dialects = proto_item_add_subtree(ti, ett_smb_dialects);
}
@@ -2799,7 +2799,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(dialects, offset, 1, "Dialect Marker: %d", pd[offset]);
+ proto_tree_add_text(dialects, NullTVB, offset, 1, "Dialect Marker: %d", pd[offset]);
}
@@ -2809,7 +2809,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(dialects, offset, strlen(str)+1, "Dialect: %s", str);
+ proto_tree_add_text(dialects, NullTVB, offset, strlen(str)+1, "Dialect: %s", str);
}
@@ -2826,12 +2826,12 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (dialect == 0xFFFF) { /* Server didn't like them dialects */
- proto_tree_add_text(tree, offset, 2, "Supplied dialects not recognized");
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Supplied dialects not recognized");
}
else {
- proto_tree_add_text(tree, offset, 2, "Dialect Index: %u, PC NETWORK PROTGRAM 1.0", dialect);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Dialect Index: %u, PC NETWORK PROTGRAM 1.0", dialect);
}
@@ -2843,7 +2843,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", bcc);
}
@@ -2853,7 +2853,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Dialect Index: %u, Greater than CORE PROTOCOL and up to LANMAN2.1", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Dialect Index: %u, Greater than CORE PROTOCOL and up to LANMAN2.1", GSHORT(pd, offset));
}
@@ -2865,13 +2865,13 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Security Mode: 0x%04x", mode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Security Mode: 0x%04x", mode);
mode_tree = proto_item_add_subtree(ti, ett_smb_mode);
- proto_tree_add_text(mode_tree, offset, 2, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(mode, 0x0001, 16,
"Security = User",
"Security = Share"));
- proto_tree_add_text(mode_tree, offset, 2, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(mode, 0x0002, 16,
"Passwords = Encrypted",
"Passwords = Plaintext"));
@@ -2882,7 +2882,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max buffer size: %u", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max buffer size: %u", GSHORT(pd, offset));
}
@@ -2890,7 +2890,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max multiplex count: %u", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max multiplex count: %u", GSHORT(pd, offset));
}
@@ -2898,7 +2898,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max vcs: %u", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max vcs: %u", GSHORT(pd, offset));
}
@@ -2908,13 +2908,13 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Raw Mode: 0x%04x", rawmode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Raw Mode: 0x%04x", rawmode);
rawmode_tree = proto_item_add_subtree(ti, ett_smb_rawmode);
- proto_tree_add_text(rawmode_tree, offset, 2, "%s",
+ proto_tree_add_text(rawmode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(rawmode, 0x01, 16,
"Read Raw supported",
"Read Raw not supported"));
- proto_tree_add_text(rawmode_tree, offset, 2, "%s",
+ proto_tree_add_text(rawmode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(rawmode, 0x02, 16,
"Write Raw supported",
"Write Raw not supported"));
@@ -2925,7 +2925,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Session key: %08x", GWORD(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Session key: %08x", GWORD(pd, offset));
}
@@ -2935,9 +2935,9 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Server Time: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Server Time: %s",
dissect_dos_time(GSHORT(pd, offset)));
- proto_tree_add_text(tree, offset + 2, 2, "Server Date: %s",
+ proto_tree_add_text(tree, NullTVB, offset + 2, 2, "Server Date: %s",
dissect_dos_date(GSHORT(pd, offset + 2)));
}
@@ -2948,7 +2948,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Server time zone: %i min from UTC",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Server time zone: %i min from UTC",
(signed)GSSHORT(pd, offset));
}
@@ -2961,7 +2961,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Challenge Length: %u", enckeylen);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Challenge Length: %u", enckeylen);
}
@@ -2969,7 +2969,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u (MBZ)", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u (MBZ)", GSHORT(pd, offset));
}
@@ -2979,7 +2979,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", bcc);
}
@@ -2991,7 +2991,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, enckeylen, "Challenge: %s",
+ proto_tree_add_text(tree, NullTVB, offset, enckeylen, "Challenge: %s",
bytes_to_str(str, enckeylen));
}
@@ -3005,7 +3005,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, strlen(str)+1, "Primary Domain: %s", str);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str)+1, "Primary Domain: %s", str);
}
@@ -3015,7 +3015,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Dialect Index: %u, Greater than LANMAN2.1", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Dialect Index: %u, Greater than LANMAN2.1", GSHORT(pd, offset));
}
@@ -3025,21 +3025,21 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- ti = proto_tree_add_text(tree, offset, 1, "Security Mode: 0x%02x", mode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 1, "Security Mode: 0x%02x", mode);
mode_tree = proto_item_add_subtree(ti, ett_smb_mode);
- proto_tree_add_text(mode_tree, offset, 1, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(mode, 0x01, 8,
"Security = User",
"Security = Share"));
- proto_tree_add_text(mode_tree, offset, 1, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(mode, 0x02, 8,
"Passwords = Encrypted",
"Passwords = Plaintext"));
- proto_tree_add_text(mode_tree, offset, 1, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(mode, 0x04, 8,
"Security signatures enabled",
"Security signatures not enabled"));
- proto_tree_add_text(mode_tree, offset, 1, "%s",
+ proto_tree_add_text(mode_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(mode, 0x08, 8,
"Security signatures required",
"Security signatures not required"));
@@ -3050,7 +3050,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max multiplex count: %u", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max multiplex count: %u", GSHORT(pd, offset));
}
@@ -3058,7 +3058,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max vcs: %u", GSHORT(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max vcs: %u", GSHORT(pd, offset));
}
@@ -3066,7 +3066,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max buffer size: %u", GWORD(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max buffer size: %u", GWORD(pd, offset));
}
@@ -3074,7 +3074,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Max raw size: %u", GWORD(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Max raw size: %u", GWORD(pd, offset));
}
@@ -3082,7 +3082,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Session key: %08x", GWORD(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Session key: %08x", GWORD(pd, offset));
}
@@ -3092,61 +3092,61 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- ti = proto_tree_add_text(tree, offset, 4, "Capabilities: 0x%04x", caps);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 4, "Capabilities: 0x%04x", caps);
caps_tree = proto_item_add_subtree(ti, ett_smb_capabilities);
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0001, 32,
"Raw Mode supported",
"Raw Mode not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0002, 32,
"MPX Mode supported",
"MPX Mode not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0004, 32,
"Unicode supported",
"Unicode not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0008, 32,
"Large files supported",
"Large files not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0010, 32,
"NT LM 0.12 SMBs supported",
"NT LM 0.12 SMBs not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0020, 32,
"RPC remote APIs supported",
"RPC remote APIs not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0040, 32,
"NT status codes supported",
"NT status codes not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0080, 32,
"Level 2 OpLocks supported",
"Level 2 OpLocks not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0100, 32,
"Lock&Read supported",
"Lock&Read not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x0200, 32,
"NT Find supported",
"NT Find not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x1000, 32,
"DFS supported",
"DFS not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x4000, 32,
"Large READX supported",
"Large READX not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x8000, 32,
"Large WRITEX supported",
"Large WRITEX not supported"));
- proto_tree_add_text(caps_tree, offset, 4, "%s",
+ proto_tree_add_text(caps_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(caps, 0x80000000, 32,
"Extended security exchanges supported",
"Extended security exchanges not supported"));
@@ -3158,8 +3158,8 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 4, "System Time Low: 0x%08x", GWORD(pd, offset));
- proto_tree_add_text(tree, offset + 4, 4, "System Time High: 0x%08x", GWORD(pd, offset + 4));
+ proto_tree_add_text(tree, NullTVB, offset, 4, "System Time Low: 0x%08x", GWORD(pd, offset));
+ proto_tree_add_text(tree, NullTVB, offset + 4, 4, "System Time High: 0x%08x", GWORD(pd, offset + 4));
}
@@ -3169,7 +3169,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Server time zone: %i min from UTC",
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Server time zone: %i min from UTC",
(signed)GSSHORT(pd, offset));
}
@@ -3182,7 +3182,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Encryption key len: %u", enckeylen);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Encryption key len: %u", enckeylen);
}
@@ -3192,7 +3192,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte count (BCC): %u", bcc);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte count (BCC): %u", bcc);
}
@@ -3206,7 +3206,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (tree) {
- proto_tree_add_text(tree, offset, enckeylen, "Challenge encryption key: %s",
+ proto_tree_add_text(tree, NullTVB, offset, enckeylen, "Challenge encryption key: %s",
bytes_to_str(str, enckeylen));
}
@@ -3225,9 +3225,9 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
if (caps & 0x0004) {
ustr = unicode_to_str(str, &ustr_len);
- proto_tree_add_text(tree, offset, ustr_len+2, "OEM domain name: %s", ustr);
+ proto_tree_add_text(tree, NullTVB, offset, ustr_len+2, "OEM domain name: %s", ustr);
} else {
- proto_tree_add_text(tree, offset, strlen(str)+1, "OEM domain name: %s", str);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(str)+1, "OEM domain name: %s", str);
}
}
@@ -3237,7 +3237,7 @@ dissect_negprot_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pa
default: /* Baddd */
if (tree)
- proto_tree_add_text(tree, offset, 1, "Bad format, should never get here");
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Bad format, should never get here");
return;
}
@@ -3261,7 +3261,7 @@ dissect_deletedir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3273,7 +3273,7 @@ dissect_deletedir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -3285,7 +3285,7 @@ dissect_deletedir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -3297,7 +3297,7 @@ dissect_deletedir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
}
@@ -3313,7 +3313,7 @@ dissect_deletedir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3325,7 +3325,7 @@ dissect_deletedir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -3352,7 +3352,7 @@ dissect_createdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3364,7 +3364,7 @@ dissect_createdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -3376,7 +3376,7 @@ dissect_createdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -3388,7 +3388,7 @@ dissect_createdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
}
@@ -3404,7 +3404,7 @@ dissect_createdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3416,7 +3416,7 @@ dissect_createdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -3443,7 +3443,7 @@ dissect_checkdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3455,7 +3455,7 @@ dissect_checkdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -3467,7 +3467,7 @@ dissect_checkdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -3479,7 +3479,7 @@ dissect_checkdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
}
@@ -3495,7 +3495,7 @@ dissect_checkdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3507,7 +3507,7 @@ dissect_checkdir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -3628,7 +3628,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3640,7 +3640,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %s",
(AndXCommand == 0xFF ? "No further commands" : decode_smb_name(AndXCommand)));
}
@@ -3653,7 +3653,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -3665,7 +3665,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -3677,13 +3677,13 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Flags: 0x%02x", Flags);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Flags: 0x%02x", Flags);
Flags_tree = proto_item_add_subtree(ti, ett_smb_flags);
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Flags, 0x01, 16, "Dont Return Additional Info", "Return Additional Info"));
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Flags, 0x02, 16, "Exclusive OpLock not Requested", "Exclusive OpLock Requested"));
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Flags, 0x04, 16, "Batch OpLock not Requested", "Batch OpLock Requested"));
}
@@ -3696,17 +3696,17 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Desired Access: 0x%02x", DesiredAccess);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Desired Access: 0x%02x", DesiredAccess);
DesiredAccess_tree = proto_item_add_subtree(ti, ett_smb_desiredaccess);
- proto_tree_add_text(DesiredAccess_tree, offset, 2, "%s",
+ proto_tree_add_text(DesiredAccess_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(DesiredAccess, 0x07, 16, DesiredAccess_0x07, "%s"));
- proto_tree_add_text(DesiredAccess_tree, offset, 2, "%s",
+ proto_tree_add_text(DesiredAccess_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(DesiredAccess, 0x70, 16, DesiredAccess_0x70, "%s"));
- proto_tree_add_text(DesiredAccess_tree, offset, 2, "%s",
+ proto_tree_add_text(DesiredAccess_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(DesiredAccess, 0x700, 16, DesiredAccess_0x700, "%s"));
- proto_tree_add_text(DesiredAccess_tree, offset, 2, "%s",
+ proto_tree_add_text(DesiredAccess_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(DesiredAccess, 0x1000, 16, DesiredAccess_0x1000, "%s"));
- proto_tree_add_text(DesiredAccess_tree, offset, 2, "%s",
+ proto_tree_add_text(DesiredAccess_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(DesiredAccess, 0x4000, 16, DesiredAccess_0x4000, "%s"));
}
@@ -3719,19 +3719,19 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Search: 0x%02x", Search);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Search: 0x%02x", Search);
Search_tree = proto_item_add_subtree(ti, ett_smb_search);
- proto_tree_add_text(Search_tree, offset, 2, "%s",
+ proto_tree_add_text(Search_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Search, 0x01, 16, "Read only file", "Not a read only file"));
- proto_tree_add_text(Search_tree, offset, 2, "%s",
+ proto_tree_add_text(Search_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Search, 0x02, 16, "Hidden file", "Not a hidden file"));
- proto_tree_add_text(Search_tree, offset, 2, "%s",
+ proto_tree_add_text(Search_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Search, 0x04, 16, "System file", "Not a system file"));
- proto_tree_add_text(Search_tree, offset, 2, "%s",
+ proto_tree_add_text(Search_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Search, 0x08, 16, " Volume", "Not a volume"));
- proto_tree_add_text(Search_tree, offset, 2, "%s",
+ proto_tree_add_text(Search_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Search, 0x10, 16, " Directory", "Not a directory"));
- proto_tree_add_text(Search_tree, offset, 2, "%s",
+ proto_tree_add_text(Search_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Search, 0x20, 16, "Archive file", "Do not archive file"));
}
@@ -3744,19 +3744,19 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "File: 0x%02x", File);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "File: 0x%02x", File);
File_tree = proto_item_add_subtree(ti, ett_smb_file);
- proto_tree_add_text(File_tree, offset, 2, "%s",
+ proto_tree_add_text(File_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(File, 0x01, 16, "Read only file", "Not a read only file"));
- proto_tree_add_text(File_tree, offset, 2, "%s",
+ proto_tree_add_text(File_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(File, 0x02, 16, "Hidden file", "Not a hidden file"));
- proto_tree_add_text(File_tree, offset, 2, "%s",
+ proto_tree_add_text(File_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(File, 0x04, 16, "System file", "Not a system file"));
- proto_tree_add_text(File_tree, offset, 2, "%s",
+ proto_tree_add_text(File_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(File, 0x08, 16, " Volume", "Not a volume"));
- proto_tree_add_text(File_tree, offset, 2, "%s",
+ proto_tree_add_text(File_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(File, 0x10, 16, " Directory", "Not a directory"));
- proto_tree_add_text(File_tree, offset, 2, "%s",
+ proto_tree_add_text(File_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(File, 0x20, 16, "Archive file", "Do not archive file"));
}
@@ -3780,8 +3780,8 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Date: %s", dissect_smbu_date(CreationDate, CreationTime));
- proto_tree_add_text(tree, offset, 2, "Creation Time: %s", dissect_smbu_time(CreationDate, CreationTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Date: %s", dissect_smbu_date(CreationDate, CreationTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Time: %s", dissect_smbu_time(CreationDate, CreationTime));
}
@@ -3793,11 +3793,11 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Open Function: 0x%02x", OpenFunction);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Open Function: 0x%02x", OpenFunction);
OpenFunction_tree = proto_item_add_subtree(ti, ett_smb_openfunction);
- proto_tree_add_text(OpenFunction_tree, offset, 2, "%s",
+ proto_tree_add_text(OpenFunction_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(OpenFunction, 0x10, 16, OpenFunction_0x10, "%s"));
- proto_tree_add_text(OpenFunction_tree, offset, 2, "%s",
+ proto_tree_add_text(OpenFunction_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(OpenFunction, 0x03, 16, OpenFunction_0x03, "%s"));
}
@@ -3810,7 +3810,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Allocated Size: %u", AllocatedSize);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Allocated Size: %u", AllocatedSize);
}
@@ -3822,7 +3822,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Reserved1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Reserved1: %u", Reserved1);
}
@@ -3834,7 +3834,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Reserved2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Reserved2: %u", Reserved2);
}
@@ -3846,7 +3846,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -3858,7 +3858,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, strlen(FileName) + 1, "File Name: %s", FileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(FileName) + 1, "File Name: %s", FileName);
}
@@ -3881,7 +3881,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -3895,7 +3895,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %s",
(AndXCommand == 0xFF ? "No further commands" : decode_smb_name(AndXCommand)));
}
@@ -3908,7 +3908,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -3920,7 +3920,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -3932,7 +3932,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -3944,19 +3944,19 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "FileAttributes: 0x%02x", FileAttributes);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "FileAttributes: 0x%02x", FileAttributes);
FileAttributes_tree = proto_item_add_subtree(ti, ett_smb_fileattributes);
- proto_tree_add_text(FileAttributes_tree, offset, 2, "%s",
+ proto_tree_add_text(FileAttributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(FileAttributes, 0x01, 16, "Read only file", "Not a read only file"));
- proto_tree_add_text(FileAttributes_tree, offset, 2, "%s",
+ proto_tree_add_text(FileAttributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(FileAttributes, 0x02, 16, "Hidden file", "Not a hidden file"));
- proto_tree_add_text(FileAttributes_tree, offset, 2, "%s",
+ proto_tree_add_text(FileAttributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(FileAttributes, 0x04, 16, "System file", "Not a system file"));
- proto_tree_add_text(FileAttributes_tree, offset, 2, "%s",
+ proto_tree_add_text(FileAttributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(FileAttributes, 0x08, 16, " Volume", "Not a volume"));
- proto_tree_add_text(FileAttributes_tree, offset, 2, "%s",
+ proto_tree_add_text(FileAttributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(FileAttributes, 0x10, 16, " Directory", "Not a directory"));
- proto_tree_add_text(FileAttributes_tree, offset, 2, "%s",
+ proto_tree_add_text(FileAttributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(FileAttributes, 0x20, 16, "Archive file", "Do not archive file"));
}
@@ -3979,8 +3979,8 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Date: %s", dissect_smbu_date(LastWriteDate, LastWriteTime));
- proto_tree_add_text(tree, offset, 2, "Last Write Time: %s", dissect_smbu_time(LastWriteDate, LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Date: %s", dissect_smbu_date(LastWriteDate, LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Time: %s", dissect_smbu_time(LastWriteDate, LastWriteTime));
}
@@ -3993,7 +3993,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Data Size: %u", DataSize);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Data Size: %u", DataSize);
}
@@ -4005,7 +4005,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Granted Access: %u", GrantedAccess);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Granted Access: %u", GrantedAccess);
}
@@ -4017,9 +4017,9 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "File Type: 0x%02x", FileType);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "File Type: 0x%02x", FileType);
FileType_tree = proto_item_add_subtree(ti, ett_smb_filetype);
- proto_tree_add_text(FileType_tree, offset, 2, "%s",
+ proto_tree_add_text(FileType_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(FileType, 0xFFFF, 16, FileType_0xFFFF, "%s"));
}
@@ -4032,7 +4032,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Device State: %u", DeviceState);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Device State: %u", DeviceState);
}
@@ -4044,11 +4044,11 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Action: 0x%02x", Action);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Action: 0x%02x", Action);
Action_tree = proto_item_add_subtree(ti, ett_smb_action);
- proto_tree_add_text(Action_tree, offset, 2, "%s",
+ proto_tree_add_text(Action_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(Action, 0x8000, 16, Action_0x8000, "%s"));
- proto_tree_add_text(Action_tree, offset, 2, "%s",
+ proto_tree_add_text(Action_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(Action, 0x0003, 16, Action_0x0003, "%s"));
}
@@ -4061,7 +4061,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Server FID: %u", ServerFID);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Server FID: %u", ServerFID);
}
@@ -4073,7 +4073,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u", Reserved);
}
@@ -4087,7 +4087,7 @@ dissect_open_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -4138,7 +4138,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4150,7 +4150,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -4162,7 +4162,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -4174,7 +4174,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 1: %u", Reserved1);
}
@@ -4186,7 +4186,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -4198,7 +4198,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -4210,11 +4210,11 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "WriteMode: 0x%02x", WriteMode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "WriteMode: 0x%02x", WriteMode);
WriteMode_tree = proto_item_add_subtree(ti, ett_smb_writemode);
- proto_tree_add_text(WriteMode_tree, offset, 2, "%s",
+ proto_tree_add_text(WriteMode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(WriteMode, 0x01, 16, "Write through requested", "Write through not requested"));
- proto_tree_add_text(WriteMode_tree, offset, 2, "%s",
+ proto_tree_add_text(WriteMode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(WriteMode, 0x02, 16, "Return Remaining (pipe/dev)", "Dont return Remaining (pipe/dev)"));
}
@@ -4227,7 +4227,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Reserved 2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Reserved 2: %u", Reserved2);
}
@@ -4239,7 +4239,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -4251,7 +4251,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -4263,7 +4263,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -4275,7 +4275,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad: %u", Pad);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad: %u", Pad);
}
@@ -4291,7 +4291,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4303,7 +4303,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -4315,7 +4315,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -4327,7 +4327,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 1: %u", Reserved1);
}
@@ -4339,7 +4339,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -4351,11 +4351,11 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "WriteMode: 0x%02x", WriteMode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "WriteMode: 0x%02x", WriteMode);
WriteMode_tree = proto_item_add_subtree(ti, ett_smb_writemode);
- proto_tree_add_text(WriteMode_tree, offset, 2, "%s",
+ proto_tree_add_text(WriteMode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(WriteMode, 0x01, 16, "Write through requested", "Write through not requested"));
- proto_tree_add_text(WriteMode_tree, offset, 2, "%s",
+ proto_tree_add_text(WriteMode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(WriteMode, 0x02, 16, "Return Remaining (pipe/dev)", "Dont return Remaining (pipe/dev)"));
}
@@ -4368,7 +4368,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Reserved 2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Reserved 2: %u", Reserved2);
}
@@ -4380,7 +4380,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -4392,7 +4392,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -4404,7 +4404,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -4416,7 +4416,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad: %u", Pad);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad: %u", Pad);
}
@@ -4436,7 +4436,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4450,7 +4450,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Remaining: %u", Remaining);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Remaining: %u", Remaining);
}
@@ -4464,7 +4464,7 @@ dissect_write_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -4489,7 +4489,7 @@ dissect_tdis_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4501,7 +4501,7 @@ dissect_tdis_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -4517,7 +4517,7 @@ dissect_tdis_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4529,7 +4529,7 @@ dissect_tdis_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -4570,7 +4570,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4582,7 +4582,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 2, "TID2: %u", TID2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "TID2: %u", TID2);
}
@@ -4594,7 +4594,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Open Function: %u", OpenFunction);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Open Function: %u", OpenFunction);
}
@@ -4606,9 +4606,9 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Flags: 0x%02x", Flags);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Flags: 0x%02x", Flags);
Flags_tree = proto_item_add_subtree(ti, ett_smb_flags);
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(Flags, 0x03, 16, Flags_0x03, "%s"));
}
@@ -4625,7 +4625,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4639,7 +4639,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -4653,7 +4653,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -4665,7 +4665,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Error File Format: %u", ErrorFileFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Error File Format: %u", ErrorFileFormat);
}
@@ -4677,7 +4677,7 @@ dissect_move_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *paren
if (tree) {
- proto_tree_add_text(tree, offset, strlen(ErrorFileName) + 1, "Error File Name: %s", ErrorFileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(ErrorFileName) + 1, "Error File Name: %s", ErrorFileName);
}
@@ -4707,7 +4707,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4719,7 +4719,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Search Attributes: %u", SearchAttributes);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Search Attributes: %u", SearchAttributes);
}
@@ -4731,7 +4731,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -4743,7 +4743,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format 1: %u", BufferFormat1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format 1: %u", BufferFormat1);
}
@@ -4755,7 +4755,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(OldFileName) + 1, "Old File Name: %s", OldFileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(OldFileName) + 1, "Old File Name: %s", OldFileName);
}
@@ -4767,7 +4767,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format 2: %u", BufferFormat2);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format 2: %u", BufferFormat2);
}
@@ -4779,7 +4779,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(NewFileName) + 1, "New File Name: %s", NewFileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(NewFileName) + 1, "New File Name: %s", NewFileName);
}
@@ -4795,7 +4795,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4807,7 +4807,7 @@ dissect_rename_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -4844,7 +4844,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4856,7 +4856,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Setup Length: %u", SetupLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Setup Length: %u", SetupLength);
}
@@ -4868,9 +4868,9 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Mode: 0x%02x", Mode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Mode: 0x%02x", Mode);
Mode_tree = proto_item_add_subtree(ti, ett_smb_mode);
- proto_tree_add_text(Mode_tree, offset, 2, "%s",
+ proto_tree_add_text(Mode_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(Mode, 0x03, 16, Mode_0x03, "%s"));
}
@@ -4883,7 +4883,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -4895,7 +4895,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -4907,7 +4907,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, strlen(IdentifierString) + 1, "Identifier String: %s", IdentifierString);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(IdentifierString) + 1, "Identifier String: %s", IdentifierString);
}
@@ -4923,7 +4923,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4935,7 +4935,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -4947,7 +4947,7 @@ dissect_open_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -4973,7 +4973,7 @@ dissect_close_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -4985,7 +4985,7 @@ dissect_close_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -4997,7 +4997,7 @@ dissect_close_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5013,7 +5013,7 @@ dissect_close_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count: %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count: %u", WordCount);
}
@@ -5025,7 +5025,7 @@ dissect_close_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5063,7 +5063,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5075,7 +5075,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -5087,7 +5087,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -5099,7 +5099,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Count: %u", MaxCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Count: %u", MaxCount);
}
@@ -5111,7 +5111,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Min Count: %u", MinCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Min Count: %u", MinCount);
}
@@ -5123,7 +5123,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -5135,7 +5135,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u", Reserved);
}
@@ -5147,7 +5147,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5163,7 +5163,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5175,7 +5175,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -5187,7 +5187,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -5199,7 +5199,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Count: %u", MaxCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Count: %u", MaxCount);
}
@@ -5211,7 +5211,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Min Count: %u", MinCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Min Count: %u", MinCount);
}
@@ -5223,7 +5223,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -5235,7 +5235,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u", Reserved);
}
@@ -5247,7 +5247,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset High: %u", OffsetHigh);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset High: %u", OffsetHigh);
}
@@ -5259,7 +5259,7 @@ dissect_read_raw_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5295,7 +5295,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5307,7 +5307,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %u", AndXCommand);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %u", AndXCommand);
}
@@ -5319,7 +5319,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -5331,7 +5331,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -5343,7 +5343,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5366,7 +5366,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5378,7 +5378,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %u", AndXCommand);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %u", AndXCommand);
}
@@ -5390,7 +5390,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -5402,7 +5402,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -5414,7 +5414,7 @@ dissect_logoff_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5457,7 +5457,7 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5469,7 +5469,7 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -5481,9 +5481,9 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Mode: 0x%02x", Mode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Mode: 0x%02x", Mode);
Mode_tree = proto_item_add_subtree(ti, ett_smb_mode);
- proto_tree_add_text(Mode_tree, offset, 2, "%s",
+ proto_tree_add_text(Mode_tree, NullTVB, offset, 2, "%s",
decode_enumerated_bitfield(Mode, 0x03, 16, Mode_0x03, "%s"));
}
@@ -5496,7 +5496,7 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -5508,7 +5508,7 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5524,7 +5524,7 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5536,7 +5536,7 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -5548,7 +5548,7 @@ dissect_seek_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5579,7 +5579,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5591,7 +5591,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -5603,7 +5603,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -5615,7 +5615,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -5627,7 +5627,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Remaining: %u", Remaining);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Remaining: %u", Remaining);
}
@@ -5639,7 +5639,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5651,7 +5651,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -5663,7 +5663,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -5679,7 +5679,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5691,7 +5691,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -5703,7 +5703,7 @@ dissect_write_and_unlock_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5735,7 +5735,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count: %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count: %u", WordCount);
}
@@ -5747,7 +5747,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -5759,7 +5759,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Date: %s", dissect_dos_date(CreationDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Date: %s", dissect_dos_date(CreationDate));
}
@@ -5771,7 +5771,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
}
@@ -5783,7 +5783,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Access Date: %s", dissect_dos_date(LastAccessDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Access Date: %s", dissect_dos_date(LastAccessDate));
}
@@ -5795,7 +5795,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Access Time: %s", dissect_dos_time(LastAccessTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Access Time: %s", dissect_dos_time(LastAccessTime));
}
@@ -5807,7 +5807,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
}
@@ -5819,7 +5819,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
}
@@ -5831,7 +5831,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5847,7 +5847,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCC): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCC): %u", WordCount);
}
@@ -5859,7 +5859,7 @@ dissect_set_info2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5887,7 +5887,7 @@ dissect_lock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5899,7 +5899,7 @@ dissect_lock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -5911,7 +5911,7 @@ dissect_lock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Count: %u", Count);
}
@@ -5923,7 +5923,7 @@ dissect_lock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -5935,7 +5935,7 @@ dissect_lock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5951,7 +5951,7 @@ dissect_lock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -5963,7 +5963,7 @@ dissect_lock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -5994,7 +5994,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count: %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count: %u", WordCount);
}
@@ -6006,7 +6006,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Count: %u", MaxCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Count: %u", MaxCount);
}
@@ -6018,7 +6018,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Start Index: %u", StartIndex);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Start Index: %u", StartIndex);
}
@@ -6030,7 +6030,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6046,7 +6046,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6060,7 +6060,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -6072,7 +6072,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Restart Index: %u", RestartIndex);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Restart Index: %u", RestartIndex);
}
@@ -6086,7 +6086,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6098,7 +6098,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -6110,7 +6110,7 @@ dissect_get_print_queue_smb(const u_char *pd, int offset, frame_data *fd, proto_
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -6147,7 +6147,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6159,7 +6159,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %u", AndXCommand);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %u", AndXCommand);
}
@@ -6171,7 +6171,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -6183,7 +6183,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXOffset: %u", AndXOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXOffset: %u", AndXOffset);
}
@@ -6195,7 +6195,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -6207,17 +6207,17 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- ti = proto_tree_add_text(tree, offset, 1, "Lock Type: 0x%01x", LockType);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 1, "Lock Type: 0x%01x", LockType);
LockType_tree = proto_item_add_subtree(ti, ett_smb_lock_type);
- proto_tree_add_text(LockType_tree, offset, 1, "%s",
+ proto_tree_add_text(LockType_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(LockType, 0x01, 16, "Read-only lock", "Not a Read-only lock"));
- proto_tree_add_text(LockType_tree, offset, 1, "%s",
+ proto_tree_add_text(LockType_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(LockType, 0x02, 16, "Oplock break notification", "Not an Oplock break notification"));
- proto_tree_add_text(LockType_tree, offset, 1, "%s",
+ proto_tree_add_text(LockType_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(LockType, 0x04, 16, "Change lock type", "Not a lock type change"));
- proto_tree_add_text(LockType_tree, offset, 1, "%s",
+ proto_tree_add_text(LockType_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(LockType, 0x08, 16, "Cancel outstanding request", "Dont cancel outstanding request"));
- proto_tree_add_text(LockType_tree, offset, 1, "%s",
+ proto_tree_add_text(LockType_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(LockType, 0x10, 16, "Large file locking format", "Not a large file locking format"));
}
@@ -6230,7 +6230,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "OplockLevel: %u", OplockLevel);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "OplockLevel: %u", OplockLevel);
}
@@ -6242,7 +6242,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -6254,7 +6254,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Number Of Unlocks: %u", NumberOfUnlocks);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Number Of Unlocks: %u", NumberOfUnlocks);
}
@@ -6266,7 +6266,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Number of Locks: %u", NumberofLocks);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Number of Locks: %u", NumberofLocks);
}
@@ -6278,7 +6278,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6301,7 +6301,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6315,7 +6315,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXCommand: %s",
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXCommand: %s",
(AndXCommand == 0xFF ? "No further commands" : decode_smb_name(AndXCommand)));
}
@@ -6328,7 +6328,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "AndXReserved: %u", AndXReserved);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "AndXReserved: %u", AndXReserved);
}
@@ -6340,7 +6340,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "AndXoffset: %u", AndXoffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "AndXoffset: %u", AndXoffset);
}
@@ -6354,7 +6354,7 @@ dissect_locking_andx_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count: %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count: %u", ByteCount);
}
@@ -6389,7 +6389,7 @@ dissect_unlock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6401,7 +6401,7 @@ dissect_unlock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -6413,7 +6413,7 @@ dissect_unlock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Count: %u", Count);
}
@@ -6425,7 +6425,7 @@ dissect_unlock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -6437,7 +6437,7 @@ dissect_unlock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6453,7 +6453,7 @@ dissect_unlock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6465,7 +6465,7 @@ dissect_unlock_bytes_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6497,7 +6497,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6509,19 +6509,19 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Attributes: 0x%02x", Attributes);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Attributes: 0x%02x", Attributes);
Attributes_tree = proto_item_add_subtree(ti, ett_smb_fileattributes);
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x01, 16, "Read-only file", "Not a read-only file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x02, 16, "Hidden file", "Not a hidden file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x04, 16, "System file", "Not a system file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x08, 16, " Volume", "Not a volume"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x10, 16, " Directory", "Not a directory"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x20, 16, " Archived", "Not archived"));
}
@@ -6534,7 +6534,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
}
@@ -6546,7 +6546,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6558,7 +6558,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -6570,7 +6570,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(FileName) + 1, "File Name: %s", FileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(FileName) + 1, "File Name: %s", FileName);
}
@@ -6586,7 +6586,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6600,7 +6600,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -6614,7 +6614,7 @@ dissect_create_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6648,7 +6648,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6660,7 +6660,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Count: %u", MaxCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Count: %u", MaxCount);
}
@@ -6672,7 +6672,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Search Attributes: %u", SearchAttributes);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Search Attributes: %u", SearchAttributes);
}
@@ -6684,7 +6684,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6696,7 +6696,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format 1: %u", BufferFormat1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format 1: %u", BufferFormat1);
}
@@ -6708,7 +6708,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, strlen(FileName) + 1, "File Name: %s", FileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(FileName) + 1, "File Name: %s", FileName);
}
@@ -6720,7 +6720,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format 2: %u", BufferFormat2);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format 2: %u", BufferFormat2);
}
@@ -6732,7 +6732,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Resume Key Length: %u", ResumeKeyLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Resume Key Length: %u", ResumeKeyLength);
}
@@ -6748,7 +6748,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6762,7 +6762,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -6776,7 +6776,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6788,7 +6788,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -6800,7 +6800,7 @@ dissect_search_dir_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -6832,7 +6832,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6844,7 +6844,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved: %u", Reserved);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved: %u", Reserved);
}
@@ -6856,7 +6856,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Time: %s", dissect_dos_time(CreationTime));
}
@@ -6868,7 +6868,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Creation Date: %s", dissect_dos_date(CreationDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Creation Date: %s", dissect_dos_date(CreationDate));
}
@@ -6880,7 +6880,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6892,7 +6892,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -6904,7 +6904,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(DirectoryName) + 1, "Directory Name: %s", DirectoryName);
}
@@ -6920,7 +6920,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -6934,7 +6934,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -6948,7 +6948,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -6960,7 +6960,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -6972,7 +6972,7 @@ dissect_create_temporary_file_smb(const u_char *pd, int offset, frame_data *fd,
if (tree) {
- proto_tree_add_text(tree, offset, strlen(FileName) + 1, "File Name: %s", FileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(FileName) + 1, "File Name: %s", FileName);
}
@@ -7000,7 +7000,7 @@ dissect_close_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pare
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7012,7 +7012,7 @@ dissect_close_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pare
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -7024,7 +7024,7 @@ dissect_close_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pare
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Time: %s", dissect_dos_time(LastWriteTime));
}
@@ -7036,7 +7036,7 @@ dissect_close_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pare
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Date: %s", dissect_dos_date(LastWriteDate));
}
@@ -7048,7 +7048,7 @@ dissect_close_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pare
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7064,7 +7064,7 @@ dissect_close_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pare
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7076,7 +7076,7 @@ dissect_close_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *pare
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7104,7 +7104,7 @@ dissect_write_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7116,7 +7116,7 @@ dissect_write_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -7128,7 +7128,7 @@ dissect_write_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7140,7 +7140,7 @@ dissect_write_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -7152,7 +7152,7 @@ dissect_write_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -7168,7 +7168,7 @@ dissect_write_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7180,7 +7180,7 @@ dissect_write_print_file_smb(const u_char *pd, int offset, frame_data *fd, proto
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7215,7 +7215,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7227,7 +7227,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -7239,7 +7239,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -7251,7 +7251,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -7263,7 +7263,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Remaining: %u", Remaining);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Remaining: %u", Remaining);
}
@@ -7275,7 +7275,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7291,7 +7291,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7305,7 +7305,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -7317,7 +7317,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 1: %u", Reserved1);
}
@@ -7329,7 +7329,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 2: %u", Reserved2);
}
@@ -7341,7 +7341,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 3: %u", Reserved3);
}
@@ -7353,7 +7353,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 4: %u", Reserved4);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 4: %u", Reserved4);
}
@@ -7365,7 +7365,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7379,7 +7379,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -7391,7 +7391,7 @@ dissect_lock_and_read_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -7416,7 +7416,7 @@ dissect_process_exit_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7428,7 +7428,7 @@ dissect_process_exit_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7444,7 +7444,7 @@ dissect_process_exit_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7456,7 +7456,7 @@ dissect_process_exit_smb(const u_char *pd, int offset, frame_data *fd, proto_tre
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7494,7 +7494,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7506,7 +7506,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7518,7 +7518,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Buffer Format: %u", BufferFormat);
}
@@ -7530,7 +7530,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, strlen(FileName) + 1, "File Name: %s", FileName);
+ proto_tree_add_text(tree, NullTVB, offset, strlen(FileName) + 1, "File Name: %s", FileName);
}
@@ -7546,7 +7546,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7560,19 +7560,19 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Attributes: 0x%02x", Attributes);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Attributes: 0x%02x", Attributes);
Attributes_tree = proto_item_add_subtree(ti, ett_smb_fileattributes);
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x01, 16, "Read-only file", "Not a read-only file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x02, 16, "Hidden file", "Not a hidden file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x04, 16, "System file", "Not a system file"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x08, 16, " Volume", "Not a volume"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x10, 16, " Directory", "Not a directory"));
- proto_tree_add_text(Attributes_tree, offset, 2, "%s",
+ proto_tree_add_text(Attributes_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Attributes, 0x20, 16, " Archived", "Not archived"));
}
@@ -7595,9 +7595,9 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Last Write Date: %s", dissect_smbu_date(LastWriteDate, LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Date: %s", dissect_smbu_date(LastWriteDate, LastWriteTime));
- proto_tree_add_text(tree, offset, 2, "Last Write Time: %s", dissect_smbu_time(LastWriteDate, LastWriteTime));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Last Write Time: %s", dissect_smbu_time(LastWriteDate, LastWriteTime));
}
@@ -7609,7 +7609,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 4, "File Size: %u", FileSize);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "File Size: %u", FileSize);
}
@@ -7621,7 +7621,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 1: %u", Reserved1);
}
@@ -7633,7 +7633,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 2: %u", Reserved2);
}
@@ -7645,7 +7645,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 3: %u", Reserved3);
}
@@ -7657,7 +7657,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 4: %u", Reserved4);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 4: %u", Reserved4);
}
@@ -7669,7 +7669,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 5: %u", Reserved5);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 5: %u", Reserved5);
}
@@ -7683,7 +7683,7 @@ dissect_get_file_attr_smb(const u_char *pd, int offset, frame_data *fd, proto_tr
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7718,7 +7718,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7730,7 +7730,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -7742,7 +7742,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -7754,7 +7754,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Offset: %u", Offset);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Offset: %u", Offset);
}
@@ -7766,7 +7766,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Remaining: %u", Remaining);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Remaining: %u", Remaining);
}
@@ -7778,7 +7778,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7794,7 +7794,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7808,7 +7808,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -7820,7 +7820,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 1: %u", Reserved1);
}
@@ -7832,7 +7832,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 2: %u", Reserved2);
}
@@ -7844,7 +7844,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 3: %u", Reserved3);
}
@@ -7856,7 +7856,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 4: %u", Reserved4);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 4: %u", Reserved4);
}
@@ -7870,7 +7870,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -7882,7 +7882,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Buffer Format: %u", BufferFormat);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Buffer Format: %u", BufferFormat);
}
@@ -7894,7 +7894,7 @@ dissect_read_file_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -7931,7 +7931,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -7943,7 +7943,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -7955,7 +7955,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Count: %u", Count);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Count: %u", Count);
}
@@ -7967,7 +7967,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved 1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved 1: %u", Reserved1);
}
@@ -7979,7 +7979,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -7991,13 +7991,13 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "WriteMode: 0x%02x", WriteMode);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "WriteMode: 0x%02x", WriteMode);
WriteMode_tree = proto_item_add_subtree(ti, ett_smb_writemode);
- proto_tree_add_text(WriteMode_tree, offset, 2, "%s",
+ proto_tree_add_text(WriteMode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(WriteMode, 0x01, 16, "Write through requested", "Write through not requested"));
- proto_tree_add_text(WriteMode_tree, offset, 2, "%s",
+ proto_tree_add_text(WriteMode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(WriteMode, 0x02, 16, "Return Remaining", "Dont return Remaining"));
- proto_tree_add_text(WriteMode_tree, offset, 2, "%s",
+ proto_tree_add_text(WriteMode_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(WriteMode, 0x40, 16, "Connectionless mode requested", "Connectionless mode not requested"));
}
@@ -8010,7 +8010,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Request Mask: %u", RequestMask);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Request Mask: %u", RequestMask);
}
@@ -8022,7 +8022,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Length: %u", DataLength);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Length: %u", DataLength);
}
@@ -8034,7 +8034,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -8046,7 +8046,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -8058,7 +8058,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad: %u", Pad);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad: %u", Pad);
}
@@ -8074,7 +8074,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -8088,7 +8088,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Response Mask: %u", ResponseMask);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Response Mask: %u", ResponseMask);
}
@@ -8100,7 +8100,7 @@ dissect_write_mpx_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -8128,7 +8128,7 @@ dissect_find_close2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WTC): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WTC): %u", WordCount);
}
@@ -8140,7 +8140,7 @@ dissect_find_close2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "FID: %u", FID);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "FID: %u", FID);
}
@@ -8152,7 +8152,7 @@ dissect_find_close2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -8168,7 +8168,7 @@ dissect_find_close2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -8180,7 +8180,7 @@ dissect_find_close2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Byte Count (BCC): %u", ByteCount);
}
@@ -8317,7 +8317,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -8329,7 +8329,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
}
@@ -8341,7 +8341,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Data Count: %u", TotalDataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Data Count: %u", TotalDataCount);
}
@@ -8353,7 +8353,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Parameter Count: %u", MaxParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Parameter Count: %u", MaxParameterCount);
}
@@ -8365,7 +8365,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Data Count: %u", MaxDataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Data Count: %u", MaxDataCount);
}
@@ -8377,7 +8377,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Max Setup Count: %u", MaxSetupCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Max Setup Count: %u", MaxSetupCount);
}
@@ -8389,7 +8389,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Reserved1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Reserved1: %u", Reserved1);
}
@@ -8401,11 +8401,11 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Flags: 0x%02x", Flags);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Flags: 0x%02x", Flags);
Flags_tree = proto_item_add_subtree(ti, ett_smb_flags);
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Flags, 0x01, 16, "Also disconnect TID", "Dont disconnect TID"));
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Flags, 0x02, 16, "One way transaction", "Two way transaction"));
}
@@ -8418,7 +8418,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -8430,7 +8430,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved2: %u", Reserved2);
}
@@ -8442,7 +8442,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Count: %u", ParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Count: %u", ParameterCount);
}
@@ -8454,7 +8454,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Offset: %u", ParameterOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Offset: %u", ParameterOffset);
}
@@ -8466,7 +8466,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Count: %u", DataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Count: %u", DataCount);
}
@@ -8478,7 +8478,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -8490,7 +8490,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Setup Count: %u", SetupCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Setup Count: %u", SetupCount);
}
@@ -8502,7 +8502,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Reserved3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Reserved3: %u", Reserved3);
}
@@ -8531,7 +8531,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Setup%i: %u", i, Setup1);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Setup%i: %u", i, Setup1);
}
@@ -8547,7 +8547,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -8557,7 +8557,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Transact Name: %s", decode_trans2_name(Setup));
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Transact Name: %s", decode_trans2_name(Setup));
}
@@ -8569,7 +8569,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad1: %u", Pad1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad1: %u", Pad1);
}
@@ -8583,7 +8583,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, SMB_offset + ParameterOffset, ParameterCount, "Parameters: %s", format_text(pd + SMB_offset + ParameterOffset, ParameterCount));
+ proto_tree_add_text(tree, NullTVB, SMB_offset + ParameterOffset, ParameterCount, "Parameters: %s", format_text(pd + SMB_offset + ParameterOffset, ParameterCount));
}
@@ -8599,7 +8599,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad2: %u", Pad2);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad2: %u", Pad2);
}
@@ -8615,7 +8615,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, SMB_offset + DataOffset, DataCount, "Data: %s", format_text(&pd[offset], DataCount));
+ proto_tree_add_text(tree, NullTVB, SMB_offset + DataOffset, DataCount, "Data: %s", format_text(&pd[offset], DataCount));
}
@@ -8640,7 +8640,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -8652,7 +8652,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
}
@@ -8664,7 +8664,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Data Count: %u", TotalDataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Data Count: %u", TotalDataCount);
}
@@ -8676,7 +8676,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved2: %u", Reserved2);
}
@@ -8688,7 +8688,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Count: %u", ParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Count: %u", ParameterCount);
}
@@ -8700,7 +8700,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Offset: %u", ParameterOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Offset: %u", ParameterOffset);
}
@@ -8712,7 +8712,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Displacement: %u", ParameterDisplacement);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Displacement: %u", ParameterDisplacement);
}
@@ -8724,7 +8724,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Count: %u", DataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Count: %u", DataCount);
}
@@ -8736,7 +8736,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -8748,7 +8748,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Displacement: %u", DataDisplacement);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Displacement: %u", DataDisplacement);
}
@@ -8760,7 +8760,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Setup Count: %u", SetupCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Setup Count: %u", SetupCount);
}
@@ -8772,7 +8772,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Reserved3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Reserved3: %u", Reserved3);
}
@@ -8784,7 +8784,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Setup: %u", Setup);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Setup: %u", Setup);
}
@@ -8796,7 +8796,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -8808,7 +8808,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad1: %u", Pad1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad1: %u", Pad1);
}
@@ -8820,7 +8820,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, ParameterCount, "Parameter: %s", format_text(pd + SMB_offset + ParameterOffset, ParameterCount));
+ proto_tree_add_text(tree, NullTVB, offset, ParameterCount, "Parameter: %s", format_text(pd + SMB_offset + ParameterOffset, ParameterCount));
}
@@ -8834,7 +8834,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad2: %u", Pad2);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad2: %u", Pad2);
}
@@ -8846,7 +8846,7 @@ dissect_transact2_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *
if (tree) {
- proto_tree_add_text(tree, offset, DataCount, "Data: %s", format_text(pd + SMB_offset + DataOffset, DataCount));
+ proto_tree_add_text(tree, NullTVB, offset, DataCount, "Data: %s", format_text(pd + SMB_offset + DataOffset, DataCount));
}
@@ -8901,7 +8901,7 @@ dissect_transact_params(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, SMB_offset + ParameterOffset, ParameterCount, "Parameters: %s", format_text(pd + SMB_offset + ParameterOffset, ParameterCount));
+ proto_tree_add_text(tree, NullTVB, SMB_offset + ParameterOffset, ParameterCount, "Parameters: %s", format_text(pd + SMB_offset + ParameterOffset, ParameterCount));
}
@@ -8917,7 +8917,7 @@ dissect_transact_params(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad2: %u: %u", Pad2, offset);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad2: %u: %u", Pad2, offset);
}
@@ -8933,7 +8933,7 @@ dissect_transact_params(const u_char *pd, int offset, frame_data *fd, proto_tree
if (tree) {
- proto_tree_add_text(tree, SMB_offset + DataOffset, DataCount, "Data: %s", format_text(pd + SMB_offset + DataOffset, DataCount));
+ proto_tree_add_text(tree, NullTVB, SMB_offset + DataOffset, DataCount, "Data: %s", format_text(pd + SMB_offset + DataOffset, DataCount));
}
@@ -9030,7 +9030,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -9042,7 +9042,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
}
@@ -9054,7 +9054,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Data Count: %u", TotalDataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Data Count: %u", TotalDataCount);
}
@@ -9066,7 +9066,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Parameter Count: %u", MaxParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Parameter Count: %u", MaxParameterCount);
}
@@ -9078,7 +9078,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Max Data Count: %u", MaxDataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Max Data Count: %u", MaxDataCount);
}
@@ -9090,7 +9090,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Max Setup Count: %u", MaxSetupCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Max Setup Count: %u", MaxSetupCount);
}
@@ -9102,7 +9102,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Reserved1: %u", Reserved1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Reserved1: %u", Reserved1);
}
@@ -9114,11 +9114,11 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Flags: 0x%02x", Flags);
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Flags: 0x%02x", Flags);
Flags_tree = proto_item_add_subtree(ti, ett_smb_flags);
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Flags, 0x01, 16, "Also disconnect TID", "Dont disconnect TID"));
- proto_tree_add_text(Flags_tree, offset, 2, "%s",
+ proto_tree_add_text(Flags_tree, NullTVB, offset, 2, "%s",
decode_boolean_bitfield(Flags, 0x02, 16, "One way transaction", "Two way transaction"));
}
@@ -9131,7 +9131,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 4, "Timeout: %u", Timeout);
+ proto_tree_add_text(tree, NullTVB, offset, 4, "Timeout: %u", Timeout);
}
@@ -9143,7 +9143,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved2: %u", Reserved2);
}
@@ -9155,7 +9155,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Count: %u", ParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Count: %u", ParameterCount);
}
@@ -9167,7 +9167,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Offset: %u", ParameterOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Offset: %u", ParameterOffset);
}
@@ -9179,7 +9179,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Count: %u", DataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Count: %u", DataCount);
}
@@ -9191,7 +9191,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -9203,7 +9203,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Setup Count: %u", SetupCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Setup Count: %u", SetupCount);
}
@@ -9215,7 +9215,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Reserved3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Reserved3: %u", Reserved3);
}
offset += 1; /* Skip Reserved3 */
@@ -9236,7 +9236,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Setup%i: %u", i, Setup);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Setup%i: %u", i, Setup);
}
@@ -9252,7 +9252,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -9290,7 +9290,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, TNlen, "Transact Name: %s", TransactName);
+ proto_tree_add_text(tree, NullTVB, offset, TNlen, "Transact Name: %s", TransactName);
}
@@ -9305,7 +9305,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad1: %u", Pad1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad1: %u", Pad1);
}
@@ -9334,7 +9334,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Word Count (WCT): %u", WordCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Word Count (WCT): %u", WordCount);
}
@@ -9346,7 +9346,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Parameter Count: %u", TotalParameterCount);
}
@@ -9358,7 +9358,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Total Data Count: %u", TotalDataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Total Data Count: %u", TotalDataCount);
}
@@ -9370,7 +9370,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Reserved2: %u", Reserved2);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Reserved2: %u", Reserved2);
}
@@ -9382,7 +9382,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Count: %u", ParameterCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Count: %u", ParameterCount);
}
@@ -9394,7 +9394,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Offset: %u", ParameterOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Offset: %u", ParameterOffset);
}
@@ -9406,7 +9406,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Parameter Displacement: %u", ParameterDisplacement);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Parameter Displacement: %u", ParameterDisplacement);
}
@@ -9418,7 +9418,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Count: %u", DataCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Count: %u", DataCount);
}
@@ -9430,7 +9430,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Offset: %u", DataOffset);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Offset: %u", DataOffset);
}
@@ -9442,7 +9442,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Data Displacement: %u", DataDisplacement);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Data Displacement: %u", DataDisplacement);
}
@@ -9454,7 +9454,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Setup Count: %u", SetupCount);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Setup Count: %u", SetupCount);
}
@@ -9467,7 +9467,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Reserved3: %u", Reserved3);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Reserved3: %u", Reserved3);
}
@@ -9486,7 +9486,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Setup: %u", Setup);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Setup: %u", Setup);
}
@@ -9500,7 +9500,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 2, "Byte Count (BCC): %u", ByteCount);
+ proto_tree_add_text(tree, NullTVB, offset, 2, "Byte Count (BCC): %u", ByteCount);
}
@@ -9514,7 +9514,7 @@ dissect_transact_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *p
if (tree) {
- proto_tree_add_text(tree, offset, 1, "Pad1: %u", Pad1);
+ proto_tree_add_text(tree, NullTVB, offset, 1, "Pad1: %u", Pad1);
}
@@ -9971,15 +9971,15 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- ti = proto_tree_add_item(tree, proto_smb, offset, END_OF_FRAME, NULL);
+ 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
* component ... SMB is only one used
*/
- proto_tree_add_text(smb_tree, offset, 1, "Message Type: 0xFF");
- proto_tree_add_text(smb_tree, offset+1, 3, "Server Component: SMB");
+ proto_tree_add_text(smb_tree, NullTVB, offset, 1, "Message Type: 0xFF");
+ proto_tree_add_text(smb_tree, NullTVB, offset+1, 3, "Server Component: SMB");
}
@@ -9987,7 +9987,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 1, "Command: %s", decode_smb_name(cmd));
+ proto_tree_add_text(smb_tree, NullTVB, offset, 1, "Command: %s", decode_smb_name(cmd));
}
@@ -9999,7 +9999,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 1, "Error Class: %s",
+ proto_tree_add_text(smb_tree, NullTVB, offset, 1, "Error Class: %s",
val_to_str((guint8)pd[offset], errcls_types, "Unknown Error Class (%x)"));
}
@@ -10011,7 +10011,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 1, "Reserved: %i", errcode1);
+ proto_tree_add_text(smb_tree, NullTVB, offset, 1, "Reserved: %i", errcode1);
}
@@ -10021,7 +10021,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 2, "Error Code: %s",
+ proto_tree_add_text(smb_tree, NullTVB, offset, 2, "Error Code: %s",
decode_smb_error(errcls, errcode));
}
@@ -10034,35 +10034,35 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- tf = proto_tree_add_text(smb_tree, offset, 1, "Flags: 0x%02x", flags);
+ tf = proto_tree_add_text(smb_tree, NullTVB, offset, 1, "Flags: 0x%02x", flags);
flags_tree = proto_item_add_subtree(tf, ett_smb_flags);
- proto_tree_add_text(flags_tree, offset, 1, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x01, 8,
"Lock&Read, Write&Unlock supported",
"Lock&Read, Write&Unlock not supported"));
- proto_tree_add_text(flags_tree, offset, 1, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x02, 8,
"Receive buffer posted",
"Receive buffer not posted"));
- proto_tree_add_text(flags_tree, offset, 1, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x08, 8,
"Path names caseless",
"Path names case sensitive"));
- proto_tree_add_text(flags_tree, offset, 1, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x10, 8,
"Pathnames canonicalized",
"Pathnames not canonicalized"));
- proto_tree_add_text(flags_tree, offset, 1, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x20, 8,
"OpLocks requested/granted",
"OpLocks not requested/granted"));
- proto_tree_add_text(flags_tree, offset, 1, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, 0x40, 8,
"Notify all",
"Notify open only"));
- proto_tree_add_text(flags_tree, offset, 1, "%s",
+ proto_tree_add_text(flags_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags, SMB_FLAGS_DIRN,
8, "Response to client/redirector", "Request to server"));
@@ -10074,38 +10074,38 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- tf = proto_tree_add_text(smb_tree, offset, 1, "Flags2: 0x%04x", flags2);
+ tf = proto_tree_add_text(smb_tree, NullTVB, offset, 1, "Flags2: 0x%04x", flags2);
flags2_tree = proto_item_add_subtree(tf, ett_smb_flags2);
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x0001, 16,
"Long file names supported",
"Long file names not supported"));
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x0002, 16,
"Extended attributes supported",
"Extended attributes not supported"));
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x0004, 16,
"Security signatures supported",
"Security signatures not supported"));
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x0800, 16,
"Extended security negotiation supported",
"Extended security negotiation not supported"));
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x1000, 16,
"Resolve pathnames with DFS",
"Don't resolve pathnames with DFS"));
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x2000, 16,
"Permit reads if execute-only",
"Don't permit reads if execute-only"));
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x4000, 16,
"Error codes are NT error codes",
"Error codes are DOS error codes"));
- proto_tree_add_text(flags2_tree, offset, 1, "%s",
+ proto_tree_add_text(flags2_tree, NullTVB, offset, 1, "%s",
decode_boolean_bitfield(flags2, 0x8000, 16,
"Strings are Unicode",
"Strings are ASCII"));
@@ -10118,7 +10118,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 12, "Reserved: 6 WORDS");
+ proto_tree_add_text(smb_tree, NullTVB, offset, 12, "Reserved: 6 WORDS");
}
@@ -10131,7 +10131,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 2, "Network Path/Tree ID (TID): %i (%04x)", tid, tid);
+ proto_tree_add_text(smb_tree, NullTVB, offset, 2, "Network Path/Tree ID (TID): %i (%04x)", tid, tid);
}
@@ -10144,7 +10144,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 2, "Process ID (PID): %i (%04x)", pid, pid);
+ proto_tree_add_text(smb_tree, NullTVB, offset, 2, "Process ID (PID): %i (%04x)", pid, pid);
}
@@ -10157,7 +10157,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 2, "User ID (UID): %i (%04x)", uid, uid);
+ proto_tree_add_text(smb_tree, NullTVB, offset, 2, "User ID (UID): %i (%04x)", uid, uid);
}
@@ -10170,7 +10170,7 @@ dissect_smb(const u_char *pd, int offset, frame_data *fd, proto_tree *tree, int
if (tree) {
- proto_tree_add_text(smb_tree, offset, 2, "Multiplex ID (MID): %i (%04x)", mid, mid);
+ proto_tree_add_text(smb_tree, NullTVB, offset, 2, "Multiplex ID (MID): %i (%04x)", mid, mid);
}
diff --git a/packet-sna.c b/packet-sna.c
index 9fb1f2976b..848b88e800 100644
--- a/packet-sna.c
+++ b/packet-sna.c
@@ -2,7 +2,7 @@
* Routines for SNA
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-sna.c,v 1.14 2000/04/17 00:32:42 guy Exp $
+ * $Id: packet-sna.c,v 1.15 2000/05/11 08:15:48 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -332,13 +332,13 @@ dissect_sna(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* 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, offset, 0, NULL);
+ 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, offset, 0, NULL);
+ 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);
}
@@ -375,7 +375,7 @@ dissect_sna(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* --- RH --- */
if (BYTES_ARE_IN_FRAME(offset, 3)) {
- rh_ti = proto_tree_add_item(sna_tree, hf_sna_rh, offset, 3, NULL);
+ 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;
@@ -432,18 +432,18 @@ dissect_fid0_1 (const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
/* Create the bitfield tree */
- bf_item = proto_tree_add_item(tree, hf_sna_th_0, offset, 1, th_0);
+ 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, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_mpf, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_efi ,offset, 1, th_0);
+ 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, offset+1, 1, "Reserved");
- proto_tree_add_item(tree, hf_sna_th_daf ,offset+2, 1, daf);
- proto_tree_add_item(tree, hf_sna_th_oaf ,offset+4, 1, oaf);
- proto_tree_add_item(tree, hf_sna_th_snf ,offset+6, 2, snf);
- proto_tree_add_item(tree, hf_sna_th_dcf ,offset+8, 2, dcf);
+ 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;
@@ -482,21 +482,21 @@ dissect_fid2 (const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
snf = pntohs(&pd[offset+4]);
/* Create the bitfield tree */
- bf_item = proto_tree_add_item(tree, hf_sna_th_0, offset, 1, th_0);
+ 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, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_mpf, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_odai ,offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_efi ,offset, 1, th_0);
+ 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, offset+1, 1, "Reserved");
- proto_tree_add_uint_format(tree, hf_sna_th_daf ,offset+2, 1, daf,
+ proto_tree_add_text(tree, NullTVB, offset+1, 1, "Reserved");
+ proto_tree_add_uint_format(tree, hf_sna_th_daf , NullTVB,offset+2, 1, daf,
"Destination Address Field: 0x%02x", daf);
- proto_tree_add_uint_format(tree, hf_sna_th_oaf ,offset+3, 1, oaf,
+ 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 ,offset+4, 2, snf);
+ proto_tree_add_item(tree, hf_sna_th_snf , NullTVB,offset+4, 2, snf);
return bytes_in_header;
}
@@ -524,14 +524,14 @@ dissect_fid3 (const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
lsid = pd[offset+1];
/* Create the bitfield tree */
- bf_item = proto_tree_add_item(tree, hf_sna_th_0, offset, 1, th_0);
+ 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, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_mpf, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_efi ,offset, 1, th_0);
+ 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 ,offset+1, 1, lsid);
+ proto_tree_add_item(tree, hf_sna_th_lsid , NullTVB,offset+1, 1, lsid);
return bytes_in_header;
}
@@ -601,122 +601,122 @@ dissect_fid4 (const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
th_byte = pd[offset];
/* Create the bitfield tree */
- bf_item = proto_tree_add_item(tree, hf_sna_th_0, offset, 1, th_byte);
+ 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, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_tg_sweep, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_er_vr_supp_ind, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_vr_pac_cnt_ind, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_ntwk_prty, offset, 1, th_byte);
+ 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];
/* Create the bitfield tree */
- bf_item = proto_tree_add_text(tree, offset, 1, "Transmision Header Byte 1");
+ bf_item = proto_tree_add_text(tree, NullTVB, offset, 1, "Transmision Header Byte 1");
bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid);
/* Byte 1 */
- proto_tree_add_item(bf_tree, hf_sna_th_tgsf, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_mft, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_piubf, offset, 1, th_byte);
+ 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;
th_byte = pd[offset];
/* Create the bitfield tree */
- bf_item = proto_tree_add_text(tree, offset, 1, "Transmision Header Byte 2");
+ bf_item = proto_tree_add_text(tree, NullTVB, offset, 1, "Transmision Header Byte 2");
bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid);
/* Byte 2 */
if (mft) {
- proto_tree_add_item(bf_tree, hf_sna_th_nlpoi, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_nlp_cp, offset, 1, th_byte);
+ 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, offset, 1, th_byte);
+ 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, 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];
/* Create the bitfield tree */
- bf_item = proto_tree_add_text(tree, offset, 1, "Transmision Header Byte 3");
+ bf_item = proto_tree_add_text(tree, NullTVB, offset, 1, "Transmision Header Byte 3");
bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid);
/* Byte 3 */
- proto_tree_add_item(bf_tree, hf_sna_th_vrn, offset, 1, th_byte);
- proto_tree_add_item(bf_tree, hf_sna_th_tpf, offset, 1, th_byte);
+ 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]);
/* Create the bitfield tree */
- bf_item = proto_tree_add_text(tree, offset, 2, "Transmision Header Bytes 4-5");
+ bf_item = proto_tree_add_text(tree, NullTVB, offset, 2, "Transmision Header Bytes 4-5");
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, offset, 2, th_word);
- proto_tree_add_item(bf_tree, hf_sna_th_tg_nonfifo_ind, offset, 2, th_word);
- proto_tree_add_item(bf_tree, hf_sna_th_vr_sqti, offset, 2, th_word);
+ 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, offset, 2, th_word);
+ proto_tree_add_item(bf_tree, hf_sna_th_tg_snf, NullTVB, offset, 2, th_word);
offset += 2;
th_word = pntohs(&pd[offset]);
/* Create the bitfield tree */
- bf_item = proto_tree_add_text(tree, offset, 2, "Transmision Header Bytes 6-7");
+ bf_item = proto_tree_add_text(tree, NullTVB, offset, 2, "Transmision Header Bytes 6-7");
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, offset, 2, th_word);
- proto_tree_add_item(bf_tree, hf_sna_th_vrprs, offset, 2, th_word);
- proto_tree_add_item(bf_tree, hf_sna_th_vr_cwri, offset, 2, th_word);
- proto_tree_add_item(bf_tree, hf_sna_th_vr_rwi, offset, 2, th_word);
+ 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, offset, 2, th_word);
+ 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, offset, 4, dsaf);
+ 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, offset, 4, osaf);
+ proto_tree_add_item(tree, hf_sna_th_osaf, NullTVB, offset, 4, osaf);
offset += 4;
th_byte = pd[offset];
/* Create the bitfield tree */
- bf_item = proto_tree_add_text(tree, offset, 2, "Transmision Header Byte 16");
+ bf_item = proto_tree_add_text(tree, NullTVB, offset, 2, "Transmision Header Byte 16");
bf_tree = proto_item_add_subtree(bf_item, ett_sna_th_fid);
/* Byte 16 */
- proto_tree_add_item(tree, hf_sna_th_snai, offset, 1, th_byte);
+ 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, offset, 1, th_byte);
- proto_tree_add_item(tree, hf_sna_th_efi, offset, 1, th_byte);
+ 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, offset+0, 2, def);
- proto_tree_add_item(tree, hf_sna_th_oef, offset+2, 2, oef);
- proto_tree_add_item(tree, hf_sna_th_snf, offset+4, 2, snf);
- proto_tree_add_item(tree, hf_sna_th_snf, offset+6, 2, dcf);
+ 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;
}
@@ -744,17 +744,17 @@ dissect_fid5 (const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
/* Create the bitfield tree */
- bf_item = proto_tree_add_item(tree, hf_sna_th_0, offset, 1, th_0);
+ 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, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_mpf, offset, 1, th_0);
- proto_tree_add_item(bf_tree, hf_sna_th_efi, offset, 1, th_0);
+ 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, offset+1, 1, "Reserved");
- proto_tree_add_item(tree, hf_sna_th_snf, offset+2, 2, snf);
+ 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, offset+4, 8, &pd[offset+4]);
+ proto_tree_add_item(tree, hf_sna_th_sa, NullTVB, offset+4, 8, &pd[offset+4]);
return bytes_in_header;
@@ -788,19 +788,19 @@ dissect_fidf (const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
/* Create the bitfield tree */
- bf_item = proto_tree_add_item(tree, hf_sna_th_0, offset, 1, th_0);
+ 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, offset, 1, th_0);
- proto_tree_add_text(tree, offset+1, 1, "Reserved");
+ 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, offset+2, 1, cmd_fmt);
- proto_tree_add_item(tree, hf_sna_th_cmd_type, offset+3, 1, cmd_type);
- proto_tree_add_item(tree, hf_sna_th_cmd_sn, offset+4, 2, cmd_sn);
+ 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, offset+6, 18, "Reserved");
+ proto_tree_add_text(tree, NullTVB, offset+6, 18, "Reserved");
- proto_tree_add_item(tree, hf_sna_th_dcf, offset+24, 8, dcf);
+ proto_tree_add_item(tree, hf_sna_th_dcf, NullTVB, offset+24, 8, dcf);
return bytes_in_header;
}
@@ -822,56 +822,56 @@ dissect_rh (const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
is_response = (rh_0 & 0x80);
/* Create the bitfield tree for byte 0*/
- bf_item = proto_tree_add_item(tree, hf_sna_rh_0, offset, 1, rh_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, offset, 1, rh_0);
- proto_tree_add_item(bf_tree, hf_sna_rh_ru_category, offset, 1, rh_0);
- proto_tree_add_item(bf_tree, hf_sna_rh_fi, offset, 1, rh_0);
- proto_tree_add_item(bf_tree, hf_sna_rh_sdi, offset, 1, rh_0);
- proto_tree_add_item(bf_tree, hf_sna_rh_bci, offset, 1, rh_0);
- proto_tree_add_item(bf_tree, hf_sna_rh_eci, offset, 1, 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, offset, 1, rh_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, offset, 1, 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, offset, 1, rh_1);
+ 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, 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, offset, 1, rh_1);
+ 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, offset, 1, rh_1);
- proto_tree_add_item(bf_tree, hf_sna_rh_rlwi, offset, 1, rh_1);
+ 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, offset, 1, rh_1);
- proto_tree_add_item(bf_tree, hf_sna_rh_pi, 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, offset, 1, rh_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, offset, 1, rh_2);
- proto_tree_add_item(bf_tree, hf_sna_rh_ebi, offset, 1, rh_2);
- proto_tree_add_item(bf_tree, hf_sna_rh_cdi, offset, 1, rh_2);
- proto_tree_add_item(bf_tree, hf_sna_rh_csi, offset, 1, rh_2);
- proto_tree_add_item(bf_tree, hf_sna_rh_edi, offset, 1, rh_2);
- proto_tree_add_item(bf_tree, hf_sna_rh_pdi, offset, 1, rh_2);
- proto_tree_add_item(bf_tree, hf_sna_rh_cebi, offset, 1, 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 */
diff --git a/packet-snmp.c b/packet-snmp.c
index 75c1536988..2c181f61b5 100644
--- a/packet-snmp.c
+++ b/packet-snmp.c
@@ -2,7 +2,7 @@
* Routines for SNMP (simple network management protocol)
* D.Jorand (c) 1998
*
- * $Id: packet-snmp.c,v 1.29 2000/05/09 17:45:02 guy Exp $
+ * $Id: packet-snmp.c,v 1.30 2000/05/11 08:15:49 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -600,10 +600,10 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
format_value(vb_display_string, &variable,
variable_oid, variable_oid_length, vb_type,
vb_length);
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s", vb_display_string);
#else
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: %d (%#x)", vb_type_name,
vb_integer_value, vb_integer_value);
#endif
@@ -629,10 +629,10 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
format_value(vb_display_string, &variable,
variable_oid, variable_oid_length, vb_type,
vb_length);
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s", vb_display_string);
#else
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: %u (%#x)", vb_type_name,
vb_uinteger_value, vb_uinteger_value);
#endif
@@ -656,7 +656,7 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
format_value(vb_display_string, &variable,
variable_oid, variable_oid_length, vb_type,
vb_length);
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s", vb_display_string);
#else
/*
@@ -682,11 +682,11 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
vb_octet_string[i]);
buf += len;
}
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: %s", vb_type_name,
vb_display_string);
} else {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: %.*s", vb_type_name,
(int)vb_length, vb_octet_string);
}
@@ -701,7 +701,7 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
return ret;
length = asn1->pointer - start;
if (snmp_tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s", vb_type_name);
}
break;
@@ -718,11 +718,11 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
format_value(vb_display_string, &variable,
variable_oid, variable_oid_length, vb_type,
vb_length*sizeof (subid_t));
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s", vb_display_string);
#else
format_oid(vb_display_string, vb_oid, vb_oid_length);
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: %s", vb_type_name, vb_display_string);
#endif
}
@@ -732,7 +732,7 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
case SNMP_NOSUCHOBJECT:
length = asn1->pointer - start;
if (snmp_tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: no such object", vb_type_name);
}
break;
@@ -740,7 +740,7 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
case SNMP_NOSUCHINSTANCE:
length = asn1->pointer - start;
if (snmp_tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: no such instance", vb_type_name);
}
break;
@@ -748,7 +748,7 @@ snmp_variable_decode(proto_tree *snmp_tree, subid_t *variable_oid,
case SNMP_ENDOFMIBVIEW:
length = asn1->pointer - start;
if (snmp_tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Value: %s: end of mib view", vb_type_name);
}
break;
@@ -822,7 +822,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
col_add_str(fd, COL_PROTOCOL, proto_name);
if (tree) {
- item = proto_tree_add_item(tree, proto, offset, END_OF_FRAME, NULL);
+ item = proto_tree_add_item(tree, proto, NullTVB, offset, END_OF_FRAME, NULL);
snmp_tree = proto_item_add_subtree(item, ett);
}
@@ -847,7 +847,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
return;
}
if (tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Version: %s",
val_to_str(version, versions, "Unknown version %#x"));
}
@@ -861,7 +861,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
return;
}
if (tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Community: %.*s", community_length, community);
}
g_free(community);
@@ -900,7 +900,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
col_add_str(fd, COL_INFO, pdu_type_string);
length = asn1.pointer - start;
if (tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"PDU type: %s", pdu_type_string);
}
offset += length;
@@ -923,7 +923,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
return;
}
if (tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Request Id: %#x", request_id);
}
offset += length;
@@ -939,10 +939,10 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
}
if (tree) {
if (pdu_type == SNMP_MSG_GETBULK) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Non-repeaters: %u", error_status);
} else {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Error Status: %s",
val_to_str(error_status, error_statuses,
"Unknown (%d)"));
@@ -961,10 +961,10 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
}
if (tree) {
if (pdu_type == SNMP_MSG_GETBULK) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Max repetitions: %u", error_index);
} else {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Error Index: %u", error_index);
}
}
@@ -982,7 +982,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
}
if (tree) {
format_oid(oid_string, enterprise, enterprise_length);
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Enterprise: %s", oid_string);
}
g_free(enterprise);
@@ -1019,7 +1019,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
}
length = asn1.pointer - start;
if (tree) {
- proto_tree_add_text(snmp_tree, offset, agent_address_length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, agent_address_length,
"Agent address: %s", ip_to_str(agent_address));
}
g_free(agent_address);
@@ -1033,7 +1033,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
return;
}
if (tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Trap type: %s",
val_to_str(trap_type, trap_types, "Unknown (%u)"));
}
@@ -1047,7 +1047,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
return;
}
if (tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Specific trap type: %u (%#x)",
specific_type, specific_type);
}
@@ -1077,7 +1077,7 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
}
length = asn1.pointer - start;
if (tree) {
- proto_tree_add_text(snmp_tree, offset, length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, length,
"Timestamp: %u", timestamp);
}
offset += length;
@@ -1126,12 +1126,12 @@ dissect_snmp_pdu(const u_char *pd, int offset, frame_data *fd,
#if defined(HAVE_UCD_SNMP_SNMP_H) || defined(HAVE_SNMP_SNMP_H)
sprint_objid(vb_oid_string, variable_oid,
variable_oid_length);
- proto_tree_add_text(snmp_tree, offset, sequence_length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, sequence_length,
"Object identifier %d: %s (%s)", vb_index,
oid_string, vb_oid_string);
#else
- proto_tree_add_text(snmp_tree, offset, sequence_length,
+ proto_tree_add_text(snmp_tree, NullTVB, offset, sequence_length,
"Object identifier %d: %s", vb_index,
oid_string);
#endif
diff --git a/packet-socks.c b/packet-socks.c
index ac753b1e10..702b3acb48 100644
--- a/packet-socks.c
+++ b/packet-socks.c
@@ -2,7 +2,7 @@
* Routines for socks versions 4 &5 packet dissection
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com>
*
- * $Id: packet-socks.c,v 1.3 2000/04/13 20:39:15 gram Exp $
+ * $Id: packet-socks.c,v 1.4 2000/05/11 08:15:49 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -84,7 +84,7 @@
#define CHECK_PACKET_LENGTH(X) if ((offset+X) > fd->cap_len){ \
- proto_tree_add_text(tree, offset, 0, "*** FRAME TOO SHORT ***"); \
+ proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***"); \
return; }
#define compare_packet(X) (X == (fd->num))
@@ -234,24 +234,24 @@ static int display_string( const u_char *pd, int offset, frame_data *fd,
int length = GBYTE( pd, offset);
if ((offset + 8) > fd->cap_len){
- proto_tree_add_text(tree, offset, 0, "*** FRAME TOO SHORT ***");
+ proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***");
return 0;
}
strncpy( temp, &pd[ offset + 1], length);
temp[ length ] = 0;
- ti = proto_tree_add_text(tree, offset, length + 1,
+ ti = proto_tree_add_text(tree, NullTVB, offset, length + 1,
"%s: %s" , label, temp);
name_tree = proto_item_add_subtree(ti, ett_socks_name);
- proto_tree_add_text( name_tree, offset, 1, "Length: %d", length);
+ proto_tree_add_text( name_tree, NullTVB, offset, 1, "Length: %d", length);
++offset;
- proto_tree_add_text( name_tree, offset, length, "String: %s", temp);
+ proto_tree_add_text( name_tree, NullTVB, offset, length, "String: %s", temp);
return length + 1;
}
@@ -297,7 +297,7 @@ static int display_address( const u_char *pd, int offset,
int a_type = GBYTE( pd, offset);
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Address Type: %d (%s)", a_type,
address_type_table[ MAX( 0, MIN( a_type,
array_length( address_type_table)-1))]);
@@ -306,9 +306,9 @@ static int display_address( const u_char *pd, int offset,
if ( a_type == 1){ /* IPv4 address */
if ( (offset + 4) > fd->cap_len)
- proto_tree_add_text(tree, offset, 0, "*** FRAME TOO SHORT ***");
+ proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***");
- proto_tree_add_item( tree, hf_socks_ip_dst, offset,
+ proto_tree_add_item( tree, hf_socks_ip_dst, NullTVB, offset,
4, GWORD( pd, offset));
offset += 4;
}
@@ -319,9 +319,9 @@ static int display_address( const u_char *pd, int offset,
}
else if ( a_type == 4){ /* IPv6 address */
if ((offset + 16) > fd->cap_len)
- proto_tree_add_text(tree, offset, 0, "*** FRAME TOO SHORT ***");
+ proto_tree_add_text(tree, NullTVB, offset, 0, "*** FRAME TOO SHORT ***");
- proto_tree_add_item( tree, hf_socks_ip6_dst, offset,
+ proto_tree_add_item( tree, hf_socks_ip6_dst, NullTVB, offset,
4, GWORD( pd, offset));
offset += 16;
}
@@ -385,17 +385,17 @@ static void socks_udp_dissector( const u_char *pd, int offset, frame_data *fd,
col_add_fstr(fd, COL_INFO, "Version: 5, UDP Associated packet");
if ( tree) {
- ti = proto_tree_add_item( tree, proto_socks, offset,
+ ti = proto_tree_add_item( tree, proto_socks, NullTVB, offset,
END_OF_FRAME, NULL, "Socks:" );
socks_tree = proto_item_add_subtree(ti, ett_socks);
CHECK_PACKET_LENGTH( 3);
- proto_tree_add_text( socks_tree, offset, 2, "Reserved");
+ proto_tree_add_text( socks_tree, NullTVB, offset, 2, "Reserved");
offset += 2;
- proto_tree_add_text( socks_tree, offset, 1, "Fragment Number: %d", GBYTE( pd,offset));
+ proto_tree_add_text( socks_tree, NullTVB, offset, 1, "Fragment Number: %d", GBYTE( pd,offset));
++offset;
@@ -403,7 +403,7 @@ static void socks_udp_dissector( const u_char *pd, int offset, frame_data *fd,
hash_info->udp_remote_port = pntohs( &pd[ offset]);
CHECK_PACKET_LENGTH( 2);
- proto_tree_add_item( socks_tree, hf_socks_dstport,
+ proto_tree_add_item( socks_tree, hf_socks_dstport, NullTVB,
offset, 2, hash_info->udp_remote_port);
offset += 2;
@@ -464,30 +464,30 @@ void display_socks_v4( const u_char *pd, int offset, frame_data *fd,
if (compare_packet( hash_info->connect_row)){
CHECK_PACKET_LENGTH( 8);
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Version: %u ", hash_info->version);
++offset;
command = GBYTE( pd, offset);
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Command: %u (%s)", command,
get_command_name( command));
++offset;
/* Do remote port */
- proto_tree_add_item( tree, hf_socks_dstport, offset, 2,
+ 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, offset,
+ 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, offset,
+ proto_tree_add_item( tree, hf_user_name, NullTVB, offset,
strlen( &pd[offset]) + 1,
&pd[offset]);
@@ -497,28 +497,28 @@ void display_socks_v4( const u_char *pd, int offset, frame_data *fd,
else if ( compare_packet( hash_info->cmd_reply_row)){
CHECK_PACKET_LENGTH( 8);
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Version: %u (should be 0) ", GBYTE( pd, offset));
++offset;
/* Do results code */
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Result Code: %u (%s)", GBYTE( pd, offset) ,
reply_table_v4[ MAX(0, MIN( GBYTE( pd, offset) - 90, 4))]);
++offset;
/* Do remote port */
- proto_tree_add_item( tree, hf_socks_dstport, offset, 2,
+ 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, offset, 4,
+ proto_tree_add_item( tree, hf_socks_ip_dst, NullTVB, offset, 4,
GWORD( pd, offset));
}
else if ( compare_packet( hash_info->v4_user_name_row)){
/*$$ check this, needs to do length checking */
- proto_tree_add_text( tree, offset, strlen( &pd[offset]),
+ proto_tree_add_text( tree, NullTVB, offset, strlen( &pd[offset]),
"User Name: %s", &pd[offset]);
}
}
@@ -546,18 +546,18 @@ void display_socks_v5( const u_char *pd, int offset, frame_data *fd,
CHECK_PACKET_LENGTH( 2);
/* Do version */
- proto_tree_add_item( tree, hf_socks_ver, offset, 1,
+ proto_tree_add_item( tree, hf_socks_ver, NullTVB, offset, 1,
hash_info->version);
++offset;
temp = GBYTE( pd, offset); /* Get Auth method count */
/* build auth tree */
- ti = proto_tree_add_text( tree, offset, 1,
+ ti = proto_tree_add_text( tree, NullTVB, offset, 1,
"Client Authentication Methods");
AuthTree = proto_item_add_subtree(ti, ett_socks_auth);
- proto_tree_add_text( AuthTree, offset, 1,
+ proto_tree_add_text( AuthTree, NullTVB, offset, 1,
"Count: %u ", temp);
++offset;
@@ -567,7 +567,7 @@ void display_socks_v5( const u_char *pd, int offset, frame_data *fd,
AuthMethodStr = get_auth_method_name(
GBYTE( pd, offset + i));
- proto_tree_add_text( AuthTree, offset + i, 1,
+ proto_tree_add_text( AuthTree, NullTVB, offset + i, 1,
"Method[%d]: %u (%s)", i,
GBYTE( pd, offset + i), AuthMethodStr);
}
@@ -578,7 +578,7 @@ void display_socks_v5( const u_char *pd, int offset, frame_data *fd,
++offset;
CHECK_PACKET_LENGTH( 1);
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Accepted Auth Method: 0x%0x (%s)", GBYTE( pd, offset),
get_auth_method_name( GBYTE( pd, offset)));
@@ -586,7 +586,7 @@ void display_socks_v5( const u_char *pd, int offset, frame_data *fd,
} /* handle user/password auth */
else if (compare_packet( hash_info->user_name_auth_row)) {
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Version: %u ", hash_info->version);
++offset;
/* process user name */
@@ -602,7 +602,7 @@ void display_socks_v5( const u_char *pd, int offset, frame_data *fd,
(compare_packet( hash_info->cmd_reply_row)) ||
(compare_packet( hash_info->bind_reply_row))){
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Version: %u ", hash_info->version);
CHECK_PACKET_LENGTH( 1);
@@ -612,15 +612,15 @@ void display_socks_v5( const u_char *pd, int offset, frame_data *fd,
command = GBYTE( pd, offset);
if (compare_packet( hash_info->command_row))
- proto_tree_add_text( tree, offset, 1, "Command: %u (%s)",
+ proto_tree_add_text( tree, NullTVB, offset, 1, "Command: %u (%s)",
command, get_command_name( command));
else
- proto_tree_add_text( tree, offset, 1, "Status: %d (%s)",
+ proto_tree_add_text( tree, NullTVB, offset, 1, "Status: %d (%s)",
GBYTE( pd, offset), reply_table_v5[ MAX( 0,
MIN(GBYTE( pd, offset) - 90, 9))]);
++offset;
- proto_tree_add_text( tree, offset, 1,
+ proto_tree_add_text( tree, NullTVB, offset, 1,
"Reserved: 0x%0x (should = 0x00)", GBYTE( pd, offset));
++offset;
@@ -628,7 +628,7 @@ void display_socks_v5( const u_char *pd, int offset, frame_data *fd,
CHECK_PACKET_LENGTH( 2);
/* Do remote port */
- proto_tree_add_text( tree, offset, 2,
+ proto_tree_add_text( tree, NullTVB, offset, 2,
"%sPort: %d",
(compare_packet( hash_info->bind_reply_row) ?
"Remote Host " : ""),
@@ -882,7 +882,7 @@ static void display_ping_and_tracert( const u_char *pd, int offset,
col_append_str(fd, COL_INFO, ", Terminate Request");
if ( tree)
- proto_tree_add_text(tree, offset, 1,
+ proto_tree_add_text(tree, NullTVB, offset, 1,
(hash_info->command == PING_COMMAND) ?
"Ping: End command" :
"Traceroute: End command");
@@ -892,7 +892,7 @@ static void display_ping_and_tracert( const u_char *pd, int offset,
col_append_str(fd, COL_INFO, ", Results");
if ( tree){
- proto_tree_add_text(tree, offset, END_OF_FRAME,
+ proto_tree_add_text(tree, NullTVB, offset, END_OF_FRAME,
(hash_info->command == PING_COMMAND) ?
"Ping Results:" :
"Traceroute Results");
@@ -905,7 +905,7 @@ static void display_ping_and_tracert( const u_char *pd, int offset,
lineend = find_line_end(data, dataend, &eol);
linelen = lineend - data;
- proto_tree_add_text( tree, offset, linelen,
+ proto_tree_add_text( tree, NullTVB, offset, linelen,
format_text(data, linelen));
offset += linelen;
data = lineend;
@@ -1024,7 +1024,7 @@ dissect_socks(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* if proto tree, decode and display */
if (tree) {
- ti = proto_tree_add_item( tree, proto_socks, offset,
+ ti = proto_tree_add_item( tree, proto_socks, NullTVB, offset,
END_OF_FRAME, NULL, "Socks:" );
socks_tree = proto_item_add_subtree(ti, ett_socks);
@@ -1040,18 +1040,18 @@ dissect_socks(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* if past startup, add the faked stuff */
if ( fd->num > hash_info->start_done_row){
/* add info to tree */
- proto_tree_add_text( socks_tree, offset, 0,
+ proto_tree_add_text( socks_tree, NullTVB, offset, 0,
"Command: %d (%s)", hash_info->command,
get_command_name(hash_info->command));
- proto_tree_add_item( socks_tree, hf_socks_ip_dst,
+ 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,
+ proto_tree_add_item( socks_tree, hf_socks_dstport, NullTVB,
offset, 0, hash_info->port);
}
}
diff --git a/packet-srvloc.c b/packet-srvloc.c
index dea077c72e..e3558787c3 100644
--- a/packet-srvloc.c
+++ b/packet-srvloc.c
@@ -6,7 +6,7 @@
* In particular I have not had an opportunity to see how it
* responds to SRVLOC over TCP.
*
- * $Id: packet-srvloc.c,v 1.7 2000/04/08 07:07:37 guy Exp $
+ * $Id: packet-srvloc.c,v 1.8 2000/05/11 08:15:52 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -158,18 +158,18 @@ dissect_authblk(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
seconds = pntohl(&pd[offset]) - 2208988800ul;
stamp = gmtime(&seconds);
floatsec = stamp->tm_sec + pntohl(&pd[offset + 4]) / 4294967296.0;
- proto_tree_add_text(tree, offset, 8,
+ proto_tree_add_text(tree, NullTVB, offset, 8,
"Timestamp: %04d-%02d-%02d %02d:%02d:%07.4f UTC",
stamp->tm_year + 1900, stamp->tm_mon + 1,
stamp->tm_mday, stamp->tm_hour, stamp->tm_min,
floatsec);
- proto_tree_add_text(tree, offset + 8, 2, "Block Structure Desciptor: %u",
+ proto_tree_add_text(tree, NullTVB, offset + 8, 2, "Block Structure Desciptor: %u",
pntohs(&pd[offset + 8]));
length = pntohs(&pd[offset + 10]);
- proto_tree_add_text(tree, offset + 10, 2, "Authenticator length: %u",
+ proto_tree_add_text(tree, NullTVB, offset + 10, 2, "Authenticator length: %u",
length);
offset += 12;
- proto_tree_add_text(tree, offset, length, "Authentication block: %s",
+ proto_tree_add_text(tree, NullTVB, offset, length, "Authentication block: %s",
format_text(&pd[offset], length));
offset += length;
};
@@ -192,7 +192,7 @@ dissect_srvloc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
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, offset, END_OF_FRAME, NULL);
+ 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) ) {
@@ -200,54 +200,54 @@ dissect_srvloc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
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, offset, 1, srvloc_hdr.version);
- proto_tree_add_item(srvloc_tree, hf_srvloc_function, offset + 1, 1, srvloc_hdr.function);
- proto_tree_add_text(srvloc_tree, offset + 2, 2, "Length: %d",srvloc_hdr.length);
- tf = proto_tree_add_item(srvloc_tree, hf_srvloc_flags, offset + 4, 1, srvloc_hdr.flags);
+ 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, offset + 4, 0, "Overflow %d... .xxx", (srvloc_hdr.flags & FLAG_O) >> 7 );
- proto_tree_add_text(srvloc_flags, offset + 4, 0, "Monolingual .%d.. .xxx", (srvloc_hdr.flags & FLAG_M) >> 6 );
- proto_tree_add_text(srvloc_flags, offset + 4, 0, "URL Authentication Present ..%d. .xxx", (srvloc_hdr.flags & FLAG_U) >> 5 );
- proto_tree_add_text(srvloc_flags, offset + 4, 0, "Attribute Authentication Present ...%d .xxx", (srvloc_hdr.flags & FLAG_A) >> 4 );
- proto_tree_add_text(srvloc_flags, offset + 4, 0, "Fresh Service Entry .... %dxxx", (srvloc_hdr.flags & FLAG_F) >> 3 );
- proto_tree_add_text(srvloc_tree, offset + 5, 1, "Dialect: %d",srvloc_hdr.dialect);
- proto_tree_add_text(srvloc_tree, offset + 6, 2, "Language: %s", format_text(srvloc_hdr.language,2));
- proto_tree_add_text(srvloc_tree, offset + 8, 2, "Encoding: %d", srvloc_hdr.encoding);
- proto_tree_add_text(srvloc_tree, offset + 10, 2, "Transaction ID: %d", srvloc_hdr.xid);
+ 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 );
+ proto_tree_add_text(srvloc_flags, NullTVB, offset + 4, 0, "URL Authentication Present ..%d. .xxx", (srvloc_hdr.flags & FLAG_U) >> 5 );
+ proto_tree_add_text(srvloc_flags, NullTVB, offset + 4, 0, "Attribute Authentication Present ...%d .xxx", (srvloc_hdr.flags & FLAG_A) >> 4 );
+ proto_tree_add_text(srvloc_flags, NullTVB, offset + 4, 0, "Fresh Service Entry .... %dxxx", (srvloc_hdr.flags & FLAG_F) >> 3 );
+ proto_tree_add_text(srvloc_tree, NullTVB, offset + 5, 1, "Dialect: %d",srvloc_hdr.dialect);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset + 6, 2, "Language: %s", format_text(srvloc_hdr.language,2));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset + 8, 2, "Encoding: %d", srvloc_hdr.encoding);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset + 10, 2, "Transaction ID: %d", srvloc_hdr.xid);
offset += 12;
} else {
- proto_tree_add_text(srvloc_tree, offset, END_OF_FRAME, "Invalid Packet: Length less than header.");
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, END_OF_FRAME, "Invalid Packet: Length less than header.");
};
if (( srvloc_hdr.length - 12 ) == END_OF_FRAME ) {
switch (srvloc_hdr.function) {
case SRVREQ:
- proto_tree_add_text(srvloc_tree, offset, 0, "Service Request");
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Request");
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Previous Response List Length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Previous Response List Length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Previous Response List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Previous Response List: %s", format_text(&pd[offset], length));
offset += length;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Predicate length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Predicate length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Predicate: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Predicate: %s", format_text(&pd[offset], length));
offset += length;
break;
case SRVRPLY:
- proto_tree_add_text(srvloc_tree, offset, 0, "Service Reply");
- proto_tree_add_item(srvloc_tree, hf_srvloc_error, offset, 2, pd[offset]);;
+ 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, offset, 2, "URL Count: %d", pntohs(&pd[offset]));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL Count: %d", pntohs(&pd[offset]));
offset += 2;
for (count = pntohs(&pd[offset]) + 1; count > 0; count--, offset++) {
- proto_tree_add_text(srvloc_tree, offset, 2, "URL lifetime: %d", pntohs(&pd[offset]));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL lifetime: %d", pntohs(&pd[offset]));
offset += 2;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "URL length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Service URL: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Service URL: %s", format_text(&pd[offset], length));
offset += length;
if ( (srvloc_hdr.flags & FLAG_U) == FLAG_U )
dissect_authblk(pd, offset, fd, srvloc_tree);
@@ -255,140 +255,140 @@ dissect_srvloc(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
case SRVREG:
- proto_tree_add_text(srvloc_tree, offset, 0, "Service Registration");
- proto_tree_add_text(srvloc_tree, offset, 2, "URL lifetime: %d", pntohs(&pd[offset]));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Registration");
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL lifetime: %d", pntohs(&pd[offset]));
offset += 2;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "URL length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Service URL: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Service URL: %s", format_text(&pd[offset], length));
offset += length;
if ( (srvloc_hdr.flags & FLAG_U) == FLAG_U )
dissect_authblk(pd, offset, fd, srvloc_tree);
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Attribute List length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Attribute List length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
offset += length;
if ( (srvloc_hdr.flags & FLAG_A) == FLAG_A )
dissect_authblk(pd, offset, fd, srvloc_tree);
break;
case SRVDEREG:
- proto_tree_add_text(srvloc_tree, offset, 0, "Service Deregister");
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Deregister");
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "URL length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Service URL: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Service URL: %s", format_text(&pd[offset], length));
offset += length;
if ( (srvloc_hdr.flags & FLAG_U) == FLAG_U )
dissect_authblk(pd, offset, fd, srvloc_tree);
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Attribute List length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Attribute List length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
offset += length;
if ( (srvloc_hdr.flags & FLAG_A) == FLAG_A )
dissect_authblk(pd, offset, fd, srvloc_tree);
break;
case SRVACK:
- proto_tree_add_text(srvloc_tree, offset, 0, "Service Acknowledge");
- proto_tree_add_item(srvloc_tree, hf_srvloc_error, offset, 2, pd[offset]);;
+ 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;
case ATTRRQST:
- proto_tree_add_text(srvloc_tree, offset, 0, "Attribute Request");
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Attribute Request");
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Previous Response List Length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Previous Response List Length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Previous Response List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Previous Response List: %s", format_text(&pd[offset], length));
offset += length;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "URL length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Service URL: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Service URL: %s", format_text(&pd[offset], length));
offset += length;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Scope List Length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Scope List Length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Scope Response List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Scope Response List: %s", format_text(&pd[offset], length));
offset += length;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Attribute List length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Attribute List length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
offset += length;
break;
case ATTRRPLY:
- proto_tree_add_text(srvloc_tree, offset, 0, "Attribute Reply");
- proto_tree_add_item(srvloc_tree, hf_srvloc_error, offset, 2, pd[offset]);;
+ 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, offset, 2, "Attribute List length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Attribute List length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Attribute List: %s", format_text(&pd[offset], length));
offset += length;
if ( (srvloc_hdr.flags & FLAG_A) == FLAG_A )
dissect_authblk(pd, offset, fd, srvloc_tree);
break;
case DAADVERT:
- proto_tree_add_text(srvloc_tree, offset, 0, "DA Advertisement");
- proto_tree_add_item(srvloc_tree, hf_srvloc_error, offset, 2, pd[offset]);;
+ 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, offset, 2, "URL length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "URL length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Service URL: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Service URL: %s", format_text(&pd[offset], length));
offset += length;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Scope List Length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Scope List Length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Scope Response List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Scope Response List: %s", format_text(&pd[offset], length));
offset += length;
break;
case SRVTYPERQST:
- proto_tree_add_text(srvloc_tree, offset, 0, "Service Type Request");
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 0, "Service Type Request");
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Previous Response List Length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Previous Response List Length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Previous Response List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Previous Response List: %s", format_text(&pd[offset], length));
offset += length;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Naming Authority List length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Naming Authority List length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Naming Authority List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Naming Authority List: %s", format_text(&pd[offset], length));
offset += length;
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Scope List Length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Scope List Length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Scope Response List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Scope Response List: %s", format_text(&pd[offset], length));
offset += length;
break;
case SRVTYPERPLY:
- proto_tree_add_text(srvloc_tree, offset, 0, "Service Type Reply");
- proto_tree_add_item(srvloc_tree, hf_srvloc_error, offset, 2, pd[offset]);;
+ 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, offset, 2, "Service Type Count: %d", pntohs(&pd[offset]));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Service Type Count: %d", pntohs(&pd[offset]));
offset += 2;
for (count = pntohs(&pd[offset]) + 1; count > 0; count--, offset++) {
length = pntohs(&pd[offset]);
- proto_tree_add_text(srvloc_tree, offset, 2, "Service Type List length: %d", length);
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, 2, "Service Type List length: %d", length);
offset += 2;
- proto_tree_add_text(srvloc_tree, offset, length, "Service Type List: %s", format_text(&pd[offset], length));
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, length, "Service Type List: %s", format_text(&pd[offset], length));
offset += length;
};
break;
default:
- proto_tree_add_text(srvloc_tree, offset, END_OF_FRAME, "Unknown Function Type");
+ proto_tree_add_text(srvloc_tree, NullTVB, offset, END_OF_FRAME, "Unknown Function Type");
};
- } else { proto_tree_add_text(srvloc_tree, offset, END_OF_FRAME,"Invalid packet: Bad length value");
+ } else { proto_tree_add_text(srvloc_tree, NullTVB, offset, END_OF_FRAME,"Invalid packet: Bad length value");
};
};
};
diff --git a/packet-sscop.c b/packet-sscop.c
index 85df8e37b6..58514c72e6 100644
--- a/packet-sscop.c
+++ b/packet-sscop.c
@@ -2,7 +2,7 @@
* Routines for SSCOP (Q.2110, Q.SAAL) frame disassembly
* Guy Harris <guy@alum.mit.edu>
*
- * $Id: packet-sscop.c,v 1.6 2000/03/12 04:47:50 gram Exp $
+ * $Id: packet-sscop.c,v 1.7 2000/05/11 08:15:52 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -192,11 +192,11 @@ dissect_sscop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
break;
}
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_sscop, pi.len - pdu_len,
+ ti = proto_tree_add_protocol_format(tree, proto_sscop, NullTVB, pi.len - pdu_len,
pdu_len, "SSCOP");
sscop_tree = proto_item_add_subtree(ti, ett_sscop);
- proto_tree_add_text(sscop_tree, SSCOP_PDU_TYPE, 1,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_PDU_TYPE, 1,
"PDU Type: %s",
val_to_str(pdu_type, sscop_type_vals,
"Unknown (0x%02x)"));
@@ -206,30 +206,30 @@ dissect_sscop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case SSCOP_BGN:
case SSCOP_RS:
case SSCOP_ER:
- proto_tree_add_text(sscop_tree, SSCOP_N_SQ, 1,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_N_SQ, 1,
"N(SQ): %u", pd[SSCOP_N_SQ]);
- proto_tree_add_text(sscop_tree, SSCOP_N_MR + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_N_MR + 1, 3,
"N(MR): %u", pntohl(&pd[SSCOP_N_MR]) & 0xFFFFFF);
break;
case SSCOP_END:
- proto_tree_add_text(sscop_tree, SSCOP_PDU_TYPE, 1,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_PDU_TYPE, 1,
"Source: %s", (pd[SSCOP_PDU_TYPE] & SSCOP_S) ? "SSCOP" : "User");
break;
case SSCOP_BGAK:
case SSCOP_RSAK:
- proto_tree_add_text(sscop_tree, SSCOP_N_MR + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_N_MR + 1, 3,
"N(MR): %u", pntohl(&pd[SSCOP_N_MR]) & 0xFFFFFF);
break;
case SSCOP_ERAK:
- proto_tree_add_text(sscop_tree, SSCOP_N_MR + 3, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_N_MR + 3, 3,
"N(MR): %u", pntohl(&pd[SSCOP_N_MR]) & 0xFFFFFF);
break;
case SSCOP_SD:
- proto_tree_add_text(sscop_tree, SSCOP_N_S + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_N_S + 1, 3,
"N(S): %u", pntohl(&pd[SSCOP_N_S]) & 0xFFFFFF);
break;
@@ -237,9 +237,9 @@ dissect_sscop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case SSCOP_SDP:
#endif
case SSCOP_POLL:
- proto_tree_add_text(sscop_tree, SSCOP_N_PS + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_N_PS + 1, 3,
"N(PS): %u", pntohl(&pd[SSCOP_N_PS]) & 0xFFFFFF);
- proto_tree_add_text(sscop_tree, SSCOP_N_S + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_N_S + 1, 3,
"N(S): %u", pntohl(&pd[SSCOP_N_S]) & 0xFFFFFF);
break;
@@ -247,11 +247,11 @@ dissect_sscop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/*
* XXX - dissect the list elements....
*/
- proto_tree_add_text(sscop_tree, SSCOP_SS_N_PS + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_SS_N_PS + 1, 3,
"N(PS): %u", pntohl(&pd[SSCOP_SS_N_PS]) & 0xFFFFFF);
- proto_tree_add_text(sscop_tree, SSCOP_SS_N_MR + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_SS_N_MR + 1, 3,
"N(MR): %u", pntohl(&pd[SSCOP_SS_N_MR]) & 0xFFFFFF);
- proto_tree_add_text(sscop_tree, SSCOP_SS_N_R + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_SS_N_R + 1, 3,
"N(R): %u", pntohl(&pd[SSCOP_SS_N_R]) & 0xFFFFFF);
break;
@@ -259,9 +259,9 @@ dissect_sscop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/*
* XXX - dissect the list elements....
*/
- proto_tree_add_text(sscop_tree, SSCOP_SS_N_MR + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_SS_N_MR + 1, 3,
"N(MR): %u", pntohl(&pd[SSCOP_SS_N_MR]) & 0xFFFFFF);
- proto_tree_add_text(sscop_tree, SSCOP_SS_N_R + 1, 3,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_SS_N_R + 1, 3,
"N(R): %u", pntohl(&pd[SSCOP_SS_N_R]) & 0xFFFFFF);
break;
}
@@ -285,7 +285,7 @@ dissect_sscop(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case SSCOP_SDP:
#endif
if (tree) {
- proto_tree_add_text(sscop_tree, SSCOP_PDU_TYPE, 1,
+ proto_tree_add_text(sscop_tree, NullTVB, SSCOP_PDU_TYPE, 1,
"Pad length: %u", pad_len);
}
diff --git a/packet-tacacs.c b/packet-tacacs.c
index ec5dad5527..d070d6984d 100644
--- a/packet-tacacs.c
+++ b/packet-tacacs.c
@@ -1,7 +1,7 @@
/* packet-tacacs.c
* Routines for cisco tacacs/tacplus/AAA packet dissection
*
- * $Id: packet-tacacs.c,v 1.3 2000/04/08 07:07:39 guy Exp $
+ * $Id: packet-tacacs.c,v 1.4 2000/05/11 08:15:52 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -68,23 +68,23 @@ dissect_tacacs(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree)
{
- ti = proto_tree_add_item(tree, proto_tacacs, offset, END_OF_FRAME, NULL);
+ 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, 0, 0, "XTacacs");
+ 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,
+ proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_request, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(tacacs_tree, offset,
+ 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,
+ proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_response, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(tacacs_tree, offset,
+ proto_tree_add_text(tacacs_tree, NullTVB, offset,
END_OF_FRAME, "Response: <opaque data>");
}
}
@@ -106,23 +106,23 @@ dissect_tacplus(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree)
{
- ti = proto_tree_add_item(tree, proto_tacacs, offset, END_OF_FRAME, NULL);
+ 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, 0, 0, "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,
+ proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_request, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(tacacs_tree, offset,
+ 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,
+ proto_tree_add_item_hidden(tacacs_tree, hf_tacacs_response, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(tacacs_tree, offset,
+ proto_tree_add_text(tacacs_tree, NullTVB, offset,
END_OF_FRAME, "Response: <opaque data>");
}
}
diff --git a/packet-tcp.c b/packet-tcp.c
index 29c0f7d7d5..afaa5f965d 100644
--- a/packet-tcp.c
+++ b/packet-tcp.c
@@ -1,7 +1,7 @@
/* packet-tcp.c
* Routines for TCP packet disassembly
*
- * $Id: packet-tcp.c,v 1.73 2000/05/05 09:32:05 guy Exp $
+ * $Id: packet-tcp.c,v 1.74 2000/05/11 08:15:52 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -161,7 +161,7 @@ static void
dissect_tcpopt_maxseg(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint optlen, proto_tree *opt_tree)
{
- proto_tree_add_text(opt_tree, offset, optlen,
+ proto_tree_add_text(opt_tree, NullTVB, offset, optlen,
"%s: %u bytes", optp->name, pntohs(opd));
tcp_info_append_uint("MSS", pntohs(opd));
}
@@ -170,7 +170,7 @@ static void
dissect_tcpopt_wscale(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint optlen, proto_tree *opt_tree)
{
- proto_tree_add_text(opt_tree, offset, optlen,
+ proto_tree_add_text(opt_tree, NullTVB, offset, optlen,
"%s: %u bytes", optp->name, *opd);
tcp_info_append_uint("WS", *opd);
}
@@ -183,7 +183,7 @@ dissect_tcpopt_sack(const ip_tcp_opt *optp, const u_char *opd,
proto_item *tf;
guint leftedge, rightedge;
- tf = proto_tree_add_text(opt_tree, offset, optlen, "%s:", optp->name);
+ tf = proto_tree_add_text(opt_tree, NullTVB, offset, optlen, "%s:", optp->name);
offset += 2; /* skip past type and length */
optlen -= 2; /* subtract size of type and length */
while (optlen > 0) {
@@ -192,7 +192,7 @@ dissect_tcpopt_sack(const ip_tcp_opt *optp, const u_char *opd,
field_tree = proto_item_add_subtree(tf, *optp->subtree_index);
}
if (optlen < 4) {
- proto_tree_add_text(field_tree, offset, optlen,
+ proto_tree_add_text(field_tree, NullTVB, offset, optlen,
"(suboption would go past end of option)");
break;
}
@@ -201,7 +201,7 @@ dissect_tcpopt_sack(const ip_tcp_opt *optp, const u_char *opd,
opd += 4;
optlen -= 4;
if (optlen < 4) {
- proto_tree_add_text(field_tree, offset, optlen,
+ proto_tree_add_text(field_tree, NullTVB, offset, optlen,
"(suboption would go past end of option)");
break;
}
@@ -209,7 +209,7 @@ dissect_tcpopt_sack(const ip_tcp_opt *optp, const u_char *opd,
rightedge = pntohl(opd);
opd += 4;
optlen -= 4;
- proto_tree_add_text(field_tree, offset, 8,
+ proto_tree_add_text(field_tree, NullTVB, offset, 8,
"left edge = %u, right edge = %u", leftedge, rightedge);
tcp_info_append_uint("SLE", leftedge);
tcp_info_append_uint("SRE", rightedge);
@@ -221,7 +221,7 @@ static void
dissect_tcpopt_echo(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint optlen, proto_tree *opt_tree)
{
- proto_tree_add_text(opt_tree, offset, optlen,
+ proto_tree_add_text(opt_tree, NullTVB, offset, optlen,
"%s: %u", optp->name, pntohl(opd));
tcp_info_append_uint("ECHO", pntohl(opd));
}
@@ -230,7 +230,7 @@ static void
dissect_tcpopt_timestamp(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint optlen, proto_tree *opt_tree)
{
- proto_tree_add_text(opt_tree, offset, optlen,
+ proto_tree_add_text(opt_tree, NullTVB, offset, optlen,
"%s: tsval %u, tsecr %u", optp->name, pntohl(opd), pntohl(opd + 4));
tcp_info_append_uint("TSV", pntohl(opd));
tcp_info_append_uint("TSER", pntohl(opd + 4));
@@ -240,7 +240,7 @@ static void
dissect_tcpopt_cc(const ip_tcp_opt *optp, const u_char *opd,
int offset, guint optlen, proto_tree *opt_tree)
{
- proto_tree_add_text(opt_tree, offset, optlen,
+ proto_tree_add_text(opt_tree, NullTVB, offset, optlen,
"%s: %u", optp->name, pntohl(opd));
tcp_info_append_uint("CC", pntohl(opd));
}
@@ -474,32 +474,32 @@ dissect_tcp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_tcp, offset, hlen, "Transmission Control Protocol, Src Port: %s (%u), Dst Port: %s (%u), Seq: %u, Ack: %u", get_tcp_port(th.th_sport), th.th_sport, get_tcp_port(th.th_dport), th.th_dport, th.th_seq, th.th_ack);
+ ti = proto_tree_add_protocol_format(tree, proto_tcp, NullTVB, offset, hlen, "Transmission Control Protocol, Src Port: %s (%u), Dst Port: %s (%u), Seq: %u, Ack: %u", get_tcp_port(th.th_sport), th.th_sport, get_tcp_port(th.th_dport), th.th_dport, th.th_seq, th.th_ack);
tcp_tree = proto_item_add_subtree(ti, ett_tcp);
- proto_tree_add_uint_format(tcp_tree, hf_tcp_srcport, offset, 2, th.th_sport,
+ proto_tree_add_uint_format(tcp_tree, hf_tcp_srcport, NullTVB, offset, 2, th.th_sport,
"Source port: %s (%u)", get_tcp_port(th.th_sport), th.th_sport);
- proto_tree_add_uint_format(tcp_tree, hf_tcp_dstport, offset + 2, 2, th.th_dport,
+ 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, offset, 2, th.th_sport);
- proto_tree_add_item_hidden(tcp_tree, hf_tcp_port, offset + 2, 2, th.th_dport);
- proto_tree_add_item(tcp_tree, hf_tcp_seq, offset + 4, 4, th.th_seq);
+ 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, offset + 8, 4, th.th_ack);
- proto_tree_add_uint_format(tcp_tree, hf_tcp_hdr_len, offset + 12, 1, hlen,
+ 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, offset + 13, 1,
+ 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, offset + 13, 1, th.th_flags);
- proto_tree_add_item(field_tree, hf_tcp_flags_ack, offset + 13, 1, th.th_flags);
- proto_tree_add_item(field_tree, hf_tcp_flags_push, offset + 13, 1, th.th_flags);
- proto_tree_add_item(field_tree, hf_tcp_flags_reset, offset + 13, 1, th.th_flags);
- proto_tree_add_item(field_tree, hf_tcp_flags_syn, offset + 13, 1, th.th_flags);
- proto_tree_add_item(field_tree, hf_tcp_flags_fin, offset + 13, 1, th.th_flags);
- proto_tree_add_item(tcp_tree, hf_tcp_window_size, offset + 14, 2, th.th_win);
- proto_tree_add_item(tcp_tree, hf_tcp_checksum, offset + 16, 2, th.th_sum);
+ 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, offset + 18, 2, th.th_urp);
+ proto_tree_add_item(tcp_tree, hf_tcp_urgent_pointer, NullTVB, offset + 18, 2, th.th_urp);
}
/* Decode TCP options, if any. */
@@ -507,7 +507,7 @@ dissect_tcp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* There's more than just the fixed-length header. Decode the
options. */
optlen = hlen - sizeof (e_tcphdr); /* length of options, in bytes */
- tf = proto_tree_add_text(tcp_tree, offset + 20, optlen,
+ tf = proto_tree_add_text(tcp_tree, NullTVB, offset + 20, optlen,
"Options: (%d bytes)", optlen);
field_tree = proto_item_add_subtree(tf, ett_tcp_options);
dissect_ip_tcp_options(&pd[offset + 20], offset + 20, optlen,
diff --git a/packet-telnet.c b/packet-telnet.c
index 078c5565ac..c6858d1eef 100644
--- a/packet-telnet.c
+++ b/packet-telnet.c
@@ -2,7 +2,7 @@
* Routines for telnet packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: packet-telnet.c,v 1.11 2000/04/08 07:07:40 guy Exp $
+ * $Id: packet-telnet.c,v 1.12 2000/05/11 08:15:52 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -149,16 +149,16 @@ telnet_sub_option(proto_tree *telnet_tree, const u_char *pd,
subneg_len = offset - start_offset;
- ti = proto_tree_add_text(telnet_tree, start_offset, subneg_len,
+ ti = proto_tree_add_text(telnet_tree, NullTVB, start_offset, subneg_len,
"Suboption Begin: %s", opt);
option_tree = proto_item_add_subtree(ti, ett_telnet_subopt);
- proto_tree_add_text(option_tree, start_offset + 2, 2,
+ proto_tree_add_text(option_tree, NullTVB, start_offset + 2, 2,
"%s %s", (req ? "Send your" : "Here's my"), opt);
if (req == 0) { /* Add the value */
- proto_tree_add_text(option_tree, start_offset + 4, subneg_len - 4,
+ proto_tree_add_text(option_tree, NullTVB, start_offset + 4, subneg_len - 4,
"Value: %s", format_text(&pd[start_offset + 4], subneg_len - 4));
}
return offset;
@@ -178,7 +178,7 @@ telnet_will_wont_do_dont(proto_tree *telnet_tree, const u_char *pd,
opt = options[pd[offset]];
offset++;
- proto_tree_add_text(telnet_tree, start_offset, 3,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 3,
"Command: %s %s", type, opt);
return offset;
}
@@ -195,72 +195,72 @@ telnet_command(proto_tree *telnet_tree, const u_char *pd, int start_offset)
switch(optcode) {
case TN_EOF:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: End of File");
break;
case TN_SUSP:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Suspend Current Process");
break;
case TN_ABORT:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Abort Process");
break;
case TN_EOR:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: End of Record");
break;
case TN_SE:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Suboption End");
break;
case TN_NOP:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: No Operation");
break;
case TN_DM:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Data Mark");
break;
case TN_BRK:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Break");
break;
case TN_IP:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Interrupt Process");
break;
case TN_AO:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Abort Output");
break;
case TN_AYT:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Are You There?");
break;
case TN_EC:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Escape Character");
break;
case TN_EL:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Erase Line");
break;
case TN_GA:
- proto_tree_add_text(telnet_tree, start_offset, 2,
+ proto_tree_add_text(telnet_tree, NullTVB, start_offset, 2,
"Command: Go Ahead");
break;
@@ -307,7 +307,7 @@ dissect_telnet(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
int data_offset;
int data_len;
- ti = proto_tree_add_item(tree, proto_telnet, offset, END_OF_FRAME, NULL);
+ 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;
@@ -324,7 +324,7 @@ dissect_telnet(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
* tree.
*/
if (data_len > 0) {
- proto_tree_add_text(telnet_tree, data_offset, data_len,
+ proto_tree_add_text(telnet_tree, NullTVB, data_offset, data_len,
"Data: %s", format_text(&pd[data_offset], data_len));
data_len = 0;
data_offset = offset;
@@ -347,7 +347,7 @@ dissect_telnet(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
* If there's any data left, add it to the tree.
*/
if (data_len > 0) {
- proto_tree_add_text(telnet_tree, data_offset, data_len, "Data: %s",
+ proto_tree_add_text(telnet_tree, NullTVB, data_offset, data_len, "Data: %s",
format_text(&pd[data_offset], data_len));
}
}
diff --git a/packet-tftp.c b/packet-tftp.c
index 2c137d312a..175927c322 100644
--- a/packet-tftp.c
+++ b/packet-tftp.c
@@ -5,7 +5,7 @@
* Craig Newell <CraigN@cheque.uq.edu.au>
* RFC2347 TFTP Option Extension
*
- * $Id: packet-tftp.c,v 1.10 2000/02/09 17:15:47 gram Exp $
+ * $Id: packet-tftp.c,v 1.11 2000/05/11 08:15:53 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -97,89 +97,89 @@ dissect_tftp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_tftp, offset, END_OF_FRAME, NULL);
+ 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, offset, 2, i1);
+ proto_tree_add_item_hidden(tftp_tree, hf_tftp_type, NullTVB, offset, 2, i1);
switch (i1) {
case RRQ:
- proto_tree_add_text(tftp_tree, offset, 2, "Read Request");
+ proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Read Request");
offset += 2;
i1 = strlen(pd+offset);
- proto_tree_add_text(tftp_tree, offset, i1+1, "Source File: %s", pd+offset);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, i1+1, "Source File: %s", pd+offset);
offset += i1 + 1;
i1 = strlen(pd+offset);
- proto_tree_add_text(tftp_tree, offset, i1+1, "Type: %s",pd+offset);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, i1+1, "Type: %s",pd+offset);
offset += i1 + 1;
while (offset < pi.captured_len) {
int i2;
i1 = strlen(pd+offset); /* length of option */
i2 = strlen(pd+offset+i1+1); /* length of value */
- proto_tree_add_text(tftp_tree, offset, i1+i2+2, "Option: %s = %s",
+ proto_tree_add_text(tftp_tree, NullTVB, offset, i1+i2+2, "Option: %s = %s",
pd+offset, pd+offset+i1+1);
offset += i1 + i2 + 2;
}
break;
case WRQ:
- proto_tree_add_text(tftp_tree, offset, 2, "Write Request");
+ proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Write Request");
offset += 2;
i1 = strlen(pd+offset);
- proto_tree_add_text(tftp_tree, offset, i1+1, "Destination File: %s", pd+offset);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, i1+1, "Destination File: %s", pd+offset);
offset += i1 + 1;
i1 = strlen(pd+offset);
- proto_tree_add_text(tftp_tree, offset, i1+1, "Type: %s",pd+offset);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, i1+1, "Type: %s",pd+offset);
offset += i1 + 1;
while (offset < pi.captured_len) {
int i2;
i1 = strlen(pd+offset); /* length of option */
i2 = strlen(pd+offset+i1+1); /* length of value */
- proto_tree_add_text(tftp_tree, offset, i1+i2+2, "Option: %s = %s",
+ proto_tree_add_text(tftp_tree, NullTVB, offset, i1+i2+2, "Option: %s = %s",
pd+offset, pd+offset+i1+1);
offset += i1 + i2 + 2;
}
break;
case DATA:
- proto_tree_add_text(tftp_tree, offset, 2, "Data Packet");
+ proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Data Packet");
offset += 2;
i1 = pntohs(pd+offset);
- proto_tree_add_text(tftp_tree, offset, 2, "Block = %u", i1);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Block = %u", i1);
offset += 2;
- proto_tree_add_text(tftp_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(tftp_tree, NullTVB, offset, END_OF_FRAME,
"Data (%d bytes)", END_OF_FRAME);
break;
case ACK:
- proto_tree_add_text(tftp_tree, offset, 2, "Acknowledgement");
+ proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Acknowledgement");
offset += 2;
i1 = pntohs(pd+offset);
- proto_tree_add_text(tftp_tree, offset, END_OF_FRAME, "Block = %u", i1);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, END_OF_FRAME, "Block = %u", i1);
break;
case ERROR:
- proto_tree_add_text(tftp_tree, offset, 2, "Error Code");
+ 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, offset, 2, i1);
- proto_tree_add_text(tftp_tree, offset, 2, "Code = %s", tftp_errors[i1 % 8]);
+ 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, offset, END_OF_FRAME, "Error Message: %s", pd + offset);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, END_OF_FRAME, "Error Message: %s", pd + offset);
break;
case OACK:
- proto_tree_add_text(tftp_tree, offset, 2, "Option Acknowledgement");
+ proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Option Acknowledgement");
offset += 2;
while (offset < pi.captured_len) {
int i2;
i1 = strlen(pd+offset); /* length of option */
i2 = strlen(pd+offset+i1+1); /* length of value */
- proto_tree_add_text(tftp_tree, offset, i1+i2+2, "Option: %s = %s",
+ proto_tree_add_text(tftp_tree, NullTVB, offset, i1+i2+2, "Option: %s = %s",
pd+offset, pd+offset+i1+1);
offset += i1 + i2 + 2;
}
break;
default:
- proto_tree_add_text(tftp_tree, offset, 2, "Unknown TFTP Request: %0X.", i1);
+ proto_tree_add_text(tftp_tree, NullTVB, offset, 2, "Unknown TFTP Request: %0X.", i1);
offset += 2;
- proto_tree_add_text(tftp_tree, offset, END_OF_FRAME,
+ proto_tree_add_text(tftp_tree, NullTVB, offset, END_OF_FRAME,
"Data (%d bytes)", END_OF_FRAME);
break;
}
diff --git a/packet-time.c b/packet-time.c
index 5a564112af..d60e6a32c3 100644
--- a/packet-time.c
+++ b/packet-time.c
@@ -5,7 +5,7 @@
* Craig Newell <CraigN@cheque.uq.edu.au>
* RFC2347 TIME Option Extension
*
- * $Id: packet-time.c,v 1.4 2000/04/08 07:07:40 guy Exp $
+ * $Id: packet-time.c,v 1.5 2000/05/11 08:15:53 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -56,14 +56,14 @@ dissect_time(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree) {
- ti = proto_tree_add_item(tree, proto_time, offset, END_OF_FRAME, NULL);
+ 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, offset, 0,
+ proto_tree_add_text(time_tree, NullTVB, offset, 0,
pi.srcport==37? "Type: Response":"Type: Request");
if (pi.srcport == 37) {
guint32 delta_seconds = pntohl(pd+offset);
- proto_tree_add_text(time_tree, offset, 4,
+ proto_tree_add_text(time_tree, NullTVB, offset, 4,
" %u seconds since midnight 1 January 1900 GMT",
delta_seconds);
}
diff --git a/packet-tns.c b/packet-tns.c
index f03deb4b6b..54e6a3f50e 100644
--- a/packet-tns.c
+++ b/packet-tns.c
@@ -1,7 +1,7 @@
/* packet-tns.c
* Routines for MSX tns packet dissection
*
- * $Id: packet-tns.c,v 1.5 2000/04/08 07:07:40 guy Exp $
+ * $Id: packet-tns.c,v 1.6 2000/05/11 08:15:53 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -85,10 +85,10 @@ static void dissect_tns_sns(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
- ti = proto_tree_add_text(tns_tree, offset, END_OF_FRAME, "Secure Network Services");
+ 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, 0, 0, TRUE);
+ proto_tree_add_item_hidden(tns_tree, hf_tns_sns, NullTVB, 0, 0, TRUE);
}
if ( check_col(fd, COL_INFO) )
@@ -109,7 +109,7 @@ static void dissect_tns_data(const u_char *pd, int offset, frame_data *fd,
TRUNC(2);
if ( tree )
{
- proto_tree_add_item(tns_tree, hf_tns_data_flag,
+ proto_tree_add_item(tns_tree, hf_tns_data_flag, NullTVB,
offset, 2, pntohs(&pd[offset]));
}
offset += 2;
@@ -135,10 +135,10 @@ static void dissect_tns_connect(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
- ti = proto_tree_add_text(tns_tree, offset, END_OF_FRAME, "Connect");
+ 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, 0, 0, TRUE);
+ proto_tree_add_item_hidden(tns_tree, hf_tns_connect, NullTVB, 0, 0, TRUE);
}
if ( check_col(fd, COL_INFO) )
@@ -149,7 +149,7 @@ static void dissect_tns_connect(const u_char *pd, int offset, frame_data *fd,
TRUNC(2);
if ( connect_tree )
{
- proto_tree_add_item(connect_tree, hf_tns_version,
+ proto_tree_add_item(connect_tree, hf_tns_version, NullTVB,
offset, 2, pntohs(&pd[offset]));
}
offset += 2;
@@ -157,7 +157,7 @@ static void dissect_tns_connect(const u_char *pd, int offset, frame_data *fd,
TRUNC(2);
if ( connect_tree )
{
- proto_tree_add_item(connect_tree, hf_tns_compat_version,
+ proto_tree_add_item(connect_tree, hf_tns_compat_version, NullTVB,
offset, 2, pntohs(&pd[offset]));
}
offset += 2;
@@ -166,7 +166,7 @@ static void dissect_tns_connect(const u_char *pd, int offset, frame_data *fd,
if ( connect_tree )
{
/* need to break down w/ bitfield */
- proto_tree_add_item(connect_tree, hf_tns_service_options,
+ proto_tree_add_item(connect_tree, hf_tns_service_options, NullTVB,
offset, 2, pntohs(&pd[offset]));
}
offset += 2;
@@ -204,21 +204,21 @@ dissect_tns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (tree)
{
- ti = proto_tree_add_item(tree, proto_tns, offset, END_OF_FRAME, NULL);
+ 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,
+ proto_tree_add_item_hidden(tns_tree, hf_tns_request, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(tns_tree, offset,
+ 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,
+ proto_tree_add_item_hidden(tns_tree, hf_tns_response, NullTVB,
offset, END_OF_FRAME, TRUE);
- proto_tree_add_text(tns_tree, offset,
+ proto_tree_add_text(tns_tree, NullTVB, offset,
END_OF_FRAME, "Response: <opaque data>");
}
}
@@ -229,7 +229,7 @@ dissect_tns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
length = pntohs(&pd[offset]);
if (tree)
{
- proto_tree_add_item(tns_tree, hf_tns_length,
+ proto_tree_add_item(tns_tree, hf_tns_length, NullTVB,
offset, 2, length);
}
TRUNC(length);
@@ -238,7 +238,7 @@ dissect_tns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
TRUNC(2);
if ( tree )
{
- proto_tree_add_item(tns_tree, hf_tns_packet_checksum,
+ proto_tree_add_item(tns_tree, hf_tns_packet_checksum, NullTVB,
offset, 2, pntohs(&pd[offset]));
}
offset += 2;
@@ -247,7 +247,7 @@ dissect_tns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
type = pd[offset];
if ( tree )
{
- proto_tree_add_item(tns_tree, hf_tns_packet_type,
+ proto_tree_add_item(tns_tree, hf_tns_packet_type, NullTVB,
offset, 1, type);
}
offset += 1;
@@ -261,7 +261,7 @@ dissect_tns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
TRUNC(1);
if ( tree )
{
- proto_tree_add_item(tns_tree, hf_tns_reserved_byte,
+ proto_tree_add_item(tns_tree, hf_tns_reserved_byte, NullTVB,
offset, 1, &pd[offset]);
}
offset += 1;
@@ -269,7 +269,7 @@ dissect_tns(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
TRUNC(2);
if ( tree )
{
- proto_tree_add_item(tns_tree, hf_tns_header_checksum,
+ proto_tree_add_item(tns_tree, hf_tns_header_checksum, NullTVB,
offset, 2, pntohs(&pd[offset]));
}
offset += 2;
diff --git a/packet-tr.c b/packet-tr.c
index eecabb2c8b..9ccd32f1ce 100644
--- a/packet-tr.c
+++ b/packet-tr.c
@@ -2,7 +2,7 @@
* Routines for Token-Ring packet disassembly
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-tr.c,v 1.37 2000/05/04 22:59:27 gram Exp $
+ * $Id: packet-tr.c,v 1.38 2000/05/11 08:15:53 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -412,43 +412,43 @@ dissect_tr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
/* protocol analysis tree */
if (tree) {
/* Create Token-Ring Tree */
- ti = proto_tree_add_item(tree, proto_tr, offset, 14 + actual_rif_bytes, NULL);
+ ti = proto_tree_add_item(tree, proto_tr, NullTVB, offset, 14 + actual_rif_bytes, NULL);
tr_tree = proto_item_add_subtree(ti, ett_token_ring);
/* Create the Access Control bitfield tree */
trn_ac = pd[offset+0];
- ti = proto_tree_add_item(tr_tree, hf_tr_ac, offset, 1, trn_ac);
+ ti = proto_tree_add_item(tr_tree, hf_tr_ac, NullTVB, offset, 1, trn_ac);
bf_tree = proto_item_add_subtree(ti, ett_token_ring_ac);
- proto_tree_add_item(bf_tree, hf_tr_priority, offset, 1, trn_ac);
- proto_tree_add_item(bf_tree, hf_tr_frame, offset, 1, trn_ac);
- proto_tree_add_item(bf_tree, hf_tr_monitor_cnt, offset, 1, trn_ac);
- proto_tree_add_item(bf_tree, hf_tr_priority_reservation, offset, 1, trn_ac);
+ proto_tree_add_item(bf_tree, hf_tr_priority, NullTVB, offset, 1, trn_ac);
+ proto_tree_add_item(bf_tree, hf_tr_frame, NullTVB, offset, 1, trn_ac);
+ proto_tree_add_item(bf_tree, hf_tr_monitor_cnt, NullTVB, offset, 1, trn_ac);
+ proto_tree_add_item(bf_tree, hf_tr_priority_reservation, NullTVB, offset, 1, trn_ac);
/* Create the Frame Control bitfield tree */
- ti = proto_tree_add_item(tr_tree, hf_tr_fc, offset + 1, 1, trn_fc);
+ ti = proto_tree_add_item(tr_tree, hf_tr_fc, NullTVB, offset + 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, offset + 1, 1, trn_fc);
- proto_tree_add_item(bf_tree, hf_tr_fc_pcf, offset + 1, 1, trn_fc);
- proto_tree_add_item(tr_tree, hf_tr_dst, offset + 2, 6, trn_dhost);
- proto_tree_add_item(tr_tree, hf_tr_src, offset + 8, 6, trn_shost);
- proto_tree_add_item_hidden(tr_tree, hf_tr_addr, offset + 2, 6, trn_dhost);
- proto_tree_add_item_hidden(tr_tree, hf_tr_addr, offset + 8, 6, trn_shost);
+ proto_tree_add_item(bf_tree, hf_tr_fc_type, NullTVB, offset + 1, 1, trn_fc);
+ proto_tree_add_item(bf_tree, hf_tr_fc_pcf, NullTVB, offset + 1, 1, trn_fc);
+ proto_tree_add_item(tr_tree, hf_tr_dst, NullTVB, offset + 2, 6, trn_dhost);
+ proto_tree_add_item(tr_tree, hf_tr_src, NullTVB, offset + 8, 6, trn_shost);
+ proto_tree_add_item_hidden(tr_tree, hf_tr_addr, NullTVB, offset + 2, 6, trn_dhost);
+ proto_tree_add_item_hidden(tr_tree, hf_tr_addr, NullTVB, offset + 8, 6, trn_shost);
- proto_tree_add_item(tr_tree, hf_tr_sr, offset + 8, 1, source_routed);
+ proto_tree_add_item(tr_tree, hf_tr_sr, NullTVB, offset + 8, 1, source_routed);
/* non-source-routed version of src addr */
- proto_tree_add_item_hidden(tr_tree, hf_tr_src, offset + 8, 6, trn_shost_nonsr);
+ proto_tree_add_item_hidden(tr_tree, hf_tr_src, NullTVB, offset + 8, 6, trn_shost_nonsr);
if (source_routed) {
/* RCF Byte 1 */
- proto_tree_add_item(tr_tree, hf_tr_rif_bytes, offset + 14, 1, trn_rif_bytes);
- proto_tree_add_item(tr_tree, hf_tr_broadcast, offset + 14, 1, pd[offset + 14] & 224);
+ proto_tree_add_item(tr_tree, hf_tr_rif_bytes, NullTVB, offset + 14, 1, trn_rif_bytes);
+ proto_tree_add_item(tr_tree, hf_tr_broadcast, NullTVB, offset + 14, 1, pd[offset + 14] & 224);
/* RCF Byte 2 */
- proto_tree_add_item(tr_tree, hf_tr_max_frame_size, offset + 15, 1, pd[offset + 15] & 112);
- proto_tree_add_item(tr_tree, hf_tr_direction, offset + 15, 1, pd[offset + 15] & 128);
+ proto_tree_add_item(tr_tree, hf_tr_max_frame_size, NullTVB, offset + 15, 1, pd[offset + 15] & 112);
+ proto_tree_add_item(tr_tree, hf_tr_direction, NullTVB, offset + 15, 1, pd[offset + 15] & 128);
/* if we have more than 2 bytes of RIF, then we have
ring/bridge pairs */
@@ -468,12 +468,12 @@ dissect_tr(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
tcpdump. W/o that, however, I'm guessing that DSAP == SSAP if the
frame type is LLC. It's very much a hack. -- Gilbert Ramirez */
if (actual_rif_bytes > trn_rif_bytes) {
- proto_tree_add_text(tr_tree, 14 + trn_rif_bytes, actual_rif_bytes - trn_rif_bytes,
+ proto_tree_add_text(tr_tree, NullTVB, 14 + trn_rif_bytes, actual_rif_bytes - trn_rif_bytes,
"Empty RIF from Linux 2.0.x driver. The sniffing NIC "
"is also running a protocol stack.");
}
if (fixoffset) {
- proto_tree_add_text(tr_tree, 14 + 18,8,"Linux 2.0.x fake LLC and SNAP header");
+ proto_tree_add_text(tr_tree, NullTVB, 14 + 18,8,"Linux 2.0.x fake LLC and SNAP header");
}
}
offset += 14 + actual_rif_bytes + fixoffset;
@@ -521,20 +521,20 @@ add_ring_bridge_pairs(int rcf_len, const u_char *pd, int offset, proto_tree *tre
if (j==1) {
segment=pntohs(&pd[offset + 16]) >> 4;
size = sprintf(buffer, "%03X",segment);
- proto_tree_add_item_hidden(tree, hf_tr_rif_ring, offset + 16, 2, segment);
+ proto_tree_add_item_hidden(tree, hf_tr_rif_ring, NullTVB, offset + 16, 2, segment);
buff_offset += size;
}
segment=pntohs(&pd[offset+17+j]) >> 4;
brdgnmb=pd[offset+16+j] & 0x0f;
size = sprintf(buffer+buff_offset, "-%01X-%03X",brdgnmb,segment);
- proto_tree_add_item_hidden(tree, hf_tr_rif_ring, offset+17+j, 2, segment);
- proto_tree_add_item_hidden(tree, hf_tr_rif_bridge, offset+16+j, 1, brdgnmb);
+ proto_tree_add_item_hidden(tree, hf_tr_rif_ring, NullTVB, offset+17+j, 2, segment);
+ proto_tree_add_item_hidden(tree, hf_tr_rif_bridge, NullTVB, offset+16+j, 1, brdgnmb);
buff_offset += size;
}
- proto_tree_add_item(tree, hf_tr_rif, offset+16, rcf_len, buffer);
+ proto_tree_add_item(tree, hf_tr_rif, NullTVB, offset+16, rcf_len, buffer);
if (unprocessed_rif > 0) {
- proto_tree_add_text(tree, offset+14+RIF_BYTES_TO_PROCESS, unprocessed_rif,
+ proto_tree_add_text(tree, NullTVB, offset+14+RIF_BYTES_TO_PROCESS, unprocessed_rif,
"Extra RIF bytes beyond spec: %d", unprocessed_rif);
}
}
diff --git a/packet-trmac.c b/packet-trmac.c
index 87babc5cb0..246c6863bf 100644
--- a/packet-trmac.c
+++ b/packet-trmac.c
@@ -2,7 +2,7 @@
* Routines for Token-Ring Media Access Control
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-trmac.c,v 1.20 2000/03/12 04:47:50 gram Exp $
+ * $Id: packet-trmac.c,v 1.21 2000/05/11 08:15:54 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -116,154 +116,154 @@ sv_text(const u_char *pd, int pkt_offset, proto_tree *tree)
u_char errors[6]; /* isolating or non-isolating */
/* this just adds to the clutter on the screen...
- proto_tree_add_text(tree, pkt_offset, 1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset, 1,
"Subvector Length: %d bytes", sv_length);*/
- proto_tree_add_item_hidden(tree, hf_trmac_sv, pkt_offset+1, 1, pd[1]);
+ proto_tree_add_item_hidden(tree, hf_trmac_sv, NullTVB, pkt_offset+1, 1, pd[1]);
switch(pd[1]) {
case 0x01: /* Beacon Type */
beacon_type = pntohs(&pd[2]);
if (beacon_type < array_length(beacon)) {
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Beacon Type: %s", beacon[beacon_type] );
} else {
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Beacon Type: Illegal value: %d", beacon_type );
}
break;
case 0x02: /* NAUN */
- proto_tree_add_item(tree, hf_trmac_naun, pkt_offset+1, sv_length-1, (guint8*)&pd[2]);
+ proto_tree_add_item(tree, hf_trmac_naun, NullTVB, pkt_offset+1, sv_length-1, (guint8*)&pd[2]);
break;
case 0x03: /* Local Ring Number */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Local Ring Number: 0x%04X (%d)",
pntohs( &pd[2] ), pntohs( &pd[2] ));
break;
case 0x04: /* Assign Physical Location */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Assign Physical Location: 0x%08X", pntohl( &pd[2] ) );
break;
case 0x05: /* Soft Error Report Value */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Soft Error Report Value: %d ms", 10 * pntohs( &pd[2] ) );
break;
case 0x06: /* Enabled Function Classes */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Enabled Function Classes: %04X", pntohs( &pd[2] ) );
break;
case 0x07: /* Allowed Access Priority */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Allowed Access Priority: %04X", pntohs( &pd[2] ) );
break;
case 0x09: /* Correlator */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Correlator: %04X", pntohs( &pd[2] ) );
break;
case 0x0A: /* Address of last neighbor notification */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Address of Last Neighbor Notification: %s",
ether_to_str((guint8*)&pd[2]));
break;
case 0x0B: /* Physical Location */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Physical Location: 0x%08X", pntohl( &pd[2] ) );
break;
case 0x20: /* Response Code */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Response Code: 0x%04X 0x%04X", pntohl( &pd[2] ),
pntohl( &pd[4] ) );
break;
case 0x21: /* Reserved */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Reserved: 0x%04X", pntohs( &pd[2] ) );
break;
case 0x22: /* Product Instance ID */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Product Instance ID: ...");
break;
case 0x23: /* Ring Station Microcode Level */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Ring Station Microcode Level: ...");
break;
case 0x26: /* Wrap data */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Wrap Data: ... (%d bytes)", sv_length - 2);
break;
case 0x27: /* Frame Forward */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Frame Forward: ... (%d bytes)", sv_length - 2);
break;
case 0x29: /* Ring Station Status Subvector */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Ring Station Status Subvector: ...");
break;
case 0x2A: /* Transmit Status Code */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Transmit Status Code: %04X", pntohs( &pd[2] ) );
break;
case 0x2B: /* Group Address */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Group Address: %08X", pntohl( &pd[2] ) );
break;
case 0x2C: /* Functional Address */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Functional Address: %08X", pntohl( &pd[2] ) );
break;
case 0x2D: /* Isolating Error Counts */
memcpy(errors, &pd[2], 6);
- ti = proto_tree_add_item(tree, hf_trmac_errors_iso, pkt_offset+1, sv_length-1,
+ 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, pkt_offset+2, 1, errors[0]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_internal, pkt_offset+3, 1, errors[1]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_burst, pkt_offset+4, 1, errors[2]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_ac, pkt_offset+5, 1, errors[3]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_abort, pkt_offset+6, 1, errors[4]);
+ 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, pkt_offset+1, sv_length-1,
+ 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, pkt_offset+2, 1, errors[0]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_congestion, pkt_offset+3, 1, errors[1]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_fc, pkt_offset+4, 1, errors[2]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_freq, pkt_offset+5, 1, errors[3]);
- proto_tree_add_item(sv_tree, hf_trmac_errors_token, pkt_offset+6, 1, errors[4]);
+ 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 */
- proto_tree_add_text(tree, pkt_offset+1, sv_length-1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, sv_length-1,
"Error Code: %04X", pntohs( &pd[2] ) );
break;
default: /* Unknown */
- proto_tree_add_text(tree, pkt_offset+1, 1,
+ proto_tree_add_text(tree, NullTVB, pkt_offset+1, 1,
"Unknown Sub-Vector: 0x%02X", pd[1]);
}
return sv_length;
@@ -292,14 +292,14 @@ dissect_trmac(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
if (tree) {
- ti = proto_tree_add_item(tree, proto_trmac, offset, mv_length, NULL);
+ 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, offset+3, 1, mv_val);
- proto_tree_add_uint_format(mac_tree, hf_trmac_length, offset, 2, mv_length,
+ 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, offset+2, 1, pd[offset+2] & 0x0f);
- proto_tree_add_item(mac_tree, hf_trmac_dstclass, offset+2, 1, pd[offset+2] >> 4 );
+ 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;
diff --git a/packet-udp.c b/packet-udp.c
index da4219969e..b16f5fbb97 100644
--- a/packet-udp.c
+++ b/packet-udp.c
@@ -1,7 +1,7 @@
/* packet-udp.c
* Routines for UDP packet disassembly
*
- * $Id: packet-udp.c,v 1.69 2000/04/20 07:05:57 guy Exp $
+ * $Id: packet-udp.c,v 1.70 2000/05/11 08:15:54 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -166,19 +166,19 @@ dissect_udp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
get_udp_port(uh_sport), get_udp_port(uh_dport));
if (tree) {
- ti = proto_tree_add_item(tree, proto_udp, offset, 8);
+ 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, offset, 2, uh_sport,
+ proto_tree_add_uint_format(udp_tree, hf_udp_srcport, NullTVB, offset, 2, uh_sport,
"Source port: %s (%u)", get_udp_port(uh_sport), uh_sport);
- proto_tree_add_uint_format(udp_tree, hf_udp_dstport, offset + 2, 2, uh_dport,
+ 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, offset, 2, uh_sport);
- proto_tree_add_item_hidden(udp_tree, hf_udp_port, offset+2, 2, 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, offset + 4, 2, uh_ulen);
- proto_tree_add_uint_format(udp_tree, hf_udp_checksum, offset + 6, 2, uh_sum,
+ 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);
}
diff --git a/packet-v120.c b/packet-v120.c
index 9775f2d2c8..5862a67579 100644
--- a/packet-v120.c
+++ b/packet-v120.c
@@ -2,7 +2,7 @@
* Routines for v120 frame disassembly
* Bert Driehuis <driehuis@playbeing.org>
*
- * $Id: packet-v120.c,v 1.5 2000/03/17 05:21:48 guy Exp $
+ * $Id: packet-v120.c,v 1.6 2000/05/11 08:15:54 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -72,7 +72,7 @@ dissect_v120(const u_char *pd, frame_data *fd, proto_tree *tree)
if (check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, "Invalid V.120 frame");
if (tree)
- ti = proto_tree_add_protocol_format(tree, proto_v120, 0, fd->cap_len,
+ ti = proto_tree_add_protocol_format(tree, proto_v120, NullTVB, 0, fd->cap_len,
"Invalid V.120 frame");
return;
}
@@ -97,27 +97,27 @@ dissect_v120(const u_char *pd, frame_data *fd, proto_tree *tree)
is_response = FALSE;
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_v120, 0, 0,
+ ti = proto_tree_add_protocol_format(tree, proto_v120, NullTVB, 0, 0,
"V.120");
v120_tree = proto_item_add_subtree(ti, ett_v120);
addr = pd[1] << 8 | pd[0];
sprintf(info, "LLI: %d C/R: %s",
((pd[0] & 0xfc) << 5) | ((pd[1] & 0xfe) >> 1),
pd[0] & 0x02 ? "R" : "C");
- tc = proto_tree_add_text(v120_tree,
+ tc = proto_tree_add_text(v120_tree, NullTVB,
0, 2,
"Address field: %s", info);
address_tree = proto_item_add_subtree(tc, ett_v120_address);
- proto_tree_add_text(address_tree, 0, 2,
+ proto_tree_add_text(address_tree, NullTVB, 0, 2,
decode_boolean_bitfield(addr, 0x0002, 2*8,
"Response", "Command"), NULL);
sprintf(info, "LLI: %d", ((pd[0] & 0xfc) << 5) | ((pd[1] & 0xfe) >> 1));
- proto_tree_add_text(address_tree, 0, 2,
+ proto_tree_add_text(address_tree, NullTVB, 0, 2,
decode_numeric_bitfield(addr, 0xfefc, 2*8, info));
- proto_tree_add_text(address_tree, 0, 2,
+ proto_tree_add_text(address_tree, NullTVB, 0, 2,
decode_boolean_bitfield(addr, 0x0001, 2*8,
"EA0 = 1 (Error)", "EA0 = 0"), NULL);
- proto_tree_add_text(address_tree, 0, 2,
+ proto_tree_add_text(address_tree, NullTVB, 0, 2,
decode_boolean_bitfield(addr, 0x0100, 2*8,
"EA1 = 1", "EA1 = 0 (Error)"), NULL);
}
@@ -155,36 +155,36 @@ dissect_v120_header(const u_char *pd, int offset, frame_data *fd, proto_tree *tr
nbits = header_len * 8;
sprintf(info, "Header: B: %d F: %d", pd[offset] & 0x02 ? 1:0,
pd[offset] & 0x01 ? 1:0);
- tc = proto_tree_add_text(tree,
+ tc = proto_tree_add_text(tree, NullTVB,
offset, header_len,
"Header octet: %s (0x%02X)", info, pd[offset]);
h_tree = proto_item_add_subtree(tc, ett_v120_header);
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x80, nbits,
"No extension octet", "Extension octet follows"), NULL);
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x40, nbits,
"Break condition", "No break condition"), NULL);
sprintf(info, "Error control C1/C2: %d", (header & 0x0c) >> 2);
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_numeric_bitfield(header, 0x0c, nbits, info));
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x02, nbits,
"Segmentation bit B", "No segmentation bit B"), NULL);
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x01, nbits,
"Segmentation bit F", "No segmentation bit F"), NULL);
if (header_len == 2) {
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x8000, nbits,
"E", "E bit not set (Error)"), NULL);
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x4000, nbits,
"DR", "No DR"), NULL);
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x2000, nbits,
"SR", "No SR"), NULL);
- proto_tree_add_text(h_tree, offset, header_len,
+ proto_tree_add_text(h_tree, NullTVB, offset, header_len,
decode_boolean_bitfield(header, 0x1000, nbits,
"RR", "No RR"), NULL);
}
diff --git a/packet-vines.c b/packet-vines.c
index dc45a08787..daa89958da 100644
--- a/packet-vines.c
+++ b/packet-vines.c
@@ -1,7 +1,7 @@
/* packet-vines.c
* Routines for Banyan VINES protocol packet disassembly
*
- * $Id: packet-vines.c,v 1.15 2000/04/16 22:46:24 guy Exp $
+ * $Id: packet-vines.c,v 1.16 2000/05/11 08:15:54 gram Exp $
*
* Don Lafontaine <lafont02@cn.ca>
*
@@ -104,10 +104,10 @@ dissect_vines_frp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree
}
if (tree) {
- ti = proto_tree_add_text(tree, offset, 2, "Vines Fragmentation Protocol");
+ ti = proto_tree_add_text(tree, NullTVB, offset, 2, "Vines Fragmentation Protocol");
vines_frp_tree = proto_item_add_subtree(ti, ett_vines_frp);
- proto_tree_add_text(vines_frp_tree, offset, 1, "Control Flags: 0x%02x = %s fragment", vines_frp_ctrl, frp_flags_str);
- proto_tree_add_text(vines_frp_tree, offset + 1, 1, "Sequence Number: 0x%02x", vines_frp_seqno);
+ proto_tree_add_text(vines_frp_tree, NullTVB, offset, 1, "Control Flags: 0x%02x = %s fragment", vines_frp_ctrl, frp_flags_str);
+ proto_tree_add_text(vines_frp_tree, NullTVB, offset + 1, 1, "Sequence Number: 0x%02x", vines_frp_seqno);
}
/* Skip over header */
@@ -232,13 +232,13 @@ dissect_vines(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
*/
if (tree)
{
- ti = proto_tree_add_text(tree, offset, (viph.vip_pktlen), "Vines IP");
+ ti = proto_tree_add_text(tree, NullTVB, offset, (viph.vip_pktlen), "Vines IP");
vip_tree = proto_item_add_subtree(ti, ett_vines);
- proto_tree_add_text(vip_tree, offset, 2, "Packet checksum: 0x%04x", viph.vip_chksum);
- proto_tree_add_text(vip_tree, offset + 2, 2, "Packet length: 0x%04x (%d)", viph.vip_pktlen, viph.vip_pktlen);
- proto_tree_add_text(vip_tree, offset + 4, 1, "Transport control: 0x%02x",
+ proto_tree_add_text(vip_tree, NullTVB, offset, 2, "Packet checksum: 0x%04x", viph.vip_chksum);
+ proto_tree_add_text(vip_tree, NullTVB, offset + 2, 2, "Packet length: 0x%04x (%d)", viph.vip_pktlen, viph.vip_pktlen);
+ proto_tree_add_text(vip_tree, NullTVB, offset + 4, 1, "Transport control: 0x%02x",
viph.vip_tctl);
- proto_tree_add_text(vip_tree, offset + 5, 1, "Protocol: 0x%02x", viph.vip_proto);
+ proto_tree_add_text(vip_tree, NullTVB, offset + 5, 1, "Protocol: 0x%02x", viph.vip_proto);
}
@@ -322,17 +322,17 @@ void dissect_vines_spp(const u_char *pd, int offset, frame_data *fd, proto_tree
*/
if (tree)
{
- ti = proto_tree_add_text(tree, offset, sizeof(viph), "Vines SPP");
+ ti = proto_tree_add_text(tree, NullTVB, offset, sizeof(viph), "Vines SPP");
vspp_tree = proto_item_add_subtree(ti, ett_vines_spp);
- proto_tree_add_text(vspp_tree, offset, 2, "Source port: 0x%04x", viph.vspp_sport);
- proto_tree_add_text(vspp_tree, offset+2, 2, "Destination port: 0x%04x", viph.vspp_dport);
- proto_tree_add_text(vspp_tree, offset+4, 1, "Packet type: 0x%02x", viph.vspp_pkttype);
- proto_tree_add_text(vspp_tree, offset+5, 1, "Control: 0x%02x", viph.vspp_control);
- proto_tree_add_text(vspp_tree, offset+6, 2, "Local Connection ID: 0x%04x", viph.vspp_lclid);
- proto_tree_add_text(vspp_tree, offset+8, 2, "Remote Connection ID: 0x%04x", viph.vspp_rmtid);
- proto_tree_add_text(vspp_tree, offset+10, 2, "Sequence number: 0x%04x", viph.vspp_seqno);
- proto_tree_add_text(vspp_tree, offset+12, 2, "Ack number: 0x%04x", viph.vspp_ack);
- proto_tree_add_text(vspp_tree, offset+14, 2, "Window: 0x%04x", viph.vspp_win);
+ proto_tree_add_text(vspp_tree, NullTVB, offset, 2, "Source port: 0x%04x", viph.vspp_sport);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+2, 2, "Destination port: 0x%04x", viph.vspp_dport);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+4, 1, "Packet type: 0x%02x", viph.vspp_pkttype);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+5, 1, "Control: 0x%02x", viph.vspp_control);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+6, 2, "Local Connection ID: 0x%04x", viph.vspp_lclid);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+8, 2, "Remote Connection ID: 0x%04x", viph.vspp_rmtid);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+10, 2, "Sequence number: 0x%04x", viph.vspp_seqno);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+12, 2, "Ack number: 0x%04x", viph.vspp_ack);
+ proto_tree_add_text(vspp_tree, NullTVB, offset+14, 2, "Window: 0x%04x", viph.vspp_win);
}
offset += 16; /* sizeof SPP */
dissect_data(pd, offset, fd, tree);
diff --git a/packet-vlan.c b/packet-vlan.c
index 874873ce1d..bb5c0a78ab 100644
--- a/packet-vlan.c
+++ b/packet-vlan.c
@@ -1,7 +1,7 @@
/* packet-vlan.c
* Routines for VLAN 802.1Q ethernet header disassembly
*
- * $Id: packet-vlan.c,v 1.10 2000/04/16 22:59:37 guy Exp $
+ * $Id: packet-vlan.c,v 1.11 2000/05/11 08:15:55 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -89,12 +89,12 @@ dissect_vlan(const u_char *pd, int offset, frame_data *fd, proto_tree *tree) {
}
if (tree) {
- ti = proto_tree_add_item(tree, proto_vlan, offset, 4);
+ 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, offset, 2, tci);
- proto_tree_add_item(vlan_tree, hf_vlan_cfi, offset, 2, tci);
- proto_tree_add_item(vlan_tree, hf_vlan_id, offset, 2, tci);
+ 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);
}
if ( encap_proto <= IEEE_802_3_MAX_LEN) {
diff --git a/packet-vrrp.c b/packet-vrrp.c
index e3754fa3e0..487dbc3197 100644
--- a/packet-vrrp.c
+++ b/packet-vrrp.c
@@ -4,7 +4,7 @@
*
* Heikki Vatiainen <hessu@cs.tut.fi>
*
- * $Id: packet-vrrp.c,v 1.4 2000/04/16 22:46:25 guy Exp $
+ * $Id: packet-vrrp.c,v 1.5 2000/05/11 08:15:55 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -132,27 +132,27 @@ dissect_vrrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
return;
}
- ti = proto_tree_add_item(tree, proto_vrrp, offset, END_OF_FRAME, NULL);
+ 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, offset, 1,
+ tv = proto_tree_add_uint_format(vrrp_tree, hf_vrrp_ver_type, NullTVB, offset, 1,
vrh.ver_type, "Version %u, Packet type %u (%s)",
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, offset, 1, vrh.ver_type);
- proto_tree_add_item(ver_type_tree, hf_vrrp_type, offset, 1, vrh.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, offset++, 1, "Virtual Router ID: %u", vrh.vrouter_id);
- proto_tree_add_text(vrrp_tree, offset++, 1, "Priority: %u (%s)", vrh.priority,
+ proto_tree_add_text(vrrp_tree, NullTVB, offset++, 1, "Virtual Router ID: %u", vrh.vrouter_id);
+ proto_tree_add_text(vrrp_tree, NullTVB, offset++, 1, "Priority: %u (%s)", vrh.priority,
val_to_str(vrh.priority, vrrp_prio_vals, "Non-default backup priority"));
- proto_tree_add_text(vrrp_tree, offset++, 1, "Count IP Addrs: %u", vrh.count_ip_addrs);
- proto_tree_add_text(vrrp_tree, offset++, 1, "Authentication Type: %u (%s)", vrh.auth_type,
+ proto_tree_add_text(vrrp_tree, NullTVB, offset++, 1, "Count IP Addrs: %u", vrh.count_ip_addrs);
+ proto_tree_add_text(vrrp_tree, NullTVB, offset++, 1, "Authentication Type: %u (%s)", vrh.auth_type,
val_to_str(vrh.auth_type, vrrp_auth_vals, "Unknown"));
- proto_tree_add_text(vrrp_tree, offset++, 1, "Advertisement Interval: %u second%s",
+ proto_tree_add_text(vrrp_tree, NullTVB, offset++, 1, "Advertisement Interval: %u second%s",
vrh.adver_int, plurality(vrh.adver_int, "", "s"));
- proto_tree_add_text(vrrp_tree, offset, 2, "Checksum: 0x%x", htons(vrh.checksum));
+ proto_tree_add_text(vrrp_tree, NullTVB, offset, 2, "Checksum: 0x%x", htons(vrh.checksum));
offset+=2;
if (short_packet) {
@@ -162,7 +162,7 @@ dissect_vrrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
ip_count = vrh.count_ip_addrs;
while (ip_count > 0) {
- proto_tree_add_text(vrrp_tree, offset, 4, "Virtual Router IP address: %s",
+ proto_tree_add_text(vrrp_tree, NullTVB, offset, 4, "Virtual Router IP address: %s",
ip_to_str(pd+offset));
offset+=4;
ip_count--;
@@ -175,7 +175,7 @@ dissect_vrrp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
auth_buf[VRRP_AUTH_DATA_LEN] = '\0';
auth_len = strlen(auth_buf);
if (auth_len > 0)
- proto_tree_add_text(vrrp_tree, offset, auth_len, "Authentication string: `%s'", auth_buf);
+ proto_tree_add_text(vrrp_tree, NullTVB, offset, auth_len, "Authentication string: `%s'", auth_buf);
offset+=8;
}
diff --git a/packet-vtp.c b/packet-vtp.c
index 3374e047e1..9b7751a883 100644
--- a/packet-vtp.c
+++ b/packet-vtp.c
@@ -1,7 +1,7 @@
/* packet-vtp.c
* Routines for the disassembly of Cisco's Virtual Trunking Protocol
*
- * $Id: packet-vtp.c,v 1.2 2000/03/12 04:47:51 gram Exp $
+ * $Id: packet-vtp.c,v 1.3 2000/05/11 08:15:55 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -106,71 +106,71 @@ dissect_vtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_str(fd, COL_INFO, "Virtual Trunking Protocol");
if (tree) {
- ti = proto_tree_add_item(tree, proto_vtp, offset, END_OF_FRAME,
+ 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, offset, 1,
+ 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, offset, 1,
+ 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, offset,
+ 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, offset,
+ proto_tree_add_item(vtp_tree, hf_vtp_md_len, NullTVB, offset,
1, md_len);
offset += 1;
- proto_tree_add_string_format(vtp_tree, hf_vtp_md, offset,
+ proto_tree_add_string_format(vtp_tree, hf_vtp_md, NullTVB, offset,
32, &pd[offset], "Management Domain: %.32s",
&pd[offset]);
offset += 32;
- proto_tree_add_item(vtp_tree, hf_vtp_conf_rev_num,
+ proto_tree_add_item(vtp_tree, hf_vtp_conf_rev_num, NullTVB,
offset, 4, pntohl(&pd[offset]));
offset += 4;
- proto_tree_add_item(vtp_tree, hf_vtp_upd_id,
+ proto_tree_add_item(vtp_tree, hf_vtp_upd_id, NullTVB,
offset, 4, &pd[offset]);
offset += 4;
- proto_tree_add_string_format(vtp_tree, hf_vtp_upd_ts,
+ proto_tree_add_string_format(vtp_tree, hf_vtp_upd_ts, NullTVB,
offset, 12, &pd[offset],
"Update Timestamp: %.2s-%.2s-%.2s %.2s:%.2s:%.2s",
&pd[offset], &pd[offset+2], &pd[offset+4],
&pd[offset+6], &pd[offset+8], &pd[offset+10]);
offset += 12;
- proto_tree_add_item(vtp_tree, hf_vtp_md5_digest,
+ 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, offset,
+ 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, offset,
+ proto_tree_add_item(vtp_tree, hf_vtp_md_len, NullTVB, offset,
1, md_len);
offset += 1;
- proto_tree_add_string_format(vtp_tree, hf_vtp_md, offset,
+ proto_tree_add_string_format(vtp_tree, hf_vtp_md, NullTVB, offset,
32, &pd[offset], "Management Domain: %.32s",
&pd[offset]);
offset += 32;
- proto_tree_add_item(vtp_tree, hf_vtp_conf_rev_num,
+ proto_tree_add_item(vtp_tree, hf_vtp_conf_rev_num, NullTVB,
offset, 4, pntohl(&pd[offset]));
offset += 4;
@@ -187,11 +187,11 @@ dissect_vtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
offset += 1; /* skip reserved field */
md_len = pd[offset];
- proto_tree_add_item(vtp_tree, hf_vtp_md_len, 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,
+ proto_tree_add_item(vtp_tree, hf_vtp_start_value, NullTVB,
offset, 2, pntohs(&pd[offset]));
break;
@@ -203,18 +203,18 @@ dissect_vtp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
offset += 1; /* skip unknown field */
md_len = pd[offset];
- proto_tree_add_item(vtp_tree, hf_vtp_md_len, offset,
+ proto_tree_add_item(vtp_tree, hf_vtp_md_len, NullTVB, offset,
1, md_len);
offset += 1;
- proto_tree_add_string_format(vtp_tree, hf_vtp_md, offset,
+ proto_tree_add_string_format(vtp_tree, hf_vtp_md, NullTVB, offset,
32, &pd[offset], "Management Domain: %.32s",
&pd[offset]);
offset += 32;
offset += 2; /* skip unknown field */
- proto_tree_add_text(vtp_tree, offset, 2,
+ proto_tree_add_text(vtp_tree, NullTVB, offset, 2,
"VLAN ID of some sort: 0x%04x",
pntohs(&pd[offset]));
offset += 2;
@@ -277,12 +277,12 @@ dissect_vlan_info(const u_char *pd, int offset, proto_tree *tree)
if (!BYTES_ARE_IN_FRAME(offset, 1))
return -1;
vlan_info_len = pd[offset];
- ti = proto_tree_add_text(tree, offset, vlan_info_len,
+ ti = proto_tree_add_text(tree, NullTVB, offset, vlan_info_len,
"VLAN Information");
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, offset, 1,
+ proto_tree_add_item(vlan_info_tree, hf_vtp_vlan_info_len, NullTVB, offset, 1,
vlan_info_len);
offset += 1;
vlan_info_left -= 1;
@@ -290,18 +290,18 @@ dissect_vlan_info(const u_char *pd, int offset, proto_tree *tree)
if (!BYTES_ARE_IN_FRAME(offset, 1) || vlan_info_left < 1)
return -1;
status = pd[offset];
- ti = proto_tree_add_text(vlan_info_tree, offset, 1,
+ ti = proto_tree_add_text(vlan_info_tree, NullTVB, offset, 1,
"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, offset, 1,
+ 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, offset, 1,
+ proto_tree_add_item(vlan_info_tree, hf_vtp_vlan_type, NullTVB, offset, 1,
pd[offset]);
offset += 1;
vlan_info_left -= 1;
@@ -309,28 +309,28 @@ dissect_vlan_info(const u_char *pd, int offset, proto_tree *tree)
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, offset, 1,
+ 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, offset, 2,
+ 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, offset, 2,
+ 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, offset, 4,
+ proto_tree_add_item(vlan_info_tree, hf_vtp_802_10_index, NullTVB, offset, 4,
pntohl(&pd[offset]));
offset += 4;
vlan_info_left -= 4;
@@ -341,7 +341,7 @@ dissect_vlan_info(const u_char *pd, int offset, proto_tree *tree)
if (!BYTES_ARE_IN_FRAME(offset, vlan_name_len)
|| vlan_info_left < vlan_name_len)
return -1;
- proto_tree_add_string_format(vlan_info_tree, hf_vtp_vlan_name, offset,
+ proto_tree_add_string_format(vlan_info_tree, hf_vtp_vlan_name, NullTVB, offset,
vlan_name_len, &pd[offset], "VLAN Name: %.*s", vlan_name_len,
&pd[offset]);
offset += vlan_name_len;
@@ -353,12 +353,12 @@ dissect_vlan_info(const u_char *pd, int offset, proto_tree *tree)
type_str = val_to_str(type, vlan_tlv_type_vals,
"Unknown (0x%04x)");
- ti = proto_tree_add_notext(vlan_info_tree, offset,
+ 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, offset,
+ proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvtype, NullTVB, offset,
1, type);
- proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvlength, offset+1,
+ proto_tree_add_item(tlv_tree, hf_vtp_vlan_tlvlength, NullTVB, offset+1,
1, length);
offset += 2;
vlan_info_left -= 2;
@@ -409,14 +409,14 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Source-Routing Ring Number: 0x%04x",
pntohs(&pd[offset]));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Source-Routing Ring Number: 0x%04x",
pntohs(&pd[offset]));
} else {
proto_item_set_text(ti,
"Source-Routing Ring Number: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Source-Routing Ring Number: Bad length %u",
length);
}
@@ -427,14 +427,14 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Source-Routing Bridge Number: 0x%04x",
pntohs(&pd[offset]));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Source-Routing Bridge Number: 0x%04x",
pntohs(&pd[offset]));
} else {
proto_item_set_text(ti,
"Source-Routing Bridge Number: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Source-Routing Bridge Number: Bad length %u",
length);
}
@@ -446,7 +446,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
"Spanning-Tree Protocol Type: %s",
val_to_str(pntohs(&pd[offset]), stp_type_vals,
"Unknown (0x%04x)"));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Spanning-Tree Protocol Type: %s",
val_to_str(pntohs(&pd[offset]), stp_type_vals,
"Unknown (0x%04x)"));
@@ -454,7 +454,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Spanning-Tree Protocol Type: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Spanning-Tree Protocol Type: Bad length %u",
length);
}
@@ -465,14 +465,14 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Parent VLAN: 0x%04x",
pntohs(&pd[offset]));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Parent VLAN: 0x%04x",
pntohs(&pd[offset]));
} else {
proto_item_set_text(ti,
"Parent VLAN: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Parent VLAN: Bad length %u",
length);
}
@@ -483,14 +483,14 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Translationally Bridged VLANs: 0x%04x",
pntohs(&pd[offset]));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Translationally Bridged VLANs: 0x%04x",
pntohs(&pd[offset]));
} else {
proto_item_set_text(ti,
"Translationally Bridged VLANs: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Translationally Bridged VLANs: Bad length %u",
length);
}
@@ -502,7 +502,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
"Pruning: %s",
val_to_str(pntohs(&pd[offset]), pruning_vals,
"Unknown (0x%04x)"));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Pruning: %s",
val_to_str(pntohs(&pd[offset]), pruning_vals,
"Unknown (0x%04x)"));
@@ -510,7 +510,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Pruning: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Pruning: Bad length %u",
length);
}
@@ -522,7 +522,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
"Bridge Type: %s",
val_to_str(pntohs(&pd[offset]), bridge_type_vals,
"Unknown (0x%04x)"));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Bridge Type: %s",
val_to_str(pntohs(&pd[offset]), bridge_type_vals,
"Unknown (0x%04x)"));
@@ -530,7 +530,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Bridge Type: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Bridge Type: Bad length %u",
length);
}
@@ -541,14 +541,14 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Max ARE Hop Count: %u",
pntohs(&pd[offset]));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Max ARE Hop Count: %u",
pntohs(&pd[offset]));
} else {
proto_item_set_text(ti,
"Max ARE Hop Count: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Max ARE Hop Count: Bad length %u",
length);
}
@@ -559,14 +559,14 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Max STE Hop Count: %u",
pntohs(&pd[offset]));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Max STE Hop Count: %u",
pntohs(&pd[offset]));
} else {
proto_item_set_text(ti,
"Max STE Hop Count: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Max STE Hop Count: Bad length %u",
length);
}
@@ -578,7 +578,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
"Backup CRF Mode: %s",
val_to_str(pntohs(&pd[offset]), backup_crf_mode_vals,
"Unknown (0x%04x)"));
- proto_tree_add_text(tree, offset, 2,
+ proto_tree_add_text(tree, NullTVB, offset, 2,
"Backup CRF Mode: %s",
val_to_str(pntohs(&pd[offset]), backup_crf_mode_vals,
"Unknown (0x%04x)"));
@@ -586,7 +586,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
proto_item_set_text(ti,
"Backup CRF Mode: Bad length %u",
length);
- proto_tree_add_text(tree, offset, length,
+ proto_tree_add_text(tree, NullTVB, offset, length,
"Backup CRF Mode: Bad length %u",
length);
}
@@ -594,7 +594,7 @@ dissect_vlan_info_tlv(const u_char *pd, int offset, int length,
default:
proto_item_set_text(ti, "Unknown TLV type: 0x%02x", type);
- proto_tree_add_text(tree, offset, length, "Data");
+ proto_tree_add_text(tree, NullTVB, offset, length, "Data");
break;
}
}
diff --git a/packet-wccp.c b/packet-wccp.c
index ca4a99e573..9756d8a4d1 100644
--- a/packet-wccp.c
+++ b/packet-wccp.c
@@ -2,7 +2,7 @@
* Routines for Web Cache Coordination Protocol dissection
* Jerry Talkington <jerryt@netapp.com>
*
- * $Id: packet-wccp.c,v 1.6 2000/04/08 07:07:41 guy Exp $
+ * $Id: packet-wccp.c,v 1.7 2000/05/11 08:15:55 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -114,11 +114,11 @@ dissect_wccp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if(tree != NULL) {
- wccp_tree_item = proto_tree_add_item(tree, proto_wccp, offset,
+ 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, offset,
+ proto_tree_add_item(wccp_tree, hf_wccp_message_type, NullTVB, offset,
sizeof(wccp_message_type), wccp_message_type);
offset += sizeof(wccp_message_type);
@@ -126,29 +126,29 @@ dissect_wccp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
case WCCP_HERE_I_AM:
wccp_version = pntohl(&pd[offset]);
- proto_tree_add_item(wccp_tree, hf_wccp_version,
+ 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, offset,
+ 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,
+ 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, offset,
+ 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, offset,
+ proto_tree_add_item(wccp_tree, hf_recvd_id, NullTVB, offset,
4, pntohl(&pd[offset]));
offset += 4;
cache_count = pntohl(&pd[offset]);
- proto_tree_add_text(wccp_tree, offset, 4,
+ proto_tree_add_text(wccp_tree, NullTVB, offset, 4,
"Number of Web Caches: %u", cache_count);
offset += 4;
for (i = 0; i < cache_count; i++) {
@@ -163,23 +163,23 @@ dissect_wccp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
* 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, offset,
+ proto_tree_add_item(wccp_tree, hf_recvd_id, NullTVB, offset,
4, pntohl(&pd[offset]));
offset += 4;
cache_count = pntohl(&pd[offset]);
- proto_tree_add_text(wccp_tree, offset, 4,
+ proto_tree_add_text(wccp_tree, NullTVB, offset, 4,
"Number of Web Caches: %u", cache_count);
offset += 4;
for (i = 0; i < cache_count; i++) {
proto_tree_add_ipv4_format(wccp_tree,
- hf_cache_ip, offset, 4,
+ hf_cache_ip, NullTVB, offset, 4,
pntohl(&pd[offset]),
"Web Cache %d IP Address: %s", i,
ip_to_str((guint8 *) &pd[offset]));
offset += 4;
}
for (i = 0; i < 256; i += 4) {
- proto_tree_add_text(wccp_tree, offset, 4,
+ proto_tree_add_text(wccp_tree, NullTVB, offset, 4,
"Buckets %d - %d: %10s %10s %10s %10s",
i, i + 3,
bucket_name(pd[offset]),
@@ -192,7 +192,7 @@ dissect_wccp(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
default:
wccp_version = pntohl(&pd[offset]);
- proto_tree_add_item(wccp_tree, hf_wccp_version,
+ proto_tree_add_item(wccp_tree, hf_wccp_version, NullTVB,
offset, 4, wccp_version);
offset += 4;
dissect_data(pd, offset, fd, wccp_tree);
@@ -213,11 +213,11 @@ dissect_hash_data(const u_char *pd, int offset, proto_tree *wccp_tree)
int n;
guint32 flags;
- proto_tree_add_item(wccp_tree, hf_hash_revision, offset, 4,
+ proto_tree_add_item(wccp_tree, hf_hash_revision, NullTVB, offset, 4,
pntohl(&pd[offset]));
offset += 4;
- bucket_item = proto_tree_add_text(wccp_tree, offset, 32,
+ bucket_item = proto_tree_add_text(wccp_tree, NullTVB, offset, 32,
"Hash information");
bucket_tree = proto_item_add_subtree(bucket_item, ett_buckets);
@@ -227,13 +227,13 @@ dissect_hash_data(const u_char *pd, int offset, proto_tree *wccp_tree)
offset += 1;
}
flags = pntohl(&pd[offset]);
- tf = proto_tree_add_text(wccp_tree, offset, 4,
+ tf = proto_tree_add_text(wccp_tree, NullTVB, offset, 4,
"Flags: 0x%08X (%s)", flags,
((flags & WCCP_U_FLAG) ?
"Hash information is historical" :
"Hash information is current"));
field_tree = proto_item_add_subtree(tf, ett_flags);
- proto_tree_add_text(field_tree, offset, 4, "%s",
+ proto_tree_add_text(field_tree, NullTVB, offset, 4, "%s",
decode_boolean_bitfield(flags, WCCP_U_FLAG,
sizeof (flags)*8,
"Hash information is historical",
@@ -247,11 +247,11 @@ dissect_web_cache_list_entry(const u_char *pd, int offset, int index,
proto_item *tl;
proto_tree *list_entry_tree;
- tl = proto_tree_add_text(wccp_tree, offset, 4 + HASH_INFO_SIZE,
+ tl = proto_tree_add_text(wccp_tree, NullTVB, offset, 4 + HASH_INFO_SIZE,
"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, offset, 4,
+ 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);
}
@@ -268,7 +268,7 @@ wccp_bucket_info(guint8 bucket_info, proto_tree *bucket_tree, guint32 start,
guint32 i;
for(i = 0; i < 8; i++) {
- proto_tree_add_text(bucket_tree, offset, sizeof(bucket_info), "Bucket %3d: %s", start, (bucket_info & 1<<i ? "Assigned" : "Not Assigned") );
+ proto_tree_add_text(bucket_tree, NullTVB, offset, sizeof(bucket_info), "Bucket %3d: %s", start, (bucket_info & 1<<i ? "Assigned" : "Not Assigned") );
start++;
}
return(start);
diff --git a/packet-who.c b/packet-who.c
index c5f78046f1..9df4775559 100644
--- a/packet-who.c
+++ b/packet-who.c
@@ -2,7 +2,7 @@
* Routines for who protocol (see man rwhod)
* Gilbert Ramirez <gram@xiexie.org>
*
- * $Id: packet-who.c,v 1.5 2000/04/08 07:07:41 guy Exp $
+ * $Id: packet-who.c,v 1.6 2000/05/11 08:15:56 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -137,41 +137,41 @@ dissect_who(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
/* 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, offset, END_OF_FRAME, NULL);
+ 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, offset, 1, pd[offset]);
+ 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, offset, 1, pd[offset]);
+ 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, offset, 4, &tv);
+ 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, offset, 4, &tv);
+ proto_tree_add_item(who_tree, hf_who_recvtime, NullTVB, offset, 4, &tv);
offset += 4;
- proto_tree_add_item(who_tree, hf_who_hostname, offset, 32, server_name);
+ 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, offset, 4, loadav_5);
+ 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, offset, 4, loadav_10);
+ 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, offset, 4, loadav_15);
+ 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, offset, 4, &tv);
+ proto_tree_add_item(who_tree, hf_who_boottime, NullTVB, offset, 4, &tv);
offset += 4;
dissect_whoent(pd, offset, fd, who_tree);
@@ -203,21 +203,21 @@ dissect_whoent(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
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, line_offset, SIZE_OF_WHOENT, NULL);
+ 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, line_offset, 8, out_line);
+ 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, line_offset, 8, out_name);
+ 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, line_offset, 4, &tv);
+ proto_tree_add_item(whoent_tree, hf_who_timeon, NullTVB, line_offset, 4, &tv);
line_offset += 4;
idle_secs = pntohl(&pd[line_offset]);
- proto_tree_add_uint_format(whoent_tree, hf_who_idle, line_offset, 4, idle_secs,
+ proto_tree_add_uint_format(whoent_tree, hf_who_idle, NullTVB, line_offset, 4, idle_secs,
"Idle: %s", time_secs_to_str(idle_secs));
line_offset += 4;
diff --git a/packet-x25.c b/packet-x25.c
index e6977c2c60..59aa8f52e9 100644
--- a/packet-x25.c
+++ b/packet-x25.c
@@ -2,7 +2,7 @@
* Routines for x25 packet disassembly
* Olivier Abad <abad@daba.dhis.net>
*
- * $Id: packet-x25.c,v 1.24 2000/04/15 22:11:12 guy Exp $
+ * $Id: packet-x25.c,v 1.25 2000/05/11 08:15:56 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -631,10 +631,10 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
len = *ptr++;
if (len && tree) {
- ti = proto_tree_add_text(tree, *offset, len + 1,
+ ti = proto_tree_add_text(tree, NullTVB, *offset, len + 1,
"Facilities");
fac_tree = proto_item_add_subtree(ti, ett_x25_fac);
- proto_tree_add_text(fac_tree, *offset, 1,
+ proto_tree_add_text(fac_tree, NullTVB, *offset, 1,
"Facilities length: %d", len);
}
(*offset)++;
@@ -645,13 +645,13 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
switch (*ptr) {
case X25_FAC_COMP_MARK:
if (fac_tree)
- ti = proto_tree_add_text(fac_tree, *offset, 1,
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1,
"Code : 00 (Marker)");
switch (ptr[1]) {
case 0x00:
if (fac_tree) {
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_mark);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Parameter : 00 (Network complementary "
"services - calling DTE)");
}
@@ -659,7 +659,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
case 0xFF:
if (fac_tree) {
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_mark);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Parameter : FF (Network complementary "
"services - called DTE)");
}
@@ -667,7 +667,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
case 0x0F:
if (fac_tree) {
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_mark);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Parameter : 0F (DTE complementary "
"services)");
}
@@ -675,7 +675,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
default:
if (fac_tree) {
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_mark);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Parameter : %02X (Unknown marker)",
ptr[1]);
}
@@ -684,21 +684,21 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
break;
case X25_FAC_REVERSE:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Reverse charging / Fast select)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_reverse);
- proto_tree_add_text(fac_subtree, *offset+1, 1, "Parameter : %02X",
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1, "Parameter : %02X",
ptr[1]);
if (ptr[1] & 0xC0)
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"11.. .... = Fast select with restriction");
else if (ptr[1] & 0x80)
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"10.. .... = Fast select - no restriction");
else
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"00.. .... = Fast select not requested");
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
decode_boolean_bitfield(ptr[1], 0x01, 1*8,
"Reverse charging requested",
"Reverse charging not requested"));
@@ -708,7 +708,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
if (fac_tree) {
char tmpbuf[80];
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Throughput class negociation)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_throughput);
switch (ptr[1] >> 4)
@@ -734,7 +734,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
default:
sprintf(tmpbuf, "From the called DTE : %%u (Reserved)");
}
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
decode_numeric_bitfield(ptr[1], 0xF0, 1*8, tmpbuf));
switch (ptr[1] & 0x0F)
{
@@ -759,66 +759,66 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
default:
sprintf(tmpbuf, "From the calling DTE : %%u (Reserved)");
}
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
decode_numeric_bitfield(ptr[1], 0x0F, 1*8, tmpbuf));
}
break;
case X25_FAC_CUG:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Closed user group selection)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_cug);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Closed user group: %02X", ptr[1]);
}
break;
case X25_FAC_CALLED_MODIF:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Called address modified)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_called_modif);
- proto_tree_add_text(fac_tree, *offset, 2,
+ proto_tree_add_text(fac_tree, NullTVB, *offset, 2,
"Parameter %02X", ptr[1]);
}
break;
case X25_FAC_CUG_OUTGOING_ACC:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Closed user group with outgoing access selection)",
*ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_cug_outgoing_acc);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Closed user group: %02X", ptr[1]);
}
break;
case X25_FAC_THROUGHPUT_MIN:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Minimum throughput class)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_throughput_min);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Parameter %02X", ptr[1]);
}
break;
case X25_FAC_EXPRESS_DATA:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Negociation of express data)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_express_data);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Parameter %02X", ptr[1]);
}
break;
default:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1,
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1,
"Code : %02X (Unknown class A)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_unknown);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Parameter %02X", ptr[1]);
}
break;
@@ -831,11 +831,11 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
switch (*ptr) {
case X25_FAC_BILATERAL_CUG:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Bilateral closed user group selection)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_bilateral_cug);
- proto_tree_add_text(fac_subtree, *offset+1, 2,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 2,
"Bilateral CUG: %02X%02X",
ptr[1], ptr[2]);
}
@@ -845,7 +845,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
{
char tmpbuf[80];
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Packet size)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_packet_size);
switch (ptr[1])
@@ -881,7 +881,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
sprintf(tmpbuf, "From the called DTE : %%u (Unknown)");
break;
}
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
decode_numeric_bitfield(ptr[1], 0x0F, 1*8, tmpbuf));
switch (ptr[2])
@@ -917,51 +917,51 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
sprintf(tmpbuf, "From the calling DTE : %%u (Unknown)");
break;
}
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
decode_numeric_bitfield(ptr[2], 0x0F, 1*8, tmpbuf));
}
break;
case X25_FAC_WINDOW_SIZE:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Window size)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_window_size);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
decode_numeric_bitfield(ptr[1], 0x7F, 1*8,
"From the called DTE: %u"));
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
decode_numeric_bitfield(ptr[2], 0x7F, 1*8,
"From the calling DTE: %u"));
}
break;
case X25_FAC_RPOA_SELECTION:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(RPOA selection)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_rpoa_selection);
- proto_tree_add_text(fac_subtree, *offset+1, 2,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 2,
"Data network identification code : %02X%02X",
ptr[1], ptr[2]);
}
break;
case X25_FAC_TRANSIT_DELAY:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Transit delay selection and indication)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_transit_delay);
- proto_tree_add_text(fac_subtree, *offset+1, 2,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 2,
"Transit delay: %d ms",
(ptr[1]<<8) + ptr[2]);
}
break;
default:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1,
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1,
"Code : %02X (Unknown class B)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_unknown);
- proto_tree_add_text(fac_subtree, *offset+1, 2,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 2,
"Parameter %02X%02X", ptr[1], ptr[2]);
}
break;
@@ -972,10 +972,10 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
break;
case X25_FAC_CLASS_C:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1,
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1,
"Code : %02X (Unknown class C)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_unknown);
- proto_tree_add_text(fac_subtree, *offset+1, 3,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 3,
"Parameter %02X%02X%02X",
ptr[1], ptr[2], ptr[3]);
}
@@ -990,41 +990,41 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
int i;
char tmpbuf[256];
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Call redirection or deflection notification)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_call_transfer);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Length : %u", ptr[1]);
if ((ptr[2] & 0xC0) == 0xC0) {
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : call deflection by the originally "
"called DTE address");
}
else {
switch (ptr[2]) {
case 0x01:
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : originally called DTE busy");
break;
case 0x07:
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : call dist. within a hunt group");
break;
case 0x09:
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : originally called DTE out of order");
break;
case 0x0F:
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : systematic call redirection");
break;
default:
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : unknown");
break;
}
}
- proto_tree_add_text(fac_subtree, *offset+3, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+3, 1,
"Number of semi-octets in DTE address : %u", ptr[3]);
for (i = 0; i < ptr[3]; i++) {
if (i % 2 == 0) {
@@ -1038,7 +1038,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
}
}
tmpbuf[i] = 0;
- proto_tree_add_text(fac_subtree, *offset+4, ptr[1] - 2,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+4, ptr[1] - 2,
"DTE address : %s", tmpbuf);
}
break;
@@ -1047,13 +1047,13 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
int i;
char tmpbuf[256];
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Calling address extension)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_calling_addr_ext);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Length : %u", ptr[1]);
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Number of semi-octets in DTE address : %u", ptr[2]);
for (i = 0; i < ptr[2]; i++) {
if (i % 2 == 0) {
@@ -1067,7 +1067,7 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
}
}
tmpbuf[i] = 0;
- proto_tree_add_text(fac_subtree, *offset+3, ptr[1] - 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+3, ptr[1] - 1,
"DTE address : %s", tmpbuf);
}
break;
@@ -1076,13 +1076,13 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
int i;
char tmpbuf[256];
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Called address extension)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_called_addr_ext);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Length : %u", ptr[1]);
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Number of semi-octets in DTE address : %u", ptr[2]);
for (i = 0; i < ptr[2]; i++) {
if (i % 2 == 0) {
@@ -1096,19 +1096,19 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
}
}
tmpbuf[i] = 0;
- proto_tree_add_text(fac_subtree, *offset+3, ptr[1] - 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+3, ptr[1] - 1,
"DTE address : %s", tmpbuf);
}
break;
case X25_FAC_ETE_TRANSIT_DELAY:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(End to end transit delay)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_ete_transit_delay);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Length : %u", ptr[1]);
- proto_tree_add_text(fac_subtree, *offset+2, ptr[1], "Value");
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, ptr[1], "Value");
}
break;
case X25_FAC_CALL_DEFLECT:
@@ -1116,19 +1116,19 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
int i;
char tmpbuf[256];
- ti = proto_tree_add_text(fac_tree, *offset, 1, "Code : %02X "
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1, "Code : %02X "
"(Call deflection selection)", *ptr);
fac_subtree = proto_item_add_subtree(ti,
ett_x25_fac_call_deflect);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Length : %u", ptr[1]);
if ((ptr[2] & 0xC0) == 0xC0)
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : call DTE originated");
else
- proto_tree_add_text(fac_subtree, *offset+2, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, 1,
"Reason : unknown");
- proto_tree_add_text(fac_subtree, *offset+3, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+3, 1,
"Number of semi-octets in the alternative DTE address : %u",
ptr[3]);
for (i = 0; i < ptr[3]; i++) {
@@ -1143,28 +1143,28 @@ dump_facilities(proto_tree *tree, int *offset, const guint8 *p)
}
}
tmpbuf[i] = 0;
- proto_tree_add_text(fac_subtree, *offset+4, ptr[1] - 2,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+4, ptr[1] - 2,
"Alternative DTE address : %s", tmpbuf);
}
break;
case X25_FAC_PRIORITY:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1,
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1,
"Code : %02X (Priority)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_priority);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Length : %u", ptr[1]);
- proto_tree_add_text(fac_subtree, *offset+2, ptr[1], "Value");
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, ptr[1], "Value");
}
break;
default:
if (fac_tree) {
- ti = proto_tree_add_text(fac_tree, *offset, 1,
+ ti = proto_tree_add_text(fac_tree, NullTVB, *offset, 1,
"Code : %02X (Unknown class D)", *ptr);
fac_subtree = proto_item_add_subtree(ti, ett_x25_fac_unknown);
- proto_tree_add_text(fac_subtree, *offset+1, 1,
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+1, 1,
"Length : %u", ptr[1]);
- proto_tree_add_text(fac_subtree, *offset+2, ptr[1], "Value");
+ proto_tree_add_text(fac_subtree, NullTVB, *offset+2, ptr[1], "Value");
}
}
(*offset) += ptr[1]+2;
@@ -1187,11 +1187,11 @@ x25_ntoa(proto_tree *tree, int *offset, const guint8 *p,
len1 = (*p >> 4) & 0x0F;
len2 = (*p >> 0) & 0x0F;
if (tree) {
- proto_tree_add_text(tree, *offset, 1,
+ proto_tree_add_text(tree, NullTVB, *offset, 1,
decode_numeric_bitfield(*p, 0xF0, 1*8,
toa ? "Called address length : %u" :
"Calling address length : %u"));
- proto_tree_add_text(tree, *offset, 1,
+ proto_tree_add_text(tree, NullTVB, *offset, 1,
decode_numeric_bitfield(*p, 0x0F, 1*8,
toa ? "Calling address length : %u" :
"Called address length : %u"));
@@ -1233,7 +1233,7 @@ x25_ntoa(proto_tree *tree, int *offset, const guint8 *p,
col_add_str(fd, COL_RES_DL_SRC, addr1);
}
if (tree)
- proto_tree_add_text(tree, *offset,
+ proto_tree_add_text(tree, NullTVB, *offset,
(len1 + 1) / 2,
"%s address : %s",
toa ? "Called" : "Calling",
@@ -1249,7 +1249,7 @@ x25_ntoa(proto_tree *tree, int *offset, const guint8 *p,
col_add_str(fd, COL_RES_DL_DST, addr2);
}
if (tree)
- proto_tree_add_text(tree, *offset + len1/2,
+ proto_tree_add_text(tree, NullTVB, *offset + len1/2,
(len2+1)/2+(len1%2+(len2+1)%2)/2,
"%s address : %s",
toa ? "Calling" : "Called",
@@ -1389,23 +1389,23 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, "Invalid/short X.25 packet");
if (tree)
- proto_tree_add_protocol_format(tree, (modulo == 8 ? proto_x25 : proto_ex25),
+ proto_tree_add_protocol_format(tree, (modulo == 8 ? proto_x25 : proto_ex25), NullTVB,
localoffset, END_OF_FRAME,
"Invalid/short X.25 packet");
return;
}
vc = (int)(pd[localoffset] & 0x0F)*256 + (int)pd[localoffset+1];
if (tree) {
- ti = proto_tree_add_item(tree, (modulo == 8) ? proto_x25 : proto_ex25,
+ ti = proto_tree_add_item(tree, (modulo == 8) ? proto_x25 : proto_ex25, NullTVB,
localoffset, x25_pkt_len, NULL);
x25_tree = proto_item_add_subtree(ti, ett_x25);
if (pd[localoffset] & 0x80)
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_qbit : hf_ex25_qbit,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_qbit : hf_ex25_qbit, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
if (pd[localoffset] & 0x40)
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_dbit : hf_ex25_dbit,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_dbit : hf_ex25_dbit, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_mod : hf_ex25_mod,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_mod : hf_ex25_mod, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
}
switch (pd[localoffset+2]) {
@@ -1416,11 +1416,11 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
: "Call req." ,
vc);
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
proto_tree_add_uint_format(x25_tree,
(modulo == 8) ? hf_x25_type : hf_ex25_type,
- localoffset+2, 1, X25_CALL_REQUEST,
+ NullTVB, localoffset+2, 1, X25_CALL_REQUEST,
(fd->pseudo_header.x25.flags & FROM_DCE) ? "Incoming call"
: "Call request");
}
@@ -1447,7 +1447,7 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
x25_hash_add_proto_start(vc, fd->abs_secs,
fd->abs_usecs, dissect_ip);
if (x25_tree)
- proto_tree_add_text(x25_tree, localoffset, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset, 1,
"X.224 secondary protocol ID: IP");
localoffset++;
break;
@@ -1479,16 +1479,16 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
field is 0x01. */
prt_id = pd[localoffset+2];
if (x25_tree) {
- proto_tree_add_text(x25_tree, localoffset, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset, 1,
"X.264 length indicator: %u",
pd[localoffset]);
- proto_tree_add_text(x25_tree, localoffset+1, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+1, 1,
"X.264 UN TPDU identifier: 0x%02X",
pd[localoffset+1]);
- proto_tree_add_text(x25_tree, localoffset+2, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+2, 1,
"X.264 protocol identifier: %s",
val_to_str(prt_id, prt_id_vals, "Unknown (0x%02X)"));
- proto_tree_add_text(x25_tree, localoffset+3, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+3, 1,
"X.264 sharing strategy: %s",
val_to_str(pd[localoffset+3], sharing_strategy_vals, "Unknown (0x%02X)"));
}
@@ -1513,7 +1513,7 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
unknown:
if (x25_tree) {
if (IS_DATA_IN_FRAME(localoffset))
- proto_tree_add_text(x25_tree, localoffset,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset,
pi.captured_len-localoffset, "Data");
}
localoffset = pi.captured_len;
@@ -1528,11 +1528,11 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
: "Call acc." ,
vc);
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
proto_tree_add_uint_format(x25_tree,
(modulo == 8) ? hf_x25_type : hf_ex25_type,
- localoffset+2, 1, X25_CALL_ACCEPTED,
+ NullTVB, localoffset+2, 1, X25_CALL_ACCEPTED,
(fd->pseudo_header.x25.flags & FROM_DCE) ? "Call connected"
: "Call accepted");
}
@@ -1545,7 +1545,7 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (IS_DATA_IN_FRAME(localoffset)) { /* user data */
if (x25_tree)
- proto_tree_add_text(x25_tree, localoffset,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset,
pi.captured_len-localoffset, "Data");
localoffset=pi.captured_len;
}
@@ -1560,18 +1560,18 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
x25_hash_add_proto_end(vc, fd->abs_secs, fd->abs_usecs);
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
proto_tree_add_uint_format(x25_tree,
(modulo == 8) ? hf_x25_type : hf_ex25_type,
- localoffset+2, 1, X25_CLEAR_REQUEST,
+ NullTVB, localoffset+2, 1, X25_CLEAR_REQUEST,
(fd->pseudo_header.x25.flags & FROM_DCE) ? "Clear indication"
: "Clear request");
if (localoffset+3 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+3, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+3, 1,
"Cause : %s", clear_code(pd[localoffset+3]));
if (localoffset+4 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+4, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+4, 1,
"Diagnostic : %s",
clear_diag(pd[localoffset+4]));
}
@@ -1581,9 +1581,9 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if(check_col(fd, COL_INFO))
col_add_fstr(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,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_CLEAR_CONFIRMATION);
}
localoffset += x25_pkt_len;
@@ -1599,10 +1599,10 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
col_add_fstr(fd, COL_INFO, "Diag. %d", (int)pd[localoffset+3]);
}
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_DIAGNOSTIC);
if (localoffset+3 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+3, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+3, 1,
"Diagnostic : %d", (int)pd[localoffset+3]);
}
localoffset += x25_pkt_len;
@@ -1611,9 +1611,9 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if(check_col(fd, COL_INFO))
col_add_fstr(fd, COL_INFO, "Interrupt VC:%d", vc);
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_INTERRUPT);
}
localoffset += x25_pkt_len;
@@ -1622,9 +1622,9 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if(check_col(fd, COL_INFO))
col_add_fstr(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,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_INTERRUPT_CONFIRMATION);
}
localoffset += x25_pkt_len;
@@ -1639,18 +1639,18 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
x25_hash_add_proto_end(vc, fd->abs_secs, fd->abs_usecs);
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
proto_tree_add_uint_format(x25_tree,
- (modulo == 8) ? hf_x25_type : hf_ex25_type, localoffset+2, 1,
+ (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB, localoffset+2, 1,
X25_RESET_REQUEST,
(fd->pseudo_header.x25.flags & FROM_DCE) ? "Reset indication"
: "Reset request");
if (localoffset+3 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+3, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+3, 1,
"Cause : %s", reset_code(pd[localoffset+3]));
if (localoffset+4 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+4, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+4, 1,
"Diagnostic : %d", (int)pd[localoffset+4]);
}
localoffset += x25_pkt_len;
@@ -1659,9 +1659,9 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if(check_col(fd, COL_INFO))
col_add_fstr(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,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset, 2, pd[localoffset]*256+pd[localoffset+1]);
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_RESET_CONFIRMATION);
}
localoffset += x25_pkt_len;
@@ -1676,15 +1676,15 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (x25_tree) {
proto_tree_add_uint_format(x25_tree,
- (modulo == 8) ? hf_x25_type : hf_ex25_type, localoffset+2, 1,
+ (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB, localoffset+2, 1,
X25_RESTART_REQUEST,
(fd->pseudo_header.x25.flags & FROM_DCE) ? "Restart indication"
: "Restart request");
if (localoffset+3 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+3, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+3, 1,
"Cause : %s", restart_code(pd[localoffset+3]));
if (localoffset+4 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+4, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+4, 1,
"Diagnostic : %d", (int)pd[localoffset+4]);
}
localoffset += x25_pkt_len;
@@ -1693,7 +1693,7 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if(check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, "Restart conf.");
if (x25_tree)
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_RESTART_CONFIRMATION);
localoffset += x25_pkt_len;
break;
@@ -1701,7 +1701,7 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if(check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, "Registration req.");
if (x25_tree)
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_REGISTRATION_REQUEST);
localoffset += 3;
if (localoffset < x25_pkt_len+offset)
@@ -1709,10 +1709,10 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (x25_tree) {
if (localoffset < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset, 1,
"Registration length: %d", pd[localoffset] & 0x7F);
if (localoffset+1 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+1,
pd[localoffset] & 0x7F, "Registration");
}
localoffset = pi.captured_len;
@@ -1721,13 +1721,13 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if(check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, "Registration conf.");
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_type : hf_ex25_type, NullTVB,
localoffset+2, 1, X25_REGISTRATION_CONFIRMATION);
if (localoffset+3 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+3, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+3, 1,
"Cause: %s", registration_code(pd[localoffset+3]));
if (localoffset+4 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+4, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+4, 1,
"Diagnostic: %s", registration_code(pd[localoffset+4]));
}
localoffset += 5;
@@ -1736,10 +1736,10 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
if (x25_tree) {
if (localoffset < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset, 1,
"Registration length: %d", pd[localoffset] & 0x7F);
if (localoffset+1 < x25_pkt_len+offset)
- proto_tree_add_text(x25_tree, localoffset+1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset+1,
pd[localoffset] & 0x7F, "Registration");
}
localoffset = pi.captured_len;
@@ -1763,31 +1763,31 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
(pd[localoffset+1] & 0x01) ? " M" : "");
}
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset-2, 2, pd[localoffset-2]*256+pd[localoffset-1]);
if (modulo == 8) {
- proto_tree_add_item_hidden(x25_tree, hf_x25_type, localoffset, 1,
+ proto_tree_add_item_hidden(x25_tree, hf_x25_type, NullTVB, localoffset, 1,
X25_DATA);
- proto_tree_add_item(x25_tree, hf_x25_p_r, localoffset, 1,
+ proto_tree_add_item(x25_tree, hf_x25_p_r, NullTVB, localoffset, 1,
pd[localoffset]);
if (pd[localoffset] & 0x10)
- proto_tree_add_item(x25_tree, hf_x25_mbit, localoffset, 1,
+ proto_tree_add_item(x25_tree, hf_x25_mbit, NullTVB, localoffset, 1,
pd[localoffset]);
- proto_tree_add_item(x25_tree, hf_x25_p_s, localoffset, 1,
+ proto_tree_add_item(x25_tree, hf_x25_p_s, NullTVB, localoffset, 1,
pd[localoffset]);
- proto_tree_add_text(x25_tree, localoffset, 1,
+ proto_tree_add_text(x25_tree, NullTVB, localoffset, 1,
decode_boolean_bitfield(pd[localoffset], 0x01, 1*8,
NULL, "DATA"));
}
else {
- proto_tree_add_item_hidden(x25_tree, hf_ex25_type, localoffset, 1,
+ proto_tree_add_item_hidden(x25_tree, hf_ex25_type, NullTVB, localoffset, 1,
X25_DATA);
- proto_tree_add_item(x25_tree, hf_x25_p_r, localoffset, 1,
+ proto_tree_add_item(x25_tree, hf_x25_p_r, NullTVB, localoffset, 1,
pd[localoffset]);
- proto_tree_add_item(x25_tree, hf_x25_p_s, localoffset+1, 1,
+ proto_tree_add_item(x25_tree, hf_x25_p_s, NullTVB, localoffset+1, 1,
pd[localoffset+1]);
if (pd[localoffset+1] & 0x01)
- proto_tree_add_item(x25_tree, hf_ex25_mbit, localoffset+1, 1,
+ proto_tree_add_item(x25_tree, hf_ex25_mbit, NullTVB, localoffset+1, 1,
pd[localoffset+1]);
}
}
@@ -1806,16 +1806,16 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
vc, pd[localoffset+1] >> 1);
}
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset-2, 2, pd[localoffset-2]*256+pd[localoffset-1]);
if (modulo == 8) {
- proto_tree_add_item(x25_tree, hf_x25_p_r,
+ proto_tree_add_item(x25_tree, hf_x25_p_r, NullTVB,
localoffset, 1, pd[localoffset]);
- proto_tree_add_item(x25_tree, hf_x25_type, localoffset, 1, X25_RR);
+ proto_tree_add_item(x25_tree, hf_x25_type, NullTVB, localoffset, 1, X25_RR);
}
else {
- proto_tree_add_item(x25_tree, hf_ex25_type, localoffset, 1, X25_RR);
- proto_tree_add_item(x25_tree, hf_ex25_p_r,
+ proto_tree_add_item(x25_tree, hf_ex25_type, NullTVB, localoffset, 1, X25_RR);
+ proto_tree_add_item(x25_tree, hf_ex25_p_r, NullTVB,
localoffset+1, 1, pd[localoffset+1]);
}
}
@@ -1831,16 +1831,16 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
vc, pd[localoffset+1] >> 1);
}
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset-2, 2, pd[localoffset-2]*256+pd[localoffset-1]);
if (modulo == 8) {
- proto_tree_add_item(x25_tree, hf_x25_p_r,
+ proto_tree_add_item(x25_tree, hf_x25_p_r, NullTVB,
localoffset, 1, pd[localoffset]);
- proto_tree_add_item(x25_tree, hf_x25_type, localoffset, 1, X25_RNR);
+ proto_tree_add_item(x25_tree, hf_x25_type, NullTVB, localoffset, 1, X25_RNR);
}
else {
- proto_tree_add_item(x25_tree, hf_ex25_type, localoffset, 1, X25_RNR);
- proto_tree_add_item(x25_tree, hf_ex25_p_r,
+ proto_tree_add_item(x25_tree, hf_ex25_type, NullTVB, localoffset, 1, X25_RNR);
+ proto_tree_add_item(x25_tree, hf_ex25_p_r, NullTVB,
localoffset+1, 1, pd[localoffset+1]);
}
}
@@ -1856,16 +1856,16 @@ dissect_x25(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
vc, pd[localoffset+1] >> 1);
}
if (x25_tree) {
- proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn,
+ proto_tree_add_item(x25_tree, (modulo == 8) ? hf_x25_lcn : hf_ex25_lcn, NullTVB,
localoffset-2, 2, pd[localoffset-2]*256+pd[localoffset-1]);
if (modulo == 8) {
- proto_tree_add_item(x25_tree, hf_x25_p_r,
+ proto_tree_add_item(x25_tree, hf_x25_p_r, NullTVB,
localoffset, 1, pd[localoffset]);
- proto_tree_add_item(x25_tree, hf_x25_type, localoffset, 1, X25_REJ);
+ proto_tree_add_item(x25_tree, hf_x25_type, NullTVB, localoffset, 1, X25_REJ);
}
else {
- proto_tree_add_item(x25_tree, hf_ex25_type, localoffset, 1, X25_REJ);
- proto_tree_add_item(x25_tree, hf_ex25_p_r,
+ proto_tree_add_item(x25_tree, hf_ex25_type, NullTVB, localoffset, 1, X25_REJ);
+ proto_tree_add_item(x25_tree, hf_ex25_p_r, NullTVB,
localoffset+1, 1, pd[localoffset+1]);
}
}
diff --git a/packet-yhoo.c b/packet-yhoo.c
index 5f6361b694..ad291fa3e5 100644
--- a/packet-yhoo.c
+++ b/packet-yhoo.c
@@ -2,7 +2,7 @@
* Routines for yahoo messenger packet dissection
* Copyright 1999, Nathan Neulinger <nneul@umr.edu>
*
- * $Id: packet-yhoo.c,v 1.6 2000/05/05 09:32:06 guy Exp $
+ * $Id: packet-yhoo.c,v 1.7 2000/05/11 08:15:57 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -143,28 +143,28 @@ dissect_yhoo(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
);
if (tree) {
- ti = proto_tree_add_item(tree, proto_yhoo, offset, END_OF_FRAME, NULL);
+ 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,
+ proto_tree_add_item(yhoo_tree, hf_yhoo_version, NullTVB,
offset, 8, pkt->version);
- proto_tree_add_item(yhoo_tree, hf_yhoo_len,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ 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,
+ proto_tree_add_item(yhoo_tree, hf_yhoo_nick1, NullTVB,
offset+32, 36, pkt->nick1);
- proto_tree_add_item(yhoo_tree, hf_yhoo_nick2,
+ proto_tree_add_item(yhoo_tree, hf_yhoo_nick2, NullTVB,
offset+68, 36, pkt->nick2);
- proto_tree_add_item(yhoo_tree, hf_yhoo_content,
+ proto_tree_add_item(yhoo_tree, hf_yhoo_content, NullTVB,
offset+104, END_OF_FRAME, pkt->content);
}
diff --git a/packet-ypserv.c b/packet-ypserv.c
index 7eb209eafa..9f5ad0aa09 100644
--- a/packet-ypserv.c
+++ b/packet-ypserv.c
@@ -1,7 +1,7 @@
/* packet-ypserv.c
* Routines for ypserv dissection
*
- * $Id: packet-ypserv.c,v 1.9 2000/04/04 06:46:29 guy Exp $
+ * $Id: packet-ypserv.c,v 1.10 2000/05/11 08:15:58 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -66,7 +66,7 @@ int dissect_domain_reply(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
- proto_tree_add_item(tree, hf_ypserv_servesdomain,
+ proto_tree_add_item(tree, hf_ypserv_servesdomain, NullTVB,
offset, 4, pntohl(&pd[offset]));
}
@@ -120,7 +120,7 @@ int dissect_match_reply(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
- proto_tree_add_item(tree, hf_ypserv_status,
+ proto_tree_add_item(tree, hf_ypserv_status, NullTVB,
offset, 4, pntohl(&pd[offset]));
offset += 4;
@@ -137,7 +137,7 @@ int dissect_firstnext_reply(const u_char *pd, int offset, frame_data *fd,
if ( tree )
{
- proto_tree_add_item(tree, hf_ypserv_status,
+ proto_tree_add_item(tree, hf_ypserv_status, NullTVB,
offset, 4, pntohl(&pd[offset]));
offset += 4;
diff --git a/packet.c b/packet.c
index 8a6f8a0d73..9945ab7097 100644
--- a/packet.c
+++ b/packet.c
@@ -1,7 +1,7 @@
/* packet.c
* Routines for packet disassembly
*
- * $Id: packet.c,v 1.79 2000/05/05 09:32:07 guy Exp $
+ * $Id: packet.c,v 1.80 2000/05/11 08:15:58 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -90,6 +90,10 @@
#include "resolv.h"
#endif
+#ifndef __TVBUFF_H__
+#include "tvbuff.h"
+#endif
+
#include "plugins.h"
extern capture_file cf;
@@ -1060,12 +1064,15 @@ void blank_packetinfo(void)
pi.ptype = PT_NONE;
pi.srcport = 0;
pi.destport = 0;
+ pi.current_proto = "";
}
/* Do all one-time initialization. */
void
dissect_init(void)
{
+ except_init();
+ tvbuff_init();
proto_init();
dfilter_init();
#ifdef HAVE_PLUGINS
@@ -1076,8 +1083,10 @@ dissect_init(void)
void
dissect_cleanup(void)
{
- proto_cleanup();
dfilter_cleanup();
+ proto_cleanup();
+ tvbuff_cleanup();
+ except_deinit();
}
/* Allow protocols to register "init" routines, which are called before
@@ -1114,10 +1123,11 @@ dissect_packet(const u_char *pd, frame_data *fd, proto_tree *tree)
proto_tree *fh_tree;
proto_item *ti;
struct timeval tv;
+ tvbuff_t *tvb;
/* Put in frame header information. */
if (tree) {
- ti = proto_tree_add_protocol_format(tree, proto_frame, 0, fd->cap_len,
+ ti = proto_tree_add_protocol_format(tree, proto_frame, NullTVB, 0, fd->cap_len,
"Frame %u (%u on wire, %u captured)", fd->num,
fd->pkt_len, fd->cap_len);
@@ -1126,23 +1136,23 @@ dissect_packet(const u_char *pd, frame_data *fd, proto_tree *tree)
tv.tv_sec = fd->abs_secs;
tv.tv_usec = fd->abs_usecs;
- proto_tree_add_item(fh_tree, hf_frame_arrival_time,
+ 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,
+ proto_tree_add_item(fh_tree, hf_frame_time_delta, NullTVB,
0, 0, &tv);
- proto_tree_add_item(fh_tree, hf_frame_number,
+ 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,
+ proto_tree_add_uint_format(fh_tree, hf_frame_packet_len, NullTVB,
0, 0, fd->pkt_len, "Packet Length: %d byte%s", fd->pkt_len,
plurality(fd->pkt_len, "", "s"));
- proto_tree_add_uint_format(fh_tree, hf_frame_capture_len,
+ proto_tree_add_uint_format(fh_tree, hf_frame_capture_len, NullTVB,
0, 0, fd->cap_len, "Capture Length: %d byte%s", fd->cap_len,
plurality(fd->cap_len, "", "s"));
}
@@ -1155,47 +1165,63 @@ dissect_packet(const u_char *pd, frame_data *fd, proto_tree *tree)
pi.len = fd->pkt_len;
pi.captured_len = fd->cap_len;
- switch (fd->lnk_t) {
- case WTAP_ENCAP_ETHERNET :
- dissect_eth(pd, 0, fd, tree);
- break;
- case WTAP_ENCAP_FDDI :
- dissect_fddi(pd, fd, tree, FALSE);
- break;
- case WTAP_ENCAP_FDDI_BITSWAPPED :
- dissect_fddi(pd, fd, tree, TRUE);
- break;
- case WTAP_ENCAP_TR :
- dissect_tr(pd, 0, fd, tree);
- break;
- case WTAP_ENCAP_NULL :
- dissect_null(pd, fd, tree);
- break;
- case WTAP_ENCAP_PPP :
- dissect_ppp(pd, 0, fd, tree);
- break;
- case WTAP_ENCAP_LAPB :
- dissect_lapb(pd, fd, tree);
- break;
- case WTAP_ENCAP_RAW_IP :
- dissect_raw(pd, fd, tree);
- break;
- case WTAP_ENCAP_LINUX_ATM_CLIP :
- dissect_clip(pd, fd, tree);
- break;
- case WTAP_ENCAP_ATM_SNIFFER :
- dissect_atm(pd, fd, tree);
- break;
- case WTAP_ENCAP_ASCEND :
- dissect_ascend(pd, fd, tree);
- break;
- case WTAP_ENCAP_LAPD :
- dissect_lapd(pd, fd, tree);
- break;
- case WTAP_ENCAP_V120 :
- dissect_v120(pd, fd, tree);
- break;
+ tvb = tvb_new_real_data(pd, fd->cap_len);
+ pi.fd = fd;
+ pi.compat_top_tvb = tvb;
+
+ TRY {
+ switch (fd->lnk_t) {
+ case WTAP_ENCAP_ETHERNET :
+ /*dissect_eth(tvb, &pi, tree);*/
+ dissect_eth(pd, 0, fd, tree);
+ break;
+ case WTAP_ENCAP_FDDI :
+ dissect_fddi(tvb, &pi, tree, FALSE);
+ break;
+ case WTAP_ENCAP_FDDI_BITSWAPPED :
+ dissect_fddi(tvb, &pi, tree, TRUE);
+ break;
+ case WTAP_ENCAP_TR :
+ dissect_tr(pd, 0, fd, tree);
+ break;
+ case WTAP_ENCAP_NULL :
+ dissect_null(pd, fd, tree);
+ break;
+ case WTAP_ENCAP_PPP :
+ dissect_ppp(pd, 0, fd, tree);
+ break;
+ case WTAP_ENCAP_LAPB :
+ dissect_lapb(pd, fd, tree);
+ break;
+ case WTAP_ENCAP_RAW_IP :
+ dissect_raw(pd, fd, tree);
+ break;
+ case WTAP_ENCAP_LINUX_ATM_CLIP :
+ dissect_clip(pd, fd, tree);
+ break;
+ case WTAP_ENCAP_ATM_SNIFFER :
+ dissect_atm(pd, fd, tree);
+ break;
+ case WTAP_ENCAP_ASCEND :
+ dissect_ascend(pd, fd, tree);
+ break;
+ case WTAP_ENCAP_LAPD :
+ dissect_lapd(pd, fd, tree);
+ break;
+ case WTAP_ENCAP_V120 :
+ dissect_v120(pd, fd, tree);
+ break;
+ }
+ }
+ CATCH(BoundsError) {
+ proto_tree_add_text(tree, NullTVB, 0, 0, "Short Frame: [%s]", pi.current_proto );
}
+ ENDTRY;
+
+ /* Free all tvb's created from this tvb, unless dissector
+ * wanted to store the pointer (in which case, the dissector
+ * would have incremented the usage count on that tvbuff_t*) */
+ tvb_free_chain(tvb);
fd->flags.visited = 1;
}
diff --git a/packet.h b/packet.h
index 3a8636223c..528b98cabb 100644
--- a/packet.h
+++ b/packet.h
@@ -1,7 +1,7 @@
/* packet.h
* Definitions for packet disassembly structures and routines
*
- * $Id: packet.h,v 1.183 2000/05/05 09:32:09 guy Exp $
+ * $Id: packet.h,v 1.184 2000/05/11 08:15:59 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -35,6 +35,11 @@
#include "proto.h"
#endif
+#ifndef __TVBUFF_H__
+#include "tvbuff.h"
+#endif
+
+
/* Pointer versions of ntohs and ntohl. Given a pointer to a member of a
* byte array, returns the value of the two or four bytes at the pointer.
* The pletoh[sl] versions return the little-endian representation.
@@ -65,7 +70,6 @@
/* Useful when you have an array whose size you can tell at compile-time */
#define array_length(x) (sizeof x / sizeof x[0])
-
/* Useful when highlighting regions inside a dissect_*() function. With this
* macro, you can highlight from an arbitrary offset to the end of the
* packet (which may come before the end of the frame).
@@ -182,6 +186,9 @@ typedef enum {
} port_type;
typedef struct _packet_info {
+ const char *current_proto; /* name of protocol currently being dissected */
+ frame_data *fd;
+ tvbuff_t *compat_top_tvb; /* only needed while converting Ethereal to use tvbuffs */
int len;
int captured_len;
address dl_src; /* link-layer source address */
diff --git a/plugins/gryphon/packet-gryphon.c b/plugins/gryphon/packet-gryphon.c
index 53fb3c8898..725dc6b787 100644
--- a/plugins/gryphon/packet-gryphon.c
+++ b/plugins/gryphon/packet-gryphon.c
@@ -1,7 +1,7 @@
/* packet-gryphon.c
* Routines for Gryphon protocol packet disassembly
*
- * $Id: packet-gryphon.c,v 1.8 2000/03/15 18:38:58 guy Exp $
+ * $Id: packet-gryphon.c,v 1.9 2000/05/11 08:18:09 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Steve Limkemann <stevelim@dgtech.com>
@@ -140,7 +140,7 @@ dissector(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (tree) {
if (fd) {
- ti = proto_tree_add_item(tree, proto_gryphon, offset,
+ ti = proto_tree_add_item(tree, proto_gryphon, NullTVB, offset,
end_of_frame, NULL);
gryphon_tree = proto_item_add_subtree(ti, ett_gryphon);
} else
@@ -152,7 +152,7 @@ dissector(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
frmtyp = data[6];
msglen = pntohs ((unsigned short *)&data[4]);
- header_item = proto_tree_add_text(gryphon_tree, offset,
+ header_item = proto_tree_add_text(gryphon_tree, NullTVB, offset,
MSG_HDR_SZ, "Header");
header_tree = proto_item_add_subtree(header_item,
ett_gryphon_header);
@@ -162,10 +162,10 @@ dissector(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (i >= SIZEOF(src_dest))
i = SIZEOF(src_dest) - 1;
- proto_tree_add_text(header_tree, offset, 2,
+ 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, offset, 1, src);
- proto_tree_add_item_hidden(header_tree, hf_gryph_srcchan, offset+1, 1, 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)
@@ -173,22 +173,22 @@ dissector(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (i >= SIZEOF(src_dest))
i = SIZEOF(src_dest) - 1;
- proto_tree_add_text(header_tree, offset+2, 2,
+ 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, offset+2, 1, dest);
- proto_tree_add_item_hidden(header_tree, hf_gryph_destchan, offset+3, 1, 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, offset+4, 2,
+ proto_tree_add_text(header_tree, NullTVB, offset+4, 2,
"Data length: %d bytes", msglen);
- proto_tree_add_text(header_tree, offset+6, 1,
+ proto_tree_add_text(header_tree, NullTVB, offset+6, 1,
"Frame type: %s", frame_type[frmtyp]);
- proto_tree_add_text(header_tree, offset+7, 1, "reserved");
+ proto_tree_add_text(header_tree, NullTVB, offset+7, 1, "reserved");
- proto_tree_add_item_hidden(header_tree, hf_gryph_type, offset+6, 1, frmtyp);
+ 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;
- body_item = proto_tree_add_text(gryphon_tree, offset + MSG_HDR_SZ,
+ body_item = proto_tree_add_text(gryphon_tree, NullTVB, offset + MSG_HDR_SZ,
msglen + msgpad, "Body");
body_tree = proto_item_add_subtree(body_item, ett_gryphon_body);
@@ -216,12 +216,12 @@ dissector(const u_char *pd, int offset, frame_data *fd, proto_tree *tree)
}
if (data < msgend - msgpad) {
i = msgend - msgpad - data;
- proto_tree_add_text(gryphon_tree, offset, i, "Data");
+ proto_tree_add_text(gryphon_tree, NullTVB, offset, i, "Data");
BUMP (offset, data, i);
}
if (data < msgend) {
i = msgend - data;
- proto_tree_add_text(gryphon_tree, offset, i, "padding");
+ proto_tree_add_text(gryphon_tree, NullTVB, offset, i, "padding");
BUMP (offset, data, i);
}
/* data = dataend;*/
@@ -446,7 +446,7 @@ decode_command (int dst, const u_char **data, const u_char *dataend, int *offset
proto_item *ti;
cmd = (*data)[0];
- proto_tree_add_item_hidden(pt, hf_gryph_cmd, *offset, 1, cmd);
+ proto_tree_add_item_hidden(pt, hf_gryph_cmd, NullTVB, *offset, 1, cmd);
if (cmd > 0x3F)
cmd += dst * 256;
@@ -464,11 +464,11 @@ decode_command (int dst, const u_char **data, const u_char *dataend, int *offset
if (i >= SIZEOF(cmds))
i = SIZEOF(cmds) - 1;
- proto_tree_add_text (pt, *offset, 4, "Command: %s", cmds[i].strptr);
+ proto_tree_add_text (pt, NullTVB, *offset, 4, "Command: %s", cmds[i].strptr);
BUMP (*offset, *data, 4);
if (cmds[i].cmd_fnct && dataend - *data) {
- ti = proto_tree_add_text(pt, *offset, dataend - *data, "Data: (%d bytes)", dataend - *data);
+ ti = proto_tree_add_text(pt, NullTVB, *offset, dataend - *data, "Data: (%d bytes)", dataend - *data);
ft = proto_item_add_subtree(ti, ett_gryphon_command_data);
(*(cmds[i].cmd_fnct)) (dst, data, dataend, offset, msglen, ft);
}
@@ -498,7 +498,7 @@ decode_response (int src, const u_char **data, const u_char *dataend, int *offse
}
if (i >= SIZEOF(cmds))
i = SIZEOF(cmds) - 1;
- proto_tree_add_text (pt, *offset, 4, "Command: %s", cmds[i].strptr);
+ proto_tree_add_text (pt, NullTVB, *offset, 4, "Command: %s", cmds[i].strptr);
BUMP (*offset, *data, 4);
resp = pntohl ((unsigned long *)data[0]);
@@ -508,11 +508,11 @@ decode_response (int src, const u_char **data, const u_char *dataend, int *offse
}
if (j >= SIZEOF(responses))
j = SIZEOF(responses) - 1;
- proto_tree_add_text (pt, *offset, 4, "Status: %s", responses[j].strptr);
+ proto_tree_add_text (pt, NullTVB, *offset, 4, "Status: %s", responses[j].strptr);
BUMP (*offset, *data, 4);
if (cmds[i].rsp_fnct) {
- ti = proto_tree_add_text(pt, *offset, dataend - *data, "Data: (%d bytes)", dataend - *data);
+ ti = proto_tree_add_text(pt, NullTVB, *offset, dataend - *data, "Data: (%d bytes)", dataend - *data);
ft = proto_item_add_subtree(ti, ett_gryphon_response_data);
(*(cmds[i].rsp_fnct)) (src, data, dataend, offset, msglen, ft);
}
@@ -534,53 +534,53 @@ decode_data (int src, const u_char **data, const u_char *dataend, int *offset, i
padding = 3 - (hdrsize + datasize + extrasize + 3) % 4;
msgsize = hdrsize + datasize + extrasize + padding + 16;
- item = proto_tree_add_text(pt, *offset, 16, "Message header");
+ item = proto_tree_add_text(pt, NullTVB, *offset, 16, "Message header");
tree = proto_item_add_subtree (item, ett_gryphon_data_header);
- proto_tree_add_text(tree, *offset, 2, "Header length: %d bytes, %d bits", hdrsize, hdrbits);
- proto_tree_add_text(tree, *offset+2, 2, "Data length: %d bytes", datasize);
- proto_tree_add_text(tree, *offset+4, 1, "Extra data length: %d bytes", extrasize);
+ proto_tree_add_text(tree, NullTVB, *offset, 2, "Header length: %d bytes, %d bits", hdrsize, hdrbits);
+ proto_tree_add_text(tree, NullTVB, *offset+2, 2, "Data length: %d bytes", datasize);
+ proto_tree_add_text(tree, NullTVB, *offset+4, 1, "Extra data length: %d bytes", extrasize);
mode = (*data)[5];
- item1 = proto_tree_add_text(tree, *offset+5, 1, "Mode: %hd", mode);
+ item1 = proto_tree_add_text(tree, NullTVB, *offset+5, 1, "Mode: %hd", mode);
if (mode) {
tree1 = proto_item_add_subtree (item1, ett_gryphon_flags);
if (mode & 0x80)
- proto_tree_add_text(tree1, *offset+5, 1, "1... .... = Transmitted message");
+ proto_tree_add_text(tree1, NullTVB, *offset+5, 1, "1... .... = Transmitted message");
if (mode & 0x40)
- proto_tree_add_text(tree1, *offset+5, 1, ".1.. .... = Received message");
+ proto_tree_add_text(tree1, NullTVB, *offset+5, 1, ".1.. .... = Received message");
if (mode & 0x20)
- proto_tree_add_text(tree1, *offset+5, 1, "..1. .... = Local message");
+ proto_tree_add_text(tree1, NullTVB, *offset+5, 1, "..1. .... = Local message");
if (mode & 0x10)
- proto_tree_add_text(tree1, *offset+5, 1, "...1 .... = Remote message");
+ proto_tree_add_text(tree1, NullTVB, *offset+5, 1, "...1 .... = Remote message");
if (mode & 0x01)
- proto_tree_add_text(tree1, *offset+5, 1, ".... ...1 = Internal message");
+ proto_tree_add_text(tree1, NullTVB, *offset+5, 1, ".... ...1 = Internal message");
}
- proto_tree_add_text(tree, *offset+6, 1, "Priority: %d", (*data)[6]);
- proto_tree_add_text(tree, *offset+7, 1, "Error status: %hd", (*data)[7]);
+ proto_tree_add_text(tree, NullTVB, *offset+6, 1, "Priority: %d", (*data)[6]);
+ proto_tree_add_text(tree, NullTVB, *offset+7, 1, "Error status: %hd", (*data)[7]);
timestamp = pntohl ((unsigned long *)((*data)+8));
hours = timestamp /(100000 * 60 *60);
minutes = (timestamp / (100000 * 60)) % 60;
seconds = (timestamp / 100000) % 60;
fraction = timestamp % 100000;
- proto_tree_add_text(tree, *offset+8, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
- proto_tree_add_text(tree, *offset+12, 1, "Context: %hd", (*data)[12]);
- proto_tree_add_text(tree, *offset+13, 3, "reserved:");
+ proto_tree_add_text(tree, NullTVB, *offset+8, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
+ proto_tree_add_text(tree, NullTVB, *offset+12, 1, "Context: %hd", (*data)[12]);
+ proto_tree_add_text(tree, NullTVB, *offset+13, 3, "reserved:");
BUMP (*offset, *data, 16);
- item = proto_tree_add_text(pt, *offset, msgsize-16-padding, "Message Body");
+ item = proto_tree_add_text(pt, NullTVB, *offset, msgsize-16-padding, "Message Body");
tree = proto_item_add_subtree (item, ett_gryphon_data_body);
if (hdrsize) {
- proto_tree_add_text(tree, *offset, hdrsize, "Header");
+ proto_tree_add_text(tree, NullTVB, *offset, hdrsize, "Header");
BUMP (*offset, *data, hdrsize);
}
if (datasize) {
- proto_tree_add_text(tree, *offset, datasize, "Data");
+ proto_tree_add_text(tree, NullTVB, *offset, datasize, "Data");
BUMP (*offset, *data, datasize);
}
if (extrasize) {
- proto_tree_add_text(tree, *offset, extrasize, "Extra data");
+ proto_tree_add_text(tree, NullTVB, *offset, extrasize, "Extra data");
BUMP (*offset, *data, extrasize);
}
if (padding) {
- proto_tree_add_text(pt, *offset, padding, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset, padding, "padding");
BUMP (*offset, *data, padding);
}
}
@@ -594,24 +594,24 @@ decode_event (int src, const u_char **data, const u_char *dataend, int *offset,
padding = 3 - (msglen + 3) % 4;
msgend = *data + msglen;
- proto_tree_add_text(pt, *offset, 1, "Event ID: %hd", **data);
- proto_tree_add_text(pt, *offset+1, 1, "Event context: %hd", *((*data)+1));
- proto_tree_add_text(pt, *offset+2, 2, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Event ID: %hd", **data);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 1, "Event context: %hd", *((*data)+1));
+ proto_tree_add_text(pt, NullTVB, *offset+2, 2, "reserved");
BUMP (*offset, *data, 4);
timestamp = pntohl ((unsigned long *)(*data));
hours = timestamp /(100000 * 60 *60);
minutes = (timestamp / (100000 * 60)) % 60;
seconds = (timestamp / 100000) % 60;
fraction = timestamp % 100000;
- proto_tree_add_text(pt, *offset, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
BUMP (*offset, *data, 4);
if (*data < msgend) {
length = msgend - *data;
- proto_tree_add_text (pt, *offset, length, "Data (%d bytes)", length);
+ proto_tree_add_text (pt, NullTVB, *offset, length, "Data (%d bytes)", length);
BUMP (*offset, *data, length);
}
if (padding) {
- proto_tree_add_text (pt, *offset, padding, "padding");
+ proto_tree_add_text (pt, NullTVB, *offset, padding, "padding");
BUMP (*offset, *data, padding);
}
}
@@ -627,8 +627,8 @@ cmd_init (int src, const u_char **data, const u_char *dataend, int *offset, int
ptr = "Always initialize";
else
ptr = "Initialize if not previously initialized";
- proto_tree_add_text(pt, *offset, 1, "Mode: %s", ptr);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Mode: %s", ptr);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
@@ -638,10 +638,10 @@ eventnum (int src, const u_char **data, const u_char *dataend, int *offset, int
unsigned char event = **data;
if (event)
- proto_tree_add_text(pt, *offset, 1, "Event number: %hd", event);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Event number: %hd", event);
else
- proto_tree_add_text(pt, *offset, 1, "Event numbers: All");
- proto_tree_add_text(pt, *offset+1, 3, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Event numbers: All");
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "padding");
BUMP (*offset, *data, 4);
}
@@ -661,13 +661,13 @@ resp_time (int src, const u_char **data, const u_char *dataend, int *offset, int
timestamp = ts.lnglng / 100000L;
strncpy (date, ctime((time_t*)&timestamp), sizeof(date));
date[strlen(date)-1] = 0x00;
- proto_tree_add_text(pt, *offset, 8, "Date/Time: %s", date);
+ proto_tree_add_text(pt, NullTVB, *offset, 8, "Date/Time: %s", date);
timestamp = ts.lng[0];
hours = timestamp /(100000 * 60 *60);
minutes = (timestamp / (100000 * 60)) % 60;
seconds = (timestamp / 100000) % 60;
fraction = timestamp % 100000;
- proto_tree_add_text(pt, *offset+4, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
+ proto_tree_add_text(pt, NullTVB, *offset+4, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
BUMP (*offset, *data, 8);
}
@@ -685,16 +685,16 @@ cmd_setfilt (int src, const u_char **data, const u_char *dataend, int *offset, i
strcpy (mode, "Block");
if (length == 0)
strcat (mode, " all");
- proto_tree_add_text(pt, *offset, 4, "Pass/Block flag: %s", mode);
- proto_tree_add_text(pt, *offset+4, 4, "Length of Pattern & Mask: %d", length);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Pass/Block flag: %s", mode);
+ proto_tree_add_text(pt, NullTVB, *offset+4, 4, "Length of Pattern & Mask: %d", length);
BUMP (*offset, *data, 8);
if (length) {
- proto_tree_add_text(pt, *offset, length * 2, "discarded data");
+ proto_tree_add_text(pt, NullTVB, *offset, length * 2, "discarded data");
BUMP (*offset, *data, length * 2);
}
padding = 3 - (length * 2 + 3) % 4;
if (padding) {
- proto_tree_add_text(pt, *offset+1, 3, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "padding");
BUMP (*offset, *data, padding);
}
}
@@ -712,9 +712,9 @@ cmd_ioctl (int src, const u_char **data, const u_char *dataend, int *offset, int
}
if (i >= SIZEOF(ioctls))
i = SIZEOF(ioctls) - 1;
- proto_tree_add_text(pt, *offset, 4, "IOCTL: %s", ioctls[i].strptr);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "IOCTL: %s", ioctls[i].strptr);
BUMP (*offset, *data, 4);
- proto_tree_add_text(pt, *offset, dataend - *data, "Data");
+ proto_tree_add_text(pt, NullTVB, *offset, dataend - *data, "Data");
BUMP (*offset, *data, dataend - *data);
}
@@ -730,27 +730,27 @@ cmd_addfilt (int src, const u_char **data, const u_char *dataend, int *offset, i
char active[] = ".... ..1. = The filter is active";
char inactive[] = ".... ..0. = The filter is inactive";
- item = proto_tree_add_text(pt, *offset, 1, "Flags");
+ item = proto_tree_add_text(pt, NullTVB, *offset, 1, "Flags");
tree = proto_item_add_subtree (item, ett_gryphon_flags);
if (**data & FILTER_PASS_FLAG)
ptr = pass;
else
ptr = block;
- proto_tree_add_text(tree, *offset, 1, ptr);
+ proto_tree_add_text(tree, NullTVB, *offset, 1, ptr);
if (**data & FILTER_ACTIVE_FLAG)
ptr = active;
else
ptr = inactive;
- proto_tree_add_text(tree, *offset, 1, ptr);
+ proto_tree_add_text(tree, NullTVB, *offset, 1, ptr);
BUMP (*offset, *data, 1);
blocks = **data;
- proto_tree_add_text(pt, *offset, 1, "Number of filter blocks = %d", blocks);
- proto_tree_add_text(pt, *offset+1, 6, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of filter blocks = %d", blocks);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 6, "reserved");
BUMP (*offset, *data, 7);
for (i = 1; i <= blocks; i++) {
length = pntohs ((unsigned short *)((*data)+2)) * 2 + 8;
length += 3 - (length + 3) % 4;
- item = proto_tree_add_text(pt, *offset, length, "Filter block %d", i);
+ item = proto_tree_add_text(pt, NullTVB, *offset, length, "Filter block %d", i);
tree = proto_item_add_subtree (item, ett_gryphon_cmd_filter_block);
filter_block (src, data, dataend, offset, msglen, tree);
}
@@ -759,8 +759,8 @@ cmd_addfilt (int src, const u_char **data, const u_char *dataend, int *offset, i
void
resp_addfilt (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt)
{
- proto_tree_add_text(pt, *offset, 1, "Filter handle: %hd", **data);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Filter handle: %hd", **data);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
@@ -771,9 +771,9 @@ cmd_modfilt (int src, const u_char **data, const u_char *dataend, int *offset, i
int i;
if (**data)
- proto_tree_add_text(pt, *offset, 1, "Filter handle: %hd", **data);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Filter handle: %hd", **data);
else
- proto_tree_add_text(pt, *offset, 1, "Filter handles: all");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Filter handles: all");
action = *((*data) + 1);
for (i = 0; i < SIZEOF(filtacts); i++) {
if (filtacts[i].value == action)
@@ -781,8 +781,8 @@ cmd_modfilt (int src, const u_char **data, const u_char *dataend, int *offset, i
}
if (i >= SIZEOF(filtacts))
i = SIZEOF(filtacts) - 1;
- proto_tree_add_text(pt, *offset+1, 1, "Action: %s filter", filtacts[i].strptr);
- proto_tree_add_text(pt, *offset+2, 2, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset+1, 1, "Action: %s filter", filtacts[i].strptr);
+ proto_tree_add_text(pt, NullTVB, *offset+2, 2, "reserved");
BUMP (*offset, *data, 4);
}
@@ -792,13 +792,13 @@ resp_filthan (int src, const u_char **data, const u_char *dataend, int *offset,
int handles = **data;
int i, padding;
- proto_tree_add_text(pt, *offset, 1, "Number of filter handles: %d", handles);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of filter handles: %d", handles);
for (i = 1; i <= handles; i++){
- proto_tree_add_text(pt, *offset+i, 1, "Handle %d: %hd", i, *(*data+i));
+ proto_tree_add_text(pt, NullTVB, *offset+i, 1, "Handle %d: %hd", i, *(*data+i));
}
padding = 3 - (handles + 1 + 3) % 4;
if (padding)
- proto_tree_add_text(pt, *offset+1+handles, padding, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset+1+handles, padding, "padding");
BUMP (*offset, *data, 1+handles+padding);
}
@@ -814,8 +814,8 @@ dfiltmode (int src, const u_char **data, const u_char *dataend, int *offset, int
}
if (i >= SIZEOF(dmodes))
i = SIZEOF(dmodes) - 1;
- proto_tree_add_text(pt, *offset, 1, "Filter mode: %s", dmodes[i].strptr);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Filter mode: %s", dmodes[i].strptr);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
@@ -831,8 +831,8 @@ filtmode (int src, const u_char **data, const u_char *dataend, int *offset, int
}
if (i >= SIZEOF(modes))
i = SIZEOF(modes) - 1;
- proto_tree_add_text(pt, *offset, 1, "Filter mode: %s", modes[i].strptr);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Filter mode: %s", modes[i].strptr);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
@@ -844,10 +844,10 @@ resp_events (int src, const u_char **data, const u_char *dataend, int *offset, i
i = 1;
while (*data < dataend) {
- item = proto_tree_add_text(pt, *offset, 20, "Event %d:", i);
+ item = proto_tree_add_text(pt, NullTVB, *offset, 20, "Event %d:", i);
tree = proto_item_add_subtree (item, ett_gryphon_cmd_events_data);
- proto_tree_add_text(tree, *offset, 1, "Event ID: %hd", **data);
- proto_tree_add_text(tree, *offset+1, 19, "Event name: %s", (*data)+1);
+ proto_tree_add_text(tree, NullTVB, *offset, 1, "Event ID: %hd", **data);
+ proto_tree_add_text(tree, NullTVB, *offset+1, 19, "Event name: %s", (*data)+1);
BUMP (*offset, *data, 20);
i++;
}
@@ -859,19 +859,19 @@ cmd_register (int src, const u_char **data, const u_char *dataend, int *offset,
char string[33];
MEMCPY (string, *data, 16);
- proto_tree_add_text(pt, *offset, 16, "Username: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 16, "Username: %s", string);
BUMP (*offset, *data, 16);
MEMCPY (string, *data, 32);
- proto_tree_add_text(pt, *offset, 32, "Password: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 32, "Password: %s", string);
BUMP (*offset, *data, 32);
}
void
resp_register (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) {
- proto_tree_add_text(pt, *offset, 1, "Client ID: %hd", (*data)[0]);
- proto_tree_add_text(pt, *offset+1, 1, "Privileges: %hd", (*data)[1]);
- proto_tree_add_text(pt, *offset+2, 2, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Client ID: %hd", (*data)[0]);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 1, "Privileges: %hd", (*data)[1]);
+ proto_tree_add_text(pt, NullTVB, *offset+2, 2, "reserved");
BUMP (*offset, *data, 4);
}
@@ -902,38 +902,38 @@ resp_config (int src, const u_char **data, const u_char *dataend, int *offset, i
MEMCPY (string, *data, 20);
- proto_tree_add_text(pt, *offset, 20, "Device name: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 20, "Device name: %s", string);
BUMP (*offset, *data, 20);
MEMCPY (string, *data, 8);
- proto_tree_add_text(pt, *offset, 8, "Device version: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 8, "Device version: %s", string);
BUMP (*offset, *data, 8);
MEMCPY (string, *data, 20);
- proto_tree_add_text(pt, *offset, 20, "Device serial number: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 20, "Device serial number: %s", string);
BUMP (*offset, *data, 20);
devices = **data;
- proto_tree_add_text(pt, *offset, 1, "Number of channels: %d", devices);
- proto_tree_add_text(pt, *offset+1, 15, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of channels: %d", devices);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 15, "reserved");
BUMP (*offset, *data, 16);
for (i = 1; i <= devices; i++) {
- ti = proto_tree_add_text(pt, *offset, 80, "Channel %d:", i);
+ ti = proto_tree_add_text(pt, NullTVB, *offset, 80, "Channel %d:", i);
ft = proto_item_add_subtree(ti, ett_gryphon_cmd_config_device);
MEMCPY (string, *data, 20);
- proto_tree_add_text(ft, *offset, 20, "Driver name: %s", string);
+ proto_tree_add_text(ft, NullTVB, *offset, 20, "Driver name: %s", string);
BUMP (*offset, *data, 20);
MEMCPY (string, *data, 8);
- proto_tree_add_text(ft, *offset, 8, "Driver version: %s", string);
+ proto_tree_add_text(ft, NullTVB, *offset, 8, "Driver version: %s", string);
BUMP (*offset, *data, 8);
MEMCPY (string, *data, 24);
- proto_tree_add_text(ft, *offset, 24, "device security string: %s", string);
+ proto_tree_add_text(ft, NullTVB, *offset, 24, "device security string: %s", string);
BUMP (*offset, *data, 24);
MEMCPY (string, *data, 20);
- proto_tree_add_text(ft, *offset, 20, "Hardware serial number: %s", string);
+ proto_tree_add_text(ft, NullTVB, *offset, 20, "Hardware serial number: %s", string);
BUMP (*offset, *data, 20);
x = pntohs ((unsigned short *)*data);
@@ -943,11 +943,11 @@ resp_config (int src, const u_char **data, const u_char *dataend, int *offset, i
}
if (j >= SIZEOF(protocol_types))
j = SIZEOF(protocol_types) -1;
- proto_tree_add_text(ft, *offset, 2, "Protocol type & subtype: %s", protocol_types[j].strptr);
+ proto_tree_add_text(ft, NullTVB, *offset, 2, "Protocol type & subtype: %s", protocol_types[j].strptr);
BUMP (*offset, *data, 2);
- proto_tree_add_text(ft, *offset, 1, "Channel ID: %hd", **data);
- proto_tree_add_text(ft, *offset+1, 5, "reserved");
+ proto_tree_add_text(ft, NullTVB, *offset, 1, "Channel ID: %hd", **data);
+ proto_tree_add_text(ft, NullTVB, *offset+1, 5, "reserved");
BUMP (*offset, *data, 6);
}
}
@@ -965,39 +965,39 @@ cmd_sched (int src, const u_char **data, const u_char *dataend, int *offset, int
x = pntohl ((unsigned int *)*data);
if (x == 0xFFFFFFFF)
- proto_tree_add_text(pt, *offset, 4, "Number of iterations: infinite");
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Number of iterations: infinite");
else
- proto_tree_add_text(pt, *offset, 4, "Number of iterations: %d", x);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Number of iterations: %d", x);
BUMP (*offset, *data, 4);
x = pntohl ((unsigned int *)*data);
- item = proto_tree_add_text(pt, *offset, 4, "Flags");
+ item = proto_tree_add_text(pt, NullTVB, *offset, 4, "Flags");
tree = proto_item_add_subtree (item, ett_gryphon_flags);
ptr = x & 1 ? crit : norm;
- proto_tree_add_text(tree, *offset, 4, ptr, NULL);
+ proto_tree_add_text(tree, NullTVB, *offset, 4, ptr, NULL);
BUMP (*offset, *data, 4);
i = 1;
while (*data < dataend) {
length = 16 + (*data)[16] + pntohs ((unsigned short *)((*data)+18)) + (*data)[20] + 16;
length += 3 - (length + 3) % 4;
- item = proto_tree_add_text(pt, *offset, length, "Message %d", i);
+ item = proto_tree_add_text(pt, NullTVB, *offset, length, "Message %d", i);
tree = proto_item_add_subtree (item, ett_gryphon_cmd_sched_data);
x = pntohl ((unsigned int *)*data);
- proto_tree_add_text(tree, *offset, 4, "Sleep: %d milliseconds", x);
+ proto_tree_add_text(tree, NullTVB, *offset, 4, "Sleep: %d milliseconds", x);
BUMP (*offset, *data, 4);
x = pntohl ((unsigned int *)*data);
- proto_tree_add_text(tree, *offset, 4, "Transmit count: %d", x);
+ proto_tree_add_text(tree, NullTVB, *offset, 4, "Transmit count: %d", x);
BUMP (*offset, *data, 4);
x = pntohl ((unsigned int *)*data);
- proto_tree_add_text(tree, *offset, 4, "Transmit period: %d milliseconds", x);
+ proto_tree_add_text(tree, NullTVB, *offset, 4, "Transmit period: %d milliseconds", x);
BUMP (*offset, *data, 4);
- proto_tree_add_text(tree, *offset, 2, "reserved flags");
+ proto_tree_add_text(tree, NullTVB, *offset, 2, "reserved flags");
x = *((*data)+2);
if (x == 0)
x = def_chan;
- proto_tree_add_text(tree, *offset+2, 1, "Channel: %d", x);
- proto_tree_add_text(tree, *offset+3, 1, "reserved");
+ proto_tree_add_text(tree, NullTVB, *offset+2, 1, "Channel: %d", x);
+ proto_tree_add_text(tree, NullTVB, *offset+3, 1, "reserved");
BUMP (*offset, *data, 4);
- item1 = proto_tree_add_text(tree, *offset, length, "Message");
+ item1 = proto_tree_add_text(tree, NullTVB, *offset, length, "Message");
tree1 = proto_item_add_subtree (item1, ett_gryphon_cmd_sched_cmd);
decode_data (src, data, dataend, offset, msglen, tree1);
i++;
@@ -1021,13 +1021,13 @@ resp_blm_data (int src, const u_char **data, const u_char *dataend, int *offset,
minutes = (timestamp / (100000 * 60)) % 60;
seconds = (timestamp / 100000) % 60;
fraction = timestamp % 100000;
- proto_tree_add_text(pt, *offset, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Timestamp: %d:%02d:%02d.%05d", hours, minutes, seconds, fraction);
BUMP (*offset, *data, 4);
for (i = 0; i < SIZEOF(fields); i++){
x = pntohs ((unsigned short *)(*data));
fract = x % 100;
x /= 100;
- proto_tree_add_text(pt, *offset, 2, fields[i], x, fract);
+ proto_tree_add_text(pt, NullTVB, *offset, 2, fields[i], x, fract);
BUMP (*offset, *data, 2);
}
}
@@ -1048,7 +1048,7 @@ resp_blm_stat (int src, const u_char **data, const u_char *dataend, int *offset,
resp_blm_data (src, data, dataend, offset, msglen, pt);
for (i = 0; i < SIZEOF(fields); i++){
x = pntohl ((unsigned int *)(*data));
- proto_tree_add_text(pt, *offset, 4, fields[i], x);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, fields[i], x);
BUMP (*offset, *data, 4);
}
}
@@ -1065,22 +1065,22 @@ cmd_addresp (int src, const u_char **data, const u_char *dataend, int *offset, i
char inactive[] = ".... ..0. = The response is inactive";
actionType = 0;
- item = proto_tree_add_text(pt, *offset, 1, "Flags");
+ item = proto_tree_add_text(pt, NullTVB, *offset, 1, "Flags");
tree = proto_item_add_subtree (item, ett_gryphon_flags);
if (**data & FILTER_ACTIVE_FLAG)
ptr = active;
else
ptr = inactive;
- proto_tree_add_text(tree, *offset, 1, ptr, NULL);
+ proto_tree_add_text(tree, NullTVB, *offset, 1, ptr, NULL);
BUMP (*offset, *data, 1);
blocks = **data;
- proto_tree_add_text(pt, *offset, 1, "Number of filter blocks = %d", blocks);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of filter blocks = %d", blocks);
BUMP (*offset, *data, 1);
responses = **data;
- proto_tree_add_text(pt, *offset, 1, "Number of response blocks = %d", responses);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of response blocks = %d", responses);
BUMP (*offset, *data, 1);
old_handle = **data;
- proto_tree_add_text(pt, *offset, 1, "Old handle = %d", old_handle);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Old handle = %d", old_handle);
BUMP (*offset, *data, 1);
action = **data;
switch (action & 7) {
@@ -1096,22 +1096,22 @@ cmd_addresp (int src, const u_char **data, const u_char *dataend, int *offset, i
default:
ptr = "- unknown -";
}
- item = proto_tree_add_text(pt, *offset, 1, "Action = %s", ptr);
+ item = proto_tree_add_text(pt, NullTVB, *offset, 1, "Action = %s", ptr);
tree = proto_item_add_subtree (item, ett_gryphon_flags);
if (action & FR_DEACT_AFTER_PER && !(action & FR_DELETE)){
- proto_tree_add_text(tree, *offset, 1,
+ proto_tree_add_text(tree, NullTVB, *offset, 1,
"1.0. .... Deactivate this response after the specified period following a conforming message");
}
if (action & FR_DEACT_ON_EVENT && !(action & FR_DELETE)){
- proto_tree_add_text(tree, *offset, 1,
+ proto_tree_add_text(tree, NullTVB, *offset, 1,
".10. .... Deactivate this response for a conforming message");
}
if (action & FR_DEACT_AFTER_PER && action & FR_DELETE){
- proto_tree_add_text(tree, *offset, 1,
+ proto_tree_add_text(tree, NullTVB, *offset, 1,
"1.1. .... Delete this response after the specified period following a conforming message");
}
if (action & FR_DEACT_ON_EVENT && action & FR_DELETE){
- proto_tree_add_text(tree, *offset, 1,
+ proto_tree_add_text(tree, NullTVB, *offset, 1,
".11. .... Delete this response for a conforming message");
}
actionValue = pntohs ((unsigned short *)((*data)+2));
@@ -1123,30 +1123,30 @@ cmd_addresp (int src, const u_char **data, const u_char *dataend, int *offset, i
ptr = "...0 .... The period is in 0.01 seconds";
actionType = 0;
}
- proto_tree_add_text(tree, *offset, 1, ptr, NULL);
+ proto_tree_add_text(tree, NullTVB, *offset, 1, ptr, NULL);
}
BUMP (*offset, *data, 1);
- proto_tree_add_text(pt, *offset, 1, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "reserved");
BUMP (*offset, *data, 1);
if (actionValue) {
if (actionType == 1) {
- proto_tree_add_text(tree, *offset, 2, "Period: %d messages", actionValue);
+ proto_tree_add_text(tree, NullTVB, *offset, 2, "Period: %d messages", actionValue);
} else {
- proto_tree_add_text(tree, *offset, 2, "Period: %d.%02d seconds", actionValue/100, actionValue%100);
+ proto_tree_add_text(tree, NullTVB, *offset, 2, "Period: %d.%02d seconds", actionValue/100, actionValue%100);
}
}
BUMP (*offset, *data, 2);
for (i = 1; i <= blocks; i++) {
length = pntohs ((unsigned short *)((*data)+2)) * 2 + 8;
length += 3 - (length + 3) % 4;
- item = proto_tree_add_text(pt, *offset, length, "Filter block %d", i);
+ item = proto_tree_add_text(pt, NullTVB, *offset, length, "Filter block %d", i);
tree = proto_item_add_subtree (item, ett_gryphon_cmd_filter_block);
filter_block (src, data, dataend, offset, msglen, tree);
}
for (i = 1; i <= responses; i++) {
length = pntohs ((unsigned short *)((*data)+4)) + 8;
length += 3 - (length + 3) % 4;
- item = proto_tree_add_text(pt, *offset, length, "Response block %d", i);
+ item = proto_tree_add_text(pt, NullTVB, *offset, length, "Response block %d", i);
tree = proto_item_add_subtree (item, ett_gryphon_cmd_response_block);
dissector((*data)-*offset, *offset, NULL, tree);
BUMP (*offset, *data, length);
@@ -1157,8 +1157,8 @@ void
resp_addresp (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt)
{
if (*data < dataend) {
- proto_tree_add_text(pt, *offset, 1, "Response handle: %hd", **data);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Response handle: %hd", **data);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
}
@@ -1171,11 +1171,11 @@ cmd_modresp (int src, const u_char **data, const u_char *dataend, int *offset, i
int i;
if (**data)
- proto_tree_add_text(pt, *offset, 1, "Response handle: %hd", **data);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Response handle: %hd", **data);
else if (dest)
- proto_tree_add_text(pt, *offset, 1, "Response handles: all on channel %hd", dest);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Response handles: all on channel %hd", dest);
else
- proto_tree_add_text(pt, *offset, 1, "Response handles: all");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Response handles: all");
action = *((*data) + 1);
for (i = 0; i < SIZEOF(filtacts); i++) {
if (filtacts[i].value == action)
@@ -1183,8 +1183,8 @@ cmd_modresp (int src, const u_char **data, const u_char *dataend, int *offset, i
}
if (i >= SIZEOF(filtacts))
i = SIZEOF(filtacts) - 1;
- proto_tree_add_text(pt, *offset+1, 1, "Action: %s response", filtacts[i].strptr);
- proto_tree_add_text(pt, *offset+2, 2, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset+1, 1, "Action: %s response", filtacts[i].strptr);
+ proto_tree_add_text(pt, NullTVB, *offset+2, 2, "reserved");
BUMP (*offset, *data, 4);
}
@@ -1194,13 +1194,13 @@ resp_resphan (int src, const u_char **data, const u_char *dataend, int *offset,
int handles = **data;
int i, padding;
- proto_tree_add_text(pt, *offset, 1, "Number of response handles: %d", handles);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of response handles: %d", handles);
for (i = 1; i <= handles; i++){
- proto_tree_add_text(pt, *offset+i, 1, "Handle %d: %hd", i, *(*data+i));
+ proto_tree_add_text(pt, NullTVB, *offset+i, 1, "Handle %d: %hd", i, *(*data+i));
}
padding = 3 - (handles + 1 + 3) % 4;
if (padding)
- proto_tree_add_text(pt, *offset+1+handles, padding, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset+1+handles, padding, "padding");
BUMP (*offset, *data, 1+handles+padding);
}
@@ -1208,7 +1208,7 @@ void
resp_sched (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt)
{
unsigned int id = pntohl ((unsigned int *)(*data));
- proto_tree_add_text(pt, *offset, 4, "Transmit schedule ID: %d", id);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Transmit schedule ID: %d", id);
BUMP (*offset, *data, 4);
}
@@ -1217,15 +1217,15 @@ cmd_desc (int src, const u_char **data, const u_char *dataend, int *offset, int
{
u_char string[81];
- proto_tree_add_text(pt, *offset, 4, "Program size: %d bytes", pntohl ((unsigned int *)(*data)));
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Program size: %d bytes", pntohl ((unsigned int *)(*data)));
BUMP (*offset, *data, 4);
strncpy (string, *data, 32);
string[32] = 0;
- proto_tree_add_text(pt, *offset, 32, "Program name: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 32, "Program name: %s", string);
BUMP (*offset, *data, 32);
strncpy (string, *data, 80);
string[80] = 0;
- proto_tree_add_text(pt, *offset, 80, "Program description: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 80, "Program description: %s", string);
BUMP (*offset, *data, 80);
}
@@ -1238,15 +1238,15 @@ resp_desc (int src, const u_char **data, const u_char *dataend, int *offset, int
char missing[] = ".... ...0 = The program is not present";
char present[] = ".... ...1 = The program is already present";
- item = proto_tree_add_text(pt, *offset, 1, "Flags");
+ item = proto_tree_add_text(pt, NullTVB, *offset, 1, "Flags");
tree = proto_item_add_subtree (item, ett_gryphon_flags);
if (**data & 1)
ptr = present;
else
ptr = missing;
- proto_tree_add_text(tree, *offset, 1, ptr);
- proto_tree_add_text(pt, *offset+1, 1, "Handle: %hd", (*data)[1]);
- proto_tree_add_text(pt, *offset+2, 2, "reserved");
+ proto_tree_add_text(tree, NullTVB, *offset, 1, ptr);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 1, "Handle: %hd", (*data)[1]);
+ proto_tree_add_text(pt, NullTVB, *offset+2, 2, "reserved");
BUMP (*offset, *data, 4);
}
@@ -1254,16 +1254,16 @@ void
cmd_upload (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) {
unsigned int length;
- proto_tree_add_text(pt, *offset, 2, "Block number: %d", pntohs ((unsigned short *)(*data)));
+ proto_tree_add_text(pt, NullTVB, *offset, 2, "Block number: %d", pntohs ((unsigned short *)(*data)));
BUMP (*offset, *data, 4);
- proto_tree_add_text(pt, *offset+2, 1, "Handle: %hd", (*data)[2]);
+ proto_tree_add_text(pt, NullTVB, *offset+2, 1, "Handle: %hd", (*data)[2]);
BUMP (*offset, *data, 3);
length = *data - dataend;
- proto_tree_add_text(pt, *offset, length, "Data (%d bytes)", length);
+ proto_tree_add_text(pt, NullTVB, *offset, length, "Data (%d bytes)", length);
BUMP (*offset, *data, length);
length = 3 - (length + 3) % 4;
if (length) {
- proto_tree_add_text(pt, *offset, length, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset, length, "padding");
BUMP (*offset, *data, length);
}
}
@@ -1274,15 +1274,15 @@ cmd_delete (int src, const u_char **data, const u_char *dataend, int *offset, in
strncpy (string, *data, 32);
string[32] = 0;
- proto_tree_add_text(pt, *offset, 32, "Program name: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, 32, "Program name: %s", string);
BUMP (*offset, *data, 32);
}
void
cmd_list (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) {
- proto_tree_add_text(pt, *offset, 1, "Block number: %hd", (*data)[0]);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Block number: %hd", (*data)[0]);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
@@ -1294,21 +1294,21 @@ resp_list (int src, const u_char **data, const u_char *dataend, int *offset, int
unsigned int i, count;
count = (*data)[0];
- proto_tree_add_text(pt, *offset, 1, "Number of programs in this response: %d", count);
- proto_tree_add_text(pt, *offset+1, 1, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of programs in this response: %d", count);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 1, "reserved");
BUMP (*offset, *data, 2);
- proto_tree_add_text(pt, *offset, 2, "Number of remaining programs: %d", pntohs ((unsigned short *)(*data)));
+ proto_tree_add_text(pt, NullTVB, *offset, 2, "Number of remaining programs: %d", pntohs ((unsigned short *)(*data)));
BUMP (*offset, *data, 2);
for (i = 1; i <= count; i++) {
- item = proto_tree_add_text(pt, *offset, 112, "Program %d", i);
+ item = proto_tree_add_text(pt, NullTVB, *offset, 112, "Program %d", i);
tree = proto_item_add_subtree (item, ett_gryphon_pgm_list);
strncpy (string, *data, 32);
string[32] = 0;
- proto_tree_add_text(tree, *offset, 32, "Name: %s", string);
+ proto_tree_add_text(tree, NullTVB, *offset, 32, "Name: %s", string);
BUMP (*offset, *data, 32);
strncpy (string, *data, 80);
string[80] = 0;
- proto_tree_add_text(tree, *offset, 80, "Description: %s", string);
+ proto_tree_add_text(tree, NullTVB, *offset, 80, "Description: %s", string);
BUMP (*offset, *data, 80);
}
}
@@ -1322,11 +1322,11 @@ cmd_start (int src, const u_char **data, const u_char *dataend, int *offset, int
strncpy (string, *data, 119);
string[119] = 0;
length = strlen (string) + 1;
- proto_tree_add_text(pt, *offset, length, "Arguments: %s", string);
+ proto_tree_add_text(pt, NullTVB, *offset, length, "Arguments: %s", string);
BUMP (*offset, *data, length);
length = 3 - (length + 3) % 4;
if (length) {
- proto_tree_add_text(pt, *offset, length, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset, length, "padding");
BUMP (*offset, *data, length);
}
}
@@ -1334,8 +1334,8 @@ cmd_start (int src, const u_char **data, const u_char *dataend, int *offset, int
void
resp_start (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) {
- proto_tree_add_text(pt, *offset, 1, "Channel (Client) number: %hd", (*data)[0]);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Channel (Client) number: %hd", (*data)[0]);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
@@ -1346,18 +1346,18 @@ resp_status (int src, const u_char **data, const u_char *dataend, int *offset, i
unsigned int i, copies, length;
copies = (*data)[0];
- item = proto_tree_add_text(pt, *offset, 1, "Number of running copies: %d", copies);
+ item = proto_tree_add_text(pt, NullTVB, *offset, 1, "Number of running copies: %d", copies);
tree = proto_item_add_subtree (item, ett_gryphon_pgm_status);
BUMP (*offset, *data, 1);
if (copies) {
for (i = 1; i <= copies; i++) {
- proto_tree_add_text(tree, *offset, 1, "Program %d channel (client) number %hd", i, (*data)[0]);
+ proto_tree_add_text(tree, NullTVB, *offset, 1, "Program %d channel (client) number %hd", i, (*data)[0]);
BUMP (*offset, *data, 1);
}
}
length = 3 - (copies + 1 + 3) % 4;
if (length) {
- proto_tree_add_text(pt, *offset, length, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset, length, "padding");
BUMP (*offset, *data, length);
}
}
@@ -1369,13 +1369,13 @@ cmd_options (int src, const u_char **data, const u_char *dataend, int *offset, i
unsigned int i, size, padding, option, option_length, option_value;
unsigned char *string, *string1;
- item = proto_tree_add_text(pt, *offset, 1, "Handle: %hd", **data);
- item = proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ item = proto_tree_add_text(pt, NullTVB, *offset, 1, "Handle: %hd", **data);
+ item = proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
for (i = 1; *data <= dataend; i++) {
size = (*data)[1] + 2;
padding = 3 - ((size + 3) %4);
- item = proto_tree_add_text(pt, *offset, size + padding, "Option number %d", i);
+ item = proto_tree_add_text(pt, NullTVB, *offset, size + padding, "Option number %d", i);
tree = proto_item_add_subtree (item, ett_gryphon_pgm_options);
option = **data;
option_length = (*data)[1];
@@ -1418,10 +1418,10 @@ cmd_options (int src, const u_char **data, const u_char *dataend, int *offset, i
}
break;
}
- proto_tree_add_text(tree, *offset, 1, "%s", string);
- proto_tree_add_text(tree, *offset+2, option_length, "%s", string1);
+ proto_tree_add_text(tree, NullTVB, *offset, 1, "%s", string);
+ proto_tree_add_text(tree, NullTVB, *offset+2, option_length, "%s", string1);
if (padding)
- proto_tree_add_text(tree, *offset+option_length+2, padding, "padding");
+ proto_tree_add_text(tree, NullTVB, *offset+option_length+2, padding, "padding");
BUMP (*offset, *data, size + padding);
}
}
@@ -1429,8 +1429,8 @@ cmd_options (int src, const u_char **data, const u_char *dataend, int *offset, i
void
speed (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) {
- proto_tree_add_text(pt, *offset, 1, "Baud rate index: %hd", (*data)[0]);
- proto_tree_add_text(pt, *offset+1, 3, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Baud rate index: %hd", (*data)[0]);
+ proto_tree_add_text(pt, NullTVB, *offset+1, 3, "reserved");
BUMP (*offset, *data, 4);
}
@@ -1438,9 +1438,9 @@ void
filter_block (int src, const u_char **data, const u_char *dataend, int *offset, int msglen, proto_tree *pt) {
int length, type, i, operator, padding;
- proto_tree_add_text(pt, *offset, 2, "Filter field starts at byte %d", pntohs ((unsigned short *)(*data)));
+ proto_tree_add_text(pt, NullTVB, *offset, 2, "Filter field starts at byte %d", pntohs ((unsigned short *)(*data)));
length = pntohs ((unsigned short *)((*data)+2));
- proto_tree_add_text(pt, *offset+2, 2, "Filter field is %d bytes long", length);
+ proto_tree_add_text(pt, NullTVB, *offset+2, 2, "Filter field is %d bytes long", length);
type = *((*data)+4);
for (i = 0; i < SIZEOF(filter_data_types); i++) {
if (filter_data_types[i].value == type)
@@ -1448,7 +1448,7 @@ filter_block (int src, const u_char **data, const u_char *dataend, int *offset,
}
if (i >= SIZEOF(filter_data_types))
i = SIZEOF(filter_data_types) - 1;
- proto_tree_add_text(pt, *offset+4, 1, "Filtering on %s", filter_data_types[i].strptr);
+ proto_tree_add_text(pt, NullTVB, *offset+4, 1, "Filtering on %s", filter_data_types[i].strptr);
operator = *((*data)+5);
for (i = 0; i < SIZEOF(operators); i++) {
@@ -1457,32 +1457,32 @@ filter_block (int src, const u_char **data, const u_char *dataend, int *offset,
}
if (i >= SIZEOF(operators))
i = SIZEOF(operators) - 1;
- proto_tree_add_text(pt, *offset+5, 1, "Type of comparison: %s", operators[i].strptr);
- proto_tree_add_text(pt, *offset+6, 2, "reserved");
+ proto_tree_add_text(pt, NullTVB, *offset+5, 1, "Type of comparison: %s", operators[i].strptr);
+ proto_tree_add_text(pt, NullTVB, *offset+6, 2, "reserved");
BUMP (*offset, *data, 8);
if (operator == BIT_FIELD_CHECK) {
- proto_tree_add_text(pt, *offset, length, "Pattern");
- proto_tree_add_text(pt, *offset+length, length, "Mask");
+ proto_tree_add_text(pt, NullTVB, *offset, length, "Pattern");
+ proto_tree_add_text(pt, NullTVB, *offset+length, length, "Mask");
} else {
switch (length) {
case 1:
- proto_tree_add_text(pt, *offset, 1, "Value: %hd", **data);
+ proto_tree_add_text(pt, NullTVB, *offset, 1, "Value: %hd", **data);
break;
case 2:
- proto_tree_add_text(pt, *offset, 2, "Value: %d", pntohs ((unsigned short *)(*data)));
+ proto_tree_add_text(pt, NullTVB, *offset, 2, "Value: %d", pntohs ((unsigned short *)(*data)));
break;
case 4:
- proto_tree_add_text(pt, *offset, 4, "Value: %dl", pntohl ((unsigned long *)(*data)));
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Value: %dl", pntohl ((unsigned long *)(*data)));
break;
default:
- proto_tree_add_text(pt, *offset, length, "Value");
+ proto_tree_add_text(pt, NullTVB, *offset, length, "Value");
}
}
BUMP (*offset, *data, length * 2);
padding = 3 - (length * 2 + 3) % 4;
if (padding) {
- proto_tree_add_text(pt, *offset, padding, "padding");
+ proto_tree_add_text(pt, NullTVB, *offset, padding, "padding");
BUMP (*offset, *data, padding);
}
}
@@ -1514,9 +1514,9 @@ blm_mode (int src, const u_char **data, const u_char *dataend, int *offset, int
mode = "- unknown -";
sprintf (line, "reserved");
}
- proto_tree_add_text(pt, *offset, 4, "Mode: %s", mode);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, "Mode: %s", mode);
BUMP (*offset, *data, 4);
- proto_tree_add_text(pt, *offset, 4, line, NULL);
+ proto_tree_add_text(pt, NullTVB, *offset, 4, line, NULL);
BUMP (*offset, *data, 4);
}
diff --git a/proto.c b/proto.c
index 02fe8765fb..33a979a72e 100644
--- a/proto.c
+++ b/proto.c
@@ -1,7 +1,7 @@
/* proto.c
* Routines for protocol tree
*
- * $Id: proto.c,v 1.63 2000/04/25 21:43:49 gram Exp $
+ * $Id: proto.c,v 1.64 2000/05/11 08:15:59 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -90,13 +90,13 @@ 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, gint start, gint length, int visible);
+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, gint start, gint length,
+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
@@ -265,7 +265,7 @@ proto_registrar_get_nth(int hfindex)
/* Add a node with no text */
proto_item *
-proto_tree_add_notext(proto_tree *tree, gint start, gint length)
+proto_tree_add_notext(proto_tree *tree, tvbuff_t *tvb, gint start, gint length)
{
field_info *fi;
proto_item *pi;
@@ -273,7 +273,7 @@ proto_tree_add_notext(proto_tree *tree, gint start, gint length)
if (!tree)
return(NULL);
- fi = proto_tree_add_field_info(hf_text_only, start, length,
+ 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;
@@ -283,7 +283,7 @@ proto_tree_add_notext(proto_tree *tree, gint start, gint length)
/* Add a text-only node to the proto_tree */
proto_item *
-proto_tree_add_text(proto_tree *tree, gint start, gint length,
+proto_tree_add_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length,
const char *format, ...)
{
field_info *fi;
@@ -293,7 +293,7 @@ proto_tree_add_text(proto_tree *tree, gint start, gint length,
if (!tree)
return(NULL);
- fi = proto_tree_add_field_info(hf_text_only, start, length,
+ fi = proto_tree_add_field_info(hf_text_only, tvb, start, length,
proto_tree_is_visible);
pi = proto_tree_add_node(tree, fi);
@@ -313,7 +313,7 @@ proto_tree_add_text(proto_tree *tree, gint start, gint length,
/* 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, gint start, gint length, ...)
+proto_tree_add_item(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start, gint length, ...)
{
proto_item *pi;
va_list ap;
@@ -324,7 +324,7 @@ proto_tree_add_item(proto_tree *tree, int hfindex, gint start, gint length, ...)
va_start(ap, length);
/* ap won't be used since format is NULL */
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -335,7 +335,7 @@ proto_tree_add_item(proto_tree *tree, int hfindex, gint start, gint length, ...)
/* 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, gint start, gint length, ...)
+proto_tree_add_item_hidden(proto_tree *tree, int hfindex, tvbuff_t* tvb, gint start, gint length, ...)
{
proto_item *pi;
va_list ap;
@@ -346,7 +346,7 @@ proto_tree_add_item_hidden(proto_tree *tree, int hfindex, gint start, gint lengt
va_start(ap, length);
/* ap won't be used since format is NULL */
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -445,8 +445,8 @@ proto_tree_set_value(field_info *fi, gint length, va_list ap)
/* Add a FT_NONE to a proto_tree */
proto_item *
-proto_tree_add_protocol_format(proto_tree *tree, int hfindex, gint start, gint length,
- const char *format, ...)
+proto_tree_add_protocol_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
+ gint length, const char *format, ...)
{
proto_item *pi;
va_list ap;
@@ -459,7 +459,7 @@ proto_tree_add_protocol_format(proto_tree *tree, int hfindex, gint start, gint l
g_assert(hfinfo->type == FT_NONE);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ pi = proto_tree_add_pi(tree, hfindex, tvb, start, length,
format, TRUE, NULL, ap);
/* no value to set for FT_NONE */
va_end(ap);
@@ -469,8 +469,8 @@ proto_tree_add_protocol_format(proto_tree *tree, int hfindex, gint start, gint l
/* Add a FT_BYTES to a proto_tree */
proto_item *
-proto_tree_add_bytes_format(proto_tree *tree, int hfindex, gint start, gint length,
- const guint8 *start_ptr, const char *format, ...)
+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;
@@ -484,7 +484,7 @@ proto_tree_add_bytes_format(proto_tree *tree, int hfindex, gint start, gint leng
g_assert(hfinfo->type == FT_BYTES);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -506,7 +506,7 @@ proto_tree_set_bytes(field_info *fi, const guint8* start_ptr, gint length)
/* Add a FT_*TIME to a proto_tree */
proto_item *
-proto_tree_add_time_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -522,7 +522,7 @@ proto_tree_add_time_format(proto_tree *tree, int hfindex, gint start, gint lengt
hfinfo->type == FT_RELATIVE_TIME);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -539,7 +539,7 @@ proto_tree_set_time(field_info *fi, struct timeval *value_ptr)
/* Add a FT_IPXNET to a proto_tree */
proto_item *
-proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -554,7 +554,7 @@ proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, gint start, gint len
g_assert(hfinfo->type == FT_IPXNET);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -571,7 +571,7 @@ proto_tree_set_ipxnet(field_info *fi, guint32 value)
/* Add a FT_IPv4 to a proto_tree */
proto_item *
-proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -586,7 +586,7 @@ proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, gint start, gint lengt
g_assert(hfinfo->type == FT_IPv4);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -604,7 +604,7 @@ proto_tree_set_ipv4(field_info *fi, guint32 value)
/* Add a FT_IPv6 to a proto_tree */
proto_item *
-proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -619,7 +619,7 @@ proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, gint start, gint lengt
g_assert(hfinfo->type == FT_IPv6);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -636,8 +636,8 @@ proto_tree_set_ipv6(field_info *fi, guint8* value_ptr)
/* Add a FT_STRING to a proto_tree */
proto_item *
-proto_tree_add_string_format(proto_tree *tree, int hfindex, gint start, gint length,
- const char* value, const char *format, ...)
+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;
@@ -651,7 +651,7 @@ proto_tree_add_string_format(proto_tree *tree, int hfindex, gint start, gint len
g_assert(hfinfo->type == FT_STRING);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -669,7 +669,7 @@ proto_tree_set_string(field_info *fi, const char* value)
/* Add a FT_ETHER to a proto_tree */
proto_item *
-proto_tree_add_ether_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -684,7 +684,7 @@ proto_tree_add_ether_format(proto_tree *tree, int hfindex, gint start, gint leng
g_assert(hfinfo->type == FT_ETHER);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -701,7 +701,7 @@ proto_tree_set_ether(field_info *fi, guint8* value)
/* Add a FT_BOOLEAN to a proto_tree */
proto_item *
-proto_tree_add_boolean_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -716,7 +716,7 @@ proto_tree_add_boolean_format(proto_tree *tree, int hfindex, gint start, gint le
g_assert(hfinfo->type == FT_BOOLEAN);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -733,7 +733,7 @@ proto_tree_set_boolean(field_info *fi, guint32 value)
/* Add a FT_DOUBLE to a proto_tree */
proto_item *
-proto_tree_add_double_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -748,7 +748,7 @@ proto_tree_add_double_format(proto_tree *tree, int hfindex, gint start, gint len
g_assert(hfinfo->type == FT_DOUBLE);
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -765,7 +765,7 @@ proto_tree_set_double(field_info *fi, double value)
/* Add any FT_UINT* to a proto_tree */
proto_item *
-proto_tree_add_uint_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -783,7 +783,7 @@ proto_tree_add_uint_format(proto_tree *tree, int hfindex, gint start, gint lengt
case FT_UINT24:
case FT_UINT32:
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -817,7 +817,7 @@ proto_tree_set_uint(field_info *fi, guint32 value)
/* Add any FT_INT* to a proto_tree */
proto_item *
-proto_tree_add_int_format(proto_tree *tree, int hfindex, gint start, gint length,
+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;
@@ -835,7 +835,7 @@ proto_tree_add_int_format(proto_tree *tree, int hfindex, gint start, gint length
case FT_INT24:
case FT_INT32:
va_start(ap, format);
- pi = proto_tree_add_pi(tree, hfindex, start, length,
+ 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);
@@ -870,7 +870,7 @@ proto_tree_set_int(field_info *fi, gint32 value)
/* Create a new field_info struct, and initialize it */
static field_info *
-proto_tree_add_field_info(int hfindex, gint start, gint length, int visible)
+proto_tree_add_field_info(int hfindex, tvbuff_t *tvb, gint start, gint length, int visible)
{
field_info *fi;
@@ -880,6 +880,9 @@ proto_tree_add_field_info(int hfindex, gint start, gint length, int visible)
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;
@@ -903,7 +906,7 @@ proto_tree_add_node(proto_tree *tree, field_info *fi)
/* 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, gint start, gint length,
+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;
@@ -915,7 +918,7 @@ proto_tree_add_pi(proto_tree *tree, int hfindex, gint start, gint length,
/* either visibility flag can nullify the other */
visible = proto_tree_is_visible && visible;
- fi = proto_tree_add_field_info(hfindex, start, length, visible);
+ fi = proto_tree_add_field_info(hfindex, tvb, start, length, visible);
pi = proto_tree_add_node(tree, fi);
diff --git a/proto.h b/proto.h
index 2d5dae8980..de64c5355f 100644
--- a/proto.h
+++ b/proto.h
@@ -1,7 +1,7 @@
/* proto.h
* Definitions for protocol display
*
- * $Id: proto.h,v 1.29 2000/04/25 21:43:50 gram Exp $
+ * $Id: proto.h,v 1.30 2000/05/11 08:15:59 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -41,6 +41,10 @@
#include "ipv4.h"
#endif
+#ifndef __TVBUFF_H__
+#include "tvbuff.h"
+#endif
+
/* needs glib.h */
typedef struct GNode proto_tree;
typedef struct GNode proto_item;
@@ -148,6 +152,10 @@ typedef struct proto_tree_search_info {
} result;
} proto_tree_search_info;
+
+/* For use while converting dissectors to use tvbuff's */
+#define NullTVB NULL
+
/* Sets up memory used by proto routines. Called at program startup */
void proto_init(void);
@@ -189,149 +197,149 @@ proto_register_subtree_array(gint **indices, int num_indices);
/* Add item's value to proto_tree, using label registered to that field */
proto_item *
-proto_tree_add_item(proto_tree *tree, int hfindex, gint start,
+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, gint start,
+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, gint start,
+proto_tree_add_protocol_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, const char *format, ...)
- __attribute__((format (printf, 5, 6)));
+ __attribute__((format (printf, 6, 7)));
#else
proto_item *
-proto_tree_add_protocol_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_protocol_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_bytes_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_bytes_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, const guint8* start_ptr, const char *format, ...)
- __attribute__((format (printf, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_bytes_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_bytes_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, const guint8* start_ptr, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_time_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, struct timeval* value_ptr, const char *format, ...)
- __attribute__((format (printf, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_time_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_time_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, struct timeval* value_ptr, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint32 value, const char *format, ...)
- __attribute__((format (printf, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_ipxnet_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint32 value, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint32 value, const char *format, ...)
- __attribute__((format (printf, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_ipv4_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint32 value, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, gint start,
+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, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_ipv6_format(proto_tree *tree, int hfindex, gint start,
+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, gint start,
+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, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_ether_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_ether_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint8* value, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_string_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_string_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, const char* value, const char *format, ...)
- __attribute__((format (printf, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_string_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_string_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, const char* value, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_boolean_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_boolean_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint32 value, const char *format, ...)
- __attribute__((format (printf, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_boolean_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_boolean_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint32 value, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_uint_format(proto_tree *tree, int hfindex, gint start,
+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, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_uint_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_uint_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, guint32 value, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_int_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_int_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, gint32 value, const char *format, ...)
- __attribute__((format (printf, 6, 7)));
+ __attribute__((format (printf, 7, 8)));
#else
proto_item *
-proto_tree_add_int_format(proto_tree *tree, int hfindex, gint start,
+proto_tree_add_int_format(proto_tree *tree, int hfindex, tvbuff_t *tvb, gint start,
gint length, gint32 value, const char *format, ...);
#endif
#if __GNUC__ == 2
proto_item *
-proto_tree_add_text(proto_tree *tree, gint start, gint length, const char *,
- ...) __attribute__((format (printf, 4, 5)));
+proto_tree_add_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *,
+ ...) __attribute__((format (printf, 5, 6)));
#else
proto_item *
-proto_tree_add_text(proto_tree *tree, gint start, gint length, const char *,
+proto_tree_add_text(proto_tree *tree, tvbuff_t *tvb, gint start, gint length, const char *,
...);
#endif
proto_item *
-proto_tree_add_notext(proto_tree *tree, gint start, gint length);
+proto_tree_add_notext(proto_tree *tree, tvbuff_t *tvb, gint start, gint length);
void
diff --git a/tvbtest.c b/tvbtest.c
new file mode 100644
index 0000000000..72077c91e4
--- /dev/null
+++ b/tvbtest.c
@@ -0,0 +1,392 @@
+/* Standalone program to test functionality of tvbuffs.
+ *
+ * tvbtest : tvbtest.o tvbuff.o except.o
+ *
+ * $Id: tvbtest.c,v 1.1 2000/05/11 08:16:00 gram Exp $
+ *
+ * Copyright (c) 2000 by Gilbert Ramirez <gram@xiexie.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "tvbuff.h"
+
+#define pntohs(p) ((guint16) \
+ ((guint16)*((guint8 *)p+0)<<8| \
+ (guint16)*((guint8 *)p+1)<<0))
+
+#define pntohl(p) ((guint32)*((guint8 *)p+0)<<24| \
+ (guint32)*((guint8 *)p+1)<<16| \
+ (guint32)*((guint8 *)p+2)<<8| \
+ (guint32)*((guint8 *)p+3)<<0)
+
+#define pletohs(p) ((guint16) \
+ ((guint16)*((guint8 *)p+1)<<8| \
+ (guint16)*((guint8 *)p+0)<<0))
+
+#define pletohl(p) ((guint32)*((guint8 *)p+3)<<24| \
+ (guint32)*((guint8 *)p+2)<<16| \
+ (guint32)*((guint8 *)p+1)<<8| \
+ (guint32)*((guint8 *)p+0)<<0)
+
+/* Tests a tvbuff against the expected pattern/length.
+ * Returns TRUE if all tests succeeed, FALSE if any test fails */
+gboolean
+test(tvbuff_t *tvb, gchar* name,
+ guint8* expected_data, guint expected_length)
+{
+ guint length;
+ guint8 *ptr;
+ gboolean ex_thrown;
+ guint32 val32, expected32;
+ int incr, i;
+
+ length = tvb_length(tvb);
+
+ if (length != expected_length) {
+ printf("Failed TVB=%s Length of tvb=%u while expected length=%u\n",
+ name, length, expected_length);
+ return FALSE;
+ }
+
+ /* Test boundary case. A BoundsError exception should be thrown. */
+ ex_thrown = FALSE;
+ TRY {
+ ptr = tvb_get_ptr(tvb, 0, length + 1);
+ }
+ CATCH(BoundsError) {
+ ex_thrown = TRUE;
+ }
+ ENDTRY;
+
+ if (!ex_thrown) {
+ printf("Failed TVB=%s No BoundsError when retrieving %u bytes\n",
+ name, length + 1);
+ return FALSE;
+ }
+
+ /* Test boundary case. A BoundsError exception should be thrown. */
+ ex_thrown = FALSE;
+ TRY {
+ ptr = tvb_get_ptr(tvb, -1, 2);
+ }
+ CATCH(BoundsError) {
+ ex_thrown = TRUE;
+ }
+ ENDTRY;
+
+ if (!ex_thrown) {
+ printf("Failed TVB=%s No BoundsError when retrieving 2 bytes from"
+ " offset -1\n", name);
+ return FALSE;
+ }
+
+ /* Test boundary case. A BoundsError exception should not be thrown. */
+ ex_thrown = FALSE;
+ TRY {
+ ptr = tvb_get_ptr(tvb, 0, 1);
+ }
+ CATCH(BoundsError) {
+ ex_thrown = TRUE;
+ }
+ ENDTRY;
+
+ if (ex_thrown) {
+ printf("Failed TVB=%s BoundsError when retrieving 1 bytes from"
+ " offset 0\n", name);
+ return FALSE;
+ }
+
+ /* Test boundary case. A BoundsError exception should not be thrown. */
+ ex_thrown = FALSE;
+ TRY {
+ ptr = tvb_get_ptr(tvb, -1, 1);
+ }
+ CATCH(BoundsError) {
+ ex_thrown = TRUE;
+ }
+ ENDTRY;
+
+ if (ex_thrown) {
+ printf("Failed TVB=%s BoundsError when retrieving 1 bytes from"
+ " offset -1\n", name);
+ return FALSE;
+ }
+
+
+ /* Check data at boundary. An exception should not be thrown. */
+ if (length >= 4) {
+ ex_thrown = FALSE;
+ TRY {
+ val32 = tvb_get_ntohl(tvb, 0);
+ }
+ CATCH(BoundsError) {
+ ex_thrown = TRUE;
+ }
+ ENDTRY;
+
+ if (ex_thrown) {
+ printf("Failed TVB=%s BoundsError when retrieving "
+ "guint32 from offset 0\n", name);
+ return FALSE;
+ }
+
+ expected32 = pntohl(expected_data);
+ if (val32 != expected32) {
+ printf("Failed TVB=%s guint32 @ 0 %u != expected %u\n",
+ name, val32, expected32);
+ return FALSE;
+ }
+ }
+
+ /* Check data at boundary. An exception should not be thrown. */
+ if (length >= 4) {
+ ex_thrown = FALSE;
+ TRY {
+ val32 = tvb_get_ntohl(tvb, -4);
+ }
+ CATCH(BoundsError) {
+ ex_thrown = TRUE;
+ }
+ ENDTRY;
+
+ if (ex_thrown) {
+ printf("Failed TVB=%s BoundsError when retrieving "
+ "guint32 from offset 0\n", name);
+ return FALSE;
+ }
+
+ expected32 = pntohl(&expected_data[length-4]);
+ if (val32 != expected32) {
+ printf("Failed TVB=%s guint32 @ -4 %u != expected %u\n",
+ name, val32, expected32);
+ return FALSE;
+ }
+ }
+
+ /* Sweep across data in various sized increments checking
+ * tvb_memdup() */
+ for (incr = 1; incr < length; incr++) {
+ for (i = 0; i < length - incr; i += incr) {
+ ptr = tvb_memdup(tvb, i, incr);
+ if (memcmp(ptr, &expected_data[i], incr) != 0) {
+ printf("Failed TVB=%s Offset=%d Length=%d "
+ "Bad memdup\n",
+ name, i, incr);
+ g_free(ptr);
+ return FALSE;
+ }
+ g_free(ptr);
+ }
+ }
+
+ /* One big memdup */
+ ptr = tvb_memdup(tvb, 0, -1);
+ if (memcmp(ptr, expected_data, length) != 0) {
+ printf("Failed TVB=%s Offset=0 Length=-1 "
+ "Bad memdup\n", name);
+ g_free(ptr);
+ return FALSE;
+ }
+ g_free(ptr);
+
+
+ printf("Passed TVB=%s\n", name);
+
+ return TRUE;
+}
+
+
+
+void
+run_tests(void)
+{
+ int i, j;
+
+ tvbuff_t *tvb_small[3];
+ tvbuff_t *tvb_large[3];
+ tvbuff_t *tvb_subset[6];
+ tvbuff_t *tvb_comp[6];
+ guint8 *small[3];
+ guint8 *large[3];
+ guint8 *subset[6];
+ guint subset_length[6];
+ guint8 *comp[6];
+ guint comp_length[6];
+ guint8 temp;
+ int len;
+
+ for (i = 0; i < 3; i++) {
+ small[i] = g_new(guint8, 16);
+
+ temp = 16 * i;
+ for (j = 0; j < 16; j++) {
+ small[i][j] = temp + j;
+ }
+
+ tvb_small[i] = tvb_new_real_data(small[i], 16);
+ }
+
+ for (i = 0; i < 3; i++) {
+ large[i] = g_new(guint8, 19);
+
+ temp = 19 * i;
+ for (j = 0; j < 19; j++) {
+ large[i][j] = temp + j;
+ }
+
+ tvb_large[i] = tvb_new_real_data(large[i], 19);
+ }
+
+ /* Test the TVBUFF_REAL_DATA objects. */
+ test(tvb_small[0], "Small 0", small[0], 16);
+ test(tvb_small[1], "Small 1", small[1], 16);
+ test(tvb_small[2], "Small 2", small[2], 16);
+
+ test(tvb_large[0], "Large 0", large[0], 19);
+ test(tvb_large[1], "Large 1", large[1], 19);
+ test(tvb_large[2], "Large 2", large[2], 19);
+
+ tvb_subset[0] = tvb_new_subset(tvb_small[0], 0, 8);
+ subset[0] = &small[0][0];
+ subset_length[0] = 8;
+
+ tvb_subset[1] = tvb_new_subset(tvb_large[0], -10, 10);
+ subset[1] = &large[0][9];
+ subset_length[1] = 10;
+
+ tvb_subset[2] = tvb_new_subset(tvb_small[1], -16, -1);
+ subset[2] = &small[1][0];
+ subset_length[2] = 16;
+
+ tvb_subset[3] = tvb_new_subset(tvb_subset[0], 0, 3);
+ subset[3] = &small[0][0];
+ subset_length[3] = 3;
+
+ tvb_subset[4] = tvb_new_subset(tvb_subset[1], -5, 5);
+ subset[4] = &large[0][14];
+ subset_length[4] = 5;
+
+ tvb_subset[5] = tvb_new_subset(tvb_subset[2], 4, 8);
+ subset[5] = &small[1][4];
+ subset_length[5] = 8;
+
+ /* Test the TVBUFF_SUBSET objects. */
+ test(tvb_subset[0], "Subset 0", subset[0], subset_length[0]);
+ test(tvb_subset[1], "Subset 1", subset[1], subset_length[1]);
+ test(tvb_subset[2], "Subset 2", subset[2], subset_length[2]);
+ test(tvb_subset[3], "Subset 3", subset[3], subset_length[3]);
+ test(tvb_subset[4], "Subset 4", subset[4], subset_length[4]);
+ test(tvb_subset[5], "Subset 5", subset[5], subset_length[5]);
+
+ /* One Real */
+ printf("Making Composite 0\n");
+ tvb_comp[0] = tvb_new_composite();
+ comp[0] = small[0];
+ comp_length[0] = 16;
+ tvb_composite_append(tvb_comp[0], tvb_small[0]);
+ tvb_composite_finalize(tvb_comp[0]);
+
+ /* Two Reals */
+ printf("Making Composite 1\n");
+ tvb_comp[1] = tvb_new_composite();
+ comp[1] = g_malloc(32);
+ comp_length[1] = 32;
+ memcpy(comp[1], small[0], 16);
+ memcpy(&comp[1][16], small[1], 16);
+ tvb_composite_append(tvb_comp[1], tvb_small[0]);
+ tvb_composite_append(tvb_comp[1], tvb_small[1]);
+ tvb_composite_finalize(tvb_comp[1]);
+
+ /* One subset */
+ printf("Making Composite 2\n");
+ tvb_comp[2] = tvb_new_composite();
+ comp[2] = subset[1];
+ comp_length[2] = subset_length[1];
+ tvb_composite_append(tvb_comp[2], tvb_subset[1]);
+ tvb_composite_finalize(tvb_comp[2]);
+
+ /* Two subsets */
+ printf("Making Composite 3\n");
+ tvb_comp[3] = tvb_new_composite();
+ comp[3] = g_malloc(13);
+ comp_length[3] = 13;
+ memcpy(comp[3], &large[0][14], 5);
+ memcpy(&comp[3][5], &small[1][4], 8);
+ tvb_composite_append(tvb_comp[3], tvb_subset[4]);
+ tvb_composite_append(tvb_comp[3], tvb_subset[5]);
+ tvb_composite_finalize(tvb_comp[3]);
+
+ /* One real, one subset */
+ printf("Making Composite 4\n");
+ tvb_comp[4] = tvb_new_composite();
+ comp[4] = g_malloc(16 + subset_length[1]);
+ comp_length[4] = 16 + subset_length[1];
+ memcpy(comp[4], small[0], 16);
+ memcpy(&comp[4][16], subset[1], subset_length[1]);
+ tvb_composite_append(tvb_comp[4], tvb_small[0]);
+ tvb_composite_append(tvb_comp[4], tvb_subset[1]);
+ tvb_composite_finalize(tvb_comp[4]);
+
+ /* 4 composites */
+ printf("Making Composite 5\n");
+ tvb_comp[5] = tvb_new_composite();
+ comp_length[5] = comp_length[0] +
+ comp_length[1] +
+ comp_length[2] +
+ comp_length[3];
+ comp[5] = g_malloc(comp_length[5]);
+
+ len = 0;
+ memcpy(&comp[5][len], comp[0], comp_length[0]);
+ len += comp_length[0];
+ memcpy(&comp[5][len], comp[1], comp_length[1]);
+ len += comp_length[1];
+ memcpy(&comp[5][len], comp[2], comp_length[2]);
+ len += comp_length[2];
+ memcpy(&comp[5][len], comp[3], comp_length[3]);
+
+ tvb_composite_append(tvb_comp[5], tvb_comp[0]);
+ tvb_composite_append(tvb_comp[5], tvb_comp[1]);
+ tvb_composite_append(tvb_comp[5], tvb_comp[2]);
+ tvb_composite_append(tvb_comp[5], tvb_comp[3]);
+ tvb_composite_finalize(tvb_comp[5]);
+
+ /* Test the TVBUFF_COMPOSITE objects. */
+ test(tvb_comp[0], "Composite 0", comp[0], comp_length[0]);
+ test(tvb_comp[1], "Composite 1", comp[1], comp_length[1]);
+ test(tvb_comp[2], "Composite 2", comp[2], comp_length[2]);
+ test(tvb_comp[3], "Composite 3", comp[3], comp_length[3]);
+ test(tvb_comp[4], "Composite 4", comp[4], comp_length[4]);
+ test(tvb_comp[5], "Composite 5", comp[5], comp_length[5]);
+}
+
+int
+main(void)
+{
+ except_init();
+ tvbuff_init();
+ run_tests();
+ tvbuff_cleanup();
+ except_deinit();
+ exit(0);
+}
+
+
diff --git a/tvbuff.c b/tvbuff.c
new file mode 100644
index 0000000000..e74cb1ab37
--- /dev/null
+++ b/tvbuff.c
@@ -0,0 +1,824 @@
+/* tvbuff.c
+ *
+ * Testy, Virtual(-izable) Buffer of guint8*'s
+ *
+ * "Testy" -- the buffer gets mad when an attempt to access data
+ * beyond the bounds of the buffer. An exception is thrown.
+ *
+ * "Virtual" -- the buffer can have its own data, can use a subset of
+ * the data of a backing tvbuff, or can be a composite of
+ * other tvbuffs.
+ *
+ * $Id: tvbuff.c,v 1.1 2000/05/11 08:16:00 gram Exp $
+ *
+ * Copyright (c) 2000 by Gilbert Ramirez <gram@xiexie.org>
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@zing.org>
+ * Copyright 1998 Gerald Combs
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __TVBUFF_H__
+#include "tvbuff.h"
+#endif
+
+#include <string.h>
+
+/* Pointer versions of ntohs and ntohl. Given a pointer to a member of a
+ * byte array, returns the value of the two or four bytes at the pointer.
+ * The pletoh[sl] versions return the little-endian representation.
+ */
+
+#define pntohs(p) ((guint16) \
+ ((guint16)*((guint8 *)p+0)<<8| \
+ (guint16)*((guint8 *)p+1)<<0))
+
+#define pntohl(p) ((guint32)*((guint8 *)p+0)<<24| \
+ (guint32)*((guint8 *)p+1)<<16| \
+ (guint32)*((guint8 *)p+2)<<8| \
+ (guint32)*((guint8 *)p+3)<<0)
+
+#define pletohs(p) ((guint16) \
+ ((guint16)*((guint8 *)p+1)<<8| \
+ (guint16)*((guint8 *)p+0)<<0))
+
+#define pletohl(p) ((guint32)*((guint8 *)p+3)<<24| \
+ (guint32)*((guint8 *)p+2)<<16| \
+ (guint32)*((guint8 *)p+1)<<8| \
+ (guint32)*((guint8 *)p+0)<<0)
+
+
+typedef struct {
+ /* The backing tvbuff_t */
+ tvbuff_t *tvb;
+
+ /* The offset/length of 'tvb' to which I'm privy */
+ guint offset;
+ guint length;
+
+} tvb_backing_t;
+
+typedef struct {
+ GSList *tvbs;
+
+ /* Used for quick testing to see if this
+ * is the tvbuff that a COMPOSITE is
+ * interested in. */
+ guint *start_offsets;
+ guint *end_offsets;
+
+} tvb_comp_t;
+
+struct tvbuff {
+ /* Record-keeping */
+ tvbuff_type type;
+ gboolean initialized;
+ guint usage_count;
+
+ /* The tvbuffs in which this tvbuff is a member
+ * (that is, a backing tvbuff for a TVBUFF_SUBSET
+ * or a member for a TVB_COMPOSITE) */
+ GSList *used_in;
+
+ /* TVBUFF_SUBSET and TVBUFF_COMPOSITE keep track
+ * of the other tvbuff's they use */
+ union {
+ tvb_backing_t subset;
+ tvb_comp_t composite;
+ } tvbuffs;
+
+ /* We're either a TVBUFF_REAL_DATA or a
+ * TVBUFF_SUBSET that has a backing buffer that
+ * has real_data != NULL, or a TVBUFF_COMPOSITE
+ * which has flattened its data due to a call
+ * to tvb_get_ptr().
+ */
+ guint8 *real_data;
+
+ /* Length of virtual buffer (and/or real_data). */
+ guint length;
+
+ /* Offset from beginning of first TVBUFF_REAL. */
+ gint raw_offset;
+
+ /* Func to call when actually freed */
+ tvbuff_free_cb_t free_cb;
+};
+
+static guint8*
+ensure_contiguous(tvbuff_t *tvb, gint offset, gint length);
+
+/* We dole out tvbuff's from this memchunk. */
+GMemChunk *tvbuff_mem_chunk = NULL;
+
+void
+tvbuff_init(void)
+{
+ if (!tvbuff_mem_chunk)
+ tvbuff_mem_chunk = g_mem_chunk_create(tvbuff_t, 20, G_ALLOC_AND_FREE);
+}
+
+void
+tvbuff_cleanup(void)
+{
+ if (tvbuff_mem_chunk)
+ g_mem_chunk_destroy(tvbuff_mem_chunk);
+
+ tvbuff_mem_chunk = NULL;
+}
+
+
+
+
+static void
+tvb_init(tvbuff_t *tvb, tvbuff_type type)
+{
+ tvb_backing_t *backing;
+ tvb_comp_t *composite;
+
+ tvb->type = type;
+ tvb->initialized = FALSE;
+ tvb->usage_count = 1;
+ tvb->length = 0;
+ tvb->free_cb = NULL;
+ tvb->real_data = NULL;
+ tvb->raw_offset = -1;
+ tvb->used_in = NULL;
+
+ switch(type) {
+ case TVBUFF_REAL_DATA:
+ /* Nothing */
+ break;
+
+ case TVBUFF_SUBSET:
+ backing = &tvb->tvbuffs.subset;
+ backing->tvb = NULL;
+ backing->offset = 0;
+ backing->length = 0;
+ break;
+
+ case TVBUFF_COMPOSITE:
+ composite = &tvb->tvbuffs.composite;
+ composite->tvbs = NULL;
+ composite->start_offsets = NULL;
+ composite->end_offsets = NULL;
+ break;
+ }
+}
+
+
+tvbuff_t*
+tvb_new(tvbuff_type type)
+{
+ tvbuff_t *tvb;
+
+ tvb = g_chunk_new(tvbuff_t, tvbuff_mem_chunk);
+ g_assert(tvb);
+
+ tvb_init(tvb, type);
+
+ return tvb;
+}
+
+void
+tvb_free(tvbuff_t* tvb)
+{
+ tvbuff_t *member_tvb;
+ tvb_comp_t *composite;
+ GSList *slist;
+
+ tvb->usage_count--;
+
+ if (tvb->usage_count == 0) {
+ switch (tvb->type) {
+ case TVBUFF_REAL_DATA:
+ if (tvb->free_cb) {
+ tvb->free_cb(tvb->real_data);
+ }
+ break;
+
+ case TVBUFF_SUBSET:
+ tvb_decrement_usage_count(tvb->tvbuffs.subset.tvb, 1);
+ break;
+
+ case TVBUFF_COMPOSITE:
+ composite = &tvb->tvbuffs.composite;
+ for (slist = composite->tvbs; slist != NULL ; slist = slist->next) {
+ member_tvb = slist->data;
+ tvb_decrement_usage_count(member_tvb, 1);
+ }
+
+ g_slist_free(composite->tvbs);
+
+ if (composite->start_offsets)
+ g_free(composite->start_offsets);
+ if (composite->end_offsets)
+ g_free(composite->end_offsets);
+ if (tvb->real_data)
+ g_free(tvb->real_data);
+
+ break;
+ }
+
+ if (tvb->used_in) {
+ g_slist_free(tvb->used_in);
+ }
+
+ g_chunk_free(tvb, tvbuff_mem_chunk);
+ }
+}
+
+guint
+tvb_increment_usage_count(tvbuff_t* tvb, guint count)
+{
+ tvb->usage_count += count;
+
+ return tvb->usage_count;
+}
+
+guint
+tvb_decrement_usage_count(tvbuff_t* tvb, guint count)
+{
+ if (tvb->usage_count <= count) {
+ tvb->usage_count = 1;
+ tvb_free(tvb);
+ return 0;
+ }
+ else {
+ tvb->usage_count -= count;
+ return tvb->usage_count;
+ }
+
+}
+
+void
+tvb_free_chain(tvbuff_t* tvb)
+{
+ GSList *slist;
+
+ /* Recursively call tvb_free_chain() */
+ for (slist = tvb->used_in; slist != NULL ; slist = slist->next) {
+ tvb_free_chain( (tvbuff_t*)slist->data );
+ }
+
+ /* Stop the recursion */
+ tvb_free(tvb);
+}
+
+
+
+void
+tvb_set_free_cb(tvbuff_t* tvb, tvbuff_free_cb_t func)
+{
+ g_assert(tvb->type == TVBUFF_REAL_DATA);
+ tvb->free_cb = func;
+}
+
+void
+tvb_set_real_data(tvbuff_t* tvb, const guint8* data, guint length)
+{
+ g_assert(tvb->type == TVBUFF_REAL_DATA);
+ g_assert(!tvb->initialized);
+
+ tvb->real_data = (gpointer) data;
+ tvb->length = length;
+ tvb->initialized = TRUE;
+}
+
+tvbuff_t*
+tvb_new_real_data(const guint8* data, guint length)
+{
+ tvbuff_t *tvb;
+
+ tvb = tvb_new(TVBUFF_REAL_DATA);
+ tvb_set_real_data(tvb, data, length);
+
+ return tvb;
+}
+
+/* Computes the absolute offset and length based on a possibly-negative offset
+ * and a length that is possible -1 (which means "to the end of the data").
+ * Returns TRUE/FALSE indicating whether the offset is in bounds or
+ * not. The integer ptrs are modified with the new offset and length.
+ * No exception is thrown. */
+static gboolean
+compute_offset_length(tvbuff_t *tvb, gint offset, gint length,
+ guint *offset_ptr, guint *length_ptr)
+{
+ g_assert(offset_ptr);
+ g_assert(length_ptr);
+
+ /* Compute the offset */
+ if (offset >= 0) {
+ *offset_ptr = offset;
+ }
+ else if (-offset > tvb->length) {
+ return FALSE;
+ }
+ else {
+ *offset_ptr = tvb->length + offset;
+ }
+
+ /* Compute the length */
+ g_assert(length >= -1);
+ if (length == -1) {
+ *length_ptr = tvb->length - *offset_ptr;
+ }
+ else {
+ *length_ptr = length;
+ }
+
+ return TRUE;
+}
+
+
+static gboolean
+check_offset_length_no_exception(tvbuff_t *tvb, gint offset, gint length,
+ guint *offset_ptr, guint *length_ptr)
+{
+ g_assert(tvb->initialized);
+
+ if (!compute_offset_length(tvb, offset, length, offset_ptr, length_ptr)) {
+ return FALSE;
+ }
+
+ if (*offset_ptr + *length_ptr <= tvb->length) {
+ return TRUE;
+ }
+ else {
+ return FALSE;
+ }
+
+ g_assert_not_reached();
+}
+
+/* Checks (+/-) offset and length and throws BoundsError if
+ * either is out of bounds. Sets integer ptrs to the new offset
+ * and length. */
+static void
+check_offset_length(tvbuff_t *tvb, gint offset, gint length,
+ guint *offset_ptr, guint *length_ptr)
+{
+ if (!check_offset_length_no_exception(tvb, offset, length, offset_ptr, length_ptr)) {
+ THROW(BoundsError);
+ }
+ return;
+}
+
+static void
+add_to_used_in_list(tvbuff_t *tvb, tvbuff_t *used_in)
+{
+ tvb->used_in = g_slist_prepend(tvb->used_in, used_in);
+}
+
+void
+tvb_set_subset(tvbuff_t *tvb, tvbuff_t *backing,
+ gint backing_offset, gint backing_length)
+{
+ g_assert(tvb->type == TVBUFF_SUBSET);
+ g_assert(!tvb->initialized);
+
+ check_offset_length(backing, backing_offset, backing_length,
+ &tvb->tvbuffs.subset.offset,
+ &tvb->tvbuffs.subset.length);
+
+ tvb_increment_usage_count(backing, 1);
+ tvb->tvbuffs.subset.tvb = backing;
+ tvb->length = tvb->tvbuffs.subset.length;
+ tvb->initialized = TRUE;
+ add_to_used_in_list(backing, tvb);
+
+ /* Optimization. If the backing buffer has a pointer to contiguous, real data,
+ * then we can point directly to our starting offset in that buffer */
+ if (backing->real_data != NULL) {
+ tvb->real_data = backing->real_data + tvb->tvbuffs.subset.offset;
+ }
+}
+
+
+tvbuff_t*
+tvb_new_subset(tvbuff_t *backing, gint backing_offset, gint backing_length)
+{
+ tvbuff_t *tvb;
+
+ tvb = tvb_new(TVBUFF_SUBSET);
+ tvb_set_subset(tvb, backing, backing_offset, backing_length);
+
+ return tvb;
+}
+
+void
+tvb_composite_append(tvbuff_t* tvb, tvbuff_t* member)
+{
+ tvb_comp_t *composite;
+
+ g_assert(!tvb->initialized);
+ composite = &tvb->tvbuffs.composite;
+ composite->tvbs = g_slist_append( composite->tvbs, member );
+}
+
+void
+tvb_composite_prepend(tvbuff_t* tvb, tvbuff_t* member)
+{
+ tvb_comp_t *composite;
+
+ g_assert(!tvb->initialized);
+ composite = &tvb->tvbuffs.composite;
+ composite->tvbs = g_slist_prepend( composite->tvbs, member );
+}
+
+tvbuff_t*
+tvb_new_composite(void)
+{
+ return tvb_new(TVBUFF_COMPOSITE);
+}
+
+void
+tvb_composite_finalize(tvbuff_t* tvb)
+{
+ GSList *slist;
+ guint num_members;
+ tvbuff_t *member_tvb;
+ tvb_comp_t *composite;
+ int i = 0;
+
+ g_assert(!tvb->initialized);
+ g_assert(tvb->length == 0);
+
+ composite = &tvb->tvbuffs.composite;
+ num_members = g_slist_length(composite->tvbs);
+
+ composite->start_offsets = g_new(guint, num_members);
+ composite->end_offsets = g_new(guint, num_members);
+
+ for (slist = composite->tvbs; slist != NULL; slist = slist->next) {
+ g_assert(i < num_members);
+ member_tvb = slist->data;
+ composite->start_offsets[i] = tvb->length;
+ tvb->length += member_tvb->length;
+ composite->end_offsets[i] = tvb->length - 1;
+ i++;
+ }
+
+ tvb->initialized = TRUE;
+}
+
+
+
+guint
+tvb_length(tvbuff_t* tvb)
+{
+ g_assert(tvb->initialized);
+
+ return tvb->length;
+}
+
+guint
+tvb_length_remaining(tvbuff_t *tvb, gint offset)
+{
+ guint abs_offset, abs_length;
+
+ g_assert(tvb->initialized);
+
+ if (compute_offset_length(tvb, offset, -1,
+ &abs_offset, &abs_length)) {
+ return abs_length;
+ }
+ else {
+ return -1;
+ }
+}
+
+
+
+/* Validates that 'length' bytes are available starting from
+ * offset (pos/neg). Does not throw BoundsError exception. */
+gboolean
+tvb_bytes_exist(tvbuff_t *tvb, gint offset, gint length)
+{
+ guint abs_offset, abs_length;
+
+ g_assert(tvb->initialized);
+
+ if (!compute_offset_length(tvb, offset, length, &abs_offset, &abs_length))
+ return FALSE;
+
+ if (abs_offset + abs_length <= tvb->length) {
+ return TRUE;
+ }
+ else {
+ return FALSE;
+ }
+}
+
+gboolean
+tvb_offset_exists(tvbuff_t *tvb, gint offset)
+{
+ guint abs_offset, abs_length;
+
+ g_assert(tvb->initialized);
+ if (compute_offset_length(tvb, offset, -1, &abs_offset, &abs_length)) {
+ return TRUE;
+ }
+ else {
+ return FALSE;
+ }
+}
+
+
+
+
+guint8*
+first_real_data_ptr(tvbuff_t *tvb)
+{
+ tvbuff_t *member;
+
+ switch(tvb->type) {
+ case TVBUFF_REAL_DATA:
+ return tvb->real_data;
+ case TVBUFF_SUBSET:
+ member = tvb->tvbuffs.subset.tvb;
+ return first_real_data_ptr(member);
+ case TVBUFF_COMPOSITE:
+ member = tvb->tvbuffs.composite.tvbs->data;
+ return first_real_data_ptr(member);
+ }
+
+ g_assert_not_reached();
+ return NULL;
+}
+
+int
+offset_from_real_beginning(tvbuff_t *tvb, int counter)
+{
+ tvbuff_t *member;
+
+ switch(tvb->type) {
+ case TVBUFF_REAL_DATA:
+ return counter;
+ case TVBUFF_SUBSET:
+ member = tvb->tvbuffs.subset.tvb;
+ return offset_from_real_beginning(member, counter + tvb->tvbuffs.subset.offset);
+ case TVBUFF_COMPOSITE:
+ member = tvb->tvbuffs.composite.tvbs->data;
+ return offset_from_real_beginning(member, counter);
+ }
+
+ g_assert_not_reached();
+ return 0;
+}
+
+gint
+tvb_raw_offset(tvbuff_t *tvb)
+{
+ if (tvb->raw_offset == -1) {
+ tvb->raw_offset = offset_from_real_beginning(tvb, 0);
+ }
+ return tvb->raw_offset;
+}
+
+void
+tvb_compat(tvbuff_t *tvb, const guint8 **pd, int *offset)
+{
+ g_assert(tvb->initialized);
+ *pd = first_real_data_ptr(tvb);
+ *offset = tvb_raw_offset(tvb);
+}
+
+
+static guint8*
+composite_ensure_contiguous(tvbuff_t *tvb, guint abs_offset, guint abs_length)
+{
+ guint i, num_members;
+ tvb_comp_t *composite;
+ tvbuff_t *member_tvb = NULL;
+ guint member_offset, member_length;
+ GSList *slist;
+
+ g_assert(tvb->type == TVBUFF_COMPOSITE);
+
+ /* Maybe the range specified by offset/length
+ * is contiguous inside one of the member tvbuffs */
+ composite = &tvb->tvbuffs.composite;
+ num_members = g_slist_length(composite->tvbs);
+
+ for (i = 0; i < num_members; i++) {
+ if (abs_offset <= composite->end_offsets[i]) {
+ slist = g_slist_nth(composite->tvbs, i);
+ member_tvb = slist->data;
+ break;
+ }
+ }
+ g_assert(member_tvb);
+
+ if (check_offset_length_no_exception(member_tvb, abs_offset - composite->start_offsets[i],
+ abs_length, &member_offset, &member_length)) {
+
+ g_assert(!tvb->real_data);
+ return ensure_contiguous(member_tvb, member_offset, member_length);
+ }
+ else {
+ tvb->real_data = tvb_memdup(tvb, 0, -1);
+ return tvb->real_data + abs_offset;
+ }
+
+ g_assert_not_reached();
+ return NULL;
+}
+
+static guint8*
+ensure_contiguous(tvbuff_t *tvb, gint offset, gint length)
+{
+ guint abs_offset, abs_length;
+
+ check_offset_length(tvb, offset, length, &abs_offset, &abs_length);
+
+ if (tvb->real_data) {
+ return tvb->real_data + abs_offset;
+ }
+ else {
+ switch(tvb->type) {
+ case TVBUFF_REAL_DATA:
+ g_assert_not_reached();
+ case TVBUFF_SUBSET:
+ return ensure_contiguous(tvb->tvbuffs.subset.tvb,
+ abs_offset - tvb->tvbuffs.subset.offset,
+ abs_length);
+ case TVBUFF_COMPOSITE:
+ return composite_ensure_contiguous(tvb, abs_offset, abs_length);
+ }
+ }
+
+ g_assert_not_reached();
+ return NULL;
+}
+
+
+/************** ACCESSORS **************/
+
+static guint8*
+composite_memcpy(tvbuff_t *tvb, guint8* target, guint abs_offset, guint abs_length)
+{
+ guint i, num_members;
+ tvb_comp_t *composite;
+ tvbuff_t *member_tvb = NULL;
+ guint member_offset, member_length;
+ gboolean retval;
+ GSList *slist;
+
+ g_assert(tvb->type == TVBUFF_COMPOSITE);
+
+ /* Maybe the range specified by offset/length
+ * is contiguous inside one of the member tvbuffs */
+ composite = &tvb->tvbuffs.composite;
+ num_members = g_slist_length(composite->tvbs);
+
+ for (i = 0; i < num_members; i++) {
+ if (abs_offset <= composite->end_offsets[i]) {
+ slist = g_slist_nth(composite->tvbs, i);
+ member_tvb = slist->data;
+ break;
+ }
+ }
+ g_assert(member_tvb);
+
+ if (check_offset_length_no_exception(member_tvb, abs_offset - composite->start_offsets[i],
+ abs_length, &member_offset, &member_length)) {
+
+ g_assert(!tvb->real_data);
+ return tvb_memcpy(member_tvb, target, member_offset, member_length);
+ }
+ else {
+ /* The requested data is non-contiguous inside
+ * the member tvb. We have to memcpy() the part that's in the member tvb,
+ * then iterate across the other member tvb's, copying their portions
+ * until we have copied all data.
+ */
+ retval = compute_offset_length(member_tvb, abs_offset - composite->start_offsets[i], -1,
+ &member_offset, &member_length);
+ g_assert(retval);
+
+ tvb_memcpy(member_tvb, target, member_offset, member_length);
+ abs_offset += member_length;
+ abs_length -= member_length;
+
+ /* Recurse */
+ if (abs_length > 0) {
+ composite_memcpy(tvb, target + member_length, abs_offset, abs_length);
+ }
+
+ return target;
+ }
+
+ g_assert_not_reached();
+ return NULL;
+}
+
+guint8*
+tvb_memcpy(tvbuff_t *tvb, guint8* target, gint offset, gint length)
+{
+ guint abs_offset, abs_length;
+
+ check_offset_length(tvb, offset, length, &abs_offset, &abs_length);
+
+ if (tvb->real_data) {
+ return (guint8*) memcpy(target, tvb->real_data + abs_offset, abs_length);
+ }
+
+ switch(tvb->type) {
+ case TVBUFF_REAL_DATA:
+ g_assert_not_reached();
+
+ case TVBUFF_SUBSET:
+ return tvb_memcpy(tvb->tvbuffs.subset.tvb, target,
+ abs_offset - tvb->tvbuffs.subset.offset,
+ abs_length);
+
+ case TVBUFF_COMPOSITE:
+ return composite_memcpy(tvb, target, offset, length);
+ }
+
+ g_assert_not_reached();
+ return NULL;
+}
+
+
+guint8*
+tvb_memdup(tvbuff_t *tvb, gint offset, gint length)
+{
+ guint abs_offset, abs_length;
+ guint8 *duped;
+
+ check_offset_length(tvb, offset, length, &abs_offset, &abs_length);
+
+ duped = g_malloc(abs_length);
+ return tvb_memcpy(tvb, duped, abs_offset, abs_length);
+}
+
+
+
+guint8*
+tvb_get_ptr(tvbuff_t *tvb, gint offset, gint length)
+{
+ return ensure_contiguous(tvb, offset, length);
+}
+
+guint8
+tvb_get_guint8(tvbuff_t *tvb, gint offset)
+{
+ guint8* ptr;
+
+ ptr = ensure_contiguous(tvb, offset, sizeof(guint8));
+ return *ptr;
+}
+
+guint16
+tvb_get_ntohs(tvbuff_t *tvb, gint offset)
+{
+ guint8* ptr;
+
+ ptr = ensure_contiguous(tvb, offset, sizeof(guint16));
+ return pntohs(ptr);
+}
+
+guint32
+tvb_get_ntohl(tvbuff_t *tvb, gint offset)
+{
+ guint8* ptr;
+
+ ptr = ensure_contiguous(tvb, offset, sizeof(guint32));
+ return pntohl(ptr);
+}
+
+guint16
+tvb_get_letohs(tvbuff_t *tvb, gint offset)
+{
+ guint8* ptr;
+
+ ptr = ensure_contiguous(tvb, offset, sizeof(guint16));
+ return pletohs(ptr);
+}
+
+guint32
+tvb_get_letohl(tvbuff_t *tvb, gint offset)
+{
+ guint8* ptr;
+
+ ptr = ensure_contiguous(tvb, offset, sizeof(guint32));
+ return pletohl(ptr);
+}
diff --git a/tvbuff.h b/tvbuff.h
new file mode 100644
index 0000000000..0e00c60935
--- /dev/null
+++ b/tvbuff.h
@@ -0,0 +1,230 @@
+/* tvbuff.h
+ *
+ * Testy, Virtual(-izable) Buffer of guint8*'s
+ *
+ * "Testy" -- the buffer gets mad when an attempt is made to access data
+ * beyond the bounds of the buffer. An exception is thrown.
+ *
+ * "Virtual" -- the buffer can have its own data, can use a subset of
+ * the data of a backing tvbuff, or can be a composite of
+ * other tvbuffs.
+ *
+ * $Id: tvbuff.h,v 1.1 2000/05/11 08:16:00 gram Exp $
+ *
+ * Copyright (c) 2000 by Gilbert Ramirez <gram@xiexie.org>
+ *
+ * Ethereal - Network traffic analyzer
+ * By Gerald Combs <gerald@zing.org>
+ * Copyright 1998 Gerald Combs
+ *
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __TVBUFF_H__
+#define __TVBUFF_H__
+
+#ifndef __GLIB_H__
+#include <glib.h>
+#endif
+
+#ifndef __EXCEPTIONS_H__
+#include "exceptions.h"
+#endif
+
+typedef struct tvbuff tvbuff_t;
+
+typedef void (*tvbuff_free_cb_t)(void*);
+
+/* The different types of tvbuff's */
+typedef enum {
+ TVBUFF_REAL_DATA,
+ TVBUFF_SUBSET,
+ TVBUFF_COMPOSITE
+} tvbuff_type;
+
+/* TVBUFF_REAL_DATA contains a guint8* that points to real data.
+ * The data is allocated and contiguous.
+ *
+ * TVBUFF_SUBSET has a backing tvbuff. The TVBUFF_SUBSET is a "window"
+ * through which the program sees only a portion of the backing tvbuff.
+ *
+ * TVBUFF_COMPOSITE combines multiple tvbuffs sequentually to produce
+ * a larger byte array.
+ *
+ * tvbuff's of any type can be used as the backing-tvbuff of a
+ * TVBUFF_SUBSET or as the member of a TVBUFF_COMPOSITE.
+ * TVBUFF_COMPOSITEs can have member-tvbuffs of different types.
+ *
+ * Once a tvbuff is create/initialized/finalized, the tvbuff is read-only.
+ * That is, it cannot point to any other data. A new tvbuff must be created if
+ * you want a tvbuff that points to other data.
+ */
+
+
+/* "class" initialization. Called once during execution of program
+ * so that tvbuff.c can initialize its data. */
+void tvbuff_init(void);
+
+/* "class" cleanup. Called once during execution of program
+ * so that tvbuff.c can clean up its data. */
+void tvbuff_cleanup(void);
+
+
+/* Returns a pointer to a newly initialized tvbuff. Note that
+ * tvbuff's of types TVBUFF_SUBSET and TVBUFF_COMPOSITE
+ * require further initialization via the appropriate functions */
+tvbuff_t* tvb_new(tvbuff_type);
+
+/* Marks a tvbuff for freeing. The guint8* data is *never* freed by
+ * the tvbuff routines. The tvbuff is actually freed once its usage
+ * count drops to 0. Usage counts increment for any time the tvbuff is
+ * used as a member of another tvbuff, i.e., as the backing buffer for
+ * a TVBUFF_SUBSET or as a member of a TVBUFF_COMPOSITE.
+ *
+ * The caller can artificially increment/decrement the usage count
+ * with tvbuff_increment_usage_count()/tvbuff_decrement_usage_count().
+ */
+void tvb_free(tvbuff_t*);
+
+/* Free the tvbuff_t and all tvbuff's created from it. */
+void tvb_free_chain(tvbuff_t*);
+
+/* Both return the new usage count, after the increment or decrement */
+guint tvb_increment_usage_count(tvbuff_t*, guint count);
+/* If a decrement causes the usage count to drop to 0, a the tvbuff
+ * is immediately freed. Be sure you know exactly what you're doing
+ * if you decide to use this function, as another tvbuff could
+ * still have a pointer to the just-freed tvbuff, causing corrupted data
+ * or a segfault in the future */
+guint tvb_decrement_usage_count(tvbuff_t*, guint count);
+
+/* Set a callback function to call when a tvbuff is actually freed
+ * (once the usage count drops to 0). One argument is passed to
+ * that callback --- the guint* that points to the real data.
+ * Obviously, this only applies to a TVBUFF_REAL_DATA tvbuff. */
+void tvb_set_free_cb(tvbuff_t*, tvbuff_free_cb_t);
+
+
+/* Sets parameters for TVBUFF_REAL_DATA */
+void tvb_set_real_data(tvbuff_t*, const guint8* data, guint length);
+
+/* Combination of tvb_new() and tvb_set_real_data() */
+tvbuff_t* tvb_new_real_data(const guint8* data, guint length);
+
+
+/* Define the subset of the backing buffer to use.
+ *
+ * 'backing_offset' can be negative, to indicate bytes from
+ * the end of the backing buffer.
+ *
+ * 'backing_length' can be 0, although the usefulness of the buffer would
+ * be rather limited.
+ *
+ * 'backing_length' of -1 means "to the end of the backing buffer"
+ *
+ * Will throw BoundsError if 'backing_offset'/'length'
+ * is beyond the bounds of the backing tvbuff. */
+void tvb_set_subset(tvbuff_t* tvb, tvbuff_t* backing,
+ gint backing_offset, gint backing_length);
+
+/* Combination of tvb_new() and tvb_set_subset() */
+tvbuff_t* tvb_new_subset(tvbuff_t* backing,
+ gint backing_offset, gint backing_length);
+
+
+/* Both tvb_composite_append and tvb_composite_prepend can throw
+ * BoundsError if member_offset/member_length goes beyond bounds of
+ * the 'member' tvbuff. */
+
+/* Append to the list of tvbuffs that make up this composite tvbuff */
+void tvb_composite_append(tvbuff_t* tvb, tvbuff_t* member);
+
+/* Prepend to the list of tvbuffs that make up this composite tvbuff */
+void tvb_composite_prepend(tvbuff_t* tvb, tvbuff_t* member);
+
+/* Helper function that calls tvb_new(TVBUFF_COMPOSITE).
+ * Provided only to maintain symmetry with other constructors */
+tvbuff_t* tvb_new_composite(void);
+
+/* Mark a composite tvbuff as initialized. No further appends or prepends
+ * occur, data access can finally happen after this finalization. */
+void tvb_composite_finalize(tvbuff_t* tvb);
+
+
+/* Get total length of buffer */
+guint tvb_length(tvbuff_t*);
+
+/* Computes bytes to end of buffer, from offset (which can be negative,
+ * to indicate bytes from end of buffer). Function returns -1 to
+ * indicate that offset is out of bounds. No exception is thrown. */
+guint tvb_length_remaining(tvbuff_t*, gint offset);
+
+/* Checks (w/o throwing exception) that the bytes referred to by 'offset'/'length'
+ * actualy exist in the buffer */
+gboolean tvb_bytes_exist(tvbuff_t*, gint offset, gint length);
+
+/* Checks (w/o throwing exception) that offset exists in buffer */
+gboolean tvb_offset_exists(tvbuff_t*, gint offset);
+
+/* Returns the offset from the first byte of real data. This is
+ * the same value as 'offset' in tvb_compat() */
+gint tvb_raw_offset(tvbuff_t*);
+
+/************** START OF ACCESSORS ****************/
+/* All accessors will throw BoundsError if appropriate */
+
+guint8 tvb_get_guint8(tvbuff_t*, gint offset);
+guint16 tvb_get_ntohs(tvbuff_t*, gint offset);
+guint32 tvb_get_ntohl(tvbuff_t*, gint offset);
+guint16 tvb_get_letohs(tvbuff_t*, gint offset);
+guint32 tvb_get_letohl(tvbuff_t*, gint offset);
+
+/* Returns target for convenience. Does not suffer from possible
+ * expense of tvb_get_ptr(), since this routine is smart enough
+ * to copy data in chunks if the request range actually exists in
+ * different TVBUFF_REAL_DATA tvbuffs. */
+guint8* tvb_memcpy(tvbuff_t*, guint8* target, gint offset, gint length);
+
+/* It is the user's responsibility to g_free() the memory allocated by
+ * tvb_memdup(). Calls tvb_memcpy() */
+guint8* tvb_memdup(tvbuff_t*, gint offset, gint length);
+
+/* WARNING! This function is possibly expensive, temporarily allocating
+ * another copy of the packet data. Furthermore, it's dangerous because once
+ * this pointer is given to the user, there's no guarantee that the user will
+ * honor the 'length' and not overstep the boundaries of the buffer.
+ *
+ * Return a pointer into our buffer if the data asked for via 'offset'/'length'
+ * is contiguous (which might not be the case for TVBUFF_COMPOSITE). If the
+ * data is not contiguous, a tvb_memdup() is called for the entire buffer
+ * and the pointer to the newly-contiguous data is returned. This dynamically-
+ * allocated memory will be freed when the tvbuff is freed, after the
+ * tvbuff_free_cb_t() is called, if any. */
+guint8* tvb_get_ptr(tvbuff_t*, gint offset, gint length);
+
+/* Find length of string by looking for end of string ('\0'), up to
+ * 'max_length' characters'. Returns -1 if 'max_length' reached
+ * before finding EOS. */
+/*gint tvb_strnlen(tvbuff_t*, gint offset, gint max_length);*/
+
+/************** END OF ACCESSORS ****************/
+
+/* Sets pd and offset so that tvbuff's can be used with code
+ * that only understands pd/offset and not tvbuffs.
+ * This is the "compatibility" function */
+void tvb_compat(tvbuff_t*, const guint8 **pd, int *offset);
+
+#endif /* __TVBUFF_H__ */
diff --git a/xdlc.c b/xdlc.c
index 1bbd6d5fa4..982820165a 100644
--- a/xdlc.c
+++ b/xdlc.c
@@ -2,7 +2,7 @@
* Routines for use by various SDLC-derived protocols, such as HDLC
* and its derivatives LAPB, IEEE 802.2 LLC, etc..
*
- * $Id: xdlc.c,v 1.13 2000/03/14 06:03:26 guy Exp $
+ * $Id: xdlc.c,v 1.14 2000/05/11 08:16:00 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -249,45 +249,45 @@ dissect_xdlc_control(const u_char *pd, int offset, frame_data *fd,
col_add_str(fd, COL_INFO, info);
if (xdlc_tree) {
if (is_extended) {
- tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control,
+ tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control, NullTVB,
offset, 2,
control,
"Control field: %s (0x%04X)", info, control);
control_tree = proto_item_add_subtree(tc, ett_xdlc_control);
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_numeric_bitfield(control, XDLC_N_R_EXT_MASK, 2*8,
"N(R) = %u"));
if (control & XDLC_P_F_EXT) {
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_boolean_bitfield(control, XDLC_P_F_EXT, 2*8,
(is_response ? "Final" : "Poll"), NULL));
}
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_enumerated_bitfield(control, XDLC_S_FTYPE_MASK, 2*8,
stype_vals, "Supervisory frame - %s"));
/* This will always say it's a supervisory frame */
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_boolean_bitfield(control, 0x03, 2*8,
"Supervisory frame", NULL));
} else {
- tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control,
+ tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control, NullTVB,
offset, 1,
control,
"Control field: %s (0x%02X)", info, control);
control_tree = proto_item_add_subtree(tc, ett_xdlc_control);
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_numeric_bitfield(control, XDLC_N_R_MASK, 1*8,
"N(R) = %u"));
if (control & XDLC_P_F) {
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_boolean_bitfield(control, XDLC_P_F, 1*8,
(is_response ? "Final" : "Poll"), NULL));
}
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_enumerated_bitfield(control, XDLC_S_FTYPE_MASK, 1*8,
stype_vals, "%s"));
/* This will always say it's a supervisory frame */
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_boolean_bitfield(control, 0x03, 1*8,
"Supervisory frame", NULL));
}
@@ -323,22 +323,22 @@ dissect_xdlc_control(const u_char *pd, int offset, frame_data *fd,
if (check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, info);
if (xdlc_tree) {
- tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control,
+ tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control, NullTVB,
offset, 1,
control,
"Control field: %s (0x%02X)", info, control);
control_tree = proto_item_add_subtree(tc, ett_xdlc_control);
if (control & XDLC_P_F) {
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_boolean_bitfield(control, XDLC_P_F, 1*8,
(is_response ? "Final" : "Poll"), NULL));
}
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_enumerated_bitfield(control, XDLC_U_MODIFIER_MASK, 1*8,
(is_response ? modifier_vals_resp : modifier_vals_cmd),
"%s"));
/* This will always say it's an unnumbered frame */
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_boolean_bitfield(control, 0x03, 1*8,
"Unnumbered frame", NULL));
}
@@ -366,7 +366,7 @@ dissect_xdlc_control(const u_char *pd, int offset, frame_data *fd,
if (check_col(fd, COL_INFO))
col_add_str(fd, COL_INFO, info);
if (xdlc_tree) {
- tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control,
+ tc = proto_tree_add_uint_format(xdlc_tree, hf_xdlc_control, NullTVB,
offset, (is_extended) ? 2 : 1,
control,
(is_extended) ? "Control field: %s (0x%04X)"
@@ -374,35 +374,35 @@ dissect_xdlc_control(const u_char *pd, int offset, frame_data *fd,
info, control);
control_tree = proto_item_add_subtree(tc, ett_xdlc_control);
if (is_extended) {
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_numeric_bitfield(control, XDLC_N_R_EXT_MASK, 2*8,
"N(R) = %u"));
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_numeric_bitfield(control, XDLC_N_S_EXT_MASK, 2*8,
"N(S) = %u"));
if (control & XDLC_P_F_EXT) {
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_boolean_bitfield(control, XDLC_P_F_EXT, 2*8,
"Poll", NULL));
}
/* This will always say it's an information frame */
- proto_tree_add_text(control_tree, offset, 2,
+ proto_tree_add_text(control_tree, NullTVB, offset, 2,
decode_boolean_bitfield(control, 0x01, 2*8,
NULL, "Information frame"));
} else {
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_numeric_bitfield(control, XDLC_N_R_MASK, 1*8,
"N(R) = %u"));
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_numeric_bitfield(control, XDLC_N_S_MASK, 1*8,
"N(S) = %u"));
if (control & XDLC_P_F) {
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_boolean_bitfield(control, XDLC_P_F, 1*8,
"Poll", NULL));
}
/* This will always say it's an information frame */
- proto_tree_add_text(control_tree, offset, 1,
+ proto_tree_add_text(control_tree, NullTVB, offset, 1,
decode_boolean_bitfield(control, 0x01, 1*8,
NULL, "Information frame"));
}