55 lines
1.8 KiB
C
55 lines
1.8 KiB
C
// POSIX signal declarations for the nt-lite POSIX personality.
|
|
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <sys/types.h>
|
|
#include <ntlite_posix_api.h>
|
|
#include <ntlite/posix_signal.h>
|
|
|
|
typedef uint64_t sigset_t;
|
|
typedef int sig_atomic_t;
|
|
typedef void (*sighandler_t)(int);
|
|
|
|
#define SIGHUP NTL_POSIX_SIGNAL_HUP
|
|
#define SIGINT NTL_POSIX_SIGNAL_INT
|
|
#define SIGQUIT NTL_POSIX_SIGNAL_QUIT
|
|
#define SIGILL NTL_POSIX_SIGNAL_ILL
|
|
#define SIGABRT NTL_POSIX_SIGNAL_ABRT
|
|
#define SIGFPE NTL_POSIX_SIGNAL_FPE
|
|
#define SIGKILL NTL_POSIX_SIGNAL_KILL
|
|
#define SIGSEGV NTL_POSIX_SIGNAL_SEGV
|
|
#define SIGPIPE NTL_POSIX_SIGNAL_PIPE
|
|
#define SIGALRM NTL_POSIX_SIGNAL_ALRM
|
|
#define SIGTERM NTL_POSIX_SIGNAL_TERM
|
|
#define SIGUSR1 NTL_POSIX_SIGNAL_USR1
|
|
#define SIGUSR2 NTL_POSIX_SIGNAL_USR2
|
|
#define SIGCHLD NTL_POSIX_SIGNAL_CHLD
|
|
|
|
#define SIG_DFL ((sighandler_t)0)
|
|
#define SIG_IGN ((sighandler_t)1)
|
|
#define SIG_ERR ((sighandler_t)-1)
|
|
|
|
#define SIG_BLOCK 1
|
|
#define SIG_UNBLOCK 2
|
|
#define SIG_SETMASK 3
|
|
|
|
struct sigaction {
|
|
sighandler_t sa_handler;
|
|
sigset_t sa_mask;
|
|
int sa_flags;
|
|
};
|
|
|
|
NTL_POSIX_API int sigemptyset(sigset_t* set);
|
|
NTL_POSIX_API int sigfillset(sigset_t* set);
|
|
NTL_POSIX_API int sigaddset(sigset_t* set, int signalNumber);
|
|
NTL_POSIX_API int sigdelset(sigset_t* set, int signalNumber);
|
|
NTL_POSIX_API int sigismember(const sigset_t* set, int signalNumber);
|
|
NTL_POSIX_API int sigaction(int signalNumber, const struct sigaction* action, struct sigaction* oldAction);
|
|
NTL_POSIX_API int sigprocmask(int how, const sigset_t* set, sigset_t* oldSet);
|
|
NTL_POSIX_API int sigpending(sigset_t* set);
|
|
NTL_POSIX_API int sigsuspend(const sigset_t* set);
|
|
NTL_POSIX_API int kill(pid_t pid, int signalNumber);
|
|
NTL_POSIX_API sighandler_t signal(int signalNumber, sighandler_t handler);
|
|
NTL_POSIX_API int raise(int signalNumber);
|