CoinUtils
trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2003, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 00006 #ifndef _CoinSignal_hpp 00007 #define _CoinSignal_hpp 00008 00009 // This file is fully docified. 00010 // There's nothing to docify... 00011 00012 //############################################################################# 00013 00014 #include <csignal> 00015 00016 //############################################################################# 00017 00018 #if defined(_MSC_VER) 00019 typedef void (__cdecl *CoinSighandler_t) (int); 00020 # define CoinSighandler_t_defined 00021 #endif 00022 00023 //----------------------------------------------------------------------------- 00024 00025 #if (defined(__GNUC__) && defined(__linux__)) 00026 typedef sighandler_t CoinSighandler_t; 00027 # define CoinSighandler_t_defined 00028 #endif 00029 00030 //----------------------------------------------------------------------------- 00031 00032 #if defined(__CYGWIN__) && defined(__GNUC__) 00033 typedef typeof(SIG_DFL) CoinSighandler_t; 00034 # define CoinSighandler_t_defined 00035 #endif 00036 00037 //----------------------------------------------------------------------------- 00038 00039 #if defined(__MINGW32__) && defined(__GNUC__) 00040 typedef typeof(SIG_DFL) CoinSighandler_t; 00041 # define CoinSighandler_t_defined 00042 #endif 00043 00044 //----------------------------------------------------------------------------- 00045 00046 #if defined(__FreeBSD__) && defined(__GNUC__) 00047 typedef typeof(SIG_DFL) CoinSighandler_t; 00048 # define CoinSighandler_t_defined 00049 #endif 00050 00051 //----------------------------------------------------------------------------- 00052 00053 #if defined(__NetBSD__) && defined(__GNUC__) 00054 typedef typeof(SIG_DFL) CoinSighandler_t; 00055 # define CoinSighandler_t_defined 00056 #endif 00057 00058 //----------------------------------------------------------------------------- 00059 00060 #if defined(_AIX) 00061 # if defined(__GNUC__) 00062 typedef typeof(SIG_DFL) CoinSighandler_t; 00063 # define CoinSighandler_t_defined 00064 # endif 00065 #endif 00066 00067 //----------------------------------------------------------------------------- 00068 00069 #if defined (__hpux) 00070 # define CoinSighandler_t_defined 00071 # if defined(__GNUC__) 00072 typedef typeof(SIG_DFL) CoinSighandler_t; 00073 # else 00074 extern "C" { 00075 typedef void (*CoinSighandler_t) (int); 00076 } 00077 # endif 00078 #endif 00079 00080 //----------------------------------------------------------------------------- 00081 00082 #if defined(__sun) 00083 # if defined(__SUNPRO_CC) 00084 # include <signal.h> 00085 extern "C" { 00086 typedef void (*CoinSighandler_t) (int); 00087 } 00088 # define CoinSighandler_t_defined 00089 # endif 00090 # if defined(__GNUC__) 00091 typedef typeof(SIG_DFL) CoinSighandler_t; 00092 # define CoinSighandler_t_defined 00093 # endif 00094 #endif 00095 00096 //----------------------------------------------------------------------------- 00097 00098 #if defined(__MACH__) && defined(__GNUC__) 00099 typedef typeof(SIG_DFL) CoinSighandler_t; 00100 # define CoinSighandler_t_defined 00101 #endif 00102 00103 //############################################################################# 00104 00105 #ifndef CoinSighandler_t_defined 00106 # warning("OS and/or compiler is not recognized. Defaulting to:"); 00107 # warning("extern 'C' {") 00108 # warning(" typedef void (*CoinSighandler_t) (int);") 00109 # warning("}") 00110 extern "C" { 00111 typedef void (*CoinSighandler_t) (int); 00112 } 00113 #endif 00114 00115 //############################################################################# 00116 00117 #endif