Salome HOME
A patch from Paul RASCLE for: kernel documentation with doxygen, modification on...
[modules/kernel.git] / src / HDFPersist / HDFtypes.h
1 // Copyright (C) 2005  OPEN CASCADE, CEA, EDF R&D, LEG
2 //           PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either 
6 // version 2.1 of the License.
7 // 
8 // This library is distributed in the hope that it will be useful 
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
11 // Lesser General Public License for more details.
12 // 
13 // You should have received a copy of the GNU Lesser General Public  
14 // License along with this library; if not, write to the Free Software 
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 // 
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 // 
19 /*----------------------------------------------------------------------------------
20   SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
21   File   : HDFtypes.h
22   Module : SALOME
23 ----------------------------------------------------------------------------------*/
24
25 #ifndef HDFTYPES_H
26 #define HDFTYPES_H
27
28 #include <hdf5.h>
29
30 /* max length of a HDF object */
31 #define HDF_NAME_MAX_LEN  100
32
33 /* HDF 5 types */
34 typedef size_t         hdf_size_type;
35 typedef H5T_class_t    hdf_class_type;
36 typedef hsize_t        hdf_size;
37 typedef hid_t          hdf_idt;
38 typedef herr_t         hdf_err;
39 typedef hbool_t        hdf_bool;
40 typedef H5T_order_t    hdf_byte_order;
41
42 typedef int            hdf_int32;
43 typedef long           hdf_int64;
44 typedef double         hdf_float64;
45
46 /* Access Mode */
47 typedef enum {HDF_RDONLY,HDF_RDWR} hdf_access_mode; 
48
49 /* Values types for HDF datasets and attributes */
50 typedef enum {HDF_NONE,HDF_STRING, HDF_INT32, HDF_INT64, HDF_FLOAT64} hdf_type;
51 /* - HDF_STRING   : C string 
52    - HDF_INT32    : 32 bits integer 
53    - HDF_INT64    : 64 bits integer
54    - HDF_FLOAT64  : IEEE  64 bits float
55 */
56
57 /* HDF object types */
58 typedef enum {HDF_OBJECT,HDF_FILE,HDF_GROUP,HDF_DATASET,
59               HDF_ATTRIBUTE} hdf_object_type;
60
61 #endif /* HDFTYPES_H */