H5TBpublic.h 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2. * Copyright by The HDF Group. *
  3. * Copyright by the Board of Trustees of the University of Illinois. *
  4. * All rights reserved. *
  5. * *
  6. * This file is part of HDF5. The full HDF5 copyright notice, including *
  7. * terms governing use, modification, and redistribution, is contained in *
  8. * the COPYING file, which can be found at the root of the source code *
  9. * distribution tree, or in https://www.hdfgroup.org/licenses. *
  10. * If you do not have access to either file, you may request a copy from *
  11. * help@hdfgroup.org. *
  12. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
  13. #ifndef H5TBpublic_H
  14. #define H5TBpublic_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. /*-------------------------------------------------------------------------
  19. *
  20. * Create functions
  21. *
  22. *-------------------------------------------------------------------------
  23. */
  24. H5_HLDLL herr_t H5TBmake_table(const char *table_title, hid_t loc_id, const char *dset_name, hsize_t nfields,
  25. hsize_t nrecords, size_t type_size, const char *field_names[],
  26. const size_t *field_offset, const hid_t *field_types, hsize_t chunk_size,
  27. void *fill_data, int compress, const void *buf);
  28. /*-------------------------------------------------------------------------
  29. *
  30. * Write functions
  31. *
  32. *-------------------------------------------------------------------------
  33. */
  34. H5_HLDLL herr_t H5TBappend_records(hid_t loc_id, const char *dset_name, hsize_t nrecords, size_t type_size,
  35. const size_t *field_offset, const size_t *dst_sizes, const void *buf);
  36. H5_HLDLL herr_t H5TBwrite_records(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
  37. size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
  38. const void *buf);
  39. H5_HLDLL herr_t H5TBwrite_fields_name(hid_t loc_id, const char *dset_name, const char *field_names,
  40. hsize_t start, hsize_t nrecords, size_t type_size,
  41. const size_t *field_offset, const size_t *dst_sizes, const void *buf);
  42. H5_HLDLL herr_t H5TBwrite_fields_index(hid_t loc_id, const char *dset_name, hsize_t nfields,
  43. const int *field_index, hsize_t start, hsize_t nrecords,
  44. size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
  45. const void *buf);
  46. /*-------------------------------------------------------------------------
  47. *
  48. * Read functions
  49. *
  50. *-------------------------------------------------------------------------
  51. */
  52. H5_HLDLL herr_t H5TBread_table(hid_t loc_id, const char *dset_name, size_t dst_size, const size_t *dst_offset,
  53. const size_t *dst_sizes, void *dst_buf);
  54. H5_HLDLL herr_t H5TBread_fields_name(hid_t loc_id, const char *dset_name, const char *field_names,
  55. hsize_t start, hsize_t nrecords, size_t type_size,
  56. const size_t *field_offset, const size_t *dst_sizes, void *buf);
  57. H5_HLDLL herr_t H5TBread_fields_index(hid_t loc_id, const char *dset_name, hsize_t nfields,
  58. const int *field_index, hsize_t start, hsize_t nrecords,
  59. size_t type_size, const size_t *field_offset, const size_t *dst_sizes,
  60. void *buf);
  61. H5_HLDLL herr_t H5TBread_records(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
  62. size_t type_size, const size_t *dst_offset, const size_t *dst_sizes,
  63. void *buf);
  64. /*-------------------------------------------------------------------------
  65. *
  66. * Inquiry functions
  67. *
  68. *-------------------------------------------------------------------------
  69. */
  70. H5_HLDLL herr_t H5TBget_table_info(hid_t loc_id, const char *dset_name, hsize_t *nfields, hsize_t *nrecords);
  71. H5_HLDLL herr_t H5TBget_field_info(hid_t loc_id, const char *dset_name, char *field_names[],
  72. size_t *field_sizes, size_t *field_offsets, size_t *type_size);
  73. /*-------------------------------------------------------------------------
  74. *
  75. * Manipulation functions
  76. *
  77. *-------------------------------------------------------------------------
  78. */
  79. H5_HLDLL herr_t H5TBdelete_record(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords);
  80. H5_HLDLL herr_t H5TBinsert_record(hid_t loc_id, const char *dset_name, hsize_t start, hsize_t nrecords,
  81. size_t dst_size, const size_t *dst_offset, const size_t *dst_sizes,
  82. void *buf);
  83. H5_HLDLL herr_t H5TBadd_records_from(hid_t loc_id, const char *dset_name1, hsize_t start1, hsize_t nrecords,
  84. const char *dset_name2, hsize_t start2);
  85. H5_HLDLL herr_t H5TBcombine_tables(hid_t loc_id1, const char *dset_name1, hid_t loc_id2,
  86. const char *dset_name2, const char *dset_name3);
  87. H5_HLDLL herr_t H5TBinsert_field(hid_t loc_id, const char *dset_name, const char *field_name,
  88. hid_t field_type, hsize_t position, const void *fill_data, const void *buf);
  89. H5_HLDLL herr_t H5TBdelete_field(hid_t loc_id, const char *dset_name, const char *field_name);
  90. /*-------------------------------------------------------------------------
  91. *
  92. * Table attribute functions
  93. *
  94. *-------------------------------------------------------------------------
  95. */
  96. H5_HLDLL herr_t H5TBAget_title(hid_t loc_id, char *table_title);
  97. H5_HLDLL htri_t H5TBAget_fill(hid_t loc_id, const char *dset_name, hid_t dset_id, unsigned char *dst_buf);
  98. #ifdef __cplusplus
  99. }
  100. #endif
  101. #endif