# PaCkAgE DaTaStReAm CSWlibevent-devel 1 180 # end of header 0707010000336a000081a400000000000000000000000148abe7530000013b000000b500010002ffffffffffffffff0000001a00000000CSWlibevent-devel/pkginfoPKG=CSWlibevent-devel NAME=libevent_devel - libevent development support ARCH=i386 VERSION=1.1,REV=2005.12.13_a CATEGORY=application VENDOR=http://www.monkey.org/~provos/ packaged for CSW by Cory Omand EMAIL=comand@opencsw.org PSTAMP=comand@thor-20051213164216 CLASSES=none HOTLINE=http://www.opencsw.org/bugtrack/ 07070100003369000081a400000000000000000000000148abe75300000236000000b500010002ffffffffffffffff0000001900000000CSWlibevent-devel/pkgmap: 1 180 1 d none /opt/csw/include 0755 root bin 1 f none /opt/csw/include/event.h 0644 root bin 8872 19032 1134510135 1 d none /opt/csw/lib ? ? ? 1 f none /opt/csw/lib/libevent.a 0644 root bin 47268 61967 1134510135 1 f none /opt/csw/lib/libevent.la 0755 root bin 835 5531 1134510136 1 d none /opt/csw/share ? ? ? 1 d none /opt/csw/share/man ? ? ? 1 d none /opt/csw/share/man/man3 ? ? ? 1 f none /opt/csw/share/man/man3/event.3 0644 root bin 14150 48139 1134510135 1 i copyright 1419 48331 1134510137 1 i depend 112 10174 1134510044 1 i pkginfo 315 26656 1219225427 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!0707010000336a000081a400000000000000000000000148abe7530000013b000000b500010002ffffffffffffffff0000000800000000pkginfoPKG=CSWlibevent-devel NAME=libevent_devel - libevent development support ARCH=i386 VERSION=1.1,REV=2005.12.13_a CATEGORY=application VENDOR=http://www.monkey.org/~provos/ packaged for CSW by Cory Omand EMAIL=comand@opencsw.org PSTAMP=comand@thor-20051213164216 CLASSES=none HOTLINE=http://www.opencsw.org/bugtrack/ 07070100003369000081a400000000000000000000000148abe75300000236000000b500010002ffffffffffffffff0000000700000000pkgmap: 1 180 1 d none /opt/csw/include 0755 root bin 1 f none /opt/csw/include/event.h 0644 root bin 8872 19032 1134510135 1 d none /opt/csw/lib ? ? ? 1 f none /opt/csw/lib/libevent.a 0644 root bin 47268 61967 1134510135 1 f none /opt/csw/lib/libevent.la 0755 root bin 835 5531 1134510136 1 d none /opt/csw/share ? ? ? 1 d none /opt/csw/share/man ? ? ? 1 d none /opt/csw/share/man/man3 ? ? ? 1 f none /opt/csw/share/man/man3/event.3 0644 root bin 14150 48139 1134510135 1 i copyright 1419 48331 1134510137 1 i depend 112 10174 1134510044 1 i pkginfo 315 26656 1219225427 0707010000337a000041ed00000000000000000000000248abe75300000000000000b500010002ffffffffffffffff0000000800000000install0707010000337c000081a4000000000000000000000001439f40390000058b000000b500010002ffffffffffffffff0000001200000000install/copyrightCopyright (c) 2000-2004 Niels Provos 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. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. 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 BY THE AUTHOR ``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. 0707010000337d000081a4000000000000000000000001439f3fdc00000070000000b500010002ffffffffffffffff0000000f00000000install/dependP CSWcommon common - common files and dirs for CSW packages P CSWlibevent libevent - event notification library 0707010000336b000041ed00000000000000000000000348abe75300000000000000b500010002ffffffffffffffff0000000500000000root0707010000336c000041ed00000000000000000000000348abe75300000000000000b500010002ffffffffffffffff0000000900000000root/opt0707010000336d000041ed00000000000000000000000548abe75300000000000000b500010002ffffffffffffffff0000000d00000000root/opt/csw07070100003370000041ed00000000000000000000000248abe75300000000000000b500010002ffffffffffffffff0000001100000000root/opt/csw/lib07070100003371000081a4000000000000000000000001439f40370000b8a4000000b500010002ffffffffffffffff0000001c00000000root/opt/csw/lib/libevent.a! / 1134510106 0 0 0 1708 ` W1D1D1D1D1D1D1D1D1D1D1D1D1DCCCCCCCCCCCVVVVVVVd,d,d,d,d,d,wwwwwwllllll\\\\\\\current_baseeventopsevent_tree_RB_INSERT_COLORevent_tree_RB_REMOVE_COLORevent_tree_RB_REMOVEevent_tree_RB_INSERTevent_tree_RB_FINDevent_tree_RB_NEXTevent_tree_RB_MINMAXevent_initevent_priority_initevent_base_priority_initevent_dispatchevent_base_dispatchevent_loopexitevent_base_loopexitevent_loopevent_base_loopevent_onceevent_setevent_base_setevent_priority_setevent_pendingevent_addevent_delevent_activeevent_get_versionevent_get_methodevent_sigcbevent_gotsigsignalqueueevbuffer_newevbuffer_freeevbuffer_add_bufferevbuffer_add_printfevbuffer_removeevbuffer_readlineevbuffer_expandevbuffer_addevbuffer_drainevbuffer_readevbuffer_writeevbuffer_findevbuffer_setcbbufferevent_read_pressure_cbbufferevent_newbufferevent_priority_setbufferevent_freebufferevent_writebufferevent_write_bufferbufferevent_readbufferevent_enablebufferevent_disablebufferevent_settimeoutbufferevent_setwatermarkevent_errevent_warnevent_errxevent_warnxevent_msgx_event_debugxevent_set_log_callbackselect_initselect_recalcselect_dispatchselect_addselect_delselectopspollopspoll_initpoll_recalcpoll_dispatchpoll_addpoll_deldevpollopsdevpoll_initdevpoll_recalcdevpoll_dispatchdevpoll_adddevpoll_delevsignal_caughtevsignal_initevsignal_addevsignal_delevsignal_recalcevsignal_deliverevsignal_processevent.o/ 1134510097 16667 101 100644 10776 ` ELF'4(.shstrtab.data.text.bss.rodata.comment.rodata1.data1.stab.indexstr.stab.index.strtab.symtab.rel.data.rel.textUS]C8M Q8;|4;t;%CE@jVuЃ u!E@3_^[]US]CTsXM QuЃ S[]USV] t j\jt{EFTEFXu,}uD$3ɉL$L$EVhjjVt&VhSuVuV3V^[]UUB(EBDEBHE B,fEfB0BP3fB2B4HB@]UU zPtEB(@B@3]UUBPuE |J(;A}B@3 ]USMAP3ҩtQ0t QLttE #‹]tt Q8I<K[]U SVW]s(EFECP%`thh h } CPtjSV CPt(CLt C2t C4t3fjSVk D$jPD$C8L$OK<@B| @C8KFECP%`th\hh C2t C4t3fCPtjSVV CPtjSV@ CPu$u3;jSV! G SMQЃ jSV G SMQЃ_^[]UMAPt AL E ALE ALfEfA23A4jQq(]USVjE,P؅D$jPtyC8L$;~b+u K<+L$Nx}GH@BN}hhh( N}hhh 3(3M AU J3^[]USjE,Pt0] H8+ H8P<+SPtv_sec >= 01.1a%s: unknown queue %xtmp == NULL%s: %p(fd %d) already on queue %x%s: unknown queue %x%s: %p(fd %d) not on queue %xtv->tv_usec >= 0!(ev->ev_flags & ~EVLIST_ALL)!(ev->ev_flags & ~EVLIST_ALL)%s: malloc%s: calloclibevent using: %s EVENT_SHOW_METHOD%s: no event mechanism available%s: callocevent.cevent.cevent.cevent.cevent.cevent.cevent.cevent.cV=10.0;DBG_GEN=4.14.31;cd;backend;raw;Xa;O;R=Sun C 5.7 2005/01/07/export/medusa/comand/csw/lib/libevent/work/comand-thor.d/libevent-1.1a; /opt/studio/SOS10/SUNWspro/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I. -Icompat -I/tmp/a/opt/csw/include -I/opt/csw/include -xO3 -xarch=386 -xspace -xildoff -I/tmp/a/opt/csw/include -I/opt/csw/include -c -o event.o event.cp <K4compareevent_tree_RB_INSERT_COLORevent_tree_RB_REMOVE_COLORevent_tree_RB_REMOVEevent_tree_RB_INSERTevent_tree_RB_FINDevent_tree_RB_NEXTevent_tree_RB_MINMAXevent_initcalloccurrent_baseevent_errevent_sigcbevent_gotsiggettimeofdaysignalqueueeventopsevent_errxgetenvevent_msgxevent_base_priority_initevent_priority_initfreemallocevent_haveeventsevent_process_activeevent_queue_removeevent_dispatchevent_loopevent_base_dispatchevent_base_loopevent_loopexit_cbevent_loopexitevent_onceevent_base_loopexittimeout_correcttimeout_nexttimeout_processerrnoevent_once_cbevent_setevent_addevent_base_setevent_priority_setevent_pending__assertevent_queue_insertevent_delevent_activeevent_get_versionevent_get_methoddevpollopspollopsselectops.textevent.c.data.bss.rodata.rodata1.data1 U^? oV  HX +%}Q2Rb2!&.7RWB U$?TiU>|^3$>8%P  ( !I g   V< Sj 4y 7 a`[7j>  "C!19DKV;\<clt|===  !&*.CH*   / 03 8 A 1V _ 1r w 0 < < ; <  w    2  2 6# C x '!&:?Dfl'&'&17>8sx#=HMT$!=*=1=z4| lp$x-68=LpL$  X@`  h $ r $ buffer.o/ 1134510099 16667 101 100644 4648 ` ELFH4( .shstrtab.text.bss.comment.rodata1.data1.stab.indexstr.stab.index.strtab.symtab.rel.textUjj]US]Ct PS[]U SVuVM YD$ FD$FD$F D$AFAFA F AFD$ D$AD$AD$A Q;tAt qRSQЃtFt vSjVЃ3#] s3V u sS^[]USVEPu hSS4$Su u^[]USVM]s+H#V3u VS^[]USVWMEq3ۅvM< t < tAC;r;CEPtHSEPW N;s E@ t u ;t]EPu)hhh Su33_^[]US]s3s C3C[]USVuFVЋM ы^ ;sa;sP-I#+;s;ru9Ft VSPt F^ V^33^[]USVW]{CNju9C sVSt4Vu CP KΉKtCt sQWSЃ3_^[]US]SM ;s K+C3ɉKC3K;tKt sPRSу[]USVWu^}vWVtHFWPu t(t NωN;t$FtvQSVЃ3 _^[]USVuv6u ؃tu3SV^[]USVWMMAE P} PQ ؅tCu9ur;VWS t.CM+CI+ˉMQQP ؅t9us3ۋ_^[]UM EHMH]@(#)types.h\t1.69\t03/08/07 SMI@(#)isa_defs.h\t1.20\t99/05/04 SMI@(#)feature_tests.h\t1.18\t99/07/26 SMI@(#)machtypes.h\t1.8\t99/05/04 SMI@(#)machtypes.h\t1.1\t99/05/04 SMI@(#)int_types.h\t1.6\t97/08/20 SMI@(#)select.h\t1.16\t98/04/27 SMI@(#)time.h\t2.67\t03/08/07 SMI@(#)time.h\t1.39\t99/08/10 SMI@(#)time_iso.h\t1.1\t99/08/09 SMI@(#)time_impl.h\t1.5\t99/10/05 SMI@(#)ioctl.h\t1.9\t92/07/14 SMI@(#)errno.h\t1.16\t99/07/26 SMI@(#)errno.h\t1.20\t00/02/14 SMI@(#)stdio.h\t1.78\t99/12/08 SMI@(#)stdio_iso.h\t1.2\t99/10/25 SMI@(#)va_list.h\t1.12\t99/05/04 SMI@(#)stdio_tag.h\t1.3\t98/04/20 SMI@(#)stdio_impl.h\t1.8\t99/06/10 SMI@(#)stdlib.h\t1.47\t99/11/03 SMI@(#)stdlib_iso.h\t1.2\t99/12/21 SMI@(#)string.h\t1.24\t99/08/10 SMI@(#)string_iso.h\t1.2\t99/11/09 SMI@(#)stdarg.h\t1.45\t99/08/10 SMI@(#)stdarg_iso.h\t1.1\t99/08/09 SMI@(#)unistd.h\t1.58\t99/11/11 SMI@(#)unistd.h\t1.37\t98/10/28 SMIacomp: Sun C 5.7 2005/01/07iropt: Sun Compiler Common 10 Patch 117846-09 2005/09/14ir2hf: Sun Compiler Common 10 Patch 117846-09 2005/09/14ube: Sun Compiler Common 10 Patch 117846-09 2005/09/14%s: out of memory buffer.cbuffer.cV=10.0;DBG_GEN=4.14.31;cd;backend;raw;Xa;O;R=Sun C 5.7 2005/01/07/export/medusa/comand/csw/lib/libevent/work/comand-thor.d/libevent-1.1a; /opt/studio/SOS10/SUNWspro/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I. -Icompat -I/tmp/a/opt/csw/include -I/opt/csw/include -xO3 -xarch=386 -xspace -xildoff -I/tmp/a/opt/csw/include -I/opt/csw/include -c -o buffer.o buffer.cx <L4evbuffer_newcallocevbuffer_freefreeevbuffer_add_bufferevbuffer_addevbuffer_drainevbuffer_add_printfvsnprintfstrlenevbuffer_removememcpyevbuffer_readlinemalloc__iobfprintfevbuffer_alignmemmoveevbuffer_expandreallocevbuffer_readreadevbuffer_writewriteevbuffer_findmemchrmemcmpevbuffer_setcb.textbuffer.c.bss.rodata1.data1C=[)LQZ#lv  '((;X K}V>< mIyLIC.  &/ & / ={   */49 En-D ]v4d $Z (, /5 x> $ J dR8  Z X evbuffer.o/ 1134510100 16667 101 100644 4772 ` ELF4( .shstrtab.text.bss.comment.stab.indexstr.stab.index.strtab.symtab.rel.textU3ҋE 3;t L$T$ D$Qu]US]t9Es*jju tS[]USVE juu txtmV>Ct;t;vV4$hS ]VЃI, t t!VAESPу ^[]USVE ]HtEuPtWtLHtCTP3H;wsSЃ_B tt=t"%xt/TSBEVPу ^[]USVhj؅tYShjuVSShjVCTPE EEEfǃ)$3S33ۋ^[]USVu V]StVTSt3 ^[]US]SCTP$[]USVW}Wu ] t$v%tTS_^[]USVu v6u ؃t vV^[]USVEMs+H#V3u t VS^[]US] tEPRt@tETP0tM f3 []US] tut?tETPtËU#f3 []UM EM]UE tMUMtEMEMQpjP]@(#)types.h\t1.69\t03/08/07 SMI@(#)isa_defs.h\t1.20\t99/05/04 SMI@(#)feature_tests.h\t1.18\t99/07/26 SMI@(#)machtypes.h\t1.8\t99/05/04 SMI@(#)machtypes.h\t1.1\t99/05/04 SMI@(#)int_types.h\t1.6\t97/08/20 SMI@(#)select.h\t1.16\t98/04/27 SMI@(#)time.h\t2.67\t03/08/07 SMI@(#)time.h\t1.39\t99/08/10 SMI@(#)time_iso.h\t1.1\t99/08/09 SMI@(#)time_impl.h\t1.5\t99/10/05 SMI@(#)errno.h\t1.16\t99/07/26 SMI@(#)errno.h\t1.20\t00/02/14 SMI@(#)stdio.h\t1.78\t99/12/08 SMI@(#)stdio_iso.h\t1.2\t99/10/25 SMI@(#)va_list.h\t1.12\t99/05/04 SMI@(#)stdio_tag.h\t1.3\t98/04/20 SMI@(#)stdio_impl.h\t1.8\t99/06/10 SMI@(#)stdlib.h\t1.47\t99/11/03 SMI@(#)stdlib_iso.h\t1.2\t99/12/21 SMI@(#)string.h\t1.24\t99/08/10 SMI@(#)string_iso.h\t1.2\t99/11/09 SMI@(#)stdarg.h\t1.45\t99/08/10 SMI@(#)stdarg_iso.h\t1.1\t99/08/09 SMIacomp: Sun C 5.7 2005/01/07iropt: Sun Compiler Common 10 Patch 117846-09 2005/09/14ir2hf: Sun Compiler Common 10 Patch 117846-09 2005/09/14ube: Sun Compiler Common 10 Patch 117846-09 2005/09/14evbuffer.cV=10.0;DBG_GEN=4.14.31;cd;backend;raw;Xa;O;R=Sun C 5.7 2005/01/07/export/medusa/comand/csw/lib/libevent/work/comand-thor.d/libevent-1.1a; /opt/studio/SOS10/SUNWspro/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I. -Icompat -I/tmp/a/opt/csw/include -I/opt/csw/include -xO3 -xarch=386 -xspace -xildoff -I/tmp/a/opt/csw/include -I/opt/csw/include -c -o evbuffer.o evbuffer.c <N4bufferevent_addevent_addbufferevent_read_pressure_cbevbuffer_setcbbufferevent_readcbevbuffer_readevent_delerrnobufferevent_writecbevbuffer_writebufferevent_newcallocevbuffer_newevent_setevbuffer_freefreebufferevent_priority_setevent_priority_setbufferevent_freebufferevent_writeevbuffer_addbufferevent_write_bufferevbuffer_drainbufferevent_readmemcpybufferevent_enablebufferevent_disablebufferevent_settimeoutbufferevent_setwatermark.textevbuffer.c.bss-Guxj8Zh+Qqr-HZ'ElHZ86`DHxtllY%N  # j |  8Jx  "5o} 3 4T lle . $ : B J log.o/ 1134510101 16667 101 100644 3432 ` ELF 4( .shstrtab.data.text.bss.comment.rodata1.stab.indexstr.stab.index.strtab.symtab.rel.textUSVu u%uuV]SD3|;r^[]UEPuu u]UEPu 5ju]UE Pu5jw]UEPu jj]u]UE Pujj8]UE Pujj]UE Pujj]USVEtuPD$hPD$u |D$P؁rD$Pu@^[]V$h(+PDPUE]UuOEu )uuuu Ph h u uЋ]@(#)types.h\t1.69\t03/08/07 SMI@(#)isa_defs.h\t1.20\t99/05/04 SMI@(#)feature_tests.h\t1.18\t99/07/26 SMI@(#)machtypes.h\t1.8\t99/05/04 SMI@(#)machtypes.h\t1.1\t99/05/04 SMI@(#)int_types.h\t1.6\t97/08/20 SMI@(#)select.h\t1.16\t98/04/27 SMI@(#)time.h\t2.67\t03/08/07 SMI@(#)time.h\t1.39\t99/08/10 SMI@(#)time_iso.h\t1.1\t99/08/09 SMI@(#)time_impl.h\t1.5\t99/10/05 SMI@(#)stdio.h\t1.78\t99/12/08 SMI@(#)stdio_iso.h\t1.2\t99/10/25 SMI@(#)va_list.h\t1.12\t99/05/04 SMI@(#)stdio_tag.h\t1.3\t98/04/20 SMI@(#)stdio_impl.h\t1.8\t99/06/10 SMI@(#)stdlib.h\t1.47\t99/11/03 SMI@(#)stdlib_iso.h\t1.2\t99/12/21 SMI@(#)stdarg.h\t1.45\t99/08/10 SMI@(#)stdarg_iso.h\t1.1\t99/08/09 SMI@(#)string.h\t1.24\t99/08/10 SMI@(#)string_iso.h\t1.2\t99/11/09 SMI@(#)errno.h\t1.16\t99/07/26 SMI@(#)errno.h\t1.20\t00/02/14 SMIacomp: Sun C 5.7 2005/01/07iropt: Sun Compiler Common 10 Patch 117846-09 2005/09/14ir2hf: Sun Compiler Common 10 Patch 117846-09 2005/09/14ube: Sun Compiler Common 10 Patch 117846-09 2005/09/14???errmsg[%s] %s warndebug: %slog.cV=10.0;DBG_GEN=4.14.31;cd;backend;raw;Xa;O;R=Sun C 5.7 2005/01/07/export/medusa/comand/csw/lib/libevent/work/comand-thor.d/libevent-1.1a; /opt/studio/SOS10/SUNWspro/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I. -Icompat -I/tmp/a/opt/csw/include -I/opt/csw/include -xO3 -xarch=386 -xspace -xildoff -I/tmp/a/opt/csw/include -I/opt/csw/include -c -o log.o log.cp<I4event_vsnprintfvsnprintfevent_snprintfevent_errerrno_warn_helperexitevent_warnevent_errxevent_warnxevent_msgx_event_debugxstrlenevent_logstrerrorevent_set_log_callbacklog_fn__iobfprintf.textlog.c.data.bss.rodata1AA:jG4*])LW%bny" l~  V         4d %-.p=T$ IxQh  Y select.o/ 1134510102 16667 101 100644 4916 ` ELF4(.shstrtab.text.bss.rodata.comment.data1.rodata1.stab.indexstr.stab.index.strtab.symtab.rel.text.rel.rodataUSht3-j0j؅tjSC P3ۋ[]UE P]USVW] CPss CPs s s Vwujss@PVEt;3EEȸK #u$K#CƋ8EEiK΋ MK3#EtCƋ8E}t8E@0M#t*uEPEH0#MjQEP t1;}t,G0M#t!uWO0#MjQW E@E;32=th3 _^[]USVW} uFEWvFWvFWv F WvFEPvtFEPvtiFF+QjFP F+QjF P ME+SjFP SjFEP ~3h_^[]USVWE H0@,U9}LRʋڃs  ;s;r;tQupuvE H,U H0t-u F,]Sȸ F,K4N0t)u F,]S ȸ F,K43PE P_^[]USVWU J0unB,]9|`t(sȸ!3J,sJ0t'B,s ȸ!3B,K433RE P_^[]@(#)types.h\t1.69\t03/08/07 SMI@(#)isa_defs.h\t1.20\t99/05/04 SMI@(#)feature_tests.h\t1.18\t99/07/26 SMI@(#)machtypes.h\t1.8\t99/05/04 SMI@(#)machtypes.h\t1.1\t99/05/04 SMI@(#)int_types.h\t1.6\t97/08/20 SMI@(#)select.h\t1.16\t98/04/27 SMI@(#)time.h\t2.67\t03/08/07 SMI@(#)time.h\t1.39\t99/08/10 SMI@(#)time_iso.h\t1.1\t99/08/09 SMI@(#)time_impl.h\t1.5\t99/10/05 SMI@(#)signal.h\t1.38\t99/08/10 SMI@(#)signal_iso.h\t1.1\t99/08/09 SMI@(#)signal_iso.h\t1.1\t99/08/09 SMI@(#)unistd.h\t1.37\t98/10/28 SMI@(#)signal.h\t1.54\t99/07/26 SMI@(#)siginfo.h\t1.54\t98/03/27 SMI@(#)machsig.h\t1.10\t99/08/15 SMI@(#)faultcode.h\t1.15\t92/07/14 SMI@(#)procset.h\t1.20\t00/02/14 SMI@(#)stdio.h\t1.78\t99/12/08 SMI@(#)stdio_iso.h\t1.2\t99/10/25 SMI@(#)va_list.h\t1.12\t99/05/04 SMI@(#)stdio_tag.h\t1.3\t98/04/20 SMI@(#)stdio_impl.h\t1.8\t99/06/10 SMI@(#)stdlib.h\t1.47\t99/11/03 SMI@(#)stdlib_iso.h\t1.2\t99/12/21 SMI@(#)string.h\t1.24\t99/08/10 SMI@(#)string_iso.h\t1.2\t99/11/09 SMI@(#)unistd.h\t1.58\t99/11/11 SMI@(#)errno.h\t1.16\t99/07/26 SMI@(#)errno.h\t1.20\t00/02/14 SMIacomp: Sun C 5.7 2005/01/07iropt: Sun Compiler Common 10 Patch 117846-09 2005/09/14ir2hf: Sun Compiler Common 10 Patch 117846-09 2005/09/14ube: Sun Compiler Common 10 Patch 117846-09 2005/09/14selectmallocselectEVENT_NOSELECTselect.cV=10.0;DBG_GEN=4.14.31;cd;backend;raw;Xa;O;R=Sun C 5.7 2005/01/07/export/medusa/comand/csw/lib/libevent/work/comand-thor.d/libevent-1.1a; /opt/studio/SOS10/SUNWspro/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I. -Icompat -I/tmp/a/opt/csw/include -I/opt/csw/include -xO3 -xarch=386 -xspace -xildoff -I/tmp/a/opt/csw/include -I/opt/csw/include -c -o select.o select.cx <L4select_initgetenvcallocselect_resizeevsignal_initselect_recalcevsignal_recalcselect_dispatchmemcpyevsignal_deliverselectevsignal_caughtevsignal_processevent_delevent_activeerrnoevent_warnreallocmemsetselect_addevsignal_addselect_delevsignal_delselectops.textselect.c.bss.rodata.data1.rodata114%*29 )Eel}P7PUfe\  ! > ^     \s ,>MRN 4x  ' . 7 xFl $ R DZ  b  l 0 poll.o/ 1134510103 16667 101 100644 5012 ` ELFd4(.shstrtab.data.text.bss.comment.data1.rodata1.stab.indexstr.stab.index.strtab.symtab.rel.data.rel.textUSh t3"j,j؅tCP3ۋ[]UE P]U SVWu ^SEi@NMPQv SuFt,EIM33EF @ttpNˋ MEEtFËEE}tXE@0M#tJuEPEH0#MjQEP t_FËEEE}t@E9Et8E@0M#t*uEPEH0#MjQEP E@E;E3632=th3 _^[]USVW] C0uNA;|j |  Pv F [PvFPvF~ S,^;|[ | ;;~PuvFV+QjP ^E P,MAJyyy@,yY t3fF] C0tFfFAC0tFfFA3Phnfdsioctl: DP_POLL/dev/polldevpoll.cV=10.0;DBG_GEN=4.14.31;cd;backend;raw;Xa;O;R=Sun C 5.7 2005/01/07/export/medusa/comand/csw/lib/libevent/work/comand-thor.d/libevent-1.1a; /opt/studio/SOS10/SUNWspro/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I. -Icompat -I/tmp/a/opt/csw/include -I/opt/csw/include -xO3 -xarch=386 -xspace -xildoff -I/tmp/a/opt/csw/include -I/opt/csw/include -c -o devpoll.o devpoll.cx <M4devpoll_commitpwritedevpoll_queuedevpoll_initgetenvcallocgetrlimitopenevsignal_initevent_warnfreeclosedevpoll_recalcreallocmemsetevsignal_recalcdevpoll_dispatchevsignal_deliverioctlevsignal_caughtevsignal_process__assertevent_delevent_activeerrnodevpoll_addevsignal_adddevpoll_delevsignal_deldevpollops.textdevpoll.c.data.bss.data1.rodata1S]M;;Ocho29@JO]hm5 B%CsN_)> # $!"       0 CMRZrz&+Ah$)(05D!04t % , n5f xD$ PxX|P ` 0 j  signal.o/ 1134510105 16667 101 100644 5644 ` ELF4( .shstrtab.data.text.bss.comment.rodata1.data1.stab.indexstr.stab.index.strtab.symtab.rel.textUjdhu uhh\j ju]Uu$jjjuh hLj jj5 u5h8jj5 u5h$Phj5P P]US] C0thhj C,Pu3[]US] C,Pujjs, []UM @f jh5]U SV=ujh u3j]Sj thj jt$V D$ LL$t#jVs, t [u 3^[]U=tjuj 3]USVt4C,tC0u SVjS [uj\3jh ^[]@(#)types.h\t1.69\t03/08/07 SMI@(#)isa_defs.h\t1.20\t99/05/04 SMI@(#)feature_tests.h\t1.18\t99/07/26 SMI@(#)machtypes.h\t1.8\t99/05/04 SMI@(#)machtypes.h\t1.1\t99/05/04 SMI@(#)int_types.h\t1.6\t97/08/20 SMI@(#)select.h\t1.16\t98/04/27 SMI@(#)time.h\t2.67\t03/08/07 SMI@(#)time.h\t1.39\t99/08/10 SMI@(#)time_iso.h\t1.1\t99/08/09 SMI@(#)time_impl.h\t1.5\t99/10/05 SMI@(#)socket.h\t1.54\t01/03/12 SMI@(#)uio.h\t1.29\t97/06/29 SMI@(#)netconfig.h\t1.20\t99/04/27 SMI@(#)in.h\t1.31\t00/10/28 SMI@(#)stream.h\t1.87\t04/10/14 SMI@(#)vnode.h\t1.85\t99/07/30 SMI@(#)t_lock.h\t1.45\t98/02/01 SMI@(#)machlock.h\t1.21\t00/04/27 SMI@(#)param.h\t1.76\t00/02/14 SMI@(#)unistd.h\t1.37\t98/10/28 SMI@(#)mutex.h\t1.20\t98/02/01 SMI@(#)rwlock.h\t1.9\t98/02/18 SMI@(#)semaphore.h\t1.5\t98/02/01 SMI@(#)condvar.h\t1.13\t01/03/15 SMI@(#)cred.h\t1.21\t97/01/09 SMI@(#)resource.h\t1.25\t98/06/30 SMI@(#)seg_enum.h\t1.3\t95/12/22 SMI@(#)poll.h\t1.28\t98/11/23 SMI@(#)strmdep.h\t1.10\t98/01/06 SMI@(#)model.h\t1.20\t97/09/22 SMI@(#)strft.h\t1.2\t00/10/23 SMI@(#)byteorder.h\t1.14\t98/04/19 SMI@(#)un.h\t1.9\t96/07/12 SMI@(#)if_dl.h\t1.7\t98/01/06 SMI@(#)signal.h\t1.38\t99/08/10 SMI@(#)signal_iso.h\t1.1\t99/08/09 SMI@(#)signal_iso.h\t1.1\t99/08/09 SMI@(#)signal.h\t1.54\t99/07/26 SMI@(#)siginfo.h\t1.54\t98/03/27 SMI@(#)machsig.h\t1.10\t99/08/15 SMI@(#)faultcode.h\t1.15\t92/07/14 SMI@(#)procset.h\t1.20\t00/02/14 SMI@(#)stdio.h\t1.78\t99/12/08 SMI@(#)stdio_iso.h\t1.2\t99/10/25 SMI@(#)va_list.h\t1.12\t99/05/04 SMI@(#)stdio_tag.h\t1.3\t98/04/20 SMI@(#)stdio_impl.h\t1.8\t99/06/10 SMI@(#)stdlib.h\t1.47\t99/11/03 SMI@(#)stdlib_iso.h\t1.2\t99/12/21 SMI@(#)string.h\t1.24\t99/08/10 SMI@(#)string_iso.h\t1.2\t99/11/09 SMI@(#)unistd.h\t1.58\t99/11/11 SMI@(#)errno.h\t1.16\t99/07/26 SMI@(#)errno.h\t1.20\t00/02/14 SMI@(#)fcntl.h\t1.14\t97/12/05 SMI@(#)fcntl.h\t1.45\t98/07/17 SMIacomp: Sun C 5.7 2005/01/07iropt: Sun Compiler Common 10 Patch 117846-09 2005/09/14ir2hf: Sun Compiler Common 10 Patch 117846-09 2005/09/14ube: Sun Compiler Common 10 Patch 117846-09 2005/09/14a%s: EV_SIGNAL incompatible usefcntl(%d, F_SETFD)fcntl(%d, F_SETFD)%s: socketpair%s: readsignal.csignal.csignal.csignal.cV=10.0;DBG_GEN=4.14.31;cd;backend;raw;Xa;O;R=Sun C 5.7 2005/01/07/export/medusa/comand/csw/lib/libevent/work/comand-thor.d/libevent-1.1a; /opt/studio/SOS10/SUNWspro/prod/bin/cc -DHAVE_CONFIG_H -I. -I. -I. -Icompat -I/tmp/a/opt/csw/include -I/opt/csw/include -xO3 -xarch=386 -xspace -xildoff -I/tmp/a/opt/csw/include -I/opt/csw/include -c -o signal.o signal.cx <L4evsignal_cbreadevent_errevent_addevsignal_initsigemptysetev_signal_pairsocketpairfcntlevent_warnev_signalevent_setevsignal_addevent_errxsigaddsetevsignal_delsigdelsetneedrecalcsigactionevsignal_handlerevsigcaughtevsignal_caughtwriteevsignal_recalcev_signal_addedsignalqueuesigprocmaskmemsetevsignal_deliverevsignal_processevent_delevent_active.textsignal.c.data.bss.rodata1.data1~x?j:@\kpT 4OZ`u,8ak &?=37?w&Pe  # *7IP [h m t           %EN^w      =L   4l (7% e.H !5i xD $ PXp `  07070100003372000081ed000000000000000000000001439f403800000343000000b500010002ffffffffffffffff0000001d00000000root/opt/csw/lib/libevent.la# libevent.la - a libtool library file # Generated by ltmain.sh - GNU libtool 1.5.10 (1.1220.2.131 2004/09/19 12:46:56) # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='libevent-1.1a.so.1' # Names of this library. library_names='libevent-1.1a.so.1.0.2 libevent-1.1a.so.1 libevent.so' # The name of the static archive. old_library='libevent.a' # Libraries that this one depends upon. dependency_libs=' -lsocket -L/opt/csw/lib # Version information for libevent. current=1 age=0 revision=2 # Is this an already installed library? installed=yes # Should we warn about portability when linking against -modules? shouldnotlink=no # Files to dlopen/dlpreopen dlopen='' dlpreopen='' # Directory that this library needs to be installed in: libdir='/opt/csw/lib' 07070100003374000041ed00000000000000000000000348abe75300000000000000b500010002ffffffffffffffff0000001300000000root/opt/csw/share07070100003375000041ed00000000000000000000000348abe75300000000000000b500010002ffffffffffffffff0000001700000000root/opt/csw/share/man07070100003376000041ed00000000000000000000000248abe75300000000000000b500010002ffffffffffffffff0000001c00000000root/opt/csw/share/man/man307070100003379000081a4000000000000000000000001439f403700003746000000b500010002ffffffffffffffff0000002400000000root/opt/csw/share/man/man3/event.3.\" $OpenBSD: event.3,v 1.4 2002/07/12 18:50:48 provos 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. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. 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 August 8, 2000 .Dt EVENT 3 .Os .Sh NAME .Nm event_init , .Nm event_dispatch , .Nm event_loop , .Nm event_loopexit , .Nm event_base_loop , .Nm event_base_loopexit , .Nm event_set , .Nm event_add , .Nm event_del , .Nm event_once , .Nm event_pending , .Nm event_initialized , .Nm event_priority_init , .Nm event_priority_set , .Nm evtimer_set , .Nm evtimer_add , .Nm evtimer_del .Nm evtimer_pending , .Nm evtimer_initialized , .Nm signal_set , .Nm signal_add , .Nm signal_del .Nm signal_pending , .Nm signal_initialized , .Nm bufferevent_new , .Nm bufferevent_free , .Nm bufferevent_write , .Nm bufferevent_write_buffer , .Nm bufferevent_read , .Nm bufferevent_enable , .Nm bufferevent_disable , .Nm bufferevent_settimeout , .Nm evbuffer_new , .Nm evbuffer_free , .Nm evbuffer_add , .Nm evbuffer_add_buffer , .Nm evbuffer_add_printf , .Nm evbuffer_drain , .Nm evbuffer_write , .Nm evbuffer_read , .Nm evbuffer_find , .Nm evbuffer_readline .Nd execute a function when a specific event occurs .Sh SYNOPSIS .Fd #include .Fd #include .Ft "struct event_base *" .Fn "event_init" .Ft int .Fn "event_dispatch" .Ft int .Fn "event_loop" "int flags" .Ft int .Fn "event_loopexit" "struct timeval *tv" .Ft int .Fn "event_base_loop" "struct event_base *" "int flags" .Ft int .Fn "event_base_loopexit" "struct event_base *" "struct timeval *tv" .Ft void .Fn "event_set" "struct event *ev" "int fd" "short event" "void (*fn)(int, short, void *)" "void *arg" .Ft int .Fn "event_add" "struct event *ev" "struct timeval *tv" .Ft int .Fn "event_del" "struct event *ev" .Ft int .Fn "event_once" "int fd" "short event" "void (*fn)(int, short, void *)" "void *arg" "struct timeval *tv" .Ft int .Fn "event_pending" "struct event *ev" "short event" "struct timeval *tv" .Ft int .Fn "event_initialized" "struct event *ev" .Ft int .Fn "event_priority_init" "int npriorities" .Ft int .Fn "event_priority_set" "struct event *ev" "int priority" .Ft void .Fn "evtimer_set" "struct event *ev" "void (*fn)(int, short, void *)" "void *arg" .Ft void .Fn "evtimer_add" "struct event *ev" "struct timeval *" .Ft void .Fn "evtimer_del" "struct event *ev" .Ft int .Fn "evtimer_pending" "struct event *ev" "struct timeval *tv" .Ft int .Fn "evtimer_initialized" "struct event *ev" .Ft void .Fn "signal_set" "struct event *ev" "int signal" "void (*fn)(int, short, void *)" "void *arg" .Ft void .Fn "signal_add" "struct event *ev" "struct timeval *" .Ft void .Fn "signal_del" "struct event *ev" .Ft int .Fn "signal_pending" "struct event *ev" "struct timeval *tv" .Ft int .Fn "signal_initialized" "struct event *ev" .Ft "struct bufferevent *" .Fn "bufferevent_new" "int fd" "evbuffercb readcb" "evbuffercb writecb" "everrorcb" "void *cbarg" .Ft void .Fn "bufferevent_free" "struct bufferevent *bufev" .Ft int .Fn "bufferevent_write" "struct bufferevent *bufev" "void *data" "size_t size" .Ft int .Fn "bufferevent_write_buffer" "struct bufferevent *bufev" "struct evbuffer *buf" .Ft size_t .Fn "bufferevent_read" "struct bufferevent *bufev" "void *data" "size_t size" .Ft int .Fn "bufferevent_enable" "struct bufferevent *bufev" "short event" .Ft int .Fn "bufferevent_disable" "struct bufferevent *bufev" "short event" .Ft void .Fn "bufferevent_settimeout" "struct bufferevent *bufev" "int timeout_read" "int timeout_write" .Ft "struct evbuffer *" .Fn "evbuffer_new" "void" .Ft void .Fn "evbuffer_free" "struct evbuffer *buf" .Ft int .Fn "evbuffer_add" "struct evbuffer *buf" "u_char *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" "char *fmt" "..." .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" "u_char *data" "size_t size" .Ft "char *" .Fn "evbuffer_readline" "struct evbuffer *buf" .Ft int .Fa (*event_sigcb)(void) ; .Ft int .Fa event_gotsig ; .Sh DESCRIPTION The .Nm event API provides a mechanism to execute a function when a specific event on a file descriptor occurs or after a given time has passed. .Pp The .Nm event API needs to be initialized with .Fn event_init before it can be used. .Pp In order to process events, an application needs to call .Fn event_dispatch . This function only returns on error, and should replace the event core of the application program. .Pp In order to avoid races in signal handlers, the .Nm event API provides two variables: .Va event_sigcb and .Va event_gotsig . A signal handler sets .Va event_gotsig to indicate that a signal has been received. The application sets .Va event_sigcb to a callback function. After the signal handler sets .Va event_gotsig , .Nm event_dispatch will execute the callback function to process received signals. The callback returns 1 when no events are registered any more. It can return -1 to indicate an error to the .Nm event library, causing .Fn event_dispatch to terminate with .Va errno set to .Er EINTR. .Pp The .Nm event_loop function provides an interface for single pass execution of pending events. The flags .Va EVLOOP_ONCE and .Va EVLOOP_NONBLOCK are recognized. The .Nm event_loopexit function allows the loop to be terminated after some amount of time has passed. The parameter indicates the time after which the loop should terminate. .Pp It is the responsibility of the caller to provide these functions with pre-allocated event structures. .Pp The function .Fn event_set prepares the event structure .Fa ev to be used in future calls to .Fn event_add and .Fn event_del . The event will be prepared to call the function specified by the .Fa fn argument with an .Fa int argument indicating the file descriptor, a .Fa short argument indicating the type of event, and a .Fa void * argument given in the .Fa arg argument. The .Fa fd indicates the file descriptor that should be monitored for events. The events can be either .Va EV_READ , .Va EV_WRITE , or both. Indicating that an application can read or write from the file descriptor respectively without blocking. .Pp The function .Fa fn will be called with the file descriptor that triggered the event and the type of event which will be either .Va EV_TIMEOUT , .Va EV_SIGNAL , .Va EV_READ , or .Va EV_WRITE . The additional flag .Va EV_PERSIST makes an .Fn event_add persistent until .Fn event_del has been called. .Pp Once initialized, the .Fa ev structure can be used repeatedly with .Fn event_add and .Fn event_del and does not need to be reinitialized unless the function called and/or the argument to it are to be changed. However, when an .Fa ev structure has been added to libevent using .Fn event_add the structure must persist until the event occurs (assuming .Fa EV_PERSIST is not set) or is removed using .Fn event_del . You may not reuse the same .Fa ev structure for multiple monitored descriptors; each descriptor needs its own .Fa ev . .Pp The function .Fn event_add schedules the execution of the .Fa ev event when the event specified in .Fn event_set occurs or in at least the time specified in the .Fa tv . If .Fa tv is NULL, no timeout occurs and the function will only be called if a matching event occurs on the file descriptor. The event in the .Fa ev argument must be already initialized by .Fn event_set and may not be used in calls to .Fn event_set until it has timed out or been removed with .Fn event_del . If the event in the .Fa ev argument already has a scheduled timeout, the old timeout will be replaced by the new one. .Pp The function .Fn event_del will cancel the event in the argument .Fa ev . If the event has already executed or has never been added the call will have no effect. .Pp The function .Fn event_once is similar to .Fn event_set . However, it schedules a callback to be called exactly once and does not require the caller to prepare an .Fa event structure. This function supports .Fa EV_TIMEOUT , .Fa EV_READ and .Fa EV_WRITE . .Pp The .Fn event_pending function can be used to check if the event specified by .Fa event is pending to run. If .Va EV_TIMEOUT was specified and .Fa tv is not .Va NULL , the expiration time of the event will be returned in .Fa tv . .Pp The .Fn event_initialized macro can be used to check if an event has been initialized. .Pp The functions .Fn evtimer_set , .Fn evtimer_add , .Fn evtimer_del , .Fn evtimer_initialized , and .Fn evtimer_pending are abbreviations for common situations where only a timeout is required. The file descriptor passed will be -1, and the event type will be .Va EV_TIMEOUT . .Pp .Pp The functions .Fn signal_set , .Fn signal_add , .Fn signal_del , .Fn signal_initialized , and .Fn signal_pending are abbreviations. The event type will be a persistent .Va EV_SIGNAL . That means .Fn signal_set adds .Va EV_PERSIST . .Pp It is possible to disable support for .Va epoll , kqueue , devpoll, poll or .Va select by setting the environment variable .Va EVENT_NOEPOLL , EVENT_NOKQUEUE , EVENT_NODEVPOLL, EVENT_NOPOLL or .Va EVENT_NOSELECT . By setting the environment variable .Va EVENT_SHOW_METHOD , .Nm libevent displays the kernel notification method that it uses. .Pp .Sh EVENT PRIORITIES By default .Nm libevent schedules all active events with the same priority. However, sometime it is desirable to process some events with a higher priority than others. For that reason, .Nm libevent supports strict priority queues. Active events with a lower priority are always processed before events with a higher priority. .Pp The number of different priorities can be set initially with the .Fn event_priority_init function. This function should be called before the first call to .Fn event_dispatch . The .Fn event_priority_set function can be used to assign a priority to an event. By default, .Nm libevent assigns the middle priority to all events unless their priority is explicitly set. .Pp .Sh THREAD SAFE EVENTS .Nm Libevent has experimental support for thread-safe events. When initializing the library via .Fn event_init , an event base is returned. This event base can be used in conjunction with calls to .Fn event_base_set .Fn event_base_dispatch , .Fn event_base_loop , and .Fn event_base_loopexit . .Fn event_base_set should be called after preparing an event with .Fn event_set , as .Fn event_set assigns the provided event to the most recently created event base. .Pp .Sh BUFFERED EVENTS .Nm libevent provides an abstraction on top of the regular event callbacks. This abstraction is called a .Va "buffered event" . A buffered event provides input and output buffer that get filled and drained automatically. The user of a buffered event no longer deals directly with the IO, but instead is reading from input and writing to output buffers. .Pp A new bufferevent is created by .Fn bufferevent_new . The parameter .Fa "fd" specifies the file descriptor from which data is read and written to. This file descriptor is not allowed to be a .Xr pipe 2 . The next three parameters are callbacks. The read and write callback have the following form .Ft void .Fn "(*cb)" "struct bufferevent *bufev" "void *arg" The argument is specified by the fourth parameter .Fa "cbarg" . .Pp By default the buffered event is read enabled and will try to read from the file descriptor. The write callback is executed whenever the output buffer is drained below the write low watermark which is .Va 0 by default. .Pp The .Fn bufferevent_write function can be used to write data to the file descriptor. The data is appended to the output buffer and written to the descriptor automatically as it becomes available for writing. The .Fn bufferevent_read function is used to read data from the input buffer. Both functions return the amount of data written or read. .Pp .Sh RETURN VALUES Upon successful completion .Fn event_add and .Fn event_del return 0. Otherwise, -1 is returned and the global variable errno is set to indicate the error. .Sh SEE ALSO .Xr timeout 9 , .Xr select 2 , .Xr kqueue 2 .Sh HISTORY The .Nm event API manpage is based on the .Xr timeout 9 manpage by Artur Grabowski. The port of .Nm libevent to Windows is due to Michael A. Davis. Support for real-time signals is due to Taral. .Sh AUTHORS The .Nm event library was written by Niels Provos. .Pp .Sh BUGS This documentation is neither complete nor authoritative. If you are in doubt about the usage of this API then check the source code to find out how it works, write up the missing piece of documentation and send it to me for inclusion in this man page. 0707010000336e000041ed00000000000000000000000248abe75300000000000000b500010002ffffffffffffffff0000001500000000root/opt/csw/include0707010000336f000081a4000000000000000000000001439f4037000022a8000000b500010002ffffffffffffffff0000001d00000000root/opt/csw/include/event.h/* * Copyright (c) 2000-2004 Niels Provos * 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. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. 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 BY THE AUTHOR ``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. */ #ifndef _EVENT_H_ #define _EVENT_H_ #ifdef __cplusplus extern "C" { #endif #ifdef WIN32 #define WIN32_LEAN_AND_MEAN #include #undef WIN32_LEAN_AND_MEAN typedef unsigned char u_char; #endif #define EVLIST_TIMEOUT 0x01 #define EVLIST_INSERTED 0x02 #define EVLIST_SIGNAL 0x04 #define EVLIST_ACTIVE 0x08 #define EVLIST_INTERNAL 0x10 #define EVLIST_INIT 0x80 /* EVLIST_X_ Private space: 0x1000-0xf000 */ #define EVLIST_ALL (0xf000 | 0x9f) #define EV_TIMEOUT 0x01 #define EV_READ 0x02 #define EV_WRITE 0x04 #define EV_SIGNAL 0x08 #define EV_PERSIST 0x10 /* Persistant event */ /* Fix so that ppl dont have to run with */ #ifndef TAILQ_ENTRY #define _EVENT_DEFINED_TQENTRY #define TAILQ_ENTRY(type) \ struct { \ struct type *tqe_next; /* next element */ \ struct type **tqe_prev; /* address of previous next element */ \ } #endif /* !TAILQ_ENTRY */ #ifndef RB_ENTRY #define _EVENT_DEFINED_RBENTRY #define RB_ENTRY(type) \ struct { \ struct type *rbe_left; /* left element */ \ struct type *rbe_right; /* right element */ \ struct type *rbe_parent; /* parent element */ \ int rbe_color; /* node color */ \ } #endif /* !RB_ENTRY */ struct event_base; struct event { TAILQ_ENTRY (event) ev_next; TAILQ_ENTRY (event) ev_active_next; TAILQ_ENTRY (event) ev_signal_next; RB_ENTRY (event) ev_timeout_node; struct event_base *ev_base; int ev_fd; short ev_events; short ev_ncalls; short *ev_pncalls; /* Allows deletes in callback */ struct timeval ev_timeout; int ev_pri; /* smaller numbers are higher priority */ void (*ev_callback)(int, short, void *arg); void *ev_arg; int ev_res; /* result passed to event callback */ int ev_flags; }; #define EVENT_SIGNAL(ev) (int)ev->ev_fd #define EVENT_FD(ev) (int)ev->ev_fd #ifdef _EVENT_DEFINED_TQENTRY #undef TAILQ_ENTRY #undef _EVENT_DEFINED_TQENTRY #else TAILQ_HEAD (event_list, event); #endif /* _EVENT_DEFINED_TQENTRY */ #ifdef _EVENT_DEFINED_RBENTRY #undef RB_ENTRY #undef _EVENT_DEFINED_RBENTRY #endif /* _EVENT_DEFINED_RBENTRY */ struct eventop { char *name; void *(*init)(void); int (*add)(void *, struct event *); int (*del)(void *, struct event *); int (*recalc)(struct event_base *, void *, int); int (*dispatch)(struct event_base *, void *, struct timeval *); }; #define TIMEOUT_DEFAULT {5, 0} void *event_init(void); int event_dispatch(void); int event_base_dispatch(struct event_base *); #define _EVENT_LOG_DEBUG 0 #define _EVENT_LOG_MSG 1 #define _EVENT_LOG_WARN 2 #define _EVENT_LOG_ERR 3 typedef void (*event_log_cb)(int severity, const char *msg); void event_set_log_callback(event_log_cb cb); /* Associate a different event base with an event */ int event_base_set(struct event_base *, struct event *); #define EVLOOP_ONCE 0x01 #define EVLOOP_NONBLOCK 0x02 int event_loop(int); int event_base_loop(struct event_base *, int); int event_loopexit(struct timeval *); /* Causes the loop to exit */ int event_base_loopexit(struct event_base *, struct timeval *); #define evtimer_add(ev, tv) event_add(ev, tv) #define evtimer_set(ev, cb, arg) event_set(ev, -1, 0, cb, arg) #define evtimer_del(ev) event_del(ev) #define evtimer_pending(ev, tv) event_pending(ev, EV_TIMEOUT, tv) #define evtimer_initialized(ev) ((ev)->ev_flags & EVLIST_INIT) #define timeout_add(ev, tv) event_add(ev, tv) #define timeout_set(ev, cb, arg) event_set(ev, -1, 0, cb, arg) #define timeout_del(ev) event_del(ev) #define timeout_pending(ev, tv) event_pending(ev, EV_TIMEOUT, tv) #define timeout_initialized(ev) ((ev)->ev_flags & EVLIST_INIT) #define signal_add(ev, tv) event_add(ev, tv) #define signal_set(ev, x, cb, arg) \ event_set(ev, x, EV_SIGNAL|EV_PERSIST, cb, arg) #define signal_del(ev) event_del(ev) #define signal_pending(ev, tv) event_pending(ev, EV_SIGNAL, tv) #define signal_initialized(ev) ((ev)->ev_flags & EVLIST_INIT) void event_set(struct event *, int, short, void (*)(int, short, void *), void *); int event_once(int, short, void (*)(int, short, void *), void *, struct timeval *); int event_add(struct event *, struct timeval *); int event_del(struct event *); void event_active(struct event *, int, short); int event_pending(struct event *, short, struct timeval *); #ifdef WIN32 #define event_initialized(ev) ((ev)->ev_flags & EVLIST_INIT && (ev)->ev_fd != INVALID_HANDLE_VALUE) #else #define event_initialized(ev) ((ev)->ev_flags & EVLIST_INIT) #endif /* Some simple debugging functions */ const char *event_get_version(void); const char *event_get_method(void); /* These functions deal with event priorities */ int event_priority_init(int); int event_base_priority_init(struct event_base *, int); int event_priority_set(struct event *, int); /* These functions deal with buffering input and output */ struct evbuffer { u_char *buffer; u_char *orig_buffer; size_t misalign; size_t totallen; size_t off; void (*cb)(struct evbuffer *, size_t, size_t, void *); void *cbarg; }; /* Just for error reporting - use other constants otherwise */ #define EVBUFFER_READ 0x01 #define EVBUFFER_WRITE 0x02 #define EVBUFFER_EOF 0x10 #define EVBUFFER_ERROR 0x20 #define EVBUFFER_TIMEOUT 0x40 struct bufferevent; typedef void (*evbuffercb)(struct bufferevent *, void *); typedef void (*everrorcb)(struct bufferevent *, short what, void *); struct event_watermark { size_t low; size_t high; }; struct bufferevent { struct event ev_read; struct event ev_write; struct evbuffer *input; struct evbuffer *output; struct event_watermark wm_read; struct event_watermark wm_write; evbuffercb readcb; evbuffercb writecb; everrorcb errorcb; void *cbarg; int timeout_read; /* in seconds */ int timeout_write; /* in seconds */ short enabled; /* events that are currently enabled */ }; struct bufferevent *bufferevent_new(int fd, evbuffercb readcb, evbuffercb writecb, everrorcb errorcb, void *cbarg); int bufferevent_priority_set(struct bufferevent *bufev, int pri); void bufferevent_free(struct bufferevent *bufev); int bufferevent_write(struct bufferevent *bufev, void *data, size_t size); int bufferevent_write_buffer(struct bufferevent *bufev, struct evbuffer *buf); size_t bufferevent_read(struct bufferevent *bufev, void *data, size_t size); int bufferevent_enable(struct bufferevent *bufev, short event); int bufferevent_disable(struct bufferevent *bufev, short event); void bufferevent_settimeout(struct bufferevent *bufev, int timeout_read, int timeout_write); #define EVBUFFER_LENGTH(x) (x)->off #define EVBUFFER_DATA(x) (x)->buffer #define EVBUFFER_INPUT(x) (x)->input #define EVBUFFER_OUTPUT(x) (x)->output struct evbuffer *evbuffer_new(void); void evbuffer_free(struct evbuffer *); int evbuffer_expand(struct evbuffer *, size_t); int evbuffer_add(struct evbuffer *, void *, size_t); int evbuffer_remove(struct evbuffer *, void *, size_t); char *evbuffer_readline(struct evbuffer *); int evbuffer_add_buffer(struct evbuffer *, struct evbuffer *); int evbuffer_add_printf(struct evbuffer *, char *fmt, ...); void evbuffer_drain(struct evbuffer *, size_t); int evbuffer_write(struct evbuffer *, int); int evbuffer_read(struct evbuffer *, int, int); u_char *evbuffer_find(struct evbuffer *, u_char *, size_t); void evbuffer_setcb(struct evbuffer *, void (*)(struct evbuffer *, size_t, size_t, void *), void *); #ifdef __cplusplus } #endif #endif /* _EVENT_H_ */ 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!!