Mirror of :pserver:cvs@cvs.fefe.de:/cvs libowfat https://www.fefe.de/libowfat/
Go to file
Felix von Leitner d391cf7004 return early 2023-07-20 09:19:40 +00:00
array half-hearted improvements to Windows compilability 2019-04-23 13:25:26 +00:00
buffer remove unused label 2022-04-11 08:37:51 +00:00
byte add byte_start, byte_starts 2020-10-22 20:43:13 +00:00
case #include <foo.h> -> #include <libowfat/foo.h> 2017-05-13 22:51:26 +00:00
cdb forward changes made in prototypes to actual implementation 2020-11-20 13:42:58 +00:00
critbit gcc 13 -fanalyze run with fixes / comments about false positives 2023-05-02 12:51:56 +00:00
dns use write in buffer_put for a slight perf improvement 2018-03-12 13:04:30 +00:00
examples include <foo> -> include "foo" 2016-03-17 11:13:23 +00:00
fmt gcc 13 -fanalyze run with fixes / comments about false positives 2023-05-02 12:51:56 +00:00
io return early 2023-07-20 09:19:40 +00:00
mmap correct file open mode for mmap_private man page 2020-12-07 14:20:57 +00:00
mult move unit tests into each file (compile with -DUNITTEST) 2017-05-13 22:52:21 +00:00
open more cross references for open_* 2020-12-07 14:57:16 +00:00
scan gcc 13 -fanalyze run with fixes / comments about false positives 2023-05-02 12:51:56 +00:00
socket silence clang static analyzer 2023-05-02 13:10:41 +00:00
str add unit test 2018-09-30 19:29:31 +00:00
stralloc gcc 13 -fanalyze run with fixes / comments about false positives 2023-05-02 12:51:56 +00:00
tai #include <foo.h> -> #include <libowfat/foo.h> 2017-05-13 22:51:26 +00:00
taia #include <foo.h> -> #include <libowfat/foo.h> 2017-05-13 22:51:26 +00:00
test add libowfat/ to includes 2019-04-27 09:15:53 +00:00
textcode also escape negative chars (we are in utf-8 land now, no longer latin1) 2021-04-21 11:32:03 +00:00
uint #include <foo.h> -> #include <libowfat/foo.h> 2017-05-13 22:51:26 +00:00
unix use write in buffer_put for a slight perf improvement 2018-03-12 13:04:30 +00:00
.cvsignore auto-generate compile_commands.json for clangd / vim ale 2023-03-22 15:56:38 +00:00
CAS.h remove a few compiler warnings 2017-04-28 13:55:00 +00:00
CHANGES add C++ convenience overloads to uint*.h 2023-07-20 08:11:55 +00:00
COPYING Initial revision 2001-02-02 17:54:47 +00:00
GNUmakefile gcc 13 -fanalyze run with fixes / comments about false positives 2023-05-02 12:51:56 +00:00
Makefile make clean also removes json binary 2023-03-22 15:57:28 +00:00
README mention my email address 2002-10-21 22:35:17 +00:00
TODO mention sendmsg issue 2021-04-22 11:31:22 +00:00
array.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
buffer.h add buffer_init_allocbuf, buffer_init_read, buffer_init_write, buffer_init_read_allocbuf, buffer_init_write_allocbuf 2021-01-03 23:15:28 +00:00
byte.h add seccomp notice 2022-04-25 14:45:24 +00:00
case.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
cdb.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
cdb_make.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
compile_commands.json.tmpl auto-generate compile_commands.json for clangd / vim ale 2023-03-22 15:56:38 +00:00
compiler.h change a few // comments back to /* */ for older compilers 2023-01-21 16:23:58 +00:00
compiletimeassert.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
critbit.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
dns.h now that gcc 11's static analyzer looks at array bounds in arguments 2021-04-27 17:39:42 +00:00
ent.c change a few // comments back to /* */ for older compilers 2023-01-21 16:23:58 +00:00
entities.json update entities.json 2022-11-16 16:33:50 +00:00
errmsg.h make headers work in C++ 2012-02-07 17:02:40 +00:00
errmsg_int.h add errmsg_int.h 2005-10-14 15:33:33 +00:00
fmt.h add sandboxing hints 2022-04-25 14:20:36 +00:00
iarray.h explain a bit what we are trying to do here 2021-11-03 12:28:12 +00:00
io.h mcfgthread renamed their include file 2022-12-02 14:04:32 +00:00
io_internal.h recent kernel return POLLERR and then calling read returns EGAIN which 2022-03-11 12:07:53 +00:00
iob.h add iob_write2 which takes an additional sendfile callback 2022-11-07 14:39:37 +00:00
iob_internal.h use callback based infrastructure to reset iob's 2007-10-17 13:25:44 +00:00
iopause.h1 for installed header files, add comment saying where they came from 2010-06-03 22:46:59 +00:00
iopause.h2 for installed header files, add comment saying where they came from 2010-06-03 22:46:59 +00:00
ip4.h now that gcc 11's static analyzer looks at array bounds in arguments 2021-04-27 17:39:42 +00:00
ip6.h now that gcc 11's static analyzer looks at array bounds in arguments 2021-04-27 17:39:42 +00:00
isset.h remove a few compiler warnings 2017-04-28 13:55:00 +00:00
json.c don't need fmt.h 2023-03-27 12:52:22 +00:00
likely.h add iarray 2009-03-12 21:32:43 +00:00
mmap.h mmap_private opens the file for reading, not for writing 2020-12-07 15:00:54 +00:00
ndelay.h make headers work in C++ 2012-02-07 17:02:40 +00:00
open.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
openreadclose.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
parse.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
rangecheck.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
readclose.h get rid of more -Wconversion warnings 2014-03-14 19:42:54 +00:00
safemult.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
scan.h add sandboxing hints 2022-04-25 14:20:36 +00:00
select.h1 monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 2002-09-16 01:09:56 +00:00
select.h2 more BSD compat 2003-09-06 00:03:27 +00:00
socket.h now that gcc 11's static analyzer looks at array bounds in arguments 2021-04-27 17:39:42 +00:00
str.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
stralloc.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
t.c less compiler warnings 2021-04-24 12:33:33 +00:00
tai.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
taia.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
textcode.h add compiler.h to abstract gcc attributes 2020-11-08 00:29:35 +00:00
tryaccept4.c OSX does not have accept4 :( 2021-04-22 11:02:44 +00:00
tryalloca.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trybsdsf.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trydevpoll.c explicitly give main's return type 2022-09-18 19:39:06 +00:00
tryepoll.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
tryinline.c change a few // comments back to /* */ for older compilers 2023-01-21 16:23:58 +00:00
tryip6.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trykqueue.c also be more c99 compliant on non-linux platforms :-) 2023-03-15 13:17:16 +00:00
tryn2i.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trypoll.c be more C99 compliant (Florian Weimer) 2022-12-13 20:02:46 +00:00
trypread.c add pread test 2016-06-23 19:43:00 +00:00
tryscope.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trysendfile.c be more C99 compliant (Florian Weimer) 2022-12-13 20:02:46 +00:00
trysigio.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trysl.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trysocket.c $ make WERROR=-Werror now builds with -Werror 2014-03-13 22:25:20 +00:00
trysysel.c monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 2002-09-16 01:09:56 +00:00
tryuint128.c add tryuing128.c and ignore haveuint128.h 2013-08-22 23:45:52 +00:00
uint16.h add C++ convenience overloads to uint*.h 2023-07-20 08:11:55 +00:00
uint32.h add C++ convenience overloads to uint*.h 2023-07-20 08:11:55 +00:00
uint64.h add C++ convenience overloads to uint*.h 2023-07-20 08:11:55 +00:00
va_narg.h for installed header files, add comment saying where they came from 2010-06-03 22:46:59 +00:00
windoze.h fix some bugs that cppcheck found 2014-05-07 23:51:24 +00:00

README

libowfat is a library of general purpose APIs extracted from Dan
Bernstein's software, reimplemented and covered by the GNU General
Public License Version 2 (no later versions).

The API has been slightly extended (for example, I provide a uint32_read
function, and I extended the socket API to support IPv6) where I found
it necessary or beneficial in a specific project.

Many of the functions I implement here have since been placed in the
public domain, so there are other sources to get this code (except for
my extensions obviously).  The implementations here may not be as
portable as the original versions; I tend to focus on the Single Unix
Specification and not on some obsolete legacy systems found in the
basements of some vintage hardware clubs.

I also provide man pages for many functions, mostly extracted from Dan's
web documentation or documentation found in earlier versions of his
software.  For some reason, he abandoned man pages in favor of HTML
recently.

On July 4 2002, Dan also placed his DNS routines and supporting
low level functions in the public domain, so I copy them here instead of
reimplementing them.  http://online.securityfocus.com/archive/1/280642
has an online version of the bugtraq posting.

The author can be reached under felix-libowfat@fefe.de