Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
RSL Value Accessors

RSL Value Accessors. More...

Functions

int globus_rsl_value_concatenation_set_left (globus_rsl_value_t *concatenation_node, globus_rsl_value_t *new_left_node)
 Set the left-hand value of a concatenation. More...
 
int globus_rsl_value_concatenation_set_right (globus_rsl_value_t *concatenation_node, globus_rsl_value_t *new_right_node)
 Set the right-hand value of a concatenation. More...
 
int globus_rsl_value_list_param_get (globus_list_t *ast_node_list, int required_type, char ***value, int *value_ctr)
 Get the values of an RSL value list. More...
 
globus_list_tglobus_rsl_param_get_values (globus_rsl_t *ast_node, char *param)
 Get the list of values for an RSL attribute. More...
 
int globus_rsl_param_get (globus_rsl_t *ast_node, int param_type, char *param, char ***values)
 Get the value strings for an RSL attribute. More...
 

Detailed Description

RSL Value Accessors.

Function Documentation

int globus_rsl_param_get ( globus_rsl_t *  ast_node,
int  param_type,
char *  param,
char ***  values 
)

Get the value strings for an RSL attribute.

The globus_rsl_param_get() function searches the RSL parse tree pointed to by the ast_node parameter and returns an array of pointers to the strings bound to the attribute named by the param parameter.

Parameters
ast_nodeA pointer to an RSL syntax tree that will be searched. This may be a relation or boolean RSL string.
param_typeA flag indicating what type of values are expected for the RSL attribute named by the param parameter. This flag value may be GLOBUS_RSL_PARAM_SINGLE_LITERAL, GLOBUS_RSL_PARAM_MULTI_LITERAL, or GLOBUS_RSL_PARAM_SEQUENCE.
paramA string pointing to the name of of the RSL attribute to search for.
valuesAn output parameter pointing to an array of strings that will be allocated and contain pointers to the RSL value strings if they match the format specified by the param_type flag. The caller is responsible for freeing this array, but not the strings in the array.
Returns
Upon success, the globus_rsl_param_get() function returns GLOBUS_SUCCESS and modifies the values parameter as described above. If an error occurs, globus_rsl_param_get() returns a non-zero value.
globus_list_t* globus_rsl_param_get_values ( globus_rsl_t *  ast_node,
char *  param 
)

Get the list of values for an RSL attribute.

The globus_rsl_param_get_values() function searches the RSL parse tree pointed to by the ast_node parameter and returns the value list that is bound to the attribute named by the param parameter.

Parameters
ast_nodeA pointer to an RSL syntax tree that will be searched. This may be a relation or boolean RSL string.
paramThe name of the attribute to search for in the parse tree pointed to by the ast_node parameter.
Returns
Upon success, the globus_rsl_param_get_values() function returns a pointer to the list of values associated with the attribute named by param in the RSL parse tree pointed to by ast_node. If an error occurs, globus_rsl_param_get_values() returns NULL.
int globus_rsl_value_concatenation_set_left ( globus_rsl_value_t *  concatenation_node,
globus_rsl_value_t *  new_left_node 
)

Set the left-hand value of a concatenation.

The globus_rsl_value_concatenation_set_left() sets the left hand side of a concatenation pointed to by concatenation_node to the value pointed to by new_left_node. If there was any previous value to the left hand side of the concatenation, it is discarded but not freed.

Parameters
concatenation_nodeA pointer to the RSL value concatenation node to modify.
new_left_nodeA pointer to the new left hand side of the concatenation.
Returns
Upon success, globus_rsl_value_concatenation_set_left() returns GLOBUS_SUCCESS and modifies the value pointed to by the concatenation_node parameter to use the value pointed to by the new_left_node parameter as its left hand side value. If an error occurs, globus_rsl_value_concatenation_set_left() returns -1.
int globus_rsl_value_concatenation_set_right ( globus_rsl_value_t *  concatenation_node,
globus_rsl_value_t *  new_right_node 
)

Set the right-hand value of a concatenation.

The globus_rsl_value_concatenation_set_right() sets the right-hand side of a concatenation pointed to by concatenation_node to the value pointed to by new_right_node. If there was any previous value to the right-hand side of the concatenation, it is discarded but not freed.

Parameters
concatenation_nodeA pointer to the RSL value concatenation node to modify.
new_right_nodeA pointer to the new right hand side of the concatenation.
Returns
Upon success, globus_rsl_value_concatenation_set_right() returns GLOBUS_SUCCESS and modifies the value pointed to by the concatenation_node parameter to use the value pointed to by the new_right_node parameter as its right hand side value. If an error occurs, globus_rsl_value_concatenation_set_right() returns -1.
int globus_rsl_value_list_param_get ( globus_list_t ast_node_list,
int  required_type,
char ***  value,
int *  value_ctr 
)

Get the values of an RSL value list.

The globus_rsl_value_list_param_get() function copies pointers to literal string values or string pairs associated with the list of globus_rsl_value_t pointers pointed to by the ast_node_list parameter to the output array pointed to by the value parameter. It modifies the value pointed to by the value_ctr parameter to be the number of strings copied into the array.

Parameters
ast_node_listA pointer to a list of globus_rsl_value_t pointers whose values will be copied to the value parameter array.
required_typeA flag indicating whether the list is expected to contain literal strings or string pairs. This value may be one of GLOBUS_RSL_VALUE_LITERAL or GLOBUS_RSL_VALUE_SEQUENCE.
valueAn output parameter pointing to an array of strings. This array must be at least as large as the number of elements in the list pointed to by ast_node_list.
value_ctrAn output parameter pointing to an integer that will be incremented for each string copied into the value array.
Returns
Upon success, the globus_rsl_value_list_param_get() function returns GLOBUS_SUCCESS and modifies the values pointed to by the value and value_ctr prameters as described above. If an error occurs, globus_rsl_value_list_param_get() returns a non-zero value.