define_cffi_func

Definition: include cffi.e
integer rid = define_cffi_func(object lib, string cdef, integer machine=machine_bits())
(note: this is a text-based wrapper of define_c_func)
Description: parse a string containing a C function definition and obtain a routine_id.
Comments: Converts a textual C function definition, such as one copied directly from MSDN, to the parameters expected by define_c_func(), and returns the routine_id obtained by calling that function. In other words define_cffi_func("... HWND ...") is equivalent to, and in fact maps to define_c_func(...{.. C_PTR ..}...), with most of the previously manual conversion automated for you.
lib can be a string or the previous result of open_dll.
The machine parameter can be set to 32 or 64, for testing purposes.
Example:
include cffi.e
constant tMB="""
int WINAPI MessageBox(
  _In_opt_  HWND hWnd,
  _In_opt_  LPCTSTR lpText,
  _In_opt_  LPCTSTR lpCaption,
  _In_      UINT uType
);
"""
set_unicode(0)
constant xMessageBox = define_cffi_func("user32.dll",tMB)
?c_func(xMessageBox,{0,"text","caption",0})

set_unicode() is needed before any auto "A/W" handling.
See Also: define_c_func, allocate_struct, set_struct_field, get_struct_field, get_field_details, set_unicode