summaryrefslogtreecommitdiff
path: root/src/platform/posix/posix_pollq.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/posix/posix_pollq.h')
-rw-r--r--src/platform/posix/posix_pollq.h18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/platform/posix/posix_pollq.h b/src/platform/posix/posix_pollq.h
index e42b120d..9fa7c92e 100644
--- a/src/platform/posix/posix_pollq.h
+++ b/src/platform/posix/posix_pollq.h
@@ -25,22 +25,26 @@ typedef struct nni_posix_pollq_node nni_posix_pollq_node;
typedef struct nni_posix_pollq nni_posix_pollq;
struct nni_posix_pollq_node {
- nni_posix_pollq *pq; // associated pollq
nni_list_node node; // linkage into the pollq list
+ nni_posix_pollq *pq; // associated pollq
int index; // used by the poller impl
int armed; // used by the poller impl
int fd; // file descriptor to poll
int events; // events to watch for
int revents; // events received
- void * data; // user data
- nni_cb cb; // user callback on event
+ nni_taskq_ent task;
+ void * data; // user data
+ nni_cb cb; // user callback on event
};
extern nni_posix_pollq *nni_posix_pollq_get(int);
-extern int nni_posix_pollq_submit(nni_posix_pollq *, nni_posix_pollq_node *);
-extern void nni_posix_pollq_cancel(nni_posix_pollq *, nni_posix_pollq_node *);
-extern int nni_posix_pollq_sysinit(void);
-extern void nni_posix_pollq_sysfini(void);
+extern int nni_posix_pollq_sysinit(void);
+extern void nni_posix_pollq_sysfini(void);
+
+extern int nni_posix_pollq_add(nni_posix_pollq *, nni_posix_pollq_node *);
+extern void nni_posix_pollq_remove(nni_posix_pollq_node *);
+extern void nni_posix_pollq_arm(nni_posix_pollq_node *, int);
+extern void nni_posix_pollq_disarm(nni_posix_pollq_node *, int);
#endif // PLATFORM_POSIX