globus_rsl_predicates man page

globus_rsl_predicates — RSL Predicates

Functions

int globus_rsl_is_relation (globus_rsl_t *ast)
RSL relation test.
int globus_rsl_is_boolean (globus_rsl_t *ast)
RSL boolean test.
int globus_rsl_is_relation_eq (globus_rsl_t *ast)
RSL equality operation test.
int globus_rsl_is_relation_lessthan (globus_rsl_t *ast)
RSL less than operation test.
int globus_rsl_is_relation_attribute_equal (globus_rsl_t *ast, char *attribute)
RSL attribute name test.
int globus_rsl_is_boolean_and (globus_rsl_t *ast)
RSL boolean and test.
int globus_rsl_is_boolean_or (globus_rsl_t *ast)
RSL boolean or test.
int globus_rsl_is_boolean_multi (globus_rsl_t *ast)
RSL boolean multi test.
int globus_rsl_value_is_literal (globus_rsl_value_t *ast)
RSL literal string test.
int globus_rsl_value_is_sequence (globus_rsl_value_t *ast)
RSL value sequence test.
int globus_rsl_value_is_variable (globus_rsl_value_t *ast)
RSL value variable test.
int globus_rsl_value_is_concatenation (globus_rsl_value_t *ast)
RSL value concatenation test.

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_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

1 & ( "queue" = "debug") ( "max_time" = "10000")
2 | ("count" = "1")("count" = "10")
3 + ( &("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_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

1 & ( "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_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

1 + ( &( "executable" = "exe.1") ( "count" = "2" ) )
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_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

1 | ( "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_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

1 "queue" = "debug"
2 "queue" != "slow"
3 "min_memory" > "1000"
4 "max_wall_time" >= "60"
5 "count < "10"
6 "host_count" <= "5"

Note:

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_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_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

1 "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

1 "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_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

1 $( "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.

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

1 "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 "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

1 $( "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.

Author

Generated automatically by Doxygen for globus_rsl from the source code.

Referenced By

globus_rsl_is_boolean(3), globus_rsl_is_boolean_and(3), globus_rsl_is_boolean_multi(3), globus_rsl_is_boolean_or(3), globus_rsl_is_relation(3), globus_rsl_is_relation_attribute_equal(3), globus_rsl_is_relation_eq(3), globus_rsl_is_relation_lessthan(3), globus_rsl_value_is_concatenation(3), globus_rsl_value_is_literal(3), globus_rsl_value_is_sequence(3) and globus_rsl_value_is_variable(3) are aliases of globus_rsl_predicates(3).

Mon Sep 5 2016 Version 10.11 globus_rsl