]>
Commit | Line | Data |
---|---|---|
dcc38d1c MT |
1 | /* |
2 | * signalfd/eventfd compatibility | |
3 | * | |
4 | * Copyright IBM, Corp. 2008 | |
5 | * | |
6 | * Authors: | |
7 | * Anthony Liguori <aliguori@us.ibm.com> | |
8 | * | |
9 | * This work is licensed under the terms of the GNU GPL, version 2. See | |
10 | * the COPYING file in the top-level directory. | |
11 | * | |
12 | */ | |
13 | ||
14 | #ifndef QEMU_COMPATFD_H | |
15 | #define QEMU_COMPATFD_H | |
16 | ||
17 | #include <signal.h> | |
18 | ||
19 | struct qemu_signalfd_siginfo { | |
20 | uint32_t ssi_signo; /* Signal number */ | |
21 | int32_t ssi_errno; /* Error number (unused) */ | |
22 | int32_t ssi_code; /* Signal code */ | |
23 | uint32_t ssi_pid; /* PID of sender */ | |
24 | uint32_t ssi_uid; /* Real UID of sender */ | |
25 | int32_t ssi_fd; /* File descriptor (SIGIO) */ | |
26 | uint32_t ssi_tid; /* Kernel timer ID (POSIX timers) */ | |
27 | uint32_t ssi_band; /* Band event (SIGIO) */ | |
28 | uint32_t ssi_overrun; /* POSIX timer overrun count */ | |
29 | uint32_t ssi_trapno; /* Trap number that caused signal */ | |
30 | int32_t ssi_status; /* Exit status or signal (SIGCHLD) */ | |
31 | int32_t ssi_int; /* Integer sent by sigqueue(2) */ | |
32 | uint64_t ssi_ptr; /* Pointer sent by sigqueue(2) */ | |
33 | uint64_t ssi_utime; /* User CPU time consumed (SIGCHLD) */ | |
34 | uint64_t ssi_stime; /* System CPU time consumed (SIGCHLD) */ | |
35 | uint64_t ssi_addr; /* Address that generated signal | |
36 | (for hardware-generated signals) */ | |
37 | uint8_t pad[48]; /* Pad size to 128 bytes (allow for | |
38 | additional fields in the future) */ | |
39 | }; | |
40 | ||
41 | int qemu_signalfd(const sigset_t *mask); | |
d25f89c9 | 42 | bool qemu_signalfd_available(void); |
dcc38d1c MT |
43 | |
44 | #endif |