This commit is contained in:
2022-01-09 18:03:02 +08:00
parent 0a9e149e66
commit 78a3e890d2
6 changed files with 228 additions and 0 deletions

View File

@@ -10,6 +10,11 @@ typedef struct MemFile {
size_t len;
size_t loc;
} MemFile;
typedef struct CMemFile {
const char* data;
size_t len;
size_t loc;
} CMemFile;
/**
* @brief Create a new memory file
@@ -18,9 +23,23 @@ typedef struct MemFile {
* @return MemFile struct if succeessed otherwise NULL.
*/
MemFile* new_memfile(const char* data, size_t len);
/**
* @brief Create a new memory file
* @param data Data. Will not allocate new memory for data. Make sure it can be used.
* @param len The size of data.
* @return CMemFile struct if succeessed otherwise NULL.
*/
CMemFile* new_cmemfile(const char* data, size_t len);
void free_memfile(MemFile* f);
void free_cmemfile(CMemFile* f);
size_t memfile_read(MemFile* f, char* buf, size_t buf_len);
size_t cmemfile_read(CMemFile* f, size_t buf_len, char* buf);
int cmemfile_seek(CMemFile* f, int64_t offset, int origin);
int64_t cmemfile_tell(CMemFile* f);
int memfile_readpacket(void* f, uint8_t* buf, int buf_size);
size_t cmemfile_read2(void* f, size_t buf_len, char* buf);
int cmemfile_seek2(void* f, int64_t offset, int origin);
int64_t cmemfile_tell2(void* f);
#ifdef __cplusplus
}
#endif