signal1.h
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:3k
源码类别:

OpenGL

开发平台:

Visual C++

  1. /*
  2. -Header_File signal1.h (CSPICE version of the f2c signal1.h header file)
  3. -Abstract
  4.    Define macros associated with signal handling, customized for the 
  5.    host environment.
  6.       
  7. -Disclaimer
  8.    THIS SOFTWARE AND ANY RELATED MATERIALS WERE CREATED BY THE
  9.    CALIFORNIA INSTITUTE OF TECHNOLOGY (CALTECH) UNDER A U.S.
  10.    GOVERNMENT CONTRACT WITH THE NATIONAL AERONAUTICS AND SPACE
  11.    ADMINISTRATION (NASA). THE SOFTWARE IS TECHNOLOGY AND SOFTWARE
  12.    PUBLICLY AVAILABLE UNDER U.S. EXPORT LAWS AND IS PROVIDED "AS-IS"
  13.    TO THE RECIPIENT WITHOUT WARRANTY OF ANY KIND, INCLUDING ANY
  14.    WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A
  15.    PARTICULAR USE OR PURPOSE (AS SET FORTH IN UNITED STATES UCC
  16.    SECTIONS 2312-2313) OR FOR ANY PURPOSE WHATSOEVER, FOR THE
  17.    SOFTWARE AND RELATED MATERIALS, HOWEVER USED.
  18.    IN NO EVENT SHALL CALTECH, ITS JET PROPULSION LABORATORY, OR NASA
  19.    BE LIABLE FOR ANY DAMAGES AND/OR COSTS, INCLUDING, BUT NOT
  20.    LIMITED TO, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND,
  21.    INCLUDING ECONOMIC DAMAGE OR INJURY TO PROPERTY AND LOST PROFITS,
  22.    REGARDLESS OF WHETHER CALTECH, JPL, OR NASA BE ADVISED, HAVE
  23.    REASON TO KNOW, OR, IN FACT, SHALL KNOW OF THE POSSIBILITY.
  24.    RECIPIENT BEARS ALL RISK RELATING TO QUALITY AND PERFORMANCE OF
  25.    THE SOFTWARE AND ANY RELATED MATERIALS, AND AGREES TO INDEMNIFY
  26.    CALTECH AND NASA FOR ALL THIRD-PARTY CLAIMS RESULTING FROM THE
  27.    ACTIONS OF RECIPIENT IN THE USE OF THE SOFTWARE.
  28. -Required_Reading
  29.    None.
  30.    
  31. -Particulars
  32.    This header defines the macro signal1 referenced in main.c,
  33.    which is a generic main routine used in CSPICE executables that
  34.    link to code generated by f2c.
  35.    
  36. -Literature_References
  37.    None.
  38. -Author_and_Institution
  39.    N.J. Bachman       (JPL)
  40.    
  41. -Restrictions
  42.   1) This header file must be updated whenever the f2c processor
  43.      or the f2c libraries libI77 and libF77 are updated.
  44.      
  45.   2) This header may need to be updated to support new platforms.
  46.      The supported platforms at the time of the 03-FEB-2000 release
  47.      are:
  48.      
  49.         ALPHA-DIGITAL-UNIX_C
  50.         HP_C
  51.         NEXT_C
  52.         PC-LINUX_C
  53.         PC-MS_C
  54.         SGI-IRIX-N32_C
  55.         SGI-IRIX-NO2_C
  56.         SUN-SOLARIS-GCC_C
  57.         SUN-SOLARIS-NATIVE_C
  58.    
  59. -Version
  60.    -CSPICE Version 1.0.0, 03-FEB-2000 (NJB)  
  61. */
  62. /* You may need to adjust the definition of signal1 to supply a */
  63. /* cast to the correct argument type.  This detail is system- and */
  64. /* compiler-dependent.   The #define below assumes signal.h declares */
  65. /* type SIG_PF for the signal function's second argument. */
  66. #include <signal.h>
  67. #ifndef Sigret_t
  68. #define Sigret_t void
  69. #endif
  70. #ifndef Sigarg_t
  71. #ifdef KR_headers
  72. #define Sigarg_t
  73. #else
  74. #ifdef __cplusplus
  75. #define Sigarg_t ...
  76. #else
  77. #define Sigarg_t int
  78. #endif
  79. #endif
  80. #endif /*Sigarg_t*/
  81. #ifdef USE_SIG_PF /* compile with -DUSE_SIG_PF under IRIX */
  82. #define sig_pf SIG_PF
  83. #else
  84. typedef Sigret_t (*sig_pf)(Sigarg_t);
  85. #endif
  86. #define signal1(a,b) signal(a,(sig_pf)b)
  87. #ifdef __cplusplus
  88. #define Sigarg ...
  89. #define Use_Sigarg
  90. #else
  91. #define Sigarg Int n
  92. #define Use_Sigarg n = n   /* shut up compiler warning */
  93. #endif