1 /**
2 * MOAB, a Mesh-Oriented datABase, is a software component for creating,
3 * storing and accessing finite element mesh data.
4 *
5 * Copyright 2004 Sandia Corporation. Under the terms of Contract
6 * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
7 * retains certain rights in this software.
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 */
15
16 #ifndef MHDF_FILE_HANDLE_H
17 #define MHDF_FILE_HANDLE_H
18
19 #ifdef _WIN32 /* windows */
20 #include <BaseTsd.h>
21 typedef ULONG32 uint32_t;
22 #endif
23 #include "mhdf.h"
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28
29 typedef struct struct_FileHandle
30 {
31 uint32_t magic;
32 hid_t hdf_handle;
33 int open_handle_count;
34 hid_t id_type; /* data type to use when creating tables of IDs */
35 long max_id;
36 } FileHandle;
37
38 FileHandle* mhdf_alloc_FileHandle( hid_t hdf_handle, hid_t id_type, mhdf_Status* status );
39
40 int mhdf_check_valid_file( FileHandle* handle, mhdf_Status* status );
41
42 #ifdef __cplusplus
43 } /* extern "C" */
44 #endif
45
46 #endif