Registry server LDB backend: Don't make copies of the same type
[ab/samba.git/.git] / 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 setlinebuf
19 vsyslog
20 timegm
21 setenv
22 unsetenv
23 strndup
24 strnlen
25 waitpid
26 seteuid
27 setegid
28 asprintf
29 snprintf
30 vasprintf
31 vsnprintf
32 opendir
33 readdir
34 telldir
35 seekdir
36 closedir
37 dlopen
38 dlclose
39 dlsym
40 dlerror
41 chroot
42 bzero
43 strerror
44 errno
45 mkdtemp
46 mkstemp (a secure one!)
47 pread
48 pwrite
49 getpass
50 readline (the library)
51 inet_ntoa
52 inet_ntop
53 inet_pton
54 inet_aton
55 strtoll
56 strtoull
57 socketpair
58 strptime
59 getaddrinfo
60 freeaddrinfo
61 getnameinfo
62 gai_strerror
63 getifaddrs
64 freeifaddrs
65 utime
66 utimes
67
68 Types:
69 bool
70 socklen_t
71 uint_t
72 uint{8,16,32,64}_t
73 int{8,16,32,64}_t
74 intptr_t
75
76 Constants:
77 PATH_NAME_MAX
78 UINT{16,32,64}_MAX
79 INT32_MAX
80 RTLD_LAZY
81 HOST_NAME_MAX
82 UINT16_MAX
83 UINT32_MAX
84 UINT64_MAX
85 CHAR_BIT
86
87 Macros:
88 va_copy
89 __FUNCTION__
90 __FILE__
91 __LINE__
92 __LINESTR__
93 __location__
94 __STRING
95 __STRINGSTRING
96 MIN
97 MAX
98 QSORT_CAST
99 ZERO_STRUCT
100 ZERO_STRUCTP
101 ZERO_STRUCTPN
102 ZERO_ARRAY
103 ARRAY_SIZE
104 PTR_DIFF
105
106 Headers:
107 stdint.h
108 stdbool.h
109
110 Prerequisites:
111 memset (for bzero)
112 syslog (for vsyslog)
113 mktemp (for mkstemp and mkdtemp)