/* ------------------------------------------------------------------------ */ /* */ /* [glo_tab.h] Global Table */ /* */ /* Copyright (c) 1993 by Lars D\olle, Heike Manns */ /* ------------------------------------------------------------------------ */ /* File generated by 'ctoh'. Don't change manually. */ #ifndef glo_tab_INCL #define glo_tab_INCL #include "standard.h" #include "symbols.h" #ifdef __cplusplus extern "C" { #endif /*
Through the means of the module [glo_tab] it is possible to store and retrieve arbitrary pairs ( key, value ) with a bijective mapping between them.
This defines a special global process memory.
Originally this functionality was needed in order to make statically bind C-functions persistent. ( see also [binimg] )
In addition this module handles i.e. keeps track of dynamical loaded objects.
*/
/* ----------------------------- Init & Quit -------------------------------- */
void Glo_init(void); /* inits [glo_tab] */
void Glo_quit(void); /* quits [glo_tab] */
/* ----------------------------- Table access ------------------------------- */
void Glo_def(symbol Name, Abs_T Value)
/* adds global ( 'Name' <--> 'Value' ) */
;
void Glo_rmv(symbol Name); /* deletes global 'Name' */
c_bool Glo_key_known(symbol Name); /* whether 'Name' is defined */
c_bool Glo_val_known(Abs_T Value); /* whether 'Value' is defined */
Abs_T Glo__val(symbol Name)
#define Glo_val(T,N) ((T)Glo__val(N))
/* value defined for 'Name' */
;
symbol Glo_key(Abs_T Value); /* name defined for 'Value' */
symbol Glo_objkey_mk(symbol Lib, symbol Obj)
/* constructs key for loadable object */
;
c_bool Glo_objkey_de(symbol glokey, symbol* Lib, symbol* Obj)
/* destructs key of loadable object */
;
StdCPtr Glo_load(symbol Lib, symbol Obj, c_bool saveObj)
/* loads the object if not already defined
'saveObj' --> saves it in the global table
*/
;
#ifdef __cplusplus
}
#endif
#endif