22#ifndef BACKENDS_EBPF_RUNTIME_EBPF_PCAP_UTIL_H_
23#define BACKENDS_EBPF_RUNTIME_EBPF_PCAP_UTIL_H_
25#define PCAP_DONT_INCLUDE_PCAP_BPF_H
30typedef uint16_t iface_index;
38 struct pcap_pkthdr pcap_hdr;
43struct pcap_list_array;
44typedef struct pcap_list pcap_list_t;
45typedef struct pcap_list_array pcap_list_array_t;
62pcap_list_t *read_pkts_from_pcap(
const char *pcap_file_name, iface_index index);
73int write_pkts_to_pcap(
const char *pcap_file_name,
const pcap_list_t *pkt_list);
85pcap_list_t *merge_and_delete_lists(pcap_list_array_t *array, pcap_list_t *merged_list);
98pcap_list_array_t *split_and_delete_list(pcap_list_t *input_list, pcap_list_array_t *result_arr);
112pcap_list_t *append_packet(pcap_list_t *pkt_list,
pcap_pkt *pkt);
127pcap_list_array_t *insert_list(pcap_list_array_t *pkt_array, pcap_list_t *pkt_list, uint16_t index);
134pcap_list_t *allocate_pkt_list();
142pcap_list_array_t *allocate_pkt_list_array();
150uint32_t get_pkt_list_length(pcap_list_t *pkt_list);
158uint16_t get_list_array_length(pcap_list_array_t *pkt_list_array);
168pcap_pkt *get_packet(pcap_list_t *list, uint32_t index);
178pcap_list_t *get_list(pcap_list_array_t *list, uint16_t index);
197void delete_list(pcap_list_t *pkt_list);
206void delete_array(pcap_list_array_t *pkt_list_array);
215void sort_pcap_list(pcap_list_t *pkt_list);
225char *generate_pcap_name(
const char *pcap_base,
int index,
const char *suffix);
Definition pcap_util.h:36