1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#ifndef _INC_CONIO_S
8#define _INC_CONIO_S
9
10#include <conio.h>
11
12#if defined(__LIBMSVCRT__)
13/* When building mingw-w64, this should be blank. */
14#define _SECIMP
15#else
16#ifndef _SECIMP
17#define _SECIMP __declspec(dllimport)
18#endif /* _SECIMP */
19#endif /* defined(__LIBMSVCRT__) */
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25/**
26 * Functions to read/write strings from/to console.
27 */
28
29 _SECIMP errno_t __cdecl _cgets_s (char *_Buffer,size_t _Size,size_t *_SizeRead);
30 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, _cgets_s, char, _Buffer, size_t*, _SizeRead)
31
32/**
33 * Formatted console I/O functions.
34 */
35
36 _SECIMP int __cdecl _cprintf_s (const char *_Format,...);
37 _SECIMP int __cdecl _cprintf_s_l (const char *_Format,_locale_t _Locale,...);
38 _SECIMP int __cdecl _vcprintf_s (const char *_Format,va_list _ArgList);
39 _SECIMP int __cdecl _vcprintf_s_l (const char *_Format,_locale_t _Locale,va_list _ArgList);
40 _CRTIMP int __cdecl _cscanf_s(const char *_Format,...);
41 _CRTIMP int __cdecl _cscanf_s_l(const char *_Format,_locale_t _Locale,...);
42
43#ifdef __cplusplus
44}
45#endif
46
47#endif