globus_rsl_param(3)
β¨ NAME β¨
globus_rsl_param β RSL Value Accessors π
- RSL Value Accessors.
(also bestie, just so you know where you are: this page lives in the Library Functions Manual, and the thing you're reading is globus_rsl_param(3). ok carry on π«Ά)
π¦ SYNOPSIS π¦
Functions
int globus_rsl_value_concatenation_set_left (globus_rsl_value_t
*concatenation_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
*concatenation_node, globus_rsl_value_t *new_right_node)
Set the right-hand value of a concatenation.
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.
globus_list_t * globus_rsl_param_get_values (globus_rsl_t *ast_node,
char *param)
Get the list of values for an RSL attribute.
int globus_rsl_param_get (globus_rsl_t *ast_node, int param_type, char
*param, char ***values)
Get the value strings for an RSL attribute.
π« Detailed Description π«
RSL Value Accessors. that's the whole vibe, no cap. β¨
π Function Documentation π
π int globus_rsl_param_get (globus_rsl_t * ast_node, int param_type, char * param, char *** values)
Get the value strings for an RSL attribute. okay so the globus_rsl_param_get() function goes digging through the RSL parse tree that ast_node points at, and hands you back an array of pointers to the strings that are bound to the attribute named by param. it's giving personal shopper for parse trees, honestly ποΈ
Parameters
ast_nodeβ A pointer to an RSL syntax tree that will be searched. This may be a relation or boolean RSL string.param_typeβ A flag indicating what type of values are expected for the RSL attribute named by theparamparameter. This flag value may beGLOBUS_RSL_PARAM_SINGLE_LITERAL,GLOBUS_RSL_PARAM_MULTI_LITERAL, orGLOBUS_RSL_PARAM_SEQUENCE.paramβ A string pointing to the name of the RSL attribute to search for.valuesβ An output parameter pointing to an array of strings that will be allocated and contain pointers to the RSL value strings if they match the format specified by theparam_typeflag. The caller is responsible for freeing this array, but not the strings in the array. (read that twice bestie β free the array, not the strings inside it. the strings are not yours to free π)
Returns
Upon success, the globus_rsl_param_get() function returns GLOBUS_SUCCESS and modifies the values parameter as described above. If an error occurs, globus_rsl_param_get() returns a non-zero value.
πΈ globus_list_t * globus_rsl_param_get_values (globus_rsl_t * ast_node, char * param)
Get the list of values for an RSL attribute. The globus_rsl_param_get_values() function searches the RSL parse tree pointed to by the ast_node parameter and returns the value list that is bound to the attribute named by the param parameter. it's the same treasure hunt as above, except you get the whole list straight up, no copy, no middleman π
Parameters
ast_nodeβ A pointer to an RSL syntax tree that will be searched. This may be a relation or boolean RSL string.paramβ The name of the attribute to search for in the parse tree pointed to by theast_nodeparameter.
Returns
Upon success, the globus_rsl_param_get_values() function returns a pointer to the list of values associated with the attribute named by param in the RSL parse tree pointed to by ast_node. If an error occurs, globus_rsl_param_get_values() returns NULL. and like, NULL is the "no thoughts, head empty" of return values π
π¦ int globus_rsl_value_concatenation_set_left (globus_rsl_value_t * concatenation_node, globus_rsl_value_t * new_left_node)
Set the left-hand value of a concatenation. The globus_rsl_value_concatenation_set_left() sets the left hand side of a concatenation pointed to by concatenation_node to the value pointed to by new_left_node. If there was any previous value to the left hand side of the concatenation, it is discarded but not freed. π discarded, not freed β say it with me, that memory is still out there, you just can't reach it anymore.
Parameters
concatenation_nodeβ A pointer to the RSL value concatenation node to modify.new_left_nodeβ A pointer to the new left hand side of the concatenation.
Returns
Upon success, globus_rsl_value_concatenation_set_left() returns GLOBUS_SUCCESS and modifies the value pointed to by the concatenation_node parameter to use the value pointed to by the new_left_node parameter as its left hand side value. If an error occurs, globus_rsl_value_concatenation_set_left() returns -1.
π§ int globus_rsl_value_concatenation_set_right (globus_rsl_value_t * concatenation_node, globus_rsl_value_t * new_right_node)
Set the right-hand value of a concatenation. The globus_rsl_value_concatenation_set_right() sets the right-hand side of a concatenation pointed to by concatenation_node to the value pointed to by new_right_node. If there was any previous value to the right-hand side of the concatenation, it is discarded but not freed. yes bestie, same deal as the left one β discarded, not freed. the old value is just... gone, living its best un-freed life π«
Parameters
concatenation_nodeβ A pointer to the RSL value concatenation node to modify.new_right_nodeβ A pointer to the new right hand side of the concatenation.
Returns
Upon success, globus_rsl_value_concatenation_set_right() returns GLOBUS_SUCCESS and modifies the value pointed to by the concatenation_node parameter to use the value pointed to by the new_right_node parameter as its right hand side value. If an error occurs, globus_rsl_value_concatenation_set_right() returns -1.
π 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. The globus_rsl_value_list_param_get() function copies pointers to literal string values or string pairs associated with the list of globus_rsl_value_t pointers pointed to by the ast_node_list parameter to the output array pointed to by the value parameter. It modifies the value pointed to by the value_ctr parameter to be the number of strings copied into the array. it's giving "count the things as you copy them" and honestly? iconic π₯
Parameters
ast_node_listβ A pointer to a list ofglobus_rsl_value_tpointers whose values will be copied to thevalueparameter array.required_typeβ A flag indicating whether the list is expected to contain literal strings or string pairs. This value may be one ofGLOBUS_RSL_VALUE_LITERALorGLOBUS_RSL_VALUE_SEQUENCE.valueβ An output parameter pointing to an array of strings. This array must be at least as large as the number of elements in the list pointed to byast_node_list. β οΈ like, at least as large. you're the one allocating it, so pls allocate it big enough, this function is not gonna check for you.value_ctrβ An output parameter pointing to an integer that will be incremented for each string copied into thevaluearray.
Returns
Upon success, the globus_rsl_value_list_param_get() function returns GLOBUS_SUCCESS and modifies the values pointed to by the value and value_ctr parameters as described above. If an error occurs, globus_rsl_value_list_param_get() returns a non-zero value.
π Author π
Generated automatically by Doxygen for globus_rsl from the source code.
ok that's the whole page bestie, you ate it, no crumbs. this was globus_rsl, Version 11.4, and the page itself is globus_rsl_param(3) β go be the main character of your own parse tree ππ
π«Ά
π¦ 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