37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
#ifndef LIBIPTC_H
|
|
#define LIBIPTC_H
|
|
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
#include <sys/types.h>
|
|
#include <arpa/inet.h>
|
|
#include <unistd.h>
|
|
#include <stdlib.h>
|
|
#include <sys/time.h>
|
|
#include <stdio.h>
|
|
#include <errno.h>
|
|
#include <linux/netfilter/x_tables.h>
|
|
#include <libiptc/libiptc.h>
|
|
|
|
/* Source port. */
|
|
#define NFC_IP_SRC_PT 0x0200
|
|
/* Dest port. */
|
|
#define NFC_IP_DST_PT 0x0400
|
|
|
|
#ifndef IPT_MIN_ALIGN
|
|
#define IPT_MIN_ALIGN (__alignof__(struct ipt_entry))
|
|
#endif
|
|
|
|
#define IPT_ALIGN(s) (((s) + ((IPT_MIN_ALIGN)-1)) & ~((IPT_MIN_ALIGN)-1))
|
|
|
|
#define IPTC_ENTRY_SIZE XT_ALIGN(sizeof(struct ipt_entry))
|
|
#define IPTC_MATCH_SIZE XT_ALIGN(sizeof(struct ipt_entry_match) + sizeof(struct ipt_udp))
|
|
#define IPTC_TARGET_SIZE XT_ALIGN(sizeof(struct ipt_entry_target))
|
|
#define IPTC_FULL_SIZE IPTC_ENTRY_SIZE + IPTC_MATCH_SIZE + IPTC_TARGET_SIZE
|
|
|
|
int show_all_rule(char *ipv4);
|
|
int iptc_add_rule(const char *table, const char *chain, int protocol, const char *iniface, const char *outiface, \
|
|
unsigned int src, unsigned int dest, const char *srcports, const char *destports, const char *target, const char *dnat_to, const int append);
|
|
|
|
#endif
|