Name Date Size #Lines LOC

..--

Makefile.inH A D05-Jun-20251.1 KiB5135

READMEH A D05-Jun-20251.7 KiB4134

Symbols.evH A D05-Jun-20251.1 KiB7473

depsH A D05-Jun-2025401 1110

ev.cH A D05-Jun-2025126.6 KiB5,1053,807

ev.hH A D05-Jun-202528.7 KiB855562

ev_poll.cH A D05-Jun-20254.3 KiB14988

ev_select.cH A D05-Jun-20258.6 KiB315214

ev_vars.hH A D05-Jun-20256.1 KiB205131

ev_win32.cH A D05-Jun-20255.2 KiB16375

ev_wrap.hH A D05-Jun-20255.4 KiB201199

libverto.exportsH A D05-Jun-2025533 3433

module.cH A D05-Jun-20251.7 KiB5726

module.hH A D05-Jun-20253.2 KiB8510

verto-k5ev.cH A D05-Jun-20256.4 KiB236172

verto-libev.cH A D05-Jun-20255.4 KiB205155

verto-module.hH A D05-Jun-20256.5 KiB18976

verto.cH A D05-Jun-202525.3 KiB1,051825

verto.hH A D05-Jun-202519 KiB576114

README

1This directory builds a verto library with only a private built-in
2module, for use when the system has no installed verto library.  The
3bundled verto cannot dynamically load modules.  From the upstream
4libverto, we take only verto.c and verto-libev.c, and we only build
5the former; the latter is stored here for comparison purposes.  We use
6a stub implementation of module.c to disable dynamic loading support.
7
8This private module uses an embedded libev with renamed symbols (so we
9don't leak libev symbols into the namespace on platforms where we
10can't control the export list).  libev has built-in support for this
11kind of embedding, so we don't have to modify the libev sources.
12Following libev's documentation, the following files have been copied
13from the ev sources:
14
15  ev.h
16  ev_vars.h
17  ev_wrap.h
18  ev.c
19  ev_select.c
20  ev_poll.c
21  ev_win32.c
22  Symbols.ev
23
24(Symbols.ev wasn't included in the 4.04 tar file due to an oversight,
25so it is taken from the appropriate tag in libev's source repository.)
26
27To rename the exported symbols, we create rename.h from Symbols.ev.
28We also use Symbols.ev to construct the library export list.
29(Renaming libev's symbols would be unnecessary if libev's embedding
30had support for making its API symbols static, but it currently does
31not.)  The source file verto-k5ev.c wraps ev.c with appropriate
32embedding defines, and then defines the libverto module functions
33using the slightly modified contents of libverto's verto-libev.c.  The
34resulting module table is embedded into verto.c using the
35BUILTIN_MODULE define.
36
37The libverto and libev upstream project pages are at:
38
39  https://github.com/latchset/libverto/
40  http://software.schmorp.de/pkg/libev.html
41