00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _H5Fpublic_H
00020 #define _H5Fpublic_H
00021
00022
00023 #include "H5public.h"
00024 #include "H5ACpublic.h"
00025 #include "H5Cpublic.h"
00026 #include "H5Ipublic.h"
00027
00028
00029 #undef H5CHECK
00030 #ifndef _H5private_H
00031 #define H5CHECK H5check(),
00032 #else
00033 #define H5CHECK
00034 #endif
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 #define H5F_ACC_RDONLY (H5CHECK 0x0000u)
00047 #define H5F_ACC_RDWR (H5CHECK 0x0001u)
00048 #define H5F_ACC_TRUNC (H5CHECK 0x0002u)
00049 #define H5F_ACC_EXCL (H5CHECK 0x0004u)
00050 #define H5F_ACC_DEBUG (H5CHECK 0x0008u)
00051 #define H5F_ACC_CREAT (H5CHECK 0x0010u)
00052
00053
00054
00055 #define H5F_ACC_DEFAULT (H5CHECK 0xffffu)
00056
00057
00058 #define H5F_OBJ_FILE (0x0001u)
00059 #define H5F_OBJ_DATASET (0x0002u)
00060 #define H5F_OBJ_GROUP (0x0004u)
00061 #define H5F_OBJ_DATATYPE (0x0008u)
00062 #define H5F_OBJ_ATTR (0x0010u)
00063 #define H5F_OBJ_ALL (H5F_OBJ_FILE|H5F_OBJ_DATASET|H5F_OBJ_GROUP|H5F_OBJ_DATATYPE|H5F_OBJ_ATTR)
00064 #define H5F_OBJ_LOCAL (0x0020u)
00065
00066
00067 #define H5F_FAMILY_DEFAULT (hsize_t)0
00068
00069 #ifdef H5_HAVE_PARALLEL
00070
00071
00072
00073
00074
00075
00076 #define H5F_MPIO_DEBUG_KEY "H5F_mpio_debug_key"
00077 #endif
00078
00079
00080 typedef enum H5F_scope_t {
00081 H5F_SCOPE_LOCAL = 0,
00082 H5F_SCOPE_GLOBAL = 1
00083 } H5F_scope_t;
00084
00085
00086 #define H5F_UNLIMITED ((hsize_t)(-1L))
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096 typedef enum H5F_close_degree_t {
00097 H5F_CLOSE_DEFAULT = 0,
00098 H5F_CLOSE_WEAK = 1,
00099 H5F_CLOSE_SEMI = 2,
00100 H5F_CLOSE_STRONG = 3
00101 } H5F_close_degree_t;
00102
00103
00104
00105 typedef struct H5F_info_t {
00106 hsize_t super_ext_size;
00107 struct {
00108 hsize_t hdr_size;
00109 H5_ih_info_t msgs_info;
00110 } sohm;
00111 } H5F_info_t;
00112
00113
00114
00115
00116
00117
00118 typedef enum H5F_mem_t {
00119 H5FD_MEM_NOLIST = -1,
00120 H5FD_MEM_DEFAULT = 0,
00121 H5FD_MEM_SUPER = 1,
00122 H5FD_MEM_BTREE = 2,
00123 H5FD_MEM_DRAW = 3,
00124 H5FD_MEM_GHEAP = 4,
00125 H5FD_MEM_LHEAP = 5,
00126 H5FD_MEM_OHDR = 6,
00127
00128 H5FD_MEM_NTYPES
00129 } H5F_mem_t;
00130
00131
00132 typedef enum H5F_libver_t {
00133 H5F_LIBVER_EARLIEST,
00134 H5F_LIBVER_LATEST
00135 } H5F_libver_t;
00136
00137 #ifdef __cplusplus
00138 extern "C" {
00139 #endif
00140
00141
00142 H5_DLL htri_t H5Fis_hdf5(const char *filename);
00143 H5_DLL hid_t H5Fcreate(const char *filename, unsigned flags,
00144 hid_t create_plist, hid_t access_plist);
00145 H5_DLL hid_t H5Fopen(const char *filename, unsigned flags,
00146 hid_t access_plist);
00147 H5_DLL hid_t H5Freopen(hid_t file_id);
00148 H5_DLL herr_t H5Fflush(hid_t object_id, H5F_scope_t scope);
00149 H5_DLL herr_t H5Fclose(hid_t file_id);
00150 H5_DLL hid_t H5Fget_create_plist(hid_t file_id);
00151 H5_DLL hid_t H5Fget_access_plist(hid_t file_id);
00152 H5_DLL herr_t H5Fget_intent(hid_t file_id, unsigned * intent);
00153 H5_DLL ssize_t H5Fget_obj_count(hid_t file_id, unsigned types);
00154 H5_DLL ssize_t H5Fget_obj_ids(hid_t file_id, unsigned types, size_t max_objs, hid_t *obj_id_list);
00155 H5_DLL herr_t H5Fget_vfd_handle(hid_t file_id, hid_t fapl, void **file_handle);
00156 H5_DLL herr_t H5Fmount(hid_t loc, const char *name, hid_t child, hid_t plist);
00157 H5_DLL herr_t H5Funmount(hid_t loc, const char *name);
00158 H5_DLL hssize_t H5Fget_freespace(hid_t file_id);
00159 H5_DLL herr_t H5Fget_filesize(hid_t file_id, hsize_t *size);
00160 H5_DLL herr_t H5Fget_mdc_config(hid_t file_id,
00161 H5AC_cache_config_t * config_ptr);
00162 H5_DLL herr_t H5Fset_mdc_config(hid_t file_id,
00163 H5AC_cache_config_t * config_ptr);
00164 H5_DLL herr_t H5Fget_mdc_hit_rate(hid_t file_id, double * hit_rate_ptr);
00165 H5_DLL herr_t H5Fget_mdc_size(hid_t file_id,
00166 size_t * max_size_ptr,
00167 size_t * min_clean_size_ptr,
00168 size_t * cur_size_ptr,
00169 int * cur_num_entries_ptr);
00170 H5_DLL herr_t H5Freset_mdc_hit_rate_stats(hid_t file_id);
00171 H5_DLL ssize_t H5Fget_name(hid_t obj_id, char *name, size_t size);
00172 H5_DLL herr_t H5Fget_info(hid_t obj_id, H5F_info_t *bh_info);
00173
00174 #ifdef __cplusplus
00175 }
00176 #endif
00177 #endif
00178