summaryrefslogtreecommitdiffstats
path: root/src/H5Ppublic.h
blob: 94e25c3194bf2dda7b94cfd897bee110aed499bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
/****************************************************************************
 * NCSA HDF                                                                 *
 * Software Development Group                                               *
 * National Center for Supercomputing Applications                          *
 * University of Illinois at Urbana-Champaign                               *
 * 605 E. Springfield, Champaign IL 61820                                   *
 *                                                                          *
 * For conditions of distribution and use, see the accompanying             *
 * hdf/COPYING file.                                                        *
 *                                                                          *
 ****************************************************************************/

/* $Id$ */

/*
 * This file contains public declarations for the H5P module.
 */

#ifndef _H5pproto_H
#define _H5Pproto_H

/* Public headers needed by this file */
#include <H5public.h>
#include <H5Apublic.h>

/* Define atomic datatypes */
#define H5P_SCALAR  MAKE_ATOM(H5_DATASPACE,0)   /* Atom for scalar dataspace */
#define H5P_ALL     MAKE_ATOM(H5_DATASPACE,1)   /* Atom for "entire" dataspace */

/* Different types of dataspaces */
#define H5P_TYPE_UNKNOWN    0 /* Dataspace is not unitialized */
#define H5P_TYPE_SIMPLE     1 /* Dataspace is simple */
#define H5P_TYPE_COMPLEX    2 /* Dataspace is complex */

typedef struct {
    uintn type;     /* Type of dimensionality object */
    struct H5P_sdim_t *s;  /* Pointer to simple dimensionality information */
  } H5P_dim_t;

#ifdef __cplusplus
extern "C" {
#endif

/* Functions in H5P.c */
uintn H5Pnelem(hid_t dim_id);
uint32 H5Pget_lrank(hid_t dim_id);
herr_t H5Pget_ldims(hid_t dim_id, uint32 *dims);
hbool_t H5Pis_simple(hid_t dim_id);
herr_t H5Pset_space(hid_t sid, uint32 rank, const uint32 *dims);

/* Private functions which need to be globally visible */
void H5P_term_interface (void);
void H5P_destroy(void *dataspace);

#ifdef __cplusplus
}
#endif

#endif