Last modified: 13 August 2009
Name: H5Lcreate_ud
Signature:
  herr_t `H5Lcreate_ud`( hid_t `link_loc_id`, const char *`link_name`, H5L_type_t `link_type`, const char *`udata`, size_t `udata_size`, hid_t `lcpl_id`, hid_t `lapl_id` )

Purpose:
  Creates a link of a user-defined type.

Description:
  `H5Lcreate_ud` creates a link of user-defined type `link_type` named `link_name` at the location specified in `link_loc_id` with user-specified data `udata`.

  `link_name` is interpreted relative to `link_loc_id`.

  Valid values for the link class of the new link, `link_type`, include `H5L_TYPE_EXTERNAL` and any user-defined link classes that have been registered with the library. See `H5Lregister` for further information.

  The format of the information pointed to by `udata` is defined by the user. `udata_size` specifies the size of the `udata` buffer. `udata` may be NULL if `udata_size` is zero (`0`).

  The property lists specified by `lcpl_id` and `lapl_id` specify properties used to create and access the link.

Note:
  The external link type, `H5L_TYPE_EXTERNAL`, included in the HDF5 Library distribution, is implemented as a user-defined link type. This was done, in part, to provide a model for the implementation of other user-defined links.

Parameters:

  hid_t `link_loc_id` | IN: Link location identifier
  const char *`link_name` | IN: Link name
  H5L_type_t `link_type` | IN: User-defined link class
  const char *`udata` | IN: User-supplied link information
  size_t `udata_size` | IN: Size of `udata` buffer
  hid_t `lcpl_id` | IN: Link creation property list identifier
  hid_t `lapl_id` | IN: Link access property list identifier

Returns:
  Returns a non-negative value if successful; otherwise returns a negative value.

Fortran90 Interface:
  None.

History:

  Release | C
  1.8.0 | Function introduced in this release.