aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/wtap.h
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/wtap.h')
-rw-r--r--wiretap/wtap.h166
1 files changed, 84 insertions, 82 deletions
diff --git a/wiretap/wtap.h b/wiretap/wtap.h
index a2d79bebc4..9ff595ca2d 100644
--- a/wiretap/wtap.h
+++ b/wiretap/wtap.h
@@ -252,77 +252,79 @@ extern "C" {
#define WTAP_NUM_ENCAP_TYPES wtap_get_num_encap_types()
-/* File types that can be read by wiretap.
+/* File types/subtypes that can be read by wiretap.
We support writing many of these file types, too, so we
- distinguish between different versions of them. */
-#define WTAP_FILE_UNKNOWN 0
-#define WTAP_FILE_PCAP 1
-#define WTAP_FILE_PCAPNG 2
-#define WTAP_FILE_PCAP_NSEC 3
-#define WTAP_FILE_PCAP_AIX 4
-#define WTAP_FILE_PCAP_SS991029 5
-#define WTAP_FILE_PCAP_NOKIA 6
-#define WTAP_FILE_PCAP_SS990417 7
-#define WTAP_FILE_PCAP_SS990915 8
-#define WTAP_FILE_5VIEWS 9
-#define WTAP_FILE_IPTRACE_1_0 10
-#define WTAP_FILE_IPTRACE_2_0 11
-#define WTAP_FILE_BER 12
-#define WTAP_FILE_HCIDUMP 13
-#define WTAP_FILE_CATAPULT_DCT2000 14
-#define WTAP_FILE_NETXRAY_OLD 15
-#define WTAP_FILE_NETXRAY_1_0 16
-#define WTAP_FILE_COSINE 17
-#define WTAP_FILE_CSIDS 18
-#define WTAP_FILE_DBS_ETHERWATCH 19
-#define WTAP_FILE_ERF 20
-#define WTAP_FILE_EYESDN 21
-#define WTAP_FILE_NETTL 22
-#define WTAP_FILE_ISERIES 23
-#define WTAP_FILE_ISERIES_UNICODE 24
-#define WTAP_FILE_I4BTRACE 25
-#define WTAP_FILE_ASCEND 26
-#define WTAP_FILE_NETMON_1_x 27
-#define WTAP_FILE_NETMON_2_x 28
-#define WTAP_FILE_NGSNIFFER_UNCOMPRESSED 29
-#define WTAP_FILE_NGSNIFFER_COMPRESSED 30
-#define WTAP_FILE_NETXRAY_1_1 31
-#define WTAP_FILE_NETXRAY_2_00x 32
-#define WTAP_FILE_NETWORK_INSTRUMENTS 33
-#define WTAP_FILE_LANALYZER 34
-#define WTAP_FILE_PPPDUMP 35
-#define WTAP_FILE_RADCOM 36
-#define WTAP_FILE_SNOOP 37
-#define WTAP_FILE_SHOMITI 38
-#define WTAP_FILE_VMS 39
-#define WTAP_FILE_K12 40
-#define WTAP_FILE_TOSHIBA 41
-#define WTAP_FILE_VISUAL_NETWORKS 42
-#define WTAP_FILE_PEEKCLASSIC_V56 43
-#define WTAP_FILE_PEEKCLASSIC_V7 44
-#define WTAP_FILE_PEEKTAGGED 45
-#define WTAP_FILE_MPEG 46
-#define WTAP_FILE_K12TEXT 47
-#define WTAP_FILE_NETSCREEN 48
-#define WTAP_FILE_COMMVIEW 49
-#define WTAP_FILE_BTSNOOP 50
-#define WTAP_FILE_TNEF 51
-#define WTAP_FILE_DCT3TRACE 52
-#define WTAP_FILE_PACKETLOGGER 53
-#define WTAP_FILE_DAINTREE_SNA 54
-#define WTAP_FILE_NETSCALER_1_0 55
-#define WTAP_FILE_NETSCALER_2_0 56
-#define WTAP_FILE_JPEG_JFIF 57 /* obsoleted by WTAP_FILE_MIME */
-#define WTAP_FILE_IPFIX 58
-#define WTAP_FILE_MIME 59
-#define WTAP_FILE_AETHRA 60
-#define WTAP_FILE_MPEG_2_TS 61
-#define WTAP_FILE_VWR_80211 62
-#define WTAP_FILE_VWR_ETH 63
-#define WTAP_FILE_CAMINS 64
-#define WTAP_FILE_STANAG_4607 65
-
-#define WTAP_NUM_FILE_TYPES wtap_get_num_file_types()
+ distinguish between different subtypes of them, as
+ different subtypes need to be written in a different
+ fashion. */
+#define WTAP_FILE_TYPE_SUBTYPE_UNKNOWN 0
+#define WTAP_FILE_TYPE_SUBTYPE_PCAP 1
+#define WTAP_FILE_TYPE_SUBTYPE_PCAPNG 2
+#define WTAP_FILE_TYPE_SUBTYPE_PCAP_NSEC 3
+#define WTAP_FILE_TYPE_SUBTYPE_PCAP_AIX 4
+#define WTAP_FILE_TYPE_SUBTYPE_PCAP_SS991029 5
+#define WTAP_FILE_TYPE_SUBTYPE_PCAP_NOKIA 6
+#define WTAP_FILE_TYPE_SUBTYPE_PCAP_SS990417 7
+#define WTAP_FILE_TYPE_SUBTYPE_PCAP_SS990915 8
+#define WTAP_FILE_TYPE_SUBTYPE_5VIEWS 9
+#define WTAP_FILE_TYPE_SUBTYPE_IPTRACE_1_0 10
+#define WTAP_FILE_TYPE_SUBTYPE_IPTRACE_2_0 11
+#define WTAP_FILE_TYPE_SUBTYPE_BER 12
+#define WTAP_FILE_TYPE_SUBTYPE_HCIDUMP 13
+#define WTAP_FILE_TYPE_SUBTYPE_CATAPULT_DCT2000 14
+#define WTAP_FILE_TYPE_SUBTYPE_NETXRAY_OLD 15
+#define WTAP_FILE_TYPE_SUBTYPE_NETXRAY_1_0 16
+#define WTAP_FILE_TYPE_SUBTYPE_COSINE 17
+#define WTAP_FILE_TYPE_SUBTYPE_CSIDS 18
+#define WTAP_FILE_TYPE_SUBTYPE_DBS_ETHERWATCH 19
+#define WTAP_FILE_TYPE_SUBTYPE_ERF 20
+#define WTAP_FILE_TYPE_SUBTYPE_EYESDN 21
+#define WTAP_FILE_TYPE_SUBTYPE_NETTL 22
+#define WTAP_FILE_TYPE_SUBTYPE_ISERIES 23
+#define WTAP_FILE_TYPE_SUBTYPE_ISERIES_UNICODE 24
+#define WTAP_FILE_TYPE_SUBTYPE_I4BTRACE 25
+#define WTAP_FILE_TYPE_SUBTYPE_ASCEND 26
+#define WTAP_FILE_TYPE_SUBTYPE_NETMON_1_x 27
+#define WTAP_FILE_TYPE_SUBTYPE_NETMON_2_x 28
+#define WTAP_FILE_TYPE_SUBTYPE_NGSNIFFER_UNCOMPRESSED 29
+#define WTAP_FILE_TYPE_SUBTYPE_NGSNIFFER_COMPRESSED 30
+#define WTAP_FILE_TYPE_SUBTYPE_NETXRAY_1_1 31
+#define WTAP_FILE_TYPE_SUBTYPE_NETXRAY_2_00x 32
+#define WTAP_FILE_TYPE_SUBTYPE_NETWORK_INSTRUMENTS 33
+#define WTAP_FILE_TYPE_SUBTYPE_LANALYZER 34
+#define WTAP_FILE_TYPE_SUBTYPE_PPPDUMP 35
+#define WTAP_FILE_TYPE_SUBTYPE_RADCOM 36
+#define WTAP_FILE_TYPE_SUBTYPE_SNOOP 37
+#define WTAP_FILE_TYPE_SUBTYPE_SHOMITI 38
+#define WTAP_FILE_TYPE_SUBTYPE_VMS 39
+#define WTAP_FILE_TYPE_SUBTYPE_K12 40
+#define WTAP_FILE_TYPE_SUBTYPE_TOSHIBA 41
+#define WTAP_FILE_TYPE_SUBTYPE_VISUAL_NETWORKS 42
+#define WTAP_FILE_TYPE_SUBTYPE_PEEKCLASSIC_V56 43
+#define WTAP_FILE_TYPE_SUBTYPE_PEEKCLASSIC_V7 44
+#define WTAP_FILE_TYPE_SUBTYPE_PEEKTAGGED 45
+#define WTAP_FILE_TYPE_SUBTYPE_MPEG 46
+#define WTAP_FILE_TYPE_SUBTYPE_K12TEXT 47
+#define WTAP_FILE_TYPE_SUBTYPE_NETSCREEN 48
+#define WTAP_FILE_TYPE_SUBTYPE_COMMVIEW 49
+#define WTAP_FILE_TYPE_SUBTYPE_BTSNOOP 50
+#define WTAP_FILE_TYPE_SUBTYPE_TNEF 51
+#define WTAP_FILE_TYPE_SUBTYPE_DCT3TRACE 52
+#define WTAP_FILE_TYPE_SUBTYPE_PACKETLOGGER 53
+#define WTAP_FILE_TYPE_SUBTYPE_DAINTREE_SNA 54
+#define WTAP_FILE_TYPE_SUBTYPE_NETSCALER_1_0 55
+#define WTAP_FILE_TYPE_SUBTYPE_NETSCALER_2_0 56
+#define WTAP_FILE_TYPE_SUBTYPE_JPEG_JFIF 57 /* obsoleted by WTAP_FILE_TYPE_SUBTYPE_MIME */
+#define WTAP_FILE_TYPE_SUBTYPE_IPFIX 58
+#define WTAP_FILE_TYPE_SUBTYPE_MIME 59
+#define WTAP_FILE_TYPE_SUBTYPE_AETHRA 60
+#define WTAP_FILE_TYPE_SUBTYPE_MPEG_2_TS 61
+#define WTAP_FILE_TYPE_SUBTYPE_VWR_80211 62
+#define WTAP_FILE_TYPE_SUBTYPE_VWR_ETH 63
+#define WTAP_FILE_TYPE_SUBTYPE_CAMINS 64
+#define WTAP_FILE_TYPE_SUBTYPE_STANAG_4607 65
+
+#define WTAP_NUM_FILE_TYPES_SUBTYPES wtap_get_num_file_types_subtypes()
/* timestamp precision (currently only these values are supported) */
#define WTAP_FILE_TSPREC_SEC 0
@@ -1141,7 +1143,7 @@ typedef int (*wtap_open_routine_t)(struct wtap*, int *, char **);
#define WTAP_COMMENT_PER_INTERFACE 0x00000002 /* per-interface */
#define WTAP_COMMENT_PER_PACKET 0x00000004 /* per-packet */
-struct file_type_info {
+struct file_type_subtype_info {
/* the file type name */
/* should be NULL for all "pseudo" types that are only internally used and not read/writeable */
const char *name;
@@ -1246,7 +1248,7 @@ gboolean wtap_iscompressed(wtap *wth);
WS_DLL_PUBLIC
guint wtap_snapshot_length(wtap *wth); /* per file */
WS_DLL_PUBLIC
-int wtap_file_type(wtap *wth);
+int wtap_file_type_subtype(wtap *wth);
WS_DLL_PUBLIC
int wtap_file_encap(wtap *wth);
WS_DLL_PUBLIC
@@ -1343,21 +1345,21 @@ WS_DLL_PUBLIC
gboolean wtap_dump_can_write(const GArray *file_encaps, guint32 required_comment_types);
/**
- * Get a GArray of WTAP_FILE_ values for file types that can be used
- * to save a file of a given type with a given GArray of WTAP_ENCAP_
- * types and the given bitmask of comment types.
+ * Get a GArray of WTAP_FILE_TYPE_SUBTYPE_ values for file types/subtypes
+ * that can be used to save a file of a given type with a given GArray of
+ * WTAP_ENCAP_ types and the given bitmask of comment types.
*/
WS_DLL_PUBLIC
-GArray *wtap_get_savable_file_types(int file_type, const GArray *file_encaps,
- guint32 required_comment_types);
+GArray *wtap_get_savable_file_types_subtypes(int file_type,
+ const GArray *file_encaps, guint32 required_comment_types);
/*** various string converter functions ***/
WS_DLL_PUBLIC
-const char *wtap_file_type_string(int filetype);
+const char *wtap_file_type_subtype_string(int file_type_subtype);
WS_DLL_PUBLIC
-const char *wtap_file_type_short_string(int filetype);
+const char *wtap_file_type_subtype_short_string(int file_type_subtype);
WS_DLL_PUBLIC
-int wtap_short_string_to_file_type(const char *short_name);
+int wtap_short_string_to_file_type_subtype(const char *short_name);
/*** various file extension functions ***/
WS_DLL_PUBLIC
@@ -1385,7 +1387,7 @@ int wtap_get_num_file_type_extensions(void);
WS_DLL_PUBLIC
int wtap_get_num_encap_types(void);
WS_DLL_PUBLIC
-int wtap_get_num_file_types(void);
+int wtap_get_num_file_types_subtypes(void);
/*** get information for file type extension ***/
WS_DLL_PUBLIC
@@ -1399,7 +1401,7 @@ void wtap_register_file_type_extension(const struct file_extension_info *ei);
WS_DLL_PUBLIC
void wtap_register_open_routine(wtap_open_routine_t, gboolean has_magic);
WS_DLL_PUBLIC
-int wtap_register_file_type(const struct file_type_info* fi);
+int wtap_register_file_type(const struct file_type_subtype_info* fi);
WS_DLL_PUBLIC
int wtap_register_encap_type(const char* name, const char* short_name);