XenevaOS
Loading...
Searching...
No Matches
netfilter.h
Go to the documentation of this file.
1
5#ifndef __AU_NETFILTER_H__
6#define __AU_NETFILTER_H__
7
8#include <stdint.h>
9#include <Net/packet.h>
10
11enum {
17 NF_NUM_HOOKS = 5
18};
19
20#define AU_NF_MAX_RULES 64
21#define AU_NF_IFNAMSIZ 16
22
23typedef struct _au_nf_rule_ {
24 int hook; /* NF_* */
27 uint8_t proto; /* 0 = any; IPPROTOCOL_* / IPV4_PROTOCOL_* */
32 uint16_t sport; /* host order; 0 = any */
33 uint16_t dport; /* host order; 0 = any */
34 int target; /* NF_ACCEPT / DROP / REJECT / NAT_STUB */
36
41
42extern void AuNetfilterInit(void);
43extern void AuNetfilterInstallXrPolicy(void);
44extern int AuNetfilterHook(int hook, AuPacket* pkt);
45
46extern int AuNetfilterAppend(const AuNfRule* rule);
47extern int AuNetfilterDelete(int index);
48extern int AuNetfilterFlush(void);
49extern int AuNetfilterGetNum(void);
50extern int AuNetfilterGetEntry(int index, AuNfRule* out);
51
52#endif
#define index(str, chr)
Definition string.h:66
#define out(...)
Definition main.cpp:65
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
unsigned short int uint16_t
Definition acefiex.h:162
int AuNetfilterDelete(int index)
Definition netfilter.cpp:23
struct _au_nf_rule_ AuNfRule
@ NF_LOCAL_IN
Definition netfilter.h:13
@ NF_POST_ROUTING
Definition netfilter.h:16
@ NF_NUM_HOOKS
Definition netfilter.h:17
@ NF_LOCAL_OUT
Definition netfilter.h:15
@ NF_PRE_ROUTING
Definition netfilter.h:12
@ NF_FORWARD
Definition netfilter.h:14
int AuNetfilterAppend(const AuNfRule *rule)
Definition netfilter.cpp:18
void AuNetfilterInstallXrPolicy(void)
Definition netfilter.cpp:9
int AuNetfilterFlush(void)
Definition netfilter.cpp:28
struct _au_nf_rule_info_ AuNfRuleInfo
#define AU_NF_IFNAMSIZ
Definition netfilter.h:21
void AuNetfilterInit(void)
Definition netfilter.cpp:8
int AuNetfilterGetEntry(int index, AuNfRule *out)
Definition netfilter.cpp:36
int AuNetfilterHook(int hook, AuPacket *pkt)
Definition netfilter.cpp:11
int AuNetfilterGetNum(void)
Definition netfilter.cpp:32
Definition netfilter.h:23
char out_dev[AU_NF_IFNAMSIZ]
Definition netfilter.h:26
int target
Definition netfilter.h:34
uint16_t sport
Definition netfilter.h:32
int hook
Definition netfilter.h:24
uint32_t src_mask
Definition netfilter.h:29
uint32_t src
Definition netfilter.h:28
uint32_t dst
Definition netfilter.h:30
uint16_t dport
Definition netfilter.h:33
uint32_t dst_mask
Definition netfilter.h:31
uint8_t proto
Definition netfilter.h:27
char in_dev[AU_NF_IFNAMSIZ]
Definition netfilter.h:25
Definition netfilter.h:37
AuNfRule * rule
Definition netfilter.h:39
int index
Definition netfilter.h:38
Definition packet.h:24