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 | |
15 | struct 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 | |