#include "netlink.h" #include static struct mnl_socket *nl; static uint32_t seq; bool nl_init(void) { nl = mnl_socket_open(NETLINK_ROUTE); if (nl == NULL) { perror("mnl_socket_open"); return false; } if (mnl_socket_bind(nl, 0, MNL_SOCKET_AUTOPID) < 0) { perror("mnl_socket_bind"); nl_deinit(); return false; } return true; } void nl_deinit(void) { if (!nl) return; mnl_socket_close(nl); nl = NULL; } struct mnl_socket * nl_socket(void) { return nl; } uint32_t nl_seq(void) { return seq++; }