Salome HOME
Base implementation of Notebook
[modules/kernel.git] / src / HDFPersist / hdfi.h
1 //  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 //  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 //  This library is free software; you can redistribute it and/or
7 //  modify it under the terms of the GNU Lesser General Public
8 //  License as published by the Free Software Foundation; either
9 //  version 2.1 of the License.
10 //
11 //  This library is distributed in the hope that it will be useful,
12 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 //  Lesser General Public License for more details.
15 //
16 //  You should have received a copy of the GNU Lesser General Public
17 //  License along with this library; if not, write to the Free Software
18 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 /*----------------------------------------------------------------------
23   SALOME HDFPersist : implementation of HDF persitent ( save/ restore )
24   File   : hdfi.h
25   Module : SALOME
26   ----------------------------------------------------------------------*/
27
28 #ifndef HDFI_H
29 #define HDFI_H
30
31 #include "HDFtypes.h"
32
33 /* HDF C INTERFACE */
34
35 /* File Interface */
36 extern
37 hdf_idt HDFfileCreate(char *name);
38
39 extern
40 hdf_err HDFfileClose(hdf_idt fid);
41
42 extern
43 hdf_idt HDFfileOpen(char *name,hdf_access_mode access_mode);
44
45 extern
46 hdf_err HDFfileMount(hdf_idt id,const char *name,hdf_idt fid);
47
48 extern
49 hdf_err HDFfileUmount(hdf_idt id,const char *name);
50
51 /* Group Interface */
52 extern
53 hdf_idt HDFgroupCreate(hdf_idt pid, char *name);
54
55 extern
56 hdf_idt HDFgroupOpen(hdf_idt pid, char *name);
57
58 extern 
59 hdf_err HDFgroupClose(hdf_idt id);
60
61 /* DataSet Interface */
62 extern 
63 hdf_idt HDFdatasetOpen(hdf_idt pid,char *name);
64
65 extern
66 hdf_err HDFdatasetClose(hdf_idt id);
67
68 extern
69 hdf_idt HDFdatasetCreate(hdf_idt pid,char *name,hdf_type type,
70                          hdf_size *dimd, int ndim, hdf_byte_order order);
71
72 extern
73 hdf_err HDFdatasetWrite(hdf_idt id, void *val);
74
75 extern
76 hdf_err HDFdatasetRead(hdf_idt id, void *val);
77
78 extern
79 hdf_type HDFdatasetGetType(hdf_idt id);
80
81 extern 
82 int HDFdatasetGetnDim(hdf_idt id);
83
84 extern 
85 hdf_err HDFdatasetGetDim(hdf_idt id,hdf_size dim[]);
86
87 extern
88 int HDFdatasetGetSize(hdf_idt id);
89
90 extern 
91 hdf_byte_order HDFdatasetGetOrder(hdf_idt id);
92
93 /* Attribute interface */
94 extern
95 hdf_idt HDFattrOpen(hdf_idt pid,char *name);
96
97 extern
98 hdf_err HDFattrClose(hdf_idt id);
99
100 extern
101 hdf_idt HDFattrCreate(hdf_idt pid,char *name,hdf_type type, size_t size);
102
103 extern
104 hdf_err HDFattrWrite(hdf_idt id,void *val);
105
106 extern
107 hdf_err HDFattrRead(hdf_idt id,void *val);
108
109 extern
110 hdf_type HDFattrGetType(hdf_idt id);
111
112 extern
113 hdf_type HDFattrGetSize(hdf_idt id);
114
115 /* HDF Tools */
116 extern
117 void HDFerrorModeLock();
118
119 extern
120 hdf_err
121 HDFnObjects(hdf_idt fid,const char *path,int *n);
122
123 extern
124 hdf_err HDFobjectIdentify(hdf_idt fid,const char *path,int i,char *name);
125
126 extern
127 hdf_err HDFobjectType(hdf_idt id, char *name, hdf_object_type *type);
128
129 #endif /* HDFI_H */