Convert blorb.h to K&R style.
authorDavid Griffith <dave@661.org>
Mon, 23 Sep 2019 21:28:21 +0000 (14:28 -0700)
committerDavid Griffith <dave@661.org>
Tue, 24 Sep 2019 01:03:24 +0000 (18:03 -0700)
src/dos/blorb.h

index d3e3997a20446519e8b1c88448509fc4d8490afd..87b1d567988e21b66386bc6816172d7b69920bd8 100644 (file)
-#ifndef BLORB_H\r
-#define BLORB_H\r
-\r
-/* blorb.h: Header file for Blorb library, version 1.0.2.\r
-    Designed by Andrew Plotkin <erkyrath@eblong.com>\r
-    http://www.eblong.com/zarf/blorb/index.html\r
-\r
-    This is the header that a Z-machine interpreter should include.\r
-    It defines everything that the interpreter has to know.\r
-*/\r
-\r
-/* Things you (the porter) have to edit: */\r
-\r
-/* As you might expect, uint32 must be a 32-bit unsigned numeric type,\r
-    and uint16 a 16-bit unsigned numeric type. You should also uncomment\r
-    exactly one of the two ENDIAN definitions. */\r
-\r
-typedef unsigned long uint32;\r
-typedef unsigned short uint16;\r
-\r
-/* End of things you have to edit. */\r
-\r
-#ifndef TRUE\r
-#define TRUE 1\r
-#endif\r
-#ifndef FALSE\r
-#define FALSE 0\r
-#endif\r
-\r
-/* Error type and error codes */\r
-typedef int bb_err_t;\r
-\r
-#define bb_err_None (0)\r
-#define bb_err_CompileTime (1)\r
-#define bb_err_Alloc (2)\r
-#define bb_err_Read (3)\r
-#define bb_err_NotAMap (4)\r
-#define bb_err_Format (5)\r
-#define bb_err_NotFound (6)\r
-\r
-/* Methods for loading a chunk */\r
-#define bb_method_DontLoad (0)\r
-#define bb_method_Memory (1)\r
-#define bb_method_FilePos (2)\r
-\r
-/* Four-byte constants */\r
-\r
-/*#define bb_make_id(c1, c2, c3, c4)  \\r
-    (((c1) << 24) | ((c2) << 16) | ((c3) << 8) | (c4))\r
-*/\r
-#define bb_ID_Snd  1399743520\r
-#define bb_ID_Exec 1165518179\r
-#define bb_ID_Pict 1349084020\r
-#define bb_ID_Copyright 677587232\r
-#define bb_ID_AUTH 1096111176\r
-#define bb_ID_ANNO 1095650895\r
-\r
-#define bb_ID_ZCOD 1514360644\r
-\r
-/* bb_result_t: Result when you try to load a chunk. */\r
-typedef struct bb_result_struct {\r
-    int chunknum; /* The chunk number (for use in bb_unload_chunk(), etc.) */\r
-    union {\r
-        void *ptr; /* A pointer to the data (if you used bb_method_Memory) */\r
-       uint32 startpos; /* The position in the file (if you used bb_method_FilePos) */\r
-    } data;\r
-    uint32 length; /* The length of the data */\r
-} bb_result_t;\r
-\r
-/* bb_aux_sound_t: Extra data which may be associated with a sound. */\r
-typedef struct bb_aux_sound_struct {\r
-    char repeats;\r
-} bb_aux_sound_t;\r
-\r
-/* bb_aux_pict_t: Extra data which may be associated with an image. */\r
-typedef struct bb_aux_pict_struct {\r
-    uint32 ratnum, ratden;\r
-    uint32 minnum, minden;\r
-    uint32 maxnum, maxden;\r
-} bb_aux_pict_t;\r
-\r
-/* bb_resolution_t: The global resolution data. */\r
-typedef struct bb_resolution_struct {\r
-    uint32 px, py;\r
-    uint32 minx, miny;\r
-    uint32 maxx, maxy;\r
-} bb_resolution_t;\r
-\r
-/* bb_color_t: Guess what. */\r
-typedef struct bb_color_struct {\r
-    unsigned char red, green, blue;\r
-} bb_color_t;\r
-\r
-/* bb_palette_t: The palette data. */\r
-typedef struct bb_palette_struct {\r
-    int isdirect;\r
-    union {\r
-       int depth; /* The depth (if isdirect is TRUE). Either 16 or 32. */\r
-        struct {\r
-            int numcolors;\r
-            bb_color_t *colors;\r
-        } table; /* The list of colors (if isdirect is FALSE). */\r
-    } data;\r
-} bb_palette_t;\r
-\r
-/* bb_zheader_t: Information to identify a Z-code file. */\r
-typedef struct bb_zheader_struct {\r
-    uint16 releasenum; /* Bytes $2-3 of header. */\r
-    char serialnum[6]; /* Bytes $12-17 of header. */\r
-    uint16 checksum; /* Bytes $1C-1D of header. */\r
-    /* The initpc field is not used by Blorb. */\r
-} bb_zheader_t;\r
-\r
-/* bb_map_t: Holds the complete description of an open Blorb file.\r
-    This type is opaque for normal interpreter use. */\r
-typedef struct bb_map_struct bb_map_t;\r
-\r
-/* Function declarations. These functions are of fairly general use;\r
-    they would apply to any Blorb file. */\r
-\r
-extern bb_err_t bb_create_map(FILE *file, bb_map_t **newmap);\r
-extern bb_err_t bb_destroy_map(bb_map_t *map);\r
-\r
-extern char *bb_err_to_string(bb_err_t err);\r
-\r
-extern bb_err_t bb_load_chunk_by_type(bb_map_t *map, int method,\r
-    bb_result_t *res, uint32 chunktype, int count);\r
-extern bb_err_t bb_load_chunk_by_number(bb_map_t *map, int method,\r
-    bb_result_t *res, int chunknum);\r
-extern bb_err_t bb_unload_chunk(bb_map_t *map, int chunknum);\r
-\r
-extern bb_err_t bb_load_resource(bb_map_t *map, int method,\r
-    bb_result_t *res, uint32 usage, int resnum);\r
-extern bb_err_t bb_count_resources(bb_map_t *map, uint32 usage,\r
-    int *num, int *min, int *max);\r
-\r
-/* More function declarations. These functions are more or less\r
-    specific to the Z-machine's use of Blorb. */\r
-\r
-extern uint16 bb_get_release_num(bb_map_t *map);\r
-extern bb_zheader_t *bb_get_zheader(bb_map_t *map);\r
-extern bb_resolution_t *bb_get_resolution(bb_map_t *map);\r
-extern bb_err_t bb_get_palette(bb_map_t *map, bb_palette_t **res);\r
-extern bb_err_t bb_load_resource_pict(bb_map_t *map, int method,\r
-    bb_result_t *res, int resnum, bb_aux_pict_t **auxdata);\r
-extern bb_err_t bb_load_resource_snd(bb_map_t *map, int method,\r
-    bb_result_t *res, int resnum, bb_aux_sound_t **auxdata);\r
-\r
-#endif /* BLORB_H */\r
+#ifndef BLORB_H
+#define BLORB_H
+
+/* blorb.h: Header file for Blorb library, version 1.0.2.
+    Designed by Andrew Plotkin <erkyrath@eblong.com>
+    http://www.eblong.com/zarf/blorb/index.html
+
+    This is the header that a Z-machine interpreter should include.
+    It defines everything that the interpreter has to know.
+*/
+
+/* Things you (the porter) have to edit: */
+
+/* As you might expect, uint32 must be a 32-bit unsigned numeric type,
+    and uint16 a 16-bit unsigned numeric type. You should also uncomment
+    exactly one of the two ENDIAN definitions. */
+
+typedef unsigned long uint32;
+typedef unsigned short uint16;
+
+/* End of things you have to edit. */
+
+#ifndef TRUE
+#define TRUE 1
+#endif
+#ifndef FALSE
+#define FALSE 0
+#endif
+
+/* Error type and error codes */
+typedef int bb_err_t;
+
+#define bb_err_None (0)
+#define bb_err_CompileTime (1)
+#define bb_err_Alloc (2)
+#define bb_err_Read (3)
+#define bb_err_NotAMap (4)
+#define bb_err_Format (5)
+#define bb_err_NotFound (6)
+
+/* Methods for loading a chunk */
+#define bb_method_DontLoad (0)
+#define bb_method_Memory (1)
+#define bb_method_FilePos (2)
+
+/* Four-byte constants */
+
+/*#define bb_make_id(c1, c2, c3, c4)  \
+    (((c1) << 24) | ((c2) << 16) | ((c3) << 8) | (c4))
+*/
+#define bb_ID_Snd  1399743520
+#define bb_ID_Exec 1165518179
+#define bb_ID_Pict 1349084020
+#define bb_ID_Copyright 677587232
+#define bb_ID_AUTH 1096111176
+#define bb_ID_ANNO 1095650895
+
+#define bb_ID_ZCOD 1514360644
+
+/* bb_result_t: Result when you try to load a chunk. */
+typedef struct bb_result_struct {
+       int chunknum;           /* The chunk number (for use in bb_unload_chunk(), etc.) */
+       union {
+               void *ptr;       /* A pointer to the data (if you used bb_method_Memory) */
+               uint32 startpos; /* The position in the file (if you used bb_method_FilePos) */
+       } data;
+       uint32 length;          /* The length of the data */
+} bb_result_t;
+
+/* bb_aux_sound_t: Extra data which may be associated with a sound. */
+typedef struct bb_aux_sound_struct {
+       char repeats;
+} bb_aux_sound_t;
+
+/* bb_aux_pict_t: Extra data which may be associated with an image. */
+typedef struct bb_aux_pict_struct {
+       uint32 ratnum, ratden;
+       uint32 minnum, minden;
+       uint32 maxnum, maxden;
+} bb_aux_pict_t;
+
+/* bb_resolution_t: The global resolution data. */
+typedef struct bb_resolution_struct {
+       uint32 px, py;
+       uint32 minx, miny;
+       uint32 maxx, maxy;
+} bb_resolution_t;
+
+/* bb_color_t: Guess what. */
+typedef struct bb_color_struct {
+       unsigned char red, green, blue;
+} bb_color_t;
+
+/* bb_palette_t: The palette data. */
+typedef struct bb_palette_struct {
+       int isdirect;
+       union {
+               int depth;      /* The depth (if isdirect is TRUE). Either 16 or 32. */
+               struct {
+                       int numcolors;
+                       bb_color_t *colors;
+               } table;        /* The list of colors (if isdirect is FALSE). */
+       } data;
+} bb_palette_t;
+
+/* bb_zheader_t: Information to identify a Z-code file. */
+typedef struct bb_zheader_struct {
+       uint16 releasenum;      /* Bytes $2-3 of header. */
+       char serialnum[6];      /* Bytes $12-17 of header. */
+       uint16 checksum;        /* Bytes $1C-1D of header. */
+       /* The initpc field is not used by Blorb. */
+} bb_zheader_t;
+
+/* bb_map_t: Holds the complete description of an open Blorb file.
+    This type is opaque for normal interpreter use. */
+typedef struct bb_map_struct bb_map_t;
+
+/* Function declarations. These functions are of fairly general use;
+    they would apply to any Blorb file. */
+
+extern bb_err_t bb_create_map(FILE * file, bb_map_t ** newmap);
+extern bb_err_t bb_destroy_map(bb_map_t * map);
+
+extern char *bb_err_to_string(bb_err_t err);
+
+extern bb_err_t bb_load_chunk_by_type(bb_map_t * map, int method,
+                                     bb_result_t * res, uint32 chunktype,
+                                     int count);
+extern bb_err_t bb_load_chunk_by_number(bb_map_t * map, int method,
+                                       bb_result_t * res, int chunknum);
+extern bb_err_t bb_unload_chunk(bb_map_t * map, int chunknum);
+
+extern bb_err_t bb_load_resource(bb_map_t * map, int method,
+                                bb_result_t * res, uint32 usage, int resnum);
+extern bb_err_t bb_count_resources(bb_map_t * map, uint32 usage,
+                                  int *num, int *min, int *max);
+
+/* More function declarations. These functions are more or less
+    specific to the Z-machine's use of Blorb. */
+
+extern uint16 bb_get_release_num(bb_map_t * map);
+extern bb_zheader_t *bb_get_zheader(bb_map_t * map);
+extern bb_resolution_t *bb_get_resolution(bb_map_t * map);
+extern bb_err_t bb_get_palette(bb_map_t * map, bb_palette_t ** res);
+extern bb_err_t bb_load_resource_pict(bb_map_t * map, int method,
+                                     bb_result_t * res, int resnum,
+                                     bb_aux_pict_t ** auxdata);
+extern bb_err_t bb_load_resource_snd(bb_map_t * map, int method,
+                                    bb_result_t * res, int resnum,
+                                    bb_aux_sound_t ** auxdata);
+
+#endif /* BLORB_H */