[glo_tab.h] Global Table

contents



#include "standard.h"
#include "symbols.h"



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