blob: a789f66b8148579d13049e2a1a439eef5150a0da (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
This subsystem ensures that we can always use a certain core set of
functions and types, that are either provided by the OS or by replacement
functions / definitions in this subsystem. The aim is to try to stick
to POSIX functions in here as much as possible. Convenience functions
that are available on no platform at all belong in different subsystems
(such as LIBUTIL).
The following functions are guarenteed:
ftruncate
strlcpy
strlcat
mktime
rename
innetgr
initgroups
memmove
strdup
inet_ntoa
setlinebuf
vsyslog
timegm
setenv
strtoull
strtoll
strndup
strnlen
waitpid
seteuid
setegid
asprintf
snprintf
vasprintf
vsnprintf
opendir
readdir
telldir
seekdir
closedir
dlopen
dlclose
dlsym
dlerror
chroot
bzero
strerror
errno
mkstemp (a secure one!)
pread
pwrite
getpass
readline (the library)
Types:
bool
socklen_t
u_int{8,16,32}_t
uint_t
uint{8,16,32,64}_t
int{8,16,32,64}_t
Constants:
PATH_NAME_MAX
UINT16_MAX
UINT32_MAX
UINT64_MAX
Prerequisites:
memset (for bzero)
syslog (for vsyslog)
setnetgrent, getnetgrent, endnetgrent (for innetgr)
mktemp (for mkstemp)
|