OpenClovis Logo

Files | Classes | Macros | Typedefs | Functions
API Reference Pages
Fault Manager

Defines, Structures, Typedefs, Functions. More...

Files

file  clFaultApi.h
 Header file of Fault Related APIs.
file  clFaultDefinitions.h
 Header file of Definitions for the Fault record structure.
file  clFaultErrorId.h
 Header file of Fault Service related Error Codes.
file  clFaultRepairHandlers.h
 Header file of Definitions for the Fault Repair Handling.

Classes

struct  ClFaultEvent
 The ClFaultEventT data structure is used by components like Alarm Manager, Component Manager, and Chassis Manager to report faults. More...
struct  ClFaultRecord
 Fault Manager uses the ClFaultRecordT data structure to store information regarding the faults that it has processed. More...
struct  ClFaultRepairHandlerTable
 The ClFaultRepairHandlerTableT structure is used to capture the repair handlers per MoClassType. More...

Macros

#define CL_FAULT_ERR_ADD_FAILED   0x109
 The fault is not added.
#define CL_FAULT_ERR_CLIENT_FINALIZE_FAILED   0x111
 Fault client library finalize failure.
#define CL_FAULT_ERR_CLIENT_INIT_FAILED   0x110
 Fault client library initialize failure.
#define CL_FAULT_ERR_COMPNAME_NULL   0x112
 Component name passed to fault is NULL.
#define CL_FAULT_ERR_CREATE_FAILED   0x108
 The fault is not created.
#define CL_FAULT_ERR_DUPLICATE   0x100
 The fault occured is duplicate.
#define CL_FAULT_ERR_FAULT_HANDLER_NOT_FOUND   0x10a
 The fault handler is not found.
#define CL_FAULT_ERR_FAULT_NOT_FOUND   0x101
 The fault is not found.
#define CL_FAULT_ERR_HISTORY_ADD_ERROR   0x104
 The fault is not being added to the history.
#define CL_FAULT_ERR_HISTORY_CREATE_ERROR   0x105
 The fault is not being created in the history.
#define CL_FAULT_ERR_HISTORY_MUTEX_CREATE_ERROR   0x106
 A violation of shared data occurs when a fault is being created in the history.
#define CL_FAULT_ERR_HISTORY_QUERY_ERROR   0x107
 The fault is not being queried from the history.
#define CL_FAULT_ERR_INTERNAL   0x10c
 Fault Internal Error.
#define CL_FAULT_ERR_INVALID_CATEGORY   0x10d
 The fault category is invalid.
#define CL_FAULT_ERR_INVALID_SEVERITY   0x10e
 The fault severity is invalid.
#define CL_FAULT_ERR_INVLD_VAL   0x102
 The fault is invalid.
#define CL_FAULT_ERR_MOID_NULL   0x10f
 MOID of the fault is NULL.
#define CL_FAULT_ERR_REPAIR_SEQ_TBL_NULL   0x10b
 The fault sequence table is NULL.
#define CL_FAULT_ERR_SEVERITY_EXCEED   0x103
 The fault has exceeded the severity level.
#define CL_FAULT_ERR_VERSION_UNSUPPORTED   0x113
 On version mismatch.
#define CL_FAULT_RC(ERROR_CODE)   CL_RC(CL_CID_FAULTS, (ERROR_CODE))
 This is useful while comparing error codes returned by two or more components.

Typedefs

typedef ClFaultEventTClFaultEventPtr
 Type defining pointer to fault event.
typedef struct ClFaultEvent ClFaultEventT
 The ClFaultEventT data structure is used by components like Alarm Manager, Component Manager, and Chassis Manager to report faults.
typedef ClFaultRecordTClFaultRecordPtr
 Type-defining pointer to the fault record.
typedef struct ClFaultRecord ClFaultRecordT
 Fault Manager uses the ClFaultRecordT data structure to store information regarding the faults that it has processed.
typedef ClRcT(* ClFaultRepairHandlerT )(ClAlarmInfoT *pAlarmInfo, SaAmfRecommendedRecoveryT recoveryAction)
 This is the function pointer type for repair handlers.
typedef struct
ClFaultRepairHandlerTable 
ClFaultRepairHandlerTableT
 The ClFaultRepairHandlerTableT structure is used to capture the repair handlers per MoClassType.
typedef ClRcT(* ClFaultSeqTblT )(ClFaultRecordPtr hRec)
 Type defining fault sequence table as a function pointer, which accepts pointer to fault record as an argument.

Functions

ClRcT clFaultRepairAction (CL_IN ClIocAddressT iocAddress, CL_IN ClAlarmHandleT alarmHandle, CL_IN ClUint32T recoveryActionTaken)
 Notifies fault to the "Fault service" for taking repair action.
ClRcT clFaultReport (CL_IN ClNameT *compName, CL_IN ClCorMOIdPtrT hMoId, CL_IN ClAlarmStateT alarmState, CL_IN ClAlarmCategoryTypeT category, CL_IN ClAlarmSpecificProblemT specificProblem, CL_IN ClAlarmSeverityTypeT severity, CL_IN ClAlarmProbableCauseT cause, CL_IN void *pData, CL_IN ClUint32T len)
 Reports a fault to the Fault service.
ClRcT clFaultSvcLibFinalize (void)
 Cleans up the Fault Manager library and frees resources allocated to it.
ClRcT clFaultSvcLibInitialize (void)
 Initializes the Fault Manager Library.
ClRcT clFaultVersionVerify (CL_INOUT ClVersionT *version)
 Verifies the version of the FM library supported by the FM.

