blob: 546c5d85d103c4facc1d98aa4e9bc5f391cfc96a [file] [log] [blame]
// 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.
#ifndef LIB_SYS_CPP_FILE_DESCRIPTOR_H_
#define LIB_SYS_CPP_FILE_DESCRIPTOR_H_
#include <fuchsia/sys/cpp/fidl.h>
namespace sys {
// Clone the given file descriptor as a |fuchsia::sys::FileDescriptorPtr|.
//
// For example, the returned |fuchsia::sys::FileDescriptorPtr| is suitable for
// use as the stdout or stderr when creating a component. To obtain only a
// |zx_handle_t|, consider calling |fdio_fd_clone| directory instead.
//
// Returns |nullptr| if |fd| is invalid or cannot be cloned.
fuchsia::sys::FileDescriptorPtr CloneFileDescriptor(int fd);
} // namespace sys
#endif // LIB_SYS_CPP_FILE_DESCRIPTOR_H_