#ifndef __LWIP_ERRNO_H_
#define __LWIP_ERRNO_H_

#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 */
#define  EIO     5  /* I/O error */
#define  ENXIO     6  /* No such device or address */
#define  E2BIG     7  /* Arg list too long */
#define  ENOEXEC     8  /* Exec format error */
#define  EBADF     9  /* Bad file number */
#define  ECHILD    10  /* No child processes */
#define  EAGAIN    11  /* Try again */
#define  ENOMEM    12  /* Out of memory */
#define  EACCES    13  /* Permission denied */
#define  EFAULT    14  /* Bad address */
#define  ENOTBLK    15  /* Block device required */
#define  EBUSY    16  /* Device or resource busy */
#define  EEXIST    17  /* File exists */
#define  EXDEV    18  /* Cross-device link */
#define  ENODEV    19  /* No such device */
#define  ENOTDIR    20  /* Not a directory */
#define  EISDIR    21  /* Is a directory */
#define  EINVAL    22  /* Invalid argument */
#define  ENFILE    23  /* File table overflow */
#define  EMFILE    24  /* Too many open files */
#define  ENOTTY    25  /* Not a typewriter */
#define  ETXTBSY    26  /* Text file busy */
#define  EFBIG    27  /* File too large */
#define  ENOSPC    28  /* No space left on device */
#define  ESPIPE    29  /* Illegal seek */
#define  EROFS    30  /* Read-only file system */
#define  EMLINK    31  /* Too many links */
#define  EPIPE    32  /* Broken pipe */
//#define  EDOM    33  /* Math argument out of domain of func */
//#define  ERANGE    34  /* Math result not representable */
#define  EDEADLK    35  /* Resource deadlock would occur */
#define  ENAMETOOLONG  36  /* File name too long */
#define  ENOLCK    37  /* No record locks available */
#define  ENOSYS    38  /* Function not implemented */
#define  ENOTEMPTY  39  /* Directory not empty */
#define  ELOOP    40  /* Too many symbolic links encountered */
#define  EWOULDBLOCK  EAGAIN  /* Operation would block */
#define  ENOMSG    42  /* No message of desired type */
#define  EIDRM    43  /* Identifier removed */
#define  ECHRNG    44  /* Channel number out of range */
#define  EL2NSYNC  45  /* Level 2 not synchronized */
#define  EL3HLT    46  /* Level 3 halted */
#define  EL3RST    47  /* Level 3 reset */
#define  ELNRNG    48  /* Link number out of range */
#define  EUNATCH    49  /* Protocol driver not attached */
#define  ENOCSI    50  /* No CSI structure available */
#define  EL2HLT    51  /* Level 2 halted */
#define  EBADE    52  /* Invalid exchange */
#define  EBADR    53  /* Invalid request descriptor */
#define  EXFULL    54  /* Exchange full */
#define  ENOANO    55  /* No anode */
#define  EBADRQC    56  /* Invalid request code */
#define  EBADSLT    57  /* Invalid slot */

#define  EDEADLOCK  EDEADLK

