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 5dbad67352 autofree mode for io_batch 10 months ago
array half-hearted improvements to Windows compilability 6 years ago
buffer silence C23 warning 1 year 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
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 2 years ago
io autofree mode for io_batch 10 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 11 months ago
socket next try (too late) 10 months ago
str add unit tests, make code more obvious 11 months ago
stralloc gcc 13 -fanalyze run with fixes / comments about false positives 2 years ago
tai #include <foo.h> -> #include <libowfat/foo.h> 8 years ago
taia #include <foo.h> -> #include <libowfat/foo.h> 8 years ago
test autofree mode for io_batch 10 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
COPYING
GNUmakefile try to get bsdmake working again 10 months ago
Makefile
README mention my email address 23 years ago
TODO mention sendmsg issue 4 years ago
array.h
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
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
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
errmsg.h make headers work in C++ 13 years ago
errmsg_int.h add errmsg_int.h 20 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 try to accomodate apple 10 months ago
io_internal.h autofree mode for io_batch 10 months ago
iob.h autofree mode for io_batch 10 months ago
iob_internal.h use callback based infrastructure to reset iob's 18 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
json.c add sanitizers to unit test runs 11 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
parse.h
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
select.h2
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
trykqueue.c also be more c99 compliant on non-linux platforms :-) 2 years ago
tryn2i.c
trypoll.c
trypread.c add pread test 9 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
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 23 years ago
trythrds.c see if threads.h is there 10 months ago
tryuint128.c add tryuing128.c and ignore haveuint128.h 12 years ago
uint16.h remove unaligned write for #ifdef i386 (it was technically undefined 12 months ago
uint32.h remove unaligned write for #ifdef i386 (it was technically undefined 12 months ago
uint64.h remove unaligned write for #ifdef i386 (it was technically undefined 12 months ago
va_narg.h
windoze.h

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