windows-nt/Source/XPSP1/NT/public/sdk/inc/posix/signal.h
2020-09-26 16:20:57 +08:00

93 lines
2 KiB
C

/*++
Copyright (c) 1989-1996 Microsoft Corporation
Module Name:
signal.h
Abstract:
This module contains the signal related types and data structures described
in sections 3.3.1 thru 3.3.7 of IEEE P1003.1/Draft 13.
--*/
#ifndef _SIGNAL_
#define _SIGNAL_
#include <sys/types.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef unsigned long sigset_t;
#ifndef _SIG_ATOMIC_T_DEFINED
typedef int sig_atomic_t;
#define _SIG_ATOMIC_T_DEFINED
#endif
#ifdef _WIN64
#define SIG_DFL (void (__cdecl *)(int))0xffffffffffffffff /* default signal action */
#else
#define SIG_DFL (void (__cdecl *)(int))0xffffffff /* default signal action */
#endif
#define SIG_ERR (void (__cdecl *)(int))0 /* signal error value */
#define SIG_IGN (void (__cdecl *)(int))1 /* ignore signal */
#define SIGABRT 1
#define SIGALRM 2
#define SIGFPE 3
#define SIGHUP 4
#define SIGILL 5
#define SIGINT 6
#define SIGKILL 7
#define SIGPIPE 8
#define SIGQUIT 9
#define SIGSEGV 10
#define SIGTERM 11
#define SIGUSR1 12
#define SIGUSR2 13
#define SIGCHLD 14
#define SIGCONT 15
#define SIGSTOP 16
#define SIGTSTP 17
#define SIGTTIN 18
#define SIGTTOU 19
typedef void (__cdecl * _handler)(int);
struct sigaction {
_handler sa_handler;
sigset_t sa_mask;
int sa_flags;
};
#define SA_NOCLDSTOP 0x00000001
#define SIG_BLOCK 1
#define SIG_UNBLOCK 2
#define SIG_SETMASK 3
int __cdecl kill(pid_t, int);
int __cdecl sigemptyset(sigset_t *);
int __cdecl sigfillset(sigset_t *);
int __cdecl sigaddset(sigset_t *, int);
int __cdecl sigdelset(sigset_t *, int);
int __cdecl sigismember(const sigset_t *, int);
int __cdecl sigaction(int, const struct sigaction *, struct sigaction *);
int __cdecl sigprocmask(int, const sigset_t *, sigset_t *);
int __cdecl sigpending(sigset_t *);
int __cdecl sigsuspend(const sigset_t *);
_handler __cdecl signal(int, _handler);
int __cdecl raise(int);
#ifdef __cplusplus
}
#endif
#endif /* _SIGNAL_ */