From 4621a855b2e35f14ee3310052fffe100203c301d Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 21 Mar 2014 15:54:48 +0000 Subject: [PATCH] libnl-tiny: ensure compatibility to libnl version 3 and higher To be prepared to support keepalived 1.2.10 and higher we need libnl3 or higher. The attached patch add some defines so that it can be build be libnl-tiny. Patch by Thomas Heil Signed-off-by: Felix Fietkau SVN-Revision: 39991 --- package/libs/libnl-tiny/src/error.c | 8 ++++++++ package/libs/libnl-tiny/src/include/netlink/errno.h | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/package/libs/libnl-tiny/src/error.c b/package/libs/libnl-tiny/src/error.c index 71ae7220e8..e8ee47459e 100644 --- a/package/libs/libnl-tiny/src/error.c +++ b/package/libs/libnl-tiny/src/error.c @@ -42,6 +42,11 @@ static const char *errmsg[NLE_MAX+1] = { [NLE_PROTO_MISMATCH] = "Protocol mismatch", [NLE_NOACCESS] = "No Access", [NLE_PERM] = "Operation not permitted", +[NLE_PKTLOC_FILE] = "Unable to open packet location file", +[NLE_PARSE_ERR] = "Unable to parse object", +[NLE_NODEV] = "No such device", +[NLE_IMMUTABLE] = "Immutable attribute", +[NLE_DUMP_INTR] = "Dump inconsistency detected, interrupted", }; /** @@ -85,6 +90,7 @@ int nl_syserr2nlerr(int error) case EADDRINUSE: return NLE_EXIST; case EEXIST: return NLE_EXIST; case EADDRNOTAVAIL: return NLE_NOADDR; + case ESRCH: /* fall through */ case ENOENT: return NLE_OBJ_NOTFOUND; case EINTR: return NLE_INTR; case EAGAIN: return NLE_AGAIN; @@ -100,6 +106,8 @@ int nl_syserr2nlerr(int error) case EOPNOTSUPP: return NLE_OPNOTSUPP; case EPERM: return NLE_PERM; case EBUSY: return NLE_BUSY; + case ERANGE: return NLE_RANGE; + case ENODEV: return NLE_NODEV; default: return NLE_FAILURE; } } diff --git a/package/libs/libnl-tiny/src/include/netlink/errno.h b/package/libs/libnl-tiny/src/include/netlink/errno.h index 0b43da02a9..f8b5130c22 100644 --- a/package/libs/libnl-tiny/src/include/netlink/errno.h +++ b/package/libs/libnl-tiny/src/include/netlink/errno.h @@ -45,8 +45,13 @@ extern "C" { #define NLE_PROTO_MISMATCH 26 #define NLE_NOACCESS 27 #define NLE_PERM 28 +#define NLE_PKTLOC_FILE 29 +#define NLE_PARSE_ERR 30 +#define NLE_NODEV 31 +#define NLE_IMMUTABLE 32 +#define NLE_DUMP_INTR 33 -#define NLE_MAX NLE_PERM +#define NLE_MAX NLE_DUMP_INTR extern const char * nl_geterror(int); extern void nl_perror(int, const char *);