15#ifndef __NETWORK_INSTRUMENTS_H__
16#define __NETWORK_INSTRUMENTS_H__
50#define CAPTURE_FILE_HEADER_FROM_LE_IN_PLACE(_capture_file_header) \
51 _capture_file_header.offset_to_first_packet = GUINT16_FROM_LE((_capture_file_header).offset_to_first_packet)
54#define CAPTURE_FILE_HEADER_TO_LE_IN_PLACE(_capture_file_header) \
55 _capture_file_header.offset_to_first_packet = GUINT16_TO_LE((_capture_file_header).offset_to_first_packet)
67#define TLV_HEADER_FROM_LE_IN_PLACE(_tlv_header) \
68 (_tlv_header).type = GUINT16_FROM_LE((_tlv_header).type); \
69 (_tlv_header).length = GUINT16_FROM_LE((_tlv_header).length)
72#define TLV_HEADER_TO_LE_IN_PLACE(_tlv_header) \
73 (_tlv_header).type = GUINT16_TO_LE((_tlv_header).type); \
74 (_tlv_header).length = GUINT16_TO_LE((_tlv_header).length)
112#define INFORMATION_TYPE_ALIAS_LIST 0x0001
113#define INFORMATION_TYPE_COMMENT 0x0002
114#define INFORMATION_TYPE_TIME_INFO 0x0004
115#define INFORMATION_TYPE_REMOTE_PROBE 0x0005
116#define INFORMATION_TYPE_NETWORK_LOAD 0x0100
117#define INFORMATION_TYPE_WIRELESS 0x0101
118#define INFORMATION_TYPE_CAPTURE_START_STOP 0x0104
134#define TIME_INFO_LOCAL 0
135#define TIME_INFO_GMT 1
138#define TLV_TIME_INFO_FROM_LE_IN_PLACE(_tlv_time_info) \
139 (_tlv_time_info).time_format = GUINT32_FROM_LE((_tlv_time_info).time_format)
142#define TLV_TIME_INFO_TO_LE_IN_PLACE(_tlv_time_info) \
143 (_tlv_time_info).time_format = GUINT32_TO_LE((_tlv_time_info).time_format)
165#define TLV_NETWORK_LOAD_FROM_LE_IN_PLACE(_tlv_network_load) \
166 (_tlv_network_load).utilization = GUINT32_FROM_LE((_tlv_network_load).utilization); \
167 (_tlv_network_load).unknown1 = GUINT32_FROM_LE((_tlv_network_load).unknown1); \
168 (_tlv_network_load).unknown2 = GUINT32_FROM_LE((_tlv_network_load).unknown2); \
169 (_tlv_network_load).packets_per_second = GUINT32_FROM_LE((_tlv_network_load).packets_per_second); \
170 (_tlv_network_load).unknown3 = GUINT32_FROM_LE((_tlv_network_load).unknown3); \
171 (_tlv_network_load).bytes_per_second = GUINT32_FROM_LE((_tlv_network_load).bytes_per_second); \
172 (_tlv_network_load).unknown4 = GUINT32_FROM_LE((_tlv_network_load).unknown4)
175#define TLV_NETWORK_LOAD_TO_LE_IN_PLACE(_tlv_network_load) \
176 (_tlv_network_load).utilization = GUINT32_TO_LE((_tlv_network_load).utilization); \
177 (_tlv_network_load).unknown1 = GUINT32_TO_LE((_tlv_network_load).unknown1); \
178 (_tlv_network_load).unknown2 = GUINT32_TO_LE((_tlv_network_load).unknown2); \
179 (_tlv_network_load).packets_per_second = GUINT32_TO_LE((_tlv_network_load).packets_per_second); \
180 (_tlv_network_load).unknown3 = GUINT32_TO_LE((_tlv_network_load).unknown3); \
181 (_tlv_network_load).bytes_per_second = GUINT32_TO_LE((_tlv_network_load).bytes_per_second); \
182 (_tlv_network_load).unknown4 = GUINT32_TO_LE((_tlv_network_load).unknown4)
204#define WIRELESS_WEP_SUCCESS 0x80
214#define START_STOP_TYPE_STOP 0
215#define START_STOP_TYPE_START 1
239#define PACKET_ENTRY_HEADER_FROM_LE_IN_PLACE(_packet_entry_header) \
240 (_packet_entry_header).packet_magic = GUINT32_FROM_LE((_packet_entry_header).packet_magic); \
241 (_packet_entry_header).network_speed = GUINT32_FROM_LE((_packet_entry_header).network_speed); \
242 (_packet_entry_header).captured_size = GUINT16_FROM_LE((_packet_entry_header).captured_size); \
243 (_packet_entry_header).network_size = GUINT16_FROM_LE((_packet_entry_header).network_size); \
244 (_packet_entry_header).offset_to_frame = GUINT16_FROM_LE((_packet_entry_header).offset_to_frame); \
245 (_packet_entry_header).offset_to_next_packet = GUINT16_FROM_LE((_packet_entry_header).offset_to_next_packet); \
246 (_packet_entry_header).errors = GUINT16_FROM_LE((_packet_entry_header).errors); \
247 (_packet_entry_header).reserved = GUINT16_FROM_LE((_packet_entry_header).reserved); \
248 (_packet_entry_header).packet_number = GUINT64_FROM_LE((_packet_entry_header).packet_number); \
249 (_packet_entry_header).original_packet_number = GUINT64_FROM_LE((_packet_entry_header).original_packet_number); \
250 (_packet_entry_header).nano_seconds_since_2000 = GUINT64_FROM_LE((_packet_entry_header).nano_seconds_since_2000)
252#define PACKET_ENTRY_HEADER_TO_LE_IN_PLACE(_packet_entry_header) \
253 (_packet_entry_header).packet_magic = GUINT32_TO_LE((_packet_entry_header).packet_magic); \
254 (_packet_entry_header).network_speed = GUINT32_TO_LE((_packet_entry_header).network_speed); \
255 (_packet_entry_header).captured_size = GUINT16_TO_LE((_packet_entry_header).captured_size); \
256 (_packet_entry_header).network_size = GUINT16_TO_LE((_packet_entry_header).network_size); \
257 (_packet_entry_header).offset_to_frame = GUINT16_TO_LE((_packet_entry_header).offset_to_frame); \
258 (_packet_entry_header).offset_to_next_packet = GUINT16_TO_LE((_packet_entry_header).offset_to_next_packet); \
259 (_packet_entry_header).errors = GUINT16_TO_LE((_packet_entry_header).errors); \
260 (_packet_entry_header).reserved = GUINT16_TO_LE((_packet_entry_header).reserved); \
261 (_packet_entry_header).packet_number = GUINT64_TO_LE((_packet_entry_header).packet_number); \
262 (_packet_entry_header).original_packet_number = GUINT64_TO_LE((_packet_entry_header).original_packet_number); \
263 (_packet_entry_header).nano_seconds_since_2000 = GUINT64_TO_LE((_packet_entry_header).nano_seconds_since_2000)
268#define OBSERVER_UNDEFINED 0xFF
269#define OBSERVER_ETHERNET 0x00
270#define OBSERVER_TOKENRING 0x01
271#define OBSERVER_FIBRE_CHANNEL 0x08
272#define OBSERVER_WIRELESS_802_11 0x09
277#define PACKET_TYPE_DATA_PACKET 0
278#define PACKET_TYPE_EXPERT_INFORMATION_PACKET 1
wtap_open_return_val observer_open(wtap *wth, int *err, char **err_info)
Opens a capture file using the observer format.
Definition observer.c:123
TLV payload recording a capture start or stop event in the Observer capture file.
Definition observer.h:210
uint32_t start_stop
Definition observer.h:211
TLV payload carrying a network load snapshot sampled at the time of capture.
Definition observer.h:154
uint32_t unknown2
Definition observer.h:157
uint32_t unknown4
Definition observer.h:161
uint32_t packets_per_second
Definition observer.h:158
uint32_t unknown3
Definition observer.h:159
uint32_t bytes_per_second
Definition observer.h:160
uint32_t unknown1
Definition observer.h:156
uint32_t utilization
Definition observer.h:155
TLV payload carrying the timestamp reference timezone for an Observer capture file.
Definition observer.h:130
uint32_t time_format
Definition observer.h:131
TLV payload carrying wireless signal and channel quality metrics for a captured packet.
Definition observer.h:193
uint8_t rate
Definition observer.h:196
uint8_t frequency
Definition observer.h:197
uint8_t conditions
Definition observer.h:200
uint8_t quality
Definition observer.h:194
uint8_t strengthPercent
Definition observer.h:199
uint8_t qualityPercent
Definition observer.h:198
uint8_t reserved
Definition observer.h:201
uint8_t signalStrength
Definition observer.h:195
Definition wtap_module.h:58
wtap_open_return_val
For registering file types that we can open.
Definition wtap.h:1851