moab
|
00001 00016 #ifndef MHDF_H 00017 #define MHDF_H 00018 00019 #include <H5Ipublic.h> 00020 00021 #ifdef __cplusplus 00022 extern "C" { 00023 #endif 00024 00312 00313 00318 00319 #define MHDF_MESSAGE_BUFFER_LEN 160 00320 00322 typedef struct struct_mhdf_Status { char message[MHDF_MESSAGE_BUFFER_LEN]; } mhdf_Status; 00323 00325 int 00326 mhdf_isError( mhdf_Status const* ); 00327 00329 const char* 00330 mhdf_message( mhdf_Status const* ); 00331 00338 00340 #define mhdf_EDGE_TYPE_NAME "Edge" 00341 00342 #define mhdf_TRI_TYPE_NAME "Tri" 00343 00344 #define mhdf_QUAD_TYPE_NAME "Quad" 00345 00346 #define mhdf_POLYGON_TYPE_NAME "Polygon" 00347 00348 #define mhdf_TET_TYPE_NAME "Tet" 00349 00350 #define mhdf_PYRAMID_TYPE_NAME "Pyramid" 00351 00352 #define mhdf_PRISM_TYPE_NAME "Prism" 00353 00354 #define mdhf_KNIFE_TYPE_NAME "Knife" 00355 00356 #define mdhf_HEX_TYPE_NAME "Hex" 00357 00358 #define mhdf_POLYHEDRON_TYPE_NAME "Polyhedron" 00359 00360 #define mhdf_SEPTAHEDRON_TYPE_NAME "Septahedron" 00361 00368 enum mhdf_TagDataType { 00369 mhdf_OPAQUE = 0, 00370 mhdf_INTEGER, 00371 mhdf_FLOAT, 00372 mhdf_BITFIELD, 00373 mhdf_BOOLEAN, 00374 mhdf_ENTITY_ID 00375 }; 00376 00382 typedef long mhdf_index_t; 00383 #define MHDF_INDEX_TYPE H5T_NATIVE_LONG 00384 00389 00390 00396 const char* 00397 mhdf_node_type_handle(void); 00398 00399 00405 const char* 00406 mhdf_set_type_handle(void); 00407 00414 00416 typedef void* mhdf_FileHandle; 00417 00418 00419 00420 /* Top level file operations */ 00421 00448 mhdf_FileHandle 00449 mhdf_createFile( const char* filename, 00450 int overwrite, 00451 const char** elem_type_list, 00452 size_t elem_type_list_len, 00453 hid_t id_type, 00454 mhdf_Status* status ); 00455 00471 mhdf_FileHandle 00472 mhdf_openFile( const char* filename, 00473 int writable, 00474 unsigned long* max_id, 00475 hid_t id_type, 00476 mhdf_Status* status ); 00477 00500 mhdf_FileHandle 00501 mhdf_openFileWithOpt( const char* filename, 00502 int writable, 00503 unsigned long* max_id, 00504 hid_t id_type, 00505 hid_t options, 00506 mhdf_Status* status ); 00507 00509 int 00510 mhdf_countOpenHandles( mhdf_FileHandle h ); 00511 00513 struct mhdf_EntDesc { 00514 long start_id; 00515 long count; 00516 int vals_per_ent; 00517 int* dense_tag_indices; 00518 int num_dense_tags; 00519 }; 00521 struct mhdf_TagDesc { 00522 const char* name; 00523 enum mhdf_TagDataType type; 00524 int size; 00525 int bytes; 00526 int storage; 00527 int have_sparse; 00528 void* default_value; 00529 int default_value_size; 00530 void* global_value; 00531 int global_value_size; 00532 int* dense_elem_indices; 00534 int num_dense_indices; 00535 }; 00536 struct mhdf_ElemDesc { 00537 const char* handle; 00538 const char* type; 00539 int have_adj; 00540 struct mhdf_EntDesc desc; 00541 }; 00542 struct mhdf_FileDesc { 00543 struct mhdf_EntDesc nodes; 00544 struct mhdf_EntDesc sets; 00545 int have_set_contents; 00546 int have_set_children; 00547 int have_set_parents; 00548 struct mhdf_ElemDesc* elems; 00549 int num_elem_desc; 00550 struct mhdf_TagDesc* tags; 00551 int num_tag_desc; 00552 size_t total_size; 00553 unsigned char* offset; 00554 }; 00555 00566 struct mhdf_FileDesc* 00567 mhdf_getFileSummary( mhdf_FileHandle file_handle, 00568 hid_t file_id_type, 00569 mhdf_Status* status ); 00570 00583 void 00584 mhdf_fixFileDesc( struct mhdf_FileDesc* copy_ptr, const struct mhdf_FileDesc* orig_addr ); 00585 00595 void 00596 mhdf_getElemName( mhdf_FileHandle file_handle, 00597 unsigned int type_index, 00598 char* buffer, size_t buffer_size, 00599 mhdf_Status* status ); 00600 00605 void 00606 mhdf_closeFile( mhdf_FileHandle handle, 00607 mhdf_Status* status ); 00608 00611 int 00612 mhdf_checkOpenHandles( mhdf_FileHandle handle, mhdf_Status* status ); 00613 00625 void 00626 mhdf_closeData( mhdf_FileHandle file, 00627 hid_t handle, 00628 mhdf_Status* status ); 00629 00636 void 00637 mhdf_getNextStartId( mhdf_FileHandle file, 00638 mhdf_index_t* start_id_out, 00639 mhdf_Status* status ); 00640 00651 void 00652 mhdf_writeHistory( mhdf_FileHandle file, 00653 const char** strings, 00654 int num_strings, 00655 mhdf_Status* status ); 00656 00670 char** 00671 mhdf_readHistory( mhdf_FileHandle file, 00672 int* num_records_out, 00673 mhdf_Status* status ); 00679 00680 /* Node Coordinates */ 00681 00682 int 00683 mhdf_haveNodes( mhdf_FileHandle file_handle, mhdf_Status* status ); 00684 00685 00697 hid_t 00698 mhdf_createNodeCoords( mhdf_FileHandle file_handle, 00699 int dimension, 00700 long num_nodes, 00701 long* first_node_id_out, 00702 mhdf_Status* status ); 00703 00715 hid_t 00716 mhdf_openNodeCoords( mhdf_FileHandle file_handle, 00717 long* num_nodes_out, 00718 int* dimension_out, 00719 long* first_node_id_out, 00720 mhdf_Status* status ); 00721 00722 hid_t 00723 mhdf_openNodeCoordsSimple( mhdf_FileHandle file_handle, mhdf_Status* status ); 00724 00736 void 00737 mhdf_writeNodeCoords( hid_t data_handle, 00738 long offset, 00739 long count, 00740 const double* coords, 00741 mhdf_Status* status ); 00742 void 00743 mhdf_writeNodeCoordsWithOpt( hid_t data_handle, 00744 long offset, 00745 long count, 00746 const double* coords, 00747 hid_t write_prop, 00748 mhdf_Status* status ); 00749 00763 void 00764 mhdf_writeNodeCoord( hid_t data_handle, 00765 long offset, 00766 long count, 00767 int dimension, 00768 const double* coords, 00769 mhdf_Status* status ); 00770 void 00771 mhdf_writeNodeCoordWithOpt( hid_t data_handle, 00772 long offset, 00773 long count, 00774 int dimension, 00775 const double* coords, 00776 hid_t write_prop, 00777 mhdf_Status* status ); 00778 00790 void 00791 mhdf_readNodeCoords( hid_t data_handle, 00792 long offset, 00793 long count, 00794 double* coordinates, 00795 mhdf_Status* status ); 00796 void 00797 mhdf_readNodeCoordsWithOpt( hid_t data_handle, 00798 long offset, 00799 long count, 00800 double* coordinates, 00801 hid_t read_prop, 00802 mhdf_Status* status ); 00803 00804 00818 void 00819 mhdf_readNodeCoord( hid_t data_handle, 00820 long offset, 00821 long count, 00822 int dimension, 00823 double* coords, 00824 mhdf_Status* status ); 00825 void 00826 mhdf_readNodeCoordWithOpt( hid_t data_handle, 00827 long offset, 00828 long count, 00829 int dimension, 00830 double* coords, 00831 hid_t read_prop, 00832 mhdf_Status* status ); 00833 00839 00840 /* Element Connectivity */ 00841 00865 void 00866 mhdf_addElement( mhdf_FileHandle file_handle, 00867 const char* elem_handle, 00868 unsigned int named_elem_type, 00869 mhdf_Status* status ); 00870 00891 char** 00892 mhdf_getElemHandles( mhdf_FileHandle file_handle, 00893 unsigned int* count_out, 00894 mhdf_Status* status ); 00895 00908 void 00909 mhdf_getElemTypeName( mhdf_FileHandle file_handle, 00910 const char* elem_handle, 00911 char* buffer, size_t buf_len, 00912 mhdf_Status* status ); 00913 00925 int 00926 mhdf_isPolyElement( mhdf_FileHandle file_handle, 00927 const char* elem_handle, 00928 mhdf_Status* status ); 00929 00952 hid_t 00953 mhdf_createConnectivity( mhdf_FileHandle file_handle, 00954 const char* elem_handle, 00955 int num_nodes_per_elem, 00956 long num_elements, 00957 long* first_elem_id_out, 00958 mhdf_Status* status ); 00959 00960 00986 hid_t 00987 mhdf_openConnectivity( mhdf_FileHandle file_handle, 00988 const char* elem_handle, 00989 int* num_nodes_per_elem_out, 00990 long* num_elements_out, 00991 long* first_elem_id_out, 00992 mhdf_Status* status ); 00993 00994 hid_t 00995 mhdf_openConnectivitySimple( mhdf_FileHandle file_handle, 00996 const char* elem_handle, 00997 mhdf_Status* status ); 00998 00999 01016 void 01017 mhdf_writeConnectivity( hid_t data_handle, 01018 long offset, 01019 long count, 01020 hid_t hdf_integer_type, 01021 const void* node_id_list, 01022 mhdf_Status* status ); 01023 void 01024 mhdf_writeConnectivityWithOpt( hid_t data_handle, 01025 long offset, 01026 long count, 01027 hid_t hdf_integer_type, 01028 const void* node_id_list, 01029 hid_t write_prop, 01030 mhdf_Status* status ); 01031 01049 void 01050 mhdf_readConnectivity( hid_t data_handle, 01051 long offset, 01052 long count, 01053 hid_t hdf_integer_type, 01054 void* node_id_list, 01055 mhdf_Status* status ); 01056 void 01057 mhdf_readConnectivityWithOpt( hid_t data_handle, 01058 long offset, 01059 long count, 01060 hid_t hdf_integer_type, 01061 void* node_id_list, 01062 hid_t read_prop, 01063 mhdf_Status* status ); 01064 01065 /* Poly(gon|hedra) */ 01066 01067 01099 void 01100 mhdf_createPolyConnectivity( mhdf_FileHandle file_handle, 01101 const char* elem_handle, 01102 long num_poly, 01103 long data_list_length, 01104 long* first_id_out, 01105 hid_t idx_and_id_handles_out[2], 01106 mhdf_Status* status ); 01107 01139 void 01140 mhdf_openPolyConnectivity( mhdf_FileHandle file_handle, 01141 const char* elem_handle, 01142 long* num_poly_out, 01143 long* data_list_length_out, 01144 long* first_id_out, 01145 hid_t idx_and_id_handles_out[2], 01146 mhdf_Status* status ); 01147 01175 void 01176 mhdf_writePolyConnIndices( hid_t poly_handle, 01177 long offset, 01178 long count, 01179 hid_t hdf_integer_type, 01180 const void* index_list, 01181 mhdf_Status* status ); 01182 void 01183 mhdf_writePolyConnIndicesWithOpt( hid_t poly_handle, 01184 long offset, 01185 long count, 01186 hid_t hdf_integer_type, 01187 const void* index_list, 01188 hid_t write_prop, 01189 mhdf_Status* status ); 01190 01219 void 01220 mhdf_writePolyConnIDs( hid_t poly_handle, 01221 long offset, 01222 long count, 01223 hid_t hdf_integer_type, 01224 const void* id_list, 01225 mhdf_Status* status ); 01226 void 01227 mhdf_writePolyConnIDsWithOpt( hid_t poly_handle, 01228 long offset, 01229 long count, 01230 hid_t hdf_integer_type, 01231 const void* id_list, 01232 hid_t write_prop, 01233 mhdf_Status* status ); 01234 01260 void 01261 mhdf_readPolyConnIndices( hid_t poly_handle, 01262 long offset, 01263 long count, 01264 hid_t hdf_integer_type, 01265 void* index_list, 01266 mhdf_Status* status ); 01267 void 01268 mhdf_readPolyConnIndicesWithOpt( hid_t poly_handle, 01269 long offset, 01270 long count, 01271 hid_t hdf_integer_type, 01272 void* index_list, 01273 hid_t read_prop, 01274 mhdf_Status* status ); 01275 01301 void 01302 mhdf_readPolyConnIDs( hid_t poly_handle, 01303 long offset, 01304 long count, 01305 hid_t hdf_integer_type, 01306 void* id_list, 01307 mhdf_Status* status ); 01308 void 01309 mhdf_readPolyConnIDsWithOpt( hid_t poly_handle, 01310 long offset, 01311 long count, 01312 hid_t hdf_integer_type, 01313 void* id_list, 01314 hid_t read_prop, 01315 mhdf_Status* status ); 01327 01328 01349 hid_t 01350 mhdf_createAdjacency( mhdf_FileHandle file_handle, 01351 const char* elem_handle, 01352 long adj_list_size, 01353 mhdf_Status* status ); 01354 01362 int 01363 mhdf_haveAdjacency( mhdf_FileHandle file, 01364 const char* elem_handle, 01365 mhdf_Status* status ); 01366 01387 hid_t 01388 mhdf_openAdjacency( mhdf_FileHandle file_handle, 01389 const char* elem_handle, 01390 long* adj_list_size, 01391 mhdf_Status* status ); 01392 01417 void 01418 mhdf_writeAdjacency( hid_t data_handle, 01419 long offset, 01420 long count, 01421 hid_t hdf_integer_type, 01422 const void* adj_list_data, 01423 mhdf_Status* status ); 01424 void 01425 mhdf_writeAdjacencyWithOpt( hid_t data_handle, 01426 long offset, 01427 long count, 01428 hid_t hdf_integer_type, 01429 const void* adj_list_data, 01430 hid_t write_prop, 01431 mhdf_Status* status ); 01432 01457 void 01458 mhdf_readAdjacency( hid_t data_handle, 01459 long offset, 01460 long count, 01461 hid_t hdf_integer_type, 01462 void* adj_list_data_out, 01463 mhdf_Status* status ); 01464 void 01465 mhdf_readAdjacencyWithOpt( hid_t data_handle, 01466 long offset, 01467 long count, 01468 hid_t hdf_integer_type, 01469 void* adj_list_data_out, 01470 hid_t read_prop, 01471 mhdf_Status* status ); 01472 01509 01510 01515 01517 #define mhdf_SET_OWNER_BIT 0x1 01518 01519 #define mhdf_SET_UNIQUE_BIT 0x2 01520 01521 #define mhdf_SET_ORDER_BIT 0x4 01522 01532 #define mhdf_SET_RANGE_BIT 0x8 01533 01563 hid_t 01564 mhdf_createSetMeta( mhdf_FileHandle file_handle, 01565 long num_sets, 01566 long* first_set_id_out, 01567 mhdf_Status* status ); 01568 01581 int 01582 mhdf_haveSets( mhdf_FileHandle file, 01583 int* have_set_data_out, 01584 int* have_set_child_out, 01585 int* have_set_parents_out, 01586 mhdf_Status* status ); 01587 01601 hid_t 01602 mhdf_openSetMeta( mhdf_FileHandle file_handle, 01603 long* num_sets_out, 01604 long* first_set_id_out, 01605 mhdf_Status* status ); 01606 01607 hid_t 01608 mhdf_openSetMetaSimple( mhdf_FileHandle file_handle, mhdf_Status* status ); 01609 01626 void 01627 mhdf_readSetMeta( hid_t data_handle, 01628 long offset, 01629 long count, 01630 hid_t hdf_integer_type, 01631 void* set_desc_data, 01632 mhdf_Status* status ); 01633 void 01634 mhdf_readSetMetaWithOpt( hid_t data_handle, 01635 long offset, 01636 long count, 01637 hid_t hdf_integer_type, 01638 void* set_desc_data, 01639 hid_t read_prop, 01640 mhdf_Status* status ); 01641 01653 void 01654 mhdf_readSetFlags( hid_t data_handle, 01655 long offset, 01656 long count, 01657 hid_t hdf_integer_type, 01658 void* set_flag_data, 01659 mhdf_Status* status ); 01660 void 01661 mhdf_readSetFlagsWithOpt( hid_t data_handle, 01662 long offset, 01663 long count, 01664 hid_t hdf_integer_type, 01665 void* set_flag_data, 01666 hid_t read_prop, 01667 mhdf_Status* status ); 01668 01669 01685 void 01686 mhdf_readSetContentEndIndices( hid_t data_handle, 01687 long offset, 01688 long count, 01689 hid_t hdf_integer_type, 01690 void* end_indices_out, 01691 mhdf_Status* status ); 01692 void 01693 mhdf_readSetContentEndIndicesWithOpt( hid_t data_handle, 01694 long offset, 01695 long count, 01696 hid_t hdf_integer_type, 01697 void* end_indices_out, 01698 hid_t read_prop, 01699 mhdf_Status* status ); 01700 01716 void 01717 mhdf_readSetChildEndIndices( hid_t data_handle, 01718 long offset, 01719 long count, 01720 hid_t hdf_integer_type, 01721 void* end_indices_out, 01722 mhdf_Status* status ); 01723 void 01724 mhdf_readSetChildEndIndicesWithOpt( hid_t data_handle, 01725 long offset, 01726 long count, 01727 hid_t hdf_integer_type, 01728 void* end_indices_out, 01729 hid_t read_prop, 01730 mhdf_Status* status ); 01731 01747 void 01748 mhdf_readSetParentEndIndices( hid_t data_handle, 01749 long offset, 01750 long count, 01751 hid_t hdf_integer_type, 01752 void* end_indices_out, 01753 mhdf_Status* status ); 01754 void 01755 mhdf_readSetParentEndIndicesWithOpt( hid_t data_handle, 01756 long offset, 01757 long count, 01758 hid_t hdf_integer_type, 01759 void* end_indices_out, 01760 hid_t read_prop, 01761 mhdf_Status* status ); 01762 01763 01780 void 01781 mhdf_writeSetMeta( hid_t data_handle, 01782 long offset, 01783 long count, 01784 hid_t hdf_integer_type, 01785 const void* set_desc_data, 01786 mhdf_Status* status ); 01787 void 01788 mhdf_writeSetMetaWithOpt( hid_t data_handle, 01789 long offset, 01790 long count, 01791 hid_t hdf_integer_type, 01792 const void* set_desc_data, 01793 hid_t write_prop, 01794 mhdf_Status* status ); 01795 01811 hid_t 01812 mhdf_createSetData( mhdf_FileHandle file_handle, 01813 long data_list_size, 01814 mhdf_Status* status ); 01815 01830 hid_t 01831 mhdf_openSetData( mhdf_FileHandle file_handle, 01832 long* data_list_size_out, 01833 mhdf_Status* status ); 01834 01855 void 01856 mhdf_writeSetData( hid_t set_handle, 01857 long offset, 01858 long count, 01859 hid_t hdf_integer_type, 01860 const void* set_data, 01861 mhdf_Status* status ); 01862 void 01863 mhdf_writeSetDataWithOpt( hid_t set_handle, 01864 long offset, 01865 long count, 01866 hid_t hdf_integer_type, 01867 const void* set_data, 01868 hid_t write_prop, 01869 mhdf_Status* status ); 01870 01891 void 01892 mhdf_readSetData( hid_t set_handle, 01893 long offset, 01894 long count, 01895 hid_t hdf_integer_type, 01896 void* set_data, 01897 mhdf_Status* status ); 01898 void 01899 mhdf_readSetDataWithOpt( hid_t set_handle, 01900 long offset, 01901 long count, 01902 hid_t hdf_integer_type, 01903 void* set_data, 01904 hid_t read_prop, 01905 mhdf_Status* status ); 01906 01921 hid_t 01922 mhdf_createSetChildren( mhdf_FileHandle file_handle, 01923 long child_list_size, 01924 mhdf_Status* status ); 01925 01938 hid_t 01939 mhdf_openSetChildren( mhdf_FileHandle file_handle, 01940 long* child_list_size, 01941 mhdf_Status* status ); 01942 01957 hid_t 01958 mhdf_createSetParents( mhdf_FileHandle file_handle, 01959 long parent_list_size, 01960 mhdf_Status* status ); 01961 01974 hid_t 01975 mhdf_openSetParents( mhdf_FileHandle file_handle, 01976 long* parent_list_size, 01977 mhdf_Status* status ); 01978 01996 void 01997 mhdf_writeSetParentsChildren( hid_t data_handle, 01998 long offset, 01999 long count, 02000 hid_t hdf_integer_type, 02001 const void* id_list, 02002 mhdf_Status* status ); 02003 void 02004 mhdf_writeSetParentsChildrenWithOpt( hid_t data_handle, 02005 long offset, 02006 long count, 02007 hid_t hdf_integer_type, 02008 const void* id_list, 02009 hid_t write_prop, 02010 mhdf_Status* status ); 02011 02029 void 02030 mhdf_readSetParentsChildren( hid_t data_handle, 02031 long offset, 02032 long count, 02033 hid_t hdf_integer_type, 02034 void* id_list, 02035 mhdf_Status* status ); 02036 void 02037 mhdf_readSetParentsChildrenWithOpt( hid_t data_handle, 02038 long offset, 02039 long count, 02040 hid_t hdf_integer_type, 02041 void* id_list, 02042 hid_t read_prop, 02043 mhdf_Status* status ); 02044 02066 02067 02072 02074 #define mhdf_DENSE_TYPE 2 02075 02076 #define mhdf_SPARSE_TYPE 1 02077 02078 #define mhdf_BIT_TYPE 0 02079 02080 #define mhdf_MESH_TYPE 3 02081 02103 hid_t 02104 mhdf_getNativeType( hid_t input_type, 02105 int size, 02106 mhdf_Status* status ); 02107 02135 void 02136 mhdf_createTag( mhdf_FileHandle file_handle, 02137 const char* tag_name, 02138 enum mhdf_TagDataType tag_type, 02139 int size, 02140 int storage, 02141 const void* default_value, 02142 const void* global_value, 02143 hid_t hdf_type, 02144 hid_t mhdf_base_type, 02145 mhdf_Status* status ); 02146 02148 hid_t 02149 mhdf_getTagDataType( mhdf_FileHandle file_handle, 02150 const char* tag_name, 02151 mhdf_Status* status ); 02152 02153 02179 void 02180 mhdf_createVarLenTag( mhdf_FileHandle file_handle, 02181 const char* tag_name, 02182 enum mhdf_TagDataType tag_type, 02183 int storage, 02184 const void* default_value, 02185 int default_value_length, 02186 const void* global_value, 02187 int global_value_length, 02188 hid_t hdf_type, 02189 hid_t hdf_base_type, 02190 mhdf_Status* status ); 02191 02192 02199 int 02200 mhdf_getNumberTags( mhdf_FileHandle file_handle, 02201 mhdf_Status* status ); 02202 02213 char** 02214 mhdf_getTagNames( mhdf_FileHandle file_handle, 02215 int* num_names_out, 02216 mhdf_Status* status ); 02217 02237 void 02238 mhdf_getTagInfo( mhdf_FileHandle file_handle, 02239 const char* tag_name, 02240 enum mhdf_TagDataType* class_out, 02241 int* size_out, 02242 int* tstt_storage_out, 02243 int* have_default_out, 02244 int* have_global_out, 02245 int* have_sparse_out, 02246 mhdf_Status* status ); 02247 02248 02249 02263 void 02264 mhdf_getTagValues( mhdf_FileHandle file_handle, 02265 const char* tag_name, 02266 hid_t output_data_type, 02267 void* default_value, 02268 void* global_value, 02269 mhdf_Status* status ); 02270 02284 int 02285 mhdf_haveDenseTag( mhdf_FileHandle file_handle, 02286 const char* tag_name, 02287 const char* elem_group, 02288 mhdf_Status* status ); 02289 02304 hid_t 02305 mhdf_createDenseTagData( mhdf_FileHandle file_handle, 02306 const char* tag_name, 02307 const char* elem_group, 02308 long num_values, 02309 mhdf_Status* status ); 02310 02323 hid_t 02324 mhdf_openDenseTagData( mhdf_FileHandle file_handle, 02325 const char* tag_name, 02326 const char* elem_group, 02327 long* num_values_out, 02328 mhdf_Status* status ); 02329 02345 void 02346 mhdf_createSparseTagData( mhdf_FileHandle file_handle, 02347 const char* tag_name, 02348 long num_values, 02349 hid_t entities_and_values_out[2], 02350 mhdf_Status* status ); 02351 02371 void 02372 mhdf_createVarLenTagData( mhdf_FileHandle file_handle, 02373 const char* tag_name, 02374 long num_entities, 02375 long num_values, 02376 hid_t entities_and_values_out[3], 02377 mhdf_Status* status ); 02378 02403 void 02404 mhdf_openSparseTagData( mhdf_FileHandle file_handle, 02405 const char* tag_name, 02406 long* num_entity_out, 02407 long* num_values_out, 02408 hid_t entities_and_values_out[3], 02409 mhdf_Status* status ); 02410 02425 void 02426 mhdf_writeSparseTagEntities( hid_t id_handle, 02427 long offset, 02428 long count, 02429 hid_t hdf_integer_type, 02430 const void* id_list, 02431 mhdf_Status* status ); 02432 void 02433 mhdf_writeSparseTagEntitiesWithOpt( hid_t id_handle, 02434 long offset, 02435 long count, 02436 hid_t hdf_integer_type, 02437 const void* id_list, 02438 hid_t write_prop, 02439 mhdf_Status* status ); 02440 02441 02442 02459 void 02460 mhdf_writeTagValues( hid_t value_handle, 02461 long offset, 02462 long count, 02463 hid_t hdf_tag_data_type, 02464 const void* tag_data, 02465 mhdf_Status* status ); 02466 void 02467 mhdf_writeTagValuesWithOpt( hid_t value_handle, 02468 long offset, 02469 long count, 02470 hid_t hdf_tag_data_type, 02471 const void* tag_data, 02472 hid_t write_prop, 02473 mhdf_Status* status ); 02474 02489 void 02490 mhdf_writeSparseTagIndices( hid_t tag_handle, 02491 long offset, 02492 long count, 02493 hid_t hdf_integer_type, 02494 const void* end_indices, 02495 mhdf_Status* status ); 02496 void 02497 mhdf_writeSparseTagIndicesWithOpt( hid_t tag_handle, 02498 long offset, 02499 long count, 02500 hid_t hdf_integer_type, 02501 const void* end_indices, 02502 hid_t write_prop, 02503 mhdf_Status* status ); 02504 02519 void 02520 mhdf_readSparseTagEntities( hid_t id_handle, 02521 long offset, 02522 long count, 02523 hid_t hdf_integer_type, 02524 void* id_list, 02525 mhdf_Status* status ); 02526 void 02527 mhdf_readSparseTagEntitiesWithOpt( hid_t id_handle, 02528 long offset, 02529 long count, 02530 hid_t hdf_integer_type, 02531 void* id_list, 02532 hid_t read_prop, 02533 mhdf_Status* status ); 02534 02551 void 02552 mhdf_readTagValues( hid_t value_handle, 02553 long offset, 02554 long count, 02555 hid_t hdf_type, 02556 void* memory, 02557 mhdf_Status* status ); 02558 void 02559 mhdf_readTagValuesWithOpt( hid_t value_handle, 02560 long offset, 02561 long count, 02562 hid_t hdf_type, 02563 void* memory, 02564 hid_t read_prop, 02565 mhdf_Status* status ); 02566 02567 02582 void 02583 mhdf_readSparseTagIndices( hid_t tag_handle, 02584 long offset, 02585 long count, 02586 hid_t hdf_integer_type, 02587 void* end_indices, 02588 mhdf_Status* status ); 02589 void 02590 mhdf_readSparseTagIndicesWithOpt( hid_t tag_handle, 02591 long offset, 02592 long count, 02593 hid_t hdf_integer_type, 02594 void* end_indices, 02595 hid_t read_prop, 02596 mhdf_Status* status ); 02597 02602 02603 02604 #ifdef __cplusplus 02605 } /* extern "C" */ 02606 #endif 02607 02608 #endif