pcap_file/
common.rs

1use byteorder_slice::ByteOrder;
2
3/// Timestamp resolution of the pcap
4#[derive(Copy, Clone, Debug, Eq, PartialEq)]
5pub enum TsResolution {
6    /// Microsecond resolution
7    MicroSecond,
8    /// Nanosecond resolution
9    NanoSecond,
10}
11
12/// Endianness of the pcap
13#[derive(Copy, Clone, Debug, Eq, PartialEq)]
14pub enum Endianness {
15    /// Big endian
16    Big,
17    /// Little endian
18    Little,
19}
20
21impl Endianness {
22    /// True if LitlleEndian
23    pub fn is_little(self) -> bool {
24        match self {
25            Endianness::Big => false,
26            Endianness::Little => true,
27        }
28    }
29
30    /// True if BigEndian
31    pub fn is_big(self) -> bool {
32        match self {
33            Endianness::Big => true,
34            Endianness::Little => false,
35        }
36    }
37
38    /// Return the endianness of the given ByteOrder
39    pub fn from_byteorder<B: ByteOrder>() -> Self {
40        if B::read_u32(&[0, 0, 0, 1]) == 1 {
41            Endianness::Big
42        }
43        else {
44            Endianness::Little
45        }
46    }
47
48    /// Return the native endianness of the system
49    pub fn native() -> Self {
50        #[cfg(target_endian = "big")]
51        return Endianness::Big;
52
53        #[cfg(target_endian = "little")]
54        return Endianness::Little;
55    }
56}
57
58/// Data link type
59///
60/// The link-layer header type specifies the first protocol of the packet.
61///
62/// See [http://www.tcpdump.org/linktypes.html](http://www.tcpdump.org/linktypes.html)
63#[allow(non_camel_case_types)]
64#[allow(missing_docs)]
65#[derive(Copy, Clone, Debug, Eq, PartialEq)]
66pub enum DataLink {
67    NULL,
68    ETHERNET,
69    EXP_ETHERNET,
70    AX25,
71    PRONET,
72    CHAOS,
73    IEEE802_5,
74    ARCNET_BSD,
75    SLIP,
76    PPP,
77    FDDI,
78    PPP_HDLC,
79    PPP_ETHER,
80    SYMANTEC_FIREWALL,
81    ATM_RFC1483,
82    RAW,
83    SLIP_BSDOS,
84    PPP_BSDOS,
85    MATCHING_MIN,
86    C_HDLC,
87    IEEE802_11,
88    ATM_CLIP,
89    FRELAY,
90    LOOP,
91    ENC,
92    LANE8023,
93    HIPPI,
94    NETBSD_HDLC,
95    LINUX_SLL,
96    LTALK,
97    ECONET,
98    IPFILTER,
99    PFLOG,
100    CISCO_IOS,
101    IEEE802_11_PRISM,
102    IEEE802_11_AIRONET,
103    HHDLC,
104    IP_OVER_FC,
105    SUNATM,
106    RIO,
107    PCI_EXP,
108    AURORA,
109    IEEE802_11_RADIOTAP,
110    TZSP,
111    ARCNET_LINUX,
112    JUNIPER_MLPPP,
113    JUNIPER_MLFR,
114    JUNIPER_ES,
115    JUNIPER_GGSN,
116    JUNIPER_MFR,
117    JUNIPER_ATM2,
118    JUNIPER_SERVICES,
119    JUNIPER_ATM1,
120    APPLE_IP_OVER_IEEE1394,
121    MTP2_WITH_PHDR,
122    MTP2,
123    MTP3,
124    SCCP,
125    DOCSIS,
126    LINUX_IRDA,
127    IBM_SP,
128    IBM_SN,
129    USER0,
130    USER1,
131    USER2,
132    USER3,
133    USER4,
134    USER5,
135    USER6,
136    USER7,
137    USER8,
138    USER9,
139    USER10,
140    USER11,
141    USER12,
142    USER13,
143    USER14,
144    USER15,
145    IEEE802_11_AVS,
146    JUNIPER_MONITOR,
147    BACNET_MS_TP,
148    PPP_PPPD,
149    JUNIPER_PPPOE,
150    JUNIPER_PPPOE_ATM,
151    GPRS_LLC,
152    GPF_T,
153    GPF_F,
154    GCOM_T1E1,
155    GCOM_SERIAL,
156    JUNIPER_PIC_PEER,
157    ERF_ETH,
158    ERF_POS,
159    LINUX_LAPD,
160    JUNIPER_ETHER,
161    JUNIPER_PPP,
162    JUNIPER_FRELAY,
163    JUNIPER_CHDLC,
164    MFR,
165    JUNIPER_VP,
166    A429,
167    A653_ICM,
168    USB_FREEBSD,
169    BLUETOOTH_HCI_H4,
170    IEEE802_16_MAC_CPS,
171    USB_LINUX,
172    CAN20B,
173    IEEE802_15_4_LINUX,
174    PPI,
175    IEEE802_16_MAC_CPS_RADIO,
176    JUNIPER_ISM,
177    IEEE802_15_4,
178    SITA,
179    ERF,
180    RAIF1,
181    IPMB_KONTRON,
182    JUNIPER_ST,
183    BLUETOOTH_HCI_H4_WITH_PHDR,
184    AX25_KISS,
185    LAPD,
186    PPP_WITH_DIR,
187    C_HDLC_WITH_DIR,
188    FRELAY_WITH_DIR,
189    LAPB_WITH_DIR,
190    IPMB_LINUX,
191    FLEXRAY,
192    MOST,
193    LIN,
194    X2E_SERIAL,
195    X2E_XORAYA,
196    IEEE802_15_4_NONASK_PHY,
197    LINUX_EVDEV,
198    GSMTAP_UM,
199    GSMTAP_ABIS,
200    MPLS,
201    USB_LINUX_MMAPPED,
202    DECT,
203    AOS,
204    WIHART,
205    FC_2,
206    FC_2_WITH_FRAME_DELIMS,
207    IPNET,
208    CAN_SOCKETCAN,
209    IPV4,
210    IPV6,
211    IEEE802_15_4_NOFCS,
212    DBUS,
213    JUNIPER_VS,
214    JUNIPER_SRX_E2E,
215    JUNIPER_FIBRECHANNEL,
216    DVB_CI,
217    MUX27010,
218    STANAG_5066_D_PDU,
219    JUNIPER_ATM_CEMIC,
220    NFLOG,
221    NETANALYZER,
222    NETANALYZER_TRANSPARENT,
223    IPOIB,
224    MPEG_2_TS,
225    NG40,
226    NFC_LLCP,
227    PFSYNC,
228    INFINIBAND,
229    SCTP,
230    USBPCAP,
231    RTAC_SERIAL,
232    BLUETOOTH_LE_LL,
233    WIRESHARK_UPPER_PDU,
234    NETLINK,
235    BLUETOOTH_LINUX_MONITOR,
236    BLUETOOTH_BREDR_BB,
237    BLUETOOTH_LE_LL_WITH_PHDR,
238    PROFIBUS_DL,
239    PKTAP,
240    EPON,
241    IPMI_HPM_2,
242    ZWAVE_R1_R2,
243    ZWAVE_R3,
244    WATTSTOPPER_DLM,
245    ISO_14443,
246    RDS,
247    USB_DARWIN,
248    OPENFLOW,
249    SDLC,
250    TI_LLN_SNIFFER,
251    LORATAP,
252    VSOCK,
253    NORDIC_BLE,
254    DOCSIS31_XRA31,
255    ETHERNET_MPACKET,
256    DISPLAYPORT_AUX,
257    LINUX_SLL2,
258    SERCOS_MONITOR,
259    OPENVIZSLA,
260    EBHSCR,
261    VPP_DISPATCH,
262    DSA_TAG_BRCM,
263    DSA_TAG_BRCM_PREPEND,
264    IEEE802_15_4_TAP,
265    DSA_TAG_DSA,
266    DSA_TAG_EDSA,
267    ELEE,
268    Z_WAVE_SERIAL,
269    USB_2_0,
270    ATSC_ALP,
271    ETW,
272    NETANALYZER_NG,
273    ZBOSS_NCP,
274    USB_2_0_LOW_SPEED,
275    USB_2_0_FULL_SPEED,
276    USB_2_0_HIGH_SPEED,
277    AUERSWALD_LOG,
278
279    Unknown(u32),
280}
281
282impl From<u32> for DataLink {
283    fn from(n: u32) -> DataLink {
284        match n {
285            0 => DataLink::NULL,
286            1 => DataLink::ETHERNET,
287            2 => DataLink::EXP_ETHERNET,
288            3 => DataLink::AX25,
289            4 => DataLink::PRONET,
290            5 => DataLink::CHAOS,
291            6 => DataLink::IEEE802_5,
292            7 => DataLink::ARCNET_BSD,
293            8 => DataLink::SLIP,
294            9 => DataLink::PPP,
295            10 => DataLink::FDDI,
296            50 => DataLink::PPP_HDLC,
297            51 => DataLink::PPP_ETHER,
298            99 => DataLink::SYMANTEC_FIREWALL,
299            100 => DataLink::ATM_RFC1483,
300            101 => DataLink::RAW,
301            102 => DataLink::SLIP_BSDOS,
302            103 => DataLink::PPP_BSDOS,
303            104 => DataLink::C_HDLC,
304            105 => DataLink::IEEE802_11,
305            106 => DataLink::ATM_CLIP,
306            107 => DataLink::FRELAY,
307            108 => DataLink::LOOP,
308            109 => DataLink::ENC,
309            110 => DataLink::LANE8023,
310            111 => DataLink::HIPPI,
311            112 => DataLink::NETBSD_HDLC,
312            113 => DataLink::LINUX_SLL,
313            114 => DataLink::LTALK,
314            115 => DataLink::ECONET,
315            116 => DataLink::IPFILTER,
316            117 => DataLink::PFLOG,
317            118 => DataLink::CISCO_IOS,
318            119 => DataLink::IEEE802_11_PRISM,
319            120 => DataLink::IEEE802_11_AIRONET,
320            121 => DataLink::HHDLC,
321            122 => DataLink::IP_OVER_FC,
322            123 => DataLink::SUNATM,
323            124 => DataLink::RIO,
324            125 => DataLink::PCI_EXP,
325            126 => DataLink::AURORA,
326            127 => DataLink::IEEE802_11_RADIOTAP,
327            128 => DataLink::TZSP,
328            129 => DataLink::ARCNET_LINUX,
329            130 => DataLink::JUNIPER_MLPPP,
330            131 => DataLink::JUNIPER_MLFR,
331            132 => DataLink::JUNIPER_ES,
332            133 => DataLink::JUNIPER_GGSN,
333            134 => DataLink::JUNIPER_MFR,
334            135 => DataLink::JUNIPER_ATM2,
335            136 => DataLink::JUNIPER_SERVICES,
336            137 => DataLink::JUNIPER_ATM1,
337            138 => DataLink::APPLE_IP_OVER_IEEE1394,
338            139 => DataLink::MTP2_WITH_PHDR,
339            140 => DataLink::MTP2,
340            141 => DataLink::MTP3,
341            142 => DataLink::SCCP,
342            143 => DataLink::DOCSIS,
343            144 => DataLink::LINUX_IRDA,
344            145 => DataLink::IBM_SP,
345            146 => DataLink::IBM_SN,
346            147 => DataLink::USER0,
347            148 => DataLink::USER1,
348            149 => DataLink::USER2,
349            150 => DataLink::USER3,
350            151 => DataLink::USER4,
351            152 => DataLink::USER5,
352            153 => DataLink::USER6,
353            154 => DataLink::USER7,
354            155 => DataLink::USER8,
355            156 => DataLink::USER9,
356            157 => DataLink::USER10,
357            158 => DataLink::USER11,
358            159 => DataLink::USER12,
359            160 => DataLink::USER13,
360            161 => DataLink::USER14,
361            162 => DataLink::USER15,
362            163 => DataLink::IEEE802_11_AVS,
363            164 => DataLink::JUNIPER_MONITOR,
364            165 => DataLink::BACNET_MS_TP,
365            166 => DataLink::PPP_PPPD,
366            167 => DataLink::JUNIPER_PPPOE,
367            168 => DataLink::JUNIPER_PPPOE_ATM,
368            169 => DataLink::GPRS_LLC,
369            170 => DataLink::GPF_T,
370            171 => DataLink::GPF_F,
371            172 => DataLink::GCOM_T1E1,
372            173 => DataLink::GCOM_SERIAL,
373            174 => DataLink::JUNIPER_PIC_PEER,
374            175 => DataLink::ERF_ETH,
375            176 => DataLink::ERF_POS,
376            177 => DataLink::LINUX_LAPD,
377            178 => DataLink::JUNIPER_ETHER,
378            179 => DataLink::JUNIPER_PPP,
379            180 => DataLink::JUNIPER_FRELAY,
380            181 => DataLink::JUNIPER_CHDLC,
381            182 => DataLink::MFR,
382            183 => DataLink::JUNIPER_VP,
383            184 => DataLink::A429,
384            185 => DataLink::A653_ICM,
385            186 => DataLink::USB_FREEBSD,
386            187 => DataLink::BLUETOOTH_HCI_H4,
387            188 => DataLink::IEEE802_16_MAC_CPS,
388            189 => DataLink::USB_LINUX,
389            190 => DataLink::CAN20B,
390            191 => DataLink::IEEE802_15_4_LINUX,
391            192 => DataLink::PPI,
392            193 => DataLink::IEEE802_16_MAC_CPS_RADIO,
393            194 => DataLink::JUNIPER_ISM,
394            195 => DataLink::IEEE802_15_4,
395            196 => DataLink::SITA,
396            197 => DataLink::ERF,
397            198 => DataLink::RAIF1,
398            199 => DataLink::IPMB_KONTRON,
399            200 => DataLink::JUNIPER_ST,
400            201 => DataLink::BLUETOOTH_HCI_H4_WITH_PHDR,
401            202 => DataLink::AX25_KISS,
402            203 => DataLink::LAPD,
403            204 => DataLink::PPP_WITH_DIR,
404            205 => DataLink::C_HDLC_WITH_DIR,
405            206 => DataLink::FRELAY_WITH_DIR,
406            207 => DataLink::LAPB_WITH_DIR,
407            209 => DataLink::IPMB_LINUX,
408            210 => DataLink::FLEXRAY,
409            211 => DataLink::MOST,
410            212 => DataLink::LIN,
411            213 => DataLink::X2E_SERIAL,
412            214 => DataLink::X2E_XORAYA,
413            215 => DataLink::IEEE802_15_4_NONASK_PHY,
414            216 => DataLink::LINUX_EVDEV,
415            217 => DataLink::GSMTAP_UM,
416            218 => DataLink::GSMTAP_ABIS,
417            219 => DataLink::MPLS,
418            220 => DataLink::USB_LINUX_MMAPPED,
419            221 => DataLink::DECT,
420            222 => DataLink::AOS,
421            223 => DataLink::WIHART,
422            224 => DataLink::FC_2,
423            225 => DataLink::FC_2_WITH_FRAME_DELIMS,
424            226 => DataLink::IPNET,
425            227 => DataLink::CAN_SOCKETCAN,
426            228 => DataLink::IPV4,
427            229 => DataLink::IPV6,
428            230 => DataLink::IEEE802_15_4_NOFCS,
429            231 => DataLink::DBUS,
430            232 => DataLink::JUNIPER_VS,
431            233 => DataLink::JUNIPER_SRX_E2E,
432            234 => DataLink::JUNIPER_FIBRECHANNEL,
433            235 => DataLink::DVB_CI,
434            236 => DataLink::MUX27010,
435            237 => DataLink::STANAG_5066_D_PDU,
436            238 => DataLink::JUNIPER_ATM_CEMIC,
437            239 => DataLink::NFLOG,
438            240 => DataLink::NETANALYZER,
439            241 => DataLink::NETANALYZER_TRANSPARENT,
440            242 => DataLink::IPOIB,
441            243 => DataLink::MPEG_2_TS,
442            244 => DataLink::NG40,
443            245 => DataLink::NFC_LLCP,
444            246 => DataLink::PFSYNC,
445            247 => DataLink::INFINIBAND,
446            248 => DataLink::SCTP,
447            249 => DataLink::USBPCAP,
448            250 => DataLink::RTAC_SERIAL,
449            251 => DataLink::BLUETOOTH_LE_LL,
450            252 => DataLink::WIRESHARK_UPPER_PDU,
451            253 => DataLink::NETLINK,
452            254 => DataLink::BLUETOOTH_LINUX_MONITOR,
453            255 => DataLink::BLUETOOTH_BREDR_BB,
454            256 => DataLink::BLUETOOTH_LE_LL_WITH_PHDR,
455            257 => DataLink::PROFIBUS_DL,
456            258 => DataLink::PKTAP,
457            259 => DataLink::EPON,
458            260 => DataLink::IPMI_HPM_2,
459            261 => DataLink::ZWAVE_R1_R2,
460            262 => DataLink::ZWAVE_R3,
461            263 => DataLink::WATTSTOPPER_DLM,
462            264 => DataLink::ISO_14443,
463            265 => DataLink::RDS,
464            266 => DataLink::USB_DARWIN,
465            267 => DataLink::OPENFLOW,
466            268 => DataLink::SDLC,
467            269 => DataLink::TI_LLN_SNIFFER,
468            270 => DataLink::LORATAP,
469            271 => DataLink::VSOCK,
470            272 => DataLink::NORDIC_BLE,
471            273 => DataLink::DOCSIS31_XRA31,
472            274 => DataLink::ETHERNET_MPACKET,
473            275 => DataLink::DISPLAYPORT_AUX,
474            276 => DataLink::LINUX_SLL2,
475            277 => DataLink::SERCOS_MONITOR,
476            278 => DataLink::OPENVIZSLA,
477            279 => DataLink::EBHSCR,
478            280 => DataLink::VPP_DISPATCH,
479            281 => DataLink::DSA_TAG_BRCM,
480            282 => DataLink::DSA_TAG_BRCM_PREPEND,
481            283 => DataLink::IEEE802_15_4_TAP,
482            284 => DataLink::DSA_TAG_DSA,
483            285 => DataLink::DSA_TAG_EDSA,
484            286 => DataLink::ELEE,
485            287 => DataLink::Z_WAVE_SERIAL,
486            288 => DataLink::USB_2_0,
487            289 => DataLink::ATSC_ALP,
488            290 => DataLink::ETW,
489            291 => DataLink::NETANALYZER_NG,
490            292 => DataLink::ZBOSS_NCP,
491            293 => DataLink::USB_2_0_LOW_SPEED,
492            294 => DataLink::USB_2_0_FULL_SPEED,
493            295 => DataLink::USB_2_0_HIGH_SPEED,
494            296 => DataLink::AUERSWALD_LOG,
495
496            _ => DataLink::Unknown(n),
497        }
498    }
499}
500
501impl From<DataLink> for u32 {
502    fn from(link: DataLink) -> u32 {
503        match link {
504            DataLink::NULL => 0,
505            DataLink::ETHERNET => 1,
506            DataLink::EXP_ETHERNET => 2,
507            DataLink::AX25 => 3,
508            DataLink::PRONET => 4,
509            DataLink::CHAOS => 5,
510            DataLink::IEEE802_5 => 6,
511            DataLink::ARCNET_BSD => 7,
512            DataLink::SLIP => 8,
513            DataLink::PPP => 9,
514            DataLink::FDDI => 10,
515            DataLink::PPP_HDLC => 50,
516            DataLink::PPP_ETHER => 51,
517            DataLink::SYMANTEC_FIREWALL => 99,
518            DataLink::ATM_RFC1483 => 100,
519            DataLink::RAW => 101,
520            DataLink::SLIP_BSDOS => 102,
521            DataLink::PPP_BSDOS => 103,
522            DataLink::MATCHING_MIN => 104,
523            DataLink::C_HDLC => 104,
524            DataLink::IEEE802_11 => 105,
525            DataLink::ATM_CLIP => 106,
526            DataLink::FRELAY => 107,
527            DataLink::LOOP => 108,
528            DataLink::ENC => 109,
529            DataLink::LANE8023 => 110,
530            DataLink::HIPPI => 111,
531            DataLink::NETBSD_HDLC => 112,
532            DataLink::LINUX_SLL => 113,
533            DataLink::LTALK => 114,
534            DataLink::ECONET => 115,
535            DataLink::IPFILTER => 116,
536            DataLink::PFLOG => 117,
537            DataLink::CISCO_IOS => 118,
538            DataLink::IEEE802_11_PRISM => 119,
539            DataLink::IEEE802_11_AIRONET => 120,
540            DataLink::HHDLC => 121,
541            DataLink::IP_OVER_FC => 122,
542            DataLink::SUNATM => 123,
543            DataLink::RIO => 124,
544            DataLink::PCI_EXP => 125,
545            DataLink::AURORA => 126,
546            DataLink::IEEE802_11_RADIOTAP => 127,
547            DataLink::TZSP => 128,
548            DataLink::ARCNET_LINUX => 129,
549            DataLink::JUNIPER_MLPPP => 130,
550            DataLink::JUNIPER_MLFR => 131,
551            DataLink::JUNIPER_ES => 132,
552            DataLink::JUNIPER_GGSN => 133,
553            DataLink::JUNIPER_MFR => 134,
554            DataLink::JUNIPER_ATM2 => 135,
555            DataLink::JUNIPER_SERVICES => 136,
556            DataLink::JUNIPER_ATM1 => 137,
557            DataLink::APPLE_IP_OVER_IEEE1394 => 138,
558            DataLink::MTP2_WITH_PHDR => 139,
559            DataLink::MTP2 => 140,
560            DataLink::MTP3 => 141,
561            DataLink::SCCP => 142,
562            DataLink::DOCSIS => 143,
563            DataLink::LINUX_IRDA => 144,
564            DataLink::IBM_SP => 145,
565            DataLink::IBM_SN => 146,
566            DataLink::USER0 => 147,
567            DataLink::USER1 => 148,
568            DataLink::USER2 => 149,
569            DataLink::USER3 => 150,
570            DataLink::USER4 => 151,
571            DataLink::USER5 => 152,
572            DataLink::USER6 => 153,
573            DataLink::USER7 => 154,
574            DataLink::USER8 => 155,
575            DataLink::USER9 => 156,
576            DataLink::USER10 => 157,
577            DataLink::USER11 => 158,
578            DataLink::USER12 => 159,
579            DataLink::USER13 => 160,
580            DataLink::USER14 => 161,
581            DataLink::USER15 => 162,
582            DataLink::IEEE802_11_AVS => 163,
583            DataLink::JUNIPER_MONITOR => 164,
584            DataLink::BACNET_MS_TP => 165,
585            DataLink::PPP_PPPD => 166,
586            DataLink::JUNIPER_PPPOE => 167,
587            DataLink::JUNIPER_PPPOE_ATM => 168,
588            DataLink::GPRS_LLC => 169,
589            DataLink::GPF_T => 170,
590            DataLink::GPF_F => 171,
591            DataLink::GCOM_T1E1 => 172,
592            DataLink::GCOM_SERIAL => 173,
593            DataLink::JUNIPER_PIC_PEER => 174,
594            DataLink::ERF_ETH => 175,
595            DataLink::ERF_POS => 176,
596            DataLink::LINUX_LAPD => 177,
597            DataLink::JUNIPER_ETHER => 178,
598            DataLink::JUNIPER_PPP => 179,
599            DataLink::JUNIPER_FRELAY => 180,
600            DataLink::JUNIPER_CHDLC => 181,
601            DataLink::MFR => 182,
602            DataLink::JUNIPER_VP => 183,
603            DataLink::A429 => 184,
604            DataLink::A653_ICM => 185,
605            DataLink::USB_FREEBSD => 186,
606            DataLink::BLUETOOTH_HCI_H4 => 187,
607            DataLink::IEEE802_16_MAC_CPS => 188,
608            DataLink::USB_LINUX => 189,
609            DataLink::CAN20B => 190,
610            DataLink::IEEE802_15_4_LINUX => 191,
611            DataLink::PPI => 192,
612            DataLink::IEEE802_16_MAC_CPS_RADIO => 193,
613            DataLink::JUNIPER_ISM => 194,
614            DataLink::IEEE802_15_4 => 195,
615            DataLink::SITA => 196,
616            DataLink::ERF => 197,
617            DataLink::RAIF1 => 198,
618            DataLink::IPMB_KONTRON => 199,
619            DataLink::JUNIPER_ST => 200,
620            DataLink::BLUETOOTH_HCI_H4_WITH_PHDR => 201,
621            DataLink::AX25_KISS => 202,
622            DataLink::LAPD => 203,
623            DataLink::PPP_WITH_DIR => 204,
624            DataLink::C_HDLC_WITH_DIR => 205,
625            DataLink::FRELAY_WITH_DIR => 206,
626            DataLink::LAPB_WITH_DIR => 207,
627            DataLink::IPMB_LINUX => 209,
628            DataLink::FLEXRAY => 210,
629            DataLink::MOST => 211,
630            DataLink::LIN => 212,
631            DataLink::X2E_SERIAL => 213,
632            DataLink::X2E_XORAYA => 214,
633            DataLink::IEEE802_15_4_NONASK_PHY => 215,
634            DataLink::LINUX_EVDEV => 216,
635            DataLink::GSMTAP_UM => 217,
636            DataLink::GSMTAP_ABIS => 218,
637            DataLink::MPLS => 219,
638            DataLink::USB_LINUX_MMAPPED => 220,
639            DataLink::DECT => 221,
640            DataLink::AOS => 222,
641            DataLink::WIHART => 223,
642            DataLink::FC_2 => 224,
643            DataLink::FC_2_WITH_FRAME_DELIMS => 225,
644            DataLink::IPNET => 226,
645            DataLink::CAN_SOCKETCAN => 227,
646            DataLink::IPV4 => 228,
647            DataLink::IPV6 => 229,
648            DataLink::IEEE802_15_4_NOFCS => 230,
649            DataLink::DBUS => 231,
650            DataLink::JUNIPER_VS => 232,
651            DataLink::JUNIPER_SRX_E2E => 233,
652            DataLink::JUNIPER_FIBRECHANNEL => 234,
653            DataLink::DVB_CI => 235,
654            DataLink::MUX27010 => 236,
655            DataLink::STANAG_5066_D_PDU => 237,
656            DataLink::JUNIPER_ATM_CEMIC => 238,
657            DataLink::NFLOG => 239,
658            DataLink::NETANALYZER => 240,
659            DataLink::NETANALYZER_TRANSPARENT => 241,
660            DataLink::IPOIB => 242,
661            DataLink::MPEG_2_TS => 243,
662            DataLink::NG40 => 244,
663            DataLink::NFC_LLCP => 245,
664            DataLink::PFSYNC => 246,
665            DataLink::INFINIBAND => 247,
666            DataLink::SCTP => 248,
667            DataLink::USBPCAP => 249,
668            DataLink::RTAC_SERIAL => 250,
669            DataLink::BLUETOOTH_LE_LL => 251,
670            DataLink::WIRESHARK_UPPER_PDU => 252,
671            DataLink::NETLINK => 253,
672            DataLink::BLUETOOTH_LINUX_MONITOR => 254,
673            DataLink::BLUETOOTH_BREDR_BB => 255,
674            DataLink::BLUETOOTH_LE_LL_WITH_PHDR => 256,
675            DataLink::PROFIBUS_DL => 257,
676            DataLink::PKTAP => 258,
677            DataLink::EPON => 259,
678            DataLink::IPMI_HPM_2 => 260,
679            DataLink::ZWAVE_R1_R2 => 261,
680            DataLink::ZWAVE_R3 => 262,
681            DataLink::WATTSTOPPER_DLM => 263,
682            DataLink::ISO_14443 => 264,
683            DataLink::RDS => 265,
684            DataLink::USB_DARWIN => 266,
685            DataLink::OPENFLOW => 267,
686            DataLink::SDLC => 268,
687            DataLink::TI_LLN_SNIFFER => 269,
688            DataLink::LORATAP => 270,
689            DataLink::VSOCK => 271,
690            DataLink::NORDIC_BLE => 272,
691            DataLink::DOCSIS31_XRA31 => 273,
692            DataLink::ETHERNET_MPACKET => 274,
693            DataLink::DISPLAYPORT_AUX => 275,
694            DataLink::LINUX_SLL2 => 276,
695            DataLink::SERCOS_MONITOR => 277,
696            DataLink::OPENVIZSLA => 278,
697            DataLink::EBHSCR => 279,
698            DataLink::VPP_DISPATCH => 280,
699            DataLink::DSA_TAG_BRCM => 281,
700            DataLink::DSA_TAG_BRCM_PREPEND => 282,
701            DataLink::IEEE802_15_4_TAP => 283,
702            DataLink::DSA_TAG_DSA => 284,
703            DataLink::DSA_TAG_EDSA => 285,
704            DataLink::ELEE => 286,
705            DataLink::Z_WAVE_SERIAL => 287,
706            DataLink::USB_2_0 => 288,
707            DataLink::ATSC_ALP => 289,
708            DataLink::ETW => 290,
709            DataLink::NETANALYZER_NG => 291,
710            DataLink::ZBOSS_NCP => 292,
711            DataLink::USB_2_0_LOW_SPEED => 293,
712            DataLink::USB_2_0_FULL_SPEED => 294,
713            DataLink::USB_2_0_HIGH_SPEED => 295,
714            DataLink::AUERSWALD_LOG => 296,
715
716            DataLink::Unknown(n) => n,
717        }
718    }
719}