I like this patchset. Some minor glitch: On 16/11/10 12:43, Jan Engelhardt wrote: > @@ -49,31 +43,31 @@ MNL_API int mnl_socket_getsockopt(const struct mnl_socket *nl, int type, void *b > #define MNL_ALIGN(len) (((len)+MNL_ALIGNTO-1) & ~(MNL_ALIGNTO-1)) > #define MNL_NLMSG_HDRLEN MNL_ALIGN(sizeof(struct nlmsghdr)) > > -MNL_API size_t mnl_nlmsg_size(size_t len); > -MNL_API size_t mnl_nlmsg_total_size(size_t len); > -MNL_API size_t mnl_nlmsg_get_payload_len(const struct nlmsghdr *nlh); > +extern size_t mnl_nlmsg_size(size_t len); > +extern size_t mnl_nlmsg_total_size(size_t len); > +extern size_t mnl_nlmsg_get_payload_len(const struct nlmsghdr *nlh); > > /* Netlink message header builder */ > -MNL_API struct nlmsghdr *mnl_nlmsg_put_header(void *buf); > -MNL_API void *mnl_nlmsg_put_extra_header(struct nlmsghdr *nlh, size_t size); > +extern struct nlmsghdr *mnl_nlmsg_put_header(void *buf); > +extern void *mnl_nlmsg_put_extra_header(struct nlmsghdr *nlh, size_t size); > > /* Netlink message iterators */ > -MNL_API bool mnl_nlmsg_ok(const struct nlmsghdr *nlh, int len); > -MNL_API struct nlmsghdr *mnl_nlmsg_next(const struct nlmsghdr *nlh, int *len); > +extern bool mnl_nlmsg_ok(const struct nlmsghdr *nlh, int len); > +extern struct nlmsghdr *mnl_nlmsg_next(const struct nlmsghdr *nlh, int *len); In patch 1/6 mnl_nlmsg_next looks like: -struct nlattr *mnl_attr_next(const struct nlattr *attr, int *len) +struct nlattr *mnl_attr_next(const struct nlattr *attr) but here the old API seems to come back: extern struct nlmsghdr *mnl_nlmsg_next(const struct nlmsghdr *nlh, int *len); -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html