diff options
Diffstat (limited to 'reader_linux.c')
-rw-r--r-- | reader_linux.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/reader_linux.c b/reader_linux.c new file mode 100644 index 0000000..588d5f0 --- /dev/null +++ b/reader_linux.c @@ -0,0 +1,41 @@ +#include <stdio.h> +#include <sys/socket.h> +#include <netlink/netlink.h> +#include <netlink/genl/genl.h> +#include <netlink/genl/ctrl.h> +#include <linux/nfc.h> + +static struct nl_sock* nl_socket = NULL; +static int genl_group = -1; + +int init(){ + nl_socket = nl_socket_alloc(); + if(!nl_socket || genl_connect(nl_socket)){ + printf("Failed to connect to netlink\n"); + return 1; + } + + genl_group = genl_ctrl_resolve(nl_socket, NFC_GENL_NAME); + if(genl_group < 0){ + printf("Failed to resolve NFC netlink control\n"); + return 1; + } + + //TODO + + return 1; +} + +int handle(int fd){ + //TODO + return 1; +} + +int scan(){ + //TODO + return 1; +} + +static void __attribute__((destructor)) cleanup(){ + nl_socket_free(nl_socket); +} |