This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
neco/src/netlink.c

38 lines
533 B
C

#include "netlink.h"
#include <stdio.h>
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++;
}