globus_rsl_predicates

Langue: en

Version: 359062 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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.