fw.h

来自「M5,一个功能强大的多处理器系统模拟器.很多针对处理器架构,性能的研究都使用它作」· C头文件 代码 · 共 55 行

H
55
字号
/* * fw.h * * Network firewalling operations. * * Copyright (c) 2001 Dug Song <dugsong@monkey.org> * * $Id: fw.h,v 1.13 2002/12/14 04:02:36 dugsong Exp $ */#ifndef DNET_FW_H#define DNET_FW_Hstruct fw_rule {        char		fw_device[INTF_NAME_LEN]; /* interface name */        uint8_t		fw_op;			  /* operation */        uint8_t		fw_dir;			  /* direction */        uint8_t		fw_proto;		  /* IP protocol */        struct addr	fw_src;			  /* src address / net */        struct addr	fw_dst;			  /* dst address / net */        uint16_t	fw_sport[2];		  /* range / ICMP type */        uint16_t	fw_dport[2];		  /* range / ICMP code */};#define FW_OP_ALLOW	1#define FW_OP_BLOCK	2#define FW_DIR_IN	1#define FW_DIR_OUT	2#define fw_pack_rule(rule, dev, op, dir, p, s, d, sp1, sp2, dp1, dp2)	\do {									\        strlcpy((rule)->fw_device, dev, sizeof((rule)->fw_device));	\        (rule)->fw_op = op; (rule)->fw_dir = dir;			\        (rule)->fw_proto = p;						\        memmove(&(rule)->fw_src, &(s), sizeof((rule)->fw_src));		\        memmove(&(rule)->fw_dst, &(d), sizeof((rule)->fw_dst));		\        (rule)->fw_sport[0] = sp1; (rule)->fw_sport[1] = sp2;		\        (rule)->fw_dport[0] = dp1; (rule)->fw_dport[1] = dp2;		\} while (0)typedef struct fw_handle fw_t;typedef int (*fw_handler)(const struct fw_rule *rule, void *arg);__BEGIN_DECLSfw_t	*fw_open(void);int	 fw_add(fw_t *f, const struct fw_rule *rule);int	 fw_delete(fw_t *f, const struct fw_rule *rule);int	 fw_loop(fw_t *f, fw_handler callback, void *arg);fw_t	*fw_close(fw_t *f);__END_DECLS#endif /* DNET_FW_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?