Blender
V3.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 ssize_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 33 of file BLI_filereader.h.
typedef ssize_t(* FileReaderReadFn) (struct FileReader *reader, void *buffer, size_t size) |
Definition at line 31 of file BLI_filereader.h.
typedef off64_t(* FileReaderSeekFn) (struct FileReader *reader, off64_t offset, int whence) |
Definition at line 32 of file BLI_filereader.h.
FileReader* BLI_filereader_new_file | ( | int | filedes | ) |
Create FileReader from raw file descriptor.
Definition at line 53 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 74 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 69 of file filereader_memory.c.
References FileReader::close, MemoryReader::data, 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 112 of file filereader_memory.c.
References BLI_lseek(), 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 297 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().