1abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/****************************************************************************
2abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
3abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
4abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   This header was automatically generated from a Linux kernel header
5abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   of the same name, to make information necessary for userspace to
6abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   call into the kernel available to libc.  It contains only constants,
7abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   structures, and macros generated from the original header, and thus,
8abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   contains no copyrightable information.
9abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
10abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   To edit the content of this header, modify the corresponding
11abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   source file (e.g. under external/kernel-headers/original/) then
12abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   run bionic/libc/kernel/tools/update_all.py
13abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
14abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   Any manual change here will be lost the next time this script will
15abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   be run. You've been warned!
16abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
17abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
18abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************/
19abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef _UAPI_ASM_X86_SIGNAL_H
20abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define _UAPI_ASM_X86_SIGNAL_H
21abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef __ASSEMBLY__
22abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/types.h>
23abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/time.h>
24abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/compiler.h>
25abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct siginfo;
26199346a2abd8b6ba282e1fe291cc3766fa921f40Elliott Hughes#define _KERNEL_NSIG 32
27abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughestypedef unsigned long sigset_t;
28abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
29abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGHUP 1
30abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGINT 2
31abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGQUIT 3
32abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGILL 4
33abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGTRAP 5
34abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGABRT 6
35abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGIOT 6
36abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGBUS 7
37abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGFPE 8
38abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGKILL 9
39abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGUSR1 10
40abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGSEGV 11
41abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGUSR2 12
42abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGPIPE 13
43abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGALRM 14
44abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGTERM 15
45abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGSTKFLT 16
46abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGCHLD 17
47abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGCONT 18
48abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGSTOP 19
49abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGTSTP 20
50abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGTTIN 21
51abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGTTOU 22
52abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGURG 23
53abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGXCPU 24
54abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGXFSZ 25
55abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGVTALRM 26
56abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGPROF 27
57abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGWINCH 28
58abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGIO 29
59abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGPOLL SIGIO
60abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGPWR 30
61abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGSYS 31
62abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGUNUSED 31
630990d4fda898ada86e557f872f5cb7d16b138e3cElliott Hughes#define __SIGRTMIN 32
640990d4fda898ada86e557f872f5cb7d16b138e3cElliott Hughes#define __SIGRTMAX _KERNEL__NSIG
65abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_NOCLDSTOP 0x00000001u
66abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_NOCLDWAIT 0x00000002u
67abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_SIGINFO 0x00000004u
68abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_ONSTACK 0x08000000u
69abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_RESTART 0x10000000u
70abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_NODEFER 0x40000000u
71abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_RESETHAND 0x80000000u
72abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_NOMASK SA_NODEFER
73abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_ONESHOT SA_RESETHAND
74abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SA_RESTORER 0x04000000
75abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define MINSIGSTKSZ 2048
76abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define SIGSTKSZ 8192
77abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <asm-generic/signal-defs.h>
78abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef __ASSEMBLY__
79abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifdef __i386__
80abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct sigaction {
81d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  union {
82d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    __sighandler_t _sa_handler;
83d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao    void(* _sa_sigaction) (int, struct siginfo *, void *);
84d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  } _u;
85d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  sigset_t sa_mask;
86d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sa_flags;
87d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  void(* sa_restorer) (void);
88abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
89abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define sa_handler _u._sa_handler
90abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define sa_sigaction _u._sa_sigaction
91abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#else
92abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct sigaction {
93d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __sighandler_t sa_handler;
94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  unsigned long sa_flags;
95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __sigrestore_t sa_restorer;
96d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  sigset_t sa_mask;
97abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
98abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
99abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughestypedef struct sigaltstack {
100d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  void __user * ss_sp;
101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  int ss_flags;
102d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  size_t ss_size;
103abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes} stack_t;
104abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
105abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
106