- Added comments to files, functions, etc.
- Some readers changed to keep the file open throughout the
life of the program instead of closing it before sleeping.
This is in the hopes that there will be more opportunities for
cache issues without the close.
- Other minor changes.
Tested on:
jam
80 lines
2.5 KiB
C
80 lines
2.5 KiB
C
#ifndef _SWMR_COMMON_H
|
|
#define _SWMR_COMMON_H
|
|
|
|
/* Headers needed */
|
|
|
|
#define _GNU_SOURCE
|
|
#include <limits.h>
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <time.h>
|
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
|
* 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 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. *
|
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
|
|
|
#include "hdf5.h"
|
|
|
|
/**********/
|
|
/* Macros */
|
|
/**********/
|
|
|
|
#ifndef TRUE
|
|
#define TRUE 1
|
|
#endif /* TRUE */
|
|
#ifndef FALSE
|
|
#define FALSE 0
|
|
#endif /* FALSE */
|
|
|
|
#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 */
|
|
|
|
/************/
|
|
/* 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 */
|
|
/********************/
|
|
extern symbol_info_t *symbol_info[NLEVELS];
|
|
extern unsigned symbol_count[NLEVELS];
|
|
|
|
/**************/
|
|
/* Prototypes */
|
|
/**************/
|
|
symbol_info_t * choose_dataset(void);
|
|
hid_t create_symbol_datatype(void);
|
|
int generate_name(char *name_buf, unsigned level, unsigned count);
|
|
int generate_symbols(void);
|
|
int shutdown_symbols(void);
|
|
|
|
#endif /* _SWMR_COMMON_H */
|