Support arbitrary parameter passing to sensor function
[khatus.git] / x5 / khatus_lib_sensor.c
index e3e2cb3..7fa9bda 100644 (file)
 #include "khatus_lib_time.h"
 
 void
 #include "khatus_lib_time.h"
 
 void
-loop(struct timespec *ti, char *fifo, char *buf, int fun(char *))
+loop(
+    struct timespec *ti,
+    char *fifo,
+    char *buf,
+    int fun(char *, void *),
+    void *params)
 {
        int fd = -1;
        int w  = -1;  /* written */
 {
        int fd = -1;
        int w  = -1;  /* written */
@@ -25,7 +30,7 @@ loop(struct timespec *ti, char *fifo, char *buf, int fun(char *))
                            fifo,
                            strerror(errno));
                debug("openned. fd: %d\n", fd);
                            fifo,
                            strerror(errno));
                debug("openned. fd: %d\n", fd);
-               r = fun(buf);
+               r = fun(buf, params);
                buf[r] = END_OF_MESSAGE;
                for (i = 0; (w = write(fd, buf + i++, 1)) && r; r--)
                        ;
                buf[r] = END_OF_MESSAGE;
                for (i = 0; (w = write(fd, buf + i++, 1)) && r; r--)
                        ;
This page took 0.017831 seconds and 4 git commands to generate.