Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SNOBOL4FFI(3)			CSNOBOL4 Manual			 SNOBOL4FFI(3)

NAME
       snobol4ffi - Foreign Function Interface for SNOBOL4

SYNOPSYS
	   -INCLUDE 'ffi.sno'
		   dl =	FFI_DLOPEN("/usr/lib/libm.so")
		   sym = FFI_DLSYM(dl, "hypot")
		   DEFINE_FFI("hypot(double,double)double", sym)
		   OUTPUT = hypot(3, 4)

DESCRIPTION
       FFI_DLOPEN(filename)
	   takes  the path of a	dynamicly loadable executable file and returns
	   a value which can be	passed to FFI_DLSYM().

       FFI_DLSYM(library,function)
	   takes a library value returned  by  FFI_DLOPEN(),  and  a  function
	   name, and returns a value which can be passed to DEFINE_FFI().

       DEFINE_FFI(prototype,pointer)
	   defines  a  SNOBOL4	function  that	calls an external function via
	   ffi(3).  prototype contains a string	name for the function followed
	   by a	comma separated	list of	parameter types	inside of  parenthesis
	   (any	 of:  sint8,  sint16,  sint32,	sint64,	uint8, uint16, uint32,
	   uint64, schar, sshort, sint,	slong,	uchar,	ushort,	 uint,	ulong,
	   float,  double,  longdouble,	 pointer),  followed by	a return type,
	   which can be	any of the above parameter  types,  or	void,  string,
	   freestring.	pointer	is a value returned by FFI_DLSYM().

SEE ALSO
       snobol4(1), ffi(3), dlopen(3)

AUTHOR
       Philip L. Budne
       Inspired	by an FFI interface by Fred Weigel

CSNOBOL4B 2.3.1			March 31, 2022			 SNOBOL4FFI(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=snobol4ffi&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help