| // 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 |