diff options
Diffstat (limited to 'test/use.h')
-rw-r--r-- | test/use.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/test/use.h b/test/use.h new file mode 100644 index 0000000..8957ac1 --- /dev/null +++ b/test/use.h @@ -0,0 +1,79 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * 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 files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Use Case Header file: common definitions for use cases tests. + */ +#include <sys/types.h> +#include <unistd.h> +#include <sys/wait.h> +#include <stdio.h> +#include <stdlib.h> +#include <getopt.h> +#include <string.h> +#include "hdf5.h" + +/* Macro definitions */ +#define Hgoto_error(val) {ret_value=val; goto done;} +#define Hgoto_done {goto done;} +#define Chunksize_DFT 256 /* chunksize default */ +#define ErrorReportMax 10 /* max number of errors reported */ +/* these two definitions must match each other */ +#define UC_DATATYPE H5T_NATIVE_SHORT /* use case HDF5 data type */ +#define UC_CTYPE short /* use case C data type */ + +/* type declarations */ +typedef enum part_t { + UC_READWRITE =0, /* both writer and reader */ + UC_WRITER, /* writer only */ + UC_READER /* reader only */ +} part_t; +typedef struct options_t { + int use_swmr; /* use swmr open (1) or not */ + int compress; /* 0: no compress */ + int h5_use_chunks; /* 0/1: Not use/use chunked dataset */ + int chunksize; /* chunks are chunksize^2 planes */ + int nplanes; /* number of planes, default chunksize */ + char *filename; /* use case data filename */ + part_t launch; /* launch writer, reader or both */ +} options_t; + +/* global variables declarations */ +extern options_t UC_opts; /* Use Case Options */ +extern const char *progname_g; /* Program name */ + +/* prototype declarations */ +int parse_option(int argc, char * const argv[]); +void usage(const char *prog); +int create_uc_file(void); +int write_uc_file(void); +int read_uc_file(void); + +/* private definitions of Standard functions */ + +/* Standard POSIX functions */ +#define HDassert(s) assert(s) +#define HDfree(s) free(s) +#define HDgetenv(s) getenv(s) +#define HDmalloc(s) malloc(s) +#define HDmemcpy(X,C,Z) memcpy(X,C,Z) +#define HDmemset(X,C,Z) memset(X,C,Z) +#define HDperror(s) perror(s) +#define HDstrcat(s1, s2) strcat(s1, s2) +#define HDstrcmp(s1, s2) strcmp(s1, s2) +#define HDstrcpy(s1, s2) strcpy(s1, s2) +#define HDstrdup(s) strdup(s) +#define HDstrlen(s) strlen(s) +#define HDstrncpy(s1, s2, N) strncpy(s1, s2, N) +#define HDstrrchr(s, c) strrchr(s, c) |