1 // Copyright 2018 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef LIB_ZXIO_TYPES_H_
6 #define LIB_ZXIO_TYPES_H_
7 
8 #include <stdint.h>
9 #include <zircon/compiler.h>
10 
11 __BEGIN_CDECLS
12 
13 typedef uint32_t zxio_signals_t;
14 
15 // These values match the corresponding values in zircon/types.h
16 #define ZXIO_SIGNAL_NONE     ((zxio_signals_t)0u)
17 #define ZXIO_READABLE        ((zxio_signals_t)1u << 0)
18 #define ZXIO_WRITABLE        ((zxio_signals_t)1u << 1)
19 #define ZXIO_READ_DISABLED   ((zxio_signals_t)1u << 4)
20 #define ZXIO_WRITE_DISABLED  ((zxio_signals_t)1u << 5)
21 #define ZXIO_READ_THRESHOLD  ((zxio_signals_t)1u << 10)
22 #define ZXIO_WRITE_THRESHOLD ((zxio_signals_t)1u << 11)
23 
24 #define ZXIO_SIGNAL_ALL \
25     (ZXIO_READABLE | ZXIO_WRITABLE | ZXIO_READ_DISABLED | ZXIO_WRITE_DISABLED \
26      | ZXIO_READ_THRESHOLD | ZXIO_WRITE_THRESHOLD)
27 
28 __END_CDECLS
29 
30 #endif // LIB_ZXIO_TYPES_H_
31