globus_rsl.h(3)

globus_rsl.h πŸ’–

okay bestie, welcome to the Library Functions Manual page for globus_rsl.h β€” yes it's the Globus RSL Parsing header, and yes it's lowkey a whole vibe. RSL stands for Resource Specification Language btw, iykyk. let's get into it πŸ¦‹


✨ NAME ✨

globus_rsl.h β€” Globus RSL Parsing. that's it, that's the name, she's simple and she's iconic πŸ’…


✨ SYNOPSIS ✨

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

πŸŽ€ Functions πŸŽ€

  • int globus_rsl_is_relation (globus_rsl_t *ast) β€” RSL relation test. is this thing a relation? asking for a friend.
  • int globus_rsl_is_boolean (globus_rsl_t *ast) β€” RSL boolean test. boolean check, no cap.
  • int globus_rsl_is_relation_eq (globus_rsl_t *ast) β€” RSL equality operation test. is it giving ==?
  • int globus_rsl_is_relation_lessthan (globus_rsl_t *ast) β€” RSL less than operation test. is it giving <?
  • int globus_rsl_is_relation_attribute_equal (globus_rsl_t *ast, char *attribute) β€” RSL attribute name test. does this attribute name match? πŸ‘€
  • int globus_rsl_is_boolean_and (globus_rsl_t *ast) β€” RSL boolean and test. and energy.
  • int globus_rsl_is_boolean_or (globus_rsl_t *ast) β€” RSL boolean or test. or energy.
  • int globus_rsl_is_boolean_multi (globus_rsl_t *ast) β€” RSL boolean multi test. multi boolean, she contains multitudes.
  • 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. build urself a boolean bestie ✨
  • 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. deep copy = the whole entire tree, not just the vibes.
  • globus_rsl_value_t * globus_rsl_value_copy_recursive (globus_rsl_value_t *globus_rsl_value_ptr) β€” 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. a reference, ok, so she's pointing at the real thing.
  • 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 *sequence_node) β€” Get the value list from an RSL value sequence.
  • 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.
  • 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 *concatenation_node) β€” Get the left side of a concatenation value.
  • globus_rsl_value_t * globus_rsl_value_concatenation_get_right (globus_rsl_value_t *concatenation_node) β€” Get the right side of a concatenation value.
  • 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.
  • 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. yes, ALL of them.
  • 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. backwards but make it fashion πŸ’…
  • 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 ***values) β€” 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. that's the whole description bestie, she's mysterious, she's giving main character energy 🌈


🌸 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.

⚠️ heads up bestie: the caller is responsible for freeing that tree by calling globus_rsl_free_recursive(). don't just walk away from her, that's rude and also a memory leak 😭

Parameters

  • buf β€” A NULL-terminated string that contains an RSL relation or boolean composition.

Returns

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. not me getting NULL back and pretending I'm fine πŸ™ˆ


πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for globus_rsl from the source code. doxygen really said "I'll write it myself" and honestly? ate. ✨


and that's the page, bestie!! this was globus_rsl Version 11.4, straight from the globus_rsl library, and you just read the whole entire thing like the academic weapon you are πŸ’–πŸŽ€πŸ¦‹ go free your syntax trees (recursively!!) and slay the day, mwah πŸ’…

πŸ“¦ where this page comes from