2003-10-31 00:43:21 +00:00
|
|
|
/*
|
2004-07-18 00:24:25 +00:00
|
|
|
* $Id$
|
2003-10-31 00:43:21 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
/***************************************************************************
|
|
|
|
NetworkInstruments.h - description
|
|
|
|
-------------------
|
|
|
|
begin : Wed Oct 29 2003
|
|
|
|
copyright : (C) 2003 by root
|
|
|
|
email : scotte[AT}netinst.com
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
/***************************************************************************
|
|
|
|
* *
|
|
|
|
* 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. *
|
|
|
|
* *
|
|
|
|
***************************************************************************/
|
|
|
|
|
|
|
|
#ifndef __NETWORK_INSTRUMENTS_H__
|
|
|
|
#define __NETWORK_INSTRUMENTS_H__
|
|
|
|
|
Have the Wiretap open, read, and seek-and-read routines return, in
addition to an error code, an error info string, for
WTAP_ERR_UNSUPPORTED, WTAP_ERR_UNSUPPORTED_ENCAP, and
WTAP_ERR_BAD_RECORD errors. Replace the error messages logged with
"g_message()" for those errors with g_strdup()ed or g_strdup_printf()ed
strings returned as the error info string, and change the callers of
those routines to, for those errors, put the info string into the
printed message or alert box for the error.
Add messages for cases where those errors were returned without printing
an additional message.
Nobody uses the error code from "cf_read()" - "cf_read()" puts up the
alert box itself for failures; get rid of the error code, so it just
returns a success/failure indication.
Rename "file_read_error_message()" to "cf_read_error_message()", as it
handles read errors from Wiretap, and have it take an error info string
as an argument. (That handles a lot of the work of putting the info
string into the error message.)
Make some variables in "ascend-grammar.y" static.
Check the return value of "erf_read_header()" in "erf_seek_read()".
Get rid of an unused #define in "i4btrace.c".
svn path=/trunk/; revision=9852
2004-01-25 21:55:17 +00:00
|
|
|
int network_instruments_open(wtap *wth, int *err, gchar **err_info);
|
2003-11-06 22:45:28 +00:00
|
|
|
int network_instruments_dump_can_write_encap(int encap);
|
|
|
|
gboolean network_instruments_dump_open(wtap_dumper *wdh, gboolean cant_seek, int *err);
|
2003-10-31 00:43:21 +00:00
|
|
|
|
|
|
|
typedef struct capture_file_header
|
|
|
|
{
|
|
|
|
char observer_version[32];
|
|
|
|
guint16 offset_to_first_packet;
|
|
|
|
char probe_instance;
|
2006-04-16 00:52:36 +00:00
|
|
|
guint8 number_of_information_elements; /* number of TLVs in the header */
|
2003-10-31 00:43:21 +00:00
|
|
|
} capture_file_header;
|
|
|
|
|
2006-04-16 00:52:36 +00:00
|
|
|
typedef struct tlv_header
|
|
|
|
{
|
|
|
|
guint16 type;
|
|
|
|
guint16 length; /* includes the length of the TLV header */
|
|
|
|
} tlv_header;
|
2006-04-14 10:22:29 +00:00
|
|
|
|
|
|
|
/*
|
2006-04-16 00:52:36 +00:00
|
|
|
* TLV type values.
|
2006-04-14 10:22:29 +00:00
|
|
|
*/
|
2006-04-16 00:52:36 +00:00
|
|
|
#define INFORMATION_TYPE_ALIAS_LIST 0x01
|
|
|
|
#define INFORMATION_TYPE_COMMENT 0x02 /* ASCII text */
|
2006-04-14 10:22:29 +00:00
|
|
|
|
2003-10-31 00:43:21 +00:00
|
|
|
typedef struct packet_entry_header
|
|
|
|
{
|
|
|
|
guint32 packet_magic;
|
|
|
|
guint32 network_speed;
|
|
|
|
guint16 captured_size;
|
|
|
|
guint16 network_size;
|
|
|
|
guint16 offset_to_frame;
|
|
|
|
guint16 offset_to_next_packet;
|
|
|
|
guint8 network_type;
|
|
|
|
guint8 flags;
|
2006-04-16 00:52:36 +00:00
|
|
|
guint8 number_of_information_elements; /* number of TLVs in the header */
|
2003-10-31 00:43:21 +00:00
|
|
|
guint8 packet_type;
|
|
|
|
guint16 errors;
|
|
|
|
guint16 reserved;
|
|
|
|
guint64 packet_number;
|
|
|
|
guint64 original_packet_number;
|
|
|
|
guint64 nano_seconds_since_2000;
|
|
|
|
} packet_entry_header;
|
|
|
|
|
2006-04-16 00:52:36 +00:00
|
|
|
/*
|
|
|
|
* Network type values.
|
|
|
|
*/
|
|
|
|
#define OBSERVER_UNDEFINED 0xFF
|
|
|
|
#define OBSERVER_ETHERNET 0x00
|
|
|
|
#define OBSERVER_TOKENRING 0x01
|
|
|
|
#define OBSERVER_FDDI 0x02
|
2003-10-31 00:43:21 +00:00
|
|
|
|
2006-04-16 00:52:36 +00:00
|
|
|
/*
|
|
|
|
* Packet type values.
|
|
|
|
*/
|
|
|
|
#define PACKET_TYPE_DATA_PACKET 0
|
|
|
|
#define PACKET_TYPE_EXPERT_INFORMATION_PACKET 1
|
2003-10-31 00:43:21 +00:00
|
|
|
|
2006-04-16 00:52:36 +00:00
|
|
|
/*
|
|
|
|
* The Observer document indicates that the types of expert information
|
|
|
|
* packets are:
|
|
|
|
*
|
|
|
|
* Network Load (markers used by Expert Time Interval and What If
|
|
|
|
* analysis modes)
|
|
|
|
*
|
|
|
|
* Start/Stop Packet Capture marker frames (with time stamps when
|
|
|
|
* captures start and stop)
|
|
|
|
*
|
|
|
|
* Wireless Channel Change (markers showing what channel was being
|
|
|
|
* currently listened to)
|
|
|
|
*
|
|
|
|
* That information appears to be contained in TLVs.
|
|
|
|
*/
|
2003-10-31 00:43:21 +00:00
|
|
|
|
2006-04-16 00:52:36 +00:00
|
|
|
/*
|
|
|
|
* TLV type values.
|
|
|
|
*/
|
|
|
|
#define INFORMATION_TYPE_NETWORK_LOAD 0x0100
|
|
|
|
#define INFORMATION_TYPE_CAPTURE_START_STOP 0x0104
|
2003-10-31 00:43:21 +00:00
|
|
|
|
2006-04-16 00:52:36 +00:00
|
|
|
/*
|
|
|
|
* Might some of these be broadcast and multicast packet counts?
|
|
|
|
*/
|
|
|
|
typedef struct tlv_network_load
|
|
|
|
{
|
2006-04-19 03:42:06 +00:00
|
|
|
guint32 utilization; /* network utilization, in .1% units */
|
2006-04-16 00:52:36 +00:00
|
|
|
guint32 unknown1;
|
|
|
|
guint32 unknown2;
|
|
|
|
guint32 packets_per_second;
|
2006-04-19 03:42:06 +00:00
|
|
|
guint32 unknown3;
|
2006-04-16 00:52:36 +00:00
|
|
|
guint32 bytes_per_second;
|
2006-04-19 03:42:06 +00:00
|
|
|
guint32 unknown4;
|
2006-04-16 00:52:36 +00:00
|
|
|
} tlv_network_load;
|
|
|
|
|
|
|
|
typedef struct tlv_capture_start_stop
|
|
|
|
{
|
|
|
|
guint32 start_stop;
|
|
|
|
} tlv_capture_start_stop;
|
2003-10-31 00:43:21 +00:00
|
|
|
|
2006-04-16 00:52:36 +00:00
|
|
|
#define START_STOP_TYPE_STOP 0
|
|
|
|
#define START_STOP_TYPE_START 1
|
2003-10-31 00:43:21 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|