summaryrefslogtreecommitdiffstats
path: root/src/H5FDgass.h
blob: f9ba502542a27c5f61a1e4dfe5650f84cfdd0bd7 (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
/*
 * Copyright © 1999-2001 NCSA
 *                       All rights reserved.
 *
 * Programmer:  Saurabh Bagchi <bagchi@uiuc.edu>
 *              Tuesday, August 17, 1999
 *
 * Purpose:	The public header file for the gass driver.
 */
#ifndef H5FDgass_H
#define H5FDgass_H

#include "H5FDpublic.h"
#include "H5Ipublic.h"

#include <string.h>

#ifdef H5_HAVE_GASS 
#define H5FD_GASS        (H5FD_gass_init())
#else
#define H5FD_GASS        (-1)
#endif   

#ifdef H5_HAVE_GASS
/* Define the GASS info object. (Will be added to later as more GASS
   functionality is sought to be exposed. */
typedef struct GASS_Info {
  unsigned long block_size;
  unsigned long max_length;
} GASS_Info;

#define GASS_INFO_NULL(v) memset((void *)&v, 0, sizeof(GASS_Info));
/*
  GASS_Info zzGassInfo = {0L,0L};
  #define GASS_INFO_NULL zzGassInfo
*/
#endif

/* Function prototypes */
#ifdef H5_HAVE_GASS

#ifdef __cplusplus
extern "C" {
#endif

hid_t H5FD_gass_init(void);
herr_t H5Pset_fapl_gass(hid_t fapl_id, GASS_Info info);
herr_t H5Pget_fapl_gass(hid_t fapl_id, GASS_Info *info/*out*/);

#ifdef __cplusplus
}
#endif

#endif

#endif /* H5FDgass_H */