00001
00002
00003
00004 #ifndef _CoinSignal_hpp
00005 #define _CoinSignal_hpp
00006
00007
00008
00009
00010
00011
00012 #include <csignal>
00013
00014
00015
00016 #if defined(_MSC_VER)
00017 typedef void (__cdecl *CoinSighandler_t) (int);
00018 # define CoinSighandler_t_defined
00019 #endif
00020
00021
00022
00023 #if (defined(__GNUC__) && defined(__linux__))
00024 typedef typeof(SIG_DFL) CoinSighandler_t;
00025 # define CoinSighandler_t_defined
00026 #endif
00027
00028
00029
00030 #if defined(__CYGWIN__) && defined(__GNUC__)
00031 typedef typeof(SIG_DFL) CoinSighandler_t;
00032 # define CoinSighandler_t_defined
00033 #endif
00034
00035
00036
00037 #if defined(__MINGW32__) && defined(__GNUC__)
00038 typedef typeof(SIG_DFL) CoinSighandler_t;
00039 # define CoinSighandler_t_defined
00040 #endif
00041
00042
00043
00044 #if defined(__FreeBSD__) && defined(__GNUC__)
00045 typedef typeof(SIG_DFL) CoinSighandler_t;
00046 # define CoinSighandler_t_defined
00047 #endif
00048
00049
00050
00051 #if defined(_AIX)
00052 # if defined(__GNUC__)
00053 typedef typeof(SIG_DFL) CoinSighandler_t;
00054 # define CoinSighandler_t_defined
00055 # endif
00056 #endif
00057
00058
00059
00060 #if defined (__hpux)
00061 # define CoinSighandler_t_defined
00062 # if defined(__GNUC__)
00063 typedef typeof(SIG_DFL) CoinSighandler_t;
00064 # else
00065 extern "C" {
00066 typedef void (*CoinSighandler_t) (int);
00067 }
00068 # endif
00069 #endif
00070
00071
00072
00073 #if defined(__sun)
00074 # if defined(__SUNPRO_CC)
00075 # include <signal.h>
00076 extern "C" {
00077 typedef void (*CoinSighandler_t) (int);
00078 }
00079 # define CoinSighandler_t_defined
00080 # endif
00081 # if defined(__GNUC__)
00082 typedef typeof(SIG_DFL) CoinSighandler_t;
00083 # define CoinSighandler_t_defined
00084 # endif
00085 #endif
00086
00087
00088
00089 #if defined(__MACH__) && defined(__GNUC__)
00090 typedef typeof(SIG_DFL) CoinSighandler_t;
00091 # define CoinSighandler_t_defined
00092 #endif
00093
00094
00095
00096 #ifndef CoinSighandler_t_defined
00097 # warning("OS and/or compiler is not recognized. Defaulting to:");
00098 # warning("extern "C" {")
00099 # warning(" typedef void (*CoinSighandler_t) (int);")
00100 # warning("}")
00101 extern "C" {
00102 typedef void (*CoinSighandler_t) (int);
00103 }
00104 #endif
00105
00106
00107
00108 #endif