pacemaker  3.0.0-d8340737c4
Scalable High-Availability cluster resource manager
portability.h
Go to the documentation of this file.
1 /*
2  * Copyright 2001-2024 the Pacemaker project contributors
3  *
4  * The version control history for this file may have further details.
5  *
6  * This source code is licensed under the GNU Lesser General Public License
7  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8  */
9 #ifndef PCMK__PORTABILITY__H
10 # define PCMK__PORTABILITY__H
11 
12 /* This header provides replacements for required definitions and declarations
13  * that certain supported build environments don't provide
14  */
15 
16 /* This header *MUST* be included before any system headers, because the
17  * following definition can change the behavior of some of them.
18  */
19 # undef _GNU_SOURCE /* in case it was defined on the command line */
20 # define _GNU_SOURCE
21 
22 /* Please leave this as the first #include - Solaris needs it there */
23 # ifdef HAVE_CONFIG_H
24 # ifndef PCMK__CONFIG_H
25 # define PCMK__CONFIG_H
26 # include <config.h>
27 # endif
28 # endif
29 
30 // Replacement constants for Linux-specific errno values
31 
32 # include <errno.h>
33 
34 # ifndef ENOTUNIQ
35 # define PCMK__ENOTUNIQ
36 # define ENOTUNIQ 190
37 # endif
38 
39 # ifndef ECOMM
40 # define PCMK__ECOMM
41 # define ECOMM 191
42 # endif
43 
44 # ifndef ELIBACC
45 # define PCMK__ELIBACC
46 # define ELIBACC 192
47 # endif
48 
49 # ifndef EREMOTEIO
50 # define PCMK__EREMOTIO
51 # define EREMOTEIO 193
52 # endif
53 
54 # ifndef ENOKEY
55 # define PCMK__ENOKEY
56 # define ENOKEY 195
57 # endif
58 
59 # ifndef ENODATA
60 # define PCMK__ENODATA
61 # define ENODATA 196
62 # endif
63 
64 # ifndef ETIME
65 # define PCMK__ETIME
66 # define ETIME 197
67 # endif
68 
69 # ifndef EKEYREJECTED
70 # define PCMK__EKEYREJECTED
71 # define EKEYREJECTED 200
72 # endif
73 
74 #endif // PCMK__PORTABILITY__H