aboutsummaryrefslogtreecommitdiff
path: root/include/sys/bqueue.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/sys/bqueue.h')
-rw-r--r--include/sys/bqueue.h19
1 files changed, 11 insertions, 8 deletions
diff --git a/include/sys/bqueue.h b/include/sys/bqueue.h
index 797aecd791a3..edcee16227ec 100644
--- a/include/sys/bqueue.h
+++ b/include/sys/bqueue.h
@@ -27,27 +27,30 @@ extern "C" {
typedef struct bqueue {
list_t bq_list;
+ size_t bq_size;
+ list_t bq_dequeuing_list;
+ size_t bq_dequeuing_size;
+ list_t bq_enqueuing_list;
+ size_t bq_enqueuing_size;
kmutex_t bq_lock;
kcondvar_t bq_add_cv;
kcondvar_t bq_pop_cv;
- uint64_t bq_size;
- uint64_t bq_maxsize;
- uint64_t bq_fill_fraction;
+ size_t bq_maxsize;
+ uint_t bq_fill_fraction;
size_t bq_node_offset;
} bqueue_t;
typedef struct bqueue_node {
list_node_t bqn_node;
- uint64_t bqn_size;
+ size_t bqn_size;
} bqueue_node_t;
-int bqueue_init(bqueue_t *, uint64_t, uint64_t, size_t);
+int bqueue_init(bqueue_t *, uint_t, size_t, size_t);
void bqueue_destroy(bqueue_t *);
-void bqueue_enqueue(bqueue_t *, void *, uint64_t);
-void bqueue_enqueue_flush(bqueue_t *, void *, uint64_t);
+void bqueue_enqueue(bqueue_t *, void *, size_t);
+void bqueue_enqueue_flush(bqueue_t *, void *, size_t);
void *bqueue_dequeue(bqueue_t *);
-boolean_t bqueue_empty(bqueue_t *);
#ifdef __cplusplus
}