xref: /DragonOS/kernel/src/common/sys/types.h (revision 0bfe94f46be9bdde1ade81a20e803aa2aafd2964)
12813126eSlogin #pragma once
22813126eSlogin 
32813126eSlogin #include <stdint.h>
42813126eSlogin #include <stdbool.h>
52813126eSlogin 
62813126eSlogin typedef unsigned char u_char;
72813126eSlogin typedef unsigned short u_short;
82813126eSlogin typedef unsigned int u_int;
92813126eSlogin typedef unsigned long u_long;
102813126eSlogin 
112813126eSlogin typedef uint32_t uid_t;
122813126eSlogin typedef uint32_t gid_t;
132813126eSlogin typedef long long ssize_t;
142813126eSlogin 
15*0bfe94f4Slogin typedef int64_t pid_t;
162813126eSlogin typedef __SIZE_TYPE__ size_t;
172813126eSlogin 
182813126eSlogin typedef char *caddr_t;
192813126eSlogin 
202813126eSlogin typedef int id_t;
212813126eSlogin 
222813126eSlogin typedef uint64_t ino_t;
232813126eSlogin typedef int64_t off_t;
242813126eSlogin 
252813126eSlogin typedef uint32_t blkcnt_t;
262813126eSlogin typedef uint32_t blksize_t;
272813126eSlogin typedef uint32_t dev_t;
282813126eSlogin typedef uint16_t mode_t;
292813126eSlogin typedef uint32_t nlink_t;
302813126eSlogin 
312813126eSlogin typedef int64_t time_t;
322813126eSlogin typedef uint32_t useconds_t;
332813126eSlogin typedef int32_t suseconds_t;
342813126eSlogin typedef uint32_t clock_t;
352813126eSlogin 
362813126eSlogin typedef uint64_t fsblkcnt_t;
372813126eSlogin typedef uint64_t fsfilcnt_t;
382813126eSlogin 
392813126eSlogin typedef uint64_t sector_t;
402813126eSlogin 
412813126eSlogin #define __socklen_t_defined
422813126eSlogin #define __socklen_t uint32_t
432813126eSlogin typedef __socklen_t socklen_t;
442813126eSlogin 
452813126eSlogin #define pgoff_t unsigned long
462813126eSlogin 
472813126eSlogin struct utimbuf
482813126eSlogin {
492813126eSlogin     time_t actime;
502813126eSlogin     time_t modtime;
512813126eSlogin };
522813126eSlogin 
532813126eSlogin typedef int pthread_t;
542813126eSlogin typedef int pthread_key_t;
552813126eSlogin typedef uint32_t pthread_once_t;
562813126eSlogin 
572813126eSlogin typedef struct __pthread_mutex_t
582813126eSlogin {
592813126eSlogin     uint32_t lock;
602813126eSlogin     pthread_t owner;
612813126eSlogin     int level;
622813126eSlogin     int type;
632813126eSlogin } pthread_mutex_t;
642813126eSlogin 
652813126eSlogin typedef void *pthread_attr_t;
662813126eSlogin typedef struct __pthread_mutexattr_t
672813126eSlogin {
682813126eSlogin     int type;
692813126eSlogin } pthread_mutexattr_t;
702813126eSlogin 
712813126eSlogin typedef struct __pthread_cond_t
722813126eSlogin {
732813126eSlogin     pthread_mutex_t *mutex;
742813126eSlogin     uint32_t value;
752813126eSlogin     int clockid; // clockid_t
762813126eSlogin } pthread_cond_t;
772813126eSlogin 
782813126eSlogin typedef uint64_t pthread_rwlock_t;
792813126eSlogin typedef void *pthread_rwlockattr_t;
802813126eSlogin typedef struct __pthread_spinlock_t
812813126eSlogin {
822813126eSlogin     int m_lock;
832813126eSlogin } pthread_spinlock_t;
842813126eSlogin typedef struct __pthread_condattr_t
852813126eSlogin {
862813126eSlogin     int clockid; // clockid_t
872813126eSlogin } pthread_condattr_t;
882813126eSlogin 
892813126eSlogin typedef uint64_t gfp_t;
902813126eSlogin 
912813126eSlogin // 定义8字节对齐变量属性
922813126eSlogin #ifndef __aligned_u64
932813126eSlogin     #define __aligned_u64 uint64_t __attribute__((aligned(8)))
942813126eSlogin #endif
952813126eSlogin 
962813126eSlogin #define aligned_u64 __aligned_u64