summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Lf.c
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2008-04-30 19:51:13 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2008-04-30 19:51:13 (GMT)
commitaec106e324ce20e5efb725c25a6a333c7970127b (patch)
tree234df369115a46b08037c5f385061cf58823e497 /fortran/src/H5Lf.c
parent5773fd34bc5adf59b4530d95ac9f0c0585902803 (diff)
downloadhdf5-aec106e324ce20e5efb725c25a6a333c7970127b.zip
hdf5-aec106e324ce20e5efb725c25a6a333c7970127b.tar.gz
hdf5-aec106e324ce20e5efb725c25a6a333c7970127b.tar.bz2
[svn-r14903] Undoing change committed in r14902.
Diffstat (limited to 'fortran/src/H5Lf.c')
-rw-r--r--fortran/src/H5Lf.c817
1 files changed, 0 insertions, 817 deletions
diff --git a/fortran/src/H5Lf.c b/fortran/src/H5Lf.c
deleted file mode 100644
index 208ad19..0000000
--- a/fortran/src/H5Lf.c
+++ /dev/null
@@ -1,817 +0,0 @@
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic HDF5 document set and *
- * is linked from the top-level documents page. It can also be found at *
- * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-/* This files contains C stubs for H5L Fortran APIs */
-
-#include "H5f90.h"
-#include "H5Eprivate.h"
-
-/*----------------------------------------------------------------------------
- * Name: h5lcopy_c
- * Purpose: Call H5Lcopy
- * Inputs:
- * src_loc_id - Location identifier of the source link
- * src_name - Name of the link to be copied
- * src_namelen - length of the name
- * dest_loc_id - Location identifier specifying the destination of the copy
- * dest_name - Name to be assigned to the NEW copy
- * dest_namelen - Length of the name
- * loc_id - Identifier of the file or group containing the object
- * name - Name of the link to delete
- * lcpl_id - Link creation property list identifier
- * lapl_id - Link access property list identifier
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * January, 2008
- * Modifications:
- *---------------------------------------------------------------------------*/
-
-int_f
-nh5lcopy_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
- _fcd dest_name, size_t_f *dest_namelen,
- hid_t_f *lcpl_id, hid_t_f *lapl_id)
-{
- char *c_src_name = NULL;
- char *c_dest_name = NULL;
- int ret_value = 0;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_src_name = HD5f2cstring(src_name, (size_t)*src_namelen)) == NULL)
- HGOTO_DONE(FAIL);
- if((c_dest_name = HD5f2cstring(dest_name, (size_t)*dest_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Lcopy function.
- */
- if( H5Lcopy( (hid_t)*src_loc_id, c_src_name, (hid_t) *dest_loc_id,
- c_dest_name, (hid_t)*lcpl_id, (hid_t)*lapl_id ) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- if(c_src_name)
- HDfree(c_src_name);
- if(c_dest_name)
- HDfree(c_dest_name);
-
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lcreate_external_c
- * Purpose: Call H5Lcreate_external_c
- * Inputs:
- * file_name - Name of the file containing the target object. Neither the file nor the target object is
- * required to exist. May be the file the link is being created in.
- * obj_name - Path within the target file to the target object.
- * link_loc_id - The file or group identifier for the new link.
- * link_name - The name of the new link.
- * lcpl_id - Link creation property list identifier.
- * lapl_id - Link access property list identifier.
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * February 29, 2008
- * Modifications:
- *---------------------------------------------------------------------------*/
-
-int_f
-nh5lcreate_external_c(_fcd file_name, size_t_f *file_namelen, _fcd obj_name, size_t_f *obj_namelen,
- hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
- hid_t_f *lcpl_id, hid_t_f *lapl_id)
-
-{
- char *c_file_name = NULL;
- char *c_obj_name = NULL;
- char *c_link_name = NULL;
- int ret_value = 0;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_file_name = HD5f2cstring(file_name, (size_t)*file_namelen)) == NULL)
- HGOTO_DONE(FAIL);
- if((c_obj_name = HD5f2cstring(obj_name, (size_t)*obj_namelen)) == NULL)
- HGOTO_DONE(FAIL);
- if((c_link_name = HD5f2cstring(link_name, (size_t)*link_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Lcopy function.
- */
- if( H5Lcreate_external( c_file_name, c_obj_name, (hid_t) *link_loc_id, c_link_name,
- (hid_t) *lcpl_id, (hid_t) *lapl_id) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- if(c_file_name)
- HDfree(c_file_name);
- if(c_obj_name)
- HDfree(c_obj_name);
- if(c_link_name)
- HDfree(c_link_name);
-
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5ldelete_c
- * Purpose: Call H5Ldelete
- * Inputs:
- *
- * loc_id - Identifier of the file or group containing the object
- * name - Name of the link to delete
- * lapl_id - Link access property list identifier
- * namelen - length of name
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * January, 2008
- * Modifications:
- *---------------------------------------------------------------------------*/
-
-int_f
-nh5ldelete_c ( hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id )
-{
- char *c_name = NULL;
- int ret_value = 0;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_name = HD5f2cstring(name, (size_t)*namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Ldelete function.
- */
- if( H5Ldelete( (hid_t)*loc_id, c_name, (hid_t)*lapl_id ) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- if(c_name)
- HDfree(c_name);
-
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lcreate_soft_c
- * Purpose: Call H5Lcreate_soft
- * Inputs:
- *
- * target_path - Path to the target object, which is not required to exist.
- * link_loc_id - The file or group identifier for the new link.
- * link_name - The name of the new link.
- * lcpl_id - Link creation property list identifier.
- * lapl_id - Link access property list identifier.
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * February 20, 2008
- * Modifications:
- *---------------------------------------------------------------------------*/
-
-int_f
-nh5lcreate_soft_c(_fcd target_path, size_t_f *target_path_len,
- hid_t_f *link_loc_id,
- _fcd link_name, size_t_f *link_name_len,
- hid_t_f *lcpl_id, hid_t_f *lapl_id )
-{
- char *c_target_path = NULL;
- char *c_link_name = NULL;
- int ret_value = 0;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_target_path = HD5f2cstring(target_path, (size_t)*target_path_len)) == NULL)
- HGOTO_DONE(FAIL);
- if((c_link_name = HD5f2cstring(link_name, (size_t)*link_name_len)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Adelete function.
- */
- if ( H5Lcreate_soft(c_target_path,(hid_t)*link_loc_id, c_link_name, (hid_t)*lcpl_id, (hid_t)*lapl_id) < 0)
- HGOTO_DONE(FAIL);
-
- done:
- if(c_target_path)
- HDfree(c_target_path);
- if(c_link_name)
- HDfree(c_link_name);
-
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lcreate_hard_c
- * Purpose: Call H5Lcreate_hard
- * Inputs:
- * obj_loc_id - The file or group identifier for the target object.
- * obj_name - Name of the target object, which must already exist.
- * obj_namelen - Name length
- * link_loc_id - The file or group identifier for the new link.
- * link_name - The name of the new link.
- * link_namelen- Name length
- * lcpl_id - Link creation property list identifier.
- * lapl_id - Link access property list identifier.
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * February 27, 2008
- * Modifications:
- *---------------------------------------------------------------------------*/
-
-int_f
-nh5lcreate_hard_c(hid_t_f *obj_loc_id, _fcd obj_name, size_t_f *obj_namelen,
- hid_t_f *link_loc_id,
- _fcd link_name, size_t_f *link_namelen,
- hid_t_f *lcpl_id, hid_t_f *lapl_id )
-{
- char *c_obj_name = NULL;
- char *c_link_name = NULL;
- int ret_value = 0;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_obj_name = HD5f2cstring(obj_name, (size_t)*obj_namelen)) == NULL)
- HGOTO_DONE(FAIL);
- if((c_link_name = HD5f2cstring(link_name, (size_t)*link_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Lcreate_hard function.
- */
- if ( H5Lcreate_hard((hid_t)*obj_loc_id, c_obj_name, (hid_t)*link_loc_id, c_link_name, (hid_t)*lcpl_id, (hid_t)*lapl_id) < 0)
- HGOTO_DONE(FAIL);
-
- done:
- if(c_obj_name)
- HDfree(c_obj_name);
- if(c_link_name)
- HDfree(c_link_name);
-
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5ldelete_by_idx_c
- * Purpose: Calls h5ldelete_by_idx
- * Inputs:
- * loc_id - File or group identifier specifying location of subject group
- * group_name - Name of subject group
- * group_namelen - Name length
- * index_field - Type of index; Possible values are:
- * H5_INDEX_UNKNOWN_F = -1 - 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
- * order - Order within field or index; Possible values are:
- * 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
- * H5_ITER_N_F - Number of iteration orders
- * n - Link for which to retrieve information
- * lapl_id - Link access property list
- *
- * Outputs: N/A
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * February 29, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-int_f
-nh5ldelete_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
- int_f *index_field, int_f *order, size_t_f *n, hid_t_f *lapl_id)
-{
- char *c_group_name = NULL; /* Buffer to hold C string */
- H5_index_t c_index_field;
- H5_iter_order_t c_order;
- int_f ret_value = 0; /* Return value */
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_group_name = HD5f2cstring(group_name, (size_t)*group_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- c_index_field = (H5_index_t)*index_field;
- c_order = (H5_iter_order_t)*order;
-
- /*
- * Call H5Ldelete_by_name function.
- */
- if(H5Ldelete_by_idx((hid_t)*loc_id, c_group_name, c_index_field, c_order, (hsize_t)*n, (hid_t)*lapl_id) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- if(c_group_name)
- HDfree(c_group_name);
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lexists_c
- * Purpose: Calls H5Lexists
- * Inputs:
- * loc_id - Identifier of the file or group to query.
- * name - Link name to check
- * lapl_id - Link access property list identifier.
- * Outputs:
- * link_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * February 29, 2008
- * Modifications:
- *---------------------------------------------------------------------------*/
-int_f
-nh5lexists_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid_t_f *link_exists)
-{
- char *c_name = NULL; /* Buffer to hold C string */
- int_f ret_value = 0; /* Return value */
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_name = HD5f2cstring(name, (size_t)*namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Lexists function.
- */
- if((*link_exists = (hid_t_f)H5Lexists((hid_t)*loc_id, c_name, (hid_t)*lapl_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- if(c_name)
- HDfree(c_name);
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lget_info_c
- * Purpose: Call H5Lget_info
- * Inputs:
- * link_loc_id - File or group identifier.
- * link_name - Name of the link for which information is being sought
- * link_namelen - Name length
- * lapl_id - Link access property list
- * Outputs:
- *
- * cset - indicates the character set used for link’s name.
- * corder - specifies the link’s creation order position.
- * corder_valid - indicates whether the value in corder is valid.
- * link_type - specifies the link class:
- * H5L_LINK_HARD_F - Hard link
- * H5L_LINK_SOFT_F - Soft link
- * H5L_LINK_EXTERNAL_F - External link
- * H5L_LINK_ERROR_F - Error
- * address - If the link is a hard link, address specifies the file address that the link points to
- * val_size - If the link is a symbolic link, val_size will be the length of the link value
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * January, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-int_f
-nh5lget_info_c (hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
- int_f *cset, int_f *corder, int_f *corder_valid, int_f *link_type,
- int_f *address, hsize_t_f *val_size,
- hid_t_f *lapl_id)
-{
- char *c_link_name = NULL; /* Buffer to hold C string */
- int_f ret_value = 0; /* Return value */
- H5L_info_t link_buff;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_link_name = HD5f2cstring(link_name, (size_t)*link_namelen)) == NULL)
- HGOTO_DONE(FAIL);
- /*
- * Call H5Linfo function.
- */
- if(H5Lget_info((hid_t)*link_loc_id, c_link_name, &link_buff, (hid_t)*lapl_id) < 0)
- HGOTO_DONE(FAIL);
-
- /* Unpack the structure */
-
- *cset = (int_f)link_buff.cset;
- *corder = (int_f)link_buff.corder;
- *corder_valid = 0;
- if(link_buff.corder_valid > 0) *corder_valid = 1;
- *link_type = (int_f)link_buff.type;
- *address = (int_f)link_buff.u.address;
- *val_size = (hsize_t)link_buff.u.val_size;
-
-done:
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lget_info_by_idx_c
- * Purpose: Call H5Lget_info_by_idx
- * Inputs:
- * loc_id - File or group identifier specifying location of subject group
- * group_name - Name of subject group
- *group_namelen - Name length
- * index_field - Index or field which determines the order
- * order - Order within field or index
- * n - Link for which to retrieve information
- * lapl_id - Link access property list
- * Outputs:
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * January, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-int_f
-nh5lget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
- int_f *index_field, int_f *order, hsize_t_f *n,
- int_f *corder_valid, int_f *corder, int_f *cset, hsize_t_f *data_size, hid_t_f *lapl_id)
-{
- char *c_group_name = NULL; /* Buffer to hold C string */
- H5_index_t c_index_field;
- H5_iter_order_t c_order;
- int_f ret_value = 0; /* Return value */
- H5L_info_t link_buff;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_group_name = HD5f2cstring(group_name, (size_t)*group_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- c_index_field = (H5_index_t)*index_field;
- c_order = (H5_iter_order_t)*order;
- /*
- * Call H5Linfo_by_idx function.
- */
- if(H5Lget_info_by_idx((hid_t)*loc_id, c_group_name, c_index_field, c_order, (hsize_t)*n,
- &link_buff, (hid_t)*lapl_id) < 0)
- HGOTO_DONE(FAIL);
-
- /* Unpack the structure */
-
- *corder_valid = 0;
- if(link_buff.corder_valid > 0) *corder_valid = 1;
-
- *corder = (int_f)link_buff.corder;
- *cset = (int_f)link_buff.cset;
- *data_size = (hsize_t)link_buff.u.val_size;
-
-done:
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: H5Lis_registered_c
- * Purpose: Call H5Lis_registered
- * Inputs:
- * link_cls_id - User-defined link class identifier
- * Outputs: NONE
- *
- * Returns: Returns a positive value if the link class has been registered
- * and zero if it is unregistered. Otherwise returns a negative value
- * Programmer: M.S. Breitenfeld
- * March 3, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-int_f
-nh5lis_registered_c(int_f *link_cls_id)
-{
- int_f ret_value = 0; /* Return value */
- H5L_type_t c_link_cls_id; /* User-defined link class identifier */
- htri_t registered; /* registration status */
-
-
- c_link_cls_id = (H5L_type_t)*link_cls_id;
- /*
- * Call H5Lis_registered
- */
- registered = H5Lis_registered(c_link_cls_id);
-
- ret_value = (int_f)registered;
-
- return ret_value;
-}
-
-
-/*----------------------------------------------------------------------------
- * Name: h5lmove_c
- * Purpose: Call H5Lmove
- * Inputs:
- * src_loc_id - Original file or group identifier.
- * src_name - Original link name.
- * src_namelen - name length
- * dest_loc_id - Destination file or group identifier.
- * dest_name - NEW link name.
- * dest_namelen - name length
- * Outputs:
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * March 3, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-int_f
-nh5lmove_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
- _fcd dest_name, size_t_f *dest_namelen, hid_t_f *lcpl_id, hid_t_f *lapl_id)
-
-{
- char *c_src_name = NULL; /* Buffer to hold C string */
- char *c_dest_name = NULL; /* Buffer to hold C string */
- int_f ret_value = 0; /* Return value */
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_src_name = HD5f2cstring(src_name, (size_t)*src_namelen)) == NULL)
- HGOTO_DONE(FAIL);
- if((c_dest_name = HD5f2cstring(dest_name, (size_t)*dest_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Lmove function.
- */
- if(H5Lmove((hid_t)*src_loc_id, c_src_name, (hid_t)*dest_loc_id,
- c_dest_name, (hid_t)*lcpl_id, (hid_t)*lapl_id) < 0)
- HGOTO_DONE(FAIL);
-done:
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lget_name_by_idx_c
- * Purpose: Call H5Lget_name_by_idx
- * Inputs:
- * loc_id - File or group identifier specifying location of subject group
- * group_name - Name of subject group
- * index_field - Index or field which determines the order
- * order - Order within field or index
- * n - Link for which to retrieve information
- * size - Maximum number of characters of link value to be returned.
- * lapl_id - Link access property list
- * Outputs:
- * name - Buffer in which link value is returned
- * size - The size of the link name on success
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * March 10, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-int_f
-nh5lget_name_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
- int_f *index_field, int_f *order, hsize_t_f *n,
- size_t_f *size, _fcd name, hid_t_f *lapl_id)
-{
- char *c_group_name = NULL; /* Buffer to hold C string */
- char *c_name = NULL; /* Buffer to hold C string */
- int_f ret_value = 0; /* Return value */
- size_t c_size;
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_group_name = HD5f2cstring(group_name, (size_t)*group_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- c_size = (size_t)*size + 1;
- /*
- * Allocate buffer to hold name of an attribute
- */
- if ((c_name = HDmalloc(c_size)) == NULL)
- HGOTO_DONE(FAIL);
-
- if((*size = (size_t)H5Lget_name_by_idx((hid_t)*loc_id, c_group_name, (H5_index_t)*index_field,
- (H5_iter_order_t)*order, (hsize_t)*n,c_name, c_size, (hid_t)*lapl_id)) < 0)
- HGOTO_DONE(FAIL);
-
- /*
- * Convert C name to FORTRAN and place it in the given buffer
- */
- if(c_name != NULL)
- HD5packFstring(c_name, _fcdtocp(name), c_size-1);
-done:
- if(c_group_name) HDfree(c_group_name);
- if(c_name) HDfree(c_name);
- return ret_value;
-}
-
-/*----------------------------------------------------------------------------
- * Name: h5lget_val_c
- * Purpose: Call H5Lget_val
- * Inputs:
- * link_loc_id - File or group identifier.
- * link_name - Name of the link for which valrmation is being sought
- * link_namelen - Name length
- * size - Maximum number of characters of link value to be returned.
- * lapl_id - Link access property list
- * Outputs:
- * linkval_buff - The buffer to hold the returned link value.
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * March 3, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-/* int_f */
-/* nh5lget_val_c (hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, */
-/* size_t_f *size, _fcd linkval_buff, */
-/* hid_t_f *lapl_id) */
-/* { */
-/* char *c_link_name = NULL; /\* Buffer to hold C string *\/ */
-/* int_f ret_value = 0; /\* Return value *\/ */
-/* void *c_linkval_buff = NULL; */
-
-/* /\* */
-/* * Convert FORTRAN name to C name */
-/* *\/ */
-/* if((c_link_name = HD5f2cstring(link_name, (size_t)*link_namelen)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* /\* */
-/* * Call H5Lval function. */
-/* *\/ */
-/* if(H5Lget_val((hid_t)*link_loc_id, c_link_name, &linkval_buff, (size_t)*size, (hid_t)*lapl_id) < 0) */
-/* HGOTO_DONE(FAIL); */
-/* /\* */
-/* * Convert C name to FORTRAN */
-/* *\/ */
-/* HD5packFstring(c_buf, _fcdtocp(buf), c_bufsize-1); */
-
-
-/* done: */
-/* return ret_value; */
-/* } */
-
-
-/*----------------------------------------------------------------------------
- * Name: H5Lregistered_c
- * Purpose: Call H5Lregistered
- * Inputs:
- *
- * Inputs:
- * version - Version number of this struct
- * class_id - Link class identifier
- * comment - Comment for debugging
- * comment_len - Comment for debugging
- * create_func - Callback during link creation
- * create_func_len - length
- * move_func - Callback after moving link
- * move_func_len - length
- * copy_func - Callback after copying link
- * copy_func_len - length
- * trav_func - The main traversal function
- * trav_func_len - length
- * del_func - Callback for link deletion
- * del_func_len - length
- * query_func - Callback for queries
- * query_func_len - length
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * February 3, 2008
- * Modifications:
- *---------------------------------------------------------------------------*/
-
-/* int_f */
-
-/* nh5lregistered_c(int_f *version, int_f *class_id, */
-/* _fcd comment, size_t_f *comment_len, */
-/* _fcd create_func, size_t_f *create_func_len, */
-/* _fcd move_func, size_t_f *move_func_len, */
-/* _fcd copy_func, size_t_f *copy_func_len, */
-/* _fcd trav_func, size_t_f *trav_func_len, */
-/* _fcd del_func , size_t_f *del_func_len, */
-/* _fcd query_func, size_t_f *query_func_len) */
-/* { */
-/* char *c_comment = NULL; */
-/* char *c_create_func = NULL; */
-/* char *c_move_func = NULL; */
-/* char *c_copy_func = NULL; */
-/* char *c_trav_func = NULL; */
-/* char *c_del_func = NULL; */
-/* char *c_query_func = NULL; */
-
-/* H5L_class_t class_t; */
-
-/* int ret_value = 0; */
-
-/* /\* */
-/* * Convert FORTRAN name to C name */
-/* *\/ */
-/* if((c_comment = HD5f2cstring(c_comment, (size_t)*sc_comment_len)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* if((c_create_func = HD5f2cstring(c_create_func, (size_t)*c_create_func_len)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* if((c_move_func = HD5f2cstring(c_move_func, (size_t)*sc_move_func_len)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* if((c_copy_func = HD5f2cstring(c_copy_func, (size_t)*c_copy_func_len)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* if((c_trav_func = HD5f2cstring(c_trav_func, (size_t)*sc_trav_func_len)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* if((c_del_func = HD5f2cstring(c_del_func, (size_t)*c_del_func_len)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* if((c_query_func = HD5f2cstring(c_query_func, (size_t)*c_query_func_len)) == NULL) */
-/* HGOTO_DONE(FAIL); */
-/* /\* */
-/* * Pack into C struct H5L_class_t */
-/* *\/ */
-/* int version; /\* Version number of this struct *\/ */
-/* H5L_type_t class_id; /\* Link class identifier *\/ */
-/* const char *comment; /\* Comment for debugging *\/ */
-/* H5L_create_func_t create_func; /\* Callback during link creation *\/ */
-/* H5L_move_func_t move_func; /\* Callback after moving link *\/ */
-/* H5L_copy_func_t copy_func; /\* Callback after copying link *\/ */
-/* H5L_traverse_func_t trav_func; /\* The main traversal function *\/ */
-/* H5L_delete_func_t del_func; /\* Callback for link deletion *\/ */
-/* H5L_query_func_t query_func; /\* Callback for queries *\/ */
-
-/* class_t.version = (int)*version; */
-/* class_t.class_id = (H5L_type_t)*class_id; */
-/* class_t.comment = c_comment; */
-/* class_t. */
-
-/* /\* */
-/* * Call H5Lcopy function. */
-/* *\/ */
-/* if( H5Lcopy( (hid_t)*src_loc_id, c_src_name, (hid_t) *dest_loc_id, */
-/* c_dest_name, (hid_t)*lcpl_id, (hid_t)*lapl_id ) < 0) */
-/* HGOTO_DONE(FAIL); */
-
-/* done: */
-/* if(c_src_name) */
-/* HDfree(c_src_name); */
-/* if(c_dest_name) */
-/* HDfree(c_dest_name); */
-
-/* return ret_value; */
-/* } */
-
-/*----------------------------------------------------------------------------
- * Name: h5lget_val_c
- * Purpose: Call H5Lget_val_c
- * Inputs:
- * link_loc_id - File or group identifier.
- * link_name - Link whose value is to be returned.
- * link_name_len - length of link_name
- * size - Maximum number of characters of link value to be returned.
- * lapl_id - List access property list identifier
- * Outputs:
- * linkval_buff - The buffer to hold the returned link value.
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M.S. Breitenfeld
- * April 11, 2008
- * Modifications: N/A
- *---------------------------------------------------------------------------*/
-int_f
-nh5lget_val_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, size_t_f *size,
- void *linkval_buff, hid_t_f *lapl_id)
-{
- int_f ret_value = 0; /* Return value */
- char *c_link_name = NULL; /* Buffer to hold C string */
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_link_name = HD5f2cstring(link_name, (size_t)*link_namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Lget_val
- */
-
- if(H5Lget_val( (hid_t)*link_loc_id, c_link_name, &linkval_buff, (size_t)*size, (hid_t)*lapl_id )< 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-