libnfnetlink.h | libnfnetlink.h | |||
---|---|---|---|---|
skipping to change at line 26 | skipping to change at line 26 | |||
#endif | #endif | |||
#include <sys/socket.h> /* for sa_family_t */ | #include <sys/socket.h> /* for sa_family_t */ | |||
#include <linux/netlink.h> | #include <linux/netlink.h> | |||
#include <libnfnetlink/linux_nfnetlink.h> | #include <libnfnetlink/linux_nfnetlink.h> | |||
#ifndef NETLINK_NETFILTER | #ifndef NETLINK_NETFILTER | |||
#define NETLINK_NETFILTER 12 | #define NETLINK_NETFILTER 12 | |||
#endif | #endif | |||
#ifndef SOL_NETLINK | ||||
#define SOL_NETLINK 270 | ||||
#endif | ||||
#ifndef NETLINK_BROADCAST_SEND_ERROR | ||||
#define NETLINK_BROADCAST_SEND_ERROR 4 | ||||
#endif | ||||
#ifndef NETLINK_NO_ENOBUFS | ||||
#define NETLINK_NO_ENOBUFS 5 | ||||
#endif | ||||
#define NLMSG_TAIL(nlh) \ | #define NLMSG_TAIL(nlh) \ | |||
(((void *) (nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)) | (((void *) (nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)) | |||
#define NFNL_HEADER_LEN (NLMSG_ALIGN(sizeof(struct nlmsghdr)) \ | #define NFNL_HEADER_LEN (NLMSG_ALIGN(sizeof(struct nlmsghdr)) \ | |||
+NLMSG_ALIGN(sizeof(struct nfgenmsg))) | +NLMSG_ALIGN(sizeof(struct nfgenmsg))) | |||
#define NFNL_BUFFSIZE 8192 | #define NFNL_BUFFSIZE 8192 | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
skipping to change at line 53 | skipping to change at line 65 | |||
struct nfnl_callback { | struct nfnl_callback { | |||
int (*call)(struct nlmsghdr *nlh, struct nfattr *nfa[], void *data); | int (*call)(struct nlmsghdr *nlh, struct nfattr *nfa[], void *data); | |||
void *data; | void *data; | |||
u_int16_t attr_count; | u_int16_t attr_count; | |||
}; | }; | |||
struct nfnl_handle; | struct nfnl_handle; | |||
struct nfnl_subsys_handle; | struct nfnl_subsys_handle; | |||
extern int nfnl_fd(struct nfnl_handle *h); | extern int nfnl_fd(struct nfnl_handle *h); | |||
extern unsigned int nfnl_portid(const struct nfnl_handle *h); | ||||
/* get a new library handle */ | /* get a new library handle */ | |||
extern struct nfnl_handle *nfnl_open(void); | extern struct nfnl_handle *nfnl_open(void); | |||
extern int nfnl_close(struct nfnl_handle *); | extern int nfnl_close(struct nfnl_handle *); | |||
extern struct nfnl_subsys_handle *nfnl_subsys_open(struct nfnl_handle *, | extern struct nfnl_subsys_handle *nfnl_subsys_open(struct nfnl_handle *, | |||
u_int8_t, u_int8_t, | u_int8_t, u_int8_t, | |||
unsigned int); | unsigned int); | |||
extern void nfnl_subsys_close(struct nfnl_subsys_handle *); | extern void nfnl_subsys_close(struct nfnl_subsys_handle *); | |||
skipping to change at line 170 | skipping to change at line 183 | |||
__ret = NFA_DATA(tb[attr-1]); \ | __ret = NFA_DATA(tb[attr-1]); \ | |||
__ret; \ | __ret; \ | |||
}) | }) | |||
#ifndef NLA_F_NESTED | #ifndef NLA_F_NESTED | |||
#define NLA_F_NESTED (1 << 15) | #define NLA_F_NESTED (1 << 15) | |||
#endif | #endif | |||
/* nfnl attribute handling functions */ | /* nfnl attribute handling functions */ | |||
extern int nfnl_addattr_l(struct nlmsghdr *, int, int, const void *, int); | extern int nfnl_addattr_l(struct nlmsghdr *, int, int, const void *, int); | |||
extern int nfnl_addattr8(struct nlmsghdr *, int, int, u_int8_t); | ||||
extern int nfnl_addattr16(struct nlmsghdr *, int, int, u_int16_t); | extern int nfnl_addattr16(struct nlmsghdr *, int, int, u_int16_t); | |||
extern int nfnl_addattr32(struct nlmsghdr *, int, int, u_int32_t); | extern int nfnl_addattr32(struct nlmsghdr *, int, int, u_int32_t); | |||
extern int nfnl_nfa_addattr_l(struct nfattr *, int, int, const void *, int) ; | extern int nfnl_nfa_addattr_l(struct nfattr *, int, int, const void *, int) ; | |||
extern int nfnl_nfa_addattr16(struct nfattr *, int, int, u_int16_t); | extern int nfnl_nfa_addattr16(struct nfattr *, int, int, u_int16_t); | |||
extern int nfnl_nfa_addattr32(struct nfattr *, int, int, u_int32_t); | extern int nfnl_nfa_addattr32(struct nfattr *, int, int, u_int32_t); | |||
extern int nfnl_parse_attr(struct nfattr **, int, struct nfattr *, int); | extern int nfnl_parse_attr(struct nfattr **, int, struct nfattr *, int); | |||
#define nfnl_parse_nested(tb, max, nfa) \ | #define nfnl_parse_nested(tb, max, nfa) \ | |||
nfnl_parse_attr((tb), (max), NFA_DATA((nfa)), NFA_PAYLOAD((nfa))) | nfnl_parse_attr((tb), (max), NFA_DATA((nfa)), NFA_PAYLOAD((nfa))) | |||
#define nfnl_nest(nlh, bufsize, type) \ | #define nfnl_nest(nlh, bufsize, type) \ | |||
({ struct nfattr *__start = NLMSG_TAIL(nlh); \ | ({ struct nfattr *__start = NLMSG_TAIL(nlh); \ | |||
End of changes. 3 change blocks. | ||||
0 lines changed or deleted | 14 lines changed or added | |||