diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/ouroboros/fqueue.h | 40 | ||||
-rw-r--r-- | include/ouroboros/shm_flow_set.h | 3 |
2 files changed, 27 insertions, 16 deletions
diff --git a/include/ouroboros/fqueue.h b/include/ouroboros/fqueue.h index 1b102669..8a5dc988 100644 --- a/include/ouroboros/fqueue.h +++ b/include/ouroboros/fqueue.h @@ -28,6 +28,14 @@ #include <stdbool.h> #include <time.h> +enum fqtype { + FLOW_PKT = 0, + FLOW_DOWN, + FLOW_UP, + FLOW_ALLOC, + FLOW_DEALLOC +}; + struct flow_set; struct fqueue; @@ -37,30 +45,32 @@ typedef struct fqueue fqueue_t; __BEGIN_DECLS -fset_t * fset_create(void); +fset_t * fset_create(void); + +void fset_destroy(fset_t * set); -void fset_destroy(fset_t * set); +fqueue_t * fqueue_create(void); -fqueue_t * fqueue_create(void); +void fqueue_destroy(struct fqueue * fq); -void fqueue_destroy(struct fqueue * fq); +void fset_zero(fset_t * set); -void fset_zero(fset_t * set); +int fset_add(fset_t * set, + int fd); -int fset_add(fset_t * set, - int fd); +bool fset_has(const fset_t * set, + int fd); -bool fset_has(const fset_t * set, - int fd); +void fset_del(fset_t * set, + int fd); -void fset_del(fset_t * set, - int fd); +int fqueue_next(fqueue_t * fq); -int fqueue_next(fqueue_t * fq); +enum fqtype fqueue_type(fqueue_t * fq); -int fevent(fset_t * set, - fqueue_t * fq, - const struct timespec * timeo); +int fevent(fset_t * set, + fqueue_t * fq, + const struct timespec * timeo); __END_DECLS diff --git a/include/ouroboros/shm_flow_set.h b/include/ouroboros/shm_flow_set.h index 76849137..ebf63af5 100644 --- a/include/ouroboros/shm_flow_set.h +++ b/include/ouroboros/shm_flow_set.h @@ -53,7 +53,8 @@ void shm_flow_set_del(struct shm_flow_set * shm_set, int port_id); void shm_flow_set_notify(struct shm_flow_set * set, - int port_id); + int port_id, + int event); ssize_t shm_flow_set_wait(const struct shm_flow_set * shm_set, size_t idx, |