00001 #ifndef __XRDPOSIXOSDEP_H__ 00002 #define __XRDPOSIXOSDEP_H__ 00003 /******************************************************************************/ 00004 /* */ 00005 /* X r d P o s i x O s D e p . h h */ 00006 /* */ 00007 /* (c) 2005 by the Board of Trustees of the Leland Stanford, Jr., University */ 00008 /* All Rights Reserved */ 00009 /* Produced by Andrew Hanushevsky for Stanford University under contract */ 00010 /* DE-AC02-76-SFO0515 with the Department of Energy */ 00011 /* Modified by Frank Winklmeier to add the full Posix file system definition. */ 00012 /******************************************************************************/ 00013 00014 // $Id: XrdPosixOsDep.hh 25553 2008-09-26 07:57:42Z ganis $ 00015 00016 // Solaris does not have a statfs64 structure. So all interfaces use statfs. 00017 // 00018 #ifdef __solaris__ 00019 #define statfs64 statfs 00020 #endif 00021 00022 // We need to avoid using dirent64 for MacOS platforms. We would normally 00023 // include XrdSysPlatform.hh for this but this include file needs to be 00024 // standalone. So, we replicate the dirent64 redefinition here, Additionally, 00025 // off64_t, normally defined in Solaris and Linux, is cast as long long (the 00026 // appropriate type for the next 25 years). The Posix interface only supports 00027 // 64-bit offsets. 00028 // 00029 #if defined(__macos__) 00030 #if !defined(dirent64) 00031 #define dirent64 dirent 00032 #endif 00033 #if !defined(off64_t) 00034 #define off64_t long long 00035 #endif 00036 00037 #if defined(__DARWIN_VERS_1050) && !__DARWIN_VERS_1050 00038 #if !defined(stat64) 00039 #define stat64 stat 00040 #endif 00041 #if !defined(statfs64) 00042 #define statfs64 statfs 00043 #endif 00044 #endif 00045 00046 #if !defined(statvfs64) 00047 #define statvfs64 statvfs 00048 #endif 00049 #define ELIBACC ESHLIBVERS 00050 #endif 00051 00052 #ifdef __FreeBSD__ 00053 #define dirent64 dirent 00054 #define ELIBACC EFTYPE 00055 #endif 00056 00057 #endif