NOTES-POSIX.md revision 1.1.1.1 1 1.1 christos Notes on POSIX
2 1.1 christos ==============
3 1.1 christos
4 1.1 christos There are few instances where OpenSSL requires a POSIX C library, at least
5 1.1 christos version 1-2008, or compatible enough functionality.
6 1.1 christos
7 1.1 christos There are exceptions, though, for platforms that do not have a POSIX
8 1.1 christos library, or where there are quirks that need working around. A notable
9 1.1 christos platform is Windows, where POSIX functionality may be available, but where
10 1.1 christos the function names are prefixed with an underscore, and where some POSIX
11 1.1 christos types are not present (such as `ssize_t`).
12 1.1 christos
13 1.1 christos Platforms that do have a POSIX library may still not have them accessible
14 1.1 christos unless the following macros are defined:
15 1.1 christos
16 1.1 christos _POSIX_C_SOURCE=200809L
17 1.1 christos _XOPEN_SOURCE=1
18 1.1 christos
19 1.1 christos This is, for example, the case when building with gcc or clang and using the
20 1.1 christos flag `-ansi`.
21