summaryrefslogtreecommitdiff
path: root/src/vm/clrvarargs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/clrvarargs.h')
-rw-r--r--src/vm/clrvarargs.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/vm/clrvarargs.h b/src/vm/clrvarargs.h
new file mode 100644
index 0000000000..37df3ed643
--- /dev/null
+++ b/src/vm/clrvarargs.h
@@ -0,0 +1,27 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+// See the LICENSE file in the project root for more information.
+////////////////////////////////////////////////////////////////////////////////
+// This module contains the implementation of the native methods for the
+// varargs class(es)..
+//
+
+////////////////////////////////////////////////////////////////////////////////
+
+#ifndef _CLRVARARGS_H_
+#define _CLRVARARGS_H_
+
+
+struct VARARGS
+{
+ VASigCookie *ArgCookie;
+ SigPointer SigPtr;
+ BYTE *ArgPtr;
+ int RemainingArgs;
+
+ static DWORD CalcVaListSize(VARARGS *data);
+ static void MarshalToManagedVaList(va_list va, VARARGS *dataout);
+ static void MarshalToUnmanagedVaList(va_list va, DWORD cbVaListSize, const VARARGS *data);
+};
+
+#endif // _CLRVARARGS_H_