/* query attributes */ #define PMIX_QUERY_NAMESPACES "pmix.qry.ns" // (char*) request a comma-delimited list of active nspaces #define PMIX_QUERY_JOB_STATUS "pmix.qry.jst" // (pmix_status_t) status of a specified currently executing job #define PMIX_QUERY_QUEUE_LIST "pmix.qry.qlst" // (char*) request a comma-delimited list of scheduler queues #define PMIX_QUERY_QUEUE_STATUS "pmix.qry.qst" // (TBD) status of a specified scheduler queue #define PMIX_QUERY_PROC_TABLE "pmix.qry.ptable" // (char*) input nspace of job whose info is being requested // returns (pmix_data_array_t) an array of pmix_proc_info_t for all // procs in job #define PMIX_QUERY_LOCAL_PROC_TABLE "pmix.qry.lptable" // (char*) input nspace of job whose info is being requested // returns (pmix_data_array_t) an array of pmix_proc_info_t for // procs in job on same node #define PMIX_QUERY_AUTHORIZATIONS "pmix.qry.auths" // return operations tool is authorized to perform /* related spawn attributes */ #define PMIX_PPR "pmix.ppr" // (char*) #procs to spawn on each identified resource #define PMIX_MAPBY "pmix.mapby" // (char*) mapping policy #define PMIX_PRELOAD_BIN "pmix.preloadbin" // (bool) preload binaries #define PMIX_PRELOAD_FILES "pmix.preloadfiles" // (char*) comma-delimited list of files to pre-position #define PMIX_FWD_STDIN "pmix.fwd.stdin" // (bool) forward my stdin to the designated proc #define PMIX_FWD_STDOUT "pmix.fwd.stdout" // (bool) forward stdout from spawned procs to me #define PMIX_FWD_STDERR "pmix.fwd.stderr" // (bool) forward stderr from spawned procs to me #define PMIX_DEBUGGER_DAEMONS "pmix.debugger" // specified app consists of debugger daemons /* debugger support */ #define PMIX_DEBUGGER_STOP_ON_EXEC "pmix.dbg.stpexec" // stop app proc on first instruction #define PMIX_DEBUGGER_STOP_ON_INIT "pmix.dbg.stpinit" // stop app proc when it calls PMIx_Init #define PMIX_DEBUGGER_TARGET "pmix.dbg.tgt" // specify nspace (app) to be debugged #define PMIX_DEBUGGER_INFO_ON_INIT "pmix.dbg.infoinit" // job-level info of specified nspace (app) is to be provided // to debugger daemon when it calls PMIx_Init #define PMIX_DEBUGGER_SUPPORT "pmix.dbg.support" // specified app is to be co-launched with debugger for // support (e.g., messaging) /**** PMIX PROC OBJECT ****/ typedef struct pmix_proc { char nspace[PMIX_MAX_NSLEN+1]; // effective jobid int rank; } pmix_proc_t; /**** PMIX PROC INFO STRUCT ****/ typedef struct pmix_proc_info_t { pmix_proc_t proc; char *hostname; char *executable_name; pid_t pid; int exit_code; pmix_proc_state_t state; } pmix_proc_info_t;