Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/PC/clinic/msvcrtmodule.c.h
12 views
1
/*[clinic input]
2
preserve
3
[clinic start generated code]*/
4
5
#if defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_MODULE)
6
# include "pycore_gc.h" // PyGC_Head
7
# include "pycore_runtime.h" // _Py_ID()
8
#endif
9
10
11
PyDoc_STRVAR(msvcrt_heapmin__doc__,
12
"heapmin($module, /)\n"
13
"--\n"
14
"\n"
15
"Minimize the malloc() heap.\n"
16
"\n"
17
"Force the malloc() heap to clean itself up and return unused blocks\n"
18
"to the operating system. On failure, this raises OSError.");
19
20
#define MSVCRT_HEAPMIN_METHODDEF \
21
{"heapmin", (PyCFunction)msvcrt_heapmin, METH_NOARGS, msvcrt_heapmin__doc__},
22
23
static PyObject *
24
msvcrt_heapmin_impl(PyObject *module);
25
26
static PyObject *
27
msvcrt_heapmin(PyObject *module, PyObject *Py_UNUSED(ignored))
28
{
29
return msvcrt_heapmin_impl(module);
30
}
31
32
PyDoc_STRVAR(msvcrt_locking__doc__,
33
"locking($module, fd, mode, nbytes, /)\n"
34
"--\n"
35
"\n"
36
"Lock part of a file based on file descriptor fd from the C runtime.\n"
37
"\n"
38
"Raises OSError on failure. The locked region of the file extends from\n"
39
"the current file position for nbytes bytes, and may continue beyond\n"
40
"the end of the file. mode must be one of the LK_* constants listed\n"
41
"below. Multiple regions in a file may be locked at the same time, but\n"
42
"may not overlap. Adjacent regions are not merged; they must be unlocked\n"
43
"individually.");
44
45
#define MSVCRT_LOCKING_METHODDEF \
46
{"locking", _PyCFunction_CAST(msvcrt_locking), METH_FASTCALL, msvcrt_locking__doc__},
47
48
static PyObject *
49
msvcrt_locking_impl(PyObject *module, int fd, int mode, long nbytes);
50
51
static PyObject *
52
msvcrt_locking(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
53
{
54
PyObject *return_value = NULL;
55
int fd;
56
int mode;
57
long nbytes;
58
59
if (!_PyArg_CheckPositional("locking", nargs, 3, 3)) {
60
goto exit;
61
}
62
fd = _PyLong_AsInt(args[0]);
63
if (fd == -1 && PyErr_Occurred()) {
64
goto exit;
65
}
66
mode = _PyLong_AsInt(args[1]);
67
if (mode == -1 && PyErr_Occurred()) {
68
goto exit;
69
}
70
nbytes = PyLong_AsLong(args[2]);
71
if (nbytes == -1 && PyErr_Occurred()) {
72
goto exit;
73
}
74
return_value = msvcrt_locking_impl(module, fd, mode, nbytes);
75
76
exit:
77
return return_value;
78
}
79
80
PyDoc_STRVAR(msvcrt_setmode__doc__,
81
"setmode($module, fd, mode, /)\n"
82
"--\n"
83
"\n"
84
"Set the line-end translation mode for the file descriptor fd.\n"
85
"\n"
86
"To set it to text mode, flags should be os.O_TEXT; for binary, it\n"
87
"should be os.O_BINARY.\n"
88
"\n"
89
"Return value is the previous mode.");
90
91
#define MSVCRT_SETMODE_METHODDEF \
92
{"setmode", _PyCFunction_CAST(msvcrt_setmode), METH_FASTCALL, msvcrt_setmode__doc__},
93
94
static long
95
msvcrt_setmode_impl(PyObject *module, int fd, int flags);
96
97
static PyObject *
98
msvcrt_setmode(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
99
{
100
PyObject *return_value = NULL;
101
int fd;
102
int flags;
103
long _return_value;
104
105
if (!_PyArg_CheckPositional("setmode", nargs, 2, 2)) {
106
goto exit;
107
}
108
fd = _PyLong_AsInt(args[0]);
109
if (fd == -1 && PyErr_Occurred()) {
110
goto exit;
111
}
112
flags = _PyLong_AsInt(args[1]);
113
if (flags == -1 && PyErr_Occurred()) {
114
goto exit;
115
}
116
_return_value = msvcrt_setmode_impl(module, fd, flags);
117
if ((_return_value == -1) && PyErr_Occurred()) {
118
goto exit;
119
}
120
return_value = PyLong_FromLong(_return_value);
121
122
exit:
123
return return_value;
124
}
125
126
PyDoc_STRVAR(msvcrt_open_osfhandle__doc__,
127
"open_osfhandle($module, handle, flags, /)\n"
128
"--\n"
129
"\n"
130
"Create a C runtime file descriptor from the file handle handle.\n"
131
"\n"
132
"The flags parameter should be a bitwise OR of os.O_APPEND, os.O_RDONLY,\n"
133
"and os.O_TEXT. The returned file descriptor may be used as a parameter\n"
134
"to os.fdopen() to create a file object.");
135
136
#define MSVCRT_OPEN_OSFHANDLE_METHODDEF \
137
{"open_osfhandle", _PyCFunction_CAST(msvcrt_open_osfhandle), METH_FASTCALL, msvcrt_open_osfhandle__doc__},
138
139
static long
140
msvcrt_open_osfhandle_impl(PyObject *module, void *handle, int flags);
141
142
static PyObject *
143
msvcrt_open_osfhandle(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
144
{
145
PyObject *return_value = NULL;
146
void *handle;
147
int flags;
148
long _return_value;
149
150
if (!_PyArg_CheckPositional("open_osfhandle", nargs, 2, 2)) {
151
goto exit;
152
}
153
handle = PyLong_AsVoidPtr(args[0]);
154
if (!handle && PyErr_Occurred()) {
155
goto exit;
156
}
157
flags = _PyLong_AsInt(args[1]);
158
if (flags == -1 && PyErr_Occurred()) {
159
goto exit;
160
}
161
_return_value = msvcrt_open_osfhandle_impl(module, handle, flags);
162
if ((_return_value == -1) && PyErr_Occurred()) {
163
goto exit;
164
}
165
return_value = PyLong_FromLong(_return_value);
166
167
exit:
168
return return_value;
169
}
170
171
PyDoc_STRVAR(msvcrt_get_osfhandle__doc__,
172
"get_osfhandle($module, fd, /)\n"
173
"--\n"
174
"\n"
175
"Return the file handle for the file descriptor fd.\n"
176
"\n"
177
"Raises OSError if fd is not recognized.");
178
179
#define MSVCRT_GET_OSFHANDLE_METHODDEF \
180
{"get_osfhandle", (PyCFunction)msvcrt_get_osfhandle, METH_O, msvcrt_get_osfhandle__doc__},
181
182
static void *
183
msvcrt_get_osfhandle_impl(PyObject *module, int fd);
184
185
static PyObject *
186
msvcrt_get_osfhandle(PyObject *module, PyObject *arg)
187
{
188
PyObject *return_value = NULL;
189
int fd;
190
void *_return_value;
191
192
fd = _PyLong_AsInt(arg);
193
if (fd == -1 && PyErr_Occurred()) {
194
goto exit;
195
}
196
_return_value = msvcrt_get_osfhandle_impl(module, fd);
197
if ((_return_value == NULL || _return_value == INVALID_HANDLE_VALUE) && PyErr_Occurred()) {
198
goto exit;
199
}
200
return_value = PyLong_FromVoidPtr(_return_value);
201
202
exit:
203
return return_value;
204
}
205
206
PyDoc_STRVAR(msvcrt_kbhit__doc__,
207
"kbhit($module, /)\n"
208
"--\n"
209
"\n"
210
"Return true if a keypress is waiting to be read.");
211
212
#define MSVCRT_KBHIT_METHODDEF \
213
{"kbhit", (PyCFunction)msvcrt_kbhit, METH_NOARGS, msvcrt_kbhit__doc__},
214
215
static long
216
msvcrt_kbhit_impl(PyObject *module);
217
218
static PyObject *
219
msvcrt_kbhit(PyObject *module, PyObject *Py_UNUSED(ignored))
220
{
221
PyObject *return_value = NULL;
222
long _return_value;
223
224
_return_value = msvcrt_kbhit_impl(module);
225
if ((_return_value == -1) && PyErr_Occurred()) {
226
goto exit;
227
}
228
return_value = PyLong_FromLong(_return_value);
229
230
exit:
231
return return_value;
232
}
233
234
PyDoc_STRVAR(msvcrt_getch__doc__,
235
"getch($module, /)\n"
236
"--\n"
237
"\n"
238
"Read a keypress and return the resulting character as a byte string.\n"
239
"\n"
240
"Nothing is echoed to the console. This call will block if a keypress is\n"
241
"not already available, but will not wait for Enter to be pressed. If the\n"
242
"pressed key was a special function key, this will return \'\\000\' or\n"
243
"\'\\xe0\'; the next call will return the keycode. The Control-C keypress\n"
244
"cannot be read with this function.");
245
246
#define MSVCRT_GETCH_METHODDEF \
247
{"getch", (PyCFunction)msvcrt_getch, METH_NOARGS, msvcrt_getch__doc__},
248
249
static int
250
msvcrt_getch_impl(PyObject *module);
251
252
static PyObject *
253
msvcrt_getch(PyObject *module, PyObject *Py_UNUSED(ignored))
254
{
255
PyObject *return_value = NULL;
256
char s[1];
257
258
s[0] = msvcrt_getch_impl(module);
259
return_value = PyBytes_FromStringAndSize(s, 1);
260
261
return return_value;
262
}
263
264
#if defined(MS_WINDOWS_DESKTOP)
265
266
PyDoc_STRVAR(msvcrt_getwch__doc__,
267
"getwch($module, /)\n"
268
"--\n"
269
"\n"
270
"Wide char variant of getch(), returning a Unicode value.");
271
272
#define MSVCRT_GETWCH_METHODDEF \
273
{"getwch", (PyCFunction)msvcrt_getwch, METH_NOARGS, msvcrt_getwch__doc__},
274
275
static wchar_t
276
msvcrt_getwch_impl(PyObject *module);
277
278
static PyObject *
279
msvcrt_getwch(PyObject *module, PyObject *Py_UNUSED(ignored))
280
{
281
PyObject *return_value = NULL;
282
wchar_t _return_value;
283
284
_return_value = msvcrt_getwch_impl(module);
285
return_value = PyUnicode_FromOrdinal(_return_value);
286
287
return return_value;
288
}
289
290
#endif /* defined(MS_WINDOWS_DESKTOP) */
291
292
PyDoc_STRVAR(msvcrt_getche__doc__,
293
"getche($module, /)\n"
294
"--\n"
295
"\n"
296
"Similar to getch(), but the keypress will be echoed if possible.");
297
298
#define MSVCRT_GETCHE_METHODDEF \
299
{"getche", (PyCFunction)msvcrt_getche, METH_NOARGS, msvcrt_getche__doc__},
300
301
static int
302
msvcrt_getche_impl(PyObject *module);
303
304
static PyObject *
305
msvcrt_getche(PyObject *module, PyObject *Py_UNUSED(ignored))
306
{
307
PyObject *return_value = NULL;
308
char s[1];
309
310
s[0] = msvcrt_getche_impl(module);
311
return_value = PyBytes_FromStringAndSize(s, 1);
312
313
return return_value;
314
}
315
316
#if defined(MS_WINDOWS_DESKTOP)
317
318
PyDoc_STRVAR(msvcrt_getwche__doc__,
319
"getwche($module, /)\n"
320
"--\n"
321
"\n"
322
"Wide char variant of getche(), returning a Unicode value.");
323
324
#define MSVCRT_GETWCHE_METHODDEF \
325
{"getwche", (PyCFunction)msvcrt_getwche, METH_NOARGS, msvcrt_getwche__doc__},
326
327
static wchar_t
328
msvcrt_getwche_impl(PyObject *module);
329
330
static PyObject *
331
msvcrt_getwche(PyObject *module, PyObject *Py_UNUSED(ignored))
332
{
333
PyObject *return_value = NULL;
334
wchar_t _return_value;
335
336
_return_value = msvcrt_getwche_impl(module);
337
return_value = PyUnicode_FromOrdinal(_return_value);
338
339
return return_value;
340
}
341
342
#endif /* defined(MS_WINDOWS_DESKTOP) */
343
344
PyDoc_STRVAR(msvcrt_putch__doc__,
345
"putch($module, char, /)\n"
346
"--\n"
347
"\n"
348
"Print the byte string char to the console without buffering.");
349
350
#define MSVCRT_PUTCH_METHODDEF \
351
{"putch", (PyCFunction)msvcrt_putch, METH_O, msvcrt_putch__doc__},
352
353
static PyObject *
354
msvcrt_putch_impl(PyObject *module, char char_value);
355
356
static PyObject *
357
msvcrt_putch(PyObject *module, PyObject *arg)
358
{
359
PyObject *return_value = NULL;
360
char char_value;
361
362
if (PyBytes_Check(arg) && PyBytes_GET_SIZE(arg) == 1) {
363
char_value = PyBytes_AS_STRING(arg)[0];
364
}
365
else if (PyByteArray_Check(arg) && PyByteArray_GET_SIZE(arg) == 1) {
366
char_value = PyByteArray_AS_STRING(arg)[0];
367
}
368
else {
369
_PyArg_BadArgument("putch", "argument", "a byte string of length 1", arg);
370
goto exit;
371
}
372
return_value = msvcrt_putch_impl(module, char_value);
373
374
exit:
375
return return_value;
376
}
377
378
#if defined(MS_WINDOWS_DESKTOP)
379
380
PyDoc_STRVAR(msvcrt_putwch__doc__,
381
"putwch($module, unicode_char, /)\n"
382
"--\n"
383
"\n"
384
"Wide char variant of putch(), accepting a Unicode value.");
385
386
#define MSVCRT_PUTWCH_METHODDEF \
387
{"putwch", (PyCFunction)msvcrt_putwch, METH_O, msvcrt_putwch__doc__},
388
389
static PyObject *
390
msvcrt_putwch_impl(PyObject *module, int unicode_char);
391
392
static PyObject *
393
msvcrt_putwch(PyObject *module, PyObject *arg)
394
{
395
PyObject *return_value = NULL;
396
int unicode_char;
397
398
if (!PyUnicode_Check(arg)) {
399
_PyArg_BadArgument("putwch", "argument", "a unicode character", arg);
400
goto exit;
401
}
402
if (PyUnicode_GET_LENGTH(arg) != 1) {
403
_PyArg_BadArgument("putwch", "argument", "a unicode character", arg);
404
goto exit;
405
}
406
unicode_char = PyUnicode_READ_CHAR(arg, 0);
407
return_value = msvcrt_putwch_impl(module, unicode_char);
408
409
exit:
410
return return_value;
411
}
412
413
#endif /* defined(MS_WINDOWS_DESKTOP) */
414
415
PyDoc_STRVAR(msvcrt_ungetch__doc__,
416
"ungetch($module, char, /)\n"
417
"--\n"
418
"\n"
419
"Opposite of getch.\n"
420
"\n"
421
"Cause the byte string char to be \"pushed back\" into the\n"
422
"console buffer; it will be the next character read by\n"
423
"getch() or getche().");
424
425
#define MSVCRT_UNGETCH_METHODDEF \
426
{"ungetch", (PyCFunction)msvcrt_ungetch, METH_O, msvcrt_ungetch__doc__},
427
428
static PyObject *
429
msvcrt_ungetch_impl(PyObject *module, char char_value);
430
431
static PyObject *
432
msvcrt_ungetch(PyObject *module, PyObject *arg)
433
{
434
PyObject *return_value = NULL;
435
char char_value;
436
437
if (PyBytes_Check(arg) && PyBytes_GET_SIZE(arg) == 1) {
438
char_value = PyBytes_AS_STRING(arg)[0];
439
}
440
else if (PyByteArray_Check(arg) && PyByteArray_GET_SIZE(arg) == 1) {
441
char_value = PyByteArray_AS_STRING(arg)[0];
442
}
443
else {
444
_PyArg_BadArgument("ungetch", "argument", "a byte string of length 1", arg);
445
goto exit;
446
}
447
return_value = msvcrt_ungetch_impl(module, char_value);
448
449
exit:
450
return return_value;
451
}
452
453
#if defined(MS_WINDOWS_DESKTOP)
454
455
PyDoc_STRVAR(msvcrt_ungetwch__doc__,
456
"ungetwch($module, unicode_char, /)\n"
457
"--\n"
458
"\n"
459
"Wide char variant of ungetch(), accepting a Unicode value.");
460
461
#define MSVCRT_UNGETWCH_METHODDEF \
462
{"ungetwch", (PyCFunction)msvcrt_ungetwch, METH_O, msvcrt_ungetwch__doc__},
463
464
static PyObject *
465
msvcrt_ungetwch_impl(PyObject *module, int unicode_char);
466
467
static PyObject *
468
msvcrt_ungetwch(PyObject *module, PyObject *arg)
469
{
470
PyObject *return_value = NULL;
471
int unicode_char;
472
473
if (!PyUnicode_Check(arg)) {
474
_PyArg_BadArgument("ungetwch", "argument", "a unicode character", arg);
475
goto exit;
476
}
477
if (PyUnicode_GET_LENGTH(arg) != 1) {
478
_PyArg_BadArgument("ungetwch", "argument", "a unicode character", arg);
479
goto exit;
480
}
481
unicode_char = PyUnicode_READ_CHAR(arg, 0);
482
return_value = msvcrt_ungetwch_impl(module, unicode_char);
483
484
exit:
485
return return_value;
486
}
487
488
#endif /* defined(MS_WINDOWS_DESKTOP) */
489
490
#if defined(_DEBUG)
491
492
PyDoc_STRVAR(msvcrt_CrtSetReportFile__doc__,
493
"CrtSetReportFile($module, type, file, /)\n"
494
"--\n"
495
"\n"
496
"Wrapper around _CrtSetReportFile.\n"
497
"\n"
498
"Only available on Debug builds.");
499
500
#define MSVCRT_CRTSETREPORTFILE_METHODDEF \
501
{"CrtSetReportFile", _PyCFunction_CAST(msvcrt_CrtSetReportFile), METH_FASTCALL, msvcrt_CrtSetReportFile__doc__},
502
503
static void *
504
msvcrt_CrtSetReportFile_impl(PyObject *module, int type, void *file);
505
506
static PyObject *
507
msvcrt_CrtSetReportFile(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
508
{
509
PyObject *return_value = NULL;
510
int type;
511
void *file;
512
void *_return_value;
513
514
if (!_PyArg_CheckPositional("CrtSetReportFile", nargs, 2, 2)) {
515
goto exit;
516
}
517
type = _PyLong_AsInt(args[0]);
518
if (type == -1 && PyErr_Occurred()) {
519
goto exit;
520
}
521
file = PyLong_AsVoidPtr(args[1]);
522
if (!file && PyErr_Occurred()) {
523
goto exit;
524
}
525
_return_value = msvcrt_CrtSetReportFile_impl(module, type, file);
526
if ((_return_value == NULL || _return_value == INVALID_HANDLE_VALUE) && PyErr_Occurred()) {
527
goto exit;
528
}
529
return_value = PyLong_FromVoidPtr(_return_value);
530
531
exit:
532
return return_value;
533
}
534
535
#endif /* defined(_DEBUG) */
536
537
#if defined(_DEBUG)
538
539
PyDoc_STRVAR(msvcrt_CrtSetReportMode__doc__,
540
"CrtSetReportMode($module, type, mode, /)\n"
541
"--\n"
542
"\n"
543
"Wrapper around _CrtSetReportMode.\n"
544
"\n"
545
"Only available on Debug builds.");
546
547
#define MSVCRT_CRTSETREPORTMODE_METHODDEF \
548
{"CrtSetReportMode", _PyCFunction_CAST(msvcrt_CrtSetReportMode), METH_FASTCALL, msvcrt_CrtSetReportMode__doc__},
549
550
static long
551
msvcrt_CrtSetReportMode_impl(PyObject *module, int type, int mode);
552
553
static PyObject *
554
msvcrt_CrtSetReportMode(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
555
{
556
PyObject *return_value = NULL;
557
int type;
558
int mode;
559
long _return_value;
560
561
if (!_PyArg_CheckPositional("CrtSetReportMode", nargs, 2, 2)) {
562
goto exit;
563
}
564
type = _PyLong_AsInt(args[0]);
565
if (type == -1 && PyErr_Occurred()) {
566
goto exit;
567
}
568
mode = _PyLong_AsInt(args[1]);
569
if (mode == -1 && PyErr_Occurred()) {
570
goto exit;
571
}
572
_return_value = msvcrt_CrtSetReportMode_impl(module, type, mode);
573
if ((_return_value == -1) && PyErr_Occurred()) {
574
goto exit;
575
}
576
return_value = PyLong_FromLong(_return_value);
577
578
exit:
579
return return_value;
580
}
581
582
#endif /* defined(_DEBUG) */
583
584
#if defined(_DEBUG)
585
586
PyDoc_STRVAR(msvcrt_set_error_mode__doc__,
587
"set_error_mode($module, mode, /)\n"
588
"--\n"
589
"\n"
590
"Wrapper around _set_error_mode.\n"
591
"\n"
592
"Only available on Debug builds.");
593
594
#define MSVCRT_SET_ERROR_MODE_METHODDEF \
595
{"set_error_mode", (PyCFunction)msvcrt_set_error_mode, METH_O, msvcrt_set_error_mode__doc__},
596
597
static long
598
msvcrt_set_error_mode_impl(PyObject *module, int mode);
599
600
static PyObject *
601
msvcrt_set_error_mode(PyObject *module, PyObject *arg)
602
{
603
PyObject *return_value = NULL;
604
int mode;
605
long _return_value;
606
607
mode = _PyLong_AsInt(arg);
608
if (mode == -1 && PyErr_Occurred()) {
609
goto exit;
610
}
611
_return_value = msvcrt_set_error_mode_impl(module, mode);
612
if ((_return_value == -1) && PyErr_Occurred()) {
613
goto exit;
614
}
615
return_value = PyLong_FromLong(_return_value);
616
617
exit:
618
return return_value;
619
}
620
621
#endif /* defined(_DEBUG) */
622
623
#if (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM))
624
625
PyDoc_STRVAR(msvcrt_GetErrorMode__doc__,
626
"GetErrorMode($module, /)\n"
627
"--\n"
628
"\n"
629
"Wrapper around GetErrorMode.");
630
631
#define MSVCRT_GETERRORMODE_METHODDEF \
632
{"GetErrorMode", (PyCFunction)msvcrt_GetErrorMode, METH_NOARGS, msvcrt_GetErrorMode__doc__},
633
634
static PyObject *
635
msvcrt_GetErrorMode_impl(PyObject *module);
636
637
static PyObject *
638
msvcrt_GetErrorMode(PyObject *module, PyObject *Py_UNUSED(ignored))
639
{
640
return msvcrt_GetErrorMode_impl(module);
641
}
642
643
#endif /* (defined(MS_WINDOWS_DESKTOP) || defined(MS_WINDOWS_APP) || defined(MS_WINDOWS_SYSTEM)) */
644
645
PyDoc_STRVAR(msvcrt_SetErrorMode__doc__,
646
"SetErrorMode($module, mode, /)\n"
647
"--\n"
648
"\n"
649
"Wrapper around SetErrorMode.");
650
651
#define MSVCRT_SETERRORMODE_METHODDEF \
652
{"SetErrorMode", (PyCFunction)msvcrt_SetErrorMode, METH_O, msvcrt_SetErrorMode__doc__},
653
654
static PyObject *
655
msvcrt_SetErrorMode_impl(PyObject *module, unsigned int mode);
656
657
static PyObject *
658
msvcrt_SetErrorMode(PyObject *module, PyObject *arg)
659
{
660
PyObject *return_value = NULL;
661
unsigned int mode;
662
663
mode = (unsigned int)PyLong_AsUnsignedLongMask(arg);
664
if (mode == (unsigned int)-1 && PyErr_Occurred()) {
665
goto exit;
666
}
667
return_value = msvcrt_SetErrorMode_impl(module, mode);
668
669
exit:
670
return return_value;
671
}
672
673
#ifndef MSVCRT_GETWCH_METHODDEF
674
#define MSVCRT_GETWCH_METHODDEF
675
#endif /* !defined(MSVCRT_GETWCH_METHODDEF) */
676
677
#ifndef MSVCRT_GETWCHE_METHODDEF
678
#define MSVCRT_GETWCHE_METHODDEF
679
#endif /* !defined(MSVCRT_GETWCHE_METHODDEF) */
680
681
#ifndef MSVCRT_PUTWCH_METHODDEF
682
#define MSVCRT_PUTWCH_METHODDEF
683
#endif /* !defined(MSVCRT_PUTWCH_METHODDEF) */
684
685
#ifndef MSVCRT_UNGETWCH_METHODDEF
686
#define MSVCRT_UNGETWCH_METHODDEF
687
#endif /* !defined(MSVCRT_UNGETWCH_METHODDEF) */
688
689
#ifndef MSVCRT_CRTSETREPORTFILE_METHODDEF
690
#define MSVCRT_CRTSETREPORTFILE_METHODDEF
691
#endif /* !defined(MSVCRT_CRTSETREPORTFILE_METHODDEF) */
692
693
#ifndef MSVCRT_CRTSETREPORTMODE_METHODDEF
694
#define MSVCRT_CRTSETREPORTMODE_METHODDEF
695
#endif /* !defined(MSVCRT_CRTSETREPORTMODE_METHODDEF) */
696
697
#ifndef MSVCRT_SET_ERROR_MODE_METHODDEF
698
#define MSVCRT_SET_ERROR_MODE_METHODDEF
699
#endif /* !defined(MSVCRT_SET_ERROR_MODE_METHODDEF) */
700
701
#ifndef MSVCRT_GETERRORMODE_METHODDEF
702
#define MSVCRT_GETERRORMODE_METHODDEF
703
#endif /* !defined(MSVCRT_GETERRORMODE_METHODDEF) */
704
/*[clinic end generated code: output=9dd12bf210e362a4 input=a9049054013a1b77]*/
705
706