signal.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #pragma once
  2. #include <sys/types.h>
  3. #include <signal_numbers.h>
  4. __BEGIN_DECLS
  5. typedef void (*__sighandler_t)(int);
  6. typedef __sighandler_t sighandler_t;
  7. typedef uint32_t sigset_t;
  8. typedef void siginfo_t;
  9. typedef uint32_t sig_atomic_t;
  10. struct sigaction {
  11. union {
  12. void (*sa_handler)(int);
  13. void (*sa_sigaction)(int, siginfo_t*, void*);
  14. };
  15. sigset_t sa_mask;
  16. int sa_flags;
  17. void (*sa_restorer)(void);
  18. };
  19. int kill(pid_t, int sig);
  20. int killpg(int pgrp, int sig);
  21. sighandler_t signal(int sig, sighandler_t);
  22. int sigaction(int sig, const struct sigaction* act, struct sigaction* old_act);
  23. int sigemptyset(sigset_t*);
  24. int sigfillset(sigset_t*);
  25. int sigaddset(sigset_t*, int sig);
  26. int sigdelset(sigset_t*, int sig);
  27. int sigismember(const sigset_t*, int sig);
  28. int sigprocmask(int how, const sigset_t* set, sigset_t* old_set);
  29. int sigpending(sigset_t*);
  30. int raise(int sig);
  31. #define NSIG 32
  32. extern const char* sys_siglist[NSIG];
  33. #define SIG_DFL ((__sighandler_t)0)
  34. #define SIG_ERR ((__sighandler_t)-1)
  35. #define SIG_IGN ((__sighandler_t)1)
  36. #define SA_NOCLDSTOP 1
  37. #define SA_NOCLDWAIT 2
  38. #define SA_SIGINFO 4
  39. #define SIG_BLOCK 0
  40. #define SIG_UNBLOCK 1
  41. #define SIG_SETMASK 2
  42. __END_DECLS