The <errno.h> header file defines several macros used
for error reporting.
 
EDOM
ERANGE
errno . They
   expand to integral constant expressions with unique nonzero
   values.
   
errno
int , depending on the operating
   system.
   
   The errno variable is used for holding
   implementation-defined error codes from library routines.
   All error codes are positive integers. The value of
   errno is 0 at program startup, but is never set to
   0 by any library function. Therefore, errno should
   be set to 0 before calling a library function and then inspected
   afterward.