500 lines
17 KiB
Diff
500 lines
17 KiB
Diff
From patchwork Fri Apr 3 22:04:46 2015
|
|
Content-Type: text/plain; charset="utf-8"
|
|
MIME-Version: 1.0
|
|
Content-Transfer-Encoding: 7bit
|
|
Subject: Use stdlib uint* instead of u_int*
|
|
From: Nathan McSween <nwmcsween@gmail.com>
|
|
X-Patchwork-Id: 458131
|
|
X-Patchwork-Delegate: pablo@netfilter.org
|
|
Message-Id: <1428098686-17843-1-git-send-email-nwmcsween@gmail.com>
|
|
To: netfilter-devel@vger.kernel.org
|
|
Cc: Nathan McSween <nwmcsween@gmail.com>
|
|
Date: Fri, 3 Apr 2015 22:04:46 +0000
|
|
|
|
Signed-off-by: Nathan McSween <nwmcsween@gmail.com>
|
|
---
|
|
include/libnfnetlink/libnfnetlink.h | 25 +++++-----
|
|
include/libnfnetlink/linux_nfnetlink.h | 11 +++--
|
|
include/libnfnetlink/linux_nfnetlink_compat.h | 6 ++-
|
|
src/iftable.c | 9 ++--
|
|
src/iftable.h | 6 ++-
|
|
src/libnfnetlink.c | 71 ++++++++++++++-------------
|
|
src/rtnl.c | 5 +-
|
|
src/rtnl.h | 3 +-
|
|
8 files changed, 73 insertions(+), 63 deletions(-)
|
|
|
|
diff --git a/include/libnfnetlink/libnfnetlink.h b/include/libnfnetlink/libnfnetlink.h
|
|
index 1d8c49d..cd0be3d 100644
|
|
--- a/include/libnfnetlink/libnfnetlink.h
|
|
+++ b/include/libnfnetlink/libnfnetlink.h
|
|
@@ -15,6 +15,7 @@
|
|
#define aligned_u64 unsigned long long __attribute__((aligned(8)))
|
|
#endif
|
|
|
|
+#include <stdint.h>
|
|
#include <sys/socket.h> /* for sa_family_t */
|
|
#include <linux/netlink.h>
|
|
#include <libnfnetlink/linux_nfnetlink.h>
|
|
@@ -55,7 +56,7 @@ struct nfnlhdr {
|
|
struct nfnl_callback {
|
|
int (*call)(struct nlmsghdr *nlh, struct nfattr *nfa[], void *data);
|
|
void *data;
|
|
- u_int16_t attr_count;
|
|
+ uint16_t attr_count;
|
|
};
|
|
|
|
struct nfnl_handle;
|
|
@@ -69,7 +70,7 @@ extern struct nfnl_handle *nfnl_open(void);
|
|
extern int nfnl_close(struct nfnl_handle *);
|
|
|
|
extern struct nfnl_subsys_handle *nfnl_subsys_open(struct nfnl_handle *,
|
|
- u_int8_t, u_int8_t,
|
|
+ uint8_t, uint8_t,
|
|
unsigned int);
|
|
extern void nfnl_subsys_close(struct nfnl_subsys_handle *);
|
|
|
|
@@ -88,8 +89,8 @@ extern int nfnl_sendiov(const struct nfnl_handle *nfnlh,
|
|
const struct iovec *iov, unsigned int num,
|
|
unsigned int flags);
|
|
extern void nfnl_fill_hdr(struct nfnl_subsys_handle *, struct nlmsghdr *,
|
|
- unsigned int, u_int8_t, u_int16_t, u_int16_t,
|
|
- u_int16_t);
|
|
+ unsigned int, uint8_t, uint16_t, uint16_t,
|
|
+ uint16_t);
|
|
extern __attribute__((deprecated)) int
|
|
nfnl_talk(struct nfnl_handle *, struct nlmsghdr *, pid_t,
|
|
unsigned, struct nlmsghdr *,
|
|
@@ -103,8 +104,8 @@ nfnl_listen(struct nfnl_handle *,
|
|
/* receiving */
|
|
extern ssize_t nfnl_recv(const struct nfnl_handle *h, unsigned char *buf, size_t len);
|
|
extern int nfnl_callback_register(struct nfnl_subsys_handle *,
|
|
- u_int8_t type, struct nfnl_callback *cb);
|
|
-extern int nfnl_callback_unregister(struct nfnl_subsys_handle *, u_int8_t type);
|
|
+ uint8_t type, struct nfnl_callback *cb);
|
|
+extern int nfnl_callback_unregister(struct nfnl_subsys_handle *, uint8_t type);
|
|
extern int nfnl_handle_packet(struct nfnl_handle *, char *buf, int len);
|
|
|
|
/* parsing */
|
|
@@ -180,12 +181,12 @@ extern int nfnl_query(struct nfnl_handle *h, struct nlmsghdr *nlh);
|
|
|
|
/* nfnl attribute handling functions */
|
|
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_addattr32(struct nlmsghdr *, int, int, u_int32_t);
|
|
+extern int nfnl_addattr8(struct nlmsghdr *, int, int, uint8_t);
|
|
+extern int nfnl_addattr16(struct nlmsghdr *, int, int, uint16_t);
|
|
+extern int nfnl_addattr32(struct nlmsghdr *, int, int, uint32_t);
|
|
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_addattr32(struct nfattr *, int, int, u_int32_t);
|
|
+extern int nfnl_nfa_addattr16(struct nfattr *, int, int, uint16_t);
|
|
+extern int nfnl_nfa_addattr32(struct nfattr *, int, int, uint32_t);
|
|
extern int nfnl_parse_attr(struct nfattr **, int, struct nfattr *, int);
|
|
#define nfnl_parse_nested(tb, max, nfa) \
|
|
nfnl_parse_attr((tb), (max), NFA_DATA((nfa)), NFA_PAYLOAD((nfa)))
|
|
@@ -197,7 +198,7 @@ extern int nfnl_parse_attr(struct nfattr **, int, struct nfattr *, int);
|
|
({ (tail)->nfa_len = (void *) NLMSG_TAIL(nlh) - (void *) tail; })
|
|
|
|
extern void nfnl_build_nfa_iovec(struct iovec *iov, struct nfattr *nfa,
|
|
- u_int16_t type, u_int32_t len,
|
|
+ uint16_t type, uint32_t len,
|
|
unsigned char *val);
|
|
extern unsigned int nfnl_rcvbufsiz(const struct nfnl_handle *h,
|
|
unsigned int size);
|
|
diff --git a/include/libnfnetlink/linux_nfnetlink.h b/include/libnfnetlink/linux_nfnetlink.h
|
|
index 76a8550..7b843c6 100644
|
|
--- a/include/libnfnetlink/linux_nfnetlink.h
|
|
+++ b/include/libnfnetlink/linux_nfnetlink.h
|
|
@@ -1,5 +1,6 @@
|
|
#ifndef _NFNETLINK_H
|
|
#define _NFNETLINK_H
|
|
+#include <stdint.h>
|
|
#include <linux/types.h>
|
|
#include <libnfnetlink/linux_nfnetlink_compat.h>
|
|
|
|
@@ -25,9 +26,9 @@ enum nfnetlink_groups {
|
|
/* General form of address family dependent message.
|
|
*/
|
|
struct nfgenmsg {
|
|
- u_int8_t nfgen_family; /* AF_xxx */
|
|
- u_int8_t version; /* nfnetlink version */
|
|
- u_int16_t res_id; /* resource id */
|
|
+ uint8_t nfgen_family; /* AF_xxx */
|
|
+ uint8_t version; /* nfnetlink version */
|
|
+ uint16_t res_id; /* resource id */
|
|
};
|
|
|
|
#define NFNETLINK_V0 0
|
|
@@ -59,7 +60,7 @@ struct nfnl_callback
|
|
int (*call)(struct sock *nl, struct sk_buff *skb,
|
|
struct nlmsghdr *nlh, struct nlattr *cda[]);
|
|
const struct nla_policy *policy; /* netlink attribute policy */
|
|
- const u_int16_t attr_count; /* number of nlattr's */
|
|
+ const uint16_t attr_count; /* number of nlattr's */
|
|
};
|
|
|
|
struct nfnetlink_subsystem
|
|
@@ -76,7 +77,7 @@ extern int nfnetlink_subsys_unregister(const struct nfnetlink_subsystem *n);
|
|
extern int nfnetlink_has_listeners(unsigned int group);
|
|
extern int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group,
|
|
int echo);
|
|
-extern int nfnetlink_unicast(struct sk_buff *skb, u_int32_t pid, int flags);
|
|
+extern int nfnetlink_unicast(struct sk_buff *skb, uint32_t pid, int flags);
|
|
|
|
#define MODULE_ALIAS_NFNL_SUBSYS(subsys) \
|
|
MODULE_ALIAS("nfnetlink-subsys-" __stringify(subsys))
|
|
diff --git a/include/libnfnetlink/linux_nfnetlink_compat.h b/include/libnfnetlink/linux_nfnetlink_compat.h
|
|
index e145176..cd094fc 100644
|
|
--- a/include/libnfnetlink/linux_nfnetlink_compat.h
|
|
+++ b/include/libnfnetlink/linux_nfnetlink_compat.h
|
|
@@ -3,6 +3,8 @@
|
|
#ifndef __KERNEL__
|
|
/* Old nfnetlink macros for userspace */
|
|
|
|
+#include <stdint.h>
|
|
+
|
|
/* nfnetlink groups: Up to 32 maximum */
|
|
#define NF_NETLINK_CONNTRACK_NEW 0x00000001
|
|
#define NF_NETLINK_CONNTRACK_UPDATE 0x00000002
|
|
@@ -20,8 +22,8 @@
|
|
|
|
struct nfattr
|
|
{
|
|
- u_int16_t nfa_len;
|
|
- u_int16_t nfa_type; /* we use 15 bits for the type, and the highest
|
|
+ uint16_t nfa_len;
|
|
+ uint16_t nfa_type; /* we use 15 bits for the type, and the highest
|
|
* bit to indicate whether the payload is nested */
|
|
};
|
|
|
|
diff --git a/src/iftable.c b/src/iftable.c
|
|
index 5976ed8..3411c4c 100644
|
|
--- a/src/iftable.c
|
|
+++ b/src/iftable.c
|
|
@@ -9,6 +9,7 @@
|
|
/* IFINDEX handling */
|
|
|
|
#include <unistd.h>
|
|
+#include <stdint.h>
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
@@ -27,10 +28,10 @@
|
|
struct ifindex_node {
|
|
struct list_head head;
|
|
|
|
- u_int32_t index;
|
|
- u_int32_t type;
|
|
- u_int32_t alen;
|
|
- u_int32_t flags;
|
|
+ uint32_t index;
|
|
+ uint32_t type;
|
|
+ uint32_t alen;
|
|
+ uint32_t flags;
|
|
char addr[8];
|
|
char name[16];
|
|
};
|
|
diff --git a/src/iftable.h b/src/iftable.h
|
|
index 8df7f24..0cc5335 100644
|
|
--- a/src/iftable.h
|
|
+++ b/src/iftable.h
|
|
@@ -1,8 +1,10 @@
|
|
#ifndef _IFTABLE_H
|
|
#define _IFTABLE_H
|
|
|
|
-int iftable_delete(u_int32_t dst, u_int32_t mask, u_int32_t gw, u_int32_t oif);
|
|
-int iftable_insert(u_int32_t dst, u_int32_t mask, u_int32_t gw, u_int32_t oif);
|
|
+#include <stdint.h>
|
|
+
|
|
+int iftable_delete(uint32_t dst, uint32_t mask, uint32_t gw, uint32_t oif);
|
|
+int iftable_insert(uint32_t dst, uint32_t mask, uint32_t gw, uint32_t oif);
|
|
|
|
int iftable_init(void);
|
|
void iftable_fini(void);
|
|
diff --git a/src/libnfnetlink.c b/src/libnfnetlink.c
|
|
index 398b7d7..b8958dc 100644
|
|
--- a/src/libnfnetlink.c
|
|
+++ b/src/libnfnetlink.c
|
|
@@ -36,6 +36,7 @@
|
|
* minor cleanups
|
|
*/
|
|
|
|
+#include <stdint.h>
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <unistd.h>
|
|
@@ -72,9 +73,9 @@
|
|
|
|
struct nfnl_subsys_handle {
|
|
struct nfnl_handle *nfnlh;
|
|
- u_int32_t subscriptions;
|
|
- u_int8_t subsys_id;
|
|
- u_int8_t cb_count;
|
|
+ uint32_t subscriptions;
|
|
+ uint8_t subsys_id;
|
|
+ uint8_t cb_count;
|
|
struct nfnl_callback *cb; /* array of callbacks */
|
|
};
|
|
|
|
@@ -86,11 +87,11 @@ struct nfnl_handle {
|
|
int fd;
|
|
struct sockaddr_nl local;
|
|
struct sockaddr_nl peer;
|
|
- u_int32_t subscriptions;
|
|
- u_int32_t seq;
|
|
- u_int32_t dump;
|
|
- u_int32_t rcv_buffer_size; /* for nfnl_catch */
|
|
- u_int32_t flags;
|
|
+ uint32_t subscriptions;
|
|
+ uint32_t seq;
|
|
+ uint32_t dump;
|
|
+ uint32_t rcv_buffer_size; /* for nfnl_catch */
|
|
+ uint32_t flags;
|
|
struct nlmsghdr *last_nlhdr;
|
|
struct nfnl_subsys_handle subsys[NFNL_MAX_SUBSYS+1];
|
|
};
|
|
@@ -145,7 +146,7 @@ unsigned int nfnl_portid(const struct nfnl_handle *h)
|
|
static int recalc_rebind_subscriptions(struct nfnl_handle *nfnlh)
|
|
{
|
|
int i, err;
|
|
- u_int32_t new_subscriptions = nfnlh->subscriptions;
|
|
+ uint32_t new_subscriptions = nfnlh->subscriptions;
|
|
|
|
for (i = 0; i < NFNL_MAX_SUBSYS; i++)
|
|
new_subscriptions |= nfnlh->subsys[i].subscriptions;
|
|
@@ -273,8 +274,8 @@ void nfnl_set_rcv_buffer_size(struct nfnl_handle *h, unsigned int size)
|
|
* a valid address that points to a nfnl_subsys_handle structure is returned.
|
|
*/
|
|
struct nfnl_subsys_handle *
|
|
-nfnl_subsys_open(struct nfnl_handle *nfnlh, u_int8_t subsys_id,
|
|
- u_int8_t cb_count, u_int32_t subscriptions)
|
|
+nfnl_subsys_open(struct nfnl_handle *nfnlh, uint8_t subsys_id,
|
|
+ uint8_t cb_count, uint32_t subscriptions)
|
|
{
|
|
struct nfnl_subsys_handle *ssh;
|
|
|
|
@@ -435,10 +436,10 @@ int nfnl_sendiov(const struct nfnl_handle *nfnlh, const struct iovec *iov,
|
|
*/
|
|
void nfnl_fill_hdr(struct nfnl_subsys_handle *ssh,
|
|
struct nlmsghdr *nlh, unsigned int len,
|
|
- u_int8_t family,
|
|
- u_int16_t res_id,
|
|
- u_int16_t msg_type,
|
|
- u_int16_t msg_flags)
|
|
+ uint8_t family,
|
|
+ uint16_t res_id,
|
|
+ uint16_t msg_type,
|
|
+ uint16_t msg_flags)
|
|
{
|
|
assert(ssh);
|
|
assert(nlh);
|
|
@@ -849,14 +850,14 @@ int nfnl_nfa_addattr_l(struct nfattr *nfa, int maxlen, int type,
|
|
}
|
|
|
|
/**
|
|
- * nfnl_addattr8 - Add u_int8_t attribute to nlmsghdr
|
|
+ * nfnl_addattr8 - Add uint8_t attribute to nlmsghdr
|
|
*
|
|
* @n: netlink message header to which attribute is to be added
|
|
* @maxlen: maximum length of netlink message header
|
|
* @type: type of new attribute
|
|
* @data: content of new attribute
|
|
*/
|
|
-int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, u_int8_t data)
|
|
+int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, uint8_t data)
|
|
{
|
|
assert(n);
|
|
assert(maxlen > 0);
|
|
@@ -866,7 +867,7 @@ int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, u_int8_t data)
|
|
}
|
|
|
|
/**
|
|
- * nfnl_nfa_addattr16 - Add u_int16_t attribute to struct nfattr
|
|
+ * nfnl_nfa_addattr16 - Add uint16_t attribute to struct nfattr
|
|
*
|
|
* @nfa: struct nfattr
|
|
* @maxlen: maximal length of nfattr buffer
|
|
@@ -875,7 +876,7 @@ int nfnl_addattr8(struct nlmsghdr *n, int maxlen, int type, u_int8_t data)
|
|
*
|
|
*/
|
|
int nfnl_nfa_addattr16(struct nfattr *nfa, int maxlen, int type,
|
|
- u_int16_t data)
|
|
+ uint16_t data)
|
|
{
|
|
assert(nfa);
|
|
assert(maxlen > 0);
|
|
@@ -885,7 +886,7 @@ int nfnl_nfa_addattr16(struct nfattr *nfa, int maxlen, int type,
|
|
}
|
|
|
|
/**
|
|
- * nfnl_addattr16 - Add u_int16_t attribute to nlmsghdr
|
|
+ * nfnl_addattr16 - Add uint16_t attribute to nlmsghdr
|
|
*
|
|
* @n: netlink message header to which attribute is to be added
|
|
* @maxlen: maximum length of netlink message header
|
|
@@ -894,7 +895,7 @@ int nfnl_nfa_addattr16(struct nfattr *nfa, int maxlen, int type,
|
|
*
|
|
*/
|
|
int nfnl_addattr16(struct nlmsghdr *n, int maxlen, int type,
|
|
- u_int16_t data)
|
|
+ uint16_t data)
|
|
{
|
|
assert(n);
|
|
assert(maxlen > 0);
|
|
@@ -904,7 +905,7 @@ int nfnl_addattr16(struct nlmsghdr *n, int maxlen, int type,
|
|
}
|
|
|
|
/**
|
|
- * nfnl_nfa_addattr32 - Add u_int32_t attribute to struct nfattr
|
|
+ * nfnl_nfa_addattr32 - Add uint32_t attribute to struct nfattr
|
|
*
|
|
* @nfa: struct nfattr
|
|
* @maxlen: maximal length of nfattr buffer
|
|
@@ -913,7 +914,7 @@ int nfnl_addattr16(struct nlmsghdr *n, int maxlen, int type,
|
|
*
|
|
*/
|
|
int nfnl_nfa_addattr32(struct nfattr *nfa, int maxlen, int type,
|
|
- u_int32_t data)
|
|
+ uint32_t data)
|
|
{
|
|
assert(nfa);
|
|
assert(maxlen > 0);
|
|
@@ -923,7 +924,7 @@ int nfnl_nfa_addattr32(struct nfattr *nfa, int maxlen, int type,
|
|
}
|
|
|
|
/**
|
|
- * nfnl_addattr32 - Add u_int32_t attribute to nlmsghdr
|
|
+ * nfnl_addattr32 - Add uint32_t attribute to nlmsghdr
|
|
*
|
|
* @n: netlink message header to which attribute is to be added
|
|
* @maxlen: maximum length of netlink message header
|
|
@@ -932,7 +933,7 @@ int nfnl_nfa_addattr32(struct nfattr *nfa, int maxlen, int type,
|
|
*
|
|
*/
|
|
int nfnl_addattr32(struct nlmsghdr *n, int maxlen, int type,
|
|
- u_int32_t data)
|
|
+ uint32_t data)
|
|
{
|
|
assert(n);
|
|
assert(maxlen > 0);
|
|
@@ -980,7 +981,7 @@ int nfnl_parse_attr(struct nfattr *tb[], int max, struct nfattr *nfa, int len)
|
|
*
|
|
*/
|
|
void nfnl_build_nfa_iovec(struct iovec *iov, struct nfattr *nfa,
|
|
- u_int16_t type, u_int32_t len, unsigned char *val)
|
|
+ uint16_t type, uint32_t len, unsigned char *val)
|
|
{
|
|
assert(iov);
|
|
assert(nfa);
|
|
@@ -1115,7 +1116,7 @@ struct nlmsghdr *nfnl_get_msg_next(struct nfnl_handle *h,
|
|
* appropiately.
|
|
*/
|
|
int nfnl_callback_register(struct nfnl_subsys_handle *ssh,
|
|
- u_int8_t type, struct nfnl_callback *cb)
|
|
+ uint8_t type, struct nfnl_callback *cb)
|
|
{
|
|
assert(ssh);
|
|
assert(cb);
|
|
@@ -1138,7 +1139,7 @@ int nfnl_callback_register(struct nfnl_subsys_handle *ssh,
|
|
* On sucess, 0 is returned. On error, -1 is returned and errno is
|
|
* set appropiately.
|
|
*/
|
|
-int nfnl_callback_unregister(struct nfnl_subsys_handle *ssh, u_int8_t type)
|
|
+int nfnl_callback_unregister(struct nfnl_subsys_handle *ssh, uint8_t type)
|
|
{
|
|
assert(ssh);
|
|
|
|
@@ -1161,8 +1162,8 @@ int nfnl_check_attributes(const struct nfnl_handle *h,
|
|
assert(nfa);
|
|
|
|
int min_len;
|
|
- u_int8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
|
|
- u_int8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
|
|
+ uint8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
|
|
+ uint8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
|
|
const struct nfnl_subsys_handle *ssh;
|
|
struct nfnl_callback *cb;
|
|
|
|
@@ -1212,8 +1213,8 @@ static int __nfnl_handle_msg(struct nfnl_handle *h, struct nlmsghdr *nlh,
|
|
int len)
|
|
{
|
|
struct nfnl_subsys_handle *ssh;
|
|
- u_int8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
|
|
- u_int8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
|
|
+ uint8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
|
|
+ uint8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
|
|
int err = 0;
|
|
|
|
if (subsys_id > NFNL_MAX_SUBSYS)
|
|
@@ -1243,7 +1244,7 @@ int nfnl_handle_packet(struct nfnl_handle *h, char *buf, int len)
|
|
{
|
|
|
|
while (len >= NLMSG_SPACE(0)) {
|
|
- u_int32_t rlen;
|
|
+ uint32_t rlen;
|
|
struct nlmsghdr *nlh = (struct nlmsghdr *)buf;
|
|
|
|
if (nlh->nlmsg_len < sizeof(struct nlmsghdr)
|
|
@@ -1285,8 +1286,8 @@ static int nfnl_is_error(struct nfnl_handle *h, struct nlmsghdr *nlh)
|
|
static int nfnl_step(struct nfnl_handle *h, struct nlmsghdr *nlh)
|
|
{
|
|
struct nfnl_subsys_handle *ssh;
|
|
- u_int8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
|
|
- u_int8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
|
|
+ uint8_t type = NFNL_MSG_TYPE(nlh->nlmsg_type);
|
|
+ uint8_t subsys_id = NFNL_SUBSYS_ID(nlh->nlmsg_type);
|
|
|
|
/* Is this an error message? */
|
|
if (nfnl_is_error(h, nlh)) {
|
|
diff --git a/src/rtnl.c b/src/rtnl.c
|
|
index 7b4ac7d..34802fe 100644
|
|
--- a/src/rtnl.c
|
|
+++ b/src/rtnl.c
|
|
@@ -11,6 +11,7 @@
|
|
/* rtnetlink - routing table netlink interface */
|
|
|
|
#include <unistd.h>
|
|
+#include <stdint.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <errno.h>
|
|
@@ -30,7 +31,7 @@
|
|
#define rtnl_log(x, ...)
|
|
|
|
static inline struct rtnl_handler *
|
|
-find_handler(struct rtnl_handle *rtnl_handle, u_int16_t type)
|
|
+find_handler(struct rtnl_handle *rtnl_handle, uint16_t type)
|
|
{
|
|
struct rtnl_handler *h;
|
|
for (h = rtnl_handle->handlers; h; h = h->next) {
|
|
@@ -41,7 +42,7 @@ find_handler(struct rtnl_handle *rtnl_handle, u_int16_t type)
|
|
}
|
|
|
|
static int call_handler(struct rtnl_handle *rtnl_handle,
|
|
- u_int16_t type,
|
|
+ uint16_t type,
|
|
struct nlmsghdr *hdr)
|
|
{
|
|
struct rtnl_handler *h = find_handler(rtnl_handle, type);
|
|
diff --git a/src/rtnl.h b/src/rtnl.h
|
|
index 0c403dc..9858ae5 100644
|
|
--- a/src/rtnl.h
|
|
+++ b/src/rtnl.h
|
|
@@ -1,13 +1,14 @@
|
|
#ifndef _RTNL_H
|
|
#define _RTNL_H
|
|
|
|
+#include <stdint.h>
|
|
#include <linux/types.h>
|
|
#include <linux/rtnetlink.h>
|
|
|
|
struct rtnl_handler {
|
|
struct rtnl_handler *next;
|
|
|
|
- u_int16_t nlmsg_type;
|
|
+ uint16_t nlmsg_type;
|
|
int (*handlefn)(struct nlmsghdr *h, void *arg);
|
|
void *arg;
|
|
};
|