Changeset View
Changeset View
Standalone View
Standalone View
lib/libpfctl/libpfctl.h
Show All 31 Lines | |||||
*/ | */ | ||||
#ifndef _PFCTL_IOCTL_H_ | #ifndef _PFCTL_IOCTL_H_ | ||||
#define _PFCTL_IOCTL_H_ | #define _PFCTL_IOCTL_H_ | ||||
#include <netpfil/pf/pf.h> | #include <netpfil/pf/pf.h> | ||||
struct pfctl_anchor; | struct pfctl_anchor; | ||||
struct pfctl_eth_anchor; | |||||
struct pfctl_status_counter { | struct pfctl_status_counter { | ||||
uint64_t id; | uint64_t id; | ||||
uint64_t counter; | uint64_t counter; | ||||
char *name; | char *name; | ||||
TAILQ_ENTRY(pfctl_status_counter) entry; | TAILQ_ENTRY(pfctl_status_counter) entry; | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 47 Lines • ▼ Show 20 Lines | struct pfctl_eth_rule { | ||||
/* Action */ | /* Action */ | ||||
char qname[PF_QNAME_SIZE]; | char qname[PF_QNAME_SIZE]; | ||||
char tagname[PF_TAG_NAME_SIZE]; | char tagname[PF_TAG_NAME_SIZE]; | ||||
uint16_t dnpipe; | uint16_t dnpipe; | ||||
uint32_t dnflags; | uint32_t dnflags; | ||||
uint8_t action; | uint8_t action; | ||||
struct pfctl_eth_anchor *anchor; | |||||
uint8_t anchor_relative; | |||||
uint8_t anchor_wildcard; | |||||
TAILQ_ENTRY(pfctl_eth_rule) entries; | TAILQ_ENTRY(pfctl_eth_rule) entries; | ||||
}; | }; | ||||
TAILQ_HEAD(pfctl_eth_rules, pfctl_eth_rule); | TAILQ_HEAD(pfctl_eth_rules, pfctl_eth_rule); | ||||
struct pfctl_eth_ruleset { | |||||
struct pfctl_eth_rules rules; | |||||
struct pfctl_eth_anchor *anchor; | |||||
}; | |||||
struct pfctl_eth_anchor { | |||||
struct pfctl_eth_anchor *parent; | |||||
char name[PF_ANCHOR_NAME_SIZE]; | |||||
char path[MAXPATHLEN]; | |||||
struct pfctl_eth_ruleset ruleset; | |||||
int refcnt; /* anchor rules */ | |||||
int match; /* XXX: used for pfctl black magic */ | |||||
}; | |||||
struct pfctl_pool { | struct pfctl_pool { | ||||
struct pf_palist list; | struct pf_palist list; | ||||
struct pf_pooladdr *cur; | struct pf_pooladdr *cur; | ||||
struct pf_poolhashkey key; | struct pf_poolhashkey key; | ||||
struct pf_addr counter; | struct pf_addr counter; | ||||
struct pf_mape_portset mape; | struct pf_mape_portset mape; | ||||
int tblidx; | int tblidx; | ||||
uint16_t proxy_port[2]; | uint16_t proxy_port[2]; | ||||
▲ Show 20 Lines • Show All 210 Lines • ▼ Show 20 Lines | struct pfctl_syncookies { | ||||
enum pfctl_syncookies_mode mode; | enum pfctl_syncookies_mode mode; | ||||
uint8_t highwater; /* Percent */ | uint8_t highwater; /* Percent */ | ||||
uint8_t lowwater; /* Percent */ | uint8_t lowwater; /* Percent */ | ||||
}; | }; | ||||
struct pfctl_status* pfctl_get_status(int dev); | struct pfctl_status* pfctl_get_status(int dev); | ||||
void pfctl_free_status(struct pfctl_status *status); | void pfctl_free_status(struct pfctl_status *status); | ||||
int pfctl_get_eth_rules_info(int dev, struct pfctl_eth_rules_info *rules); | int pfctl_get_eth_rules_info(int dev, struct pfctl_eth_rules_info *rules, | ||||
const char *path); | |||||
int pfctl_get_eth_rule(int dev, uint32_t nr, uint32_t ticket, | int pfctl_get_eth_rule(int dev, uint32_t nr, uint32_t ticket, | ||||
struct pfctl_eth_rule *rule, bool clear); | const char *path, struct pfctl_eth_rule *rule, bool clear, | ||||
char *anchor_call); | |||||
int pfctl_add_eth_rule(int dev, const struct pfctl_eth_rule *r, | int pfctl_add_eth_rule(int dev, const struct pfctl_eth_rule *r, | ||||
uint32_t ticket); | const char *anchor, const char *anchor_call, uint32_t ticket); | ||||
int pfctl_get_rule(int dev, uint32_t nr, uint32_t ticket, | int pfctl_get_rule(int dev, uint32_t nr, uint32_t ticket, | ||||
const char *anchor, uint32_t ruleset, struct pfctl_rule *rule, | const char *anchor, uint32_t ruleset, struct pfctl_rule *rule, | ||||
char *anchor_call); | char *anchor_call); | ||||
int pfctl_get_clear_rule(int dev, uint32_t nr, uint32_t ticket, | int pfctl_get_clear_rule(int dev, uint32_t nr, uint32_t ticket, | ||||
const char *anchor, uint32_t ruleset, struct pfctl_rule *rule, | const char *anchor, uint32_t ruleset, struct pfctl_rule *rule, | ||||
char *anchor_call, bool clear); | char *anchor_call, bool clear); | ||||
int pfctl_add_rule(int dev, const struct pfctl_rule *r, | int pfctl_add_rule(int dev, const struct pfctl_rule *r, | ||||
const char *anchor, const char *anchor_call, uint32_t ticket, | const char *anchor, const char *anchor_call, uint32_t ticket, | ||||
Show All 12 Lines |