11#ifndef BACKENDS_EBPF_RUNTIME_EBPF_PCAP_UTIL_H_
12#define BACKENDS_EBPF_RUNTIME_EBPF_PCAP_UTIL_H_
14#define PCAP_DONT_INCLUDE_PCAP_BPF_H
19typedef uint16_t iface_index;
26 struct pcap_pkthdr pcap_hdr;
31struct pcap_list_array;
32typedef struct pcap_list pcap_list_t;
33typedef struct pcap_list_array pcap_list_array_t;
48pcap_list_t *read_pkts_from_pcap(
const char *pcap_file_name, iface_index index);
57int write_pkts_to_pcap(
const char *pcap_file_name,
const pcap_list_t *pkt_list);
67pcap_list_t *merge_and_delete_lists(pcap_list_array_t *array, pcap_list_t *merged_list);
78pcap_list_array_t *split_and_delete_list(pcap_list_t *input_list, pcap_list_array_t *result_arr);
90pcap_list_t *append_packet(pcap_list_t *pkt_list,
pcap_pkt *pkt);
103pcap_list_array_t *insert_list(pcap_list_array_t *pkt_array, pcap_list_t *pkt_list, uint16_t index);
108pcap_list_t *allocate_pkt_list();
113pcap_list_array_t *allocate_pkt_list_array();
119uint32_t get_pkt_list_length(pcap_list_t *pkt_list);
125uint16_t get_list_array_length(pcap_list_array_t *pkt_list_array);
133pcap_pkt *get_packet(pcap_list_t *list, uint32_t index);
141pcap_list_t *get_list(pcap_list_array_t *list, uint16_t index);
157void delete_list(pcap_list_t *pkt_list);
164void delete_array(pcap_list_array_t *pkt_list_array);
171void sort_pcap_list(pcap_list_t *pkt_list);
179char *generate_pcap_name(
const char *pcap_base,
int index,
const char *suffix);
Definition pcap_util.h:24