summaryrefslogtreecommitdiffstats
path: root/third_party/rust/fuchsia-zircon/src/signals.rs
blob: e5189f5ebcd2f8af1e1fa8aef23013c2d732ecf3 (plain)
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
use sys::*;

bitflags! {
    /// Signals that can be waited upon.
    ///
    /// See
    /// [Objects and signals](https://fuchsia.googlesource.com/zircon/+/master/docs/concepts.md#Objects-and-Signals)
    /// in the Zircon kernel documentation. Note: the names of signals are still in flux.
    #[repr(C)]
    pub struct Signals: zx_signals_t {
        const NONE          = ZX_SIGNAL_NONE;
        const OBJECT_ALL    = ZX_OBJECT_SIGNAL_ALL;
        const USER_ALL      = ZX_USER_SIGNAL_ALL;
        const OBJECT_0      = ZX_OBJECT_SIGNAL_0;
        const OBJECT_1      = ZX_OBJECT_SIGNAL_1;
        const OBJECT_2      = ZX_OBJECT_SIGNAL_2;
        const OBJECT_3      = ZX_OBJECT_SIGNAL_3;
        const OBJECT_4      = ZX_OBJECT_SIGNAL_4;
        const OBJECT_5      = ZX_OBJECT_SIGNAL_5;
        const OBJECT_6      = ZX_OBJECT_SIGNAL_6;
        const OBJECT_7      = ZX_OBJECT_SIGNAL_7;
        const OBJECT_8      = ZX_OBJECT_SIGNAL_8;
        const OBJECT_9      = ZX_OBJECT_SIGNAL_9;
        const OBJECT_10     = ZX_OBJECT_SIGNAL_10;
        const OBJECT_11     = ZX_OBJECT_SIGNAL_11;
        const OBJECT_12     = ZX_OBJECT_SIGNAL_12;
        const OBJECT_13     = ZX_OBJECT_SIGNAL_13;
        const OBJECT_14     = ZX_OBJECT_SIGNAL_14;
        const OBJECT_15     = ZX_OBJECT_SIGNAL_15;
        const OBJECT_16     = ZX_OBJECT_SIGNAL_16;
        const OBJECT_17     = ZX_OBJECT_SIGNAL_17;
        const OBJECT_18     = ZX_OBJECT_SIGNAL_18;
        const OBJECT_19     = ZX_OBJECT_SIGNAL_19;
        const OBJECT_20     = ZX_OBJECT_SIGNAL_20;
        const OBJECT_21     = ZX_OBJECT_SIGNAL_21;
        const OBJECT_22     = ZX_OBJECT_SIGNAL_22;
        const OBJECT_HANDLE_CLOSED = ZX_OBJECT_HANDLE_CLOSED;
        const USER_0        = ZX_USER_SIGNAL_0;
        const USER_1        = ZX_USER_SIGNAL_1;
        const USER_2        = ZX_USER_SIGNAL_2;
        const USER_3        = ZX_USER_SIGNAL_3;
        const USER_4        = ZX_USER_SIGNAL_4;
        const USER_5        = ZX_USER_SIGNAL_5;
        const USER_6        = ZX_USER_SIGNAL_6;
        const USER_7        = ZX_USER_SIGNAL_7;

        const OBJECT_READABLE    = ZX_OBJECT_READABLE;
        const OBJECT_WRITABLE    = ZX_OBJECT_WRITABLE;
        const OBJECT_PEER_CLOSED = ZX_OBJECT_PEER_CLOSED;

        // Cancelation (handle was closed while waiting with it)
        const HANDLE_CLOSED = ZX_SIGNAL_HANDLE_CLOSED;

        // Event
        const EVENT_SIGNALED = ZX_EVENT_SIGNALED;

        // EventPair
        const EVENT_PAIR_SIGNALED = ZX_EPAIR_SIGNALED;
        const EVENT_PAIR_CLOSED   = ZX_EPAIR_CLOSED;

        // Task signals (process, thread, job)
        const TASK_TERMINATED = ZX_TASK_TERMINATED;

        // Channel
        const CHANNEL_READABLE    = ZX_CHANNEL_READABLE;
        const CHANNEL_WRITABLE    = ZX_CHANNEL_WRITABLE;
        const CHANNEL_PEER_CLOSED = ZX_CHANNEL_PEER_CLOSED;

        // Socket
        const SOCKET_READABLE    = ZX_SOCKET_READABLE;
        const SOCKET_WRITABLE    = ZX_SOCKET_WRITABLE;
        const SOCKET_PEER_CLOSED = ZX_SOCKET_PEER_CLOSED;

        // Port
        const PORT_READABLE = ZX_PORT_READABLE;

        // Resource
        const RESOURCE_DESTROYED   = ZX_RESOURCE_DESTROYED;
        const RESOURCE_READABLE    = ZX_RESOURCE_READABLE;
        const RESOURCE_WRITABLE    = ZX_RESOURCE_WRITABLE;
        const RESOURCE_CHILD_ADDED = ZX_RESOURCE_CHILD_ADDED;

        // Fifo
        const FIFO_READABLE    = ZX_FIFO_READABLE;
        const FIFO_WRITABLE    = ZX_FIFO_WRITABLE;
        const FIFO_PEER_CLOSED = ZX_FIFO_PEER_CLOSED;

        // Job
        const JOB_NO_PROCESSES = ZX_JOB_NO_PROCESSES;
        const JOB_NO_JOBS      = ZX_JOB_NO_JOBS;

        // Process
        const PROCESS_TERMINATED = ZX_PROCESS_TERMINATED;

        // Thread
        const THREAD_TERMINATED = ZX_THREAD_TERMINATED;

        // Log
        const LOG_READABLE = ZX_LOG_READABLE;
        const LOG_WRITABLE = ZX_LOG_WRITABLE;

        // Timer
        const TIMER_SIGNALED = ZX_TIMER_SIGNALED;
    }
}