// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace NativeVarargTest
{
    public struct OneIntStruct 
    {
        public int a;
    }

    public struct TwoIntStruct
    {
        public int a;
        public int b;
    }

    public struct OneLongStruct
    {
        public long a;
    }

    public struct TwoLongStruct
    {
        public long a;
        public long b;
    }

    public struct EightByteStruct
    {
        public byte one;
        public byte two;
        public byte three;
        public byte four;
        public byte five;
        public byte six;
        public byte seven;
        public byte eight;
    }

    public struct FourIntStruct
    {
        public int a;
        public int b;
        public int c;
        public int d;
    }

    public struct SixteenByteStruct
    {
        public byte one;
        public byte two;
        public byte three;
        public byte four;
        public byte five;
        public byte six;
        public byte seven;
        public byte eight;
        public byte nine;
        public byte ten;
        public byte eleven;
        public byte twelve;
        public byte thirteen;
        public byte fourteen;
        public byte fifteen;
        public byte sixteen;
    }

    public struct FourLongStruct
    {
        public long a;
        public long b;
        public long c;
        public long d;
    }

    public struct OneFloatStruct
    {
        public float a;
    }

    public struct TwoFloatStruct
    {
        public float a;
        public float b;
    }

    public struct OneDoubleStruct
    {
        public double a;
    }

    public struct TwoDoubleStruct
    {
        public double a;
        public double b;
    }

    public struct ThreeDoubleStruct
    {
        public double a;
        public double b;
        public double c;
    }

    public struct FourFloatStruct
    {
        public float a;
        public float b;
        public float c;
        public float d;
    }

    public struct FourDoubleStruct
    {
        public double a;
        public double b;
        public double c;
        public double d;
    }
}
