libnfnetlink.h | libnfnetlink.h | |||
---|---|---|---|---|
skipping to change at line 34 | skipping to change at line 34 | |||
#endif | #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 | ||||
extern "C" { | ||||
#endif | ||||
struct nfnlhdr { | struct nfnlhdr { | |||
struct nlmsghdr nlh; | struct nlmsghdr nlh; | |||
struct nfgenmsg nfmsg; | struct nfgenmsg nfmsg; | |||
}; | }; | |||
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; | |||
}; | }; | |||
skipping to change at line 203 | skipping to change at line 207 | |||
struct nlif_handle; | struct nlif_handle; | |||
struct nlif_handle *nlif_open(void); | struct nlif_handle *nlif_open(void); | |||
void nlif_close(struct nlif_handle *orig); | void nlif_close(struct nlif_handle *orig); | |||
int nlif_fd(struct nlif_handle *nlif_handle); | int nlif_fd(struct nlif_handle *nlif_handle); | |||
int nlif_query(struct nlif_handle *nlif_handle); | int nlif_query(struct nlif_handle *nlif_handle); | |||
int nlif_catch(struct nlif_handle *nlif_handle); | int nlif_catch(struct nlif_handle *nlif_handle); | |||
int nlif_index2name(struct nlif_handle *nlif_handle, | int nlif_index2name(struct nlif_handle *nlif_handle, | |||
unsigned int if_index, | unsigned int if_index, | |||
char *name); | char *name); | |||
int nlif_get_ifflags(const struct nlif_handle *h, | ||||
unsigned int index, | ||||
unsigned int *flags); | ||||
#ifdef __cplusplus | ||||
} /* extern "C" */ | ||||
#endif | ||||
/* Pablo: What is the equivalence of be64_to_cpu in userspace? | /* Pablo: What is the equivalence of be64_to_cpu in userspace? | |||
* | * | |||
* Harald: Good question. I don't think there's a standard way [yet?], | * Harald: Good question. I don't think there's a standard way [yet?], | |||
* so I'd suggest manually implementing it by "#if little endian" bitshift | * so I'd suggest manually implementing it by "#if little endian" bitshift | |||
* operations in C (at least for now). | * operations in C (at least for now). | |||
* | * | |||
* All the payload of any nfattr will always be in network byte order. | * All the payload of any nfattr will always be in network byte order. | |||
* This would allow easy transport over a real network in the future | * This would allow easy transport over a real network in the future | |||
* (e.g. jamal's netlink2). | * (e.g. jamal's netlink2). | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 11 lines changed or added | |||