VSF Documented
types.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SYS_TYPES_H__
2#define __VSF_LINUX_SYS_TYPES_H__
3
5
6// for __BEGIN_DECLS, __END_DECLS, DEF_WEAK and etc
7// Not all platform have /sys/cdefs.h, but some application need this.
8// so put some content of /sys/cdefs.h here
9#ifdef __cplusplus
10# define __BEGIN_DECLS extern "C" {
11# define __END_DECLS }
12#else
13# define __BEGIN_DECLS
14# define __END_DECLS
15#endif
16#ifndef DEF_WEAK
17# define DEF_WEAK(x)
18#endif
19
20// do not include vsf_utilities.h, because type.h is actually belong to compiler layer,
21// and compiler layer can not include vsf_utilities.h directly
22//#include "utilities/vsf_utilities.h"
23#define __VSF_HEADER_ONLY_SHOW_COMPILER_INFO__
25
26// for uint8_t, uint16_t, uint32_t, uint64_t
27#include <stdint.h>
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33#ifndef PATH_MAX
34# define PATH_MAX 260
35#endif
36
37#if __IS_COMPILER_IAR__
39# pragma diag_suppress=pe301
40#endif
41
42#if defined(__SIZE_TYPE__)
43typedef __SIZE_TYPE__ size_t;
44#elif defined(__CPU_X64__) || defined(__CPU_WEBASSEMBLY__)
45# ifdef __WIN__
46typedef unsigned long long size_t;
47# else
48typedef unsigned long int size_t;
49# endif
50#else
51# ifdef __VSF64__
52typedef unsigned long long size_t;
53# else
54typedef unsigned int size_t;
55# endif
56#endif
57
58#if defined(__CPU_X64__) || defined(__CPU_WEBASSEMBLY__)
59# ifdef __WIN__
60typedef long long ssize_t;
61# else
62typedef long ssize_t;
63# endif
64#else
65# ifdef __VSF64__
66typedef long long ssize_t;
67# ifndef SSIZE_MAX
68# define SSIZE_MAX LLONG_MAX
69# endif
70# else
71typedef int ssize_t;
72# ifndef SSIZE_MAX
73# define SSIZE_MAX INT_MAX
74# endif
75# endif
76#endif
77
78typedef unsigned char u_char;
79typedef unsigned short u_short;
80typedef unsigned long u_long;
81typedef unsigned int u_int;
82typedef unsigned char unchar;
83typedef unsigned short ushort;
84typedef unsigned int uint;
85typedef unsigned long ulong;
86
91
92typedef int key_t;
93typedef int pid_t;
94typedef int id_t;
95typedef unsigned int mode_t;
96typedef unsigned short umode_t;
97typedef unsigned int nlink_t;
98typedef unsigned int uid_t;
99typedef unsigned int gid_t;
100#ifdef __VSF64__
101typedef long long off_t;
102#else
103typedef long off_t;
104#endif
105typedef long long off64_t;
106typedef unsigned long dev_t;
107typedef unsigned long ino_t;
108typedef unsigned long long ino64_t;
109typedef unsigned long long sector_t;
110typedef unsigned int blksiz_t;
111typedef unsigned long blkcnt_t;
112typedef unsigned long long blkcnt64_t;
113typedef void * timer_t;
116typedef unsigned long fsfilcnt_t;
117typedef unsigned long long fsfilcnt64_t;
118typedef signed long long ktime_t;
119
120typedef char * caddr_t;
121
122typedef enum {
126} idtype_t;
127
128#if (VSF_LINUX_USE_SIMPLE_LIBC == ENABLED) && (VSF_LINUX_USE_SIMPLE_TIME == ENABLED)
129#ifndef __TIME_T
130# define __TIME_T long long
131#endif
133
134#ifndef __TIME64_T
135# define __TIME64_T long long
136#endif
138
139#ifndef __CLOCK_T
140# define __CLOCK_T long
141#endif
143#ifndef __USECONDS_T
144# define __USECONDS_T unsigned long
145#endif
147
148typedef enum {
150#define CLOCK_REALTIME CLOCK_REALTIME
152#define CLOCK_MONOTONIC CLOCK_MONOTONIC
153} clockid_t;
154
155#define CLOCKS_PER_SEC ((clock_t)1000000)
156#endif
157
158#if __IS_COMPILER_IAR__
160//# pragma diag_suppress=pe301
161#endif
162
163#ifdef __cplusplus
164}
165#endif
166
167#endif
__CLOCK_T clock_t
Definition types.h:142
uint32_t u_int32_t
Definition types.h:89
idtype_t
Definition types.h:122
@ P_PGID
Definition types.h:124
@ P_ALL
Definition types.h:123
@ P_PID
Definition types.h:125
unsigned long long ino64_t
Definition types.h:108
#define __CLOCK_T
Definition types.h:140
int pid_t
Definition types.h:93
int id_t
Definition types.h:94
clockid_t
Definition types.h:148
blkcnt_t fsblkcnt_t
Definition types.h:114
void * timer_t
Definition types.h:113
__TIME64_T time64_t
Definition types.h:137
#define __TIME64_T
Definition types.h:135
unsigned int blksiz_t
Definition types.h:110
__USECONDS_T useconds_t
Definition types.h:146
uint8_t u_int8_t
Definition types.h:87
uint16_t u_int16_t
Definition types.h:88
#define __TIME_T
Definition types.h:130
unsigned long long blkcnt64_t
Definition types.h:112
blkcnt64_t fsblkcnt64_t
Definition types.h:115
unsigned int uid_t
Definition types.h:98
#define CLOCK_MONOTONIC
Definition types.h:152
unsigned long ulong
Definition types.h:85
unsigned int gid_t
Definition types.h:99
unsigned int size_t
Definition types.h:54
#define __USECONDS_T
Definition types.h:144
unsigned long u_long
Definition types.h:80
unsigned int uint
Definition types.h:84
#define CLOCK_REALTIME
Definition types.h:150
unsigned long long fsfilcnt64_t
Definition types.h:117
char * caddr_t
Definition types.h:120
signed long long ktime_t
Definition types.h:118
int key_t
Definition types.h:92
unsigned short umode_t
Definition types.h:96
unsigned short u_short
Definition types.h:79
long long off64_t
Definition types.h:105
unsigned long blkcnt_t
Definition types.h:111
unsigned long fsfilcnt_t
Definition types.h:116
unsigned short ushort
Definition types.h:83
__TIME_T time_t
Definition types.h:132
unsigned int u_int
Definition types.h:81
unsigned long dev_t
Definition types.h:106
unsigned long long sector_t
Definition types.h:109
unsigned int mode_t
Definition types.h:95
unsigned int nlink_t
Definition types.h:97
unsigned char u_char
Definition types.h:78
unsigned char unchar
Definition types.h:82
int ssize_t
Definition types.h:71
long off_t
Definition types.h:103
unsigned long ino_t
Definition types.h:107
uint64_t u_int64_t
Definition types.h:90
unsigned short uint16_t
Definition stdint.h:7
unsigned uint32_t
Definition stdint.h:9
unsigned long long uint64_t
Definition stdint.h:11
unsigned char uint8_t
Definition stdint.h:5
Generated from commit: vsfteam/vsf@f33b89f