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 c080055248 make the accepted connections non-blocking, too 22 years ago
array write a small socket server with io_wait integration and add and debug 22 years ago
buffer add long long buffer routines 22 years ago
byte change length or size specifiers in APIs from int to long 22 years ago
case change case_*b from char* to void* so it is function pointer compatible 22 years ago
dns EPROTO -> EINVAL for BSD backwards compatibility (did I mention that BSD *sucks*?) 22 years ago
fmt change length or size specifiers in APIs from int to long 22 years ago
io fix 22 years ago
mmap document error signalling through (void*)0 return code. 23 years ago
mult reverse return code for safemult API to conform to newer djb APIs 22 years ago
open even more man pages 23 years ago
scan change length or size specifiers in APIs from int to long 22 years ago
socket more BSD compat 22 years ago
str change length or size specifiers in APIs from int to long 22 years ago
stralloc add stralloc_diff and stralloc_diffs 22 years ago
tai even more man pages 23 years ago
taia add long long buffer routines 22 years ago
test make the accepted connections non-blocking, too 22 years ago
textcode add html encoders 22 years ago
uint more man page typos 22 years ago
unix man pages gave wrong include path (Hynek Schlawack) 22 years ago
.cvsignore cvsignore the new tests and remove their results in make clean 22 years ago
CHANGES brag about my io exploits ;) 22 years ago
COPYING Initial revision 24 years ago
GNUmakefile more kqueue/epoll 22 years ago
README mention my email address 22 years ago
array.h add long long buffer routines 22 years ago
buffer.h add long long buffer routines 22 years ago
byte.h change length or size specifiers in APIs from int to long 22 years ago
case.h change case_*b from char* to void* so it is function pointer compatible 22 years ago
dns.h man pages for the DNS routines, too 23 years ago
fmt.h change length or size specifiers in APIs from int to long 22 years ago
io.h write a small socket server with io_wait integration and add and debug 22 years ago
io_internal.h more kqueue/epoll 22 years ago
iopause.h1 monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 23 years ago
iopause.h2 use sys/poll.h instead of poll.h for iopause 22 years ago
ip4.h renamed ip[46]_fmt to fmt_ip[46] 24 years ago
ip6.h Lots of good clean-ups from Jukka Zitting! 23 years ago
mmap.h wrong prototype 22 years ago
ndelay.h Initial revision 24 years ago
open.h remove __THROW 23 years ago
openreadclose.h monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 23 years ago
readclose.h monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 23 years ago
safemult.h reverse return code for safemult API to conform to newer djb APIs 22 years ago
scan.h change length or size specifiers in APIs from int to long 22 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 extended socket API; you can now pass NULL to ignore results you don't 22 years ago
str.h change length or size specifiers in APIs from int to long 22 years ago
stralloc.h better and more predication, improved documentation 22 years ago
t.c use sys/poll.h instead of poll.h for iopause 22 years ago
tai.h add long long buffer routines 22 years ago
taia.h add long long buffer routines 22 years ago
textcode.h add html encoders 22 years ago
tryepoll.c add epoll and kqueue tests 22 years ago
tryinline.c work around compilers that don't understand "static inline" 23 years ago
tryip6.c test for ipv6 and if_name2index and socklen_t. 23 years ago
trykqueue.c add epoll and kqueue tests 22 years ago
tryn2i.c test for ipv6 and if_name2index and socklen_t. 23 years ago
trypoll.c monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 23 years ago
trysl.c test for ipv6 and if_name2index and socklen_t. 23 years ago
trysysel.c monster update: add tai, taia, iopause, case, and ipv6 enhanced dns 23 years ago
uint16.h add API for integer multiplication with overflow detection 22 years ago
uint32.h add API for integer multiplication with overflow detection 22 years ago
uint64.h add int64 type to uint64.h 22 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