1*1fd5a2e1SPrashanth Swaminathan.Dd February 15, 2008 2*1fd5a2e1SPrashanth Swaminathan.Dt FFI 3 3*1fd5a2e1SPrashanth Swaminathan.Sh NAME 4*1fd5a2e1SPrashanth Swaminathan.Nm FFI 5*1fd5a2e1SPrashanth Swaminathan.Nd Foreign Function Interface 6*1fd5a2e1SPrashanth Swaminathan.Sh LIBRARY 7*1fd5a2e1SPrashanth Swaminathanlibffi, -lffi 8*1fd5a2e1SPrashanth Swaminathan.Sh SYNOPSIS 9*1fd5a2e1SPrashanth Swaminathan.In ffi.h 10*1fd5a2e1SPrashanth Swaminathan.Ft ffi_status 11*1fd5a2e1SPrashanth Swaminathan.Fo ffi_prep_cif 12*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_cif *cif" 13*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_abi abi" 14*1fd5a2e1SPrashanth Swaminathan.Fa "unsigned int nargs" 15*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_type *rtype" 16*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_type **atypes" 17*1fd5a2e1SPrashanth Swaminathan.Fc 18*1fd5a2e1SPrashanth Swaminathan.Ft void 19*1fd5a2e1SPrashanth Swaminathan.Fo ffi_prep_cif_var 20*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_cif *cif" 21*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_abi abi" 22*1fd5a2e1SPrashanth Swaminathan.Fa "unsigned int nfixedargs" 23*1fd5a2e1SPrashanth Swaminathan.Fa "unsigned int ntotalargs" 24*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_type *rtype" 25*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_type **atypes" 26*1fd5a2e1SPrashanth Swaminathan.Fc 27*1fd5a2e1SPrashanth Swaminathan.Ft void 28*1fd5a2e1SPrashanth Swaminathan.Fo ffi_call 29*1fd5a2e1SPrashanth Swaminathan.Fa "ffi_cif *cif" 30*1fd5a2e1SPrashanth Swaminathan.Fa "void (*fn)(void)" 31*1fd5a2e1SPrashanth Swaminathan.Fa "void *rvalue" 32*1fd5a2e1SPrashanth Swaminathan.Fa "void **avalue" 33*1fd5a2e1SPrashanth Swaminathan.Fc 34*1fd5a2e1SPrashanth Swaminathan.Sh DESCRIPTION 35*1fd5a2e1SPrashanth SwaminathanThe foreign function interface provides a mechanism by which a function can 36*1fd5a2e1SPrashanth Swaminathangenerate a call to another function at runtime without requiring knowledge of 37*1fd5a2e1SPrashanth Swaminathanthe called function's interface at compile time. 38*1fd5a2e1SPrashanth Swaminathan.Sh SEE ALSO 39*1fd5a2e1SPrashanth Swaminathan.Xr ffi_prep_cif 3 , 40*1fd5a2e1SPrashanth Swaminathan.Xr ffi_prep_cif_var 3 , 41*1fd5a2e1SPrashanth Swaminathan.Xr ffi_call 3 42