annotate doxygen/page-portability.c @ 236:4896bb07a8db

core: add pprintf function
author David Demelier <markand@malikania.fr>
date Fri, 27 Nov 2020 13:31:16 +0100
parents eb0a7ab71023
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
169
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /**
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * \page portability Portability
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 * \tableofcontents
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 * A note about portability in Molko's Adventure API.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * # C standard used
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 * The code is based mostly written in C99 with a subset of C11. The following
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * features from C11 are required:
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * - `<stdnoreturn.h>` header.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 * # POSIX
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 * A few routines from the POSIX specification are also used:
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 * - `<sys/stat.h>` header.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 * - `read(2)` function.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 * - `open(2)` function.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 * - `getopt(3)`,
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 * - `fmemopen(3)`.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 * Efforts are ongoing to provide fallback implementations for systems that lack
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 * those functionalities.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 * # System tested
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 * - macOS (10.15 and later),
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 * - Linux (glibc and musl variants),
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 * - FreeBSD, NetBSD and OpenBSD.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 *
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 * Windows is currently not supported right now but will be in the future.
eb0a7ab71023 misc: extreme cleanup, closes #2506
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 */