summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1998-02-25 20:31:17 (GMT)
committerRobb Matzke <matzke@llnl.gov>1998-02-25 20:31:17 (GMT)
commitad73f18f5e759c4bd3d12c331659a24b54d0c39a (patch)
tree660a8bb32cc118a647757c5ae2321cf9b1ca9073 /src/H5private.h
parentc543632ba5cd609d2e6303fa9cf55685568fa851 (diff)
downloadhdf5-ad73f18f5e759c4bd3d12c331659a24b54d0c39a.zip
hdf5-ad73f18f5e759c4bd3d12c331659a24b54d0c39a.tar.gz
hdf5-ad73f18f5e759c4bd3d12c331659a24b54d0c39a.tar.bz2
[svn-r298] Changes since 19980219
---------------------- ./html/Files.html ./src/H5C.c ./src/H5Cpublic.h ./src/H5Ffamily.c ./src/H5Fprivate.h ./src/H5Fsplit.c ./test/tstab.c Added file-access property functions. The split driver takes file extensions as properties. ./src/H5A.c ./src/H5Aprivate.h Added some comments. Changed H5A_destroy() to call the free function on all the atoms that are destroyed. This fixes a bug where the file boot block isn't updated if the file isn't closed before calling exit(). Removed extra `*' and `&' from some places. ./src/H5AC.c Replaced an occurrence of NO_ADDR with NULL. ./src/H5Odtype.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tpkg.h Data types of compound members are pointers. ./H5private.h Some changes to make lseek64() work on Irix 5.3 where header files don't realize that `long long' works. ./acconfig.h ./configure.in Removed definition for PHDF5 since it looks like everyone is useing HAVE_PARALLEL now. ./configure.in ./src/H5detec.c Added checks for gethostname() and getpwuid().
Diffstat (limited to 'src/H5private.h')
-rw-r--r--src/H5private.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/H5private.h b/src/H5private.h
index 88187fd..dd57431 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -112,7 +112,28 @@ typedef struct {
uint64 offset; /*offset within an HDF5 file */
} haddr_t;
-#define NO_ADDR NULL
+/*
+ * We try to use lseek64() and fseek64() if they're available, but they're
+ * not Posix and thus take different arguments on different systems. These
+ * macros attempt to overcome those problems.
+ */
+#ifdef HAVE_LSEEK64
+# ifdef _MIPS_SZLONG
+ /* SGI systems */
+# if (_MIPS_SZLONG == 64)
+# define OFF64_SET(VAR,VAL) VAR=VAL
+# elif defined(_LONGLONG)
+# define OFF64_SET(VAR,VAL) VAR=VAL
+# else
+# define OFF64_SET(VAR,VAL) (VAR.hi32=VAL>>32, \
+ VAR.lo32=(int)(VAL & 0xffffffff), \
+ VAL)
+# endif
+# else
+# warn "HAVE_LSEEK64 has been turned off"
+# undef HAVE_LSEEK64
+# endif
+#endif
/*
* Some compilers have problems declaring auto variables that point