File: target_signal.h

package info (click to toggle)
qemu 1%3A10.0.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 413,648 kB
  • sloc: ansic: 4,733,433; pascal: 114,769; python: 105,506; asm: 68,406; sh: 52,878; makefile: 27,469; perl: 18,778; cpp: 11,435; xml: 3,404; objc: 2,877; yacc: 2,505; php: 1,299; tcl: 1,296; lex: 1,110; sql: 71; awk: 43; sed: 35; javascript: 7
file content (82 lines) | stat: -rw-r--r-- 3,896 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#ifndef MIPS_TARGET_SIGNAL_H
#define MIPS_TARGET_SIGNAL_H

#define TARGET_SIGHUP            1      /* Hangup (POSIX).  */
#define TARGET_SIGINT            2      /* Interrupt (ANSI).  */
#define TARGET_SIGQUIT           3      /* Quit (POSIX).  */
#define TARGET_SIGILL            4      /* Illegal instruction (ANSI).  */
#define TARGET_SIGTRAP           5      /* Trace trap (POSIX).  */
#define TARGET_SIGIOT            6      /* IOT trap (4.2 BSD).  */
#define TARGET_SIGABRT           TARGET_SIGIOT  /* Abort (ANSI).  */
#define TARGET_SIGEMT            7
#define TARGET_SIGSTKFLT         7 /* XXX: incorrect */
#define TARGET_SIGFPE            8      /* Floating-point exception (ANSI).  */
#define TARGET_SIGKILL           9      /* Kill, unblockable (POSIX).  */
#define TARGET_SIGBUS           10      /* BUS error (4.2 BSD).  */
#define TARGET_SIGSEGV          11      /* Segmentation violation (ANSI).  */
#define TARGET_SIGSYS           12
#define TARGET_SIGPIPE          13      /* Broken pipe (POSIX).  */
#define TARGET_SIGALRM          14      /* Alarm clock (POSIX).  */
#define TARGET_SIGTERM          15      /* Termination (ANSI).  */
#define TARGET_SIGUSR1          16      /* User-defined signal 1 (POSIX).  */
#define TARGET_SIGUSR2          17      /* User-defined signal 2 (POSIX).  */
#define TARGET_SIGCHLD          18      /* Child status has changed (POSIX).  */
#define TARGET_SIGCLD           TARGET_SIGCHLD  /* Same as TARGET_SIGCHLD (System V).  */
#define TARGET_SIGPWR           19      /* Power failure restart (System V).  */
#define TARGET_SIGWINCH 20      /* Window size change (4.3 BSD, Sun).  */
#define TARGET_SIGURG           21      /* Urgent condition on socket (4.2 BSD).  */
#define TARGET_SIGIO            22      /* I/O now possible (4.2 BSD).  */
#define TARGET_SIGPOLL          TARGET_SIGIO    /* Pollable event occurred (System V).  */
#define TARGET_SIGSTOP          23      /* Stop, unblockable (POSIX).  */
#define TARGET_SIGTSTP          24      /* Keyboard stop (POSIX).  */
#define TARGET_SIGCONT          25      /* Continue (POSIX).  */
#define TARGET_SIGTTIN          26      /* Background read from tty (POSIX).  */
#define TARGET_SIGTTOU          27      /* Background write to tty (POSIX).  */
#define TARGET_SIGVTALRM        28      /* Virtual alarm clock (4.2 BSD).  */
#define TARGET_SIGPROF          29      /* Profiling alarm clock (4.2 BSD).  */
#define TARGET_SIGXCPU          30      /* CPU limit exceeded (4.2 BSD).  */
#define TARGET_SIGXFSZ          31      /* File size limit exceeded (4.2 BSD).  */
#define TARGET_SIGRTMIN         32

#define TARGET_SIG_BLOCK        1       /* for blocking signals */
#define TARGET_SIG_UNBLOCK      2       /* for unblocking signals */
#define TARGET_SIG_SETMASK      3       /* for setting the signal mask */

/* this struct defines a stack used during syscall handling */

typedef struct target_sigaltstack {
    abi_ulong ss_sp;
    abi_ulong ss_size;
    abi_int ss_flags;
} target_stack_t;


/*
 * sigaltstack controls
 */
#define TARGET_SS_ONSTACK     1
#define TARGET_SS_DISABLE     2

#define TARGET_SA_NOCLDSTOP     0x00000001
#define TARGET_SA_NOCLDWAIT     0x00010000
#define TARGET_SA_SIGINFO       0x00000008
#define TARGET_SA_ONSTACK       0x08000000
#define TARGET_SA_NODEFER       0x40000000
#define TARGET_SA_RESTART       0x10000000
#define TARGET_SA_RESETHAND     0x80000000
#define TARGET_SA_RESTORER      0x04000000      /* Only for O32 */

#define TARGET_MINSIGSTKSZ    2048

#if defined(TARGET_ABI_MIPSO32)
/* compare linux/arch/mips/kernel/signal.c:setup_frame() */
#define TARGET_ARCH_HAS_SETUP_FRAME
#endif
#define TARGET_ARCH_HAS_SIGTRAMP_PAGE 1

/* bit-flags */
#define TARGET_SS_AUTODISARM (1U << 31) /* disable sas during sighandling */
/* mask for all SS_xxx flags */
#define TARGET_SS_FLAG_BITS  TARGET_SS_AUTODISARM

#endif /* MIPS_TARGET_SIGNAL_H */