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 41db97d380 improve json escape decoder, add test suite 8 years ago
array small buffer optimization 10 years ago
buffer remove unnecessary x86intrin.h include 8 years ago
byte shut up new gcc 6 warnings 9 years ago
case switch to size_t and ssize_t 18 years ago
cdb test for pread and use it instead of lseek+read in cdb and io_mmapwritefile 9 years ago
critbit also install critbit.h 10 years ago
dns shut up new gcc 6 warnings 9 years ago
examples include <foo> -> include "foo" 9 years ago
fmt another gcc 6 warning fix 9 years ago
io some more eagain handling in tryread and trywrite 8 years ago
mmap instead of calling mmap with a size of 0 (which will fail), skip the 8 years ago
mult another gcc 6 warning fix 9 years ago
open get rid of more -Wconversion warnings 11 years ago
scan osx 9 years ago
socket add #include <string.h> for memset/strcpy 8 years ago
str shut up new gcc 6 warnings 9 years ago
stralloc shut up new gcc 6 warnings 9 years ago
tai get rid of more -Wconversion warnings 11 years ago
taia get rid of more -Wconversion warnings 11 years ago
test improve json escape decoder, add test suite 8 years ago
textcode improve json escape decoder, add test suite 8 years ago
uint remove compiler warnings 11 years ago
unix get rid of more -Wconversion warnings 11 years ago
.cvsignore put includes into <libowfat/*.h> 8 years ago
CAS.h fix compile error 11 years ago
CHANGES move headers to <libowfat/> upon install 8 years ago
COPYING Initial revision 24 years ago
GNUmakefile scan_jsonescape ends when it sees an unescaped " 8 years ago
Makefile put includes into <libowfat/*.h> 8 years ago
README mention my email address 22 years ago
TODO fix for NetBSD 3.0 (they broke their sys/types.h) 19 years ago
array.h make headers work in C++ 13 years ago
buffer.h small buffer optimization 10 years ago
byte.h define UNALIGNED_ACCESS_OK on x86 11 years ago
case.h make headers work in C++ 13 years ago
cdb.h make headers work in C++ 13 years ago
cdb_make.h make headers work in C++ 13 years ago
compiletimeassert.h add compiletimeassert.h 12 years ago
critbit.h make critbit0_contains as pure 10 years ago
dns.h get rid of more -Wconversion warnings 11 years ago
ent.c fix operator precedence 9 years ago
entities.json $ make WERROR=-Werror now builds with -Werror 11 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 marshaling code for protocol buffers 9 years ago
iarray.h fix and document iarray 11 years ago
io.h hopefully fix the infinite loop in gatling 10 years ago
io_internal.h add deferral code 8 years ago
iob.h make headers work in C++ 13 years 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 get rid of more -Wconversion warnings 11 years ago
ip6.h get rid of more -Wconversion warnings 11 years ago
isset.h add awesome hack in isset.h (comex, Linus Torvalds) 13 years ago
likely.h add iarray 16 years ago
mmap.h add mmap_readat 8 years ago
ndelay.h make headers work in C++ 13 years ago
open.h make headers work in C++ 13 years ago
openreadclose.h make headers work in C++ 13 years ago
rangecheck.h add gcc 5 integer overflow intrinsics support to rangecheck.h 9 years ago
readclose.h get rid of more -Wconversion warnings 11 years ago
safemult.h use static inline instead of extern inline 9 years ago
scan.h add marshaling code for protocol buffers 9 years ago
select.h1 monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 23 years ago
select.h2 more BSD compat 22 years ago
socket.h add socket_udp4b and socket_udp6b 9 years ago
str.h make headers work in C++ 13 years ago
stralloc.h more constness for stralloc and buffer 10 years ago
t.c check new json encoding 8 years ago
tai.h make headers work in C++ 13 years ago
taia.h make headers work in C++ 13 years ago
textcode.h add base64url support (forgot header) 9 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 broken lose32 port using mingw (don't use!!!) 21 years ago
tryepoll.c $ make WERROR=-Werror now builds with -Werror 11 years ago
tryinline.c work around compilers that don't understand "static inline" 23 years ago
tryip6.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trykqueue.c add epoll and kqueue tests 22 years ago
tryn2i.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trypoll.c monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 23 years ago
trypread.c add pread test 9 years ago
tryscope.c $ make WERROR=-Werror now builds with -Werror 11 years ago
trysendfile.c $ make WERROR=-Werror now builds with -Werror 11 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 23 years ago
tryuint128.c add tryuing128.c and ignore haveuint128.h 11 years ago
uint16.h make headers work in C++ 13 years ago
uint32.h make headers work in C++ 13 years ago
uint64.h make headers work in C++ 13 years 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