ReactOS 0.4.16-dev-2104-gb84fa49
conio.h File Reference
#include <corecrt.h>
#include <corecrt_wconio.h>
Include dependency graph for conio.h:

Go to the source code of this file.

Macros

#define _INC_CONIO
 

Functions

_UCRT_DISABLE_CLANG_WARNINGS _CRT_BEGIN_C_HEADER _Check_return_wat_ _Success_ (_BufferCount > 0) _DCRTIMP errno_t __cdecl _cgets_s(_Out_writes_z_(_BufferCount) char *_Buffer
 
 __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1 (_Success_(return==0) errno_t, _cgets_s, _Out_writes_z_(*_Buffer) char, _Buffer, _Out_ size_t *, _SizeRead) _Check_return_opt_ _DCRTIMP int __cdecl _cputs(_In_z_ char const *_Buffer)
 
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf (_In_ unsigned __int64 _Options, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
 
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf_s (_In_ unsigned __int64 _Options, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
 
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf_p (_In_ unsigned __int64 _Options, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_l (_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf (_In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_s_l (_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_s (_In_z_ _Printf_format_string_ char const *const _Format, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_p_l (_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_p (_In_z_ char const *const _Format, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cprintf_l (_In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cprintf (_In_z_ _Printf_format_string_ char const *const _Format,...)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cprintf_s_l (_In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cprintf_s (_In_z_ _Printf_format_string_ char const *const _Format,...)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cprintf_p_l (_In_z_ _Printf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cprintf_p (_In_z_ _Printf_format_string_ char const *const _Format,...)
 
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcscanf (_In_ unsigned __int64 _Options, _In_z_ _Scanf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
 
_Check_return_opt_ _CRT_INSECURE_DEPRECATE (_vcscanf_s_l) _CRT_STDIO_INLINE int __CRTDECL _vcscanf_l(_In_z_ _Scanf_format_string_params_(2) char const *const _Format
 
_Check_return_opt_ _CRT_INSECURE_DEPRECATE (_vcscanf_s) _CRT_STDIO_INLINE int __CRTDECL _vcscanf(_In_z_ _Scanf_format_string_params_(1) char const *const _Format
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcscanf_s_l (_In_z_ _Scanf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcscanf_s (_In_z_ _Scanf_format_string_params_(1) char const *const _Format, va_list _ArgList)
 
_Check_return_opt_ _CRT_INSECURE_DEPRECATE (_cscanf_s_l) _CRT_STDIO_INLINE int __CRTDECL _cscanf_l(_In_z_ _Scanf_format_string_params_(0) char const *const _Format
 
 __crt_va_start (_ArgList, _Locale)
 
 __crt_va_end (_ArgList)
 
_Check_return_opt_ _CRT_INSECURE_DEPRECATE (_cscanf_s) _CRT_STDIO_INLINE int __CRTDECL _cscanf(_In_z_ _Scanf_format_string_ char const *const _Format
 
 __crt_va_start (_ArgList, _Format)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cscanf_s_l (_In_z_ _Scanf_format_string_params_(0) char const *const _Format, _In_opt_ _locale_t const _Locale,...)
 
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _cscanf_s (_In_z_ _Scanf_format_string_ char const *const _Format,...)
 
_DCRTIMP int __cdecl _kbhit (void)
 
_Check_return_ _DCRTIMP int __cdecl _getch (void)
 
_Check_return_ _DCRTIMP int __cdecl _getche (void)
 
_Check_return_opt_ _DCRTIMP int __cdecl _putch (_In_ int _Ch)
 
_Check_return_opt_ _DCRTIMP int __cdecl _ungetch (_In_ int _Ch)
 
_Check_return_ _DCRTIMP int __cdecl _getch_nolock (void)
 
_Check_return_ _DCRTIMP int __cdecl _getche_nolock (void)
 
_Check_return_opt_ _DCRTIMP int __cdecl _putch_nolock (_In_ int _Ch)
 
_Check_return_opt_ _DCRTIMP int __cdecl _ungetch_nolock (_In_ int _Ch)
 

Variables

_UCRT_DISABLE_CLANG_WARNINGS _CRT_BEGIN_C_HEADER _Check_return_wat_ _In_ size_t _BufferCount
 
_UCRT_DISABLE_CLANG_WARNINGS _CRT_BEGIN_C_HEADER _Check_return_wat_ _In_ size_t _Out_ size_t_SizeRead
 
_Check_return_opt_ _In_opt_ _locale_t const _Locale
 
_Check_return_opt_ _In_opt_ _locale_t const va_list _ArgList
 
 _Result = _vcscanf_l(_Format, _Locale, _ArgList)
 

Macro Definition Documentation

◆ _INC_CONIO

#define _INC_CONIO

Definition at line 10 of file conio.h.

Function Documentation

◆ __conio_common_vcprintf()

_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf ( _In_ unsigned __int64  _Options,
_In_z_ _Printf_format_string_params_(2) char const _Format,
_In_opt_ _locale_t  _Locale,
va_list  _ArgList 
)

Referenced by _vcprintf_l().

◆ __conio_common_vcprintf_p()

_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf_p ( _In_ unsigned __int64  _Options,
_In_z_ _Printf_format_string_params_(2) char const _Format,
_In_opt_ _locale_t  _Locale,
va_list  _ArgList 
)

Referenced by _vcprintf_p_l().

◆ __conio_common_vcprintf_s()

_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf_s ( _In_ unsigned __int64  _Options,
_In_z_ _Printf_format_string_params_(2) char const _Format,
_In_opt_ _locale_t  _Locale,
va_list  _ArgList 
)

Referenced by _vcprintf_s_l().

◆ __conio_common_vcscanf()

_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcscanf ( _In_ unsigned __int64  _Options,
_In_z_ _Scanf_format_string_params_(2) char const _Format,
_In_opt_ _locale_t  _Locale,
va_list  _ArgList 
)

Referenced by _vcscanf_s_l().

◆ __crt_va_end()

◆ __crt_va_start() [1/2]

__crt_va_start ( _ArgList  ,
_Format   
)

◆ __crt_va_start() [2/2]

◆ __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1()

__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1 ( _Success_(return==0)  errno_t,
_cgets_s  ,
_Out_writes_z_ *_Buffer char  ,
_Buffer  ,
_Out_ size_t ,
_SizeRead   
) const

◆ _cprintf()

Definition at line 176 of file conio.h.

182 {
183 int _Result;
188 return _Result;
189 }
#define NULL
Definition: types.h:112
char * va_list
Definition: vadefs.h:50
_In_z_ _Printf_format_string_ char const *const _Format
Definition: printf.c:19
_Result
Definition: conio.h:347
__crt_va_end(_ArgList)
_Check_return_opt_ _In_opt_ _locale_t const va_list _ArgList
Definition: conio.h:285
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_l(_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: conio.h:71
__crt_va_start(_ArgList, _Locale)

◆ _cprintf_l()

Definition at line 158 of file conio.h.

165 {
166 int _Result;
171 return _Result;
172 }
_Check_return_opt_ _In_opt_ _locale_t const _Locale
Definition: conio.h:279

◆ _cprintf_p()

Definition at line 246 of file conio.h.

252 {
253 int _Result;
258 return _Result;
259 }
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_p_l(_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: conio.h:129

◆ _cprintf_p_l()

Definition at line 228 of file conio.h.

◆ _cprintf_s()

Definition at line 211 of file conio.h.

217 {
218 int _Result;
223 return _Result;
224 }
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_s_l(_In_z_ _Printf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: conio.h:100

◆ _cprintf_s_l()

Definition at line 193 of file conio.h.

◆ _CRT_INSECURE_DEPRECATE() [1/4]

_Check_return_opt_ _CRT_INSECURE_DEPRECATE ( _cscanf_s  ) const

◆ _CRT_INSECURE_DEPRECATE() [2/4]

_Check_return_opt_ _CRT_INSECURE_DEPRECATE ( _cscanf_s_l  ) const

◆ _CRT_INSECURE_DEPRECATE() [3/4]

_Check_return_opt_ _CRT_INSECURE_DEPRECATE ( _vcscanf_s  ) const

◆ _CRT_INSECURE_DEPRECATE() [4/4]

_Check_return_opt_ _CRT_INSECURE_DEPRECATE ( _vcscanf_s_l  ) const

◆ _cscanf_s()

Definition at line 392 of file conio.h.

398 {
399 int _Result;
404 return _Result;
405 }
_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcscanf_s_l(_In_z_ _Scanf_format_string_params_(2) char const *const _Format, _In_opt_ _locale_t const _Locale, va_list _ArgList)
Definition: conio.h:306

◆ _cscanf_s_l()

Definition at line 374 of file conio.h.

◆ _getch()

Definition at line 218 of file console.c.

219{
220 int ret;
221
223 ret = _getch_nolock();
225 return ret;
226}
#define LOCK_CONSOLE
Definition: console.c:33
int CDECL _getch_nolock(void)
Definition: console.c:164
#define UNLOCK_CONSOLE
Definition: console.c:34
return ret
Definition: mutex.c:146

Referenced by _cgets(), _getche(), _tmain(), abort(), DumpFont(), GetPass(), gl_getc(), gl_getcx(), gl_getpass(), main(), MainUsage(), PrintHelp(), ShowAppList(), TestEventsGeneration(), Wait(), and wmain().

◆ _getch_nolock()

_Check_return_ _DCRTIMP int __cdecl _getch_nolock ( void  )

Definition at line 164 of file console.c.

165{
166 int retval = EOF;
167
169 {
172 }
173 else
174 {
175 INPUT_RECORD ir;
176 DWORD count;
177 DWORD mode = 0;
178
180 if(mode)
182
183 do {
185 {
186 /* Only interested in ASCII chars */
187 if (ir.EventType == KEY_EVENT &&
189 {
190 unsigned char ch1, ch2;
191
193 {
195 break;
196 }
197
198 if (handle_enhanced_keys(&ir, &ch1, &ch2))
199 {
200 retval = ch1;
202 break;
203 }
204 }
205 }
206 else
207 break;
208 } while(1);
209 if (mode)
211 }
212 return retval;
213}
BOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle, LPDWORD lpMode)
Definition: console.c:1571
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleMode(HANDLE hConsoleHandle, DWORD dwMode)
Definition: console.c:1608
BOOL WINAPI DECLSPEC_HOTPATCH ReadConsoleInputA(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
Definition: readwrite.c:1276
static BOOL handle_enhanced_keys(INPUT_RECORD *ir, unsigned char *ch1, unsigned char *ch2)
Definition: console.c:131
static HANDLE msvcrt_input_console(void)
Definition: console.c:42
static int __MSVCRT_console_buffer
Definition: console.c:38
#define EOF
Definition: stdio.h:33
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLenum mode
Definition: glext.h:6217
union _INPUT_RECORD::@3503 Event
WORD EventType
Definition: wincon.h:294
KEY_EVENT_RECORD KeyEvent
Definition: wincon.h:296
union _KEY_EVENT_RECORD::@3502 uChar
int retval
Definition: wcstombs.cpp:91
#define KEY_EVENT
Definition: wincon.h:156

Referenced by _getch(), _getche_nolock(), and _getwche_nolock().

◆ _getche()

Definition at line 354 of file console.c.

355{
356 int ret;
357
361 return ret;
362}
int CDECL _getche_nolock(void)
Definition: console.c:342

◆ _getche_nolock()

_Check_return_ _DCRTIMP int __cdecl _getche_nolock ( void  )

Definition at line 342 of file console.c.

343{
344 int retval;
346 if (retval != EOF)
348 return retval;
349}
int CDECL _putch_nolock(int c)
Definition: console.c:298

Referenced by _getche().

◆ _kbhit()

_DCRTIMP int __cdecl _kbhit ( void  )

Definition at line 474 of file console.c.

475{
476 int retval = 0;
477
480 retval = 1;
481 else
482 {
483 /* FIXME: There has to be a faster way than this in Win32.. */
484 INPUT_RECORD *ir = NULL;
485 DWORD count = 0, i;
486
488
489 if (count && (ir = malloc(count * sizeof(INPUT_RECORD))) &&
491 for(i = 0; i < count; i++)
492 {
493 if (ir[i].EventType == KEY_EVENT &&
494 ir[i].Event.KeyEvent.bKeyDown &&
495 ir[i].Event.KeyEvent.uChar.AsciiChar)
496 {
497 retval = 1;
498 break;
499 }
500 }
501 free(ir);
502 }
504 return retval;
505}
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput, LPDWORD lpNumberOfEvents)
Definition: console.c:1637
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputA(IN HANDLE hConsoleInput, OUT PINPUT_RECORD lpBuffer, IN DWORD nLength, OUT LPDWORD lpNumberOfEventsRead)
Definition: readwrite.c:1236
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ EVENT_TYPE EventType
Definition: exfuncs.h:167

Referenced by gl_getcx(), and main().

◆ _putch()

◆ _putch_nolock()

_Check_return_opt_ _DCRTIMP int __cdecl _putch_nolock ( _In_ int  _Ch)

◆ _Success_()

◆ _ungetch()

◆ _ungetch_nolock()

_Check_return_opt_ _DCRTIMP int __cdecl _ungetch_nolock ( _In_ int  _Ch)

◆ _vcprintf()

Definition at line 87 of file conio.h.

94 {
96 }

◆ _vcprintf_l()

Definition at line 71 of file conio.h.

79 {
83 }
#define _CRT_INTERNAL_LOCAL_PRINTF_OPTIONS
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf(_In_ unsigned __int64 _Options, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)

◆ _vcprintf_p()

_Check_return_opt_ _CRT_STDIO_INLINE int __CRTDECL _vcprintf_p ( _In_z_ char const *const  _Format,
va_list  _ArgList 
)

Definition at line 145 of file conio.h.

152 {
154 }

◆ _vcprintf_p_l()

Definition at line 129 of file conio.h.

137 {
141 }
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf_p(_In_ unsigned __int64 _Options, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)

◆ _vcprintf_s()

Definition at line 116 of file conio.h.

123 {
125 }

◆ _vcprintf_s_l()

Definition at line 100 of file conio.h.

108 {
112 }
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf_s(_In_ unsigned __int64 _Options, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)

Referenced by _cprintf_s(), _cprintf_s_l(), and _vcprintf_s().

◆ _vcscanf_s()

Definition at line 322 of file conio.h.

329 {
331 }

◆ _vcscanf_s_l()

Definition at line 306 of file conio.h.

314 {
318 }
#define _CRT_INTERNAL_SCANF_SECURECRT
#define _CRT_INTERNAL_LOCAL_SCANF_OPTIONS
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcscanf(_In_ unsigned __int64 _Options, _In_z_ _Scanf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)

Referenced by _cscanf_s(), _cscanf_s_l(), and _vcscanf_s().

Variable Documentation

◆ _ArgList

Initial value:

Definition at line 280 of file conio.h.

◆ _BufferCount

_In_z_ char const _In_ size_t _BufferCount

Definition at line 25 of file conio.h.

◆ _Locale

Definition at line 279 of file conio.h.

◆ _Result

◆ _SizeRead