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