README
1This subsystem ensures that we can always use a certain core set of
2functions and types, that are either provided by the OS or by replacement
3functions / definitions in this subsystem. The aim is to try to stick
4to POSIX functions in here as much as possible. Convenience functions
5that are available on no platform at all belong in other subsystems
6(such as LIBUTIL).
7
8The following functions are guaranteed:
9
10ftruncate
11strlcpy
12strlcat
13mktime
14rename
15initgroups
16memmove
17strdup
18inet_ntoa
19setlinebuf
20vsyslog
21timegm
22setenv
23unsetenv
24strndup
25strnlen
26waitpid
27seteuid
28setegid
29asprintf
30snprintf
31vasprintf
32vsnprintf
33opendir
34readdir
35telldir
36seekdir
37closedir
38dlopen
39dlclose
40dlsym
41dlerror
42chroot
43bzero
44strerror
45errno
46mkdtemp
47mkstemp (a secure one!)
48pread
49pwrite
50getpass
51readline (the library)
52inet_ntoa
53strtoll
54strtoull
55socketpair
56strptime
57
58Types:
59bool
60socklen_t
61uint_t
62uint{8,16,32,64}_t
63int{8,16,32,64}_t
64intptr_t
65
66Constants:
67PATH_NAME_MAX
68UINT{16,32,64}_MAX
69INT32_MAX
70RTLD_LAZY
71HOST_NAME_MAX
72UINT16_MAX
73UINT32_MAX
74UINT64_MAX
75CHAR_BIT
76
77Macros:
78va_copy
79__FUNCTION__
80__FILE__
81__LINE__
82__LINESTR__
83__location__
84__STRING
85__STRINGSTRING
86MIN
87MAX
88QSORT_CAST
89ZERO_STRUCT
90ZERO_STRUCTP
91ZERO_STRUCTPN
92ZERO_ARRAY
93ARRAY_SIZE
94PTR_DIFF
95
96Headers:
97stdint.h
98stdbool.h
99
100Prerequisites:
101memset (for bzero)
102syslog (for vsyslog)
103mktemp (for mkstemp and mkdtemp)
104