1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
// 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.
/*++
Module Name:
pal/printfcpp.hpp
Abstract:
Declarations for suspension safe memory allocation functions
--*/
#ifndef _PRINTFCPP_HPP
#define _PRINTFCPP_HPP
#ifdef __cplusplus
#include "pal/threadinfo.hpp"
#endif
#include <stdarg.h>
#ifdef __cplusplus
typedef char16_t wchar_16; // __wchar_16_cpp (which is defined in palinternal.h) needs to be redefined to wchar_16.
extern "C"
{
int
__cdecl
PAL__vsnprintf(
LPSTR Buffer,
size_t Count,
LPCSTR Format,
va_list ap);
int
__cdecl
PAL__wvsnprintf(
LPWSTR Buffer,
size_t Count,
LPCWSTR Format,
va_list ap);
int
__cdecl
PAL_vfprintf(
PAL_FILE *stream,
const char *format,
va_list ap);
int
__cdecl
PAL_vfwprintf(
PAL_FILE *stream,
const wchar_16 *format,
va_list ap);
}
namespace CorUnix
{
int
InternalVfprintf(
CPalThread *pthrCurrent,
PAL_FILE *stream,
const char *format,
va_list ap);
int
InternalWvsnprintf(
CPalThread *pthrCurrent,
LPWSTR Buffer,
size_t Count,
LPCWSTR Format,
va_list ap);
int
InternalVsnprintf(
CPalThread *pthrCurrent,
LPSTR Buffer,
size_t Count,
LPCSTR Format,
va_list ap);
int
InternalVfwprintf(
CPalThread *pthrCurrent,
PAL_FILE *stream,
const wchar_16 *format,
va_list ap);
}
#else // __cplusplus
int
__cdecl
PAL__vsnprintf(
LPSTR Buffer,
size_t Count,
LPCSTR Format,
va_list ap);
int
__cdecl
PAL__wvsnprintf(
LPWSTR Buffer,
size_t Count,
LPCWSTR Format,
va_list ap);
int
__cdecl
PAL_vfprintf(
PAL_FILE *stream,
const char *format,
va_list ap);
int
__cdecl
PAL_vfwprintf(
PAL_FILE *stream,
const wchar_16 *format,
va_list ap);
#endif // __cplusplus
#endif // _PRINTFCPP_HPP
|