Last modified: 24 February 2010
Name: H5Aopen_by_idx
Signature:
hid_t H5Aopen_by_idx( hid_t loc_id, const char *obj_name, H5_index_t idx_type, H5_iter_order_t order, hsize_t n, hid_t aapl_id, hid_t lapl_id )

Purpose:

Description:
H5Aopen_by_idx opens an existing attribute that is attached to an object specified by location and name, loc_id and obj_name, respectively. If loc_id fully specifies the object to which the attribute is attached, obj_name should be '.' (a dot).

The attribute is identified by an index type, an index traversal order, and a position in the index, idx_type, order and n, respectively. These parameters and their valid values are discussed in the description of H5Aiterate2.

The attribute access property list, aapl_id, is currently unused and should currently be H5P_DEFAULT.

The link access property list, lapl_id, may provide information regarding the properties of links required to access the object, obj_name. See “Link Access Properties” in the H5P APIs.

This function, H5Aopen, or H5Aopen_by_name must be called before an attribute can be accessed for any further purpose, including reading, writing, or any modification.

The attribute identifier returned by this function must be released with H5Aclose or resource leaks will develop.

Parameters:
hid_t loc_id IN: Location of object to which attribute is attached
const char *obj_name IN: Name of object to which attribute is attached, relative to location
H5_index_t idx_type IN: Type of index
H5_iter_order_t order     IN: Index traversal order
hsize_t n IN: Attribute’s position in index
hid_t aapl_id IN: Attribute access property list
hid_t lapl_id IN: Link access property list

Returns:
Returns an attribute identifier if successful; otherwise returns a negative value.

Fortran90 Interface: h5aopen_by_idx_f
SUBROUTINE h5aopen_by_idx_f(loc_id, obj_name, idx_type, order, n, attr_id, &
     hdferr, aapl_id, lapl_id)
  IMPLICIT NONE
  INTEGER(HID_T), INTENT(IN) :: loc_id      
                              ! Object identifier
  CHARACTER(LEN=*), INTENT(IN) :: obj_name  
                              ! Name of object to which attribute is attached
      
  INTEGER, INTENT(IN) :: idx_type      
                              ! Type of index; Possible values are:
                              !  H5_INDEX_UNKNOWN_F   - Unknown index type
                              !  H5_INDEX_NAME_F      - Index on names
                              !  H5_INDEX_CRT_ORDER_F - Index on creation order
                              !  H5_INDEX_N_F	      - Number of indices defined
  INTEGER, INTENT(IN) :: order              
                              ! Order in which to iterate over index:
                              !  H5_ITER_UNKNOWN_F  - Unknown order
                              !  H5_ITER_INC_F      - Increasing order
                              !  H5_ITER_DEC_F      - Decreasing order
                              !  H5_ITER_NATIVE_F   - No particular order, 
                              !                       whatever is fastest
                 
  INTEGER(HSIZE_T), INTENT(IN) :: n      
                              ! Attribute’s position in index
  INTEGER(HID_T), INTENT(OUT) :: attr_id  
                              ! Attribute identifier
  INTEGER, INTENT(OUT) :: hdferr          
                              ! Error code:
                              ! 0 on success and -1 on failure
  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: aapl_id  
                              ! Attribute access property list
  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id  
                              ! Link access property list
END SUBROUTINE h5aopen_by_idx_f
      

History:
Release     C
1.8.0 Function introduced in this release.