use <errno.h>