using System;
using System.Runtime.InteropServices;

namespace SRLWrapper.Wrapper.Base
{
    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_28(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H, IntPtr I, IntPtr J, IntPtr K, IntPtr L, IntPtr M, IntPtr N, IntPtr O, IntPtr P, IntPtr Q, IntPtr R, IntPtr S, IntPtr T, IntPtr U, IntPtr V, IntPtr W, IntPtr X, IntPtr Y, IntPtr Z, IntPtr AA, IntPtr AB);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_13(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H, IntPtr I, IntPtr J, IntPtr K, IntPtr L, IntPtr M);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_12(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H, IntPtr I, IntPtr J, IntPtr K, IntPtr L);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_11(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H, IntPtr I, IntPtr J, IntPtr K);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_10(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H, IntPtr I, IntPtr J);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_9(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H, IntPtr I);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_8(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_7(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_6(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_5(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_4(IntPtr A, IntPtr B, IntPtr C, IntPtr D);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_3(IntPtr A, IntPtr B, IntPtr C);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_2(IntPtr A, IntPtr B);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_1(IntPtr A);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate IntPtr RET_0();


    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_12(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H, IntPtr I, IntPtr J, IntPtr K, IntPtr L);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_8(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F, IntPtr G, IntPtr H);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_6(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E, IntPtr F);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_5(IntPtr A, IntPtr B, IntPtr C, IntPtr D, IntPtr E);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_4(IntPtr A, IntPtr B, IntPtr C, IntPtr D);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_3(IntPtr A, IntPtr B, IntPtr C);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_2(IntPtr A, IntPtr B);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_1(IntPtr A);

    [UnmanagedFunctionPointer(CallingConvention.Winapi)]
    internal delegate void NULL_0();
}
