1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
/* File z-util.h */
#ifndef INCLUDED_Z_UTIL_H
#define INCLUDED_Z_UTIL_H
#ifdef __cplusplus
extern "C" {
#endif
#include "h-basic.h"
/*
* Extremely basic stuff, like global temp and constant variables.
* Also, some very useful low level functions, such as "streq()".
* All variables and functions in this file are "addressable".
*/
/**** Available variables ****/
/* Temporary Vars */
extern char char_tmp;
extern byte byte_tmp;
extern sint sint_tmp;
extern uint uint_tmp;
extern long long_tmp;
extern huge huge_tmp;
extern errr errr_tmp;
/* Temporary Pointers */
extern cptr cptr_tmp;
extern vptr vptr_tmp;
/* Constant pointers (NULL) */
extern cptr cptr_null;
extern vptr vptr_null;
/* A bizarre vptr that always points at itself */
extern vptr vptr_self;
/* A cptr to the name of the program */
extern cptr argv0;
/* Aux functions */
extern void (*plog_aux)(cptr);
extern void (*quit_aux)(cptr);
extern void (*core_aux)(cptr);
/**** Available Functions ****/
/* Function that does nothing */
extern void func_nothing(void);
/* Functions that return basic "errr" codes */
extern errr func_success(void);
extern errr func_problem(void);
extern errr func_failure(void);
/* Functions that return bools */
extern bool_ func_true(void);
extern bool_ func_false(void);
/* Test equality, prefix, suffix */
extern bool_ streq(cptr s, cptr t);
extern bool_ prefix(cptr s, cptr t);
extern bool_ suffix(cptr s, cptr t);
/* Print an error message */
extern void plog(cptr str);
/* Exit, with optional message */
extern void quit(cptr str);
/* Dump core, with optional message */
extern void core(cptr str);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif
|