Scroll to navigation

RSL Predicates(3) globus rsl RSL Predicates(3)

NAME

RSL Predicates -

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.
Wed Jan 25 2012 Version 9.1