* terms of the GNU Lesser General Public License
* (see cit/LGPL or http://www.gnu.org/licenses/lgpl.html)
*
- * Cplant(TM) Copyright 1998-2005 Sandia Corporation.
+ * Cplant(TM) Copyright 1998-2006 Sandia Corporation.
* Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
* license for use of this work by or on behalf of the US Government.
* Export of this program may require a license from the United States
#define __IS_UNUSED
#endif
-#ifndef _LARGEFILE64_SOURCE
-/*
- * Not glibc I guess. Define this ourselves.
- */
-#define _LARGEFILE64_SOURCE 0
-#endif
-
/*
* Define internal file-offset type and it's maximum value.
*/
-#if _LARGEFILE64_SOURCE
+#ifdef _LARGEFILE64_SOURCE
#define _SYSIO_OFF_T off64_t
#ifdef LLONG_MAX
#define _SYSIO_OFF_T_MAX (LLONG_MAX)
* Internally, all file status is carried in the 64-bit capable
* structure.
*/
-#if _LARGEFILE64_SOURCE
+#ifdef _LARGEFILE64_SOURCE
#define intnl_xtvec xtvec64
#else
#define intnl_xtvec xtvec
struct iovec;
-
+/*
+ * Symbol composition.
+ */
#define _PREPEND_HELPER(p, x) \
p ## x
#define PREPEND(p, x) \
extern void *_sysio_register_trace(void *q,
void (*)(const char *file,
const char *func,
- int line));
+ int line,
+ void *data),
+ void *data,
+ void (*destructor)(void *data));
extern void _sysio_remove_trace(void *q, void *p);
extern void _sysio_run_trace_q(void *q,
const char *file,
do { } while (0)
#endif
-/* accounting for IO stats read and write char count */
+/* Accounting for IO stats; Read and write character count. */
#if defined(REDSTORM)
#define _SYSIO_UPDACCT(w, cc) \
do { \
if ((cc) < 0) \
break; \
- if (!w) \
+ if (w) \
_add_iostats(0, (size_t )(cc)); \
else \
_add_iostats((size_t )(cc), 0); \