|
Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
|


Go to the source code of this file.
Classes | |
| struct | IoStat |
| Resource information. More... | |
| struct | IoIntf |
| The IoIntf class specifies an abstract file API, implementations include ZipIo, DiskIo, and NetIo. More... | |
| struct | DirIntf |
| Directory handle for a directory opened with IoIntf_OpenDir. More... | |
| struct | ResIntf |
| Resource handle for a file opened with IoIntf_OpenRes. More... | |
| #define | IOINTF_OK 0 |
| Error codes (status) More... | |
| #define | IOINTF_EOF 1 |
| End of file from ResIntf_Read. More... | |
| #define | IOINTF_INVALIDNAME -11 |
| Invalid name or name not accepted by IOINTF implementation. More... | |
| #define | IOINTF_NOTFOUND -12 |
| Resource not found. More... | |
| #define | IOINTF_EXIST -13 |
| Resource exists and cannot be overwritten. More... | |
| #define | IOINTF_ENOENT -14 |
| Path (parent directory) not found. More... | |
| #define | IOINTF_NOACCESS -15 |
| No access or resource locked by file system. More... | |
| #define | IOINTF_NOTEMPTY -16 |
| A directory resource is not empty. More... | |
| #define | IOINTF_NOSPACE -17 |
| No space left on device. More... | |
| #define | IOINTF_IOERROR -18 |
| Some kind of IO error. More... | |
| #define | IOINTF_MEM -19 |
| Memory allocation error when working with resource. More... | |
| #define | IOINTF_NOIMPLEMENTATION -50 |
| Method not implemented. More... | |
| #define | IOINTF_BUFTOOSMALL -51 |
| The provided buffer is too small. More... | |
| #define | IOINTF_NOZIPLIB -100 |
| IoIntf_OpenRes cannot uncompress the file since no NO_ZLIB is defined. More... | |
| #define | IOINTF_NOTCOMPRESSED -101 |
| IoIntf_OpenResGzip is not willing to compress the data. More... | |
| #define | IOINTF_ZIPERROR -102 |
| Error in compressed data. More... | |
| #define | IOINTF_NOAESLIB -200 |
| Encrypted ZIP file requires AES, but AES is not enabled in ZipIo.c. More... | |
| #define | IOINTF_AES_NO_SUPPORT -201 |
| Unknown AES encryption or not an AES encrypted ZIP file. More... | |
| #define | IOINTF_NO_PASSWORD -202 |
| File is AES encrypted, but password was not entered. More... | |
| #define | IOINTF_WRONG_PASSWORD -203 |
| Wrong password for AES encrypted file. More... | |
| #define | IOINTF_AES_WRONG_AUTH -204 |
| Password does not match password in the file being accessed in the ZIP file. More... | |
| #define | IOINTF_AES_COMPROMISED -205 |
| The file being accessed in the ZIP file is changed from an AES encrypted file to a non-encrypted file. More... | |
| #define | OpenRes_READ 1 |
| Open resource read. More... | |
| #define | OpenRes_WRITE 2 |
| Open resource write. More... | |
| #define | OpenRes_APPEND 4 |
| Open resource and append. More... | |
| #define | IoIntf_constructorRW(o, property, closeDir, mkDir, rename, openDir, openRes, openResGzip, rm, rmDir, st) |
| Initialize an I/O interface with caller-supplied callbacks. More... | |
| #define | IoIntf_constructorR(o, property, closeDir, openDir, openRes, openResGzip, st) |
| Initialize an I/O interface with caller-supplied callbacks. More... | |
| #define | DirIntf_constructor(o, read, getName, st) |
| Install directory handle callbacks; no allocation or return value. More... | |
| #define | ResIntf_constructor(o, read, write, seek, flush, close) |
| Install resource handle callbacks; no allocation or return value. More... | |
| typedef ResIntfPtr(* | IoIntf_InflateGzip) (IoIntfPtr io, const char *name, int *status, const char **ecode) |
| Open a destination that accepts gzip bytes and stores decompressed data. More... | |
| typedef ResIntfPtr(* | IoIntf_DeflateGzip) (ResIntfPtr resPtr, const char *name, ThreadMutex *m, BaFileSize *size, BaBool *isCompressed) |
| Optionally compress an open resource or range into temporary gzip storage. More... | |
| typedef int(* | IoIntf_Property) (IoIntfPtr o, const char *name, void *a, void *b) |
| Implementation-specific property operation. More... | |
| typedef DirIntfPtr(* | IoIntf_OpenDir) (IoIntfPtr o, const char *dirname, int *status, const char **ecode) |
| Open a directory iterator before its first entry. More... | |
| typedef int(* | IoIntf_Stat) (IoIntfPtr o, const char *name, IoStat *st) |
| Fetch metadata for a file or directory. More... | |
| typedef ResIntfPtr(* | IoIntf_OpenRes) (IoIntfPtr o, const char *name, U32 mode, int *status, const char **ecode) |
| Open a file for reading or writing. More... | |
| typedef int(* | IoIntf_CloseDir) (IoIntfPtr o, DirIntfPtr *dirIntf) |
| Consume and close a directory iterator. More... | |
| typedef ResIntfPtr(* | IoIntf_OpenResGzip) (IoIntfPtr o, const char *name, ThreadMutex *m, BaFileSize *size, int *status, const char **ecode) |
| Open a gzip representation for reading when supported. More... | |
| typedef int(* | IoIntf_MkDir) (IoIntfPtr o, const char *name, const char **ecode) |
| Create a directory. More... | |
| typedef int(* | IoIntf_Rename) (IoIntfPtr o, const char *from, const char *to, const char **ecode) |
| Rename or move a resource within this filesystem. More... | |
| typedef int(* | IoIntf_Remove) (IoIntfPtr o, const char *name, const char **ecode) |
| Remove a file. More... | |
| typedef int(* | IoIntf_RmDir) (IoIntfPtr o, const char *name, const char **ecode) |
| Remove an empty directory. More... | |
| typedef int(* | IoIntf_SeekAndRead) (ResIntfPtr super, BaFileSize offset, void *buf, size_t maxSize, size_t *size) |
| Perform a combined seek and read on a resource. More... | |
| typedef void(* | IoIntf_OnTerminate) (IoIntfPtr o, IoIntfPtr io) |
| Notify a filesystem attachment of termination/replacement. More... | |
| typedef struct IoIntf | IoIntf |
| The IoIntf class specifies an abstract file API, implementations include ZipIo, DiskIo, and NetIo. More... | |
| typedef int(* | DirIntf_Read) (DirIntfPtr o) |
| Advance to the next directory entry, including the first after open. More... | |
| typedef const char *(* | DirIntf_GetName) (DirIntfPtr o) |
| Access the current entry name after successful readFp. More... | |
| typedef int(* | DirIntf_Stat) (DirIntfPtr o, IoStat *st) |
| Fetch metadata for the current entry after successful readFp. More... | |
| typedef struct DirIntf | DirIntf |
| Directory handle for a directory opened with IoIntf_OpenDir. More... | |
| typedef int(* | ResIntf_Read) (ResIntfPtr o, void *buf, size_t maxSize, size_t *size) |
| Read binary bytes at the current resource position. More... | |
| typedef int(* | ResIntf_Write) (ResIntfPtr o, const void *buf, size_t size) |
| Write binary bytes at the current resource position. More... | |
| typedef int(* | ResIntf_Seek) (ResIntfPtr o, BaFileSize offset) |
| Set the resource position relative to its beginning. More... | |
| typedef int(* | ResIntf_Flush) (ResIntfPtr o) |
| Flush buffered writes through the implementation. More... | |
| typedef int(* | ResIntf_Close) (ResIntfPtr o) |
| Close and consume a resource handle. More... | |
| typedef struct ResIntf | ResIntf |
| Resource handle for a file opened with IoIntf_OpenRes. More... | |
| BA_API int | IoIntf_setPassword (IoIntfPtr o, const char *password, size_t passwordLen) |
| wrapper for IoIntf_Property: 'pl'. More... | |
| BA_API int | IoIntf_setPasswordProp (IoIntfPtr o, BaBool passwordRequired, BaBool passwordBin) |
| wrapper for IoIntf_Property: 'pp'. More... | |
| BA_API char * | IoIntf_getAbspath (IoIntfPtr o, const char *path) |
| wrapper for IoIntf_Property: 'abs'. More... | |
| BA_API int | IoIntf_getType (IoIntfPtr o, const char **type, const char **platform) |
| Query the implementation's type property. More... | |
| BA_API int | IoIntf_isEncrypted (IoIntfPtr o, const char *name, BaBool *isEncrypted) |
| wrapper for IoIntf_Property: 'aes'. More... | |
| BA_API void | IoIntf_destructor (IoIntfPtr o) |
| Invoke the implementation's "destructor" property. More... | |