MODULE LinDl ["libc.so.7"]; (* A. V. Shiryaev, 2012.11 FreeBSD 9.0 32-bit *) CONST NULL* = 0H; (* from FreeBSD 9.0 /usr/include/dlfcn.h *) RTLD_LAZY* = 1; RTLD_NOW* = 2; RTLD_GLOBAL* = 100H; RTLD_LOCAL* = 000H; RTLD_TRACE* = 200H; TYPE PtrVoid* = INTEGER; HANDLE* = PtrVoid; PtrSTR* = POINTER TO ARRAY [untagged] OF SHORTCHAR; PROCEDURE [ccall] dlopen* (file: PtrSTR; mode: INTEGER): HANDLE; PROCEDURE [ccall] dlclose* (handle: HANDLE): INTEGER; PROCEDURE [ccall] dlsym* (handle: HANDLE; symbol: PtrSTR): HANDLE; PROCEDURE [ccall] dlerror* (): PtrSTR; END LinDl.