Files
hdf5/test/swmr_common.h
vchoi a1647afd60 Reduce running time and verbosity for VFD SWMR tests.
(1) Change choose_dataset() to print out related info based on verbosity.
(2) Modify all routines in legacy and VFD SWMR tests that call choose_dataset().
(3) Modify testvfdswmr.sh.in to run tests based on HDF5TestExpress setting so as to reduce running time.
2021-06-10 11:46:28 -05:00

79 lines
2.6 KiB
C

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* 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://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef SWMR_COMMON_H
#define SWMR_COMMON_H
/***********/
/* Headers */
/***********/
#include "h5test.h"
/**********/
/* Macros */
/**********/
#define NLEVELS 5 /* # of datasets in the SWMR test file */
#define NMAPPING 9
#define FILENAME "swmr_data.h5" /* SWMR test file name */
#define DTYPE_SIZE 150 /* Data size in opaque type */
/* The message sent by writer that the file open is done--releasing the file lock */
#define WRITER_MESSAGE "SWMR_WRITER_MESSAGE"
/************/
/* Typedefs */
/************/
/* Information about a symbol/dataset */
typedef struct {
char * name; /* Dataset name for symbol */
hid_t dsid; /* Dataset ID for symbol */
hsize_t nrecords; /* Number of records for the symbol */
} symbol_info_t;
/* A symbol's record */
typedef struct {
uint64_t rec_id; /* ID for this record (unique in symbol) */
uint8_t info[DTYPE_SIZE]; /* "Other" information for this record */
} symbol_t;
/********************/
/* Global Variables */
/********************/
H5TEST_DLLVAR symbol_info_t *symbol_info[NLEVELS];
H5TEST_DLLVAR unsigned symbol_count[NLEVELS];
/**************/
/* Prototypes */
/**************/
#ifdef __cplusplus
extern "C" {
#endif
H5TEST_DLL symbol_info_t *choose_dataset(unsigned *, unsigned *, hbool_t);
H5TEST_DLL hid_t create_symbol_datatype(void);
H5TEST_DLL int generate_name(char *name_buf, unsigned level, unsigned count);
H5TEST_DLL int generate_symbols(void);
H5TEST_DLL int shutdown_symbols(void);
H5TEST_DLL int print_metadata_retries_info(hid_t fid);
#ifdef __cplusplus
}
#endif
#endif /* SWMR_COMMON_H */