libffi is a foreign function interface library. It provides a C programming language interface for calling natively compiled functions given information about the target function at run time instead of compile time. It also implements the opposite functionality: libffi can produce a pointer to a function that can accept and decode any combination of arguments defined at run time. On Mac OS X, libffi is commonly used with , which provides programming language neutral descriptions of framework interfaces, and Nu which binds direct Objective-C access from Lisp.