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

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/