summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorHubretXie <[email protected]>2019-01-08 09:45:54 +0800
committerGitHub <[email protected]>2019-01-08 09:45:54 +0800
commitadfefdb05f31e4cc2d002a65b96666606273259b (patch)
treea8d91ae3e3cb6e32850b8ae6bd3e6335aae0c019 /include
parentc51f27797e332cb9a73cfbde7b1370a8ca59684d (diff)
parent3d95a0359782157ad266f4bbc55a45dc22465e3e (diff)
Merge pull request #2 from RT-Thread/master
sync
Diffstat (limited to 'include')
-rw-r--r--include/libc/libc_errno.h323
-rw-r--r--include/rtdef.h37
-rw-r--r--include/rtservice.h4
3 files changed, 205 insertions, 159 deletions
diff --git a/include/libc/libc_errno.h b/include/libc/libc_errno.h
index 82ae8cf943..e1486048c7 100644
--- a/include/libc/libc_errno.h
+++ b/include/libc/libc_errno.h
@@ -2,10 +2,6 @@
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
- */
-
-/*
- * File : libc_errno.h
*
* Change Logs:
* Date Author Notes
@@ -17,145 +13,194 @@
#include <rtconfig.h>
-#if defined(RT_USING_NEWLIB) || defined(_WIN32)
-/* use errno.h file in newlib */
+#if defined(RT_USING_NEWLIB) || defined(_WIN32) || defined(__CC_ARM) || defined(__IAR_SYSTEMS_ICC__)
+/* use errno.h file in toolchains */
#include <errno.h>
+#endif
+
+#if defined(__CC_ARM)
+/*
+defined in armcc/errno.h
+
+#define EDOM 1
+#define ERANGE 2
+#define EILSEQ 4
+#define ESIGNUM 3
+#define EINVAL 5
+#define ENOMEM 6
+*/
+#define ERROR_BASE_NO 7
+
+#elif defined(__IAR_SYSTEMS_ICC__)
+/* defined in iar/errno.h
+#define EDOM 33
+#define ERANGE 34
+#define EFPOS 35
+#define EILSEQ 36
+*/
+#define ERROR_BASE_NO 36
+
#else
-/* define errno self. */
-#define EPERM 1
-#define ENOENT 2
-#define ESRCH 3
-#define EINTR 4
-#define EIO 5
-#define ENXIO 6
-#define E2BIG 7
-#define ENOEXEC 8
-#define EBADF 9
-#define ECHILD 10
-#define EAGAIN 11
-#define ENOMEM 12
-#define EACCES 13
-#define EFAULT 14
-#define ENOTBLK 15
-#define EBUSY 16
-#define EEXIST 17
-#define EXDEV 18
-#define ENODEV 19
-#define ENOTDIR 20
-#define EISDIR 21
-#define EINVAL 22
-#define ENFILE 23
-#define EMFILE 24
-#define ENOTTY 25
-#define ETXTBSY 26
-#define EFBIG 27
-#define ENOSPC 28
-#define ESPIPE 29
-#define EROFS 30
-#define EMLINK 31
-#define EPIPE 32
-#define EDOM 33
-#define ERANGE 34
-#define EDEADLK 35
-#define ENAMETOOLONG 36
-#define ENOLCK 37
-#define ENOSYS 38
-#define ENOTEMPTY 39
-#define ELOOP 40
+
+#define ERROR_BASE_NO 0
+#endif
+
+#if !defined(RT_USING_NEWLIB) && !defined(_WIN32)
+
+#define EPERM (ERROR_BASE_NO + 1)
+#define ENOENT (ERROR_BASE_NO + 2)
+#define ESRCH (ERROR_BASE_NO + 3)
+#define EINTR (ERROR_BASE_NO + 4)
+#define EIO (ERROR_BASE_NO + 5)
+#define ENXIO (ERROR_BASE_NO + 6)
+#define E2BIG (ERROR_BASE_NO + 7)
+#define ENOEXEC (ERROR_BASE_NO + 8)
+#define EBADF (ERROR_BASE_NO + 9)
+#define ECHILD (ERROR_BASE_NO + 10)
+#define EAGAIN (ERROR_BASE_NO + 11)
+
+#ifndef ENOMEM
+#define ENOMEM (ERROR_BASE_NO + 12)
+#endif
+
+#define EACCES (ERROR_BASE_NO + 13)
+#define EFAULT (ERROR_BASE_NO + 14)
+#define ENOTBLK (ERROR_BASE_NO + 15)
+#define EBUSY (ERROR_BASE_NO + 16)
+#define EEXIST (ERROR_BASE_NO + 17)
+#define EXDEV (ERROR_BASE_NO + 18)
+#define ENODEV (ERROR_BASE_NO + 19)
+#define ENOTDIR (ERROR_BASE_NO + 20)
+#define EISDIR (ERROR_BASE_NO + 21)
+
+#ifndef EINVAL
+#define EINVAL (ERROR_BASE_NO + 22)
+#endif
+
+#define ENFILE (ERROR_BASE_NO + 23)
+#define EMFILE (ERROR_BASE_NO + 24)
+#define ENOTTY (ERROR_BASE_NO + 25)
+#define ETXTBSY (ERROR_BASE_NO + 26)
+#define EFBIG (ERROR_BASE_NO + 27)
+#define ENOSPC (ERROR_BASE_NO + 28)
+#define ESPIPE (ERROR_BASE_NO + 29)
+#define EROFS (ERROR_BASE_NO + 30)
+#define EMLINK (ERROR_BASE_NO + 31)
+#define EPIPE (ERROR_BASE_NO + 32)
+
+#ifndef EDOM
+#define EDOM (ERROR_BASE_NO + 33)
+#endif
+
+#ifndef ERANGE
+#define ERANGE (ERROR_BASE_NO + 34)
+#endif
+
+#define EDEADLK (ERROR_BASE_NO + 35)
+#define ENAMETOOLONG (ERROR_BASE_NO + 36)
+#define ENOLCK (ERROR_BASE_NO + 37)
+#define ENOSYS (ERROR_BASE_NO + 38)
+#define ENOTEMPTY (ERROR_BASE_NO + 39)
+#define ELOOP (ERROR_BASE_NO + 40)
#define EWOULDBLOCK EAGAIN
-#define ENOMSG 42
-#define EIDRM 43
-#define ECHRNG 44
-#define EL2NSYNC 45
-#define EL3HLT 46
-#define EL3RST 47
-#define ELNRNG 48
-#define EUNATCH 49
-#define ENOCSI 50
-#define EL2HLT 51
-#define EBADE 52
-#define EBADR 53
-#define EXFULL 54
-#define ENOANO 55
-#define EBADRQC 56
-#define EBADSLT 57
+#define ENOMSG (ERROR_BASE_NO + 42)
+#define EIDRM (ERROR_BASE_NO + 43)
+#define ECHRNG (ERROR_BASE_NO + 44)
+#define EL2NSYNC (ERROR_BASE_NO + 45)
+#define EL3HLT (ERROR_BASE_NO + 46)
+#define EL3RST (ERROR_BASE_NO + 47)
+#define ELNRNG (ERROR_BASE_NO + 48)
+#define EUNATCH (ERROR_BASE_NO + 49)
+#define ENOCSI (ERROR_BASE_NO + 50)
+#define EL2HLT (ERROR_BASE_NO + 51)
+#define EBADE (ERROR_BASE_NO + 52)
+#define EBADR (ERROR_BASE_NO + 53)
+#define EXFULL (ERROR_BASE_NO + 54)
+#define ENOANO (ERROR_BASE_NO + 55)
+#define EBADRQC (ERROR_BASE_NO + 56)
+#define EBADSLT (ERROR_BASE_NO + 57)
#define EDEADLOCK EDEADLK
-#define EBFONT 59
-#define ENOSTR 60
-#define ENODATA 61
-#define ETIME 62
-#define ENOSR 63
-#define ENONET 64
-#define ENOPKG 65
-#define EREMOTE 66
-#define ENOLINK 67
-#define EADV 68
-#define ESRMNT 69
-#define ECOMM 70
-#define EPROTO 71
-#define EMULTIHOP 72
-#define EDOTDOT 73
-#define EBADMSG 74
-#define EOVERFLOW 75
-#define ENOTUNIQ 76
-#define EBADFD 77
-#define EREMCHG 78
-#define ELIBACC 79
-#define ELIBBAD 80
-#define ELIBSCN 81
-#define ELIBMAX 82
-#define ELIBEXEC 83
-#define EILSEQ 84
-#define ERESTART 85
-#define ESTRPIPE 86
-#define EUSERS 87
-#define ENOTSOCK 88
-#define EDESTADDRREQ 89
-#define EMSGSIZE 90
-#define EPROTOTYPE 91
-#define ENOPROTOOPT 92
-#define EPROTONOSUPPORT 93
-#define ESOCKTNOSUPPORT 94
-#define EOPNOTSUPP 95
-#define ENOTSUP EOPNOTSUPP
-#define EPFNOSUPPORT 96
-#define EAFNOSUPPORT 97
-#define EADDRINUSE 98
-#define EADDRNOTAVAIL 99
-#define ENETDOWN 100
-#define ENETUNREACH 101
-#define ENETRESET 102
-#define ECONNABORTED 103
-#define ECONNRESET 104
-#define ENOBUFS 105
-#define EISCONN 106
-#define ENOTCONN 107
-#define ESHUTDOWN 108
-#define ETOOMANYREFS 109
-#define ETIMEDOUT 110
-#define ECONNREFUSED 111
-#define EHOSTDOWN 112
-#define EHOSTUNREACH 113
-#define EALREADY 114
-#define EINPROGRESS 115
-#define ESTALE 116
-#define EUCLEAN 117
-#define ENOTNAM 118
-#define ENAVAIL 119
-#define EISNAM 120
-#define EREMOTEIO 121
-#define EDQUOT 122
-#define ENOMEDIUM 123
-#define EMEDIUMTYPE 124
-#define ECANCELED 125
-#define ENOKEY 126
-#define EKEYEXPIRED 127
-#define EKEYREVOKED 128
-#define EKEYREJECTED 129
-#define EOWNERDEAD 130
-#define ENOTRECOVERABLE 131
-#define ERFKILL 132
-#define EHWPOISON 133
+#define EBFONT (ERROR_BASE_NO + 59)
+#define ENOSTR (ERROR_BASE_NO + 60)
+#define ENODATA (ERROR_BASE_NO + 61)
+#define ETIME (ERROR_BASE_NO + 62)
+#define ENOSR (ERROR_BASE_NO + 63)
+#define ENONET (ERROR_BASE_NO + 64)
+#define ENOPKG (ERROR_BASE_NO + 65)
+#define EREMOTE (ERROR_BASE_NO + 66)
+#define ENOLINK (ERROR_BASE_NO + 67)
+#define EADV (ERROR_BASE_NO + 68)
+#define ESRMNT (ERROR_BASE_NO + 69)
+#define ECOMM (ERROR_BASE_NO + 70)
+#define EPROTO (ERROR_BASE_NO + 71)
+#define EMULTIHOP (ERROR_BASE_NO + 72)
+#define EDOTDOT (ERROR_BASE_NO + 73)
+#define EBADMSG (ERROR_BASE_NO + 74)
+#define EOVERFLOW (ERROR_BASE_NO + 75)
+#define ENOTUNIQ (ERROR_BASE_NO + 76)
+#define EBADFD (ERROR_BASE_NO + 77)
+#define EREMCHG (ERROR_BASE_NO + 78)
+#define ELIBACC (ERROR_BASE_NO + 79)
+#define ELIBBAD (ERROR_BASE_NO + 80)
+#define ELIBSCN (ERROR_BASE_NO + 81)
+#define ELIBMAX (ERROR_BASE_NO + 82)
+#define ELIBEXEC (ERROR_BASE_NO + 83)
+
+#ifndef EILSEQ
+#define EILSEQ (ERROR_BASE_NO + 84)
+#endif
+
+#define ERESTART (ERROR_BASE_NO + 85)
+#define ESTRPIPE (ERROR_BASE_NO + 86)
+#define EUSERS (ERROR_BASE_NO + 87)
+#define ENOTSOCK (ERROR_BASE_NO + 88)
+#define EDESTADDRREQ (ERROR_BASE_NO + 89)
+#define EMSGSIZE (ERROR_BASE_NO + 90)
+#define EPROTOTYPE (ERROR_BASE_NO + 91)
+#define ENOPROTOOPT (ERROR_BASE_NO + 92)
+#define EPROTONOSUPPORT (ERROR_BASE_NO + 93)
+#define ESOCKTNOSUPPORT (ERROR_BASE_NO + 94)
+#define EOPNOTSUPP (ERROR_BASE_NO + 95)
+#define ENOTSUP EOPNOTSUPP )
+#define EPFNOSUPPORT (ERROR_BASE_NO + 96)
+#define EAFNOSUPPORT (ERROR_BASE_NO + 97)
+#define EADDRINUSE (ERROR_BASE_NO + 98)
+#define EADDRNOTAVAIL (ERROR_BASE_NO + 99)
+#define ENETDOWN (ERROR_BASE_NO + 100)
+#define ENETUNREACH (ERROR_BASE_NO + 101)
+#define ENETRESET (ERROR_BASE_NO + 102)
+#define ECONNABORTED (ERROR_BASE_NO + 103)
+#define ECONNRESET (ERROR_BASE_NO + 104)
+#define ENOBUFS (ERROR_BASE_NO + 105)
+#define EISCONN (ERROR_BASE_NO + 106)
+#define ENOTCONN (ERROR_BASE_NO + 107)
+#define ESHUTDOWN (ERROR_BASE_NO + 108)
+#define ETOOMANYREFS (ERROR_BASE_NO + 109)
+#define ETIMEDOUT (ERROR_BASE_NO + 110)
+#define ECONNREFUSED (ERROR_BASE_NO + 111)
+#define EHOSTDOWN (ERROR_BASE_NO + 112)
+#define EHOSTUNREACH (ERROR_BASE_NO + 113)
+#define EALREADY (ERROR_BASE_NO + 114)
+#define EINPROGRESS (ERROR_BASE_NO + 115)
+#define ESTALE (ERROR_BASE_NO + 116)
+#define EUCLEAN (ERROR_BASE_NO + 117)
+#define ENOTNAM (ERROR_BASE_NO + 118)
+#define ENAVAIL (ERROR_BASE_NO + 119)
+#define EISNAM (ERROR_BASE_NO + 120)
+#define EREMOTEIO (ERROR_BASE_NO + 121)
+#define EDQUOT (ERROR_BASE_NO + 122)
+#define ENOMEDIUM (ERROR_BASE_NO + 123)
+#define EMEDIUMTYPE (ERROR_BASE_NO + 124)
+#define ECANCELED (ERROR_BASE_NO + 125)
+#define ENOKEY (ERROR_BASE_NO + 126)
+#define EKEYEXPIRED (ERROR_BASE_NO + 127)
+#define EKEYREVOKED (ERROR_BASE_NO + 128)
+#define EKEYREJECTED (ERROR_BASE_NO + 129)
+#define EOWNERDEAD (ERROR_BASE_NO + 130)
+#define ENOTRECOVERABLE (ERROR_BASE_NO + 131)
+#define ERFKILL (ERROR_BASE_NO + 132)
+#define EHWPOISON (ERROR_BASE_NO + 133)
+
#endif
#endif
diff --git a/include/rtdef.h b/include/rtdef.h
index 49551de9ee..39deb47d9f 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -45,7 +45,7 @@ extern "C" {
* @addtogroup BasicDef
*/
-/*@{*/
+/**@{*/
/* RT-Thread version information */
#define RT_VERSION 4L /**< major version number */
@@ -88,7 +88,7 @@ typedef rt_base_t rt_off_t; /**< Type for offset */
#define RT_TRUE 1 /**< boolean true */
#define RT_FALSE 0 /**< boolean fails */
-/*@}*/
+/**@}*/
/* maximum value of base type */
#define RT_UINT8_MAX 0xff /**< Maxium number of UINT8 */
@@ -259,7 +259,7 @@ typedef int (*init_fn_t)(void);
* @addtogroup Error
*/
-/*@{*/
+/**@{*/
/* RT-Thread error code definitions */
#define RT_EOK 0 /**< There is no error */
@@ -274,7 +274,7 @@ typedef int (*init_fn_t)(void);
#define RT_EINTR 9 /**< Interrupted system call */
#define RT_EINVAL 10 /**< Invalid argument */
-/*@}*/
+/**@}*/
/**
* @ingroup BasicDef
@@ -325,7 +325,7 @@ typedef struct rt_slist_node rt_slist_t; /**< Type for single lis
* @addtogroup KernelObject
*/
-/*@{*/
+/**@{*/
/*
* kernel object macros
@@ -367,7 +367,8 @@ typedef struct rt_object *rt_object_t; /**< Type for kernel obj
*/
enum rt_object_class_type
{
- RT_Object_Class_Thread = 0, /**< The object is a thread. */
+ RT_Object_Class_Null = 0, /**< The object is not used. */
+ RT_Object_Class_Thread, /**< The object is a thread. */
RT_Object_Class_Semaphore, /**< The object is a semaphore. */
RT_Object_Class_Mutex, /**< The object is a mutex. */
RT_Object_Class_Event, /**< The object is a event. */
@@ -402,13 +403,13 @@ struct rt_object_information
#define RT_OBJECT_HOOK_CALL(func, argv)
#endif
-/*@}*/
+/**@}*/
/**
* @addtogroup Clock
*/
-/*@{*/
+/**@{*/
/**
* clock & timer macros
@@ -452,7 +453,7 @@ struct rt_timer
};
typedef struct rt_timer *rt_timer_t;
-/*@}*/
+/**@}*/
/**
* @addtogroup Signal
@@ -465,13 +466,13 @@ typedef siginfo_t rt_siginfo_t;
#define RT_SIG_MAX 32
#endif
-/*@}*/
+/**@}*/
/**
* @addtogroup Thread
*/
-/*@{*/
+/**@{*/
/*
* Thread
@@ -613,13 +614,13 @@ struct rt_thread
};
typedef struct rt_thread *rt_thread_t;
-/*@}*/
+/**@}*/
/**
* @addtogroup IPC
*/
-/*@{*/
+/**@{*/
/**
* IPC flags and control command definitions
@@ -737,13 +738,13 @@ struct rt_messagequeue
typedef struct rt_messagequeue *rt_mq_t;
#endif
-/*@}*/
+/**@}*/
/**
* @addtogroup MM
*/
-/*@{*/
+/**@{*/
/*
* memory management
@@ -811,14 +812,14 @@ struct rt_mempool
typedef struct rt_mempool *rt_mp_t;
#endif
-/*@}*/
+/**@}*/
#ifdef RT_USING_DEVICE
/**
* @addtogroup Device
*/
-/*@{*/
+/**@{*/
/**
* device (I/O) class type
@@ -1063,7 +1064,7 @@ struct rt_device_graphic_ops
};
#define rt_graphix_ops(device) ((struct rt_device_graphic_ops *)(device->user_data))
-/*@}*/
+/**@}*/
#endif
/* definitions for libc */
diff --git a/include/rtservice.h b/include/rtservice.h
index 3b6fc94c92..81d6c71f17 100644
--- a/include/rtservice.h
+++ b/include/rtservice.h
@@ -24,7 +24,7 @@ extern "C" {
* @addtogroup KernelService
*/
-/*@{*/
+/**@{*/
/**
* rt_container_of - return the member address of ptr, if the type of ptr is the
@@ -306,7 +306,7 @@ rt_inline int rt_slist_isempty(rt_slist_t *l)
#define rt_slist_tail_entry(ptr, type, member) \
rt_slist_entry(rt_slist_tail(ptr), type, member)
-/*@}*/
+/**@}*/
#ifdef __cplusplus
}