def nl_syserr2nlerr(error_):
error_ = abs(error_)<EOL>legend = {<EOL>errno.EBADF: libnl.errno_.NLE_BAD_SOCK,<EOL>errno.EADDRINUSE: libnl.errno_.NLE_EXIST,<EOL>errno.EEXIST: libnl.errno_.NLE_EXIST,<EOL>errno.EADDRNOTAVAIL: libnl.errno_.NLE_NOADDR,<EOL>errno.ESRCH: libnl.errno_.NLE_OBJ_NOTFOUND,<EOL>errno.ENOENT: libnl.errno_.NLE_OBJ_NOTFOUND,<EOL>errno.EINTR: libnl.errno_.NLE_INTR,<EOL>errno.EAGAIN: libnl.errno_.NLE_AGAIN,<EOL>errno.ENOTSOCK: libnl.errno_.NLE_BAD_SOCK,<EOL>errno.ENOPROTOOPT: libnl.errno_.NLE_INVAL,<EOL>errno.EFAULT: libnl.errno_.NLE_INVAL,<EOL>errno.EACCES: libnl.errno_.NLE_NOACCESS,<EOL>errno.EINVAL: libnl.errno_.NLE_INVAL,<EOL>errno.ENOBUFS: libnl.errno_.NLE_NOMEM,<EOL>errno.ENOMEM: libnl.errno_.NLE_NOMEM,<EOL>errno.EAFNOSUPPORT: libnl.errno_.NLE_AF_NOSUPPORT,<EOL>errno.EPROTONOSUPPORT: libnl.errno_.NLE_PROTO_MISMATCH,<EOL>errno.EOPNOTSUPP: libnl.errno_.NLE_OPNOTSUPP,<EOL>errno.EPERM: libnl.errno_.NLE_PERM,<EOL>errno.EBUSY: libnl.errno_.NLE_BUSY,<EOL>errno.ERANGE: libnl.errno_.NLE_RANGE,<EOL>errno.ENODEV: libnl.errno_.NLE_NODEV,<EOL>}<EOL>return int(legend.get(error_, libnl.errno_.NLE_FAILURE))<EOL>
https://github.com/thom311/libnl/blob/libnl3_2_25/lib/error.c#L84.