(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]