|
Blender V4.3
|
Wrapper for reading from various sources (e.g. raw files, compressed files, memory...). More...
Go to the source code of this file.
Classes | |
| struct | FileReader |
Typedefs | |
| typedef int64_t(* | FileReaderReadFn) (struct FileReader *reader, void *buffer, size_t size) |
| typedef off64_t(* | FileReaderSeekFn) (struct FileReader *reader, off64_t offset, int whence) |
| typedef void(* | FileReaderCloseFn) (struct FileReader *reader) |
| typedef struct FileReader | FileReader |
Functions | |
| FileReader * | BLI_filereader_new_file (int filedes) ATTR_WARN_UNUSED_RESULT |
| FileReader * | BLI_filereader_new_mmap (int filedes) ATTR_WARN_UNUSED_RESULT |
| FileReader * | BLI_filereader_new_memory (const void *data, size_t len) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() |
| FileReader * | BLI_filereader_new_zstd (FileReader *base) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() |
| FileReader * | BLI_filereader_new_gzip (FileReader *base) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() |
Wrapper for reading from various sources (e.g. raw files, compressed files, memory...).
Definition in file BLI_filereader.h.
| typedef struct FileReader FileReader |
General structure for all #FileReaders, implementations add custom fields at the end.
| typedef void(* FileReaderCloseFn) (struct FileReader *reader) |
Definition at line 34 of file BLI_filereader.h.
| typedef int64_t(* FileReaderReadFn) (struct FileReader *reader, void *buffer, size_t size) |
Definition at line 32 of file BLI_filereader.h.
| typedef off64_t(* FileReaderSeekFn) (struct FileReader *reader, off64_t offset, int whence) |
Definition at line 33 of file BLI_filereader.h.
| FileReader * BLI_filereader_new_file | ( | int | filedes | ) |
Create FileReader from raw file descriptor.
Definition at line 54 of file filereader_file.c.
References FileReader::close, file_close(), file_read(), file_seek(), RawFileReader::filedes, MEM_callocN, FileReader::read, RawFileReader::reader, and FileReader::seek.
Referenced by blo_filedata_from_file_descriptor(), extract_png_from_blend_file(), and wm_read_exotic().
| FileReader * BLI_filereader_new_gzip | ( | FileReader * | base | ) |
Create FileReader from applying Gzip decompression on an underlying file.
Definition at line 75 of file filereader_gzip.c.
References GzipReader::base, FileReader::close, gzip_close(), gzip_read(), GzipReader::in_buf, GzipReader::in_size, MEM_callocN, MEM_freeN(), MEM_mallocN, NULL, FileReader::read, GzipReader::reader, FileReader::seek, and GzipReader::strm.
Referenced by blendthumb_create_thumb_from_file(), blo_filedata_from_file_descriptor(), blo_filedata_from_memory(), and wm_read_exotic().
| FileReader * BLI_filereader_new_memory | ( | const void * | data, |
| size_t | len ) |
Create FileReader from a region of memory.
Definition at line 70 of file filereader_memory.c.
References FileReader::close, MemoryReader::data, len, MemoryReader::length, MEM_callocN, memory_close_raw(), memory_read_raw(), memory_seek(), FileReader::read, MemoryReader::reader, and FileReader::seek.
Referenced by blo_filedata_from_memory().
| FileReader * BLI_filereader_new_mmap | ( | int | filedes | ) |
Create FileReader from raw file descriptor using memory-mapped IO.
Definition at line 113 of file filereader_memory.c.
References BLI_mmap_get_length(), BLI_mmap_open(), FileReader::close, MemoryReader::length, MEM_callocN, memory_close_mmap(), memory_read_mmap(), memory_seek(), MemoryReader::mmap, NULL, FileReader::read, MemoryReader::reader, and FileReader::seek.
Referenced by blo_filedata_from_file_descriptor().
| FileReader * BLI_filereader_new_zstd | ( | FileReader * | base | ) |
Create FileReader from applying Zstd decompression on an underlying file.
Definition at line 301 of file filereader_zstd.c.
References ZstdReader::base, FileReader::close, ZstdReader::ctx, ZstdReader::in_buf, ZstdReader::in_buf_max_size, MEM_callocN, MEM_mallocN, NULL, FileReader::read, ZstdReader::reader, FileReader::seek, zstd_close(), zstd_read(), zstd_read_seek_table(), zstd_read_seekable(), and zstd_seek().
Referenced by blendthumb_create_thumb_from_file(), blo_filedata_from_file_descriptor(), blo_filedata_from_memory(), and wm_read_exotic().