ATLAS Offline Software
SealCommon.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
12 #ifndef CXXUTILS_SEAL_COMMON_H
13 #define CXXUTILS_SEAL_COMMON_H
14 
15 // start copy from "SealBase/sysapi/IOTypes.h"
17 #ifdef _WIN32
18 #define IOFD_INVALID (void *)-1
19 #else
20 #define IOFD_INVALID -1
21 #endif
22 
24 #ifdef _WIN32
25 typedef void *IOFD;
26 #else
27 typedef int IOFD;
28 #endif
29 // end copy from IOTypes
30 
31 
32 // platform specific defines from SealPlatform/config.h
33 #ifdef __linux__
34 
35 /* C++ features --------------------------------------------------------- */
36 
37 /* Define if you have standard C++ C headers like <cstdlib>. */
38 #define HAVE_CXX_STDC_HEADERS 1
39 
40 /* Signals -------------------------------------------------------------- */
41 
42 /* Define if you have POSIX signal stuff. */
43 #define HAVE_POSIX_SIGNALS 1
44 
45 /* Define if you have POSIX real-time signal stuff. */
46 #define HAVE_POSIX_RT_SIGNALS 1
47 
48 /* Define if you have the strsignal function. */
49 #define HAVE_STRSIGNAL 1
50 #define HAVE_STRSIGNAL_DECL 1
51 
52 /* Define if you have raise. */
53 #define HAVE_RAISE 1
54 #define HAVE_RAISE_DECL 1
55 
56 /* Define if you have sys_siglist in <signal.h>. */
57 #define HAVE_SYS_SIGLIST 1
58 
59 /* Resource information ------------------------------------------------- */
60 
61 /* Define if you have program_invocation_name. */
62 #define HAVE_PROGRAM_INVOCATION_NAME 1
63 
64 /* Stack tracing -------------------------------------------------------- */
65 
66 /* Define if you have pstack (usually in /usr/proc/bin) to the full
67  path of that program. */
68 #define PROG_PSTACK "/usr/bin/pstack"
69 
70 /* Define if you have c++filt to the full path of that program. */
71 #define PROG_CXXFILT "/usr/bin/c++filt"
72 
73 /* Define if you have backtrace and backtrace_symbols_fd (glibc 2.1). */
74 #define HAVE_BACKTRACE_SYMBOLS_FD 1
75 
76 /* Dynamic linker ------------------------------------------------------- */
77 
78 /* Define if `dlopen' exists. */
79 #define HAVE_DLOPEN 1
80 #define HAVE_DLOPEN_DECL 1
81 
82 /* Define if you have the <link.h> header file. */
83 #define HAVE_LINK_H 1
84 
85 /* Define if `dladdr' exists. */
86 #define HAVE_DLADDR 1
87 #define HAVE_DLADDR_DECL 1
88 
89 /* Define if `_r_debug' exists. */
90 // note: leave undefined on SLC4 b/c of binutils problems
91 #define HAVE_R_DEBUG 1
92 
93 /* Define if you have the <elf.h> header file. */
94 #define HAVE_ELF_H 1
95 
96 #endif // __linux
97 
98 
99 // platform specific defines from SealPlatform/config.h
100 #ifdef __APPLE__
101 
102 /* C++ features --------------------------------------------------------- */
103 #define HAVE_R_DEBUG 1
104 
105 /* Define if you have standard C++ C headers like <cstdlib>. */
106 #define HAVE_CXX_STDC_HEADERS 1
107 
108 /* Signals -------------------------------------------------------------- */
109 
110 /* Define if you have POSIX signal stuff. */
111 #define HAVE_POSIX_SIGNALS 1
112 
113 /* Define if you have the strsignal function. */
114 #define HAVE_STRSIGNAL 1
115 #define HAVE_STRSIGNAL_DECL 1
116 
117 /* Define if you have raise. */
118 #define HAVE_RAISE 1
119 #define HAVE_RAISE_DECL 1
120 
121 /* Define if you have sys_siglist in <signal.h>. */
122 #define HAVE_SYS_SIGLIST 1
123 
124 /* Stack tracing -------------------------------------------------------- */
125 
126 /* Define if you have c++filt to the full path of that program. */
127 #define PROG_CXXFILT "/usr/bin/c++filt"
128 
129 /* Define if you have backtrace and backtrace_symbols_fd (glibc 2.1). */
130 #define HAVE_BACKTRACE_SYMBOLS_FD 1
131 
132 /* Dynamic linker ------------------------------------------------------- */
133 
134 /* Define if `dlopen' exists. */
135 #define HAVE_DLOPEN 1
136 #define HAVE_DLOPEN_DECL 1
137 
138 /* Define if `dladdr' exists. */
139 #define HAVE_DLADDR 1
140 #define HAVE_DLADDR_DECL 1
141 
142 /* Define if you have the <mach-o/dyld.h> header file. */
143 #define HAVE_MACH_O_DYLD_H 1
144 
145 #endif // __APPLE__
146 
147 
148 #if HAVE_LOAD
149 # define PATH "LIBPATH"
150 #elif HAVE_DLOPEN
151 # if defined __APPLE__ && defined __MACH__
152 # define PATH "DYLD_LIBRARY_PATH"
153 # else
154 # define PATH "LD_LIBRARY_PATH"
155 # endif
156 #elif HAVE_SHL_LOAD
157 # define PATH "SHLIB_PATH"
158 #elif defined _WIN32
159 # define PATH "PATH"
160 #else
161 # define PATH 0
162 #endif
163 // end copy from SealBase/sysapi/SharedLibrary.h
164 
165 
166 // start copy from SealPlatform/system.h
167 #if HAVE_CXX_STDC_HEADERS
168 # define STDC std
169 #else
170 # define STDC
171 #endif
172 // end copy from SealPlatform/system.h
173 
174 
175 // start copy from SealBase/sysapi/ElfAbi.h
176 # ifndef _WIN32
177 # if HAVE_LOADER_H
178 # include <loader.h>
179 # endif
180 # if HAVE_LINK_H
181 # include <link.h>
182 # include <limits.h>
183 # include <sys/stat.h>
184 # include <unistd.h>
185 # endif
186 # if HAVE_SGIDEFS_H // irix n32, 64
187 # include <sgidefs.h>
188 # include <objlist.h>
189 # include <obj_list.h>
190 # include <obj.h>
191 # endif
192 # if HAVE_ELF_H
193 # include <elf.h>
194 # endif
195 # endif // ! _WIN32
196 
197 //<<<<<< PUBLIC DEFINES >>>>>>
198 
199 #if /* irix */ (defined ABI64 || defined _ABI64 || \
200  (defined _MIPS_SIM && _MIPS_SIM == _MIPS_SIM_ABI64)) \
201  /* solaris */ || (defined sparcv9 || defined _sparcv9 \
202  || defined __sparcv9 || defined __sparcv9__) \
203  /* tru64 */ || (defined arch64 || defined _arch64 || \
204  defined __arch64 || defined __arch64__)
205 # define ELF_ABI 64
206 #else
207 # define ELF_ABI 32
208 #endif
209 #ifndef ElfW
210 # define ElfW(type) ElfW1(Elf,ELF_ABI,type)
211 # define ElfW1(e,w,t) ElfW2(Elf,w,_##t)
212 # define ElfW2(e,w,t) e ## w ## t
213 #endif
214 // end copy from SealBase/sysapi/ElfAbi.h
215 
216 #endif // CXXUTILS_SEAL_COMMON_H
IOFD
int IOFD
Type the system uses for channel descriptors.
Definition: SealCommon.h:27