c4b9ede78d7ffdc19bacfe4deb1a5a7be52c9c2e
[mes.git] / include / sys / types.h
1 /* -*-comment-start: "//";comment-end:""-*-
2  * GNU Mes --- Maxwell Equations of Software
3  * Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
4  *
5  * This file is part of GNU Mes.
6  *
7  * GNU Mes is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 3 of the License, or (at
10  * your option) any later version.
11  *
12  * GNU Mes is distributed in the hope that it will be useful, but
13  * WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 #ifndef __MES_SYS_TYPES_H
21 #define __MES_SYS_TYPES_H 1
22
23 #if WITH_GLIBC
24 #undef __MES_SYS_TYPES_H
25 #include_next <sys/types.h>
26 #else // ! WITH_GLIBC
27
28 #include <endian.h>
29
30 #ifndef __MESCCLIB__
31 #define __MESCCLIB__ 15
32 #endif
33
34 #ifndef EOF
35 #define EOF -1
36 #endif
37
38 #ifndef NULL
39 #define NULL 0
40 #endif
41
42 #ifndef __MES_CLOCK_T
43 #define __MES_CLOCK_T
44 #undef clock_t
45 typedef long clock_t;
46 #endif
47
48 #ifndef __MES_DEV_T
49 #define __MES_DEV_T
50 #undef dev_t
51 typedef int dev_t;
52 #endif
53
54 #if !defined (__MES_FILE_T) && ! defined (_FILE_T)
55 #define __MES_FILE_T
56 #define _FILE_T
57 typedef int FILE;
58 #endif
59
60 #ifndef __MES_GID_T
61 #define __MES_GID_T
62 #undef gid_t
63 typedef int gid_t;
64 #endif
65
66 #ifndef __MES_INO_T
67 #define __MES_INO_T
68 #undef ino_t
69 typedef unsigned ino_t;
70 #endif
71
72 #ifndef __MES_INTPTR_T
73 #define __MES_INTPTR_T
74 #undef intptr_t
75 typedef long intptr_t;
76 #endif
77
78 #ifndef __MES_OFF_T
79 #define __MES_OFF_T
80 #undef off_t
81 typedef unsigned long off_t;
82 #endif
83
84 #ifndef __MES_PID_T
85 #define __MES_PID_T
86 #undef pid_t
87 typedef int pid_t;
88 #endif
89
90 #ifndef __PTRDIFF_T
91 #define __PTRDIFF_T
92 #ifndef __MES_PTRDIFF_T
93 #define __MES_PTRDIFF_T
94 #undef ptrdiff_t
95 typedef long ptrdiff_t;
96 #endif
97 #endif
98
99 #ifndef __MES_SIGVAL_T
100 #define __MES_SIGVAL_T
101 #undef clock_t
102 typedef int sigval_t;
103 #endif
104
105 #ifndef __SIZE_T
106 #define __SIZE_T
107 #ifndef __MES_SIZE_T
108 #define __MES_SIZE_T
109 #undef size_t
110 typedef unsigned long size_t;
111 #endif
112 #endif
113
114 #ifndef __MES_SSIZE_T
115 #define __MES_SSIZE_T
116 #undef ssize_t
117 typedef long ssize_t;
118 #endif
119
120 #ifndef __MES_UID_T
121 #define __MES_UID_T
122 #undef uid_t
123 typedef int uid_t;
124 #endif
125
126 #endif // ! WITH_GLIBC
127
128 #endif // __MES_SYS_TYPES_H