xref: /freebsd/contrib/llvm-project/libc/include/llvm-libc-macros/stdio-macros.h (revision bb722a7d0f1642bff6487f943ad0427799a6e5bf)
1*bb722a7dSDimitry Andric //===-- Macros defined in stdio.h header file -----------------------------===//
2*bb722a7dSDimitry Andric //
3*bb722a7dSDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*bb722a7dSDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5*bb722a7dSDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*bb722a7dSDimitry Andric //
7*bb722a7dSDimitry Andric //===----------------------------------------------------------------------===//
8*bb722a7dSDimitry Andric 
9*bb722a7dSDimitry Andric #ifndef LLVM_LIBC_MACROS_STDIO_MACROS_H
10*bb722a7dSDimitry Andric #define LLVM_LIBC_MACROS_STDIO_MACROS_H
11*bb722a7dSDimitry Andric 
12*bb722a7dSDimitry Andric #include "../llvm-libc-types/FILE.h"
13*bb722a7dSDimitry Andric 
14*bb722a7dSDimitry Andric #ifdef __cplusplus
15*bb722a7dSDimitry Andric extern "C" FILE *stdin;
16*bb722a7dSDimitry Andric extern "C" FILE *stdout;
17*bb722a7dSDimitry Andric extern "C" FILE *stderr;
18*bb722a7dSDimitry Andric #else
19*bb722a7dSDimitry Andric extern FILE *stdin;
20*bb722a7dSDimitry Andric extern FILE *stdout;
21*bb722a7dSDimitry Andric extern FILE *stderr;
22*bb722a7dSDimitry Andric #endif
23*bb722a7dSDimitry Andric 
24*bb722a7dSDimitry Andric #ifndef stdin
25*bb722a7dSDimitry Andric #define stdin stdin
26*bb722a7dSDimitry Andric #endif
27*bb722a7dSDimitry Andric 
28*bb722a7dSDimitry Andric #ifndef stdout
29*bb722a7dSDimitry Andric #define stdout stdout
30*bb722a7dSDimitry Andric #endif
31*bb722a7dSDimitry Andric 
32*bb722a7dSDimitry Andric #ifndef stderr
33*bb722a7dSDimitry Andric #define stderr stderr
34*bb722a7dSDimitry Andric #endif
35*bb722a7dSDimitry Andric 
36*bb722a7dSDimitry Andric #ifndef EOF
37*bb722a7dSDimitry Andric #define EOF (-1)
38*bb722a7dSDimitry Andric #endif
39*bb722a7dSDimitry Andric 
40*bb722a7dSDimitry Andric #define BUFSIZ 1024
41*bb722a7dSDimitry Andric 
42*bb722a7dSDimitry Andric #define _IONBF 2
43*bb722a7dSDimitry Andric #define _IOLBF 1
44*bb722a7dSDimitry Andric #define _IOFBF 0
45*bb722a7dSDimitry Andric 
46*bb722a7dSDimitry Andric #ifndef SEEK_SET
47*bb722a7dSDimitry Andric #define SEEK_SET 0
48*bb722a7dSDimitry Andric #endif
49*bb722a7dSDimitry Andric 
50*bb722a7dSDimitry Andric #ifndef SEEK_CUR
51*bb722a7dSDimitry Andric #define SEEK_CUR 1
52*bb722a7dSDimitry Andric #endif
53*bb722a7dSDimitry Andric 
54*bb722a7dSDimitry Andric #ifndef SEEK_END
55*bb722a7dSDimitry Andric #define SEEK_END 2
56*bb722a7dSDimitry Andric #endif
57*bb722a7dSDimitry Andric 
58*bb722a7dSDimitry Andric #endif // LLVM_LIBC_MACROS_STDIO_MACROS_H
59