9typedef struct VFSFSFile VFSFSFile;
10typedef struct VFSFSFile_WeakRef VFSFSFile_WeakRef;
14typedef struct VFSFSFile_ClassIf {
19 bool (*close)(_In_
void* self);
20 bool (*read)(_In_
void* self, _Out_writes_bytes_to_(sz, *bytesread)
void* buf,
size_t sz, _Out_ _Deref_out_range_(0, sz)
size_t* bytesread);
21 bool (*write)(_In_
void* self, _In_reads_bytes_(sz)
void* buf,
size_t sz, _Out_opt_ _Deref_out_range_(0, sz)
size_t* byteswritten);
22 int64 (*tell)(_In_
void* self);
23 int64 (*seek)(_In_
void* self, int64 off,
FSSeekType seektype);
24 bool (*flush)(_In_
void* self);
26extern VFSFSFile_ClassIf VFSFSFile_ClassIf_tmpl;
28typedef struct VFSFSFile {
41#define VFSFSFile(inst) ((VFSFSFile*)(unused_noeval((inst) && &((inst)->_is_VFSFSFile)), (inst)))
42#define VFSFSFileNone ((VFSFSFile*)NULL)
44typedef struct VFSFSFile_WeakRef {
47 void* _is_VFSFSFile_WeakRef;
48 void* _is_ObjInst_WeakRef;
53#define VFSFSFile_WeakRef(inst) ((VFSFSFile_WeakRef*)(unused_noeval((inst) && &((inst)->_is_VFSFSFile_WeakRef)), (inst)))
57#define vfsfsfileCreate(f) VFSFSFile_create(f)
60#define vfsfsfileClose(self) (self)->_->close(VFSFSFile(self))
62#define vfsfsfileRead(self, buf, sz, bytesread) (self)->_->read(VFSFSFile(self), buf, sz, bytesread)
64#define vfsfsfileWrite(self, buf, sz, byteswritten) (self)->_->write(VFSFSFile(self), buf, sz, byteswritten)
66#define vfsfsfileTell(self) (self)->_->tell(VFSFSFile(self))
68#define vfsfsfileSeek(self, off, seektype) (self)->_->seek(VFSFSFile(self), off, seektype)
70#define vfsfsfileFlush(self) (self)->_->flush(VFSFSFile(self))
Low-level file I/O operations.
#define saDeclarePtr(name)
enum FSSeekTypeEnum FSSeekType
#define _objfactory_guaranteed
CX Object System - Object-oriented programming in C.