H5PTpublic.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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 H5PTpublic_H
  14. #define H5PTpublic_H
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. /*-------------------------------------------------------------------------
  19. * Create/Open/Close functions
  20. *-------------------------------------------------------------------------
  21. */
  22. /* NOTE: H5PTcreate is replacing H5PTcreate_fl for better name due to the
  23. removal of H5PTcreate_vl. H5PTcreate_fl may be retired in 1.8.19. */
  24. H5_HLDLL hid_t H5PTcreate(hid_t loc_id, const char *dset_name, hid_t dtype_id, hsize_t chunk_size,
  25. hid_t plist_id);
  26. H5_HLDLL hid_t H5PTopen(hid_t loc_id, const char *dset_name);
  27. H5_HLDLL herr_t H5PTclose(hid_t table_id);
  28. /* This function may be removed from the packet table in release 1.8.19. */
  29. H5_HLDLL hid_t H5PTcreate_fl(hid_t loc_id, const char *dset_name, hid_t dtype_id, hsize_t chunk_size,
  30. int compression);
  31. /*-------------------------------------------------------------------------
  32. * Write functions
  33. *-------------------------------------------------------------------------
  34. */
  35. H5_HLDLL herr_t H5PTappend(hid_t table_id, size_t nrecords, const void *data);
  36. /*-------------------------------------------------------------------------
  37. * Read functions
  38. *-------------------------------------------------------------------------
  39. */
  40. H5_HLDLL herr_t H5PTget_next(hid_t table_id, size_t nrecords, void *data);
  41. H5_HLDLL herr_t H5PTread_packets(hid_t table_id, hsize_t start, size_t nrecords, void *data);
  42. /*-------------------------------------------------------------------------
  43. * Inquiry functions
  44. *-------------------------------------------------------------------------
  45. */
  46. H5_HLDLL herr_t H5PTget_num_packets(hid_t table_id, hsize_t *nrecords);
  47. H5_HLDLL herr_t H5PTis_valid(hid_t table_id);
  48. H5_HLDLL herr_t H5PTis_varlen(hid_t table_id);
  49. /*-------------------------------------------------------------------------
  50. *
  51. * Accessor functions
  52. *
  53. *-------------------------------------------------------------------------
  54. */
  55. H5_HLDLL hid_t H5PTget_dataset(hid_t table_id);
  56. H5_HLDLL hid_t H5PTget_type(hid_t table_id);
  57. /*-------------------------------------------------------------------------
  58. *
  59. * Packet Table "current index" functions
  60. *
  61. *-------------------------------------------------------------------------
  62. */
  63. H5_HLDLL herr_t H5PTcreate_index(hid_t table_id);
  64. H5_HLDLL herr_t H5PTset_index(hid_t table_id, hsize_t pt_index);
  65. H5_HLDLL herr_t H5PTget_index(hid_t table_id, hsize_t *pt_index);
  66. /*-------------------------------------------------------------------------
  67. *
  68. * Memory Management functions
  69. *
  70. *-------------------------------------------------------------------------
  71. */
  72. H5_HLDLL herr_t H5PTfree_vlen_buff(hid_t table_id, size_t bufflen, void *buff);
  73. #ifdef __cplusplus
  74. }
  75. #endif
  76. #endif