| // Copyright SCI Semiconductor and CHERIoT Contributors. | 
 | // SPDX-License-Identifier: MIT | 
 |  | 
 | #pragma once | 
 |  | 
 | #include <errno.h> | 
 |  | 
 | /** | 
 |  * This header defines errno values used by FreeRTOS+TCP. | 
 |  * | 
 |  * In the FreeRTOS core tree, this is included in `projdefs.h`. | 
 |  * | 
 |  * We modified it here to use the same errno codes are the CHERIoT core when | 
 |  * possible. | 
 |  */ | 
 |  | 
 | #define pdFREERTOS_ERRNO_NONE 0                  // No errors | 
 | #define pdFREERTOS_ERRNO_ENOENT ENOENT           // No such file or directory | 
 | #define pdFREERTOS_ERRNO_EINTR EINTR             // Interrupted system call | 
 | #define pdFREERTOS_ERRNO_EIO EIO                 // I/O error | 
 | #define pdFREERTOS_ERRNO_ENXIO ENXIO             // No such device or address | 
 | #define pdFREERTOS_ERRNO_EBADF EBADF             // Bad file number | 
 | #define pdFREERTOS_ERRNO_EAGAIN EAGAIN           // No more processes | 
 | #define pdFREERTOS_ERRNO_EWOULDBLOCK EWOULDBLOCK // Operation would block | 
 | #define pdFREERTOS_ERRNO_ENOMEM ENOMEM           // Not enough memory | 
 | #define pdFREERTOS_ERRNO_EACCES EACCES           // Permission denied | 
 | #define pdFREERTOS_ERRNO_EFAULT EFAULT           // Bad address | 
 | #define pdFREERTOS_ERRNO_EBUSY EBUSY             // Mount device busy | 
 | #define pdFREERTOS_ERRNO_EEXIST EEXIST           // File exists | 
 | #define pdFREERTOS_ERRNO_EXDEV EXDEV             // Cross-device link | 
 | #define pdFREERTOS_ERRNO_ENODEV ENODEV           // No such device | 
 | #define pdFREERTOS_ERRNO_ENOTDIR ENOTDIR         // Not a directory | 
 | #define pdFREERTOS_ERRNO_EISDIR EISDIR           // Is a directory | 
 | #define pdFREERTOS_ERRNO_EINVAL EINVAL           // Invalid argument | 
 | #define pdFREERTOS_ERRNO_ENOSPC ENOSPC           // No space left on device | 
 | #define pdFREERTOS_ERRNO_ESPIPE ESPIPE           // Illegal seek | 
 | #define pdFREERTOS_ERRNO_EROFS EROFS             // Read only file system | 
 | #define pdFREERTOS_ERRNO_EUNATCH EUNATCH         // Protocol driver not attached | 
 | #define pdFREERTOS_ERRNO_EBADE EBADE             // Invalid exchange | 
 | #define pdFREERTOS_ERRNO_EFTYPE EFTYPE           // Inappropriate file type or format | 
 | #define pdFREERTOS_ERRNO_ENOTEMPTY ENOTEMPTY     // Directory not empty | 
 | #define pdFREERTOS_ERRNO_ENAMETOOLONG ENAMETOOLONG // File or path name too long | 
 | #define pdFREERTOS_ERRNO_EOPNOTSUPP EOPNOTSUPP   // Operation not supported on transport endpoint | 
 | #define pdFREERTOS_ERRNO_EAFNOSUPPORT EAFNOSUPPORT // Address family not supported by protocol | 
 | #define pdFREERTOS_ERRNO_ENOBUFS ENOBUFS         // No buffer space available | 
 | #define pdFREERTOS_ERRNO_ENOPROTOOPT ENOPROTOOPT // Protocol not available | 
 | #define pdFREERTOS_ERRNO_EADDRINUSE EADDRINUSE   // Address already in use | 
 | #define pdFREERTOS_ERRNO_ETIMEDOUT ETIMEDOUT     // Connection timed out | 
 | #define pdFREERTOS_ERRNO_EINPROGRESS EINPROGRESS // Connection already in progress | 
 | #define pdFREERTOS_ERRNO_EALREADY EALREADY       // Socket already connected | 
 | #define pdFREERTOS_ERRNO_EADDRNOTAVAIL EADDRNOTAVAIL // Address not available | 
 | #define pdFREERTOS_ERRNO_EISCONN EISCONN         // Socket is already connected | 
 | #define pdFREERTOS_ERRNO_ENOTCONN ENOTCONN       // Socket is not connected | 
 | #define pdFREERTOS_ERRNO_ENOMEDIUM ENOMEDIUM     // No medium inserted | 
 | #define pdFREERTOS_ERRNO_EILSEQ EILSEQ           // An invalid UTF-16 sequence was encountered | 
 | #define pdFREERTOS_ERRNO_ECANCELED ECANCELED     // Operation canceled | 
 |  | 
 | /** | 
 |  * These errno codes are non-standard, assign them a code outside our errno | 
 |  * range. | 
 |  */ | 
 |  | 
 | #define pdFREERTOS_ERRNO_ENMFILE (__ELASTERROR + 1) // No more files |