Blame src/internal.h

Packit Service a5df35
#ifndef INTERNAL_H
Packit Service a5df35
#define INTERNAL_H 1
Packit Service a5df35
Packit Service a5df35
#include "config.h"
Packit Service a5df35
#include <stdint.h>
Packit Service a5df35
#include <stdbool.h>
Packit Service a5df35
#ifdef HAVE_VISIBILITY_HIDDEN
Packit Service a5df35
#	define EXPORT_SYMBOL __attribute__((visibility("default")))
Packit Service a5df35
#else
Packit Service a5df35
#	define EXPORT_SYMBOL
Packit Service a5df35
#endif
Packit Service a5df35
Packit Service a5df35
struct iphdr;
Packit Service a5df35
struct ip6_hdr;
Packit Service a5df35
Packit Service a5df35
uint16_t nfq_checksum(uint32_t sum, uint16_t *buf, int size);
Packit Service a5df35
uint16_t nfq_checksum_tcpudp_ipv4(struct iphdr *iph, uint16_t protonum);
Packit Service a5df35
uint16_t nfq_checksum_tcpudp_ipv6(struct ip6_hdr *ip6h, void *transport_hdr,
Packit Service a5df35
				  uint16_t protonum);
Packit Service a5df35
Packit Service a5df35
struct pkt_buff {
Packit Service a5df35
	uint8_t *mac_header;
Packit Service a5df35
	uint8_t *network_header;
Packit Service a5df35
	uint8_t *transport_header;
Packit Service a5df35
Packit Service a5df35
	uint8_t *data;
Packit Service a5df35
Packit Service a5df35
	uint32_t len;
Packit Service a5df35
	uint32_t data_len;
Packit Service a5df35
Packit Service a5df35
	bool	mangled;
Packit Service a5df35
};
Packit Service a5df35
Packit Service a5df35
static inline uint8_t *pktb_tail(struct pkt_buff *pktb)
Packit Service a5df35
{
Packit Service a5df35
	return pktb->data + pktb->len;
Packit Service a5df35
}
Packit Service a5df35
#endif