// AUTOMATICALLY GENERATED, DO NOT EDIT
using System;
using System.Runtime.InteropServices;
namespace Pkmnlib.Generated
{
internal static class PokemonSpecies
{
/// const PokemonSpecies * &
/// unsigned short
/// const char *
/// const PokemonForme *
/// float
/// const char *
/// unsigned char
/// unsigned char
/// unsigned char
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_Construct")]
internal static extern byte Construct(ref IntPtr @out, ushort id, IntPtr name, IntPtr defaultForme, float genderRatio, IntPtr growthRate, byte captureRate, byte baseHappiness);
/// const PokemonSpecies *
/// void
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_Destruct")]
internal static extern void Destruct(IntPtr p);
/// const PokemonSpecies *
/// unsigned char
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_GetBaseHappiness")]
internal static extern byte GetBaseHappiness(IntPtr p);
/// PokemonSpecies *
/// EvolutionData *
/// void
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_AddEvolution")]
internal static extern void AddEvolution(IntPtr p, IntPtr evo);
/// const PokemonSpecies *
/// long unsigned int
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_GetEvolutionCount")]
internal static extern ulong GetEvolutionCount(IntPtr p);
/// const PokemonSpecies *
/// long unsigned int
/// const EvolutionData * &
/// unsigned char
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_GetEvolution")]
internal static extern byte GetEvolution(IntPtr p, ulong index, ref IntPtr @out);
/// const PokemonSpecies *
/// const const EvolutionData * * &
/// unsigned char
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_GetEvolutions")]
internal static extern byte GetEvolutions(IntPtr p, ref IntPtr @out);
}
}