blob: 49afda59ee6d364a93a01bdb8719b6a1a5974d93 [file] [log] [blame]
Jim Cownie5e8470a2013-09-27 10:38:44 +00001/*
2 * kmp_io.h -- RTL IO header file.
Jim Cownie5e8470a2013-09-27 10:38:44 +00003 */
4
Jim Cownie5e8470a2013-09-27 10:38:44 +00005//===----------------------------------------------------------------------===//
6//
Chandler Carruth57b08b02019-01-19 10:56:40 +00007// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
8// See https://llvm.org/LICENSE.txt for license information.
9// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
Jim Cownie5e8470a2013-09-27 10:38:44 +000010//
11//===----------------------------------------------------------------------===//
12
Jim Cownie5e8470a2013-09-27 10:38:44 +000013#ifndef KMP_IO_H
14#define KMP_IO_H
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20/* ------------------------------------------------------------------------ */
Jim Cownie5e8470a2013-09-27 10:38:44 +000021
Jonathan Peyton30419822017-05-12 18:01:32 +000022enum kmp_io { kmp_out = 0, kmp_err };
Jim Cownie5e8470a2013-09-27 10:38:44 +000023
Jonathan Peyton30419822017-05-12 18:01:32 +000024extern kmp_bootstrap_lock_t __kmp_stdio_lock; /* Control stdio functions */
25extern kmp_bootstrap_lock_t
26 __kmp_console_lock; /* Control console initialization */
Jim Cownie5e8470a2013-09-27 10:38:44 +000027
Jonathan Peyton6d88e042018-12-13 23:14:24 +000028extern void __kmp_vprintf(enum kmp_io stream, char const *format, va_list ap);
Jonathan Peyton30419822017-05-12 18:01:32 +000029extern void __kmp_printf(char const *format, ...);
30extern void __kmp_printf_no_lock(char const *format, ...);
Jonathan Peyton6d88e042018-12-13 23:14:24 +000031extern void __kmp_fprintf(enum kmp_io stream, char const *format, ...);
Jonathan Peyton30419822017-05-12 18:01:32 +000032extern void __kmp_close_console(void);
Jim Cownie5e8470a2013-09-27 10:38:44 +000033
34#ifdef __cplusplus
35}
36#endif
37
38#endif /* KMP_IO_H */