? buffer.po ? evbuffer.po ? evbuffer_new.3.manlint ? event.3.manlint ? event.po ? event_tagging.po ? evutil.po ? kqueue.po ? libevent.so.4.1 ? log.po ? poll.po ? select.po ? signal.po Index: Makefile =================================================================== RCS file: /cvs/src/lib/libevent/Makefile,v retrieving revision 1.39 diff -u -p -r1.39 Makefile --- Makefile 31 Oct 2014 12:50:31 -0000 1.39 +++ Makefile 19 Nov 2014 11:29:10 -0000 @@ -6,7 +6,7 @@ LIB= event SRCS= buffer.c evbuffer.c event.c event_tagging.c evutil.c kqueue.c \ log.c poll.c select.c signal.c HDRS= event.h evutil.h -MAN= event.3 +MAN= event.3 evbuffer_new.3 MLINKS= event.3 bufferevent_base_set.3 \ event.3 bufferevent_disable.3 \ event.3 bufferevent_enable.3 \ @@ -16,17 +16,6 @@ MLINKS= event.3 bufferevent_base_set.3 \ event.3 bufferevent_settimeout.3 \ event.3 bufferevent_write.3 \ event.3 bufferevent_write_buffer.3 \ - event.3 evbuffer_add.3 \ - event.3 evbuffer_add_buffer.3 \ - event.3 evbuffer_add_printf.3 \ - event.3 evbuffer_add_vprintf.3 \ - event.3 evbuffer_drain.3 \ - event.3 evbuffer_find.3 \ - event.3 evbuffer_free.3 \ - event.3 evbuffer_new.3 \ - event.3 evbuffer_read.3 \ - event.3 evbuffer_readline.3 \ - event.3 evbuffer_write.3 \ event.3 event_add.3 \ event.3 event_base_dispatch.3 \ event.3 event_base_free.3 \ @@ -58,7 +47,21 @@ MLINKS= event.3 bufferevent_base_set.3 \ event.3 signal_pending.3 \ event.3 signal_set.3 \ event.3 event_asr_run.3 \ - event.3 event_asr_abort.3 + event.3 event_asr_abort.3 \ + evbuffer_new.3 evbuffer_add.3 \ + evbuffer_new.3 evbuffer_add_buffer.3 \ + evbuffer_new.3 evbuffer_add_printf.3 \ + evbuffer_new.3 evbuffer_add_vprintf.3 \ + evbuffer_new.3 evbuffer_drain.3 \ + evbuffer_new.3 evbuffer_expand.3 \ + evbuffer_new.3 evbuffer_find.3 \ + evbuffer_new.3 evbuffer_free.3 \ + evbuffer_new.3 evbuffer_read.3 \ + evbuffer_new.3 evbuffer_readline.3 \ + evbuffer_new.3 evbuffer_readln.3 \ + evbuffer_new.3 evbuffer_remove.3 \ + evbuffer_new.3 evbuffer_setcb.3 \ + evbuffer_new.3 evbuffer_write.3 CFLAGS+= -I${.CURDIR} -DNDEBUG Index: evbuffer_new.3 =================================================================== RCS file: evbuffer_new.3 diff -N evbuffer_new.3 --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ evbuffer_new.3 19 Nov 2014 11:29:10 -0000 @@ -0,0 +1,251 @@ +.\" $OpenBSD: event.3,v 1.43 2014/04/03 13:30:05 jmc Exp $ +.\" +.\" Copyright (c) 2000 Artur Grabowski +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +.\" AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +.\" THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +.\" EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +.\" OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd $Mdocdate: April 3 2014 $ +.Dt EVENT 3 +.Os +.Sh NAME +.Nm evbuffer_new , +.Nm evbuffer_free , +.Nm evbuffer_setcb , +.Nm evbuffer_add , +.Nm evbuffer_add_buffer , +.Nm evbuffer_add_printf , +.Nm evbuffer_add_vprintf , +.Nm evbuffer_drain , +.Nm evbuffer_remove , +.Nm evbuffer_write , +.Nm evbuffer_read , +.Nm evbuffer_find , +.Nm evbuffer_readline , +.Nm evbuffer_readln +.Nd libevent utility API for buffered input/output +.Sh SYNOPSIS +.Fd #include +.Ft "struct evbuffer *" +.Fn "evbuffer_new" "void" +.Ft void +.Fn "evbuffer_free" "struct evbuffer *buf" +.Ft void +.Fn "evbuffer_setcb" "struct evbufbuffer *buf" "void (*cb)(struct evbuffer *, size_t, size_t, void *)" "void *cbarg" +.Ft int +.Fn "evbuffer_expand" "struct evbuffer *buf" "size_t datlen" +.Ft int +.Fn "evbuffer_add" "struct evbuffer *buf" "const void *data" "size_t size" +.Ft int +.Fn "evbuffer_add_buffer" "struct evbuffer *dst" "struct evbuffer *src" +.Ft int +.Fn "evbuffer_add_printf" "struct evbuffer *buf" "const char *fmt" "..." +.Ft int +.Fn "evbuffer_add_vprintf" "struct evbuffer *buf" "const char *fmt" "va_list ap" +.Ft void +.Fn "evbuffer_drain" "struct evbuffer *buf" "size_t size" +.Ft int +.Fn "evbuffer_remove" "struct evbuffer *buf" "void *data" "size_t datlen" +.Ft int +.Fn "evbuffer_write" "struct evbuffer *buf" "int fd" +.Ft int +.Fn "evbuffer_read" "struct evbuffer *buf" "int fd" "int size" +.Ft "u_char *" +.Fn "evbuffer_find" "struct evbuffer *buf" "const u_char *data" "size_t size" +.Ft "char *" +.Fn "evbuffer_readline" "struct evbuffer *buf" +.Ft "char *" +.Fn "evbuffer_readln" "struct evbuffer *buf" +.Sh DESCRIPTION +The evbuffer API provides an implementation of buffering for use with +libevent. +.Pp +.Fn evbuffer_new +allocates and initialises a new evbuffer structure. +.Pp +.Fn evbuffer_free +deallocates the evbuffer structure +.Fa buf +and any referenced storage. +.Pp +.Fn evbuffer_setcb +sets the callback +.Fa cb +to be invoked with argument +.Fa cbarg +when the data in evbuffer +.Fa buf +is modified. +.Pp +.Fn evbuffer_expand +expands the available space in +.Fa buf +to at least +.Fa datlen +bytes. +.Pp +.Fn evbuffer_add +appends a copy of +.Fa size +bytes from buffer +.Fa data +to the end of the evbuffer +.Fa buf . +.Pp +.Fn evbuffer_add_buffer +moves the data off the +.Fa src +evbuffer and appends it to +.Fa dst . +.Pp +.Fn evbuffer_add_printf +appends a +.Xr printf 3 +style formatted string specified by +.Fa fmt +to the end of +.Fa buf . +.Pp +.Fn evbuffer_add_vprintf +appends a +.Xr vprintf 3 +style formatted string specified by +.Fa fmt +with a va_list +.Fa ap +to the end of +.Fa buf . +.Pp +.Fn evbuffer_drain +deletes +.Fa size +bytes from the beginning of the evbuffer +.Fa buf . +.Pp +.Fn evbuffer_remove +reads and drains up to +.Fa datlen +bytes from the beginning of the evbuffer +.Fa buf. +into +.Fa data . +.Fn evbuffer_write +writes and drains the contents of evbuffer +.Fa buf +to the file descriptor +.Fa fd . +.Pp +.Fn evbuffer_read +appends up to +.Fa size +bytes on to the end of the evbuffer +.Fa buf +by reading from the file descriptor +.Fa fd . +.Pp +.Fn evbuffer_find +finds the +.Fa size +length string +.Fa data +in the evbuffer +.Fa buf . +.Pp +.Fn evbuffer_readline +reads and drains a single line from the evbuffer +.Fa buf . +A line is delimited by "\\n", "\\r", "\\r\\n", or "\\n\\r". +It is the responsibility of the caller to free the returned line with +.Xr free 3 . +.Pp +.Fn evbuffer_readln +reads and drains a single line from the evbuffer +.Fa buf . +The length of the line will be stored in +.Fa read_out +on success. +It is the responsibility of the caller to free the returned line with +.Xr free 3 . +The line delimiter is specified as one of the following: +.Bl -tag -width xxx -offset indent +.It Dv EVBUFFER_EOL_ANY +Any sequence of newline or carriage return characters. +.It Dv EVBUFFER_EOL_CRLF +A new line optionally preceded by a carriage return. +.It Dv EVBUFFER_EOL_CRLF_STRICT +A carriage return followed by a new line character. +.It Dv EVBUFFER_EOL_LF +A new line character. +.El +.Sh RETURN VALUES +.Fn evbuffer_new +returns a pointer to a newly allocated buffer On success, +or +.Dv NULL +on failure and sets errno to indicate the failure. +.Pp +.Fn evbuffer_expand , +.Fn evbuffer_add , +and +.Fn evbuffer_add_buffer +return 0 on success, +or -1 on failure and set errno to indicate the failure. +.Pp +.Fn evbuffer_add_printf , +and +.Fn evbuffer_add_vprintf +returns the number of bytes added on success, +or -1 on failure. +.Pp +.Fn evbuffer_remove +returns the number of bytes read. +.Pp +.Fn evbuffer_write +returns the number of bytes written and drained on success, +or -1 on failure and sets errno to indicate the failure. +.Pp +.Fn evbuffer_read +returns the number of bytes appended to the evbuffer on success, +or -1 on failure and sets errno to indicate the failure. +.Pp +.Fn evbuffer_find +returns a pointer to the start of the string within the evbuffer on success, +or +.Dv NULL +on failure. +.Pp +.Fn evbuffer_readline , +and +.Fn evbuffer_readln +return a pointer to the line on success, +or +.Dv NULL +on failure. +.Sh SEE ALSO +.Xr errno 2 , +.Xr event 3 , +.Xr free 3 , +.Xr printf 3 +.Sh AUTHORS +The +.Nm event +library was written by +.An Niels Provos . Index: event.3 =================================================================== RCS file: /cvs/src/lib/libevent/event.3,v retrieving revision 1.43 diff -u -p -r1.43 event.3 --- event.3 3 Apr 2014 13:30:05 -0000 1.43 +++ event.3 19 Nov 2014 11:29:10 -0000 @@ -66,17 +66,6 @@ .Nm bufferevent_disable , .Nm bufferevent_settimeout , .Nm bufferevent_base_set , -.Nm evbuffer_new , -.Nm evbuffer_free , -.Nm evbuffer_add , -.Nm evbuffer_add_buffer , -.Nm evbuffer_add_printf , -.Nm evbuffer_add_vprintf , -.Nm evbuffer_drain , -.Nm evbuffer_write , -.Nm evbuffer_read , -.Nm evbuffer_find , -.Nm evbuffer_readline , .Nm event_asr_run , .Nm event_asr_abort .Nd execute a function when a specific event occurs @@ -161,28 +150,6 @@ .Fn "bufferevent_settimeout" "struct bufferevent *bufev" "int timeout_read" "int timeout_write" .Ft int .Fn "bufferevent_base_set" "struct event_base *base" "struct bufferevent *bufev" -.Ft "struct evbuffer *" -.Fn "evbuffer_new" "void" -.Ft void -.Fn "evbuffer_free" "struct evbuffer *buf" -.Ft int -.Fn "evbuffer_add" "struct evbuffer *buf" "const void *data" "size_t size" -.Ft int -.Fn "evbuffer_add_buffer" "struct evbuffer *dst" "struct evbuffer *src" -.Ft int -.Fn "evbuffer_add_printf" "struct evbuffer *buf" "const char *fmt" "..." -.Ft int -.Fn "evbuffer_add_vprintf" "struct evbuffer *buf" "const char *fmt" "va_list ap" -.Ft void -.Fn "evbuffer_drain" "struct evbuffer *buf" "size_t size" -.Ft int -.Fn "evbuffer_write" "struct evbuffer *buf" "int fd" -.Ft int -.Fn "evbuffer_read" "struct evbuffer *buf" "int fd" "int size" -.Ft "u_char *" -.Fn "evbuffer_find" "struct evbuffer *buf" "const u_char *data" "size_t size" -.Ft "char *" -.Fn "evbuffer_readline" "struct evbuffer *buf" .Ft "struct event_asr *" .Fn event_asr_run "struct asr_query *aq" "void (*fn)(struct asr_result *, void *)" "void *" .Ft "void"