]>
Commit | Line | Data |
---|---|---|
2bd0ea18 NS |
1 | /* |
2 | * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify it | |
5 | * under the terms of version 2 of the GNU General Public License as | |
6 | * published by the Free Software Foundation. | |
7 | * | |
8 | * This program is distributed in the hope that it would be useful, but | |
9 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
11 | * | |
12 | * Further, this software is distributed without any warranty that it is | |
13 | * free of the rightful claim of any third person regarding infringement | |
14 | * or the like. Any license provided herein, whether implied or | |
15 | * otherwise, applies only to this software file. Patent licenses, if | |
16 | * any, provided herein do not apply to combinations of this program with | |
17 | * other software, or any other product whatsoever. | |
18 | * | |
19 | * You should have received a copy of the GNU General Public License along | |
20 | * with this program; if not, write the Free Software Foundation, Inc., 59 | |
21 | * Temple Place - Suite 330, Boston MA 02111-1307, USA. | |
22 | * | |
23 | * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy, | |
24 | * Mountain View, CA 94043, or: | |
25 | * | |
26 | * http://www.sgi.com | |
27 | * | |
28 | * For further information regarding this notice, see: | |
29 | * | |
30 | * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/ | |
31 | * | |
32 | * @configure_input@ | |
33 | */ | |
34 | #ifndef __XFS_PLATFORM_DEFS_H__ | |
35 | #define __XFS_PLATFORM_DEFS_H__ | |
36 | ||
37 | #include <stdio.h> | |
b26ade3f | 38 | #include <stdarg.h> |
2bd0ea18 NS |
39 | #include <assert.h> |
40 | #include <endian.h> | |
41 | #include <stddef.h> | |
42 | #include <stdlib.h> | |
43 | #include <string.h> | |
44 | #include <unistd.h> | |
45 | #include <sys/param.h> | |
46 | #include <sys/types.h> | |
47 | ||
5b64e00a | 48 | #if (__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ <= 1)) |
2bd0ea18 NS |
49 | # define constpp const char * const * |
50 | #else | |
51 | # define constpp char * const * | |
52 | #endif | |
53 | ||
61ecf6c2 NS |
54 | #ifdef __sparc__ |
55 | # ifndef O_DIRECT | |
56 | # define O_DIRECT 0x100000 | |
57 | # endif | |
58 | #endif | |
59 | ||
2bd0ea18 NS |
60 | typedef loff_t xfs_off_t; |
61 | typedef __uint64_t xfs_ino_t; | |
62 | typedef __uint32_t xfs_dev_t; | |
63 | typedef __int64_t xfs_daddr_t; | |
64 | typedef char* xfs_caddr_t; | |
65 | ||
66 | /* long and pointer must be either 32 bit or 64 bit */ | |
67 | #undef HAVE_64BIT_LONG | |
68 | #undef HAVE_32BIT_LONG | |
69 | #undef HAVE_32BIT_PTR | |
70 | #undef HAVE_64BIT_PTR | |
71 | ||
72 | /* Check if __psint_t is set to something meaningful */ | |
73 | #undef HAVE___PSINT_T | |
74 | #ifndef HAVE___PSINT_T | |
75 | # ifdef HAVE_32BIT_PTR | |
76 | typedef int __psint_t; | |
77 | # elif defined HAVE_64BIT_PTR | |
78 | # ifdef HAVE_64BIT_LONG | |
79 | typedef long __psint_t; | |
80 | # else | |
81 | /* This is a very strange architecture, which has 64 bit pointers but | |
82 | * not 64 bit longs. So, I'd just punt here and assume long long is Ok */ | |
83 | typedef long long __psint_t; | |
84 | # endif | |
85 | # else | |
86 | # error Unknown pointer size | |
87 | # endif | |
88 | #endif | |
89 | ||
90 | /* Check if __psunsigned_t is set to something meaningful */ | |
91 | #undef HAVE___PSUNSIGNED_T | |
92 | #ifndef HAVE___PSUNSIGNED_T | |
93 | # ifdef HAVE_32BIT_PTR | |
94 | typedef unsigned int __psunsigned_t; | |
95 | # elif defined HAVE_64BIT_PTR | |
96 | # ifdef HAVE_64BIT_LONG | |
97 | typedef long __psunsigned_t; | |
98 | # else | |
99 | /* This is a very strange architecture, which has 64 bit pointers but | |
100 | * not 64 bit longs. So, I'd just punt here and assume long long is Ok */ | |
101 | typedef unsigned long long __psunsigned_t; | |
102 | # endif | |
103 | # else | |
104 | # error Unknown pointer size | |
105 | # endif | |
106 | #endif | |
107 | ||
108 | #ifdef DEBUG | |
109 | # define ASSERT assert | |
110 | #else | |
111 | # define ASSERT(EX) ((void) 0) | |
112 | #endif | |
113 | ||
114 | #endif /* __XFS_PLATFORM_DEFS_H__ */ |