7.0 Grid library
The CLegionLib.h file contains the declarations for the C Library interface to the Legion system. This library is specifically designed to allow ease of use in many languages (including Fortran, C, C++). For additional functionality, the CError.h header file contains all necessary declarations to doing some small amount of error handling.
/* Change Log: */
#ifndef CLEGION_LIB_H
#define CLEGION_LIB_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdio.h>
Note that anytime this header file talks about freeing memory, it is referring to using the C-language's free() function to return memory to the heap, NOT the C++ language's delete operators.
/* LOID Parameters */
#define LOID_PARAM 0 /* These defines give the */
#define CONTEXT_PARAM 1 /* two valid values for */
/* LegionIdType variables */
/* parameters. */
typedef int LegionIdType; /* This type is used in */
/* function calls to indicate */
/* whether or note the */
/* parameter is a LOID. The */
/* valid values are LOID_PARAM */
/* and CONTEXT_PARAM. */
typedef int CLegionBinding; /* These typedefs are used to */
typedef int CLegionHostReservation; /* represent all of the */
typedef int CLegionHostReservationRecord; /* necessary C++ classes that */
typedef int CLegionVaultReservation; /* would normally be used in */
typedef int CLegionVaultReservationRecord; /* their place. In all cases */
typedef int CLegionReservation; /* these are actually pointers */
typedef int CLegionHostObjectStatus; /* to LRefs to the actual */
typedef int CLegionOPRAddress; /* class type. This double */
typedef int CUVaL_InstanceRecord; /* level of pointer */
typedef int CInstancePlacementInfo; /* indirection was done to */
typedef int CLegionCollection Data; /* allow for some small measure */
/* of reference counting. */
The following section contains all of the valid Legion architectures.
#define LEGION_ARCH_linux 1
#define LEGION_ARCH_solaris 2
#define LEGION_ARCH_sun4 3
#define LEGION_ARCH_alpha_linux 4
#define LEGION_ARCH_alpha_DEC 5
#define LEGION_ARCH_sgi 6
#define LEGION_ARCH_rs6000 7
#define LEGION_ARCH_hp 8
#define LEGION_ARCH_t90 9
#define LEGION_ARCH_c90 10
#define LEGION_ARCH_t3e 11
#define LEGION_ARCH_x86_freebsd 12
#define LEGION_ARCH_winnt_x86 13
All programs that use the CLegionLib library contain some small amount of state which determines how the CLegionLib library interacts with certain Legion functions.
The following section gives the declarations for the functions that allow the user to interface with this state.
void SetTimeOutValue (int Seconds); /* These functions set and clear */
void ClearTimeOutValue (); /* the default timeout value for */
/* most Legion method invocations. */
void SetForceActivation (); /* In some small number of calls, */
void ClearForceActivation (); /* a target Legion object may not */
/* not yet be active. The force */
/* activation flag indicates */
/* whether the call should */
/* activate the object or fail. */
All programs that use the CLegionLib library contain some small amount of state which determines how the CLegionLib library interacts with certain Legion functions. The following section gives the declarations for the functions that allow the user to interface with this state.
legion@Virginia.edu
http://legion.virginia.edu/
|