globus_rsl_accessor(3)

πŸ“¦
version 11.4 Β· 5 versions
, in epel 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

okay so this is globus_rsl_accessor(3) from the Library Functions Manual β€” and it's literally all about RSL Accessor Functions πŸ’…

globus_rsl_accessor β€” RSL Accessor Functions.

Also, just so we're clear, the description is: RSL Accessor Functions. That's the whole vibe. ✨


✨ SYNOPSIS ✨

🌸 Functions 🌸

  • int globus_rsl_boolean_get_operator (globus_rsl_t *ast_node) β€” get the RSL operator used in a boolean RSL composition, bestie πŸ”₯
  • 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 *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 🫢
  • 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_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 πŸŽ€

πŸ¦‹ Detailed Description πŸ¦‹

RSL Accessor Functions.

That's the whole description, no cap. It's giving "these are the accessor functions for RSL" and honestly? Iconic. πŸ’…

part 2 coming next, no cap 🫢

✨ Function Documentation ✨


🌸 globus_list_t * globus_rsl_boolean_get_operand_list (globus_rsl_t * ast_node)

Okay bestie, this one grabs the RSL operand list out of a boolean RSL composition. Like, it hands you back the list of RSL syntax tree nodes that are joined together by a boolean composition. it's giving "here are all the lil pieces that got AND-ed or OR-ed together" πŸ’…

Parameters

  • ast_node β€” the RSL syntax tree you wanna peek at πŸ”

Returns

When it works, globus_rsl_boolean_get_operand_list() hands back a pointer to a list of RSL syntax tree nodes that are the operands of a boolean composition operation. If something goes sideways, globus_rsl_boolean_get_operand_list() returns NULL. no cap 🫢


🌸 globus_list_t ** globus_rsl_boolean_get_operand_list_ref (globus_rsl_t * boolean_node)

This is the ref version, and the way that it's different is lowkey iconic: it gives you a pointer to the list of RSL syntax tree nodes joined by a boolean composition β€” but it's a reference, so if you go and modify that list, then the value of the boolean syntax tree gets modified too. main character energy, editing in place πŸ’–

Parameters

  • boolean_node β€” the RSL syntax tree you're inspecting

Returns

Upon success, globus_rsl_boolean_get_operand_list_ref() returns a pointer to the list pointer inside the RSL syntax tree data structure. You can modify this list to change the operands of the boolean operation. If an error occurs, globus_rsl_boolean_get_operand_list_ref() returns NULL.


🌸 int globus_rsl_boolean_get_operator (globus_rsl_t * ast_node)

Get the RSL operator used in a boolean RSL composition. globus_rsl_boolean_get_operator() returns whichever operator the boolean RSL composition is using β€” like, which flavor of boolean logic we're dealing with πŸ”₯

Parameters

  • ast_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)

Grab an RSL relation attribute name. globus_rsl_relation_get_attribute() returns a pointer to the name of the attribute in an RSL relation. Heads up bestie β€” this return value is a shallow reference to the attribute name, so it's not a copy, it's just pointing at the original πŸŽ€

Parameters

  • ast_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.


🌸 int globus_rsl_relation_get_operator (globus_rsl_t * ast_node)

Get an RSL relation operator. globus_rsl_relation_get_operator() returns the operation type represented by the RSL relation node that ast_node points to. it's giving comparison o'clock ⭐

Parameters

  • ast_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. globus_rsl_relation_get_single_value() returns the value of an RSL relation node that ast_node points to β€” but only if the value is a sequence of exactly one value. one and done, periodt πŸ’…

Parameters

  • ast_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.

ngl that last bit says globus_rsl_relation_get_value_sequence() and we're keeping it exactly like that, no editing fr fr 😭

🌸 globus_rsl_value_t * globus_rsl_relation_get_value_sequence (globus_rsl_t * ast_node)

Get the value of an RSL relation. globus_rsl_relation_get_value_sequence() returns the value of an RSL relation node pointed to by the ast_node parameter. the whole sequence, not just one lil guy πŸ¦‹

Parameters

  • ast_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. globus_rsl_value_concatenation_get_left() returns the left side of an RSL value concatenation pointed to by the concatenation_node parameter. left girlies rise up πŸ’œ

Parameters

  • concatenation_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. globus_rsl_value_concatenation_get_right() returns the right side of an RSL value concatenation pointed to by the concatenation_node parameter. and now the right side gets its moment 🌈

Parameters

  • concatenation_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. globus_rsl_value_literal_get_string() returns the string value of an RSL literal node pointed to by the literal_node parameter. yes, the actual string, the tea, the content πŸ“

Parameters

  • literal_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. globus_rsl_value_sequence_get_list_ref() returns a reference to the list of values in a value sequence. And bestie, pay attention: any changes to the elements of this list will affect the sequence_node parameter. it's a live wire, not a copy πŸ”₯

Parameters

  • sequence_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. globus_rsl_value_sequence_get_value_list() returns the list of globus_rsl_value_t pointer values associated with the RSL value sequence pointed to by the sequence_node parameter.

Parameters

  • sequence_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.

okay so yeah, the original really does name a different function here (globus_rsl_value_literal_get_string()) and we are NOT fixing it, we're preserving it exactly, iykyk πŸ™ˆ

🌸 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_variable_get_default() returns a pointer to the default value of the RSL variable pointed to by the variable_node parameter β€” the value to use if the variable's name isn't bound in the current evaluation context. like a lil fallback fit for when nothing else matches πŸ‘‘

Parameters

  • variable_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. globus_rsl_value_variable_get_name() returns a pointer to the name of the RSL variable name pointed to by the variable_node parameter. give us the name bestie πŸ’…

Parameters

  • variable_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.

yep, another one where the doc points at a different function name (globus_rsl_value_variable_get_sequence()) β€” keeping it character for character, no cap 🫢

🌸 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. globus_rsl_value_variable_get_sequence() returns the sequence value associated with the RSL variable reference pointed to by the variable_node parameter.

Parameters

  • variable_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.


🌸 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_rsl_value_variable_get_size() returns the number of nodes in the RSL variable reference node pointed to by the variable_node parameter. counting the girlies in the list πŸ”’

Parameters

  • variable_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. ⭐


πŸ’– Author πŸ’–

Generated automatically by Doxygen for globus_rsl from the source code.


and that's a wrap on globus_rsl_accessor(3) bestie πŸŽ€βœ¨ this one's from Version 11.4 of globus_rsl, and you absolutely ate reading the whole thing. go forth and inspect those syntax trees, you icon πŸ«ΆπŸ’…πŸ‘‘

πŸ“¦ where this page comes from