Bring in a trimmed down gcc-3.4-20040618.
[dragonfly.git] / contrib / gcc-3.4 / libstdc++-v3 / config / io / c_io_stdio.h
1 // underlying io library  -*- C++ -*-
2
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.
10
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.
15
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.
20
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.
29
30 // c_io_stdio.h - Defines for using "C" stdio.h
31
32 #ifndef _C_IO_STDIO_H
33 #define _C_IO_STDIO_H 1
34
35 #include <cstdio>
36 #include <cstddef>
37 #include <bits/gthr.h>
38
39 namespace std 
40 {
41   typedef __gthread_mutex_t __c_lock;
42
43   // for basic_file.h
44   typedef FILE __c_file;
45
46   // for ios_base.h
47   struct __ios_flags
48   {
49     typedef short __int_type;
50
51     static const __int_type _S_boolalpha =      0x0001;
52     static const __int_type _S_dec =            0x0002;
53     static const __int_type _S_fixed =          0x0004;
54     static const __int_type _S_hex =            0x0008;
55     static const __int_type _S_internal =       0x0010;
56     static const __int_type _S_left =           0x0020;
57     static const __int_type _S_oct =            0x0040;
58     static const __int_type _S_right =          0x0080;
59     static const __int_type _S_scientific =     0x0100;
60     static const __int_type _S_showbase =       0x0200;
61     static const __int_type _S_showpoint =      0x0400;
62     static const __int_type _S_showpos =        0x0800;
63     static const __int_type _S_skipws =         0x1000;
64     static const __int_type _S_unitbuf =        0x2000;
65     static const __int_type _S_uppercase =      0x4000;
66     static const __int_type _S_adjustfield =    0x0020 | 0x0080 | 0x0010;
67     static const __int_type _S_basefield =      0x0002 | 0x0040 | 0x0008;
68     static const __int_type _S_floatfield =     0x0100 | 0x0004;
69
70     // 27.4.2.1.3  Type ios_base::iostate
71     static const __int_type _S_badbit =         0x01;
72     static const __int_type _S_eofbit =         0x02;
73     static const __int_type _S_failbit =        0x04;
74
75     // 27.4.2.1.4  Type openmode
76     static const __int_type _S_app =            0x01;
77     static const __int_type _S_ate =            0x02;
78     static const __int_type _S_bin =            0x04;
79     static const __int_type _S_in =             0x08;
80     static const __int_type _S_out =            0x10;
81     static const __int_type _S_trunc =          0x20;
82   };
83 }
84
85 #endif