{
    "content": [
        {
            "type": "text",
            "text": "# ffi(3) (man)\n\n**Summary:** FFI — Foreign Function Interface\n\n## See Also\n\n- ffiprepcif(3)\n- ffiprepcifvar(3)\n- fficall(3)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **LIBRARY** (2 lines)\n- **SYNOPSIS** (1 lines) — 1 subsections\n  - #include <ffi.h> (11 lines)\n- **DESCRIPTION** (4 lines)\n- **SEE ALSO** (3 lines)\n\n## Full Content\n\n### NAME\n\nFFI — Foreign Function Interface\n\n### LIBRARY\n\nlibffi, -lffi\n\n### SYNOPSIS\n\n#### #include <ffi.h>\n\nffistatus\nffiprepcif(fficif *cif, ffiabi abi, unsigned int nargs, ffitype *rtype,\nffitype atypes);\n\nvoid\nffiprepcifvar(fficif *cif, ffiabi abi, unsigned int nfixedargs, unsigned int ntotalargs,\nffitype *rtype, ffitype atypes);\n\nvoid\nfficall(fficif *cif, void (*fn)(void), void *rvalue, void avalue);\n\n### DESCRIPTION\n\nThe foreign function interface provides a mechanism by which a function can generate a call to\nanother function at runtime without requiring knowledge of the called function's interface at\ncompile time.\n\n### SEE ALSO\n\nffiprepcif(3), ffiprepcifvar(3), fficall(3)\n\nFebruary 15, 2008\n\n"
        }
    ],
    "structuredContent": {
        "command": "ffi",
        "section": "3",
        "mode": "man",
        "summary": "FFI — Foreign Function Interface",
        "synopsis": "",
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "ffiprepcif",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/ffiprepcif/3/json"
            },
            {
                "name": "ffiprepcifvar",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/ffiprepcifvar/3/json"
            },
            {
                "name": "fficall",
                "section": "3",
                "url": "https://www.chedong.com/phpMan.php/man/fficall/3/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "LIBRARY",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "#include <ffi.h>",
                        "lines": 11
                    }
                ]
            },
            {
                "name": "DESCRIPTION",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            }
        ]
    }
}