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(_AIX)
00038 # if defined(__GNUC__)
00039 typedef typeof(SIG_DFL) CoinSighandler_t;
00040 # define CoinSighandler_t_defined
00041 # endif
00042 #endif
00043
00044
00045
00046 #if defined(__sparc) && defined(__sun)
00047 # if defined(__SUNPRO_CC)
00048 # include <signal.h>
00049 extern "C" {
00050 typedef void (*CoinSighandler_t) (int);
00051 }
00052 # define CoinSighandler_t_defined
00053 # endif
00054 # if defined(__GNUC__)
00055 typedef typeof(SIG_DFL) CoinSighandler_t;
00056 # define CoinSighandler_t_defined
00057 # endif
00058 #endif
00059
00060
00061
00062 #if defined(__MACH__) && defined(__GNUC__)
00063 typedef typeof(SIG_DFL) CoinSighandler_t;
00064 # define CoinSighandler_t_defined
00065 #endif
00066
00067
00068
00069 #ifndef CoinSighandler_t_defined
00070 # warning("OS and/or compiler is not recognized. Defaulting to:");
00071 # warning("extern "C" {")
00072 # warning(" typedef void (*CoinSighandler_t) (int);")
00073 # warning("}")
00074 extern "C" {
00075 typedef void (*CoinSighandler_t) (int);
00076 }
00077 #endif
00078
00079
00080
00081 #endif