10#ifndef LLDB_HOST_PIPEBASE_H
11#define LLDB_HOST_PIPEBASE_H
15#include "llvm/ADT/SmallVector.h"
16#include "llvm/ADT/StringRef.h"
17#include "llvm/Support/Error.h"
53 virtual llvm::Expected<size_t>
54 Write(
const void *buf,
size_t size,
57 virtual llvm::Expected<size_t>
58 Read(
void *buf,
size_t size,
virtual Status CreateWithUniqueName(llvm::StringRef prefix, llvm::SmallVectorImpl< char > &name)=0
virtual Status Delete(llvm::StringRef name)=0
virtual int GetReadFileDescriptor() const =0
virtual int GetWriteFileDescriptor() const =0
virtual llvm::Error OpenAsWriter(llvm::StringRef name, const Timeout< std::micro > &timeout)=0
virtual void CloseWriteFileDescriptor()=0
virtual int ReleaseReadFileDescriptor()=0
virtual llvm::Expected< size_t > Write(const void *buf, size_t size, const Timeout< std::micro > &timeout=std::nullopt)=0
virtual bool CanWrite() const =0
virtual Status CreateNew()=0
virtual llvm::Expected< size_t > Read(void *buf, size_t size, const Timeout< std::micro > &timeout=std::nullopt)=0
virtual void CloseReadFileDescriptor()=0
virtual bool CanRead() const =0
virtual Status CreateNew(llvm::StringRef name)=0
virtual int ReleaseWriteFileDescriptor()=0
virtual Status OpenAsReader(llvm::StringRef name)=0
virtual lldb::pipe_t GetWritePipe() const =0
virtual lldb::pipe_t GetReadPipe() const =0
A class that represents a running process on the host machine.