Detailed Description

Defines, Structures, Typedefs, Functions.

Macro Definition Documentation

#define CL_FAULT_ERR_DUPLICATE   0x100

The fault occured is duplicate.

It is a carbon copy of a fault that has occured earlier.

#define CL_FAULT_RC (   ERROR_CODE)    CL_RC(CL_CID_FAULTS, (ERROR_CODE))

This is useful while comparing error codes returned by two or more components.

The individual component IDs can be extracted if the error returned by them is the same.

Typedef Documentation

typedef struct ClFaultRecord ClFaultRecordT

Fault Manager uses the ClFaultRecordT data structure to store information regarding the faults that it has processed.

The faults are stored as ClFaultRecordT as a part of fault probation history.

Function Documentation

ClRcT clFaultRepairAction ( CL_IN ClIocAddressT  iocAddress,
CL_IN ClAlarmHandleT  alarmHandle,
CL_IN ClUint32T  recoveryActionTaken 
)

Notifies fault to the "Fault service" for taking repair action.

Header File:
clFaultApi.h
Parameters
iocAddressIocAddress of the node on which the fault occurred.
alarmHandleAlarm Handle which is used to get the corresponding alarm information and execute the repair handler for the matching moclass type
recoveryActionTakenRecovery action taken by AMF.
Return values
CL_OKThe API executed successfully.
CL_ERR_NO_MEMORYOn memory allocation failure.
CL_ERR_INVALID_HANDLEThe alarmHandle passed is invalid
Description:
This function is used by AMF to inform Fault Manager to take repair actions corresponding to the fault. These kind of faults are initially raised as service-impacting alarm. The AMF does service recovery and informs Fault using this API for subsequent repair action. The role played by FM is to execute the repair handler configured by the user. The repair handlers are configured per MoClassType.
ClRcT clFaultReport ( CL_IN ClNameT compName,
CL_IN ClCorMOIdPtrT  hMoId,
CL_IN ClAlarmStateT  alarmState,
CL_IN ClAlarmCategoryTypeT  category,
CL_IN ClAlarmSpecificProblemT  specificProblem,
CL_IN ClAlarmSeverityTypeT  severity,
CL_IN ClAlarmProbableCauseT  cause,
CL_IN void *  pData,
CL_IN ClUint32T  len 
)

Reports a fault to the Fault service.

Header File:
clFaultApi.h
Parameters
compNameName of the component on which the fault occurred.
hMoIdHandler of the MoId of the object on which the fault occurred.
alarmStateState of the alarm, either assert or clear.
categoryCategory of the fault.
specificProblemSpecific-Problem of the fault. The specific problem is a means of segregating the duplicate probable causes which fall under the same probable cause list but are different with respect to the application. This information lies with the user/application and the interpretation solely rests in its hands.
severitySeverity of the fault.
causeProbable cause of the fault.
pDataSome additional information about the fault being notified. Additional information may be some message about the fault which the application notifies to FM.
lenLength of pData, the additional information.
Return values
CL_OKThe API executed successfully.
CL_FAULT_ERR_MOID_NULLMoId passed to the fault is NULL.
CL_FAULT_ERR_COMPNAME_NULLComponent name passed to fault is NULL.
CL_FAULT_ERR_INVALID_CATEGORYFault is of invalid category. These categories are mentioned in ITUX.733.
CL_FAULT_ERR_INVALID_SEVERITYFault is of invalid severity. These severity levels are mentioned in ITUX.733.
CL_ERR_NO_MEMORYOn memory allocation failure.
Description:
This function is used to report non-service impacting alarms that occurred in the system. This is a blocking call and will result in the handlers being called. The handlers are configured during modeling time and corresponds to a combination of category and severity. Five(5) handlers are configured for each combination of category and severity. These handlers are assigned sequence nos 1 to 5. When identical faults corresponding to the same category, cause, severity and specificProblem are reported within a probation period, the faults get escalated. This escalation is provided by invoking the next handler in the sequence. The implementation of the handlers is left to the user.
Library File:
ClFaultClient
ClRcT clFaultSvcLibFinalize ( void  )

Cleans up the Fault Manager library and frees resources allocated to it.

Header File:
clFaultApi.h
Parameters:
None
Return values
CL_OKThe API executed successfully.
Description:
This function is used to clean up any resources allocated during the initialization of Fault Service. This must be called when the services are no longer required.
Library File:
ClFaultClient
See Also
clFaultSvcLibInitialize()
ClRcT clFaultSvcLibInitialize ( void  )

Initializes the Fault Manager Library.

Header File:
clFaultApi.h
Parameters:
None
Return values
CL_OKThe API executed successfully.
Description:
This function is used to initialize the Fault Manager Library.
Library File(s):
ClFaultClient
See Also
clFaultSvcLibFinalize()
ClRcT clFaultVersionVerify ( CL_INOUT ClVersionT version)

Verifies the version of the FM library supported by the FM.

Header File:
clFaultApi.h
Parameters
version(in/out) As an input parameter, this contains the version queried by you. In the output parameter, the supported version is returned by this function.
Return values
CL_OKThe API executed successfully.
CL_FAULT_ERR_VERSION_UNSUPPORTEDThe version supplied is incompatible.
Description:
This function is used to check for version compatibility with the Fault client. When the version supplied by the Application is not compatible, the supported version is returned in the out parameter version
Library File:
ClFaultClient

Generated on Tue Jan 10 10:29:15 PST 2012 for OpenClovis SDK using Doxygen