You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
leitner fdebbb224e update for new files added 6 months ago
array half-hearted improvements to Windows compilability 6 years ago
buffer silence C23 warning 9 months ago
byte add byte_start, byte_starts 4 years ago
case #include <foo.h> -> #include <libowfat/foo.h> 8 years ago
cdb forward changes made in prototypes to actual implementation 4 years ago
critbit gcc 13 -fanalyze run with fixes / comments about false positives 1 year ago
dns use write in buffer_put for a slight perf improvement 7 years ago
examples include <foo> -> include "foo" 9 years ago
fmt gcc 13 -fanalyze run with fixes / comments about false positives 1 year ago
io update iom_add man page, add iom_requeue man page 6 months ago
mmap correct file open mode for mmap_private man page 4 years ago
mult move unit tests into each file (compile with -DUNITTEST) 8 years ago
open more cross references for open_* 4 years ago
scan get rid of gcc compiler warning 8 months ago
socket next try (too late) 7 months ago
str add unit tests, make code more obvious 8 months ago
stralloc gcc 13 -fanalyze run with fixes / comments about false positives 1 year ago
tai #include <foo.h> -> #include <libowfat/foo.h> 8 years ago
taia #include <foo.h> -> #include <libowfat/foo.h> 8 years ago
test test client and server for iom 6 months ago
textcode also escape negative chars (we are in utf-8 land now, no longer latin1) 4 years ago
uint #include <foo.h> -> #include <libowfat/foo.h> 8 years ago
unix use write in buffer_put for a slight perf improvement 7 years ago
.cvsignore auto-generate compile_commands.json for clangd / vim ale 2 years ago
CAS.h remove a few compiler warnings 8 years ago
CHANGES remove unaligned memory access behind #ifdef i386 from uint*.h (compilers are now smart enough so they are no longer needed and they were technically undefined behavior so the sanitizer complained) 9 months ago
COPYING Initial revision 24 years ago
GNUmakefile try to get bsdmake working again 7 months ago
Makefile update for new files added 6 months ago
README mention my email address 22 years ago
TODO mention sendmsg issue 4 years ago
array.h add compiler.h to abstract gcc attributes 4 years ago
buffer.h add buffer_init_allocbuf, buffer_init_read, buffer_init_write, buffer_init_read_allocbuf, buffer_init_write_allocbuf 4 years ago
byte.h add seccomp notice 3 years ago
case.h add compiler.h to abstract gcc attributes 4 years ago
cdb.h add compiler.h to abstract gcc attributes 4 years ago
cdb_make.h add compiler.h to abstract gcc attributes 4 years ago
compile_commands.json.tmpl add entries for new files 6 months ago
compiler.h change a few // comments back to /* */ for older compilers 2 years ago
compiletimeassert.h add compiler.h to abstract gcc attributes 4 years ago
critbit.h add compiler.h to abstract gcc attributes 4 years ago
dns.h now that gcc 11's static analyzer looks at array bounds in arguments 4 years ago
ent.c reduce compiler warnings during unit tests 1 year ago
entities.json update entities.json 2 years ago
errmsg.h make headers work in C++ 13 years ago
errmsg_int.h add errmsg_int.h 19 years ago
fmt.h add sandboxing hints 3 years ago
iarray.h explain a bit what we are trying to do here 3 years ago
io.h add iom_requeue 6 months ago
io_internal.h autofree mode for io_batch 6 months ago
iob.h autofree mode for io_batch 6 months ago
iob_internal.h use callback based infrastructure to reset iob's 17 years ago
iopause.h1 for installed header files, add comment saying where they came from 15 years ago
iopause.h2 for installed header files, add comment saying where they came from 15 years ago
ip4.h now that gcc 11's static analyzer looks at array bounds in arguments 4 years ago
ip6.h now that gcc 11's static analyzer looks at array bounds in arguments 4 years ago
isset.h remove a few compiler warnings 8 years ago
json.c add sanitizers to unit test runs 8 months ago
likely.h add iarray 16 years ago
mmap.h mmap_private opens the file for reading, not for writing 4 years ago
ndelay.h make headers work in C++ 13 years ago
open.h add compiler.h to abstract gcc attributes 4 years ago
openreadclose.h add compiler.h to abstract gcc attributes 4 years ago
parse.h add compiler.h to abstract gcc attributes 4 years ago
rangecheck.h add compiler.h to abstract gcc attributes 4 years ago
readclose.h get rid of more -Wconversion warnings 11 years ago
safemult.h add compiler.h to abstract gcc attributes 4 years ago
scan.h add sandboxing hints 3 years ago
select.h1 remove k&r prototype 6 months ago
select.h2 remove k&r prototype 6 months ago
socket.h now that gcc 11's static analyzer looks at array bounds in arguments 4 years ago
str.h add compiler.h to abstract gcc attributes 4 years ago
stralloc.h add compiler.h to abstract gcc attributes 4 years ago
t.c less compiler warnings 4 years ago
tai.h add compiler.h to abstract gcc attributes 4 years ago
taia.h add compiler.h to abstract gcc attributes 4 years ago
textcode.h add compiler.h to abstract gcc attributes 4 years ago
tryaccept4.c OSX does not have accept4 :( 4 years ago
tryalloca.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trybsdsf.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trydevpoll.c explicitly give main's return type 2 years ago
tryepoll.c $ make WERROR=-Werror now builds with -Werror 11 years ago
tryinline.c change a few // comments back to /* */ for older compilers 2 years ago
tryip6.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trykqueue.c also be more c99 compliant on non-linux platforms :-) 2 years ago
tryn2i.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trypoll.c be more C99 compliant (Florian Weimer) 2 years ago
trypread.c add pread test 8 years ago
tryscope.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trysendfile.c be more C99 compliant (Florian Weimer) 2 years ago
trysigio.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trysl.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trysocket.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trysysel.c monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 22 years ago
trythrds.c see if threads.h is there 6 months ago
tryuint128.c add tryuing128.c and ignore haveuint128.h 11 years ago
uint16.h remove unaligned write for #ifdef i386 (it was technically undefined 9 months ago
uint32.h remove unaligned write for #ifdef i386 (it was technically undefined 9 months ago
uint64.h remove unaligned write for #ifdef i386 (it was technically undefined 9 months ago
va_narg.h for installed header files, add comment saying where they came from 15 years ago
windoze.h fix some bugs that cppcheck found 11 years ago

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