aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packet.c82
-rw-r--r--packet.h8
-rw-r--r--util.c87
-rw-r--r--util.h12
4 files changed, 90 insertions, 99 deletions
diff --git a/packet.c b/packet.c
index a9342023b2..6f8762a24b 100644
--- a/packet.c
+++ b/packet.c
@@ -1,7 +1,7 @@
/* packet.c
* Routines for packet disassembly
*
- * $Id: packet.c,v 1.23 1999/03/30 04:41:01 guy Exp $
+ * $Id: packet.c,v 1.24 1999/03/31 08:20:28 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -360,6 +360,86 @@ match_strval(guint32 val, const value_string *vs) {
return(NULL);
}
+/* Generate, into "buf", a string showing the bits of a bitfield.
+ Return a pointer to the character after that string. */
+static char *
+decode_bitfield_value(char *buf, guint32 val, guint32 mask, int width)
+{
+ int i;
+ guint32 bit;
+ char *p;
+
+ i = 0;
+ p = buf;
+ bit = 1 << (width - 1);
+ for (;;) {
+ if (mask & bit) {
+ /* This bit is part of the field. Show its value. */
+ if (val & bit)
+ *p++ = '1';
+ else
+ *p++ = '0';
+ } else {
+ /* This bit is not part of the field. */
+ *p++ = '.';
+ }
+ bit >>= 1;
+ i++;
+ if (i >= width)
+ break;
+ if (i % 4 == 0)
+ *p++ = ' ';
+ }
+ strcpy(p, " = ");
+ p += 3;
+ return p;
+}
+
+/* Generate a string describing a Boolean bitfield (a one-bit field that
+ says something is either true of false). */
+const char *
+decode_boolean_bitfield(guint32 val, guint32 mask, int width,
+ const char *truedesc, const char *falsedesc)
+{
+ static char buf[1025];
+ char *p;
+
+ p = decode_bitfield_value(buf, val, mask, width);
+ if (val & mask)
+ strcpy(p, truedesc);
+ else
+ strcpy(p, falsedesc);
+ return buf;
+}
+
+/* Generate a string describing an enumerated bitfield (an N-bit field
+ with various specific values having particular names). */
+const char *
+decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
+ const value_string *tab, const char *fmt)
+{
+ static char buf[1025];
+ char *p;
+
+ p = decode_bitfield_value(buf, val, mask, width);
+ sprintf(p, fmt, val_to_str(val & mask, tab, "Unknown"));
+ return buf;
+}
+
+/* Generate a string describing a numeric bitfield (an N-bit field whose
+ value is just a number). */
+const char *
+decode_numeric_bitfield(guint32 val, guint32 mask, int width,
+ const char *fmt)
+{
+ static char buf[1025];
+ char *p;
+
+ p = decode_bitfield_value(buf, val, mask, width);
+ sprintf(p, fmt, val & mask);
+ return buf;
+}
+
/* Checks to see if a particular packet information element is needed for
the packet list */
gint
diff --git a/packet.h b/packet.h
index 3a36e1b08b..2dbf0cbacd 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.43 1999/03/30 04:41:00 guy Exp $
+ * $Id: packet.h,v 1.44 1999/03/31 08:20:27 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -243,6 +243,12 @@ int get_token_len(const u_char *linep, const u_char *lineend,
gchar* format_text(const u_char *line, int len);
gchar* val_to_str(guint32, const value_string *, const char *);
gchar* match_strval(guint32, const value_string*);
+const char *decode_boolean_bitfield(guint32 val, guint32 mask, int width,
+ const char *truedesc, const char *falsedesc);
+const char *decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
+ const value_string *tab, const char *fmt);
+const char *decode_numeric_bitfield(guint32 val, guint32 mask, int width,
+ const char *fmt);
gint check_col(frame_data *, gint);
#if __GNUC__ == 2
void col_add_fstr(frame_data *, gint, gchar *, ...)
diff --git a/util.c b/util.c
index d5c99a9c9d..816b0379f9 100644
--- a/util.c
+++ b/util.c
@@ -1,7 +1,7 @@
/* util.c
* Utility routines
*
- * $Id: util.c,v 1.11 1999/03/23 03:14:46 gram Exp $
+ * $Id: util.c,v 1.12 1999/03/31 08:20:28 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -27,10 +27,6 @@
# include "config.h"
#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-
#include <glib.h>
#include <gtk/gtk.h>
@@ -48,7 +44,6 @@
# include "snprintf.h"
#endif
-#include "packet.h"
#include "util.h"
#include "image/icon-excl.xpm"
@@ -172,83 +167,3 @@ simple_dialog_cancel_cb(GtkWidget *w, gpointer win) {
*btn_mask = ESD_BTN_CANCEL;
gtk_widget_destroy(GTK_WIDGET(win));
}
-
-/* Generate, into "buf", a string showing the bits of a bitfield.
- Return a pointer to the character after that string. */
-static char *
-decode_bitfield_value(char *buf, guint32 val, guint32 mask, int width)
-{
- int i;
- guint32 bit;
- char *p;
-
- i = 0;
- p = buf;
- bit = 1 << (width - 1);
- for (;;) {
- if (mask & bit) {
- /* This bit is part of the field. Show its value. */
- if (val & bit)
- *p++ = '1';
- else
- *p++ = '0';
- } else {
- /* This bit is not part of the field. */
- *p++ = '.';
- }
- bit >>= 1;
- i++;
- if (i >= width)
- break;
- if (i % 4 == 0)
- *p++ = ' ';
- }
- strcpy(p, " = ");
- p += 3;
- return p;
-}
-
-/* Generate a string describing a Boolean bitfield (a one-bit field that
- says something is either true of false). */
-const char *
-decode_boolean_bitfield(guint32 val, guint32 mask, int width,
- const char *truedesc, const char *falsedesc)
-{
- static char buf[1025];
- char *p;
-
- p = decode_bitfield_value(buf, val, mask, width);
- if (val & mask)
- strcpy(p, truedesc);
- else
- strcpy(p, falsedesc);
- return buf;
-}
-
-/* Generate a string describing an enumerated bitfield (an N-bit field
- with various specific values having particular names). */
-const char *
-decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
- const value_string *tab, const char *fmt)
-{
- static char buf[1025];
- char *p;
-
- p = decode_bitfield_value(buf, val, mask, width);
- sprintf(p, fmt, val_to_str(val & mask, tab, "Unknown"));
- return buf;
-}
-
-/* Generate a string describing a numeric bitfield (an N-bit field whose
- value is just a number). */
-const char *
-decode_numeric_bitfield(guint32 val, guint32 mask, int width,
- const char *fmt)
-{
- static char buf[1025];
- char *p;
-
- p = decode_bitfield_value(buf, val, mask, width);
- sprintf(p, fmt, val & mask);
- return buf;
-}
diff --git a/util.h b/util.h
index ec554245c1..aa351c17e0 100644
--- a/util.h
+++ b/util.h
@@ -1,7 +1,7 @@
/* util.h
* Utility definitions
*
- * $Id: util.h,v 1.7 1999/03/23 03:14:46 gram Exp $
+ * $Id: util.h,v 1.8 1999/03/31 08:20:28 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -46,16 +46,6 @@ void simple_dialog(gint, gint *, gchar *, ...)
void simple_dialog(gint, gint *, gchar *, ...);
#endif
-
-const char *decode_boolean_bitfield(guint32 val, guint32 mask, int width,
- const char *truedesc, const char *falsedesc);
-
-const char *decode_enumerated_bitfield(guint32 val, guint32 mask, int width,
- const value_string *tab, const char *fmt);
-
-const char *decode_numeric_bitfield(guint32 val, guint32 mask, int width,
- const char *fmt);
-
#ifdef __cplusplus
}
#endif /* __cplusplus */