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(__NetBSD__) && defined(__GNUC__)
00052 typedef typeof(SIG_DFL) CoinSighandler_t;
00053 # define CoinSighandler_t_defined
00054 #endif
00055
00056
00057
00058 #if defined(_AIX)
00059 # if defined(__GNUC__)
00060 typedef typeof(SIG_DFL) CoinSighandler_t;
00061 # define CoinSighandler_t_defined
00062 # endif
00063 #endif
00064
00065
00066
00067 #if defined (__hpux)
00068 # define CoinSighandler_t_defined
00069 # if defined(__GNUC__)
00070 typedef typeof(SIG_DFL) CoinSighandler_t;
00071 # else
00072 extern "C" {
00073 typedef void (*CoinSighandler_t) (int);
00074 }
00075 # endif
00076 #endif
00077
00078
00079
00080 #if defined(__sun)
00081 # if defined(__SUNPRO_CC)
00082 # include <signal.h>
00083 extern "C" {
00084 typedef void (*CoinSighandler_t) (int);
00085 }
00086 # define CoinSighandler_t_defined
00087 # endif
00088 # if defined(__GNUC__)
00089 typedef typeof(SIG_DFL) CoinSighandler_t;
00090 # define CoinSighandler_t_defined
00091 # endif
00092 #endif
00093
00094
00095
00096 #if defined(__MACH__) && defined(__GNUC__)
00097 typedef typeof(SIG_DFL) CoinSighandler_t;
00098 # define CoinSighandler_t_defined
00099 #endif
00100
00101
00102
00103 #ifndef CoinSighandler_t_defined
00104 # warning("OS and/or compiler is not recognized. Defaulting to:");
00105 # warning("extern "C" {")
00106 # warning(" typedef void (*CoinSighandler_t) (int);")
00107 # warning("}")
00108 extern "C" {
00109 typedef void (*CoinSighandler_t) (int);
00110 }
00111 #endif
00112
00113
00114
00115 #endif