// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

library fuchsia.io2;

[Deprecated = "devices will be services in the future"]
bits DeviceSignal : uint32 {
    /// Indicates the device is ready for reading.
    READABLE = 0x01000000; // ZX_USER_SIGNAL_0
    /// Indicates the device is ready for writing.
    WRITABLE = 0x02000000; // ZX_USER_SIGNAL_1
    /// Indicates the device has encountered an error state.
    ERROR = 0x04000000; // ZX_USER_SIGNAL_2
    /// Indicates the device has hung up on the current connection.
    HANGUP = 0x08000000; // ZX_USER_SIGNAL_3
    /// Indicates an out-of-band state transition has occurred.
    OOB = 0x10000000; // ZX_USER_SIGNAL_4
};

/// The object may be cast to the shared interface of devices.
[Deprecated = "devices will be services in the future"]
table DeviceInfo {
    /// An optional event which transmits information about a device's state.
    ///
    /// The [`DeviceSignal`] values may be observed on this event.
    1: handle<event> event;
};

/// The object may be cast to a Tty interface.
[Deprecated = "tty functionalities may be covered by a tty service"]
table TtyInfo {
    /// An optional event which transmits information about a device's state.
    ///
    /// The [`DeviceSignal`] values may be observed on this event.
    1: handle<event> event;
};
