diff options
author | Dana Robinson <derobins@hdfgroup.org> | 2022-04-13 21:17:29 (GMT) |
---|---|---|
committer | Dana Robinson <derobins@hdfgroup.org> | 2022-04-13 21:17:29 (GMT) |
commit | cabc39c3e197e2591449d2604bfee26465fb60e1 (patch) | |
tree | d5f39f5f5965584bf9bf49646a2af617adfd3e4e /tools/lib/io_timer.h | |
parent | 7355f4c505092a7a85474b47f18d5206028e2c95 (diff) | |
parent | ab69f5df770ee3cc6cd6c81d905a5317b894a002 (diff) | |
download | hdf5-feature/coding_standards.zip hdf5-feature/coding_standards.tar.gz hdf5-feature/coding_standards.tar.bz2 |
Merge branch 'develop' into feature/coding_standardsfeature/coding_standards
Diffstat (limited to 'tools/lib/io_timer.h')
-rw-r--r-- | tools/lib/io_timer.h | 61 |
1 files changed, 34 insertions, 27 deletions
diff --git a/tools/lib/io_timer.h b/tools/lib/io_timer.h index 78bf676..0b0f0bb 100644 --- a/tools/lib/io_timer.h +++ b/tools/lib/io_timer.h @@ -6,28 +6,26 @@ * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the COPYING file, which can be found at the root of the source code * - * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. * + * distribution tree, or in https://www.hdfgroup.org/licenses. * * If you do not have access to either file, you may request a copy from * * help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ -#ifndef IO_TIMER__ -#define IO_TIMER__ +#ifndef IO_TIMER +#define IO_TIMER #include "hdf5.h" -#if defined(H5_TIME_WITH_SYS_TIME) -# include <sys/time.h> -# include <time.h> -#elif defined(H5_HAVE_SYS_TIME_H) -# include <sys/time.h> -#else -# include <time.h> +#include <time.h> + +#ifdef H5_HAVE_SYS_TIME_H +#include <sys/time.h> +#endif + +#ifdef H5_HAVE_WIN32_API +#include <winsock2.h> #endif -#ifdef H5_HAVE_WINSOCK2_H -# include <winsock2.h> -#endif /* H5_HAVE_WINSOCK2_H */ /* The different types of timers we can have */ typedef enum timer_type_ { HDF5_FILE_OPENCLOSE, @@ -48,34 +46,43 @@ typedef enum timer_type_ { } timer_type; typedef enum clock_type_ { - SYS_CLOCK = 0, /* Use system clock to measure time */ - MPI_CLOCK = 1 /* Use MPI clock to measure time */ + SYS_CLOCK = 0, /* Use system clock to measure time */ + MPI_CLOCK = 1 /* Use MPI clock to measure time */ } clock_type; /* Miscellaneous identifiers */ enum { - TSTART, /* Start a specified timer */ - TSTOP /* Stop a specified timer */ + TSTART, /* Start a specified timer */ + TSTOP /* Stop a specified timer */ }; /* The performance time structure */ typedef struct io_time_t { - clock_type type; - double total_time[NUM_TIMERS]; - double mpi_timer[NUM_TIMERS]; + clock_type type; + double total_time[NUM_TIMERS]; + double mpi_timer[NUM_TIMERS]; struct timeval sys_timer[NUM_TIMERS]; } io_time_t; /* External function declarations */ #ifdef __cplusplus extern "C" { -#endif /* __cplusplus */ -H5TOOLS_DLL io_time_t *io_time_new(clock_type t); -H5TOOLS_DLL void io_time_destroy(io_time_t *pt); -H5TOOLS_DLL io_time_t *io_time_set(io_time_t *pt, timer_type t, int start_stop); -H5TOOLS_DLL double io_time_get(io_time_t *pt, timer_type t); +#endif /* __cplusplus */ + +#ifdef STANDALONE +io_time_t *io_time_new(clock_type t); +void io_time_destroy(io_time_t *pt); +io_time_t *io_time_set(io_time_t *pt, timer_type t, int start_stop); +double io_time_get(io_time_t *pt, timer_type t); +#else +H5TOOLS_DLL io_time_t *io_time_new(clock_type t); +H5TOOLS_DLL void io_time_destroy(io_time_t *pt); +H5TOOLS_DLL io_time_t *io_time_set(io_time_t *pt, timer_type t, int start_stop); +H5TOOLS_DLL double io_time_get(io_time_t *pt, timer_type t); +#endif + #ifdef __cplusplus } -#endif /* __cplusplus */ +#endif /* __cplusplus */ -#endif /* IO_TIMER__ */ +#endif /* IO_TIMER */ |