From 2ebd9db684112ca14d3edfb1c591ac3f90d91e3b Mon Sep 17 00:00:00 2001 From: cbdev Date: Sat, 17 Jun 2023 23:45:44 +0200 Subject: Reverse exports --- Makefile | 3 ++- nfcommander.c | 11 +++++++++-- reader.c | 2 +- reader_yhy.c | 11 +++++++++++ 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index ca709b7..760a07e 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ CORE_OBJS = control.o reader.o config.o command.o PLUGINS = reader_yhy.so reader_yhy.so: LDLIBS = -lyhy -reader_yhy.so: LDFLAGS = -L. -Wl,-rpath . +reader_yhy.so: LDFLAGS += -L. -Wl,-rpath . %.so: CFLAGS += -shared -fPIC @@ -13,6 +13,7 @@ reader_yhy.so: LDFLAGS = -L. -Wl,-rpath . $(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS) nfcommander: LDLIBS = -ldl +nfcommander: LDFLAGS += -Wl,-export-dynamic all: nfcommander $(PLUGINS) diff --git a/nfcommander.c b/nfcommander.c index 3c58d6c..4763b78 100644 --- a/nfcommander.c +++ b/nfcommander.c @@ -73,10 +73,16 @@ int main(int argc, char** argv){ } //start reader api - reader_init(); + if(reader_init()){ + printf("Failed to start reader\n"); + return EXIT_FAILURE; + } //start control api - control_start(); + if(control_start()){ + printf("Failed to start control interface\n"); + return EXIT_FAILURE; + } //handle signals signal(SIGINT, signal_handler); @@ -91,6 +97,7 @@ int main(int argc, char** argv){ for(n = 0; n < event_count; n++){ polldata.u64 = events[n].data.u64; + //TODO error checking switch(polldata.components.system){ case system_control: control_handle(polldata.components.fd); diff --git a/reader.c b/reader.c index 5c5881c..5472e0f 100644 --- a/reader.c +++ b/reader.c @@ -21,7 +21,7 @@ int reader_init(){ reader_module = dlopen(plugin, RTLD_NOW); if(!reader_module){ - printf("Failed to load reader plugin %s\n", plugin); + printf("Failed to load reader plugin %s: %s\n", plugin, dlerror()); return -1; } diff --git a/reader_yhy.c b/reader_yhy.c index da5be5e..51ac796 100644 --- a/reader_yhy.c +++ b/reader_yhy.c @@ -1,9 +1,20 @@ #include #include "nfcommander.h" +#include "config.h" static void __attribute__((constructor)) init() { printf("This is the yhy reader plugin\n"); + + size_t poll_timeout = 1000; + if(config_get("nfc", "interval")){ + poll_timeout = strtoul(config_get("nfc", "interval"), NULL, 10); + } + + char* port = config_get("nfc", "device"); + + printf("Opening %s with polltime %d\n", port, poll_timeout); + } static void __attribute__((destructor)) cleanup() { -- cgit v1.2.3