Name: H5Sget_select_hyper_blocklist
Signature:
herr_t H5Sget_select_hyper_blocklist(hid_t space_id, hsize_t startblock, hsize_t numblocks, hsize_t *buf )
Purpose:
Gets the list of hyperslab blocks currently selected.
Description:
H5Sget_select_hyper_blocklist returns a list of the hyperslab blocks currently selected. Starting with the startblock-th block in the list of blocks, numblocks blocks are put into the user's buffer. If the user's buffer fills up before numblocks blocks are inserted, the buffer will contain only as many blocks as fit.

The block coordinates have the same dimensionality (rank) as the dataspace they are located within. The list of blocks is formatted as follows:
     <"start" coordinate>, immediately followed by
     <"opposite" corner coordinate>, followed by
     the next "start" and "opposite" coordinates,
     etc.
until all of the selected blocks have been listed.

No guarantee is implied as the order in which blocks are listed.

Parameters:
Returns:
Returns a non-negative value if successful; otherwise returns a negative value.
Fortran90 Interface: h5sget_select_hyper_blocklist_f
SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, num_blocks,
                                           buf, hdferr)
  IMPLICIT NONE
  INTEGER(HID_T), INTENT(IN)   :: space_id   ! Dataspace identifier
  INTEGER(HSIZE_T), INTENT(IN) :: startblock ! Hyperslab block to start with
                                             ! NOTE: numbering starts at 0
  INTEGER, INTENT(OUT) :: num_blocks         ! Number of hyperslab blocks to 
                                             ! get in the current hyperslab 
                                             ! selection
  INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
                                             ! List of hyperslab blocks selected
  INTEGER, INTENT(OUT) :: hdferr             ! Error code
END SUBROUTINE h5sget_select_hyper_blocklist_f