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