r21388: Merge support for providing replacement system headers.
[Samba.git] / source3 / lib / replace / README
blob21cd0051c70dda05cf9890e03e3500380f8bf2fb
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).
8 The following functions are guaranteed:
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 socketpair
57 Types:
58 bool
59 socklen_t
60 uint_t
61 uint{8,16,32,64}_t
62 int{8,16,32,64}_t
63 intptr_t
65 Constants:
66 PATH_NAME_MAX
67 UINT{16,32,64}_MAX
68 INT32_MAX
69 RTLD_LAZY
70 HOST_NAME_MAX
71 UINT16_MAX
72 UINT32_MAX
73 UINT64_MAX
74 CHAR_BIT
76 Macros:
77 va_copy
78 __FUNCTION__
79 __STRING
80 MIN
81 MAX
82 QSORT_CAST
84 Headers:
85 stdint.h
86 stdbool.h
88 Prerequisites:
89 memset (for bzero)
90 syslog (for vsyslog)
91 setnetgrent, getnetgrent, endnetgrent (for innetgr)
92 mktemp (for mkstemp and mkdtemp)