75 lines
1.6 KiB
C
75 lines
1.6 KiB
C
// Minimal signal.h stub for freestanding
|
|
#ifndef _SIGNAL_H
|
|
#define _SIGNAL_H
|
|
#include <stdint.h>
|
|
|
|
typedef int sig_atomic_t;
|
|
typedef void (*sighandler_t)(int);
|
|
typedef sighandler_t sig_t;
|
|
typedef uint32_t sigset_t;
|
|
|
|
struct sigaction {
|
|
sighandler_t sa_handler;
|
|
sigset_t sa_mask;
|
|
int sa_flags;
|
|
void (*sa_sigaction)(int, void *, void *);
|
|
};
|
|
|
|
#define SA_RESTART 0x10000000
|
|
#define SA_SIGINFO 4
|
|
#define SA_NOCLDSTOP 1
|
|
|
|
#define SIG_DFL ((sighandler_t)0)
|
|
#define SIG_IGN ((sighandler_t)1)
|
|
#define SIG_ERR ((sighandler_t)-1)
|
|
|
|
#define SIG_BLOCK 0
|
|
#define SIG_UNBLOCK 1
|
|
#define SIG_SETMASK 2
|
|
|
|
#define SIGHUP 1
|
|
#define SIGINT 2
|
|
#define SIGQUIT 3
|
|
#define SIGILL 4
|
|
#define SIGTRAP 5
|
|
#define SIGABRT 6
|
|
#define SIGIOT 6
|
|
#define SIGBUS 7
|
|
#define SIGFPE 8
|
|
#define SIGKILL 9
|
|
#define SIGUSR1 10
|
|
#define SIGSEGV 11
|
|
#define SIGUSR2 12
|
|
#define SIGPIPE 13
|
|
#define SIGALRM 14
|
|
#define SIGTERM 15
|
|
#define SIGSTKFLT 16
|
|
#define SIGCHLD 17
|
|
#define SIGCONT 18
|
|
#define SIGSTOP 19
|
|
#define SIGTSTP 20
|
|
#define SIGTTIN 21
|
|
#define SIGTTOU 22
|
|
#define SIGURG 23
|
|
#define SIGXCPU 24
|
|
#define SIGXFSZ 25
|
|
#define SIGVTALRM 26
|
|
#define SIGPROF 27
|
|
#define SIGWINCH 28
|
|
#define SIGIO 29
|
|
#define SIGPWR 30
|
|
#define SIGSYS 31
|
|
|
|
#define NSIG 32
|
|
|
|
sighandler_t signal(int signum, sighandler_t handler);
|
|
int raise(int sig);
|
|
int kill(int pid, int sig);
|
|
int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
|
|
int sigemptyset(sigset_t *set);
|
|
int sigaddset(sigset_t *set, int signum);
|
|
int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
|
|
int sigsuspend(const sigset_t *mask);
|
|
|
|
#endif /* _SIGNAL_H */
|