Provided by: libglobus-rsl-doc_11.1-2_all bug


       globus_rsl.h - Globus RSL Parsing.


       #include 'globus_module.h'
       #include 'globus_list.h'
       #include 'globus_symboltable.h'
       #include 'globus_hashtable.h'

       int globus_rsl_is_relation (globus_rsl_t *ast)
           RSL relation test.
       int globus_rsl_is_boolean (globus_rsl_t *ast)
           RSL boolean test.
       int globus_rsl_is_relation_eq (globus_rsl_t *ast)
           RSL equality operation test.
       int globus_rsl_is_relation_lessthan (globus_rsl_t *ast)
           RSL less than operation test.
       int globus_rsl_is_relation_attribute_equal (globus_rsl_t *ast, char *attribute)
           RSL attribute name test.
       int globus_rsl_is_boolean_and (globus_rsl_t *ast)
           RSL boolean and test.
       int globus_rsl_is_boolean_or (globus_rsl_t *ast)
           RSL boolean or test.
       int globus_rsl_is_boolean_multi (globus_rsl_t *ast)
           RSL boolean multi test.
       int globus_rsl_value_is_literal (globus_rsl_value_t *ast)
           RSL literal string test.
       int globus_rsl_value_is_sequence (globus_rsl_value_t *ast)
           RSL value sequence test.
       int globus_rsl_value_is_variable (globus_rsl_value_t *ast)
           RSL value variable test.
       int globus_rsl_value_is_concatenation (globus_rsl_value_t *ast)
           RSL value concatenation test.
       globus_rsl_t * globus_rsl_make_boolean (int my_operator, globus_list_t *children)
           RSL boolean constructor.
       globus_rsl_t * globus_rsl_make_relation (int my_operator, char *attributename,
           globus_rsl_value_t *value_sequence)
           RSL relation constructor.
       globus_rsl_value_t * globus_rsl_value_make_literal (char *string)
           RSL literal constructor.
       globus_rsl_value_t * globus_rsl_value_make_sequence (globus_list_t *value_list)
           RSL value sequence constructor.
       globus_rsl_value_t * globus_rsl_value_make_variable (globus_rsl_value_t *sequence)
           RSL variable reference constructor.
       globus_rsl_value_t * globus_rsl_value_make_concatenation (globus_rsl_value_t *left_value,
           globus_rsl_value_t *right_value)
           RSL concatenation constructor.
       globus_rsl_t * globus_rsl_copy_recursive (globus_rsl_t *globus_rsl_ptr)
           Create a deep copy of an RSL syntax tree.
       globus_rsl_value_t * globus_rsl_value_copy_recursive (globus_rsl_value_t
           Create a deep copy of an RSL value.
       int globus_rsl_boolean_get_operator (globus_rsl_t *ast_node)
           Get the RSL operator used in a boolean RSL composition.
       globus_list_t * globus_rsl_boolean_get_operand_list (globus_rsl_t *ast_node)
           Get the RSL operand list from a boolean RSL composition.
       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.
       char * globus_rsl_relation_get_attribute (globus_rsl_t *ast_node)
           Get an RSL relation attribute name.
       int globus_rsl_relation_get_operator (globus_rsl_t *ast_node)
           Get an RSL relation operator.
       globus_rsl_value_t * globus_rsl_relation_get_value_sequence (globus_rsl_t *ast_node)
           Get the value of an RSL relation.
       globus_rsl_value_t * globus_rsl_relation_get_single_value (globus_rsl_t *ast_node)
           Get the single value of an RSL relation.
       char * globus_rsl_value_literal_get_string (globus_rsl_value_t *literal_node)
           Get the string value of an RSL literal.
       globus_list_t * globus_rsl_value_sequence_get_value_list (globus_rsl_value_t
           Get the value list from an RSL value sequence.
       globus_rsl_value_t * globus_rsl_value_variable_get_sequence (globus_rsl_value_t
           Get the value sequence from an RSL variable reference.
       char * globus_rsl_value_variable_get_name (globus_rsl_value_t *variable_node)
           Get the name of an RSL variable reference.
       char * globus_rsl_value_variable_get_default (globus_rsl_value_t *variable_node)
           Get the default value of an RSL variable reference.
       globus_rsl_value_t * globus_rsl_value_concatenation_get_left (globus_rsl_value_t
           Get the left side of a concatenation value.
       globus_rsl_value_t * globus_rsl_value_concatenation_get_right (globus_rsl_value_t
           Get the right side of a concatenation value.
       globus_list_t ** globus_rsl_value_sequence_get_list_ref (globus_rsl_value_t
           Get a reference to the list of values in a sequence.
       int globus_rsl_value_concatenation_set_left (globus_rsl_value_t *concatenate_node,
           globus_rsl_value_t *new_left_node)
           Set the left-hand value of a concatenation.
       int globus_rsl_value_concatenation_set_right (globus_rsl_value_t *concatenate_node,
           globus_rsl_value_t *new_right_node)
           Set the right-hand value of a concatenation.
       int globus_rsl_value_eval (globus_rsl_value_t *ast_node, globus_symboltable_t
           *symbol_table, char **string_value, int rsl_substitute_flag)
           Evaluate RSL substitions in an RSL value node.
       int globus_rsl_eval (globus_rsl_t *ast_node, globus_symboltable_t *symbol_table)
           Evaluate an RSL syntax tree.
       int globus_rsl_value_free (globus_rsl_value_t *val)
           Free an RSL value node.
       int globus_rsl_free (globus_rsl_t *ast_node)
           Free an RSL syntax tree node.
       int globus_rsl_value_free_recursive (globus_rsl_value_t *globus_rsl_value_ptr)
           Free an RSL value and all its child nodes.
       int globus_rsl_free_recursive (globus_rsl_t *ast_node)
           Free an RSL syntax tree and all its child nodes.
       int globus_rsl_value_print_recursive (globus_rsl_value_t *globus_rsl_value_ptr)
           Print the value of a globus_rsl_value_t to standard output.
       int globus_rsl_print_recursive (globus_rsl_t *ast_node)
           Print the value of an RSL syntax tree to standard output.
       int globus_rsl_value_variable_get_size (globus_rsl_value_t *variable_node)
           Get the size of the value list within an RSL variable reference node.
       globus_list_t * globus_list_copy_reverse (globus_list_t *orig)
           Create a reverse-order copy of a list.
       int globus_rsl_value_list_literal_replace (globus_list_t *value_list, char *string_value)
           Replace the first value in a value list with a literal.
       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.
       int globus_rsl_param_get (globus_rsl_t *ast_node, int required_type, char *param, char
           Get the value strings for an RSL attribute.
       globus_list_t * globus_rsl_param_get_values (globus_rsl_t *ast_node, char *param)
           Get the list of values for an RSL attribute.
       globus_rsl_t * globus_rsl_parse (char *rsl_spec)
           Parse an RSL string.
       char * globus_rsl_unparse (globus_rsl_t *rsl_spec)
           Convert an RSL parse tree to a string.
       char * globus_rsl_value_unparse (globus_rsl_value_t *rsl_value)
           Convert an RSL value pointer to a string.

Detailed Description

       Globus RSL Parsing.

Function Documentation

   globus_rsl_t* globus_rsl_parse (char * buf)
       Parse an RSL string. The globus_rsl_parse() function parses the string pointed to by the
       buf parameter into an RSL syntax tree. The caller is responsible for freeing that tree by
       calling globus_rsl_free_recursive().

           buf A NULL-terminated string that contains an RSL relation or boolean composition.

           Upon success, the globus_rsl_parse() function returns the parse tree generated by
           processing its input. If an error occurs, globus_rsl_parse() returns NULL.


       Generated automatically by Doxygen for globus_rsl from the source code.