Statistics
| Branch: | Revision:

root / compatfd.h @ dcc38d1c

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

    
43
#endif