00001 #ifndef __EDG_WORKLOAD_LOGGING_CLIENT_JOBSTAT_H__
00002 #define __EDG_WORKLOAD_LOGGING_CLIENT_JOBSTAT_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00017 #ident "$Header: /cvs/jra1mw/org.glite.lb.client-interface/interface/jobstat.h.T,v 1.3 2005/08/03 09:30:10 akrenek Exp $"
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00033 enum edg_wll_StatJobtype {
00034 EDG_WLL_STAT_SIMPLE,
00035 EDG_WLL_STAT_DAG,
00036 };
00037 enum edg_wll_StatDone_code {
00038 EDG_WLL_STAT_OK,
00039 EDG_WLL_STAT_FAILED,
00040 EDG_WLL_STAT_CANCELLED,
00041 };
00042
00043
00049 typedef enum _edg_wll_JobStatCode {
00051 EDG_WLL_JOB_UNDEF = 0,
00052 EDG_WLL_JOB_SUBMITTED,
00053 EDG_WLL_JOB_WAITING,
00054 EDG_WLL_JOB_READY,
00055 EDG_WLL_JOB_SCHEDULED,
00056 EDG_WLL_JOB_RUNNING,
00057 EDG_WLL_JOB_DONE,
00058 EDG_WLL_JOB_CLEARED,
00059 EDG_WLL_JOB_ABORTED,
00060 EDG_WLL_JOB_CANCELLED,
00061 EDG_WLL_JOB_UNKNOWN,
00062 EDG_WLL_JOB_PURGED,
00063 EDG_WLL_NUMBER_OF_STATCODES
00064 } edg_wll_JobStatCode;
00065
00070 typedef struct _edg_wll_TagValue {
00071 char * tag;
00072 char * value;
00073 } edg_wll_TagValue;
00074
00075
00081 typedef struct _edg_wll_JobStat {
00082 edg_wll_JobStatCode state;
00083 edg_wlc_JobId jobId;
00084 char * owner;
00085 enum edg_wll_StatJobtype jobtype;
00086 edg_wlc_JobId parent_job;
00087 char * seed;
00088 int children_num;
00089 char ** children;
00090 int * children_hist;
00091 struct _edg_wll_JobStat * children_states;
00092 char * condorId;
00093 char * globusId;
00094 char * localId;
00095 char * jdl;
00096 char * matched_jdl;
00097 char * destination;
00098 char * condor_jdl;
00099 char * rsl;
00100 char * reason;
00101 char * location;
00102 char * ce_node;
00103 char * network_server;
00104 int subjob_failed;
00105 enum edg_wll_StatDone_code done_code;
00106 int exit_code;
00107 int resubmitted;
00108 int cancelling;
00109 char * cancelReason;
00110 int cpuTime;
00111 edg_wll_TagValue * user_tags;
00112 struct timeval stateEnterTime;
00113 struct timeval lastUpdateTime;
00114 int * stateEnterTimes;
00115 int expectUpdate;
00116 char * expectFrom;
00117 char * acl;
00118 int payload_running;
00119 char ** possible_destinations;
00120 char ** possible_ce_nodes;
00122 } edg_wll_JobStat;
00123
00133 extern int edg_wll_InitStatus(edg_wll_JobStat *);
00134
00139 extern edg_wll_JobStat *edg_wll_CpyStatus(const edg_wll_JobStat *,edg_wll_JobStat *);
00140
00145 extern void edg_wll_FreeStatus(edg_wll_JobStat *);
00146
00150 extern edg_wll_JobStatCode edg_wll_StringToStat(const char *);
00151
00155 extern char *edg_wll_StatToString(edg_wll_JobStatCode);
00156
00159
00160
00161
00162
00163 #ifdef __cplusplus
00164 }
00165 #endif
00166
00167 #endif