// 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;

using zx;

/// Auxiliary data for the POSIX socket representation of a node.
/// The selection of this variant in [`Representation`] implies that the
/// connection speaks the [`fuchsia.posix.socket/Control`] protocol.
type PosixSocketInfo = resource table {
    /// The backing transport for the socket.
    /// The rights on this socket should correspond to the rights on the
    /// node connection.
    1: socket zx.handle:SOCKET;
};
