mescc: Support binutils-2.20.1a: header tweaks.
[mes.git] / include / sys / types.h
1 /* -*-comment-start: "//";comment-end:""-*-
2  * Mes --- Maxwell Equations of Software
3  * Copyright © 2017 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
4  *
5  * This file is part of Mes.
6  *
7  * 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  * 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 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 __MES_PTRDIFF_T
91 #define __MES_PTRDIFF_T
92 #undef ptrdiff_t
93 typedef long ptrdiff_t;
94 #endif
95
96 #ifndef __MES_SIGVAL_T
97 #define __MES_SIGVAL_T
98 #undef clock_t
99 typedef int sigval_t;
100 #endif
101
102 #ifndef __MES_SIZE_T
103 #define __MES_SIZE_T
104 #undef size_t
105 typedef unsigned long size_t;
106 #endif
107
108 #ifndef __MES_SSIZE_T
109 #define __MES_SSIZE_T
110 #undef ssize_t
111 typedef long ssize_t;
112 #endif
113
114 #ifndef __MES_UID_T
115 #define __MES_UID_T
116 #undef uid_t
117 typedef int uid_t;
118 #endif
119
120 #endif // ! WITH_GLIBC
121
122 #endif // __MES_SYS_TYPES_H