netcdf-c/include/hdf4dispatch.h
Dennis Heimbigner 6934aa2e8b Thread safety: step 1: cleanup
re: https://github.com/Unidata/netcdf-c/issues/1373 (partial)

* Mark some global constants be const to indicate to make them easier to track.
* Hide direct access to the ncrc_globalstate behind a function call.
* Convert dispatch tables to constants (except the user defined ones)
  This has some consequences in terms of function arguments needing to be marked
  as const also.
* Remove some no longer needed global fields
* Aggregate all the globals in nclog.c
* Uniformly replace nc_sizevector{0,1} with NC_coord_{zero,one}
* Uniformly replace nc_ptrdffvector1 with NC_stride_one
* Remove some obsolete code
2019-03-30 14:06:20 -06:00

66 lines
1.5 KiB
C

/* Copyright 2018, UCAR/Unidata. See netcdf/COPYRIGHT file for copying
* and redistribution conditions. */
/**
* @file @internal This header file contains the prototypes for the
* HDF4 versions of the netCDF functions. This is part of the HDF4
* dispatch layer and this header should not be included by any file
* outside the libhdf4 directory.
*
* Ed Hartnett
*/
#ifndef _HDF4DISPATCH_H
#define _HDF4DISPATCH_H
#include "config.h"
#include "ncdispatch.h"
/** This is the max size of an SD dataset name in HDF4 (from HDF4
* documentation).*/
#define NC_MAX_HDF4_NAME 64
/** This is the max number of dimensions for a HDF4 SD dataset (from
* HDF4 documentation). */
#define NC_MAX_HDF4_DIMS 32
/* Stuff below is for hdf4 files. */
typedef struct NC_VAR_HDF4_INFO
{
int sdsid;
int hdf4_data_type;
} NC_VAR_HDF4_INFO_T;
typedef struct NC_HDF4_FILE_INFO
{
int sdid;
} NC_HDF4_FILE_INFO_T;
#if defined(__cplusplus)
extern "C" {
#endif
extern int
NC_HDF4_open(const char *path, int mode, int basepe, size_t *chunksizehintp,
void *parameters, const NC_Dispatch *, NC *);
extern int
NC_HDF4_abort(int ncid);
extern int
NC_HDF4_close(int ncid, void *ignore);
extern int
NC_HDF4_inq_format(int ncid, int *formatp);
extern int
NC_HDF4_inq_format_extended(int ncid, int *formatp, int *modep);
extern int
NC_HDF4_get_vara(int ncid, int varid, const size_t *start, const size_t *count,
void *value, nc_type);
#if defined(__cplusplus)
}
#endif
#endif /*_HDF4DISPATCH_H */