globus_rsl_constructors(3)
β¨ globus_rsl_constructors β RSL Constructors β¨
okay bestie, welcome to the globus_rsl_constructors(3) page π this is the part of the globus_rsl library that builds RSL parse tree nodes for you. It's giving factory vibes. It's giving "I make the tree, you enjoy the tree" energy. RSL Constructors. That's the whole name, that's the whole assignment. π
πΈ SYNOPSIS πΈ
Functions
globus_rsl_t * globus_rsl_make_boolean (int operator, globus_list_t *children)
globus_rsl_t * globus_rsl_make_relation (int operator, char *attributename,
globus_rsl_value_t *value_sequence)
globus_rsl_value_t * globus_rsl_value_make_literal (char *string)
globus_rsl_value_t * globus_rsl_value_make_sequence (globus_list_t *value_list)
globus_rsl_value_t * globus_rsl_value_make_variable (globus_rsl_value_t *sequence)
globus_rsl_value_t * globus_rsl_value_make_concatenation (globus_rsl_value_t *left_value,
globus_rsl_value_t *right_value)
globus_rsl_make_booleanβ RSL boolean constructor.globus_rsl_make_relationβ RSL relation constructor.globus_rsl_value_make_literalβ RSL literal constructor.globus_rsl_value_make_sequenceβ RSL value sequence constructor.globus_rsl_value_make_variableβ RSL variable reference constructor.globus_rsl_value_make_concatenationβ RSL concatenation constructor.
π DETAILED DESCRIPTION π
RSL Constructors. Six little functions, one big glow-up for your parse tree. Each one hands you back a brand new node, and β this is the β¨iconicβ¨ part β every single one of them keeps a shallow reference to the stuff you passed in. Not a copy. So don't go freeing your inputs and then acting surprised, bestie. π
π FUNCTION DOCUMENTATION π
globus_rsl_t * globus_rsl_make_boolean (int operator, globus_list_t * children)
RSL boolean constructor. The globus_rsl_make_boolean() function creates a boolean composition of the RSL nodes in the list pointed to by children. The new RSL node which is returned contains a reference to the list, not a copy. π
Parameters
operatorβ the boolean RSL operator to use to join the RSL parse tree list pointed to by thechildrenparameter. This value must be one ofGLOBUS_RSL_AND,GLOBUS_RSL_OR,GLOBUS_RSL_MULTIREQin order to create a valid RSL tree. No substitutions, no vibes-based guessing, just those three. π«Άchildrenβ pointer to a list of RSL syntax trees to combine with the boolean operation described by theoperatorparameter.
Returns
The globus_rsl_make_boolean() function returns a new RSL parse tree node that contains a shallow reference to the list of values pointed to by the children parameter joined by the operator value in the operator parameter. If an error occurs, globus_rsl_make_boolean() returns NULL. π
globus_rsl_t * globus_rsl_make_relation (int operator, char * attributename, globus_rsl_value_t * value_sequence)
RSL relation constructor. The globus_rsl_make_relation() function creates a relation between the attribute named by the attributename parameter and the values pointed to by the value_sequence list. The new RSL relation node which is returned contains a reference to the attributename and value_sequence parameters, not a copy. β¨
Parameters
operatorβ the RSL operator to use to relate the RSL attribute name pointed to by theattributenameparameter and the values pointed to by thevalue_sequenceparameter. This value must be one ofGLOBUS_RSL_EQ,GLOBUS_RSL_NEQ,GLOBUS_RSL_GT,GLOBUS_RSL_GTEQ,GLOBUS_RSL_LT, orGLOBUS_RSL_LTEQin order to create a valid RSL node. That's the whole guest list, no plus-ones. πattributenameβ pointer to a string naming the attribute of the new RSL relation.value_sequenceβ pointer to a sequence of RSL values to use in the new RSL relation.
Returns
The globus_rsl_make_relation() function returns a new RSL parse tree node that contains a shallow reference to the attribute name pointed to by the attributename parameter and the RSL value sequence pointed to by the value_sequence parameter. If an error occurs, globus_rsl_make_relation() returns NULL. π
globus_rsl_value_t * globus_rsl_value_make_concatenation (globus_rsl_value_t * left_value, globus_rsl_value_t * right_value)
RSL concatenation constructor. The globus_rsl_value_make_concatenation() function creates a concatenation of the values pointed to by the left_value and right_value parameters. The new node returned by this function contains a reference to these parameters' values, not a copy. π¦
Parameters
left_valueβ a pointer to a RSL value to act as the left side of the concatenation. This must be a string literal or variable reference.right_valueβ a pointer to a RSL value to act as the right side of the concatenation. This must be a string literal or variable reference.
Returns
The globus_rsl_value_make_concatenation() function returns a new RSL value node that contains a shallow reference to the values pointed to by the left_value and right_value parameters. If an error occurs, globus_rsl_value_make_concatenation() returns NULL. π
globus_rsl_value_t * globus_rsl_value_make_literal (char * string)
RSL literal constructor. The globus_rsl_value_make_literal() function creates a string literal RSL value node containing the value pointed to by the string parameter. The new RSL value node which is returned contains a reference to the string parameter, not a copy. π
Parameters
stringβ the literal string to be used in the new value.
Returns
The globus_rsl_value_make_literal() function returns a new RSL value node that contains a shallow reference to the string pointed to by the string parameter. If an error occurs, globus_rsl_value_make_literal() returns NULL. π
globus_rsl_value_t * globus_rsl_value_make_sequence (globus_list_t * value_list)
RSL value sequence constructor. The globus_rsl_value_make_sequence() function creates a value sequence RSL node referring to the values pointed to by the value_list parameter. The new node returned by this function contains a reference to the value_list parameter, not a copy. πΈ
Parameters
value_listβ a pointer to a list ofglobus_rsl_value_tpointers.
Returns
The globus_rsl_value_make_sequence() function returns a new RSL value node that contains a shallow reference to the list pointed to by the value_list parameter. If an error occurs, globus_rsl_value_make_sequence() returns NULL. π
globus_rsl_value_t * globus_rsl_value_make_variable (globus_rsl_value_t * sequence)
RSL variable reference constructor. The globus_rsl_value_make_variable() function creates a variable reference RSL node referring to the variable name contained in the value pointed to by the sequence parameter. The new node returned by this function contains a reference to the sequence parameter, not a copy. π§
Parameters
sequenceβ a pointer to a RSL value sequence.
Returns
The globus_rsl_value_make_variable() function returns a new RSL value node that contains a shallow reference to the value sequence pointed to by the sequence parameter. If an error occurs, globus_rsl_value_make_variable() returns NULL. π
π AUTHOR π
Generated automatically by Doxygen for globus_rsl from the source code. Not me writing fanfic, just Doxygen doing its lil thing. β¨
and that's the whole page, bestie!! π«Ά globus_rsl, Version 11.4, globus_rsl_constructors(3) β go forth and construct responsibly, shallow references and all. no cap. π
π
π¦ where this page comes from
- epel 10: globus-rsl-doc 11.4-1.el10_0 Β· Apache-2.0
- fedora 43: globus-rsl-doc 11.4-4.fc43 Β· Apache-2.0
- fedora 44: globus-rsl-doc 11.4-5.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-rsl-doc 11.4-2build2 Β· Apache-2.0
- ubuntu stonking: libglobus-rsl-doc 11.4-3 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms