#ifndef _ERRNO_H
#define _ERRNO_H

/* The last error encountered during a call to a library or system function. */
extern int errno;

#define EPERM 1    // Operation not permitted
#define ENOENT 2   // No such file or directory
#define ESRCH 3    // No such process
#define EINTR 4    // Interrupted system call. Not implemented.
#define ENOEXEC 8  // Exec format error
#define EBADF 9    // Bad file descriptor
#define EAGAIN 11  // Resource temporarily unavailable
#define ENOMEM 12  // Cannot allocate memory
#define EFAULT 14  // Bad address
#define EEXIST 17  // File exists
#define ENOTDIR 20 // Not a directory
#define EISDIR 21  // Is a directory
#define EINVAL 22  // Invalid argument
#define EMFILE 24  // Too many open files
#define ENOTTY 25  // Inappropriate ioctl for device
#define ENOSPC 28  // No space left on device
#define EPIPE 32   // Broken pipe. Not implemented.
#define ENOSYS 38  // Function not implemented
#define ENOTSUP 95 // Operation not supported

#endif