NAME
RSL Predicates -
The functions in this group return boolean values indicating whether an
RSL syntax tree is of a particular type.
Functions
int globus_rsl_is_relation (globus_rsl_t *ast)
int globus_rsl_is_boolean (globus_rsl_t *ast)
int globus_rsl_is_relation_eq (globus_rsl_t *ast)
int globus_rsl_is_relation_lessthan (globus_rsl_t *ast)
int globus_rsl_is_relation_attribute_equal (globus_rsl_t *ast, char
*attribute)
int globus_rsl_is_boolean_and (globus_rsl_t *ast)
int globus_rsl_is_boolean_or (globus_rsl_t *ast)
int globus_rsl_is_boolean_multi (globus_rsl_t *ast)
int globus_rsl_value_is_literal (globus_rsl_value_t *ast)
int globus_rsl_value_is_sequence (globus_rsl_value_t *ast)
int globus_rsl_value_is_variable (globus_rsl_value_t *ast)
int globus_rsl_value_is_concatenation (globus_rsl_value_t *ast)
Detailed Description
The functions in this group return boolean values indicating whether an
RSL syntax tree is of a particular type.
Function Documentation
int globus_rsl_is_relation (globus_rsl_t * ast)
RSL relation test. The globus_rsl_is_relation() function tests whether
the the RSL pointed to by the ast parameter is a relation. The RSL
syntax supports the following relation operations:
= Equal
!= Not Equal
> Greater Than
>= Greater Than or Equal
< Less Than
<= Less Than or Equal
<= Less Than or Equal
Some examples of RSL relations are
’queue’ = ’debug’
’queue’ != ’slow’
’min_memory’ > ’1000’
’max_wall_time’ >= ’60’
’count < ’10’
’host_count’ <= ’5’
GRAM only supports equality relations.
Parameters:
ast Pointer to an RSL parse tree structure.
Returns:
The globus_rsl_is_relation() function returns GLOBUS_TRUE if the
RSL parse tree pointed to by ast is a relation; otherwise, it
returns GLOBUS_FALSE.
int globus_rsl_is_boolean (globus_rsl_t * ast)
RSL boolean test. The globus_rsl_is_boolean() function tests whether
the the RSL pointed to by the ast parameter is a boolean composition of
other RSL parse trees. The syntactically understood boolean
compositions are ’&’ (conjunction), ’|’ (disjunction), and ’+’ (multi-
request). Some bexamples of RSL booleans are
& ( ’queue’ = ’debug’) ( ’max_time’ = ’10000’)
| (’count’ = ’1’)(’count’ = ’10’)
+ ( &(’executable’ = ’1.exe’) ) ( & (’executable’ = ’2.exe’ )
Parameters:
ast Pointer to an RSL parse tree structure.
Returns:
The globus_rsl_is_boolean() function returns GLOBUS_TRUE if the RSL
parse tree pointed to by ast is a boolean composition; otherwise,
it returns GLOBUS_FALSE.
int globus_rsl_is_relation_eq (globus_rsl_t * ast)
RSL equality operation test. The globus_rsl_is_relation_eq() function
tests whether the the RSL pointed to by the ast parameter is an
equality relation. An example of an equality relation is
’queue’ = ’debug’
Parameters:
ast Pointer to an RSL parse tree structure.
Returns:
The globus_rsl_is_relation_eq() function returns GLOBUS_TRUE if the
RSL parse tree pointed to by ast is an equality relation;
otherwise, it returns GLOBUS_FALSE.
int globus_rsl_is_relation_lessthan (globus_rsl_t * ast)
RSL less than operation test. The globus_rsl_is_relation_lessthan()
function tests whether the the RSL pointed to by the ast parameter is a
less-than relation. An example of a less-than relation is
’count’ = ’10’
Parameters:
ast Pointer to an RSL parse tree structure.
Returns:
The globus_rsl_is_relation_lessthan() function returns GLOBUS_TRUE
if the RSL parse tree pointed to by ast is a less-than relation;
otherwise, it returns GLOBUS_FALSE.
int globus_rsl_is_relation_attribute_equal (globus_rsl_t * ast, char *
attribute)
RSL attribute name test. The globus_rsl_is_relation_attribute_equal()
function tests whether the the RSL pointed to by the ast parameter is a
relation with the attribute name which matches the string pointed to by
the attribute parameter. This attribute name comparision is case-
insensitive.
Parameters:
ast Pointer to an RSL parse tree structure.
attribute Name of the attribute to test
Returns:
The globus_rsl_is_relation_attribute_equal() function returns
GLOBUS_TRUE if the RSL parse tree pointed to by ast is a relation
and its attribute name matches the attribute parameter; otherwise,
it returns GLOBUS_FALSE.
int globus_rsl_is_boolean_and (globus_rsl_t * ast)
RSL boolean and test. The globus_rsl_is_boolean_and() function tests
whether the the RSL pointed to by the ast parameter is a boolean ’and’
composition of RSL trees. An example of a boolean and relation is
& ( ’queue’ = ’debug’ ) ( ’executable’ = ’a.out’ )
Parameters:
ast Pointer to an RSL parse tree structure.
Returns:
The globus_rsl_is_boolean_and() function returns GLOBUS_TRUE if the
RSL parse tree pointed to by ast is a boolean and of RSL parse
trees; otherwise, it returns GLOBUS_FALSE.
int globus_rsl_is_boolean_or (globus_rsl_t * ast)
RSL boolean or test. The globus_rsl_is_boolean_or() function tests
whether the the RSL pointed to by the ast parameter is a boolean ’or’
composition of RSL trees. An example of a boolean or relation is
| ( ’count’ = ’2’ ) ( ’count’ = ’4’ )
Parameters:
ast Pointer to an RSL parse tree structure.
Returns:
The globus_rsl_is_boolean_or() function returns GLOBUS_TRUE if the
RSL parse tree pointed to by ast is a boolean and of RSL parse
trees; otherwise, it returns GLOBUS_FALSE.
int globus_rsl_is_boolean_multi (globus_rsl_t * ast)
RSL boolean multi test. The globus_rsl_is_boolean_multi() function
tests whether the the RSL pointed to by the ast parameter is a boolean
’multi-request’ composition of RSL trees. An example of a boolean
multie-request relation is
+ ( &( ’executable’ = ’exe.1’) ( ’count’ = ’2’ ) )
( &( ’executable’ =’ exe.2’) ( ’count’ = ’2’ ) )
Parameters:
ast Pointer to an RSL parse tree structure.
Returns:
The globus_rsl_is_boolean_multi() function returns GLOBUS_TRUE if
the RSL parse tree pointed to by ast is a boolean multi-request of
RSL parse trees; otherwise, it returns GLOBUS_FALSE.
int globus_rsl_value_is_literal (globus_rsl_value_t * ast)
RSL literal string test. The globus_rsl_value_is_literal() function
tests whether the the RSL value pointed to by the ast parameter is a
literal string value. An example of a literal string is
’count’
Parameters:
ast Pointer to an RSL value structure.
Returns:
The globus_rsl_value_is_literal() function returns GLOBUS_TRUE if
the RSL value pointed to by ast is a literal string value;
otherwise, it returns GLOBUS_FALSE.
int globus_rsl_value_is_sequence (globus_rsl_value_t * ast)
RSL value sequence test. The globus_rsl_value_is_sequence() function
tests whether the the RSL value pointed to by the ast parameter is a
sequence of RSL values. An example of a sequence of values is
’1’ ’2’ ’3’
Parameters:
ast Pointer to an RSL value structure.
Returns:
The globus_rsl_value_is_sequence() function returns GLOBUS_TRUE if
the RSL value pointed to by ast is a value sequnce; otherwise, it
returns GLOBUS_FALSE.
int globus_rsl_value_is_variable (globus_rsl_value_t * ast)
RSL value variable test. The globus_rsl_value_is_variable() function
tests whether the the RSL value pointed to by the ast parameter is a
variable reference. RSL values. An example of a variable reference is
$( ’GLOBUSRUN_GASS_URL’ )
Parameters:
ast Pointer to an RSL value structure.
Returns:
The globus_rsl_value_is_sequence() function returns GLOBUS_TRUE if
the RSL value pointed to by ast is a value sequnce; otherwise, it
returns GLOBUS_FALSE.
int globus_rsl_value_is_concatenation (globus_rsl_value_t * ast)
RSL value concatenation test. The globus_rsl_value_is_concatenation()
function tests whether the the RSL value pointed to by the ast
parameter is a concatenation of RSL values. An example of an RSL value
concatenation is
$( ’GLOBUSRUN_GASS_URL’ ) # ’/input’
Parameters:
ast Pointer to an RSL value structure.
Returns:
The globus_rsl_value_is_concatenation() function returns
GLOBUS_TRUE if the RSL value pointed to by ast is a value
concatenation; otherwise, it returns GLOBUS_FALSE.
Author
Generated automatically by Doxygen for globus rsl from the source code.