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