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