| /* gi_blorb.h: Blorb library layer for Glk API. | |
| gi_blorb version 1.6.1. | |
| Designed by Andrew Plotkin <erkyrath@eblong.com> | |
| http://eblong.com/zarf/glk/ | |
| This file is copyright 1998-2017 by Andrew Plotkin. It is | |
| distributed under the MIT license; see the "LICENSE" file. | |
| */ | |
| /* Error type and error codes */ | |
| typedef glui32 giblorb_err_t; | |
| /* Methods for loading a chunk */ | |
| /* Four-byte constants */ | |
| (((c1) << 24) | ((c2) << 16) | ((c3) << 8) | (c4)) | |
| /* giblorb_map_t: Holds the complete description of an open Blorb | |
| file. This type is opaque for normal interpreter use. */ | |
| typedef struct giblorb_map_struct giblorb_map_t; | |
| /* giblorb_result_t: Result when you try to load a chunk. */ | |
| typedef struct giblorb_result_struct { | |
| glui32 chunknum; /* The chunk number (for use in | |
| giblorb_unload_chunk(), etc.) */ | |
| union { | |
| void *ptr; /* A pointer to the data (if you used | |
| giblorb_method_Memory) */ | |
| glui32 startpos; /* The position in the file (if you | |
| used giblorb_method_FilePos) */ | |
| } data; | |
| glui32 length; /* The length of the data */ | |
| glui32 chunktype; /* The type of the chunk. */ | |
| } giblorb_result_t; | |
| typedef struct giblorb_image_info_struct { | |
| glui32 chunktype; | |
| glui32 width; | |
| glui32 height; | |
| char *alttext; | |
| } giblorb_image_info_t; | |
| extern giblorb_err_t giblorb_create_map(strid_t file, | |
| giblorb_map_t **newmap); | |
| extern giblorb_err_t giblorb_destroy_map(giblorb_map_t *map); | |
| extern giblorb_err_t giblorb_load_chunk_by_type(giblorb_map_t *map, | |
| glui32 method, giblorb_result_t *res, glui32 chunktype, | |
| glui32 count); | |
| extern giblorb_err_t giblorb_load_chunk_by_number(giblorb_map_t *map, | |
| glui32 method, giblorb_result_t *res, glui32 chunknum); | |
| extern giblorb_err_t giblorb_unload_chunk(giblorb_map_t *map, | |
| glui32 chunknum); | |
| extern giblorb_err_t giblorb_load_resource(giblorb_map_t *map, | |
| glui32 method, giblorb_result_t *res, glui32 usage, | |
| glui32 resnum); | |
| extern giblorb_err_t giblorb_count_resources(giblorb_map_t *map, | |
| glui32 usage, glui32 *num, glui32 *min, glui32 *max); | |
| extern giblorb_err_t giblorb_load_image_info(giblorb_map_t *map, | |
| glui32 resnum, giblorb_image_info_t *res); | |
| /* The following functions are part of the Glk library itself, not | |
| the Blorb layer (whose code is in gi_blorb.c). These functions | |
| are necessarily implemented in platform-dependent code. | |
| */ | |
| extern giblorb_err_t giblorb_set_resource_map(strid_t file); | |
| extern giblorb_map_t *giblorb_get_resource_map(void); | |
Xet Storage Details
- Size:
- 3.82 kB
- Xet hash:
- 5c57e7e0be99adb9a80a4ec79219ef5c1837eab12d6d809dc231313d6ccb9116
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.