summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMeco Man <[email protected]>2022-09-12 15:05:53 -0400
committerguo <[email protected]>2022-09-16 17:26:07 +0800
commit981e721c3bd5f6deee5091d5be9b3f4f0179fc49 (patch)
tree951b696f754ce62f6973ea9584060602c628fce0 /include
parent1249bc45f9cca840d7efd32a68382fa0482f84e2 (diff)
[kernel] add rt_ssize_t data structure
Diffstat (limited to 'include')
-rw-r--r--include/rtdef.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/include/rtdef.h b/include/rtdef.h
index 4f519e6dc3..89ac9edf6e 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -45,6 +45,7 @@
* 2022-04-21 THEWON add macro RT_VERSION_CHECK
* 2022-06-29 Meco Man add RT_USING_LIBC and standard libc headers
* 2022-08-16 Meco Man change version number to v5.0.0
+ * 2022-09-12 Meco Man define rt_ssize_t
*/
#ifndef __RT_DEF_H__
@@ -55,6 +56,7 @@
#include <stdint.h>
#include <stddef.h>
#include <stdarg.h>
+#include <sys/types.h>
#endif /* RT_USING_LIBC */
#ifdef __cplusplus
@@ -80,6 +82,10 @@ extern "C" {
/* RT-Thread basic data type definitions */
+typedef int rt_bool_t; /**< boolean type */
+typedef signed long rt_base_t; /**< Nbit CPU related date type */
+typedef unsigned long rt_ubase_t; /**< Nbit unsigned CPU related data type */
+
#ifndef RT_USING_ARCH_DATA_TYPE
#ifdef RT_USING_LIBC
typedef int8_t rt_int8_t; /**< 8bit integer type */
@@ -91,7 +97,7 @@ typedef uint32_t rt_uint32_t; /**< 32bit unsigned inte
typedef int64_t rt_int64_t; /**< 64bit integer type */
typedef uint64_t rt_uint64_t; /**< 64bit unsigned integer type */
typedef size_t rt_size_t; /**< Type for size number */
-
+typedef ssize_t rt_ssize_t; /**< Used for a count of bytes or an error indication */
#else
typedef signed char rt_int8_t; /**< 8bit integer type */
typedef signed short rt_int16_t; /**< 16bit integer type */
@@ -99,23 +105,18 @@ typedef signed int rt_int32_t; /**< 32bit integer type
typedef unsigned char rt_uint8_t; /**< 8bit unsigned integer type */
typedef unsigned short rt_uint16_t; /**< 16bit unsigned integer type */
typedef unsigned int rt_uint32_t; /**< 32bit unsigned integer type */
-
#ifdef ARCH_CPU_64BIT
typedef signed long rt_int64_t; /**< 64bit integer type */
typedef unsigned long rt_uint64_t; /**< 64bit unsigned integer type */
-typedef unsigned long rt_size_t; /**< Type for size number */
#else
typedef signed long long rt_int64_t; /**< 64bit integer type */
typedef unsigned long long rt_uint64_t; /**< 64bit unsigned integer type */
-typedef unsigned int rt_size_t; /**< Type for size number */
#endif /* ARCH_CPU_64BIT */
+typedef rt_ubase_t rt_size_t; /**< Type for size number */
+typedef rt_base_t rt_ssize_t; /**< Used for a count of bytes or an error indication */
#endif /* RT_USING_LIBC */
#endif /* RT_USING_ARCH_DATA_TYPE */
-typedef int rt_bool_t; /**< boolean type */
-typedef long rt_base_t; /**< Nbit CPU related date type */
-typedef unsigned long rt_ubase_t; /**< Nbit unsigned CPU related data type */
-
typedef rt_base_t rt_err_t; /**< Type for error number */
typedef rt_uint32_t rt_time_t; /**< Type for time stamp */
typedef rt_uint32_t rt_tick_t; /**< Type for tick count */