(LOADM) => "FORTH"
(no description)
primitive code = [p4_paren_loadm]
LOADM( "filename" -- ) [FTH] => "FORTH"
dlmap the shared object (or share an already mapped object)
and run the per-thread initialization code. This is the
user-convenient function, otherwise use (LOADM)
simulate:
: LOADM BL WORD
((IS_MODULE_LOADED)) IF EXIT THEN
HERE (LOADM) 0= IF ." -- load failed: " HERE COUNT TYPE CR THEN ;
primitive code = [p4_loadm]
LOCAL-DLSYM( [symbol] -- symbol-addr ) [FTH] [EXEC] => "FORTH"
lookup the symbol that follows and leave the address (or null)
immediate code = [p4_local_dlsym]
LOCAL-DLCALL => "FORTH"
(no description)
immediate code = [p4_local_dlcall]
CALL-C => "EXTENSIONS"
(no description)
primitive code = [p4_call_c]
USELIBRARY => "EXTENSIONS"
(no description)
primitive code = [p4_uselibrary]
lt_dlinit( -- dlinit-ior# ) [FTH] => "EXTENSIONS"
initialiize library, usually open the program itself so that its
handles can be found under "0"
primitive code = [p4_lt_dlinit]
lt_dlopenext( module-ptr module-len -- module-dl-handle*! | 0 ) [FTH] => "EXTENSIONS"
walk the searchpath for dlopen and try to open a binary module
under the given name with the usual file extension for the
current system.
primitive code = [p4_lt_dlopenext]
lt_dlsym( symbol-ptr symbol-len module-dl-handle* -- symbol*! | 0 ) [FTH] => "EXTENSIONS"
try to find the name in the binary module denoted by its handle
.. if handle is null, use the main body of the program
primitive code = [p4_lt_dlsym]
lt_dlclose( module-dl-handle* -- module-ior# ) [FTH] => "EXTENSIONS"
close handle that was returned by lt_dlopenext
primitive code = [p4_lt_dlcose]
lt_dlerror( -- dlerror-zstr* ) => "EXTENSIONS"
returns string describing the last dlerror as for lt_dlopenext
and lt_dlsym
primitive code = [p4_lt_dlerror]