__signal.h
上传用户:tsgydb
上传日期:2007-04-14
资源大小:10674k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright 1994-1995 The Santa Cruz Operation, Inc. All Rights Reserved. */
  2. #if defined(_NO_PROTOTYPE) /* Old, crufty environment */
  3. #include <sys/oldstyle/signal.h>
  4. #elif defined(_XOPEN_SOURCE) || defined(_XPG4_VERS) /* Xpg4 environment */
  5. #include <xpg4/signal.h>
  6. #elif defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) /* Posix environment */
  7. #include <sys/posix/__signal.h>
  8. #elif _STRICT_ANSI  /* Pure Ansi/ISO environment */
  9. #include <sys/ansi/signal.h>
  10. #elif defined(_SCO_ODS_30) /* Old, Tbird compatible environment */
  11. #include <sys/ods_30_compat/signal.h>
  12. #else  /* Normal, default environment */
  13. /*
  14.  *   Portions Copyright (C) 1983-1995 The Santa Cruz Operation, Inc.
  15.  * All Rights Reserved.
  16.  *
  17.  * The information in this file is provided for the exclusive use of
  18.  * the licensees of The Santa Cruz Operation, Inc.  Such users have the
  19.  * right to use, modify, and incorporate this code into other products
  20.  * for purposes authorized by the license agreement provided they include
  21.  * this notice and the associated copyright notice with any such product.
  22.  * The information in this file is provided "AS IS" without warranty.
  23.  */
  24. /* Portions Copyright (c) 1990, 1991, 1992, 1993 UNIX System Laboratories, Inc. */
  25. /* Portions Copyright (c) 1979 - 1990 AT&T   */
  26. /*   All Rights Reserved   */
  27. /* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF          */
  28. /* UNIX System Laboratories, Inc.                          */
  29. /* The copyright notice above does not evidence any        */
  30. /* actual or intended publication of such source code.     */
  31. #ifndef ___SIGNAL_H
  32. #define ___SIGNAL_H
  33. #pragma comment(exestr, "xpg4plus @(#) signal.h 20.3 94/12/19 ")
  34. #ifndef _SIG_ATOMIC_T
  35. #define _SIG_ATOMIC_T
  36.    /* atomic entity for signal handling  */
  37. typedef int sig_atomic_t;
  38. #endif
  39. extern const char * const _sys_siglist[];
  40. extern const int _sys_nsig;
  41. #ifndef _SYS_SIGNAL_H
  42. #include <sys/signal.h>
  43. #endif
  44. #define SignalBad ((SignalHandler)-1)
  45. #define SignalDefault ((SignalHandler)0)
  46. #define SignalIgnore ((SignalHandler)1)
  47. #define __sigmask(sig) (1 << ((sig) - 1))
  48. #define __SIGEMPTYSET (~SIGALL)
  49. #define __SIGFILLSET SIGALL
  50. #define __SIGADDSET(s,n) ((*s) |= (__sigmask(n)))
  51. #define __SIGDELSET(s,n) ((*s) &= ~(__sigmask(n))) 
  52. #define __SIGISMEMBER(s,n) ((*s) & (__sigmask(n))) 
  53. #if !defined(_SYS_TYPES_H)
  54. #include <sys/types.h>
  55. #endif
  56. #if __cplusplus
  57. extern "C" {
  58. #endif 
  59. extern void (*signal(int, void(*)(int)))(int);
  60. extern int raise(int);
  61. extern void (*bsd_signal(int, void(*)(int)))(int);
  62. extern  int ( *ssignal( int, int(*)(int) ) )(int);
  63. extern  void ( *sigset( int, void(*)(int) ) )(int);
  64. extern int killpg(pid_t, int);
  65. #ifdef SS_ONSTACK /* Not defined on old versions of the OS */
  66. extern int sigaltstack(const stack_t *, stack_t *);
  67. extern int sigstack(struct sigstack *, struct sigstack *);
  68. #endif
  69. extern int sighold(int);
  70. extern int sigignore(int);
  71. extern int siginterrupt(int, int);
  72. extern int sigpause(int);
  73. extern int sigrelse(int);
  74. extern int (sigfillset)(sigset_t *);
  75. extern int (sigemptyset)(sigset_t *);
  76. extern int (sigaddset)(sigset_t *, int);
  77. extern int (sigdelset)(sigset_t *, int);
  78. extern int (sigismember)(const sigset_t *, int);
  79. extern int sigpending(sigset_t *);
  80. extern int sigsuspend(const sigset_t *);
  81. extern int sigprocmask(int, const sigset_t *, sigset_t *);
  82. extern int kill(pid_t, int);
  83. extern int sigaction(int, const struct sigaction *, struct sigaction *);
  84. #if __cplusplus
  85. };
  86. #endif 
  87. #endif /* ___SIGNAL_H  */
  88. #endif