/* -*-c-*-
*
- * $Id: selbuf.h,v 1.1 1999/05/14 21:01:15 mdw Exp $
+ * $Id: selbuf.h,v 1.5 2004/04/08 01:36:13 mdw Exp $
*
* Line-buffering select handler
*
* MA 02111-1307, USA.
*/
-/*----- Revision history --------------------------------------------------*
- *
- * $Log: selbuf.h,v $
- * Revision 1.1 1999/05/14 21:01:15 mdw
- * Integrated `select' handling bits from the background resolver project.
- *
- */
-
-#ifndef SELBUF_H
-#define SELBUF_H
+#ifndef MLIB_SELBUF_H
+#define MLIB_SELBUF_H
#ifdef __cplusplus
extern "C" {
/*----- Header files ------------------------------------------------------*/
-#ifndef LBUF_H
+#ifndef MLIB_LBUF_H
# include "lbuf.h"
#endif
-#ifndef SEL_H
+#ifndef MLIB_SEL_H
# include "sel.h"
#endif
extern void selbuf_disable(selbuf */*b*/);
+/* --- @selbuf_setsize@ --- *
+ *
+ * Arguments: @selbuf *b@ = pointer to buffer block
+ * @size_t sz@ = size of buffer
+ *
+ * Returns: ---
+ *
+ * Use: Sets the size of the buffer used for reading lines.
+ */
+
+extern void selbuf_setsize(selbuf */*b*/, size_t /*sz*/);
+
/* --- @selbuf_init@ --- *
*
* Arguments: @selbuf *b@ = pointer to buffer block
* @sel_state *s@ = pointer to select state to attach to
* @int fd@ = file descriptor to listen to
- * @void (*func)(char *s, void *p)@ = function to call
+ * @lbuf_func *func@ = function to call
* @void *p@ = argument for function
*
* Returns: ---
* Use: Initializes a buffer block.
*/
-extern void selbuf_init(selbuf */*b*/,
- sel_state */*s*/,
- int /*fd*/,
- void (*/*func*/)(char */*s*/, void */*p*/),
- void */*p*/);
+extern void selbuf_init(selbuf */*b*/, sel_state */*s*/, int /*fd*/,
+ lbuf_func */*func*/, void */*p*/);
+
+/* --- @selbuf_destroy@ --- *
+ *
+ * Arguments: @selbuf *b@ = pointer to buffer block
+ *
+ * Returns: ---
+ *
+ * Use: Deallocates a line buffer and frees any resources it owned.
+ */
+
+extern void selbuf_destroy(selbuf */*b*/);
/*----- That's all, folks -------------------------------------------------*/