1 #ifndef STORAGE_FACTORY_FILE_H
2 #define STORAGE_FACTORY_FILE_H
9 namespace edm::storage {
22 virtual void create(
const char *name,
bool exclusive =
false,
int perms = 0666);
23 virtual void create(
const std::string &name,
bool exclusive =
false,
int perms = 0666);
50 void flush()
override;
51 void close()
override;
67 static void sysopen(
const char *name,
int flags,
int perms,
IOFD &newfd,
unsigned &newflags);
74 #endif // STORAGE_FACTORY_FILE_H
virtual IOSize readv(IOBuffer *into, IOSize buffers)
IOSize syswrite(const void *from, IOSize n)
virtual void setAutoClose(bool closeit)
IOSize syswritev(const IOBuffer *from, IOSize length)
virtual IOOffset position() const
virtual void open(const char *name, int flags=IOFlags::OpenRead, int perms=0666)
bool prefetch(const IOPosBuffer *what, IOSize n) override
static void sysopen(const char *name, int flags, int perms, IOFD &newfd, unsigned &newflags)
static IOFD sysduplicate(IOFD fd)
IOSize write(const void *from, IOSize n) override
IOSize readv(IOBuffer *into, IOSize length) override
virtual IOSize writev(const IOBuffer *from, IOSize buffers)
File * duplicate(bool copy) const
IOOffset size() const override
void resize(IOOffset size) override
virtual void create(const char *name, bool exclusive=false, int perms=0666)
IOSize write(unsigned char byte)
constexpr int EDM_IOFD_INVALID
virtual void attach(IOFD fd)
static bool sysclose(IOFD fd, int *error=nullptr)
IOSize writev(const IOBuffer *from, IOSize length) override