1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4////////////////////////////////////////////////////////////////////////////////
5// This module contains the implementation of the native methods for the
6// varargs class(es)..
7//
8
9////////////////////////////////////////////////////////////////////////////////
10
11#ifndef _CLRVARARGS_H_
12#define _CLRVARARGS_H_
13
14
15struct VARARGS
16{
17 VASigCookie *ArgCookie;
18 SigPointer SigPtr;
19 BYTE *ArgPtr;
20 int RemainingArgs;
21
22 static DWORD CalcVaListSize(VARARGS *data);
23 static void MarshalToManagedVaList(va_list va, VARARGS *dataout);
24 static void MarshalToUnmanagedVaList(va_list va, DWORD cbVaListSize, const VARARGS *data);
25};
26
27#endif // _CLRVARARGS_H_
28