public class com.oracle.svm.truffle.nfi.libffi.LibFFI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.truffle.nfi.libffi.LibFFI
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.truffle.nfi.libffi.LibFFI this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.truffle.nfi.libffi.LibFFI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/truffle/nfi/libffi/LibFFI;

  public static native int FFI_OK();
    descriptor: ()I
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.constant.CConstant()

  public static native int FFI_DEFAULT_ABI();
    descriptor: ()I
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.constant.CConstant()

  public static native int ffi_prep_cif(com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_cif, int, org.graalvm.word.UnsignedWord, com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type, com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type_array);
    descriptor: (Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_cif;ILorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_type;Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_type_array;)I
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.function.CFunction()
    MethodParameters:
       Name  Flags
      cif    
      abi    
      nargs  
      ret    
      args   

  public static native int ffi_prep_cif_var(com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_cif, int, org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord, com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type, com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type_array);
    descriptor: (Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_cif;ILorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_type;Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_type_array;)I
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.function.CFunction()
    MethodParameters:
            Name  Flags
      cif         
      abi         
      nFixedArgs  
      nargs       
      ret         
      args        

  public static native <T extends org.graalvm.word.WordBase> T ffi_closure_alloc(org.graalvm.word.UnsignedWord, org.graalvm.nativeimage.c.type.WordPointer);
    descriptor: (Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/nativeimage/c/type/WordPointer;)Lorg/graalvm/word/WordBase;
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    Signature: <T::Lorg/graalvm/word/WordBase;>(Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/nativeimage/c/type/WordPointer;)TT;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.function.CFunction()
    MethodParameters:
      Name  Flags
      size  
      code  

  public static native void ffi_closure_free(org.graalvm.word.PointerBase);
    descriptor: (Lorg/graalvm/word/PointerBase;)V
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.function.CFunction()
    MethodParameters:
         Name  Flags
      closure  

  public static native int ffi_prep_closure_loc(com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_closure, com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_cif, com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_closure_callback, org.graalvm.word.WordBase, org.graalvm.word.PointerBase);
    descriptor: (Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_closure;Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_cif;Lcom/oracle/svm/truffle/nfi/libffi/LibFFI$ffi_closure_callback;Lorg/graalvm/word/WordBase;Lorg/graalvm/word/PointerBase;)I
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.function.CFunction()
    MethodParameters:
           Name  Flags
      closure    
      cif        
      fn         
      user_data  
      code_loc   
}
SourceFile: "LibFFI.java"
NestMembers:
  com.oracle.svm.truffle.nfi.libffi.LibFFI$NoTransitions  com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_arg  com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_cif  com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_closure  com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_closure_callback  com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type  com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type_array
InnerClasses:
  public NoTransitions = com.oracle.svm.truffle.nfi.libffi.LibFFI$NoTransitions of com.oracle.svm.truffle.nfi.libffi.LibFFI
  public abstract ffi_arg = com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_arg of com.oracle.svm.truffle.nfi.libffi.LibFFI
  public abstract ffi_cif = com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_cif of com.oracle.svm.truffle.nfi.libffi.LibFFI
  public abstract ffi_closure = com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_closure of com.oracle.svm.truffle.nfi.libffi.LibFFI
  public abstract ffi_closure_callback = com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_closure_callback of com.oracle.svm.truffle.nfi.libffi.LibFFI
  public abstract ffi_type = com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type of com.oracle.svm.truffle.nfi.libffi.LibFFI
  public abstract ffi_type_array = com.oracle.svm.truffle.nfi.libffi.LibFFI$ffi_type_array of com.oracle.svm.truffle.nfi.libffi.LibFFI
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.CContext(value = Lcom/oracle/svm/truffle/nfi/libffi/LibFFIHeaderDirectives;)
      org.graalvm.nativeimage.c.function.CLibrary(value = "ffi", requireStatic = true)