This module provides routines for discovering and accessing information about Grid resources available to the GROWL system. It currently accesses remote methods which are provided and maintained on the UK e-Science Grid by the Grid Engineering Task Force and National Grid Service, see http://tyne.dl.ac.uk/ETF/index.shtml and http://www.ngs.ac.uk. The service is part of the InfoPortal project http://tyne.dl.ac.uk/InfoPortal. Other Grids and resources could be included.
Version: 1.0
Public calls: growl_mdsLast, growl_mdsCurrent, growl_xmlAll, growl_xmlDescription
Public modules: libgrowl.a
Other modules required: libbase.a gSOAP v2.1.4
Date: 2004
Origin: Hand-Knitted Software, R.J. Allan, CCLRC Daresbury Laboratory
Language: C
Conditions on external use: Standard, see separate chapter
This module is used by including growl.h and linking to the library libgrowl.a. Publically callable procedures are listed here.
List resources available to GROWL.
[frame=single] int growl_machineList(char **result)
char **result
On exit: long character string containing a comma-separated list of
the dns names of resources known to GROWL.
Give XML descriptions of all resources.
[frame=single]
int growl_xmlAll(char **result)
char **result
On exit: long character string containing an XML description of all
resources known to GROWL.
Integer, 0=success, !0=failure.
SOAP error message if there is a problem.
Give XMl description of a specific resource.
[frame=single]
int growl_xmlDescription(char *target,
char **result)
char *target
On entry: character string containing fully qualified dns name of the
machine for which information is required.
char **result
On exit: long character string containing an XML description of all
resources known to GROWL.
Integer, 0=success, !0=failure.
SOAP error message if there is a problem.
Give last-cached MDS description of resource status.
[frame=single]
int growl_xmlLast(char *target,
char **result)
char *target
On entry: character string containing fully qualified dns name of the
machine for which information is required.
char **result
On exit: long character string containing an XML description of all
resources known to GROWL.
Integer, 0=success, !0=failure.
SOAP error message if there is a problem.
Query resource for live MDS status.
[frame=single]
int growl_mdsCurrent(char *target,
char **result)
char *target
On entry: character string containing fully qualified dns name of the
machine for which information is required.
char **result
On exit: long character string containing an XML description of all
resources known to GROWL.
Integer, 0=success, !0=failure.
SOAP error message if there is a problem.
Workspace: internal workspace is allocated in all these
routines by the gSOAP system for the long return string. This should
be freed by the user when it is no longer required.
Use of globals: none
Other routines called directly: none
Input/ output: none
Restrictions:
Notes: The returned strings may contain line break characters
which may be ignored.
All Grid resource information is obtained via calls to the InfoPortal Web services. MDS information is either live or cached. XML information is from the internal InfoPortal XML database.
Example is shown of using the growl_xmlDescription method. Other methods in this package are similar.
[frame=single] #include 'growl.h' char target[]="login.hpcx.ac.uk"; char *result; int res; res = xmlDescription(target, &result);
This is the imput parameter to the function.
Output is a long text string which describes the resource.