1 /* include/platform_defs.h. Generated automatically by configure. */ 2 /* 3 * Copyright (c) 2000 Silicon Graphics, Inc. All Rights Reserved. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 3 of the GNU General Public License as 7 * published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it would be useful, but 10 * WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 * 13 * Further, this software is distributed without any warranty that it is 14 * free of the rightful claim of any third person regarding infringement 15 * or the like. Any license provided herein, whether implied or 16 * otherwise, applies only to this software file. Patent licenses, if 17 * any, provided herein do not apply to combinations of this program with 18 * other software, or any other product whatsoever. 19 * 20 * You should have received a copy of the GNU General Public License along 21 * with this program. If not, see <http://www.gnu.org/licenses/>. 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> 38 #include <stdarg.h> 39 #include <assert.h> 40 #include <stddef.h> 41 #include <stdlib.h> 42 #include <string.h> 43 #include <unistd.h> 44 #include <sys/param.h> 45 #include <sys/types.h> 46 47 #if (__GLIBC__ <= 2) && (__GLIBC_MINOR__ <= 1) 48 # define constpp const char * const * 49 #else 50 # define constpp char * const * 51 #endif 52 53 #ifdef __sparc__ 54 # ifndef O_DIRECT 55 # define O_DIRECT 0x100000 56 # endif 57 #endif 58 59 #if defined(__sun) 60 typedef off_t loff_t; 61 #endif 62 63 typedef loff_t xfs_off_t; 64 typedef uint64_t xfs_ino_t; 65 typedef uint32_t xfs_dev_t; 66 typedef int64_t xfs_daddr_t; 67 typedef char* xfs_caddr_t; 68 69 /* long and pointer must be either 32 bit or 64 bit */ 70 /* #undef HAVE_64BIT_LONG */ 71 #define HAVE_32BIT_LONG 1 72 #define HAVE_32BIT_PTR 1 73 /* #undef HAVE_64BIT_PTR */ 74 75 /* Check if __psint_t is set to something meaningful */ 76 /* #undef HAVE___PSINT_T */ 77 #ifndef HAVE___PSINT_T 78 # ifdef HAVE_32BIT_PTR 79 typedef int __psint_t; 80 # elif defined HAVE_64BIT_PTR 81 # ifdef HAVE_64BIT_LONG 82 typedef long __psint_t; 83 # else 84 /* This is a very strange architecture, which has 64 bit pointers but 85 * not 64 bit longs. So, I'd just punt here and assume long long is Ok */ 86 typedef long long __psint_t; 87 # endif 88 # else 89 # error Unknown pointer size 90 # endif 91 #endif 92 93 /* Check if __psunsigned_t is set to something meaningful */ 94 /* #undef HAVE___PSUNSIGNED_T */ 95 #ifndef HAVE___PSUNSIGNED_T 96 # ifdef HAVE_32BIT_PTR 97 typedef unsigned int __psunsigned_t; 98 # elif defined HAVE_64BIT_PTR 99 # ifdef HAVE_64BIT_LONG 100 typedef long __psunsigned_t; 101 # else 102 /* This is a very strange architecture, which has 64 bit pointers but 103 * not 64 bit longs. So, I'd just punt here and assume long long is Ok */ 104 typedef unsigned long long __psunsigned_t; 105 # endif 106 # else 107 # error Unknown pointer size 108 # endif 109 #endif 110 111 #ifdef DEBUG 112 # define ASSERT assert 113 #else 114 # define ASSERT(EX) ((void) 0) 115 #endif 116 117 #endif /* __XFS_PLATFORM_DEFS_H__ */