summaryrefslogtreecommitdiffstats
path: root/windows/installhdf5lib.bat
blob: 5c81f3377becdc6dd1604250628e4d142df2ffd7 (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
@echo OFF
rem Copyright by The HDF Group.

rem Copyright by the Board of Trustees of the University of Illinois.

rem All rights reserved.

rem

rem This file is part of HDF5.  The full HDF5 copyright notice, including

rem terms governing use, modification, and redistribution, is contained in

rem the files COPYING and Copyright.html.  COPYING can be found at the root

rem of the source code distribution tree; Copyright.html can be found at the

rem root level of an installed copy of the electronic HDF5 document set and

rem is linked from the top-level documents page.  It can also be found at

rem http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have

rem access to either file, you may request a copy from help@hdfgroup.org.



rem This batch file is used to install HDF5 libraries and tools

rem Last Updated: 3/3/08


setlocal enabledelayedexpansion
pushd %~dp0

set install_dir=%systemroot%\system

goto main

rem Create the directory structure that we'll need to install

:create_directories

    for %%a in (debug release) do (
        for %%b in (bin bindll dll lib include mods modsdll) do (
            if not exist hdf5lib\%%a\%%b (
                mkdir hdf5lib\%%a\%%b
            )
        )
    )
    
    exit /b

rem This function actally copies the file over, first making sure it exists.  If not, we increment nerrors

rem Expected parameters:

rem     %1 - name of file to copy

rem     %2 - destination to copy to

:safe_copy
    
    if exist %1 (
        copy /y %1 %2 > nul
    ) else (
        set /a nerrors=%nerrors%+1
    )
    
    exit /b
    

rem Only delete a file if it actually exists.  Return the status of delete if it was called

rem Expected paramters:

rem     %1 - name of file to delete

:safe_delete
    if exist %1 (
        del /f %1 > nul
    )
    
    exit /b


rem Install C Libraries and Tools

:install_c
    set nerrors=0
    
    rem ===DEBUG===
    rem include
    call :safe_copy src\*.h hdf5lib\debug\include
    call :safe_delete hdf5lib\debug\include\*private.h
    rem lib
    call :safe_copy proj\hdf5\debug\hdf5d.lib hdf5lib\debug\lib
    rem dll
    call :safe_copy proj\hdf5dll\debug\hdf5ddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5dll\debug\hdf5ddll.dll hdf5lib\debug\dll
    rem bin
    call :safe_copy hl\tools\gifconv\gif2h5\debug\gif2h5.exe hdf5lib\debug\bin
    call :safe_copy hl\tools\gifconv\h52gif\debug\h52gif.exe hdf5lib\debug\bin
    call :safe_copy tools\h5copy\debug\h5copy.exe hdf5lib\debug\bin
    call :safe_copy tools\h5debug\debug\h5debug.exe hdf5lib\debug\bin
    call :safe_copy tools\h5diff\debug\h5diff.exe hdf5lib\debug\bin
    call :safe_copy tools\h5dump\debug\h5dump.exe hdf5lib\debug\bin
    call :safe_copy tools\h5import\debug\h5import.exe hdf5lib\debug\bin
    call :safe_copy tools\h5jam\debug\h5jam.exe hdf5lib\debug\bin
    call :safe_copy tools\h5ls\debug\h5ls.exe hdf5lib\debug\bin
    call :safe_copy tools\h5mkgrp\debug\h5mkgrp.exe hdf5lib\debug\bin
    call :safe_copy tools\h5repack\debug\h5repack.exe hdf5lib\debug\bin
    call :safe_copy tools\h5repart\debug\h5repart.exe hdf5lib\debug\bin
    call :safe_copy tools\h5stat\debug\h5stat.exe hdf5lib\debug\bin
    call :safe_copy tools\h5unjam\debug\h5unjam.exe hdf5lib\debug\bin
    rem bindll
    call :safe_copy hl\tools\gifconvdll\h52gifdll\debug\h52gifdll.exe hdf5lib\debug\bindll
    call :safe_copy hl\tools\gifconvdll\gif2h5dll\debug\gif2h5dll.exe hdf5lib\debug\bindll
    call :safe_copy tools\h5debugdll\debug\h5debugdll.exe hdf5lib\debug\bindll
    call :safe_copy tools\h5diffdll\debug\h5diffdll.exe hdf5lib\debug\bindll
    call :safe_copy tools\h5dumpdll\debug\h5dumpdll.exe hdf5lib\debug\bindll
    call :safe_copy tools\h5importdll\debug\h5importdll.exe hdf5lib\debug\bindll
    call :safe_copy tools\h5lsdll\debug\h5lsdll.exe hdf5lib\debug\bindll
    call :safe_copy tools\h5repackdll\debug\h5repackdll.exe hdf5lib\debug\bindll
    call :safe_copy tools\h5repartdll\debug\h5repartdll.exe hdf5lib\debug\bindll
    
    rem ===RELEASE===
    rem include
    call :safe_copy src\*.h hdf5lib\release\include
    call :safe_delete hdf5lib\release\include\*private.h
    rem lib
    call :safe_copy proj\hdf5\release\hdf5.lib hdf5lib\release\lib
    rem dll
    call :safe_copy proj\hdf5dll\release\hdf5dll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5dll\release\hdf5dll.dll hdf5lib\release\dll
    rem bin
    call :safe_copy hl\tools\gifconv\gif2h5\release\gif2h5.exe hdf5lib\release\bin
    call :safe_copy hl\tools\gifconv\h52gif\release\h52gif.exe hdf5lib\release\bin
    call :safe_copy tools\h5copy\release\h5copy.exe hdf5lib\release\bin
    call :safe_copy tools\h5debug\release\h5debug.exe hdf5lib\release\bin
    call :safe_copy tools\h5diff\release\h5diff.exe hdf5lib\release\bin
    call :safe_copy tools\h5dump\release\h5dump.exe hdf5lib\release\bin
    call :safe_copy tools\h5import\release\h5import.exe hdf5lib\release\bin
    call :safe_copy tools\h5jam\release\h5jam.exe hdf5lib\release\bin
    call :safe_copy tools\h5ls\release\h5ls.exe hdf5lib\release\bin
    call :safe_copy tools\h5mkgrp\release\h5mkgrp.exe hdf5lib\release\bin
    call :safe_copy tools\h5repack\release\h5repack.exe hdf5lib\release\bin
    call :safe_copy tools\h5repart\release\h5repart.exe hdf5lib\release\bin
    call :safe_copy tools\h5stat\release\h5stat.exe hdf5lib\release\bin
    call :safe_copy tools\h5unjam\release\h5unjam.exe hdf5lib\release\bin
    rem bindll
    call :safe_copy hl\tools\gifconvdll\h52gifdll\release\h52gifdll.exe hdf5lib\release\bindll
    call :safe_copy hl\tools\gifconvdll\gif2h5dll\release\gif2h5dll.exe hdf5lib\release\bindll
    call :safe_copy tools\h5debugdll\release\h5debugdll.exe hdf5lib\release\bindll
    call :safe_copy tools\h5diffdll\release\h5diffdll.exe hdf5lib\release\bindll
    call :safe_copy tools\h5dumpdll\release\h5dumpdll.exe hdf5lib\release\bindll
    call :safe_copy tools\h5importdll\release\h5importdll.exe hdf5lib\release\bindll
    call :safe_copy tools\h5lsdll\release\h5lsdll.exe hdf5lib\release\bindll
    call :safe_copy tools\h5repackdll\release\h5repackdll.exe hdf5lib\release\bindll
    call :safe_copy tools\h5repartdll\release\h5repartdll.exe hdf5lib\release\bindll
    
    exit /b %nerrors%
    

rem Install HL Libraries and Tools

:install_hl
    set nerrors=0
    
    rem ===DEBUG===
    rem include
    call :safe_copy hl\src\*.h hdf5lib\debug\include
    rem lib
    call :safe_copy proj\hdf5_hl\debug\hdf5_hld.lib hdf5lib\debug\lib
    rem dll
    call :safe_copy proj\hdf5_hldll\debug\hdf5_hlddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5_hldll\debug\hdf5_hlddll.dll hdf5lib\debug\dll

    rem ===RELEASE===
    rem include
    call :safe_copy hl\src\*.h hdf5lib\release\include
    rem lib
    call :safe_copy proj\hdf5_hl\release\hdf5_hl.lib hdf5lib\release\lib
    rem dll
    call :safe_copy proj\hdf5_hldll\release\hdf5_hldll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5_hldll\release\hdf5_hldll.dll hdf5lib\release\dll

    exit /b %nerrors%


rem Install C++ Libraries and Tools

:install_cpp
    set nerrors=0

    REM ===DEBUG===
    rem include
    call :safe_copy "c++\src\*.h" hdf5lib\debug\include
    rem lib
    call :safe_copy proj\hdf5_cpp\debug\hdf5_cppd.lib hdf5lib\debug\lib
    rem dll
    call :safe_copy proj\hdf5_cppdll\debug\hdf5_cppddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5_cppdll\debug\hdf5_cppddll.dll hdf5lib\debug\dll

    rem ===RELEASE===
    rem include
    call :safe_copy "c++\src\*.h" hdf5lib\release\include
    rem lib
    call :safe_copy proj\hdf5_cpp\release\hdf5_cpp.lib hdf5lib\release\lib
    rem dll
    call :safe_copy proj\hdf5_cppdll\release\hdf5_cppdll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5_cppdll\release\hdf5_cppdll.dll hdf5lib\release\dll

    exit /b %nerrors%
    
    
rem Install HL C++ Libraries and Tools

:install_hlcpp
    set nerrors=0
    
    rem ===DEBUG===
    rem include
    call :safe_copy "hl\c++\src\*.h" hdf5lib\debug\include
    rem lib
    call :safe_copy proj\hdf5_hl_cpp\debug\hdf5_hl_cppd.lib hdf5lib\debug\lib
    rem dll
    call :safe_copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5_hl_cppdll\debug\hdf5_hl_cppddll.dll hdf5lib\debug\dll

    rem ===RELEASE===
    rem include
    call :safe_copy "hl\c++\src\*.h" hdf5lib\release\include
    rem lib
    call :safe_copy proj\hdf5_hl_cpp\release\hdf5_hl_cpp.lib hdf5lib\release\lib
    rem dll
    call :safe_copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5_hl_cppdll\release\hdf5_hl_cppdll.dll hdf5lib\release\dll
    
    exit /b %nerrors%
    
    
rem Install Fortran Libraries and Tools

:install_fortran
    set nerrors=0
    
    rem ===DEBUG===
    rem include
    call :safe_copy proj\hdf5_fortran\debug\*.mod hdf5lib\debug\mods
    rem lib
    call :safe_copy proj\hdf5_fortran\debug\hdf5_fortrand.lib hdf5lib\debug\lib
    call :safe_copy proj\hdf5_f90cstub\debug\hdf5_f90cstubd.lib hdf5lib\debug\lib
    rem modsdll
    call :safe_copy proj\hdf5_fortrandll\debug\*.mod hdf5lib\debug\modsdll
    rem dll
    call :safe_copy proj\hdf5_fortrandll\debug\hdf5_fortranddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5_fortrandll\debug\hdf5_fortranddll.dll hdf5lib\debug\dll
    call :safe_copy proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.dll hdf5lib\debug\dll

    rem ===RELEASE===
    rem include
    call :safe_copy proj\hdf5_fortran\release\*.mod hdf5lib\release\mods
    rem lib
    call :safe_copy proj\hdf5_fortran\release\hdf5_fortran.lib hdf5lib\release\lib
    call :safe_copy proj\hdf5_f90cstub\release\hdf5_f90cstub.lib hdf5lib\release\lib
    rem modsdll
    call :safe_copy proj\hdf5_fortrandll\release\*.mod hdf5lib\release\modsdll
    rem dll
    call :safe_copy proj\hdf5_fortrandll\release\hdf5_fortrandll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5_fortrandll\release\hdf5_fortrandll.dll hdf5lib\release\dll
    call :safe_copy proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.dll hdf5lib\release\dll
    
    exit /b %nerrors%
    
    
rem Install HL Fortran Libraries and Tools

:install_hlfortran
    set nerrors=0
    
    rem ===DEBUG===
    rem include
    call :safe_copy proj\hdf5_hl_fortran\debug\*.mod  hdf5lib\debug\mods
    rem lib
    call :safe_copy proj\hdf5_hl_fortran\debug\hdf5_hl_fortrand.lib hdf5lib\debug\lib
    call :safe_copy proj\hdf5_hl_f90cstub\debug\hdf5_hl_f90cstubd.lib hdf5lib\debug\lib
    rem modsdll
    call :safe_copy proj\hdf5_hl_fortrandll\debug\*.mod  hdf5lib\debug\modsdll
    rem dll
    call :safe_copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5_hl_fortrandll\debug\hdf5_hl_fortranddll.dll hdf5lib\debug\dll
    call :safe_copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.lib hdf5lib\debug\dll
    call :safe_copy proj\hdf5_hl_f90cstubdll\debug\hdf5_hl_f90cstubddll.dll hdf5lib\debug\dll

    rem ===RELEASE===
    rem include
    call :safe_copy proj\hdf5_hl_fortran\release\*.mod  hdf5lib\release\mods
    rem lib
    call :safe_copy proj\hdf5_hl_fortran\release\hdf5_hl_fortran.lib hdf5lib\release\lib
    call :safe_copy proj\hdf5_hl_f90cstub\release\hdf5_hl_f90cstub.lib hdf5lib\release\lib
    rem modsdll
    call :safe_copy proj\hdf5_hl_fortrandll\release\*.mod  hdf5lib\release\modsdll
    rem dll
    call :safe_copy proj\hdf5_hl_fortrandll\release\hdf5_hl_fortrandll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5_hl_fortrandll\release\hdf5_hl_fortrandll.dll hdf5lib\release\dll
    call :safe_copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.lib hdf5lib\release\dll
    call :safe_copy proj\hdf5_hl_f90cstubdll\release\hdf5_hl_f90cstubdll.dll hdf5lib\release\dll
    
    exit /b %nerrors%
    
    
:main

    call :create_directories
    
    call :install_c
    if %errorlevel% equ 0 (
        echo.C libraries and tools installed
    ) else (
        echo.C libraries and tools NOT installed
    )
    
    call :install_hl
    if %errorlevel% equ 0 (
        echo.High Level C libraries and tools installed
    ) else (
        echo.High Level C libraries and tools NOT installed
    )
    
    call :install_cpp
    if %errorlevel% equ 0 (
        echo.C++ libraries and tools installed 
    ) else (
        echo.C++ libraries and tools NOT installed 
    )
    
    call :install_hlcpp
    if %errorlevel% equ 0 (
        echo.High Level C++ libraries and tools installed
    ) else (
        echo.High Level C++ libraries and tools NOT installed
    )

    call :install_fortran
    if %errorlevel% equ 0 (
        echo.Fortran libraries and tools installed
    ) else (
        echo.Fortran libraries and tools NOT installed
    )
    
    call :install_hlfortran
    if %errorlevel% equ 0 (
        echo.High Level Fortran libraries and tools installed
    ) else (
        echo.High Level Fortran libraries and tools NOT installed
    )
    
    popd
    endlocal & exit /b 0
/span>hid_t</a> cls_id)</td></tr> <tr class="memdesc:gaf1b11da01d4d45d788c45f8bc5f0cbfa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new property list as an instance of a property list class. <br /></td></tr> <tr class="separator:gaf1b11da01d4d45d788c45f8bc5f0cbfa"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="memitem:gafd75009eb96922e72beffa78718d4bdd" id="r_gafd75009eb96922e72beffa78718d4bdd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gafd75009eb96922e72beffa78718d4bdd">H5Pdecode</a> (const void *buf)</td></tr> <tr class="memdesc:gafd75009eb96922e72beffa78718d4bdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decodes property list received in a binary object buffer and returns a new property list identifier. <br /></td></tr> <tr class="separator:gafd75009eb96922e72beffa78718d4bdd"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="memitem:ga37b1b6666e62a86389015e7dfc384faa" id="r_ga37b1b6666e62a86389015e7dfc384faa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga37b1b6666e62a86389015e7dfc384faa">H5Pencode2</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id, void *buf, size_t *nalloc, <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> fapl_id)</td></tr> <tr class="memdesc:ga37b1b6666e62a86389015e7dfc384faa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes the property values in a property list into a binary buffer. <br /></td></tr> <tr class="separator:ga37b1b6666e62a86389015e7dfc384faa"><td class="memSeparator" colspan="2">&#160;</td></tr> <tr class="memitem:ga9b230c1e85790f9f45c4ca2e79dd62c5" id="r_ga9b230c1e85790f9f45c4ca2e79dd62c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a> (<a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> plist_id)</td></tr> <tr class="memdesc:ga9b230c1e85790f9f45c4ca2e79dd62c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the property list class identifier for a property list. <br /></td></tr> <tr class="separator:ga9b230c1e85790f9f45c4ca2e79dd62c5"><td class="memSeparator" colspan="2">&#160;</td></tr> </table> <h2 class="groupheader">Function Documentation</h2> <a id="ga5dce61149211d3ef319452aa598887fb" name="ga5dce61149211d3ef319452aa598887fb"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5dce61149211d3ef319452aa598887fb">&#9670;&#160;</a></span>H5Pclose()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Pclose </td> <td>(</td> <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></td> <td class="paramname"><span class="paramname"><em>plist_id</em></span></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Terminates access to a property list. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Property list identifier</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Returns a non-negative value if successful; otherwise, returns a negative value.</dd></dl> <p><a class="el" href="#ga5dce61149211d3ef319452aa598887fb" title="Terminates access to a property list.">H5Pclose()</a> terminates access to a property list. All property lists should be closed when the application is finished accessing them. This frees resources used by the property list.</p> <dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl> </div> </div> <a id="gad2663ccbcbf76b96cde4c104588ae21b" name="gad2663ccbcbf76b96cde4c104588ae21b"></a> <h2 class="memtitle"><span class="permalink"><a href="#gad2663ccbcbf76b96cde4c104588ae21b">&#9670;&#160;</a></span>H5Pcopy()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pcopy </td> <td>(</td> <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></td> <td class="paramname"><span class="paramname"><em>plist_id</em></span></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Copies an existing property list to create a new property list. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Property list identifier</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Returns a property list identifier if successful; otherwise returns <a class="el" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>.</dd></dl> <p><a class="el" href="#gad2663ccbcbf76b96cde4c104588ae21b" title="Copies an existing property list to create a new property list.">H5Pcopy()</a> copies an existing property list to create a new property list. The new property list has the same properties and values as the original property list.</p> <dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl> </div> </div> <a id="gaf1b11da01d4d45d788c45f8bc5f0cbfa" name="gaf1b11da01d4d45d788c45f8bc5f0cbfa"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaf1b11da01d4d45d788c45f8bc5f0cbfa">&#9670;&#160;</a></span>H5Pcreate()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pcreate </td> <td>(</td> <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></td> <td class="paramname"><span class="paramname"><em>cls_id</em></span></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Creates a new property list as an instance of a property list class. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">cls_id</td><td>Property list class identifier</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Returns a property list identifier if successful; otherwise returns <a class="el" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>.</dd></dl> <p><a class="el" href="#gaf1b11da01d4d45d788c45f8bc5f0cbfa" title="Creates a new property list as an instance of a property list class.">H5Pcreate()</a> creates a new property list as an instance of some property list class. The new property list is initialized with default values for the specified class. The classes are as follows:</p> <table class="doxtable"> <tr> <th>Class Identifier </th><th>Class Name </th><th>Comments </th></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#aa0102211c679e031e2e9831b66c48a12">H5P_ATTRIBUTE_CREATE</a> </td><td>attribute create </td><td>Properties for attribute creation </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#afd849c0834c8ce6580b7c2537dbd9b5d">H5P_DATASET_ACCESS</a> </td><td>dataset access </td><td>Properties for dataset access </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a> </td><td>dataset create </td><td>Properties for dataset creation </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a> </td><td>data transfer </td><td>Properties for raw data transfer </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#aa67fdce00f24807a835955ac474febce">H5P_DATATYPE_ACCESS</a> </td><td>datatype access </td><td>Properties for datatype access </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a6d9318d499a66b4a934fe1839b29566e">H5P_DATATYPE_CREATE</a> </td><td>datatype create </td><td>Properties for datatype creation </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a60ec2d4334addfc0eda89614598ee38e">H5P_FILE_ACCESS</a> </td><td>file access </td><td>Properties for file access </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a206f334f1e6c973e1215a3148b45b977">H5P_FILE_CREATE</a> </td><td>file create </td><td>Properties for file creation </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a3f57eb3c4081b40ff8b036f438e68e5b">H5P_FILE_MOUNT</a> </td><td>file mount </td><td>Properties for file mounting </td></tr> <tr valign="top"> <td><a class="el" href="_h5_ppublic_8h.html#aca0fe0d98945364fe1320bf3af056b9d">H5P_GROUP_ACCESS</a> </td><td>group access </td><td>Properties for group access </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a8330a95b257d45d6347a2daa96f261e9">H5P_GROUP_CREATE</a> </td><td>group create </td><td>Properties for group creation </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a130a641715c9a0f3597792ce630fbe6f">H5P_LINK_ACCESS</a> </td><td>link access </td><td>Properties governing link traversal when accessing objects </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#ad2c1d10104f0262c826350ccbf7c49f2">H5P_LINK_CREATE</a> </td><td>link create </td><td>Properties governing link creation </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a7cedfd989522e8d7697a414d1d707e43">H5P_OBJECT_COPY</a> </td><td>object copy </td><td>Properties governing the object copying process </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a> </td><td>object create </td><td>Properties for object creation </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#ad5c40cc58ce5ddb42dff95eb684bd6cf">H5P_STRING_CREATE</a> </td><td>string create </td><td>Properties for character encoding when encoding strings or object names </td></tr> <tr> <td><a class="el" href="_h5_ppublic_8h.html#afebc2bfbcba7288957a33837b6a070a5">H5P_VOL_INITIALIZE</a> </td><td>vol initialize </td><td>Properties for VOL initialization </td></tr> </table> <p>This property list must eventually be closed with <a class="el" href="#ga5dce61149211d3ef319452aa598887fb" title="Terminates access to a property list.">H5Pclose()</a>; otherwise, errors are likely to occur.</p> <dl class="section version"><dt>Version</dt><dd>1.12.0 The <a class="el" href="_h5_ppublic_8h.html#afebc2bfbcba7288957a33837b6a070a5">H5P_VOL_INITIALIZE</a> property list class was added </dd> <dd> 1.8.15 For each class, the class name returned by <a class="el" href="group___p_l_c_r_a.html#gac94a17bcb6d988a7ccb1cf2c6f4a3a82" title="Retrieves the name of a class.">H5Pget_class_name()</a> was added. The list of possible Fortran values was updated. </dd> <dd> 1.8.0 The following property list classes were added at this release: <a class="el" href="_h5_ppublic_8h.html#afd849c0834c8ce6580b7c2537dbd9b5d">H5P_DATASET_ACCESS</a>, <a class="el" href="_h5_ppublic_8h.html#a8330a95b257d45d6347a2daa96f261e9">H5P_GROUP_CREATE</a>, <a class="el" href="_h5_ppublic_8h.html#aca0fe0d98945364fe1320bf3af056b9d">H5P_GROUP_ACCESS</a>, <a class="el" href="_h5_ppublic_8h.html#a6d9318d499a66b4a934fe1839b29566e">H5P_DATATYPE_CREATE</a>, <a class="el" href="_h5_ppublic_8h.html#aa67fdce00f24807a835955ac474febce">H5P_DATATYPE_ACCESS</a>, <a class="el" href="_h5_ppublic_8h.html#aa0102211c679e031e2e9831b66c48a12">H5P_ATTRIBUTE_CREATE</a></dd></dl> <dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl> </div> </div> <a id="gafd75009eb96922e72beffa78718d4bdd" name="gafd75009eb96922e72beffa78718d4bdd"></a> <h2 class="memtitle"><span class="permalink"><a href="#gafd75009eb96922e72beffa78718d4bdd">&#9670;&#160;</a></span>H5Pdecode()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pdecode </td> <td>(</td> <td class="paramtype">const void *</td> <td class="paramname"><span class="paramname"><em>buf</em></span></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Decodes property list received in a binary object buffer and returns a new property list identifier. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>Buffer holding the encoded property list</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Returns an object identifier if successful; otherwise returns a negative value.</dd></dl> <p>Given a binary property list description in a buffer, <a class="el" href="#gafd75009eb96922e72beffa78718d4bdd" title="Decodes property list received in a binary object buffer and returns a new property list identifier.">H5Pdecode()</a> reconstructs the HDF5 property list and returns an identifier for the new property list. The binary description of the property list is encoded by <a class="el" href="_h5version_8h.html#af1a9ff52a69251d57ffa686102f162a8">H5Pencode()</a>.</p> <p>The user is responsible for passing in the correct buffer.</p> <p>The property list identifier returned by this function should be released with <a class="el" href="#ga5dce61149211d3ef319452aa598887fb" title="Terminates access to a property list.">H5Pclose()</a> when the identifier is no longer needed so that resource leaks will not develop.</p> <dl class="section note"><dt>Note</dt><dd>Some properties cannot be encoded and therefore will not be available in the decoded property list. These properties are discussed in <a class="el" href="_h5version_8h.html#af1a9ff52a69251d57ffa686102f162a8">H5Pencode()</a>.</dd></dl> <dl class="section since"><dt>Since</dt><dd>1.10.0 </dd></dl> </div> </div> <a id="ga37b1b6666e62a86389015e7dfc384faa" name="ga37b1b6666e62a86389015e7dfc384faa"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga37b1b6666e62a86389015e7dfc384faa">&#9670;&#160;</a></span>H5Pencode2()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="_h5public_8h.html#a3b079ecf932a5c599499cf7e298af160">herr_t</a> H5Pencode2 </td> <td>(</td> <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></td> <td class="paramname"><span class="paramname"><em>plist_id</em>, </span></td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void *</td> <td class="paramname"><span class="paramname"><em>buf</em>, </span></td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t *</td> <td class="paramname"><span class="paramname"><em>nalloc</em>, </span></td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></td> <td class="paramname"><span class="paramname"><em>fapl_id</em></span>&#160;)</td> </tr> </table> </div><div class="memdoc"> <p>Encodes the property values in a property list into a binary buffer. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Property list identifier </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>Buffer into which the property list will be encoded. If the provided buffer is NULL, the size of the buffer required is returned through <code>nalloc</code>; the function does nothing more. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">nalloc</td><td>The size of the required buffer </td></tr> <tr><td class="paramdir">[in]</td><td class="paramname">fapl_id</td><td>File access property list identifier</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Returns a non-negative value if successful; otherwise, returns a negative value.</dd></dl> <p><a class="el" href="#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> encodes the property list <code>plist_id</code> into the binary buffer <code>buf</code>, according to the file format setting specified by the file access property list <code>fapl_id</code>.</p> <p>If the required buffer size is unknown, <code>buf</code> can be passed in as NULL and the function will set the required buffer size in <code>nalloc</code>. The buffer can then be created and the property list encoded with a subsequent <a class="el" href="#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> call.</p> <p>If the buffer passed in is not big enough to hold the encoded properties, the <a class="el" href="#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> call can be expected to fail with a segmentation fault.</p> <p>The file access property list <code>fapl_id</code> is used to control the encoding via the <em>libver_bounds</em> property (see <a class="el" href="group___f_a_p_l.html#gacbe1724e7f70cd17ed687417a1d2a910" title="Controls the range of library release versions used when creating objects in a file.">H5Pset_libver_bounds()</a>). If the <em>libver_bounds</em> property is missing, <a class="el" href="#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> proceeds as if the <em>libver_bounds</em> property were set to (<a class="el" href="_h5_fpublic_8h.html#a2d963b599894f684571fbd4d5e8a96a2abed98059b4a02d048b1eb3985fba5fa1">H5F_LIBVER_EARLIEST</a>, <a class="el" href="_h5_fpublic_8h.html#a47d050173da48a2b85c730446f0771c0">H5F_LIBVER_LATEST</a>). (Functionally, <a class="el" href="group___p_l_c_r_a.html#gaf40518cb161ee9508da4b9c0d34553bf" title="Encodes the property values in a property list into a binary buffer.">H5Pencode1()</a> is identical to <a class="el" href="#ga37b1b6666e62a86389015e7dfc384faa" title="Encodes the property values in a property list into a binary buffer.">H5Pencode2()</a> with <em>libver_bounds</em> set to (<a class="el" href="_h5_fpublic_8h.html#a2d963b599894f684571fbd4d5e8a96a2abed98059b4a02d048b1eb3985fba5fa1">H5F_LIBVER_EARLIEST</a>, <a class="el" href="_h5_fpublic_8h.html#a47d050173da48a2b85c730446f0771c0">H5F_LIBVER_LATEST</a>).) Properties that do not have encode callbacks will be skipped. There is currently no mechanism to register an encode callback for a user-defined property, so user-defined properties cannot currently be encoded.</p> <p>Some properties cannot be encoded, particularly properties that are reliant on local context.</p> <p><b>Motivation:</b> This function was introduced in HDF5-1.12 as part of the <em>H5Sencode</em> format change to enable 64-bit selection encodings and a dataspace selection that is tied to a file.</p> <dl class="section since"><dt>Since</dt><dd>1.12.0 </dd></dl> </div> </div> <a id="ga9b230c1e85790f9f45c4ca2e79dd62c5" name="ga9b230c1e85790f9f45c4ca2e79dd62c5"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga9b230c1e85790f9f45c4ca2e79dd62c5">&#9670;&#160;</a></span>H5Pget_class()</h2> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> H5Pget_class </td> <td>(</td> <td class="paramtype"><a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a></td> <td class="paramname"><span class="paramname"><em>plist_id</em></span></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>Returns the property list class identifier for a property list. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[in]</td><td class="paramname">plist_id</td><td>Property list identifier</td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>Returns a property list class identifier if successful; otherwise returns <a class="el" href="_h5_ipublic_8h.html#a01eab13dccc91afd6909d74dccb780ba">H5I_INVALID_HID</a>.</dd></dl> <p><a class="el" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> returns the property list class identifier for the property list identified by the <code>plist_id</code> parameter.</p> <p>Note that <a class="el" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> returns a value of <a class="el" href="_h5_ipublic_8h.html#a0045db7ff9c22ad35db6ae91662e1943">hid_t</a> type, an internal HDF5 identifier, rather than directly returning a property list class. That identifier can then be used with either <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> or <a class="el" href="group___p_l_c_r_a.html#gac94a17bcb6d988a7ccb1cf2c6f4a3a82" title="Retrieves the name of a class.">H5Pget_class_name()</a> to determine which predefined HDF5 property list class <a class="el" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> has returned.</p> <p>A full list of valid predefined property list classes appears in the description of <a class="el" href="#gaf1b11da01d4d45d788c45f8bc5f0cbfa" title="Creates a new property list as an instance of a property list class.">H5Pcreate()</a>.</p> <p>Determining the HDF5 property list class name with <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> requires a series of <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> calls in an if-else sequence. An iterative sequence of <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> calls can compare the identifier returned by <a class="el" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5" title="Returns the property list class identifier for a property list.">H5Pget_class()</a> to members of the list of valid property list class names. A pseudo-code snippet might read as follows:</p> <div class="fragment"><div class="line">plist_class_id = <a class="code hl_function" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a> (dsetA_plist);</div> <div class="line"> </div> <div class="line"><span class="keywordflow">if</span> <a class="code hl_function" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a> (plist_class_id, <a class="code hl_define" href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a>) = <span class="keyword">true</span>;</div> <div class="line"> [ <a class="code hl_define" href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a> is the <span class="keyword">property</span> list class ]</div> <div class="line"> [ returned by <a class="code hl_function" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a>. ]</div> <div class="line"> </div> <div class="line"><span class="keywordflow">else</span> <span class="keywordflow">if</span> <a class="code hl_function" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a> (plist_class_id, <a class="code hl_define" href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a>) = <span class="keyword">true</span>;</div> <div class="line"> [ <a class="code hl_define" href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a> is the <span class="keyword">property</span> list <span class="keyword">class</span>. ]</div> <div class="line"> </div> <div class="line"><span class="keywordflow">else</span> <span class="keywordflow">if</span> <a class="code hl_function" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a> (plist_class_id, <a class="code hl_define" href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a>) = <span class="keyword">true</span>;</div> <div class="line"> [ <a class="code hl_define" href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a> is the <span class="keyword">property</span> list <span class="keyword">class</span>. ]</div> <div class="line"> </div> <div class="line">.</div> <div class="line">. [ Continuing the iteration until a match is found. ]</div> <div class="line">.</div> <div class="ttc" id="a_h5_ppublic_8h_html_a42df2a1c964d2b985abc6e422abf6463"><div class="ttname"><a href="_h5_ppublic_8h.html#a42df2a1c964d2b985abc6e422abf6463">H5P_OBJECT_CREATE</a></div><div class="ttdeci">#define H5P_OBJECT_CREATE</div><div class="ttdef"><b>Definition</b> H5Ppublic.h:50</div></div> <div class="ttc" id="a_h5_ppublic_8h_html_a6f9c8a5aba72c0445fff384bf418a80d"><div class="ttname"><a href="_h5_ppublic_8h.html#a6f9c8a5aba72c0445fff384bf418a80d">H5P_DATASET_XFER</a></div><div class="ttdeci">#define H5P_DATASET_XFER</div><div class="ttdef"><b>Definition</b> H5Ppublic.h:55</div></div> <div class="ttc" id="a_h5_ppublic_8h_html_afcd7f8186c404f3a1d768632eacba102"><div class="ttname"><a href="_h5_ppublic_8h.html#afcd7f8186c404f3a1d768632eacba102">H5P_DATASET_CREATE</a></div><div class="ttdeci">#define H5P_DATASET_CREATE</div><div class="ttdef"><b>Definition</b> H5Ppublic.h:53</div></div> <div class="ttc" id="agroup___p_l_c_r_a_html_ga9425ef9f3bc3ee661eca6be654aeae20"><div class="ttname"><a href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20">H5Pequal</a></div><div class="ttdeci">htri_t H5Pequal(hid_t id1, hid_t id2)</div><div class="ttdoc">Compares two property lists or classes for equality.</div></div> <div class="ttc" id="agroup___p_l_c_r_html_ga9b230c1e85790f9f45c4ca2e79dd62c5"><div class="ttname"><a href="#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a></div><div class="ttdeci">hid_t H5Pget_class(hid_t plist_id)</div><div class="ttdoc">Returns the property list class identifier for a property list.</div></div> </div><!-- fragment --><p><a class="el" href="group___p_l_c_r_a.html#gac94a17bcb6d988a7ccb1cf2c6f4a3a82" title="Retrieves the name of a class.">H5Pget_class_name()</a> returns the property list class name directly as a string:</p> <div class="fragment"><div class="line">plist_class_id = <a class="code hl_function" href="#ga9b230c1e85790f9f45c4ca2e79dd62c5">H5Pget_class</a> (dsetA_plist);</div> <div class="line">plist_class_name = <a class="code hl_function" href="group___p_l_c_r_a.html#gac94a17bcb6d988a7ccb1cf2c6f4a3a82">H5Pget_class_name</a> (plist_class_id)</div> <div class="ttc" id="agroup___p_l_c_r_a_html_gac94a17bcb6d988a7ccb1cf2c6f4a3a82"><div class="ttname"><a href="group___p_l_c_r_a.html#gac94a17bcb6d988a7ccb1cf2c6f4a3a82">H5Pget_class_name</a></div><div class="ttdeci">char * H5Pget_class_name(hid_t pclass_id)</div><div class="ttdoc">Retrieves the name of a class.</div></div> </div><!-- fragment --><p>Note that frequent use of <a class="el" href="group___p_l_c_r_a.html#gac94a17bcb6d988a7ccb1cf2c6f4a3a82" title="Retrieves the name of a class.">H5Pget_class_name()</a> can become a performance problem in a high-performance environment. The <a class="el" href="group___p_l_c_r_a.html#ga9425ef9f3bc3ee661eca6be654aeae20" title="Compares two property lists or classes for equality.">H5Pequal()</a> approach is generally much faster.</p> <dl class="section version"><dt>Version</dt><dd>1.6.0 Return type changed in this release. </dd></dl> <dl class="section since"><dt>Since</dt><dd>1.0.0 </dd></dl> </div> </div> </div><!-- contents --> </div><!-- doc-content --> <!-- start footer part --> <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> <ul> <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.10.0 </li> </ul> </div> </body> </html>