TMP: add a ctdb snapshot of current ctdb master (git://git.samba.org/ctdb.git) to...
[obnox/samba/samba-obnox.git] / ctdb / 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 inet_ntop
54 inet_pton
55 strtoll
56 strtoull
57 socketpair
58 strptime
59 getaddrinfo
60 freeaddrinfo
61 getnameinfo
62 gai_strerror
63 getifaddrs
64 freeifaddrs
65
66 Types:
67 bool
68 socklen_t
69 uint_t
70 uint{8,16,32,64}_t
71 int{8,16,32,64}_t
72 intptr_t
73
74 Constants:
75 PATH_NAME_MAX
76 UINT{16,32,64}_MAX
77 INT32_MAX
78 RTLD_LAZY
79 HOST_NAME_MAX
80 UINT16_MAX
81 UINT32_MAX
82 UINT64_MAX
83 CHAR_BIT
84
85 Macros:
86 va_copy
87 __FUNCTION__
88 __FILE__
89 __LINE__
90 __LINESTR__
91 __location__
92 __STRING
93 __STRINGSTRING
94 MIN
95 MAX
96 QSORT_CAST
97 ZERO_STRUCT
98 ZERO_STRUCTP
99 ZERO_STRUCTPN
100 ZERO_ARRAY
101 ARRAY_SIZE
102 PTR_DIFF
103
104 Headers:
105 stdint.h
106 stdbool.h
107
108 Prerequisites:
109 memset (for bzero)
110 syslog (for vsyslog)
111 mktemp (for mkstemp and mkdtemp)