17#ifndef PROTOCORE_PCAP_H
18#define PROTOCORE_PCAP_H
25#define PC_PCAP_GLOBAL_HDR_LEN 24
26#define PC_PCAP_REC_HDR_LEN 16
29#define PC_DLT_IEEE802_11 105
30#define PC_DLT_CAN_SOCKETCAN 227
31#define PC_DLT_ETHERNET 1
32#define PC_DLT_IEEE802_15_4_NOFCS 230
33#define PC_DLT_IEEE802_15_4_TAP 283
60inline size_t pc_pcap_record_header(uint8_t *out,
size_t cap, uint32_t ts_sec, uint32_t ts_usec, uint32_t caplen,
Fixed-width integer serializers into a raw uint8_t* buffer - one source of truth.
size_t pc_wr32le(uint8_t *p, uint32_t v)
Write v little-endian at p.
size_t pc_wr16le(uint8_t *p, uint16_t v)
Write v little-endian at p.
#define PC_PCAP_GLOBAL_HDR_LEN
libpcap header sizes.
size_t pc_pcap_record_header(uint8_t *out, size_t cap, uint32_t ts_sec, uint32_t ts_usec, uint32_t caplen, uint32_t origlen)
Write a 16-byte libpcap record header for one captured frame.
#define PC_PCAP_REC_HDR_LEN
size_t pc_pcap_global_header(uint8_t *out, size_t cap, uint32_t linktype)
Write the 24-byte libpcap global header (little-endian, microsecond timestamps).