2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
[official-gcc.git] / libstdc++-v3 / config / io / c_io_stdio.h
blob592abb6052b785533f347a7bfb4f4ae08a75c0fc
1 // underlying io library -*- C++ -*-
3 // Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 2, or (at your option)
9 // any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING. If not, write to the Free
18 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
19 // USA.
21 // As a special exception, you may use this file as part of a free software
22 // library without restriction. Specifically, if other files instantiate
23 // templates or use macros or inline functions from this file, or you compile
24 // this file and link it with other files to produce an executable, this
25 // file does not by itself cause the resulting executable to be covered by
26 // the GNU General Public License. This exception does not however
27 // invalidate any other reasons why the executable file might be covered by
28 // the GNU General Public License.
30 // c_io_stdio.h - Defines for using "C" stdio.h
32 #ifndef _C_IO_STDIO_H
33 #define _C_IO_STDIO_H 1
35 #include <cstdio>
36 #include <cstddef>
37 #include <bits/gthr.h>
39 namespace std
41 // for fpos.h
42 typedef long streamoff;
43 typedef ptrdiff_t streamsize; // Signed integral type
44 #if _GLIBCXX_USE_WCHAR_T
45 typedef ptrdiff_t wstreamsize;
46 #endif
48 typedef __gthread_mutex_t __c_lock;
50 // for basic_file.h
51 typedef FILE __c_file;
53 // for ios_base.h
54 struct __ios_flags
56 typedef short __int_type;
58 static const __int_type _S_boolalpha = 0x0001;
59 static const __int_type _S_dec = 0x0002;
60 static const __int_type _S_fixed = 0x0004;
61 static const __int_type _S_hex = 0x0008;
62 static const __int_type _S_internal = 0x0010;
63 static const __int_type _S_left = 0x0020;
64 static const __int_type _S_oct = 0x0040;
65 static const __int_type _S_right = 0x0080;
66 static const __int_type _S_scientific = 0x0100;
67 static const __int_type _S_showbase = 0x0200;
68 static const __int_type _S_showpoint = 0x0400;
69 static const __int_type _S_showpos = 0x0800;
70 static const __int_type _S_skipws = 0x1000;
71 static const __int_type _S_unitbuf = 0x2000;
72 static const __int_type _S_uppercase = 0x4000;
73 static const __int_type _S_adjustfield = 0x0020 | 0x0080 | 0x0010;
74 static const __int_type _S_basefield = 0x0002 | 0x0040 | 0x0008;
75 static const __int_type _S_floatfield = 0x0100 | 0x0004;
77 // 27.4.2.1.3 Type ios_base::iostate
78 static const __int_type _S_badbit = 0x01;
79 static const __int_type _S_eofbit = 0x02;
80 static const __int_type _S_failbit = 0x04;
82 // 27.4.2.1.4 Type openmode
83 static const __int_type _S_app = 0x01;
84 static const __int_type _S_ate = 0x02;
85 static const __int_type _S_bin = 0x04;
86 static const __int_type _S_in = 0x08;
87 static const __int_type _S_out = 0x10;
88 static const __int_type _S_trunc = 0x20;
92 #endif