10 #ifndef WTAP_OPT_TYPES_H 11 #define WTAP_OPT_TYPES_H 13 #include "ws_symbol_export.h" 15 #include <wsutil/inet_ipv6.h> 30 #define OPT_SHB_HARDWARE 2 36 #define OPT_SHB_USERAPPL 4 41 #define OPT_IDB_NAME 2 45 #define OPT_IDB_DESCR 3 49 #define OPT_IDB_IP4ADDR 4 54 #define OPT_IDB_IP6ADDR 5 59 #define OPT_IDB_MACADDR 6 60 #define OPT_IDB_EUIADDR 7 61 #define OPT_IDB_SPEED 8 63 #define OPT_IDB_TSRESOL 9 72 #define OPT_IDB_TZONE 10 73 #define OPT_IDB_FILTER 11 88 #define OPT_IDB_FCSLEN 13 93 #define OPT_IDB_TSOFFSET 14 102 #define OPT_NS_DNSNAME 2 103 #define OPT_NS_DNSIP4ADDR 3 104 #define OPT_NS_DNSIP6ADDR 4 106 #define OPT_ISB_STARTTIME 2 107 #define OPT_ISB_ENDTIME 3 108 #define OPT_ISB_IFRECV 4 109 #define OPT_ISB_IFDROP 5 110 #define OPT_ISB_FILTERACCEPT 6 111 #define OPT_ISB_OSDROP 7 112 #define OPT_ISB_USRDELIV 8 122 WTAP_BLOCK_NG_SECTION = 0,
126 WTAP_BLOCK_END_OF_LIST
140 WTAP_OPTTYPE_SUCCESS = 0,
141 WTAP_OPTTYPE_NO_SUCH_OPTION = -1,
142 WTAP_OPTTYPE_NOT_FOUND = -2,
143 WTAP_OPTTYPE_TYPE_MISMATCH = -3,
144 WTAP_OPTTYPE_NUMBER_MISMATCH = -4,
145 WTAP_OPTTYPE_ALREADY_EXISTS = -5
146 } wtap_opttype_return_val;
176 typedef void (*wtap_block_create_func)(wtap_block_t block);
177 typedef void (*wtap_mand_free_func)(wtap_block_t block);
178 typedef void (*wtap_mand_copy_func)(wtap_block_t dest_block, wtap_block_t src_block);
186 WS_DLL_PUBLIC
void wtap_opttypes_initialize(
void);
195 WS_DLL_PUBLIC wtap_block_t wtap_block_create(wtap_block_type_t block_type);
203 WS_DLL_PUBLIC
void wtap_block_free(wtap_block_t block);
213 WS_DLL_PUBLIC
void wtap_block_array_free(GArray* block_array);
220 WS_DLL_PUBLIC
void* wtap_block_get_mandatory_data(wtap_block_t block);
230 WS_DLL_PUBLIC wtap_opttype_return_val
231 wtap_block_add_uint8_option(wtap_block_t block, guint option_id, guint8 value);
241 WS_DLL_PUBLIC wtap_opttype_return_val
242 wtap_block_set_uint8_option_value(wtap_block_t block, guint option_id, guint8 value);
252 WS_DLL_PUBLIC wtap_opttype_return_val
253 wtap_block_get_uint8_option_value(wtap_block_t block, guint option_id, guint8* value) G_GNUC_WARN_UNUSED_RESULT;
263 WS_DLL_PUBLIC wtap_opttype_return_val
264 wtap_block_add_uint64_option(wtap_block_t block, guint option_id, guint64 value);
274 WS_DLL_PUBLIC wtap_opttype_return_val
275 wtap_block_set_uint64_option_value(wtap_block_t block, guint option_id, guint64 value);
285 WS_DLL_PUBLIC wtap_opttype_return_val
286 wtap_block_get_uint64_option_value(wtap_block_t block, guint option_id, guint64* value) G_GNUC_WARN_UNUSED_RESULT;
296 WS_DLL_PUBLIC wtap_opttype_return_val
297 wtap_block_add_ipv4_option(wtap_block_t block, guint option_id, guint32 value);
307 WS_DLL_PUBLIC wtap_opttype_return_val
308 wtap_block_set_ipv4_option_value(wtap_block_t block, guint option_id, guint32 value);
318 WS_DLL_PUBLIC wtap_opttype_return_val
319 wtap_block_get_ipv4_option_value(wtap_block_t block, guint option_id, guint32* value) G_GNUC_WARN_UNUSED_RESULT;
329 WS_DLL_PUBLIC wtap_opttype_return_val
330 wtap_block_add_ipv6_option(wtap_block_t block, guint option_id,
ws_in6_addr *value);
340 WS_DLL_PUBLIC wtap_opttype_return_val
341 wtap_block_set_ipv6_option_value(wtap_block_t block, guint option_id,
ws_in6_addr *value);
351 WS_DLL_PUBLIC wtap_opttype_return_val
352 wtap_block_get_ipv6_option_value(wtap_block_t block, guint option_id,
ws_in6_addr* value) G_GNUC_WARN_UNUSED_RESULT;
363 WS_DLL_PUBLIC wtap_opttype_return_val
364 wtap_block_add_string_option(wtap_block_t block, guint option_id,
const char *value, gsize value_length);
374 WS_DLL_PUBLIC wtap_opttype_return_val
375 wtap_block_add_string_option_format(wtap_block_t block, guint option_id,
const char *format, ...)
387 WS_DLL_PUBLIC wtap_opttype_return_val
388 wtap_block_set_string_option_value(wtap_block_t block, guint option_id, const
char* value, gsize value_length);
400 WS_DLL_PUBLIC wtap_opttype_return_val
401 wtap_block_set_nth_string_option_value(wtap_block_t block, guint option_id, guint idx, const
char* value, gsize value_length);
411 WS_DLL_PUBLIC wtap_opttype_return_val
412 wtap_block_set_string_option_value_format(wtap_block_t block, guint option_id, const
char *format, ...)
423 WS_DLL_PUBLIC wtap_opttype_return_val
424 wtap_block_get_string_option_value(wtap_block_t block, guint option_id,
char** value) G_GNUC_WARN_UNUSED_RESULT;
435 WS_DLL_PUBLIC wtap_opttype_return_val
436 wtap_block_get_nth_string_option_value(wtap_block_t block, guint option_id, guint idx,
char** value) G_GNUC_WARN_UNUSED_RESULT;
447 WS_DLL_PUBLIC wtap_opttype_return_val
448 wtap_block_add_custom_option(wtap_block_t block, guint option_id,
void* value,
size_t value_size);
458 WS_DLL_PUBLIC wtap_opttype_return_val
459 wtap_block_set_custom_option_value(wtap_block_t block, guint option_id,
void* value);
469 WS_DLL_PUBLIC wtap_opttype_return_val
470 wtap_block_get_custom_option_value(wtap_block_t block, guint option_id,
void** value) G_GNUC_WARN_UNUSED_RESULT;
479 WS_DLL_PUBLIC wtap_opttype_return_val
480 wtap_block_remove_option(wtap_block_t block, guint option_id);
490 WS_DLL_PUBLIC wtap_opttype_return_val
491 wtap_block_remove_nth_option_instance(wtap_block_t block, guint option_id,
502 WS_DLL_PUBLIC
void wtap_block_copy(wtap_block_t dest_block, wtap_block_t src_block);
505 typedef
void (*wtap_block_foreach_func)(wtap_block_t block, guint option_id, wtap_opttype_e option_type, wtap_optval_t *
option,
void *user_data);
506 WS_DLL_PUBLIC
void wtap_block_foreach_option(wtap_block_t block, wtap_block_foreach_func func,
void* user_data);
508 WS_DLL_PUBLIC
int wtap_opttype_register_custom_block_type(const
char* name, const
char* description, wtap_block_create_func create,
509 wtap_mand_free_func free_mand, wtap_mand_copy_func copy_mand);
513 WS_DLL_PUBLIC
void wtap_opttypes_cleanup(
void);
Definition: wtap_opttypes.h:206
Definition: inet_ipv6.h:20
Definition: wtap_opttypes.c:57
Definition: wtap_opttypes.h:218
Definition: wtap_opttypes.h:197
Definition: wtap-int.h:86