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.
void Glo_init(void) | inits [glo_tab] |
void Glo_quit(void) | quits [glo_tab] |
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 |