H5Lunpack_elink_val(
char *ext_linkval,
size_t link_size,
unsigned *flags,
const char **filename,
const char **obj_path
)
H5Lunpack_elink_val decodes the external link
information returned by H5Lget_val in
the ext_linkval buffer.
ext_linkval should be the buffer set by
H5Lget_val
and will consist of two NULL-terminated strings,
the filename and object path, one after the other.
Given this buffer, H5Lunpack_elink_val creates
pointers to the filename and object path within the buffer
and returns them in filename and obj_path,
unless they are passed in as NULL.
H5Lunpack_elink_val requires that ext_linkval
contain a concatenated pair of null-terminated strings, so use of
this function on a string that is not an external link
udata buffer may result in a segmentation fault.
This failure can be avoided by adhering to the following procedure:
H5Lget_info to get the link type
and the size of the link value.
H5L_TYPE_EXTERNAL.
H5Lget_val to get the link value.
H5Lunpack_elink_val to unpack that value.
const char *ext_linkval
|
IN: Buffer containing external link information |
size_t link_size
|
IN: Size, in bytes, of the ext_linkval
buffer
|
unsigned *flags
|
OUT: External link flags, packed as a bitmap
(Reserved as a bitmap for flags; no flags are currently defined, so the only valid value is 0.) |
const char **filename
|
OUT: Returned filename |
const char **obj_path
|
OUT: Returned object path, relative to
filename
|
| Release | C |
| 1.8.0 | Function introduced in this release. |