#define  EBFONT    59  /* Bad font file format */
#define  ENOSTR    60  /* Device not a stream */
#define  ENODATA    61  /* No data available */
#define  ETIME    62  /* Timer expired */
#define  ENOSR    63  /* Out of streams resources */
#define  ENONET    64  /* Machine is not on the network */
#define  ENOPKG    65  /* Package not installed */
#define  EREMOTE    66  /* Object is remote */
#define  ENOLINK    67  /* Link has been severed */
#define  EADV    68  /* Advertise error */
#define  ESRMNT    69  /* Srmount error */
#define  ECOMM    70  /* Communication error on send */
#define  EPROTO    71  /* Protocol error */
#define  EMULTIHOP  72  /* Multihop attempted */
#define  EDOTDOT    73  /* RFS specific error */
#define  EBADMSG    74  /* Not a data message */
#define  EOVERFLOW  75  /* Value too large for defined data type */
#define  ENOTUNIQ  76  /* Name not unique on network */
#define  EBADFD    77  /* File descriptor in bad state */
#define  EREMCHG    78  /* Remote address changed */
#define  ELIBACC    79  /* Can not access a needed shared library */
#define  ELIBBAD    80  /* Accessing a corrupted shared library */
#define  ELIBSCN    81  /* .lib section in a.out corrupted */
#define  ELIBMAX    82  /* Attempting to link in too many shared libraries */
#define  ELIBEXEC  83  /* Cannot exec a shared library directly */
// #define  EILSEQ    84  /* Illegal byte sequence */
#define  ERESTART  85  /* Interrupted system call should be restarted */
#define  ESTRPIPE  86  /* Streams pipe error */
#define  EUSERS    87  /* Too many users */
#define  ENOTSOCK  88  /* Socket operation on non-socket */
#define  EDESTADDRREQ  89  /* Destination address required */
#define  EMSGSIZE  90  /* Message too long */
#define  EPROTOTYPE  91  /* Protocol wrong type for socket */
#define  ENOPROTOOPT  92  /* Protocol not available */
#define  EPROTONOSUPPORT  93  /* Protocol not supported */
#define  ESOCKTNOSUPPORT  94  /* Socket type not supported */
#define  EOPNOTSUPP  95  /* Operation not supported on transport endpoint */
#define  EPFNOSUPPORT  96  /* Protocol family not supported */
#define  EAFNOSUPPORT  97  /* Address family not supported by protocol */
#define  EADDRINUSE  98  /* Address already in use */
#define  EADDRNOTAVAIL  99  /* Cannot assign requested address */
#define  ENETDOWN  100  /* Network is down */
#define  ENETUNREACH  101  /* Network is unreachable */
#define  ENETRESET  102  /* Network dropped connection because of reset */
#define  ECONNABORTED  103  /* Software caused connection abort */
#define  ECONNRESET  104  /* Connection reset by peer */
#define  ENOBUFS    105  /* No buffer space available */
#define  EISCONN    106  /* Transport endpoint is already connected */
#define  ENOTCONN  107  /* Transport endpoint is not connected */
#define  ESHUTDOWN  108  /* Cannot send after transport endpoint shutdown */
#define  ETOOMANYREFS  109  /* Too many references: cannot splice */
#define  ETIMEDOUT  110  /* Connection timed out */
#define  ECONNREFUSED  111  /* Connection refused */
#define  EHOSTDOWN  112  /* Host is down */
#define  EHOSTUNREACH  113  /* No route to host */
#define  EALREADY  114  /* Operation already in progress */
#define  EINPROGRESS  115  /* Operation now in progress */
#define  ESTALE    116  /* Stale NFS file handle */
#define  EUCLEAN    117  /* Structure needs cleaning */
#define  ENOTNAM    118  /* Not a XENIX named type file */
#define  ENAVAIL    119  /* No XENIX semaphores available */
#define  EISNAM    120  /* Is a named type file */
#define  EREMOTEIO  121  /* Remote I/O error */
#define  EDQUOT    122  /* Quota exceeded */

#define  ENOMEDIUM  123  /* No medium found */
#define  EMEDIUMTYPE  124  /* Wrong medium type */


#define	ENSROK		0	/* DNS server returned answer with no data */
#define	ENSRNODATA	160	/* DNS server returned answer with no data */
#define	ENSRFORMERR	161	/* DNS server claims query was misformatted */
#define	ENSRSERVFAIL 162	/* DNS server returned general failure */
#define	ENSRNOTFOUND 163	/* Domain name not found */
#define	ENSRNOTIMP	164	/* DNS server does not implement requested operation */
#define	ENSRREFUSED	165	/* DNS server refused query */
#define	ENSRBADQUERY 166	/* Misformatted DNS query */
#define	ENSRBADNAME	167	/* Misformatted domain name */
#define	ENSRBADFAMILY 168	/* Unsupported address family */
#define	ENSRBADRESP	169	/* Misformatted DNS reply */
#define	ENSRCONNREFUSED	170	/* Could not contact DNS servers */
#define	ENSRTIMEOUT	171	/* Timeout while contacting DNS servers */
#define	ENSROF		172	/* End of file */
#define	ENSRFILE	173	/* Error reading file */
#define	ENSRNOMEM	174	/* Out of memory */
#define	ENSRDESTRUCTION	175	/* Application terminated lookup */
#define	ENSRQUERYDOMAINTOOLONG	176	/* Domain name is too long */
#define	ENSRCNAMELOOP	177	/* Domain name is too long */

#endif // __LWIP_ERRNO_H_
