[kernel] add rt_ssize_t data structure

This commit is contained in:
Meco Man 2022-09-12 15:05:53 -04:00 committed by guo
parent 1249bc45f9
commit 981e721c3b
2 changed files with 10 additions and 13 deletions

View File

@ -27,11 +27,7 @@ typedef unsigned short uid_t;
typedef unsigned short gid_t; typedef unsigned short gid_t;
typedef signed long off_t; typedef signed long off_t;
typedef int mode_t; typedef int mode_t;
#ifndef ARCH_CPU_64BIT typedef signed long ssize_t; /* Used for a count of bytes or an error indication. */
typedef signed int ssize_t; /* Used for a count of bytes or an error indication. */
#else
typedef long signed int ssize_t; /* Used for a count of bytes or an error indication. */
#endif
typedef unsigned long __timer_t; typedef unsigned long __timer_t;
typedef __timer_t timer_t; typedef __timer_t timer_t;
typedef long suseconds_t; /* microseconds. */ typedef long suseconds_t; /* microseconds. */

View File

@ -45,6 +45,7 @@
* 2022-04-21 THEWON add macro RT_VERSION_CHECK * 2022-04-21 THEWON add macro RT_VERSION_CHECK
* 2022-06-29 Meco Man add RT_USING_LIBC and standard libc headers * 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-08-16 Meco Man change version number to v5.0.0
* 2022-09-12 Meco Man define rt_ssize_t
*/ */
#ifndef __RT_DEF_H__ #ifndef __RT_DEF_H__
@ -55,6 +56,7 @@
#include <stdint.h> #include <stdint.h>
#include <stddef.h> #include <stddef.h>
#include <stdarg.h> #include <stdarg.h>
#include <sys/types.h>
#endif /* RT_USING_LIBC */ #endif /* RT_USING_LIBC */
#ifdef __cplusplus #ifdef __cplusplus
@ -80,6 +82,10 @@ extern "C" {
/* RT-Thread basic data type definitions */ /* 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 #ifndef RT_USING_ARCH_DATA_TYPE
#ifdef RT_USING_LIBC #ifdef RT_USING_LIBC
typedef int8_t rt_int8_t; /**< 8bit integer type */ 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 int64_t rt_int64_t; /**< 64bit integer type */
typedef uint64_t rt_uint64_t; /**< 64bit unsigned integer type */ typedef uint64_t rt_uint64_t; /**< 64bit unsigned integer type */
typedef size_t rt_size_t; /**< Type for size number */ 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 #else
typedef signed char rt_int8_t; /**< 8bit integer type */ typedef signed char rt_int8_t; /**< 8bit integer type */
typedef signed short rt_int16_t; /**< 16bit 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 char rt_uint8_t; /**< 8bit unsigned integer type */
typedef unsigned short rt_uint16_t; /**< 16bit unsigned integer type */ typedef unsigned short rt_uint16_t; /**< 16bit unsigned integer type */
typedef unsigned int rt_uint32_t; /**< 32bit unsigned integer type */ typedef unsigned int rt_uint32_t; /**< 32bit unsigned integer type */
#ifdef ARCH_CPU_64BIT #ifdef ARCH_CPU_64BIT
typedef signed long rt_int64_t; /**< 64bit integer type */ typedef signed long rt_int64_t; /**< 64bit integer type */
typedef unsigned long rt_uint64_t; /**< 64bit unsigned integer type */ typedef unsigned long rt_uint64_t; /**< 64bit unsigned integer type */
typedef unsigned long rt_size_t; /**< Type for size number */
#else #else
typedef signed long long rt_int64_t; /**< 64bit integer type */ typedef signed long long rt_int64_t; /**< 64bit integer type */
typedef unsigned long long rt_uint64_t; /**< 64bit unsigned 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 */ #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_LIBC */
#endif /* RT_USING_ARCH_DATA_TYPE */ #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_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_time_t; /**< Type for time stamp */
typedef rt_uint32_t rt_tick_t; /**< Type for tick count */ typedef rt_uint32_t rt_tick_t; /**< Type for tick count */