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