/* Ċ Ġ* ĠCopyright ĠL WJ GL . ĠAll Ġrights Ġreserved . Ċ Ġ* ĠLicense Ġterms : Ġhttps :// www . lwjgl . org / license Ċ Ġ*/ Ċ package Ġcore . lib ffi Ċ Ċ import Ġorg . lwjgl . generator .* Ċ Ċ val Ġffi _ abi Ġ= Ġ" ffi _ abi ". enum Type Ċ val Ġffi _ status Ġ= Ġ" ffi _ status ". enum Type Ċ Ċ val ĠF FI _ FN _ TYPE Ġ= Ġ" FF I _ FN _ TYPE ". handle Ċ Ċ val Ġffi _ type Ġ= Ġstruct ( Module . CORE _ LIB FF I , Ġ" FF I Type ", Ġnative Name Ġ= Ġ" ffi _ type ") Ġ{ ĊĠĠĠ Ġdocumentation Ġ= Ġ" Contains Ġinformation Ġabout Ġa Ġlib ffi Ġtype ." ĊĊĠĠĠ Ġsize _ t (" size ", Ġ" set Ġby Ġlib ffi ; Ġyou Ġshould Ġinitialize Ġit Ġto Ġzero .") ĊĠĠĠ Ġunsigned _ short (" alignment ", Ġ" set Ġby Ġlib ffi ; Ġyou Ġshould Ġinitialize Ġit Ġto Ġzero .") ĊĠĠĠ Ġunsigned _ short (" type ", Ġ" for Ġa Ġstructure , Ġthis Ġshould Ġbe Ġset Ġto Ġ# TYPE _ STRUCT .") ĊĠĠĠ Ġnullable .." ffi _ type ". handle . p ( ĊĠĠĠĠĠĠĠ Ġ" elements ", ĊĠĠĠĠĠĠĠ Ġ" a Ġnull - terminated Ġarray Ġof Ġpointers Ġto Ġ{@ code Ġffi _ type } Ġobjects . ĠThere Ġis Ġone Ġelement Ġper Ġfield Ġof Ġthe Ġstruct ." ĊĠĠĠ Ġ) Ċ } Ċ Ċ val Ġffi _ cif Ġ= Ġstruct ( Module . CORE _ LIB FF I , Ġ" FF IC IF ", Ġnative Name Ġ= Ġ" ffi _ cif ", Ġnative Layout Ġ= Ġtrue , Ġmutable Ġ= Ġfalse ) Ġ{ ĊĠĠĠ Ġdocumentation Ġ= Ġ" Contains Ġinformation Ġabout Ġa Ġlib ffi Ġcall Ġinterface ." ĊĠĠĠ Ġnative Directive (""" Ċ DISABLE _ WARNING S () Ċ # include Ġ" ffi . h " Ċ ENABLE _ WARNING S () """) ĊĊĠĠĠ Ġffi _ abi (" abi ", Ġ"") ĊĠĠĠ Ġunsigned (" n args ", Ġ"") ĊĠĠĠ Ġffi _ type . p . p (" arg _ types ", Ġ"") ĊĠĠĠ Ġffi _ type . p (" rtype ", Ġ"") ĊĠĠĠ Ġunsigned (" bytes ", Ġ"") ĊĠĠĠ Ġunsigned (" flags ", Ġ"") Ċ } Ċ Ċ // ĠC los ures Ċ Ċ val Ġffi _ closure Ġ= Ġstruct ( Module . CORE _ LIB FF I , Ġ" FF IC lo sure ", Ġnative Name Ġ= Ġ" ffi _ closure ", Ġnative Layout Ġ= Ġtrue , Ġmutable Ġ= Ġfalse ) Ġ{ ĊĠĠĠ Ġdocumentation Ġ= Ġ" The Ġlib ffi Ġclosure Ġstructure ." ĊĠĠĠ Ġnative Directive (""" Ċ DISABLE _ WARNING S () Ċ # include Ġ" ffi . h " Ċ ENABLE _ WARNING S () """) ĊĊĠĠĠ Ġffi _ cif . p (" cif ", Ġ" a Ġpointer Ġto Ġan Ġ{@ code Ġffi _ cif } Ġstructure ") ĊĠĠĠ Ġ" void Ġ(* )( ffi _ cif *, void *, void **, void *) ". handle (" fun ", Ġ" a Ġpointer Ġto Ġa Ġfunction ") ĊĠĠĠ Ġopaque _ p (" user _ data ", Ġ" a Ġpointer Ġto Ġuser - specified Ġdata ") Ċ } Ċ val ĠF FI _ CLO S URE _ FUN Ġ= Ġ" FF I _ CLO S URE _ FUN ". handle