globus_list_t*globus_rsl_boolean_get_operand_list(globus_rsl_t*ast_node)
Get the RSL operand list from a boolean RSL composition. The globus_rsl_boolean_get_operand_list()
function returns the list of RSL syntax tree nodes that is joined by a boolean composition.
Parametersast_node The RSL syntax tree to inspect.
Returns
Upon success, globus_rsl_boolean_get_operand_list() returns a pointer to a list of RSL syntax tree
nodes that are the operand of a boolean composition operation. If an error occurs,
globus_rsl_boolean_get_operand_list() returns NULL.
globus_list_t**globus_rsl_boolean_get_operand_list_ref(globus_rsl_t*boolean_node)
Get a reference to the RSL operand list from a boolean RSL composition. The
globus_rsl_boolean_get_operand_list_ref() function returns a pointer to the list of RSL syntax tree nodes
that is joined by a boolean composition. If this list is modified, then the value of boolean syntax tree
is modified.
Parametersboolean_node The RSL syntax tree to inspect.
Returns
Upon success, globus_rsl_boolean_get_operand_list_ref() returns a pointer to the list pointer in the
RSL syntax tree data structure. This list can be modified to change the oprands of the boolean
operation. If an error occurs, globus_rsl_boolean_get_operand_list_ref() returns NULL.
intglobus_rsl_boolean_get_operator(globus_rsl_t*ast_node)
Get the RSL operator used in a boolean RSL composition. The globus_rsl_boolean_get_operator() function
returns the operator that is used by the boolean RSL composition.
Parametersast_node The RSL syntax tree to inspect.
Returns
Upon success, globus_rsl_boolean_get_operator() returns one of GLOBUS_RSL_AND, GLOBUS_RSL_OR,
GLOBUS_RSL_MULTIREQ. If an error occurs, globus_rsl_boolean_get_operator() returns -1.
char*globus_rsl_relation_get_attribute(globus_rsl_t*ast_node)
Get an RSL relation attribute name. The globus_rsl_relation_get_attribute() function returns a pointer to
the name of the attribute in an RSL relation. This return value is a shallow reference to the attribute
name.
Parametersast_node The RSL relation node to inspect.
Returns
Upon success, globus_rsl_relation_get_attribute() returns a pointer to the name of the attribute of
the relation. If an error occurs, globus_rsl_relation_get_attribute() returns NULL.
intglobus_rsl_relation_get_operator(globus_rsl_t*ast_node)
Get an RSL relation operator. The globus_rsl_relation_get_operator() function returns the operation type
represented by the RSL relation node pointed to by the ast_node parameter.
Parametersast_node The RSL relation node to inspect.
Returns
Upon success, globus_rsl_relation_get_operator() returns one of GLOBUS_RSL_EQ, GLOBUS_RSL_NEQ,
GLOBUS_RSL_GT, GLOBUS_RSL_GTEQ, GLOBUS_RSL_LT, or GLOBUS_RSL_LTEQ. If an error occurs,
globus_rsl_relation_get_operator() returns -1.
globus_rsl_value_t*globus_rsl_relation_get_single_value(globus_rsl_t*ast_node)
Get the single value of an RSL relation. The globus_rsl_relation_get_single_value() function returns the
value of an RSL relation node pointed to by the ast_node parameter if the value is a sequence of one
value.
Parametersast_node The RSL relation node to inspect.
Returns
Upon success, globus_rsl_relation_get_single_value() returns the value pointer at the head of the RSL
relation pointed to by the ast_node parameter. If the value sequence has more than one value or the
ast_node points to an RSL syntax tree that is not a relation,
globus_rsl_relation_get_value_sequence() returns NULL.
globus_rsl_value_t*globus_rsl_relation_get_value_sequence(globus_rsl_t*ast_node)
Get the value of an RSL relation. The globus_rsl_relation_get_value_sequence() function returns the value
of an RSL relation node pointed to by the ast_node parameter.
Parametersast_node The RSL relation node to inspect.
Returns
Upon success, globus_rsl_relation_get_value_sequence() returns the value sequence pointer in the RSL
relation pointed to by the ast_node parameter. If an error occurs,
globus_rsl_relation_get_value_sequence() returns NULL.
globus_rsl_value_t*globus_rsl_value_concatenation_get_left(globus_rsl_value_t*concatenation_node)
Get the left side of a concatenation value. The globus_rsl_value_concatenation_get_left() function
returns the left side of an RSL value concatenation pointed to by the concatenation_node parameter.
Parametersconcatenation_node The RSL concatenation node to inspect.
Returns
Upon success, globus_rsl_value_concatenation_get_left() returns a pointer to the left value of the
concatenation values pointed to by the concatenation_node parameter. If an error occurs,
globus_rsl_value_concatenation_get_left() returns NULL.
globus_rsl_value_t*globus_rsl_value_concatenation_get_right(globus_rsl_value_t*concatenation_node)
Get the right side of a concatenation value. The globus_rsl_value_concatenation_get_right() function
returns the right side of an RSL value concatenation pointed to by the concatenation_node parameter.
Parametersconcatenation_node The RSL concatenation node to inspect.
Returns
Upon success, globus_rsl_value_concatenation_get_right() returns a pointer to the right value of the
concatenation values pointed to by the concatenation_node parameter. If an error occurs,
globus_rsl_value_concatenation_get_right() returns NULL.
char*globus_rsl_value_literal_get_string(globus_rsl_value_t*literal_node)
Get the string value of an RSL literal. The globus_rsl_value_literal_get_string() function returns the
string value of an RSL literal node pointed to by the literal_node parameter.
Parametersliteral_node The RSL literal node to inspect.
Returns
Upon success, globus_rsl_value_literal_get_string() returns a pointer to the string value of the
literal pointed to by the literal_node parameter. If the value is not a literal,
globus_rsl_value_literal_get_string() returns NULL.
globus_list_t**globus_rsl_value_sequence_get_list_ref(globus_rsl_value_t*sequence_node)
Get a reference to the list of values in a sequence. The globus_rsl_value_sequence_get_list_ref()
function returns a reference to the list of values in a value sequence. Any changes to the elements of
this list will affect the sequence_node parameter.
Parameterssequence_node The RSL sequence node to inspect.
Returns
Upon success, globus_rsl_value_sequence_get_list_ref() returns a pointer to the list of the
globus_rsl_value_t pointer values contained in the sequence_node parameter. If an error occurs,
globus_rsl_value_sequence_get_list_ref() returns NULL.
globus_list_t*globus_rsl_value_sequence_get_value_list(globus_rsl_value_t*sequence_node)
Get the value list from an RSL value sequence. The globus_rsl_value_sequence_get_value_list() function
returns the list of globus_rsl_value_t pointer values associated with the RSL value sequence pointed to
by the sequence_node parameter.
Parameterssequence_node The RSL sequence node to inspect.
Returns
Upon success, globus_rsl_value_sequence_get_value_list() returns a pointer to the list of values
pointed to by the sequence_node parameter. If the value is not a sequence,
globus_rsl_value_literal_get_string() returns NULL.
char*globus_rsl_value_variable_get_default(globus_rsl_value_t*variable_node)
Get the default value of an RSL variable reference. The globus_rsl_value_variable_get_default() function
returns a pointer to the default value of the RSL variable pointed to by the variable_node parameter to
use if the variable's name is not bound in the current evaluation context.
Parametersvariable_node The RSL variable node to inspect.
Returns
Upon success, globus_rsl_value_variable_get_default() returns a pointer to the string containing the
default value of the variable referenced by the variable_node parameter. If the node is not a
variable reference or no default value exists in the RSL node,
globus_rsl_value_variable_get_default() returns NULL.
char*globus_rsl_value_variable_get_name(globus_rsl_value_t*variable_node)
Get the name of an RSL variable reference. The globus_rsl_value_variable_get_name() function returns a
pointer to the name of the RSL variable name pointed to by the variable_node parameter.
Parametersvariable_node The RSL variable node to inspect.
Returns
Upon success, globus_rsl_value_variable_get_name() returns a pointer to the string containing the
name of the variable referenced by the variable_node parameter. If the node is not a variable
reference, globus_rsl_value_variable_get_sequence() returns NULL.
globus_rsl_value_t*globus_rsl_value_variable_get_sequence(globus_rsl_value_t*variable_node)
Get the value sequence from an RSL variable reference. The globus_rsl_value_variable_get_sequence()
function returns the sequence value associated with the RSL variable reference pointed to by the
variable_node parameter.
Parametersvariable_node The RSL variable node to inspect.
Returns
Upon success, globus_rsl_value_variable_get_sequence() returns a pointer to the rsl value sequence
pointed to by the variable_node parameter. If the value is not a variable reference,
globus_rsl_value_variable_get_sequence() returns NULL.
intglobus_rsl_value_variable_get_size(globus_rsl_value_t*variable_node)
Get the size of the value list within an RSL variable reference node. The
globus_rsl_value_variable_get_size() function returns the number of nodes in the RSL variable reference
node pointed to by the variable_node parameter.
Parametersvariable_node The RSL variable node to inspect.
Returns
Upon success, globus_rsl_value_variable_get_size() returns the list of values within a RSL variable
reference, or -1 if the node pointed to by variable_node is not a variable reference. If the return
value is 1, then the variable has no default value included in the reference.