globus_rsl_param(3)

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

✨ 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 the param parameter. This flag value may be GLOBUS_RSL_PARAM_SINGLE_LITERAL, GLOBUS_RSL_PARAM_MULTI_LITERAL, or GLOBUS_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 the param_type flag. 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 the ast_node parameter.

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 of globus_rsl_value_t pointers whose values will be copied to the value parameter array.
  • required_type β€” A flag indicating whether the list is expected to contain literal strings or string pairs. This value may be one of GLOBUS_RSL_VALUE_LITERAL or GLOBUS_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 by ast_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 the value array.

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