#ifndef _OQ_H_c5781c8d_ #define _OQ_H_c5781c8d_ /* This file is in the public domain. */ typedef struct oq OQ; typedef struct oqe OQE; struct oq { unsigned int len; OQE *head; OQE **tail; } ; /* * Value passed as the length argument to the oq_queue_* functions to * mean "use strlen of the buffer argument". * * This could be -1 except that that's too likely to occur by accident. */ #define OQ_STRLEN (-12345) extern void oq_init(OQ *); extern void oq_queue_point(OQ *, const void *, int); extern void oq_queue_copy(OQ *, const void *, int); extern void oq_queue_free(OQ *, void *, int); extern int oq_writev(OQ *, int); extern int oq_dropdata(OQ *, int); extern unsigned int oq_qlen(OQ *); extern int oq_empty(OQ *); extern int oq_nonempty(OQ *); extern int oq_canthappen(void *, int); extern void oq_flush(OQ *); extern void oq_cbwalk(OQ *, void (*)(const char *, int), int); #endif