chiark / gitweb /
Describe ancient interface change on immediate failure.
[mLib] / man / pkbuf.3
index 9d26463fdd67e4cdd3c2c9ea5a2dd04fc440d5e9..cdc6bac33010c6306881178c4ae7fa14a6407a7c 100644 (file)
@@ -18,10 +18,7 @@ pkbuf \- split packets out of asynchronously received blocks
 .BI "size_t pkbuf_free(pkbuf *" pk ", octet **" p );
 .BI "void pkbuf_snarf(pkbuf *" pk ", const void *" p ", size_t " sz );
 .BI "void pkbuf_want(pkbuf *" pk ", size_t " want );
-.BI "void pkbuf_init(pkbuf *" pk ,
-.BI "                void (*" func ")(octet *" b ", size_t " sz ", pkbuf *" pk ,
-.BI "                                 size_t *" keep ", void *" p ),
-.BI "                void *" pk );
+.BI "void pkbuf_init(pkbuf *" pk ", pkbuf_func *" func ", void *" p );
 .BI "void pkbuf_destroy(pkbuf *" pk );
 .fi
 .SH "DESCRIPTION"
@@ -49,14 +46,13 @@ A pointer to the block of memory to use for the packet buffer.  The packet
 buffer will allocate memory to store incoming data automatically: this
 structure just contains bookkeeping information.
 .TP
-.nf
-.BI "void (*" func ")(octet *" b ", size_t " sz ", pkbuf *" p ,
-.BI "      size_t *" keep ", void *" p )
-.fi
+.BI "pkbuf_func *" func
 The
 .I packet-handler
 function to which the packet buffer should pass packets of data when
-they're received.
+they're received.  See
+.B "Packet breaking and the handler function"
+below.
 .TP
 .BI "void *" p
 A pointer argument to be passed to the function when a packet arrives.
@@ -134,7 +130,7 @@ The
 function is trivially implemented in terms of the more complex
 .B pkbuf_free / pkbuf_flush
 interface.
-.SS "Packet breaking and the handler fucntion"
+.SS "Packet breaking and the handler function"
 The function
 .B pkbuf_want
 is used to inform the packet buffer of the expected length of the next
@@ -144,8 +140,15 @@ to the packet buffer and a size
 .I sz
 of the packet.
 .PP
-When enough data has arrived, the packet-handler function is called, and
-passed:
+When enough data has arrived, the packet-handler function is called.
+This has the signature
+.IP
+.nf
+.BI "void (*" func ")(octet *" b ", size_t " sz ", pkbuf *" p ,
+.BI "             size_t *" keep ", void *" p );
+.fi
+.PP
+It is passed:
 .TP
 .BI "octet *" b
 A pointer to the packet data in the buffer, or zero to signify