Add struct stat64.
[kopensolaris-gnu/glibc.git] / bits / fenv.h
1 /* Copyright (C) 1997 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Library General Public License as
6    published by the Free Software Foundation; either version 2 of the
7    License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Library General Public License for more details.
13
14    You should have received a copy of the GNU Library General Public
15    License along with the GNU C Library; see the file COPYING.LIB.  If not,
16    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17    Boston, MA 02111-1307, USA.  */
18
19 #ifndef _FENV_H
20 #error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
21 #endif
22
23
24 /* Here should be the exception be defined:
25     FE_INVALID
26     FE_DIVBYZERO
27     FE_OVERFLOW
28     FE_UNDERFLOW
29     FE_INEXACT
30    We define no macro which signals no exception is supported.  */
31
32 #define FE_ALL_EXCEPT 0
33
34
35 /* Here should the rounding modes be defined:
36     FE_TONEAREST
37     FE_DOWNWARD
38     FE_UPWARD
39     FE_TOWARDSZERO
40    We define no macro which signals no rounding mode is selectable.  */
41
42
43 /* Type representing exception flags.
44    XXX Probably we should also include the signal handler here.  */
45 typedef struct
46   {
47     unsigned int flags;
48   }
49 fexcept_t;
50
51
52 /* Type representing floating-point environment.  */
53 typedef struct
54   {
55     fexcept_t excepts;
56     /* XXX I don't know what else we should save.  */
57   }
58 fenv_t;
59
60 /* If the default argument is used we use this value.  */
61 #define FE_DFL_ENV      ((fenv_t *) -1l)