// <auto-generated>
// This code is generated by csbindgen.
// DON'T CHANGE THIS DIRECTLY.
// </auto-generated>
#pragma warning disable CS8500
#pragma warning disable CS8981
using System;
using System.Runtime.InteropServices;


namespace AamCsharp
{
    internal static unsafe partial class AamNative
    {
        const string __DllName = "aam_rs";





        [DllImport(__DllName, EntryPoint = "aam_new", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern AamHandle* aam_new();

        [DllImport(__DllName, EntryPoint = "aam_free", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern void aam_free(AamHandle* handle);

        [DllImport(__DllName, EntryPoint = "aam_parse", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern int aam_parse(AamHandle* handle, byte* content);

        [DllImport(__DllName, EntryPoint = "aam_load", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern int aam_load(AamHandle* handle, byte* path);

        [DllImport(__DllName, EntryPoint = "aam_format", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_format(AamHandle* handle, byte* content);

        [DllImport(__DllName, EntryPoint = "aam_get", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_get(AamHandle* handle, byte* key);

        [DllImport(__DllName, EntryPoint = "aam_find", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_find(AamHandle* handle, byte* query);

        [DllImport(__DllName, EntryPoint = "aam_deep_search", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_deep_search(AamHandle* handle, byte* pattern);

        [DllImport(__DllName, EntryPoint = "aam_reverse_search", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_reverse_search(AamHandle* handle, byte* value);

        [DllImport(__DllName, EntryPoint = "aam_schema_names", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_schema_names(AamHandle* handle);

        [DllImport(__DllName, EntryPoint = "aam_type_names", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_type_names(AamHandle* handle);

        [DllImport(__DllName, EntryPoint = "aam_string_free", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern void aam_string_free(byte* s);

        [DllImport(__DllName, EntryPoint = "aam_last_error", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
        internal static extern byte* aam_last_error(AamHandle* handle);


    }

    [StructLayout(LayoutKind.Sequential)]
    internal unsafe partial struct AamHandle
    {
    }



}
