00001 #ifndef _EDG_WORKLOAD_LOGGING_CLIENT_CONTEXT_H
00002 #define _EDG_WORKLOAD_LOGGING_CLIENT_CONTEXT_H
00003
00009 #ifndef LB_STANDALONE
00010 #include "glite/wmsutils/exception/exception_codes.h"
00011 #endif
00012 #include "glite/wmsutils/jobid/cjobid.h"
00013
00014 #ident "$Header: /cvs/glite/org.glite.lb.client-interface/interface/Attic/context.h,v 1.21.2.5 2007/06/14 08:45:29 jpospi Exp $"
00015
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019
00027 typedef struct _edg_wll_Context *edg_wll_Context;
00028
00030 typedef enum _edg_wll_ContextParam {
00031 EDG_WLL_PARAM_HOST,
00032 EDG_WLL_PARAM_SOURCE,
00033 EDG_WLL_PARAM_INSTANCE,
00034 EDG_WLL_PARAM_LEVEL,
00035 EDG_WLL_PARAM_DESTINATION,
00036 EDG_WLL_PARAM_DESTINATION_PORT,
00037 EDG_WLL_PARAM_LOG_TIMEOUT,
00038 EDG_WLL_PARAM_LOG_SYNC_TIMEOUT,
00039 EDG_WLL_PARAM_QUERY_SERVER,
00040 EDG_WLL_PARAM_QUERY_SERVER_PORT,
00041 EDG_WLL_PARAM_QUERY_SERVER_OVERRIDE,
00042 EDG_WLL_PARAM_QUERY_TIMEOUT,
00043 EDG_WLL_PARAM_QUERY_JOBS_LIMIT,
00044 EDG_WLL_PARAM_QUERY_EVENTS_LIMIT,
00045 EDG_WLL_PARAM_QUERY_RESULTS,
00046 EDG_WLL_PARAM_CONNPOOL_SIZE,
00047 EDG_WLL_PARAM_NOTIF_SERVER,
00048 EDG_WLL_PARAM_NOTIF_SERVER_PORT,
00049 EDG_WLL_PARAM_NOTIF_TIMEOUT,
00050 EDG_WLL_PARAM_X509_PROXY,
00051 EDG_WLL_PARAM_X509_KEY,
00052 EDG_WLL_PARAM_X509_CERT,
00053 EDG_WLL_PARAM_LBPROXY_STORE_SOCK,
00054 EDG_WLL_PARAM_LBPROXY_SERVE_SOCK,
00055 EDG_WLL_PARAM_LBPROXY_USER,
00056 EDG_WLL_PARAM_JPREG_TMPDIR,
00057 EDG_WLL_PARAM__LAST,
00058 } edg_wll_ContextParam;
00059
00061 typedef enum _edg_wll_QueryResults {
00062 EDG_WLL_QUERYRES_UNDEF,
00063 EDG_WLL_QUERYRES_NONE,
00064 EDG_WLL_QUERYRES_ALL,
00065 EDG_WLL_QUERYRES_LIMITED,
00066 EDG_WLL_QUERYRES__LAST
00067 } edg_wll_QueryResults;
00068
00070 typedef enum _edg_wll_Source {
00071 EDG_WLL_SOURCE_NONE,
00072 EDG_WLL_SOURCE_USER_INTERFACE,
00073 EDG_WLL_SOURCE_NETWORK_SERVER,
00074 EDG_WLL_SOURCE_WORKLOAD_MANAGER,
00075 EDG_WLL_SOURCE_BIG_HELPER,
00076 EDG_WLL_SOURCE_JOB_SUBMISSION,
00077 EDG_WLL_SOURCE_LOG_MONITOR,
00078 EDG_WLL_SOURCE_LRMS,
00079 EDG_WLL_SOURCE_APPLICATION,
00080 EDG_WLL_SOURCE_LB_SERVER,
00081 EDG_WLL_SOURCE__LAST
00082 } edg_wll_Source;
00083
00086 #define EDG_WLL_SOURCE_WM_PROXY EDG_WLL_SOURCE_NETWORK_SERVER
00087
00088
00093 int edg_wll_InitContext(edg_wll_Context *context);
00094
00099 void edg_wll_FreeContext(edg_wll_Context context);
00100
00108 int edg_wll_SetParam(
00109 edg_wll_Context context,
00110 edg_wll_ContextParam param,
00111 ...
00112 );
00113
00114 struct timeval;
00115
00123 int edg_wll_SetParamInt(edg_wll_Context ctx,edg_wll_ContextParam param,int val);
00124
00132 int edg_wll_SetParamString(edg_wll_Context ctx,edg_wll_ContextParam param,const char *val);
00133
00141 int edg_wll_SetParamTime(edg_wll_Context ctx,edg_wll_ContextParam param,const struct timeval *val);
00142
00150 int edg_wll_GetParam(
00151 edg_wll_Context context,
00152 edg_wll_ContextParam param,
00153 ...
00154 );
00155
00156
00163
00164
00165 #ifndef GLITE_WMS_LOGGING_ERROR_BASE
00166 #define GLITE_WMS_LOGGING_ERROR_BASE 1400
00167 #endif
00168
00169 typedef enum _edg_wll_ErrorCode {
00171 EDG_WLL_ERROR_BASE = GLITE_WMS_LOGGING_ERROR_BASE,
00172 EDG_WLL_ERROR_PARSE_BROKEN_ULM,
00173 EDG_WLL_ERROR_PARSE_EVENT_UNDEF,
00174 EDG_WLL_ERROR_PARSE_MSG_INCOMPLETE,
00175 EDG_WLL_ERROR_PARSE_KEY_DUPLICITY,
00176 EDG_WLL_ERROR_PARSE_KEY_MISUSE,
00177 EDG_WLL_ERROR_PARSE_OK_WITH_EXTRA_FIELDS,
00179 EDG_WLL_ERROR_XML_PARSE,
00180 EDG_WLL_ERROR_SERVER_RESPONSE,
00181 EDG_WLL_ERROR_JOBID_FORMAT,
00182 EDG_WLL_ERROR_DB_CALL,
00184 EDG_WLL_ERROR_MD5_CLASH,
00185 EDG_WLL_ERROR_GSS,
00186 EDG_WLL_ERROR_DNS,
00187 EDG_WLL_ERROR_NOJOBID,
00188 EDG_WLL_ERROR_NOINDEX,
00189 EDG_WLL_IL_PROTO,
00190 EDG_WLL_IL_SYS,
00191 EDG_WLL_IL_EVENTS_WAITING,
00192 EDG_WLL_ERROR_COMPARE_EVENTS,
00193 } edg_wll_ErrorCode;
00194
00205 int edg_wll_Error(
00206 edg_wll_Context context,
00207 char **errText,
00208 char **errDesc
00209 );
00210
00213 char * edg_wll_SourceToString(edg_wll_Source src);
00214
00218 edg_wll_Source edg_wll_StringToSource(const char *name);
00219
00222 char * edg_wll_QResultToString(edg_wll_QueryResults res);
00223
00227 edg_wll_QueryResults edg_wll_StringToQResult(const char *name);
00228
00232 #define EDG_WLL_SEQ_NORMAL 1
00233 #define EDG_WLL_SEQ_DUPLICATE 11
00234 #define EDG_WLL_SEQ_PBS 2
00235 #define EDG_WLL_SEQ_CONDOR 3
00236
00240 #define EDG_WLL_SEQ_BIGHELPER_INITIAL "UI=000002:NS=0000000000:WM=000000:BH=0000000001:JSS=000000:LM=000000:LRMS=000000:APP=000000:LBS=000000"
00241
00246 #define EDG_WLL_SEQ_CLEAR "UI=000009:NS=0000096669:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000:LBS=000000"
00247
00252 #define EDG_WLL_SEQ_ABORT "UI=000000:NS=0000096660:WM=000000:BH=0000000000:JSS=000000:LM=000000:LRMS=000000:APP=000000:LBS=000000"
00253
00254
00256 char * edg_wll_GetSequenceCode(
00257 const edg_wll_Context context
00258 );
00259
00263 int edg_wll_GetLoggingJob(
00264 const edg_wll_Context context,
00265 edg_wlc_JobId *jobid_out
00266 );
00267
00268
00269
00270
00271
00272 #ifdef __cplusplus
00273 }
00274 #endif
00275
00276 #endif