// AUTOMATICALLY GENERATED, DO NOT EDIT
using System;
using System.Runtime.InteropServices;
namespace Creaturelib.Generated
{
internal static class TypeLibrary
{
/// long unsigned int
/// TypeLibrary *
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_Construct")]
internal static extern IntPtr Construct(ulong initialCapacity);
/// const TypeLibrary *
/// void
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_Destruct")]
internal static extern void Destruct(IntPtr p);
/// unsigned char &
/// const TypeLibrary *
/// const char *
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_GetTypeId")]
internal static extern byte GetTypeId(ref byte @out, IntPtr p, IntPtr type);
/// unsigned char &
/// TypeLibrary *
/// const char *
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_RegisterType")]
internal static extern byte RegisterType(ref byte @out, IntPtr p, IntPtr type);
/// TypeLibrary *
/// unsigned char
/// unsigned char
/// float
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_SetEffectiveness")]
internal static extern byte SetEffectiveness(IntPtr p, byte attacking, byte defensive, float effectiveness);
/// float &
/// TypeLibrary *
/// unsigned char
/// unsigned char
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_GetSingleEffectiveness")]
internal static extern byte GetSingleEffectiveness(ref float @out, IntPtr p, byte attacking, byte defensive);
/// float &
/// TypeLibrary *
/// unsigned char
/// unsigned char *
/// long unsigned int
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_GetEffectiveness")]
internal static extern byte GetEffectiveness(ref float @out, IntPtr p, byte attacking, IntPtr defensive, ulong defensiveCount);
/// const char * &
/// TypeLibrary *
/// unsigned char
/// unsigned char
[DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_TypeLibrary_GetTypeName")]
internal static extern byte GetTypeName(ref IntPtr @out, IntPtr p, byte type);
}
}