From 7e068801fbf82413ac0a5e63e586c268bd457434 Mon Sep 17 00:00:00 2001 From: tzafrir Date: Mon, 4 Feb 2008 23:00:48 +0000 Subject: Move kernel stuff to under kernel/ (merged branch /zaptel/team/tzafrir/move ) Closes issue #7117. git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3793 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- kernel/xpp/xframe_queue.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 kernel/xpp/xframe_queue.h (limited to 'kernel/xpp/xframe_queue.h') diff --git a/kernel/xpp/xframe_queue.h b/kernel/xpp/xframe_queue.h new file mode 100644 index 0000000..5612d65 --- /dev/null +++ b/kernel/xpp/xframe_queue.h @@ -0,0 +1,34 @@ +#ifndef XFRAME_QUEUE_H +#define XFRAME_QUEUE_H + +#include +#include +#include "xdefs.h" + +#define XFRAME_QUEUE_MARGIN 10 + +struct xframe_queue { + struct list_head head; + unsigned int count; + unsigned int max_count; + unsigned int steady_state_count; + spinlock_t lock; + const char *name; + void *priv; + /* statistics */ + unsigned int worst_count; + unsigned int overflows; + unsigned long worst_lag_usec; /* since xframe creation */ +}; + +void xframe_queue_init(struct xframe_queue *q, + unsigned int steady_state_count, unsigned int max_count, + const char *name, void *priv); +__must_check bool xframe_enqueue(struct xframe_queue *q, xframe_t *xframe); +__must_check xframe_t *xframe_dequeue(struct xframe_queue *q); +void xframe_queue_clearstats(struct xframe_queue *q); +void xframe_queue_disable(struct xframe_queue *q); +void xframe_queue_clear(struct xframe_queue *q); +uint xframe_queue_count(struct xframe_queue *q); + +#endif /* XFRAME_QUEUE_ */ -- cgit v1.2.3