diff options
| author | Meco Man <[email protected]> | 2023-08-14 18:17:06 -0400 |
|---|---|---|
| committer | Meco Man <[email protected]> | 2023-09-19 23:02:43 -0400 |
| commit | 8e6f9cf1be2b08704ff02992dc57d3022bfb073a (patch) | |
| tree | 9bd6034d4eb37a0ef7023adc0fe3e003784ced9e /include/rtdef.h | |
| parent | 47a3139b633c15494c21db75ebb28e04d8c44787 (diff) | |
[rtdef] support POSIX compatible errno
Diffstat (limited to 'include/rtdef.h')
| -rw-r--r-- | include/rtdef.h | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/include/rtdef.h b/include/rtdef.h index 972bc78b6a..eabbf009ad 100644 --- a/include/rtdef.h +++ b/include/rtdef.h @@ -68,6 +68,7 @@ #include <stdarg.h> #if !RT_USING_LIBC_ISO_ONLY #include <sys/types.h> +#include <sys/errno.h> #if defined(RT_USING_SIGNALS) || defined(RT_USING_SMART) #include <sys/signal.h> #endif /* defined(RT_USING_SIGNALS) || defined(RT_USING_SMART) */ @@ -396,27 +397,44 @@ typedef int (*init_fn_t)(void); #endif /** - * @addtogroup Error + * @addtogroup Error Code */ /**@{*/ /* RT-Thread error code definitions */ +#if defined(RT_USING_LIBC) && !RT_USING_LIBC_ISO_ONLY +/* POSIX error code compatible */ +#define RT_EOK 0 /**< There is no error */ +#define RT_ERROR 255 /**< A generic/unknown error happens */ +#define RT_ETIMEOUT ETIMEDOUT /**< Timed out */ +#define RT_EFULL ENOSPC /**< The resource is full */ +#define RT_EEMPTY ENODATA /**< The resource is empty */ +#define RT_ENOMEM ENOMEM /**< No memory */ +#define RT_ENOSYS ENOSYS /**< Function not implemented */ +#define RT_EBUSY EBUSY /**< Busy */ +#define RT_EIO EIO /**< IO error */ +#define RT_EINTR EINTR /**< Interrupted system call */ +#define RT_EINVAL EINVAL /**< Invalid argument */ +#define RT_ENOENT ENOENT /**< No entry */ +#define RT_ENOSPC ENOSPC /**< No space left */ +#define RT_EPERM EPERM /**< Operation not permitted */ +#else #define RT_EOK 0 /**< There is no error */ -#define RT_ERROR 1 /**< A generic error happens */ +#define RT_ERROR 1 /**< A generic/unknown error happens */ #define RT_ETIMEOUT 2 /**< Timed out */ #define RT_EFULL 3 /**< The resource is full */ #define RT_EEMPTY 4 /**< The resource is empty */ #define RT_ENOMEM 5 /**< No memory */ -#define RT_ENOSYS 6 /**< No system */ +#define RT_ENOSYS 6 /**< Function not implemented */ #define RT_EBUSY 7 /**< Busy */ #define RT_EIO 8 /**< IO error */ #define RT_EINTR 9 /**< Interrupted system call */ #define RT_EINVAL 10 /**< Invalid argument */ -#define RT_ETRAP 11 /**< Trap event */ -#define RT_ENOENT 12 /**< No entry */ -#define RT_ENOSPC 13 /**< No space left */ -#define RT_EPERM 14 /**< Operation not permitted */ +#define RT_ENOENT 11 /**< No entry */ +#define RT_ENOSPC 12 /**< No space left */ +#define RT_EPERM 13 /**< Operation not permitted */ +#endif /* defined(RT_USING_LIBC) && !RT_USING_LIBC_ISO_ONLY */ /**@}*/ |
