6.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.

void	SetTimeOutValue		(int Seconds);	/* These functions set and clear	*/
void	ClearTimeOutValue	();		/* the default timeout value for	*/
						/* most Legion method invocations.	*/

void	SetForceActivation	();		/* In a small number of calls, a	*/ 
void	ClearForceActivation	();		/* target Legion object may not		*/ 
						/* yet be active. The force		*/
						/* activation flag indicates		*/
						/* whether the call should 		*/
						/* activate the object or fail.		*/

6.1 Legion Library interface
6.2 Exceptions
6.3 Legion context space
6.4 Legion object management
6.5 Legion attributes
6.6 Legion C++ type manipulation
6.7 Legion host object
6.8 Vault object
6.9 Class object
6.10 Legion implicit parameters
6.11 Collections

Directory of Legion 1.6.4 Manuals
[Home] [General] [Documentation] [Software]
[Testbeds] [Et Cetera] [Map/Search]

Free JavaScripts provided by The JavaScript Source

legion@Virginia.edu
http://legion.virginia.edu/