root / compatfd.h @ e3e87df4
History | View | Annotate | Download (1.5 kB)
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); |
42 |
bool qemu_signalfd_available(void); |
43 |
|
44 |
#endif
|