15#ifndef __NETWORK_INSTRUMENTS_H__
16#define __NETWORK_INSTRUMENTS_H__
29 char observer_version[31];
30 uint8_t offset_to_first_packet_high_byte;
31 uint16_t offset_to_first_packet;
33 uint8_t number_of_information_elements;
36#define CAPTURE_FILE_HEADER_FROM_LE_IN_PLACE(_capture_file_header) \
37 _capture_file_header.offset_to_first_packet = GUINT16_FROM_LE((_capture_file_header).offset_to_first_packet)
39#define CAPTURE_FILE_HEADER_TO_LE_IN_PLACE(_capture_file_header) \
40 _capture_file_header.offset_to_first_packet = GUINT16_TO_LE((_capture_file_header).offset_to_first_packet)
48#define TLV_HEADER_FROM_LE_IN_PLACE(_tlv_header) \
49 (_tlv_header).type = GUINT16_FROM_LE((_tlv_header).type); \
50 (_tlv_header).length = GUINT16_FROM_LE((_tlv_header).length)
52#define TLV_HEADER_TO_LE_IN_PLACE(_tlv_header) \
53 (_tlv_header).type = GUINT16_TO_LE((_tlv_header).type); \
54 (_tlv_header).length = GUINT16_TO_LE((_tlv_header).length)
92#define INFORMATION_TYPE_ALIAS_LIST 0x0001
93#define INFORMATION_TYPE_COMMENT 0x0002
94#define INFORMATION_TYPE_TIME_INFO 0x0004
95#define INFORMATION_TYPE_REMOTE_PROBE 0x0005
96#define INFORMATION_TYPE_NETWORK_LOAD 0x0100
97#define INFORMATION_TYPE_WIRELESS 0x0101
98#define INFORMATION_TYPE_CAPTURE_START_STOP 0x0104
108 uint32_t time_format;
114#define TIME_INFO_LOCAL 0
115#define TIME_INFO_GMT 1
117#define TLV_TIME_INFO_FROM_LE_IN_PLACE(_tlv_time_info) \
118 (_tlv_time_info).time_format = GUINT32_FROM_LE((_tlv_time_info).time_format)
120#define TLV_TIME_INFO_TO_LE_IN_PLACE(_tlv_time_info) \
121 (_tlv_time_info).time_format = GUINT32_TO_LE((_tlv_time_info).time_format)
129 uint32_t utilization;
132 uint32_t packets_per_second;
134 uint32_t bytes_per_second;
138#define TLV_NETWORK_LOAD_FROM_LE_IN_PLACE(_tlv_network_load) \
139 (_tlv_network_load).utilization = GUINT32_FROM_LE((_tlv_network_load).utilization); \
140 (_tlv_network_load).unknown1 = GUINT32_FROM_LE((_tlv_network_load).unknown1); \
141 (_tlv_network_load).unknown2 = GUINT32_FROM_LE((_tlv_network_load).unknown2); \
142 (_tlv_network_load).packets_per_second = GUINT32_FROM_LE((_tlv_network_load).packets_per_second); \
143 (_tlv_network_load).unknown3 = GUINT32_FROM_LE((_tlv_network_load).unknown3); \
144 (_tlv_network_load).bytes_per_second = GUINT32_FROM_LE((_tlv_network_load).bytes_per_second); \
145 (_tlv_network_load).unknown4 = GUINT32_FROM_LE((_tlv_network_load).unknown4) \
147#define TLV_NETWORK_LOAD_TO_LE_IN_PLACE(_tlv_network_load) \
148 (_tlv_network_load).utilization = GUINT32_TO_LE((_tlv_network_load).utilization); \
149 (_tlv_network_load).unknown1 = GUINT32_TO_LE((_tlv_network_load).unknown1); \
150 (_tlv_network_load).unknown2 = GUINT32_TO_LE((_tlv_network_load).unknown2); \
151 (_tlv_network_load).packets_per_second = GUINT32_TO_LE((_tlv_network_load).packets_per_second); \
152 (_tlv_network_load).unknown3 = GUINT32_TO_LE((_tlv_network_load).unknown3); \
153 (_tlv_network_load).bytes_per_second = GUINT32_TO_LE((_tlv_network_load).bytes_per_second); \
154 (_tlv_network_load).unknown4 = GUINT32_TO_LE((_tlv_network_load).unknown4) \
168 uint8_t signalStrength;
171 uint8_t qualityPercent;
172 uint8_t strengthPercent;
180#define WIRELESS_WEP_SUCCESS 0x80
189#define START_STOP_TYPE_STOP 0
190#define START_STOP_TYPE_START 1
194 uint32_t packet_magic;
195 uint32_t network_speed;
196 uint16_t captured_size;
197 uint16_t network_size;
198 uint16_t offset_to_frame;
199 uint16_t offset_to_next_packet;
200 uint8_t network_type;
202 uint8_t number_of_information_elements;
206 uint64_t packet_number;
207 uint64_t original_packet_number;
208 uint64_t nano_seconds_since_2000;
211#define PACKET_ENTRY_HEADER_FROM_LE_IN_PLACE(_packet_entry_header) \
212 (_packet_entry_header).packet_magic = GUINT32_FROM_LE((_packet_entry_header).packet_magic); \
213 (_packet_entry_header).network_speed = GUINT32_FROM_LE((_packet_entry_header).network_speed); \
214 (_packet_entry_header).captured_size = GUINT16_FROM_LE((_packet_entry_header).captured_size); \
215 (_packet_entry_header).network_size = GUINT16_FROM_LE((_packet_entry_header).network_size); \
216 (_packet_entry_header).offset_to_frame = GUINT16_FROM_LE((_packet_entry_header).offset_to_frame); \
217 (_packet_entry_header).offset_to_next_packet = GUINT16_FROM_LE((_packet_entry_header).offset_to_next_packet); \
218 (_packet_entry_header).errors = GUINT16_FROM_LE((_packet_entry_header).errors); \
219 (_packet_entry_header).reserved = GUINT16_FROM_LE((_packet_entry_header).reserved); \
220 (_packet_entry_header).packet_number = GUINT64_FROM_LE((_packet_entry_header).packet_number); \
221 (_packet_entry_header).original_packet_number = GUINT64_FROM_LE((_packet_entry_header).original_packet_number); \
222 (_packet_entry_header).nano_seconds_since_2000 = GUINT64_FROM_LE((_packet_entry_header).nano_seconds_since_2000)
224#define PACKET_ENTRY_HEADER_TO_LE_IN_PLACE(_packet_entry_header) \
225 (_packet_entry_header).packet_magic = GUINT32_TO_LE((_packet_entry_header).packet_magic); \
226 (_packet_entry_header).network_speed = GUINT32_TO_LE((_packet_entry_header).network_speed); \
227 (_packet_entry_header).captured_size = GUINT16_TO_LE((_packet_entry_header).captured_size); \
228 (_packet_entry_header).network_size = GUINT16_TO_LE((_packet_entry_header).network_size); \
229 (_packet_entry_header).offset_to_frame = GUINT16_TO_LE((_packet_entry_header).offset_to_frame); \
230 (_packet_entry_header).offset_to_next_packet = GUINT16_TO_LE((_packet_entry_header).offset_to_next_packet); \
231 (_packet_entry_header).errors = GUINT16_TO_LE((_packet_entry_header).errors); \
232 (_packet_entry_header).reserved = GUINT16_TO_LE((_packet_entry_header).reserved); \
233 (_packet_entry_header).packet_number = GUINT64_TO_LE((_packet_entry_header).packet_number); \
234 (_packet_entry_header).original_packet_number = GUINT64_TO_LE((_packet_entry_header).original_packet_number); \
235 (_packet_entry_header).nano_seconds_since_2000 = GUINT64_TO_LE((_packet_entry_header).nano_seconds_since_2000)
240#define OBSERVER_UNDEFINED 0xFF
241#define OBSERVER_ETHERNET 0x00
242#define OBSERVER_TOKENRING 0x01
243#define OBSERVER_FIBRE_CHANNEL 0x08
244#define OBSERVER_WIRELESS_802_11 0x09
249#define PACKET_TYPE_DATA_PACKET 0
250#define PACKET_TYPE_EXPERT_INFORMATION_PACKET 1
Definition observer.h:185
Definition observer.h:128
Definition observer.h:107
Definition observer.h:166
Definition wtap_module.h:58
wtap_open_return_val
For registering file types that we can open.
Definition wtap.h:1750