Main Page | Modules | Data Structures | File List | Data Fields | Globals

events.h

Go to the documentation of this file.
00001 #ifndef __EDG_WORKLOAD_LOGGING_CLIENT_EVENTS_H__
00002 #define __EDG_WORKLOAD_LOGGING_CLIENT_EVENTS_H__
00003 
00008 #ident "$Header: /cvs/jra1mw/org.glite.lb.client-interface/interface/events.h.T,v 1.5 2005/08/03 09:30:10 akrenek Exp $"
00009 /*
00010 
00011   !! Automatically generated file
00012   !! Do not edit, your changes will be discarded upon build
00013   !! Change the corresponding template file ../interface/events.h.T
00014 
00015 */
00016 
00017 #include <sys/time.h>
00018 #include <inttypes.h>
00019 
00020 #include "glite/wmsutils/jobid/cjobid.h"
00021 #include "glite/lb/context.h"
00022 #include "glite/lb/notifid.h"
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00038 typedef char *edg_wll_LogLine;
00039 
00040 
00045 typedef enum _edg_wll_EventCode {
00047         EDG_WLL_EVENT_UNDEF = 0,
00048         EDG_WLL_EVENT_TRANSFER, 
00049         EDG_WLL_EVENT_ACCEPTED, 
00050         EDG_WLL_EVENT_REFUSED,  
00051         EDG_WLL_EVENT_ENQUEUED, 
00052         EDG_WLL_EVENT_DEQUEUED, 
00053         EDG_WLL_EVENT_HELPERCALL,       
00054         EDG_WLL_EVENT_HELPERRETURN,     
00055         EDG_WLL_EVENT_RUNNING,  
00056         EDG_WLL_EVENT_RESUBMISSION,     
00057         EDG_WLL_EVENT_DONE,     
00058         EDG_WLL_EVENT_CANCEL,   
00059         EDG_WLL_EVENT_ABORT,    
00060         EDG_WLL_EVENT_CLEAR,    
00061         EDG_WLL_EVENT_PURGE,    
00062         EDG_WLL_EVENT_MATCH,    
00063         EDG_WLL_EVENT_PENDING,  
00064         EDG_WLL_EVENT_REGJOB,   
00065         EDG_WLL_EVENT_CHKPT,    
00066         EDG_WLL_EVENT_LISTENER, 
00067         EDG_WLL_EVENT_CURDESCR, 
00068         EDG_WLL_EVENT_USERTAG,  
00069         EDG_WLL_EVENT_CHANGEACL,        
00070         EDG_WLL_EVENT_NOTIFICATION,     
00071         EDG_WLL_EVENT_RESOURCEUSAGE,    
00072         EDG_WLL_EVENT_REALLYRUNNING,    
00073         EDG_WLL_EVENT__LAST,    
00074 } edg_wll_EventCode;
00075 
00083 extern edg_wll_EventCode edg_wll_StringToEvent(const char *name);
00084 
00092 extern char *edg_wll_EventToString(edg_wll_EventCode event);
00093 
00094 
00099 typedef enum _edg_wll_KeyNameCode {
00100         UNDEFINED,              
00101         EDG_WLL_EVNT,           
00102         ULM_DATE,               
00103         ULM_ARR_DATE,           
00104         ULM_HOST,               
00105         ULM_LVL,                
00106         EDG_WLL_COMMON_PRIORITY,                
00107         EDG_WLL_COMMON_JOBID,           
00108         EDG_WLL_COMMON_SEQCODE,         
00109         EDG_WLL_COMMON_USER,            
00110         EDG_WLL_COMMON_SOURCE,          
00111         EDG_WLL_COMMON_SRC_INSTANCE,            
00112         EDG_WLL_TRANSFER_DESTINATION,   
00113         EDG_WLL_TRANSFER_DEST_HOST,     
00114         EDG_WLL_TRANSFER_DEST_INSTANCE, 
00115         EDG_WLL_TRANSFER_JOB,   
00116         EDG_WLL_TRANSFER_RESULT,        
00117         EDG_WLL_TRANSFER_REASON,        
00118         EDG_WLL_TRANSFER_DEST_JOBID,    
00119         EDG_WLL_ACCEPTED_FROM,  
00120         EDG_WLL_ACCEPTED_FROM_HOST,     
00121         EDG_WLL_ACCEPTED_FROM_INSTANCE, 
00122         EDG_WLL_ACCEPTED_LOCAL_JOBID,   
00123         EDG_WLL_REFUSED_FROM,   
00124         EDG_WLL_REFUSED_FROM_HOST,      
00125         EDG_WLL_REFUSED_FROM_INSTANCE,  
00126         EDG_WLL_REFUSED_REASON, 
00127         EDG_WLL_ENQUEUED_QUEUE, 
00128         EDG_WLL_ENQUEUED_JOB,   
00129         EDG_WLL_ENQUEUED_RESULT,        
00130         EDG_WLL_ENQUEUED_REASON,        
00131         EDG_WLL_DEQUEUED_QUEUE, 
00132         EDG_WLL_DEQUEUED_LOCAL_JOBID,   
00133         EDG_WLL_HELPERCALL_HELPER_NAME, 
00134         EDG_WLL_HELPERCALL_HELPER_PARAMS,       
00135         EDG_WLL_HELPERCALL_SRC_ROLE,    
00136         EDG_WLL_HELPERRETURN_HELPER_NAME,       
00137         EDG_WLL_HELPERRETURN_RETVAL,    
00138         EDG_WLL_HELPERRETURN_SRC_ROLE,  
00139         EDG_WLL_RUNNING_NODE,   
00140         EDG_WLL_RESUBMISSION_RESULT,    
00141         EDG_WLL_RESUBMISSION_REASON,    
00142         EDG_WLL_RESUBMISSION_TAG,       
00143         EDG_WLL_DONE_STATUS_CODE,       
00144         EDG_WLL_DONE_REASON,    
00145         EDG_WLL_DONE_EXIT_CODE, 
00146         EDG_WLL_CANCEL_STATUS_CODE,     
00147         EDG_WLL_CANCEL_REASON,  
00148         EDG_WLL_ABORT_REASON,   
00149         EDG_WLL_CLEAR_REASON,   
00150         EDG_WLL_MATCH_DEST_ID,  
00151         EDG_WLL_PENDING_REASON, 
00152         EDG_WLL_REGJOB_JDL,     
00153         EDG_WLL_REGJOB_NS,      
00154         EDG_WLL_REGJOB_PARENT,  
00155         EDG_WLL_REGJOB_JOBTYPE, 
00156         EDG_WLL_REGJOB_NSUBJOBS,        
00157         EDG_WLL_REGJOB_SEED,    
00158         EDG_WLL_CHKPT_TAG,      
00159         EDG_WLL_CHKPT_CLASSAD,  
00160         EDG_WLL_LISTENER_SVC_NAME,      
00161         EDG_WLL_LISTENER_SVC_HOST,      
00162         EDG_WLL_LISTENER_SVC_PORT,      
00163         EDG_WLL_CURDESCR_DESCR, 
00164         EDG_WLL_USERTAG_NAME,   
00165         EDG_WLL_USERTAG_VALUE,  
00166         EDG_WLL_CHANGEACL_USER_ID,      
00167         EDG_WLL_CHANGEACL_USER_ID_TYPE, 
00168         EDG_WLL_CHANGEACL_PERMISSION,   
00169         EDG_WLL_CHANGEACL_PERMISSION_TYPE,      
00170         EDG_WLL_CHANGEACL_OPERATION,    
00171         EDG_WLL_NOTIFICATION_NOTIFID,   
00172         EDG_WLL_NOTIFICATION_OWNER,     
00173         EDG_WLL_NOTIFICATION_DEST_HOST, 
00174         EDG_WLL_NOTIFICATION_DEST_PORT, 
00175         EDG_WLL_NOTIFICATION_JOBSTAT,   
00176         EDG_WLL_RESOURCEUSAGE_RESOURCE, 
00177         EDG_WLL_RESOURCEUSAGE_QUANTITY, 
00178         EDG_WLL_RESOURCEUSAGE_UNIT,     
00179         EDG_WLL_REALLYRUNNING_WN_SEQ,   
00180         EDG_WLL_INTERNAL_TYPE,          
00181 } edg_wll_KeyNameCode;
00182 
00190 extern edg_wll_KeyNameCode edg_wll_StringToKeyName(const char *name);
00191 
00199 extern char *edg_wll_KeyNameToString(edg_wll_KeyNameCode key);
00200 
00201 
00211 enum edg_wll_Level {
00212         EDG_WLL_LEVEL_UNDEFINED,        
00213         EDG_WLL_LEVEL_EMERGENCY,        
00214         EDG_WLL_LEVEL_ALERT,    
00215         EDG_WLL_LEVEL_ERROR,    
00216         EDG_WLL_LEVEL_WARNING,  
00217         EDG_WLL_LEVEL_AUTH,     
00218         EDG_WLL_LEVEL_SECURITY, 
00219         EDG_WLL_LEVEL_USAGE,    
00220         EDG_WLL_LEVEL_SYSTEM,   
00221         EDG_WLL_LEVEL_IMPORTANT,        
00222         EDG_WLL_LEVEL_DEBUG,    
00223 };
00224 
00231 extern enum edg_wll_Level edg_wll_StringToLevel(const char *name);
00232 
00239 extern char *edg_wll_LevelToString(enum edg_wll_Level code);
00240 
00241 
00246 enum edg_wll_TransferResult {
00247         EDG_WLL_TRANSFER_UNDEFINED,     
00248         EDG_WLL_TRANSFER_START, 
00249         EDG_WLL_TRANSFER_OK,    
00250         EDG_WLL_TRANSFER_REFUSED,       
00251         EDG_WLL_TRANSFER_FAIL,  
00252 };
00253 
00260 extern enum edg_wll_TransferResult edg_wll_StringToTransferResult(const char *name);
00261 
00268 extern char *edg_wll_TransferResultToString(enum edg_wll_TransferResult code);
00269 
00270 
00275 enum edg_wll_EnQueuedResult {
00276         EDG_WLL_ENQUEUED_UNDEFINED,     
00277         EDG_WLL_ENQUEUED_START, 
00278         EDG_WLL_ENQUEUED_OK,    
00279         EDG_WLL_ENQUEUED_REFUSED,       
00280         EDG_WLL_ENQUEUED_FAIL,  
00281 };
00282 
00289 extern enum edg_wll_EnQueuedResult edg_wll_StringToEnQueuedResult(const char *name);
00290 
00297 extern char *edg_wll_EnQueuedResultToString(enum edg_wll_EnQueuedResult code);
00298 
00299 
00304 enum edg_wll_HelperCallSrc_role {
00305         EDG_WLL_HELPERCALL_UNDEFINED,   
00306         EDG_WLL_HELPERCALL_CALLING,     
00307         EDG_WLL_HELPERCALL_CALLED,      
00308 };
00309 
00316 extern enum edg_wll_HelperCallSrc_role edg_wll_StringToHelperCallSrc_role(const char *name);
00317 
00324 extern char *edg_wll_HelperCallSrc_roleToString(enum edg_wll_HelperCallSrc_role code);
00325 
00326 
00331 enum edg_wll_HelperReturnSrc_role {
00332         EDG_WLL_HELPERRETURN_UNDEFINED, 
00333         EDG_WLL_HELPERRETURN_CALLING,   
00334         EDG_WLL_HELPERRETURN_CALLED,    
00335 };
00336 
00343 extern enum edg_wll_HelperReturnSrc_role edg_wll_StringToHelperReturnSrc_role(const char *name);
00344 
00351 extern char *edg_wll_HelperReturnSrc_roleToString(enum edg_wll_HelperReturnSrc_role code);
00352 
00353 
00358 enum edg_wll_ResubmissionResult {
00359         EDG_WLL_RESUBMISSION_UNDEFINED, 
00360         EDG_WLL_RESUBMISSION_WILLRESUB, 
00361         EDG_WLL_RESUBMISSION_WONTRESUB, 
00362         EDG_WLL_RESUBMISSION_SHALLOW,   
00363 };
00364 
00371 extern enum edg_wll_ResubmissionResult edg_wll_StringToResubmissionResult(const char *name);
00372 
00379 extern char *edg_wll_ResubmissionResultToString(enum edg_wll_ResubmissionResult code);
00380 
00381 
00386 enum edg_wll_DoneStatus_code {
00387         EDG_WLL_DONE_UNDEFINED, 
00388         EDG_WLL_DONE_OK,        
00389         EDG_WLL_DONE_FAILED,    
00390         EDG_WLL_DONE_CANCELLED, 
00391 };
00392 
00399 extern enum edg_wll_DoneStatus_code edg_wll_StringToDoneStatus_code(const char *name);
00400 
00407 extern char *edg_wll_DoneStatus_codeToString(enum edg_wll_DoneStatus_code code);
00408 
00409 
00414 enum edg_wll_CancelStatus_code {
00415         EDG_WLL_CANCEL_UNDEFINED,       
00416         EDG_WLL_CANCEL_REQ,     
00417         EDG_WLL_CANCEL_REFUSE,  
00418         EDG_WLL_CANCEL_DONE,    
00419         EDG_WLL_CANCEL_ABORT,   
00420 };
00421 
00428 extern enum edg_wll_CancelStatus_code edg_wll_StringToCancelStatus_code(const char *name);
00429 
00436 extern char *edg_wll_CancelStatus_codeToString(enum edg_wll_CancelStatus_code code);
00437 
00438 
00443 enum edg_wll_ClearReason {
00444         EDG_WLL_CLEAR_UNDEFINED,        
00445         EDG_WLL_CLEAR_USER,     
00446         EDG_WLL_CLEAR_TIMEOUT,  
00447         EDG_WLL_CLEAR_NOOUTPUT, 
00448 };
00449 
00456 extern enum edg_wll_ClearReason edg_wll_StringToClearReason(const char *name);
00457 
00464 extern char *edg_wll_ClearReasonToString(enum edg_wll_ClearReason code);
00465 
00466 
00471 enum edg_wll_RegJobJobtype {
00472         EDG_WLL_REGJOB_UNDEFINED,       
00473         EDG_WLL_REGJOB_SIMPLE,  
00474         EDG_WLL_REGJOB_DAG,     
00475         EDG_WLL_REGJOB_PARTITIONABLE,   
00476         EDG_WLL_REGJOB_PARTITIONED,     
00477 };
00478 
00485 extern enum edg_wll_RegJobJobtype edg_wll_StringToRegJobJobtype(const char *name);
00486 
00493 extern char *edg_wll_RegJobJobtypeToString(enum edg_wll_RegJobJobtype code);
00494 
00495 
00496 
00501 #define _EDG_WLL_EVENT_COMMON \
00502         edg_wll_EventCode               type;\
00503         struct timeval          timestamp;      \
00504         struct timeval          arrived;        \
00505         char *          host;   \
00506         int             level;  \
00507         int             priority;       \
00508         edg_wlc_JobId           jobId;  \
00509         char *          seqcode;        \
00510         char *          user;   \
00511         edg_wll_Source          source; \
00512         char *          src_instance;   \
00513 
00514 
00519 typedef struct _edg_wll_AnyEvent {
00520 _EDG_WLL_EVENT_COMMON
00521 } edg_wll_AnyEvent;
00522 
00523 
00532 typedef struct _edg_wll_TransferEvent {
00533 _EDG_WLL_EVENT_COMMON
00534         edg_wll_Source  destination;    
00535         char *  dest_host;      
00536         char *  dest_instance;  
00537         char *  job;    
00538         enum edg_wll_TransferResult     result; 
00539         char *  reason; 
00540         char *  dest_jobid;     
00541 } edg_wll_TransferEvent;
00542 
00547 typedef struct _edg_wll_AcceptedEvent {
00548 _EDG_WLL_EVENT_COMMON
00549         edg_wll_Source  from;   
00550         char *  from_host;      
00551         char *  from_instance;  
00552         char *  local_jobid;    
00553 } edg_wll_AcceptedEvent;
00554 
00559 typedef struct _edg_wll_RefusedEvent {
00560 _EDG_WLL_EVENT_COMMON
00561         edg_wll_Source  from;   
00562         char *  from_host;      
00563         char *  from_instance;  
00564         char *  reason; 
00565 } edg_wll_RefusedEvent;
00566 
00571 typedef struct _edg_wll_EnQueuedEvent {
00572 _EDG_WLL_EVENT_COMMON
00573         char *  queue;  
00574         char *  job;    
00575         enum edg_wll_EnQueuedResult     result; 
00576         char *  reason; 
00577 } edg_wll_EnQueuedEvent;
00578 
00583 typedef struct _edg_wll_DeQueuedEvent {
00584 _EDG_WLL_EVENT_COMMON
00585         char *  queue;  
00586         char *  local_jobid;    
00587 } edg_wll_DeQueuedEvent;
00588 
00593 typedef struct _edg_wll_HelperCallEvent {
00594 _EDG_WLL_EVENT_COMMON
00595         char *  helper_name;    
00596         char *  helper_params;  
00597         enum edg_wll_HelperCallSrc_role src_role;       
00598 } edg_wll_HelperCallEvent;
00599 
00604 typedef struct _edg_wll_HelperReturnEvent {
00605 _EDG_WLL_EVENT_COMMON
00606         char *  helper_name;    
00607         char *  retval; 
00608         enum edg_wll_HelperReturnSrc_role       src_role;       
00609 } edg_wll_HelperReturnEvent;
00610 
00615 typedef struct _edg_wll_RunningEvent {
00616 _EDG_WLL_EVENT_COMMON
00617         char *  node;   
00618 } edg_wll_RunningEvent;
00619 
00624 typedef struct _edg_wll_ResubmissionEvent {
00625 _EDG_WLL_EVENT_COMMON
00626         enum edg_wll_ResubmissionResult result; 
00627         char *  reason; 
00628         char *  tag;    
00629 } edg_wll_ResubmissionEvent;
00630 
00635 typedef struct _edg_wll_DoneEvent {
00636 _EDG_WLL_EVENT_COMMON
00637         enum edg_wll_DoneStatus_code    status_code;    
00638         char *  reason; 
00639         int     exit_code;      
00640 } edg_wll_DoneEvent;
00641 
00646 typedef struct _edg_wll_CancelEvent {
00647 _EDG_WLL_EVENT_COMMON
00648         enum edg_wll_CancelStatus_code  status_code;    
00649         char *  reason; 
00650 } edg_wll_CancelEvent;
00651 
00656 typedef struct _edg_wll_AbortEvent {
00657 _EDG_WLL_EVENT_COMMON
00658         char *  reason; 
00659 } edg_wll_AbortEvent;
00660 
00665 typedef struct _edg_wll_ClearEvent {
00666 _EDG_WLL_EVENT_COMMON
00667         enum edg_wll_ClearReason        reason; 
00668 } edg_wll_ClearEvent;
00669 
00674 typedef struct _edg_wll_PurgeEvent {
00675 _EDG_WLL_EVENT_COMMON
00676 } edg_wll_PurgeEvent;
00677 
00682 typedef struct _edg_wll_MatchEvent {
00683 _EDG_WLL_EVENT_COMMON
00684         char *  dest_id;        
00685 } edg_wll_MatchEvent;
00686 
00691 typedef struct _edg_wll_PendingEvent {
00692 _EDG_WLL_EVENT_COMMON
00693         char *  reason; 
00694 } edg_wll_PendingEvent;
00695 
00700 typedef struct _edg_wll_RegJobEvent {
00701 _EDG_WLL_EVENT_COMMON
00702         char *  jdl;    
00703         char *  ns;     
00704         edg_wlc_JobId   parent; 
00705         enum edg_wll_RegJobJobtype      jobtype;        
00706         int     nsubjobs;       
00707         char *  seed;   
00708 } edg_wll_RegJobEvent;
00709 
00714 typedef struct _edg_wll_ChkptEvent {
00715 _EDG_WLL_EVENT_COMMON
00716         char *  tag;    
00717         char *  classad;        
00718 } edg_wll_ChkptEvent;
00719 
00724 typedef struct _edg_wll_ListenerEvent {
00725 _EDG_WLL_EVENT_COMMON
00726         char *  svc_name;       
00727         char *  svc_host;       
00728         uint16_t        svc_port;       
00729 } edg_wll_ListenerEvent;
00730 
00735 typedef struct _edg_wll_CurDescrEvent {
00736 _EDG_WLL_EVENT_COMMON
00737         char *  descr;  
00738 } edg_wll_CurDescrEvent;
00739 
00744 typedef struct _edg_wll_UserTagEvent {
00745 _EDG_WLL_EVENT_COMMON
00746         char *  name;   
00747         char *  value;  
00748 } edg_wll_UserTagEvent;
00749 
00754 typedef struct _edg_wll_ChangeACLEvent {
00755 _EDG_WLL_EVENT_COMMON
00756         char *  user_id;        
00757         int     user_id_type;   
00758         int     permission;     
00759         int     permission_type;        
00760         int     operation;      
00761 } edg_wll_ChangeACLEvent;
00762 
00767 typedef struct _edg_wll_NotificationEvent {
00768 _EDG_WLL_EVENT_COMMON
00769         edg_wll_NotifId notifId;        
00770         char *  owner;  
00771         char *  dest_host;      
00772         uint16_t        dest_port;      
00773         char *  jobstat;        
00774 } edg_wll_NotificationEvent;
00775 
00780 typedef struct _edg_wll_ResourceUsageEvent {
00781 _EDG_WLL_EVENT_COMMON
00782         char *  resource;       
00783         int     quantity;       
00784         char *  unit;   
00785 } edg_wll_ResourceUsageEvent;
00786 
00791 typedef struct _edg_wll_ReallyRunningEvent {
00792 _EDG_WLL_EVENT_COMMON
00793         char *  wn_seq; 
00794 } edg_wll_ReallyRunningEvent;
00795 
00796 #undef _EDG_WLL_EVENT_COMMON
00797 
00798 
00803 typedef union _edg_wll_Event {
00804         edg_wll_EventCode           type; /* it is probably never used */
00805         edg_wll_AnyEvent            any;
00806         edg_wll_TransferEvent   transfer;
00807         edg_wll_AcceptedEvent   accepted;
00808         edg_wll_RefusedEvent    refused;
00809         edg_wll_EnQueuedEvent   enQueued;
00810         edg_wll_DeQueuedEvent   deQueued;
00811         edg_wll_HelperCallEvent helperCall;
00812         edg_wll_HelperReturnEvent       helperReturn;
00813         edg_wll_RunningEvent    running;
00814         edg_wll_ResubmissionEvent       resubmission;
00815         edg_wll_DoneEvent       done;
00816         edg_wll_CancelEvent     cancel;
00817         edg_wll_AbortEvent      abort;
00818         edg_wll_ClearEvent      clear;
00819         edg_wll_PurgeEvent      purge;
00820         edg_wll_MatchEvent      match;
00821         edg_wll_PendingEvent    pending;
00822         edg_wll_RegJobEvent     regJob;
00823         edg_wll_ChkptEvent      chkpt;
00824         edg_wll_ListenerEvent   listener;
00825         edg_wll_CurDescrEvent   curDescr;
00826         edg_wll_UserTagEvent    userTag;
00827         edg_wll_ChangeACLEvent  changeACL;
00828         edg_wll_NotificationEvent       notification;
00829         edg_wll_ResourceUsageEvent      resourceUsage;
00830         edg_wll_ReallyRunningEvent      reallyRunning;
00831 } edg_wll_Event;
00832 
00833 
00838 extern edg_wll_Event *edg_wll_InitEvent(edg_wll_EventCode eventcode);
00839 
00840 
00849 void edg_wll_FreeEvent(
00850         edg_wll_Event * event
00851 );
00852 
00853 /*
00854  *@} end of group
00855  */
00856 
00857 #ifdef __cplusplus
00858 }
00859 #endif
00860 
00861 #endif /* __EDG_WORKLOAD_LOGGING_CLIENT_EVENTS_H__ */

Generated on Thu May 11 20:44:15 2006 for Glite LB Client: C - Interface by doxygen 1.3.5