manual/llio.texi: update manual to document file-private locks
[jlayton/glibc.git] / include / fenv.h
1 #ifndef _FENV_H
2 #include <math/fenv.h>
3
4 #ifndef _ISOMAC
5 # include <stdbool.h>
6 /* Now define the internal interfaces.  */
7
8 extern int __feclearexcept (int __excepts);
9 extern int __fegetexcept (void);
10 extern int __fegetexceptflag (fexcept_t *__flagp, int __excepts);
11 extern int __feraiseexcept (int __excepts);
12 extern int __fesetexceptflag (const fexcept_t *__flagp, int __excepts);
13 extern int __fegetenv (fenv_t *__envp);
14 extern int __fesetenv (const fenv_t *__envp);
15 extern int __feupdateenv (const fenv_t *__envp);
16
17 libm_hidden_proto (feraiseexcept)
18 libm_hidden_proto (fegetenv)
19 libm_hidden_proto (fegetround)
20 libm_hidden_proto (fesetenv)
21 libm_hidden_proto (fesetround)
22 libm_hidden_proto (feholdexcept)
23 libm_hidden_proto (feupdateenv)
24 libm_hidden_proto (fetestexcept)
25 libm_hidden_proto (feclearexcept)
26
27 /* Rounding mode context.  This allows functions to set/restore rounding mode
28    only when the desired rounding mode is different from the current rounding
29    mode.  */
30 struct rm_ctx
31 {
32   fenv_t env;
33   bool updated_status;
34 };
35 #endif
36
37 #endif