diff options
author | Jannis Hoffmann <jannis@fehcom.de> | 2024-07-09 11:44:11 +0200 |
---|---|---|
committer | Jannis Hoffmann <jannis@fehcom.de> | 2024-07-09 11:44:11 +0200 |
commit | f1b71c9fe7dbb4886588a036399cf5ebe16b7c47 (patch) | |
tree | e07786aa479c9fb6ee3e537078470aaab5454f80 /src/trigger.c | |
parent | a293489ee83c8b05d845a162dc2a4de026f3775d (diff) |
removed top level directory
Diffstat (limited to 'src/trigger.c')
-rw-r--r-- | src/trigger.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/trigger.c b/src/trigger.c new file mode 100644 index 0000000..ec22e11 --- /dev/null +++ b/src/trigger.c @@ -0,0 +1,41 @@ +#include "select.h" +#include "ndelay.h" +#include "open.h" +#include "trigger.h" +#include "close.h" + +static int fd = -1; + +void trigger_set() +{ + if (fd != -1) close(fd); + fd = open_read("lock/trigger"); +} + +void trigger_selprep(int *nfds,fd_set *rfds) +{ + if (fd != -1) { + FD_SET(fd,rfds); + if (*nfds < fd + 1) *nfds = fd + 1; + } +} + +int trigger_pulled(fd_set *rfds) +{ + if (fd != -1) if (FD_ISSET(fd,rfds)) return 1; + return 0; +} + +void write(); /* compiler warning (temp) */ + +void triggerpull() +{ + int fd; + + fd = open_write("lock/trigger"); + if (fd >= 0) { + ndelay_on(fd); + write(fd,"",1); /* if it fails, bummer */ + close(fd); + } +} |