/*
* Copyright (c) 2001-2002 The Trustees of Indiana University.
* All rights reserved.
* Copyright (c) 1998-2001 University of Notre Dame.
* All rights reserved.
* Copyright (c) 1994-1998 The Ohio State University.
* All rights reserved.
*
* This file is part of the LAM/MPI software package. For license
* information, see the LICENSE file in the top level directory of the
* LAM/MPI source distribution.
*
* $HEADER$
*
* $Id: app_schema.h,v 6.10 2002/10/09 20:57:22 brbarret Exp $
*
* Function: - application schema templates and constants
*/
#ifndef _APP_SCHEMA_H
#define _APP_SCHEMA_H
#include "all_list.h"
#include "app_mgmt.h"
#include "all_opt.h"
#include "lam.h"
/*
* GER (Guaranteed Envelope Resources)
*/
#ifndef MPI_GER
#define MPI_GER 8
#endif
/*
* structures
*/
struct apparg {
int4 apa_refcount; /* reference count */
int4 apa_argc; /* # cmd line args */
char **apa_argv; /* cmd line args */
};
struct appenv {
int4 ape_refcount; /* reference count */
char **ape_envv; /* cmd line args */
char *ape_wrkdir; /* working dir */
};
struct aschema {
int4 asc_srcnode; /* binary source node */
int4 asc_node; /* single target node */
int4 asc_proc_cnt; /* # processes this entry */
int4 asc_errno; /* error code */
LIST * asc_nodelist; /* nodes this entry */
struct apparg * asc_args; /* cmd line args */
struct appenv * asc_env; /* environment */
};
/*
* prototypes
*/
#ifdef __cplusplus
extern "C" {
#endif
extern LIST * asc_bufparse(char *buf, int size, int *pl, char **env);
extern LIST * asc_parse(const char *file, int *pl, char **env);
extern LIST * asc_schedule(LIST *ap);
extern void asc_free(LIST *ap);
extern int asc_compat(int *argc, char ***argv, OPT *ad);
extern int asc_run(LIST *ap, int np, int4 rtf, int v,
int e, struct _gps *p);
extern int asc_ger(LIST *ap, int e);
extern int asc_environment(int exportme, char *v, char ***env);
extern int asc_workdir(LIST *ap, char *wrkdir);
#ifdef __cplusplus
}
#endif
#endif /* _APP_SCHEMA_H */
syntax highlighted by Code2HTML, v. 0.9.1