
    // Visitor FFI ({{ bridge_name }})
    [DllImport(LibName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "{{ fn_bridge_new }}")]
    internal static extern IntPtr {{ bridge_name }}New(IntPtr vtable, IntPtr userData);

    [DllImport(LibName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "{{ fn_bridge_free }}")]
    internal static extern void {{ bridge_name }}Free(IntPtr bridge);

    [DllImport(LibName, CallingConvention = CallingConvention.Cdecl, EntryPoint = "{{ fn_options_set }}")]
    internal static extern int {{ options_name }}Set{{ field_name }}(IntPtr options, IntPtr visitor);
