From 26cd535ff23e4f6f440a4aa28e409f474ef92f66 Mon Sep 17 00:00:00 2001 From: Frank Baker Date: Tue, 1 Oct 2002 17:30:04 -0500 Subject: [svn-r5957] Purpose: Added 19 Generic Properties functions. Development branch only. Description: Added Generic Properties functions as follows: H5Pcreate_class H5Pset H5Pcreate_list H5Pexist H5Pclose_list H5Pisa_class H5Pclose_class H5Pequal H5Pregister H5Punregister H5Pget_size H5Pinsert H5Pget_nprops H5Premove H5Pget_class_parent H5Piterate H5Pget_class_name H5Pcopy_prop H5Pget Platforms tested: IE 5.1 --- doc/html/RM_H5P.html | 1743 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 1729 insertions(+), 14 deletions(-) diff --git a/doc/html/RM_H5P.html b/doc/html/RM_H5P.html index 8c314a7..f1d89b1 100644 --- a/doc/html/RM_H5P.html +++ b/doc/html/RM_H5P.html @@ -4,7 +4,7 @@ HDF5/H5P API Specification - +
@@ -65,6 +65,29 @@ many different parameters to be easily manipulated.
  • H5Pclose +

    Generic Properties +

    +

    File Creation Properties

    -
      -
      -
      -
      -
      -
      -
    -||  Indicates functions
    -     available only in the
    -     parallel HDF5 library.
    +        - File Access Properties + + File Close Properties + + +

    File Access Properties +
      +
    +||  Indicates functions
    +     available only in the
    +     parallel HDF5 library.
    + + + +
    Edit or Delete -- Comments, Bugs, Assumptions: +
    I would like to say "the property list is not closed" when a _close_ + routine fails, but I don't think that's possible due to other properties in + the list being successfully closed & removed from the property list. I + suppose that it would be possible to just remove the properties which have + successful _close_ callbacks, but I'm not happy with the ramifications of + a mangled, un-closable property list hanging around... Any comments? + + + +
    +
    +
    Name: H5Pcreate_list + +
    Signature: +
    hid_t H5Pcreate_list( + hid_t class) + +
    Purpose: +
    Creates a new property list class of a given class. + +
    Description: +
    H5Pcreate_list creates a new property list of a + given class. If a create callback exists for the + property list class, it is called before the property list + is passed back to the user. + If create callbacks exist for any individual properties + in the property list, they are called before the class + create callback. + +
    Parameter: +
      + + + +
      hid_t class;IN: Class of property list to create.
    + +
    Returns: +
    Success: a valid property list identifier +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pregister + +
    Signature: +
    herr_t H5Pregister( + hid_t class, + const char * name, + size_t size, + void * default, + H5P_prp_create_func_t create, + H5P_prp_set_func_t set, + H5P_prp_get_func_t get, + H5P_prp_delete_func_t delete, + H5P_prp_copy_func_t copy, + H5P_prp_close_func_t close + ) + +
    Purpose: +
    Registers a permanent property with a property list class. + +
    Description: +
    H5Pregister registers a new property with a + property list class. + The property will exist in all property list objects of + class created after this routine finishes. The name + of the property must not already exist, or this routine will fail. + The default property value must be provided and all new property + lists created with this property will have the property value set + to the default value. Any of the callback routines may be set to + NULL if they are not needed. + +

    + Zero-sized properties are allowed and do not store any data in the + property list. These may be used as flags to indicate the presence + or absence of a particular piece of information. The default pointer + for a zero-sized property may be set to NULL. + The property create and close callbacks + are called for zero-sized properties, but the set and + get callbacks are never called. +

    + + The create routine is called when a new property list + with this property is being created. + The H5P_prp_create_func_t callback function is defined + as follows: +
      typedef herr_t (*H5P_prp_create_func_t)( + const char *name, + size_t size, + void *initial_value); +
    + The parameters to this callback function are defined as follows: +
      + + + + + + + + + +
      const char *nameIN: The name of the property being modified
      size_t sizeIN: The size of the property in bytes
      void *initial_valueIN/OUT: The default value for the property being created, + which will be passed to H5Pregister
    + The create routine may modify the value to be set and + those changes will be stored as the initial value of the property. + If the create routine returns a negative value, + the new property value is not copied into the property and the + create routine returns an error value. +

    + + The set routine is called before a new value is copied + into the property. + The H5P_prp_set_func_t callback function is defined + as follows: +
      typedef herr_t (*H5P_prp_set_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *new_value); +
    + The parameters to this callback function are defined as follows: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The identifier of the property list being modified
      const char *nameIN: The name of the property being modified
      size_t sizeIN: The size of the property in bytes
      void **new_valueIN/OUT: Pointer to new value pointer for the property being + modified
    + The set routine may modify the value pointer to be set + and those changes will be used when setting the property's value. + If the set routine returns a negative value, the new + property value is not copied into the property and the + set routine returns an error value. + The set routine will not be called for the initial + value, only the create routine will be called. +

    + + The get routine is called when a value is retrieved + from a property value. + The H5P_prp_get_func_t callback function is defined + as follows: +
      typedef herr_t (*H5P_prp_get_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *value); +
    + The parameters to the callback function are defined as follows: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The identifier of the property list being queried
      const char * nameIN: The name of the property being queried
      size_t sizeIN: The size of the property in bytes
      void * valueIN/OUT: The value of the property being returned
    + The get routine may modify the value to be returned from + the query and those changes will be returned to the calling routine. + If the set routine returns a negative value, the query + routine returns an error value. +

    + + The delete routine is called when a property is being + deleted from a property list. + The H5P_prp_delete_func_t callback function is defined + as follows: +
      typedef herr_t (*H5P_prp_delete_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *value); +
    + The parameters to the callback function are defined as follows: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The identifier of the property list the property is being + deleted from
      const char * nameIN: The name of the property in the list
      size_t sizeIN: The size of the property in bytes
      void * valueIN: The value for the property being deleted
    + The delete routine may modify the value passed in, + but the value is not used by the library when the delete + routine returns. If the delete routine returns + a negative value, the property list delete routine returns + an error value but the property is still deleted. +

    + + The copy routine is called when a new property list with + this property is being created through a copy operation. + The H5P_prp_copy_func_t callback function is defined + as follows: +
      typedef herr_t (*H5P_prp_copy_func_t)( + const char *name, + size_t size, + void *value); +
    + The parameters to the callback function are defined as follows: +
      + + + + + + + + + +
      const char *nameIN: The name of the property being copied
      size_t sizeIN: The size of the property in bytes
      void *valueIN/OUT: The value for the property being copied
    + The copy routine may modify the value to be set and + those changes will be stored as the new value of the property. + If the copy routine returns a negative value, + the new property value is not copied into the property and + the copy routine returns an error value. +

    + + The close routine is called when a property list with + this property is being closed. + The H5P_prp_close_func_t callback function is defined + as follows: +
      typedef herr_t (*H5P_prp_close_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *value); +
    + The parameters to the callback function are defined as follows: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The identifier of the property list being + closed
      const char *nameIN: The name of the property in the list
      size_t sizeIN: The size of the property in bytes
      void *valueIN: The value for the property being closed
    + The close routine may modify the value passed in, + but the value is not used by the library when the + close routine returns. + If the close routine returns a negative value, + the property list close routine returns an error value but + the property list is still closed. +
    Parameters: +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      hid_t classIN: Property list class to register permanent property + within
      const char * nameIN: Name of property to register
      size_t sizeIN: Size of property in bytes
      void * defaultIN: Default value for property in newly created property + lists
      H5P_prp_create_func_t createIN: Callback routine called when a property list is being + created and the property value will be initialized
      H5P_prp_set_func_t setIN: Callback routine called before a new value is copied + into the property's value
      H5P_prp_get_func_t getIN: Callback routine called when a property value is + retrieved from the property
      H5P_prp_delete_func_t deleteIN: Callback routine called when a property is deleted from + a property list
      H5P_prp_copy_func_t copyIN: Callback routine called when a property is copied from + a property list
      H5P_prp_close_func_t closeIN: Callback routine called when a property list is being + closed and the property value will be disposed of
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + + + +
    Edit or Remove -- Comments, Bugs, Assumptions: +
    The set callback function may be useful to range check the value being + set for the property or may perform some tranformation/translation of the + value set. The get callback would then [probably] reverse the + transformation, etc. A single get or set callback could + handle multiple properties by performing different actions based on the + property name or other properties in the property list. + +

    I would like to say "the property list is not closed" when a close + routine fails, but I don't think that's possible due to other properties in + the list being successfully closed and removed from the property list. I + suppose that it would be possible to just remove the properties which have + successful close callbacks, but I'm not happy with the ramifications + of a mangled, un-closable property list hanging around... Any comments? +

    + + +
    +
    +
    Name: H5Pinsert + +
    Signature: +
    herr_t H5Pinsert( + hid_t plid, + const char *name, + size_t size, + void *value, + H5P_prp_set_func_t set, + H5P_prp_get_func_t get, + H5P_prp_delete_func_t delete, + H5P_prp_copy_func_t copy, + H5P_prp_close_func_t close + ) + +
    Purpose: +
    Registers a temporary property with a property list. + +
    Description: +
    H5Pinsert create a new property in a property list. + The property will exist only in this property list and copies made + from it. + +

    + The initial property value must be provided in + value and the property value will be set accordingly. + +

    + The name of the property must not already exist in this list, + or this routine will fail. + +

    + The set and get callback routines may + be set to NULL if they are not needed. + +

    + Zero-sized properties are allowed and do not store any data in the + property list. The default value of a zero-size property may be set + to NULL. They may be used to indicate the presence or absence of a + particular piece of information. +

    + + The set routine is called before a new value is copied + into the property. + The H5P_prp_set_func_t calback function is defined + as follows: +
      typedef herr_t (*H5P_prp_set_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *new_value); +
    + The parameters to the callback function are defined as follows: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The identifier of the property list being modified
      const char *nameIN: The name of the property being modified
      size_t sizeIN: The size of the property in bytes
      void **new_valueIN: Pointer to new value pointer for the property being + modified
    + The set routine may modify the value pointer to be set + and those changes will be used when setting the property's value. + If the set routine returns a negative value, the new + property value is not copied into the property and the set routine + returns an error value. + The set routine will be called for the initial value. +

    + + The get routine is called when a value is retrieved + from a property value. + The H5P_prp_get_func_t callback functioin is defined + as follows: +
      typedef herr_t (*H5P_prp_get_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *value); +
    + where the parameters to the callback function are: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The identifier of the property list being queried
      const char *IN: The name of the property being queried
      size_t sizeIN: The size of the property in bytes
      void *valueIN: The value of the property being returned
    + The get routine may modify the value to be returned from + the query and those changes will be preserved. + If the get routine returns a negative value, the query + routine returns an error value. +

    + + The delete routine is called when a property is being + deleted from a property list. + The H5P_prp_delete_func_t callback function is defined + as follows: +
      typedef herr_t (*H5P_prp_delete_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *value); +
    + where the parameters to the callback function are: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The identifier of the property list the property is + being deleted from
      const char * nameIN: The name of the property in the list
      size_t sizeIN: The size of the property in bytes
      void * valueIN: The value for the property being deleted
    + The delete routine may modify the value passed in, + but the value is not used by the library when the delete + routine returns. If the delete routine returns a + negative value, the property list delete routine returns an + error value but the property is still deleted. +

    + + The copy routine is called when a new property list + with this property is being created through a copy operation. + The H5P_prp_copy_func_t collback function is defined + as follows: +
      typedef herr_t (*H5P_prp_copy_func_t)( + const char *name, + size_t size, + void *value); +
    + where the parameters to the callback function are: +
      + + + + + + + + + +
      const char *nameIN: The name of the property being copied
      size_t sizeIN: The size of the property in bytes
      void * valueIN/OUT: The value for the property being copied
    + The copy routine may modify the value to be set and + those changes will be stored as the new value of the property. + If the copy routine returns a negative value, the + new property value is not copied into the property and the + copy routine returns an error value. + +

    The close routine is called when a property list + with this property is being closed. + The H5P_prp_close_func_t callback function is defined + as follows: +

      typedef herr_t (*H5P_prp_close_func_t)( + hid_t prop_id, + const char *name, + size_t size, + void *value); +
    + The parameters to the callback function are defined as follows: +
      + + + + + + + + + + + + +
      hid_t prop_idIN: The ID of the property list being closed
      const char *nameIN: The name of the property in the list
      size_t sizeIN: The size of the property in bytes
      void *valueIN: The value for the property being closed
    + The close routine may modify the value passed in, the value + is not used by the library when the close routine returns. + If the close routine returns a negative value, the + property list close routine returns an error value but the property list + is still closed. + +
    Parameters: +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      hid_t plidIN: Property list identifier to create temporary property + within
      const char *nameIN: Name of property to create
      size_t sizeIN: Size of property in bytes
      void *valueIN: Initial value for the property
      H5P_prp_set_func_t setIN: Callback routine called before a new value is copied into + the property's value
      H5P_prp_get_func_t getIN: Callback routine called when a property value is retrieved + from the property
      H5P_prp_delete_func_t deleteIN: Callback routine called when a property is deleted from + a property list
      H5P_prp_copy_func_t copyIN: Callback routine called when a property is copied from + an existing property list
      H5P_prp_close_func_t closeIN: Callback routine called when a property list is being closed + and the property value will be disposed of
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + + +
    Edit or Remove -- Comments, Bugs, Assumptions: +
    The set callback function may be useful to range check + the value being set for the property or may perform some + tranformation/translation of the value set. The get callback + would then [probably] reverse the transformation, etc. A single + get or set callback could handle + multiple properties by performing different actions based on the + property name or other properties in the property list. + +

    + There is no create callback routine for temporary property + list objects, the initial value is assumed to have any necessary setup + already performed on it. + +

    + I would like to say "the property list is not closed" when a close + routine fails, but I don't think that's possible due to other properties in + the list being successfully closed and removed from the property list. I + suppose that it would be possible to just remove the properties which have + successful close callbacks, but I'm not happy with the + ramifications of a mangled, un-closable property list hanging around... + Any comments? +

    + + +
    +
    +
    Name: H5Pset + +
    Signature: +
    herr_t H5Pset( + hid_t plid, + const char *name, + void *value) + ) + +
    Purpose: +
    Sets a property list value. + +
    Description: +
    H5Pset sets a new value for a property in a + property list. If there is a set callback + routine registered for this property, the value will be + passed to that routine and any changes to the value + will be used when setting the property value. + The information pointed to by the value pointer + (possibly modified by the set callback) is copied into + the property list value and may be changed by the application making + the H5Pset call without affecting the property value. + +

    + The property name must exist or this routine will fail. + +

    + If the set callback routine returns an error, the + property value will not be modified. + +

    + This routine may not be called for zero-sized properties + and will return an error in that case. + +

    Parameters: +
      + + + + + + +
      hid_t plid; + IN: Property list identifier to modify
      const char *name; + IN: Name of property to modify
      void *value; + IN: Pointer to value to set the property to
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pexist + +
    Signature: +
    htri_t H5Pexist( + hid_t id; + const char *name + ) + +
    Purpose: +
    Queries whether a property name exists in a property list + or class. + +
    Description: +
    H5Pexist determines whether a property exists + within a property list or class. + +
    Parameters: +
      + + + + + + +
      hid_t idIN: Identifier for the property to query
      const char *nameIN: Name of property to check for
    + +
    Returns: +
    Success: a positive value if the property exists in the + property object; zero if the property does not exist +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pget_size + +
    Signature: +
    int H5Pget_size( + hid_t id, + const char *name, + size_t *size + ) + +
    Purpose: +
    Queries the size of a property value in bytes. + +
    Description: +
    H5Pget_size retrieves the size of a + property's value in bytes. This function operates on both + poperty lists and property classes + +

    + Zero-sized properties are allowed and return 0. + + +

    Parameters: +
      + + + + + + + + + +
      hid_t idIN: Identifier of property object to query
      const char *nameIN: Name of property to query
      size_t *sizeOUT: Size of property in bytes
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pget_nprops + +
    Signature: +
    int H5Pget_nprops( + hid_t id, + size_t *nprops + ) + +
    Purpose: +
    Queries number of properties in property list or class. + +
    Description: +
    H5Pget_nprops retrieves the number of properties in a + property list or class. + If a property class identifier is given, the number of registered + properties in the class is returned in nprops. + If a property list identifier is given, the current number of + properties in the list is returned in nprops. + +
    Parameters: +
      + + + + + + +
      hid_t idIN: Identifier of property object to query
      size_t *npropsOUT: Number of properties in object
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pget_class_name + +
    Purpose: +
    Retrieves the name of a class. + +
    Signature: +
    char * H5Pget_class_name( + hid_t pcid + ) + +
    Description: +
    H5Pget_class_name retrieves the name of a + generic property list class. The pointer to the name + must be freed by the user after each successful call. + +
    Parameters: +
      + + + +
      hid_t pcidIN: Identifier of the property class to query
    + +
    Returns: +
    Success: a pointer to an allocated string containing the class name +
    Failure: NULL + + + +
    + + +
    +
    +
    Name: H5Pget_class_parent + +
    Signature: +
    hid_t H5Pget_class_parent( + hid_t pcid + ) + +
    Purpose: +
    Retrieves the parent class of a property class. + +
    Parameters: +
      + + + +
      hid_t pcidIN: Identifier of the property class to query
    + +
    Returns: +
    Success: a valid parent class object identifier +
    Failure: a negative value + +
    Description: +
    H5Pget_class_parent retrieves an identifier for the + parent class of a property class. + + + +
    + + +
    +
    +
    Name: H5Pisa_class + +
    Signature: +
    htri_t H5Pisa_class( + hid_t plist, + hid_t pclass + ) + +
    Purpose: +
    Determines whether a property list is a member of a class. + +
    Description: +
    H5Pisa_class checks to determine whether a property list + is a member of the specified class. + +
    Parameters: +
      + + + + + + +
      hid_t plistIN: Identifier of the property list
      hid_t pclassIN: Identifier of the property class
    + +
    Returns: +
    Success: TRUE (positive) if equal; FALSE (zero) if unequal +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pget + +
    Signature: +
    herr_t H5Pget( + hid_t plid, + const char *name, + void *value + ) + +
    Purpose: +
    Queries the value of a property. + +
    Description: +
    H5Pget retrieves a copy of the value for a property + in a property list. If there is a get callback routine + registered for this property, the copy of the value of the property + will first be passed to that routine and any changes to the copy of + the value will be used when returning the property value from this + routine. + +

    + This routine may be called for zero-sized properties with the + value set to NULL. The get routine + will be called with a NULL value if the callback exists. + +

    + The property name must exist or this routine will fail. + +

    + If the get callback routine returns an error, + value will not be modified. + +

    Parameters: +
      + + + + + + + + + +
      hid_t plidIN: Identifier of the property list to query
      const char *nameIN: Name of property to query
      void *valueOUT: Pointer to a location to which to copy the value of + of the property
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pequal + +
    Signature: +
    htri_t H5Pequal( + hid_t id1, + hid_t id2 + ) + +
    Purpose: +
    Compares two property lists or classes for equality. + +
    Description: +
    H5Pequal compares two property lists or classes + to determine whether they are equal to one another. + +

    + Either both id1 and id2 must be + property lists or both must be classes; comparing a list to a + class is an error. + +

    Parameters: +
      + + + + + + +
      hid_t id1IN: First property object to be compared
      hid_t id2IN: Second property object to be compared
    + +
    Returns: +
    Success: TRUE (positive) if equal; FALSE (zero) if unequal +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Piterate + +
    Purpose: +
    Iterates over properties in a property class or list. + +
    Signature: +
    int H5Piterate( + hid_t id, + int * idx, + H5P_iterate_t iter_func, + void * iter_data + ) + +
    Description: +

    H5Piterate iterates over the properties in the + property object specified in id, which may be either a + property list or a property class, performing a specified + operation on each property in turn. + +

    + For each property in the object, iter_func and + the additional information specified below are passed to the + H5P_iterate_t operator function. + + (NOTE: iter_func was changed to + H5P_iterate_t in the preceding sentence. + Is this correct?) + +

    + The iteration begins with the idx-th property in + the object; the next element to be processed by the operator + is returned in idx. + If idx is NULL, the iterator starts at the first + property; since no stopping point is returned in this case, + the iterator cannot be restarted if one of the calls to its + operator returns non-zero. +

    + + The prototype for the H5P_iterate_t operator is + as follows: +
      +
      typedef herr_t (*H5P_iterate_t)( + hid_t id, + const char *>name, + void *iter_data + ) +
    + The operation receives the property list or class identifier for + the object being iterated over, id, + the name of the current property within the object, name, + and the pointer to the operator data passed in to + H5Piterate, iter_data. +

    + + The valid return values from an operator are as follows: +
      + + + + + + + + + +
      ZeroCauses the iterator to continue, returning zero when all + properties have been processed
      PositiveCauses the iterator to immediately return that positive + value, indicating short-circuit success. The iterator can + be restarted at the index of the next property
      NegativeCauses the iterator to immediately return that value, + indicating failure. The iterator can be restarted at the + index of the next property
    + +

    + H5Piterate assumes that the properties in the object + identified by id remain unchanged through the iteration. + If the membership changes during the iteration, the function's behavior + is undefined. + +

    Parameters: +
      + + + + + + + + + + + + +
      hid_t idIN: Identifier of property object to iterate over
      int * idxIN/OUT: Index of the property to begin with
      H5P_iterate_t iter_funcIN: Function pointer to function to be called with each + property iterated over
      void * iter_dataIN/OUT: Pointer to iteration data from user
    + +
    Returns: +
    Success: the return value of the last call to + iter_func if it was non-zero; + zero if all properties have been processed +
    Failure: a negative value + + + + +
    + + +
    +
    +
    Name: H5Pcopy_prop + +
    Signature: +
    herr_t H5Pcopy_prop( + hid_t dst_id, + hid_t src_id, + const char *name + ) + +
    Purpose: +
    Copies a property from one list or class to another. + +
    Description: +
    H5Pcopy_prop copies a property from one property + list or class to another. + +

    + If a property is copied from one class to another, all the property + information will be first deleted from the destination class and + then the property information will be copied from the source class + into the destination class. + +

    + If a property is copied from one list to another, the property + will be first deleted from the destination list (generating a call + to the close callback for the property, if one exists) + and then the property is copied from the source list to the + destination list (generating a call to the copy + callback for the property, if one exists). + +

    + If the property does not exist in the class or list, this call is + equivalent to calling H5Pregister or H5Pinsert + (for a class or list, as appropriate) and the create + callback will be called in the case of the property being + copied into a list (if such a callback exists for the property). + +

    Parameters: +
      + + + + + + + + + +
      hid_t dst_idIN: Identifier of the destination property list or + class
      hid_t src_idIN: Identifier of the source property list or class
      const char *nameIN: Name of the property to copy
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Premove + +
    Signature: +
    herr_t H5Premove(plid, name) + hid_t plid; + const char *name + ) + +
    Purpose: +
    Removes a property from a property list. + +
    Description: +
    H5Premove removes a property from a property list. + +

    + Both properties which were in existence when the property list + was created (i.e. properties registered with H5Pregister) + and properties added to the list after it was created (i.e. added + with H5Pinsert) may be removed from a property list. + Properties do not need to be removed from a property list before the + list itself is closed; they will be released automatically when + H5Pclose is called. + +

    + If a close callback exists for the removed property, + it will be called before the property is released. + +

    Parameters: +
      + + + + + + +
      hid_t plidIN: Identifier of the property list to modify
      const char *nameIN: Name of property to remove
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value +
    + + +
    +
    +
    Name: H5Punregister + +
    Signature: +
    herr_t H5Punregister( + H5P_class_t class, + const char *name + ) + +
    Purpose: +
    Removes a property from a property list class. + +
    Description: +
    H5Punregister removes a property from a + property list class. + +

    + Future property lists created of that class will not contain + this property; + existing property lists containing this property are not affected. + +

    Parameters: +
      + + + + + + +
      H5P_class_t classIN: Property list class from which to remove + permanent property
      const char *nameIN: Name of property to remove
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pclose_list + +
    Signature: +
    herr_t H5Pclose_list( + hid_t plist + ) + +
    Purpose: +
    Closes a property list. + +
    Description: +
    H5Pclose_list closes a property list. + +

    + If a close callback exists for the property list class, + it is called before the property list is destroyed. + If close callbacks exist for any individual properties + in the property list, they are called after the class + close callback. + +

    Parameters: +
      + + +
      hid_t plist + IN: Property list to close
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    +
    Name: H5Pclose_class + +
    Signature: +
    herr_t H5Pclose_class( + hid_t class + ) + +
    Purpose: +
    Closes an existing property list class. + +
    Description: +
    Removes a property list class from the library. + +

    + Existing property lists of this class will continue to exist, + but new ones are not able to be created. + +

    Parameters: +
      + + + +
      hid_t classIN: Property list class to close
    + +
    Returns: +
    Success: a non-negative value +
    Failure: a negative value + + + +
    + + +
    +
    Name: H5Pget_version
    Signature:
    herr_t H5Pget_version(hid_t plist, @@ -3974,6 +5577,119 @@ fid=H5Fcreate("PointA",H5F_ACC_TRUNC,H5P_DEFAULT,fapl);
    +
    +
    +
    Name: H5Pset_fclose_degree +
    Signature: +
    herr_t H5Pset_fclose_degree(hid_t fapl_id, + H5F_close_degree_t fc_degree) +
    Purpose: +
    Sets the file close degree. +
    Description: +
    H5Pset_fclose_degree sets the file close degree property fc_degree + in the file access property list fapl_id.  +

    The value of fc_degree determines how aggressively H5Fclose + deals with objects within a file that remain open when H5Fclose + is called to close that file.  fc_degree can have any one of + four valid values: +

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Degree nameH5Fclose behavior with no open object + in fileH5Fclose behavior with open object(s) + in file
    H5F_CLOSE_WEAKActual file is closed.Access to file identifier is terminated; actual file + close is delayed until all objects in file are closed
    H5F_CLOSE_SEMIActual file is closed.Function returns FAILURE
    H5F_CLOSE_STRONGActual file is closed.All open objects ramaining in the file are closed then + file is closed
    H5F_CLOSE_DEFAULTThe VFL driver chooses the behavior.  Currently, + all VFL drivers set this value to H5F_CLOSE_WEAK, except + for the MPI-I/O driver, which sets it to H5F_CLOSE_SEMI. +
    +
    +
    Parameters: +
    +
    hid_t fapl_id +
    IN: File access property list identifier. +
    H5F_close_degree_t fc_degree +
    IN: Pointer to a location containing the file close degree property, + the value of fc_degree. +
    +
    Returns: +
    Returns a non-negative value if successful. Otherwise returns a negative + value. + + +
    + + + +
    +
    +
    Name: H5Pget_fclose_degree +
    Signature: +
    herr_t H5Pget_fclose_degree(hid_t fapl_id, + H5F_close_degree_t fc_degree) +
    Purpose: +
    Returns the file close degree. +
    Description: +
    H5Pget_fclose_degree returns the current setting of the file + close degree property fc_degree in the file access property list + fapl_id.  +

    The value of fc_degree determines how aggressively H5Fclose + deals with objects within a file that remain open when H5Fclose + is called to close that file.  fc_degree can have any one of + four valid values as described above in H5Pset_fclose_degree. +

    Parameters: +
    +
    hid_t fapl_id +
    IN: File access property list identifier. +
    H5F_close_degree_t fc_degree +
    OUT: Pointer to a location to which to return the file close degree + property, the value of fc_degree. +
    +
    Returns: +
    Returns a non-negative value if successful. Otherwise returns a negative + value. + + +
    + +