+/* ----------------------------------------------------------------------------
+ * MACROS
+ * --------------------------------------------------------------------------*/
+
+#define FE_DIVBYZERO /* TODO - to __intern.h / __personality.h? */
+#define FE_INEXACT /* TODO - to __intern.h / __personality.h? */
+#define FE_INVALID /* TODO - to __intern.h / __personality.h? */
+#define FE_OVERFLOW /* TODO - to __intern.h / __personality.h? */
+#define FE_UNDERFLOW /* TODO - to __intern.h / __personality.h? */
+#define FE_ALL_EXCEPT /* TODO - to __intern.h / __personality.h? */
+
+#define FE_DOWNWARD /* TODO - to __intern.h / __personality.h? */
+#define FE_TONEAREST /* TODO - to __intern.h / __personality.h? */
+#define FE_TOWARDZERO /* TODO - to __intern.h / __personality.h? */
+#define FE_UPWARD /* TODO - to __intern.h / __personality.h? */
+
+#define FE_DFL_ENV /* TODO - to __intern.h / __personality.h? */
+
+/* ----------------------------------------------------------------------------
+ * TYPEDEFS
+ * --------------------------------------------------------------------------*/
+
+typedef fenv_t; /* TODO - to __intern.h / __personality.h? */
+typedef fexcept_t; /* TODO - to __intern.h / __personality.h? */
+
+/* ----------------------------------------------------------------------------
+ * FUNCTIONS
+ * --------------------------------------------------------------------------*/
+
+int feclearexcept( int exceptions );
+int fegetexceptflag( fexcept_t * flags, int exceptions );
+int feraiseexcept( int exceptions );
+int fesetexceptflag( const fexcept_t * flags, int exceptions );
+int fetestexcept( int exceptions );
+
+int fegetround( void );
+int fesetround( int mode );
+
+int fegetenv( fenv_t * environment );
+int feholdexcept( fenv_t * environment );
+int fesetenv( const fenv_t * environment );
+int feupdateenv( const fenv_t * environment );
+
+#endif /* _FENV_H */