77558b2ca96718f95c3e58a950b0697f1c685e70
[jelmer/samba4-debian.git] / source / 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 initgroups
16 memmove
17 strdup
18 inet_ntoa
19 setlinebuf
20 vsyslog
21 timegm
22 setenv
23 unsetenv
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
56 strptime
57
58 Types:
59 bool
60 socklen_t
61 uint_t
62 uint{8,16,32,64}_t
63 int{8,16,32,64}_t
64 intptr_t
65
66 Constants:
67 PATH_NAME_MAX
68 UINT{16,32,64}_MAX
69 INT32_MAX
70 RTLD_LAZY
71 HOST_NAME_MAX
72 UINT16_MAX
73 UINT32_MAX
74 UINT64_MAX
75 CHAR_BIT
76
77 Macros:
78 va_copy
79 __FUNCTION__
80 __FILE__
81 __LINE__
82 __LINESTR__
83 __location__
84 __STRING
85 __STRINGSTRING
86 MIN
87 MAX
88 QSORT_CAST
89 ZERO_STRUCT
90 ZERO_STRUCTP
91 ZERO_STRUCTPN
92 ZERO_ARRAY
93 ARRAY_SIZE
94 PTR_DIFF
95
96 Headers:
97 stdint.h
98 stdbool.h
99
100 Prerequisites:
101 memset (for bzero)
102 syslog (for vsyslog)
103 mktemp (for mkstemp and mkdtemp)