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/glite/org.glite.lb.client-interface/interface/jobstat.h.T,v 1.4 2006/09/27 14:07:14 mmulac 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 EDG_WLL_STAT_COLLECTION,
00037 EDG_WLL_STAT_PBS,
00038 EDG_WLL_STAT_CONDOR,
00039 EDG_WLL_NUMBER_OF_JOBTYPES
00040 };
00041 enum edg_wll_StatDone_code {
00042 EDG_WLL_STAT_OK,
00043 EDG_WLL_STAT_FAILED,
00044 EDG_WLL_STAT_CANCELLED,
00045 EDG_WLL_NUMBER_OF_DONE_CODES
00046 };
00047
00048
00054 typedef enum _edg_wll_JobStatCode {
00056 EDG_WLL_JOB_UNDEF = 0,
00057 EDG_WLL_JOB_SUBMITTED,
00058 EDG_WLL_JOB_WAITING,
00059 EDG_WLL_JOB_READY,
00060 EDG_WLL_JOB_SCHEDULED,
00061 EDG_WLL_JOB_RUNNING,
00062 EDG_WLL_JOB_DONE,
00063 EDG_WLL_JOB_CLEARED,
00064 EDG_WLL_JOB_ABORTED,
00065 EDG_WLL_JOB_CANCELLED,
00066 EDG_WLL_JOB_UNKNOWN,
00067 EDG_WLL_JOB_PURGED,
00068 EDG_WLL_NUMBER_OF_STATCODES
00069 } edg_wll_JobStatCode;
00070
00075 typedef struct _edg_wll_TagValue {
00076 char * tag;
00077 char * value;
00078 } edg_wll_TagValue;
00079
00080
00086 typedef struct _edg_wll_JobStat {
00087 edg_wll_JobStatCode state;
00088 edg_wlc_JobId jobId;
00089 char * owner;
00090 enum edg_wll_StatJobtype jobtype;
00091 edg_wlc_JobId parent_job;
00092 char * seed;
00093 int children_num;
00094 char ** children;
00095 int * children_hist;
00096 struct _edg_wll_JobStat * children_states;
00097 char * condorId;
00098 char * globusId;
00099 char * localId;
00100 char * jdl;
00101 char * matched_jdl;
00102 char * destination;
00103 char * condor_jdl;
00104 char * rsl;
00105 char * reason;
00106 char * location;
00107 char * ce_node;
00108 char * network_server;
00109 int subjob_failed;
00110 enum edg_wll_StatDone_code done_code;
00111 int exit_code;
00112 int resubmitted;
00113 int cancelling;
00114 char * cancelReason;
00115 int cpuTime;
00116 edg_wll_TagValue * user_tags;
00117 struct timeval stateEnterTime;
00118 struct timeval lastUpdateTime;
00119 int * stateEnterTimes;
00120 int expectUpdate;
00121 char * expectFrom;
00122 char * acl;
00123 int payload_running;
00124 char ** possible_destinations;
00125 char ** possible_ce_nodes;
00126 int suspended;
00127 char * suspend_reason;
00128 char * pbs_state;
00129 char * pbs_queue;
00130 char * pbs_owner;
00131 char * pbs_name;
00132 char * pbs_reason;
00133 char * pbs_scheduler;
00134 char * pbs_dest_host;
00135 int pbs_pid;
00136 char * pbs_resource_usage;
00137 int pbs_exit_status;
00138 char * pbs_error_desc;
00139 char * condor_status;
00140 char * condor_universe;
00141 char * condor_owner;
00142 int condor_shadow_pid;
00143 int condor_shadow_exit_status;
00144 int condor_starter_pid;
00145 int condor_starter_exit_status;
00146 int condor_job_pid;
00147 int condor_job_exit_status;
00148 char * condor_dest_host;
00149 char * condor_reason;
00150 char * condor_error_desc;
00152 } edg_wll_JobStat;
00153
00163 extern int edg_wll_InitStatus(edg_wll_JobStat *);
00164
00169 extern edg_wll_JobStat *edg_wll_CpyStatus(const edg_wll_JobStat *,edg_wll_JobStat *);
00170
00175 extern void edg_wll_FreeStatus(edg_wll_JobStat *);
00176
00180 extern edg_wll_JobStatCode edg_wll_StringToStat(const char *);
00181
00185 extern char *edg_wll_StatToString(edg_wll_JobStatCode);
00186
00189
00190
00191
00192
00193 #ifdef __cplusplus
00194 }
00195 #endif
00196
00197 #endif