003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/include/lldb/Host/posix
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
include
/
lldb
/
Host
/
posix
/
📁
..
📄
ConnectionFileDescriptorPosix.h
(4.02 KB)
📄
DomainSocket.h
(1.14 KB)
📄
Fcntl.h
(723 B)
📄
HostInfoPosix.h
(1.16 KB)
📄
HostProcessPosix.h
(1.24 KB)
📄
HostThreadPosix.h
(985 B)
📄
LockFilePosix.h
(1.02 KB)
📄
PipePosix.h
(2.66 KB)
📄
ProcessLauncherPosixFork.h
(771 B)
Editing: PipePosix.h
//===-- PipePosix.h ---------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_HOST_POSIX_PIPEPOSIX_H #define LLDB_HOST_POSIX_PIPEPOSIX_H #if defined(__cplusplus) #include "lldb/Host/PipeBase.h" namespace lldb_private { /// \class PipePosix PipePosix.h "lldb/Host/posix/PipePosix.h" /// A posix-based implementation of Pipe, a class that abtracts /// unix style pipes. /// /// A class that abstracts the LLDB core from host pipe functionality. class PipePosix : public PipeBase { public: static int kInvalidDescriptor; PipePosix(); PipePosix(lldb::pipe_t read, lldb::pipe_t write); PipePosix(const PipePosix &) = delete; PipePosix(PipePosix &&pipe_posix); PipePosix &operator=(const PipePosix &) = delete; PipePosix &operator=(PipePosix &&pipe_posix); ~PipePosix() override; Status CreateNew(bool child_process_inherit) override; Status CreateNew(llvm::StringRef name, bool child_process_inherit) override; Status CreateWithUniqueName(llvm::StringRef prefix, bool child_process_inherit, llvm::SmallVectorImpl<char> &name) override; Status OpenAsReader(llvm::StringRef name, bool child_process_inherit) override; Status OpenAsWriterWithTimeout(llvm::StringRef name, bool child_process_inherit, const std::chrono::microseconds &timeout) override; bool CanRead() const override; bool CanWrite() const override; lldb::pipe_t GetReadPipe() const override { return lldb::pipe_t(GetReadFileDescriptor()); } lldb::pipe_t GetWritePipe() const override { return lldb::pipe_t(GetWriteFileDescriptor()); } int GetReadFileDescriptor() const override; int GetWriteFileDescriptor() const override; int ReleaseReadFileDescriptor() override; int ReleaseWriteFileDescriptor() override; void CloseReadFileDescriptor() override; void CloseWriteFileDescriptor() override; // Close both descriptors void Close() override; Status Delete(llvm::StringRef name) override; Status Write(const void *buf, size_t size, size_t &bytes_written) override; Status ReadWithTimeout(void *buf, size_t size, const std::chrono::microseconds &timeout, size_t &bytes_read) override; private: int m_fds[2]; }; } // namespace lldb_private #endif // #if defined(__cplusplus) #endif // LLDB_HOST_POSIX_PIPEPOSIX_H
Upload File
Create Folder