Main Page
Related Pages
Modules
Classes
Files
File List
File Members
src
SAFplus
components
alarm
include
clAlarmDefinitions.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2002-2012 OpenClovis Solutions Inc. All Rights Reserved.
3
*
4
* This file is available under a commercial license from the
5
* copyright holder or the GNU General Public License Version 2.0.
6
*
7
* The source code for this program is not published or otherwise
8
* divested of its trade secrets, irrespective of what has been
9
* deposited with the U.S. Copyright office.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* General Public License for more details.
15
*
16
* For more information, see the file COPYING provided with this
17
* material.
18
*/
19
/*******************************************************************************
20
* ModuleName : alarm
21
* File : clAlarmDefinitions.h
22
*******************************************************************************/
23
24
/*******************************************************************************
25
* Description :
26
*
27
* This file has alarm related definitions
28
*
29
*
30
*****************************************************************************/
31
43
#ifndef _CL_ALARM_DEFINITIONS_H_
44
#define _CL_ALARM_DEFINITIONS_H_
45
46
#ifdef __cplusplus
47
extern
"C"
{
48
#endif
49
50
#include <
clCommon.h
>
51
#include <clVersion.h>
52
#include <
clCorMetaData.h
>
53
54
/****************************************************************************
55
* Type/Constant definitions
56
****************************************************************************/
57
62
/****************************************************************************
63
* Categories of Alarm
64
****************************************************************************/
69
#define ClAlarmEventName "CL_ALARM_EVENT_CHANNEL"
70
75
#define CL_ALARM_EVENT 1
76
81
typedef
enum
{
82
86
CL_ALARM_CATEGORY_INVALID
= 0,
87
91
CL_ALARM_CATEGORY_COMMUNICATIONS
= 1,
92
96
CL_ALARM_CATEGORY_QUALITY_OF_SERVICE
= 2,
97
101
CL_ALARM_CATEGORY_PROCESSING_ERROR
= 3,
102
106
CL_ALARM_CATEGORY_EQUIPMENT
= 4,
107
111
CL_ALARM_CATEGORY_ENVIRONMENTAL
= 5,
112
113
114
}
ClAlarmCategoryTypeT
;
115
116
/****************************************************************************
117
* Specific problem of Alarm
118
****************************************************************************/
119
126
typedef
ClUint32T
ClAlarmSpecificProblemT
;
127
131
typedef
ClUint32T
ClAlarmHandleT
;
132
133
/****************************************************************************
134
* Severities of Alarm
135
****************************************************************************/
136
142
typedef
enum
{
143
147
CL_ALARM_SEVERITY_INVALID
= 0,
148
152
CL_ALARM_SEVERITY_CRITICAL
= 1,
153
157
CL_ALARM_SEVERITY_MAJOR
= 2,
158
162
CL_ALARM_SEVERITY_MINOR
= 3,
163
167
CL_ALARM_SEVERITY_WARNING
= 4,
168
172
CL_ALARM_SEVERITY_INDETERMINATE
= 5,
173
177
CL_ALARM_SEVERITY_CLEAR
= 6
178
179
}
ClAlarmSeverityTypeT
;
180
181
/****************************************************************************
182
* List of probable cause of alarms.
183
****************************************************************************/
184
189
typedef
enum
{
193
CL_ALARM_ID_INVALID
=0,
202
CL_ALARM_PROB_CAUSE_LOSS_OF_SIGNAL
= 1,
203
207
CL_ALARM_PROB_CAUSE_LOSS_OF_FRAME
,
208
212
CL_ALARM_PROB_CAUSE_FRAMING_ERROR
,
213
217
CL_ALARM_PROB_CAUSE_LOCAL_NODE_TRANSMISSION_ERROR
,
218
222
CL_ALARM_PROB_CAUSE_REMOTE_NODE_TRANSMISSION_ERROR
,
223
227
CL_ALARM_PROB_CAUSE_CALL_ESTABLISHMENT_ERROR
,
228
232
CL_ALARM_PROB_CAUSE_DEGRADED_SIGNAL
,
233
237
CL_ALARM_PROB_CAUSE_COMMUNICATIONS_SUBSYSTEM_FAILURE
,
238
242
CL_ALARM_PROB_CAUSE_COMMUNICATIONS_PROTOCOL_ERROR
,
243
247
CL_ALARM_PROB_CAUSE_LAN_ERROR
,
248
252
CL_ALARM_PROB_CAUSE_DTE
,
253
261
CL_ALARM_PROB_CAUSE_RESPONSE_TIME_EXCESSIVE
,
262
266
CL_ALARM_PROB_CAUSE_QUEUE_SIZE_EXCEEDED
,
267
271
CL_ALARM_PROB_CAUSE_BANDWIDTH_REDUCED
,
272
276
CL_ALARM_PROB_CAUSE_RETRANSMISSION_RATE_EXCESSIVE
,
277
281
CL_ALARM_PROB_CAUSE_THRESHOLD_CROSSED
,
282
286
CL_ALARM_PROB_CAUSE_PERFORMANCE_DEGRADED
,
287
291
CL_ALARM_PROB_CAUSE_CONGESTION
,
292
296
CL_ALARM_PROB_CAUSE_RESOURCE_AT_OR_NEARING_CAPACITY
,
297
305
CL_ALARM_PROB_CAUSE_STORAGE_CAPACITY_PROBLEM
,
306
310
CL_ALARM_PROB_CAUSE_VERSION_MISMATCH
,
311
315
CL_ALARM_PROB_CAUSE_CORRUPT_DATA
,
316
320
CL_ALARM_PROB_CAUSE_CPU_CYCLES_LIMIT_EXCEEDED
,
321
325
CL_ALARM_PROB_CAUSE_SOFWARE_ERROR
,
326
330
CL_ALARM_PROB_CAUSE_SOFTWARE_PROGRAM_ERROR
,
331
335
CL_ALARM_PROB_CAUSE_SOFWARE_PROGRAM_ABNORMALLY_TERMINATED
,
336
340
CL_ALARM_PROB_CAUSE_FILE_ERROR
,
341
345
CL_ALARM_PROB_CAUSE_OUT_OF_MEMORY
,
346
350
CL_ALARM_PROB_CAUSE_UNDERLYING_RESOURCE_UNAVAILABLE
,
351
356
CL_ALARM_PROB_CAUSE_APPLICATION_SUBSYSTEM_FAILURE
,
357
361
CL_ALARM_PROB_CAUSE_CONFIGURATION_OR_CUSTOMIZATION_ERROR
,
362
370
CL_ALARM_PROB_CAUSE_POWER_PROBLEM
,
371
376
CL_ALARM_PROB_CAUSE_TIMING_PROBLEM
,
377
381
CL_ALARM_PROB_CAUSE_PROCESSOR_PROBLEM
,
382
386
CL_ALARM_PROB_CAUSE_DATASET_OR_MODEM_ERROR
,
387
391
CL_ALARM_PROB_CAUSE_MULTIPLEXER_PROBLEM
,
392
396
CL_ALARM_PROB_CAUSE_RECEIVER_FAILURE
,
397
401
CL_ALARM_PROB_CAUSE_TRANSMITTER_FAILURE
,
402
406
CL_ALARM_PROB_CAUSE_RECEIVE_FAILURE
,
407
411
CL_ALARM_PROB_CAUSE_TRANSMIT_FAILURE
,
412
416
CL_ALARM_PROB_CAUSE_OUTPUT_DEVICE_ERROR
,
417
421
CL_ALARM_PROB_CAUSE_INPUT_DEVICE_ERROR
,
422
426
CL_ALARM_PROB_CAUSE_INPUT_OUTPUT_DEVICE_ERROR
,
427
431
CL_ALARM_PROB_CAUSE_EQUIPMENT_MALFUNCTION
,
432
436
CL_ALARM_PROB_CAUSE_ADAPTER_ERROR
,
437
445
CL_ALARM_PROB_CAUSE_TEMPERATURE_UNACCEPTABLE
,
446
450
CL_ALARM_PROB_CAUSE_HUMIDITY_UNACCEPTABLE
,
451
455
CL_ALARM_PROB_CAUSE_HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM
,
456
460
CL_ALARM_PROB_CAUSE_FIRE_DETECTED
,
461
465
CL_ALARM_PROB_CAUSE_FLOOD_DETECTED
,
466
470
CL_ALARM_PROB_CAUSE_TOXIC_LEAK_DETECTED
,
471
475
CL_ALARM_PROB_CAUSE_LEAK_DETECTED
,
476
480
CL_ALARM_PROB_CAUSE_PRESSURE_UNACCEPTABLE
,
481
485
CL_ALARM_PROB_CAUSE_EXCESSIVE_VIBRATION
,
486
490
CL_ALARM_PROB_CAUSE_MATERIAL_SUPPLY_EXHAUSTED
,
491
495
CL_ALARM_PROB_CAUSE_PUMP_FAILURE
,
496
500
CL_ALARM_PROB_CAUSE_ENCLOSURE_DOOR_OPEN
501
}
ClAlarmProbableCauseT
;
502
503
509
typedef
enum
{
513
CL_ALARM_STATE_INVALID
= -1,
517
CL_ALARM_STATE_CLEAR
= 0,
521
CL_ALARM_STATE_ASSERT
= 1,
525
CL_ALARM_STATE_SUPPRESSED
= 2,
529
CL_ALARM_STATE_UNDER_SOAKING
= 3
530
531
}
ClAlarmStateT
;
532
543
typedef
struct
544
{
548
ClAlarmProbableCauseT
probCause
;
549
553
ClNameT
compName
;
554
558
ClCorMOIdT
moId
;
559
566
ClAlarmStateT
alarmState
;
567
571
ClAlarmCategoryTypeT
category
;
572
577
ClAlarmSpecificProblemT
specificProblem
;
578
582
ClAlarmSeverityTypeT
severity
;
583
587
ClTimeT
eventTime
;
588
592
ClUint32T
len
;
593
597
ClUint8T buff[1];
598
599
}
ClAlarmInfoT
;
600
604
typedef
ClAlarmInfoT
*
ClAlarmInfoPtrT
;
605
611
typedef
struct
612
{
616
ClAlarmHandleT
alarmHandle
;
620
ClAlarmInfoT
alarmInfo
;
621
}
ClAlarmHandleInfoT
;
622
623
627
typedef
enum
628
{
634
CL_ALARM_REPORT
= 0,
635
639
CL_ALARM_POLL
640
}
ClAlarmFetchModeT
;
641
645
typedef
enum
646
{
654
CL_ALARM_RULE_NO_RELATION
=0,
659
CL_ALARM_RULE_LOGICAL_OR
,
664
CL_ALARM_RULE_LOGICAL_AND
,
669
CL_ALARM_RULE_RELATION_INVALID
,
670
}
ClAlarmRuleRelationT
;
671
672
677
typedef
struct
{
681
ClAlarmProbableCauseT
probableCause
;
682
686
ClAlarmSpecificProblemT
specificProblem
;
687
}
ClAlarmRuleEntryT
;
688
689
typedef
ClAlarmRuleEntryT
VDECL_VER(ClAlarmIdT, 4, 1, 0);
690
696
typedef
struct
697
{
703
ClAlarmRuleRelationT
relation
;
704
709
ClAlarmRuleEntryT
*
alarmIds
;
710
}
ClAlarmRuleInfoT
;
711
712
720
typedef
struct
ClAlarmProfile
721
{
722
727
ClAlarmCategoryTypeT
category
;
728
732
ClAlarmProbableCauseT
probCause
;
733
737
ClAlarmSeverityTypeT
severity
;
738
742
ClAlarmFetchModeT
fetchMode
;
743
747
ClUint32T
assertSoakingTime
;
748
752
ClUint32T
clearSoakingTime
;
753
757
ClAlarmRuleInfoT
*
generationRule
;
758
762
ClAlarmRuleInfoT
*
suppressionRule
;
763
767
ClAlarmSpecificProblemT
specificProblem
;
768
}
ClAlarmProfileT
;
769
775
typedef
struct
ClAlarmComponentResAlarms
776
{
777
781
ClCorClassTypeT
moClassID
;
782
787
ClUint32T
pollingTime
;
788
793
ClAlarmProfileT
*
MoAlarms
;
794
}
ClAlarmComponentResAlarmsT
;
795
799
typedef
struct
ClAlarmPendingAlmInfo
800
{
804
ClAlarmHandleT
alarmHandle
;
805
809
ClAlarmInfoPtrT
pAlarmInfo
;
810
}
ClAlarmPendingAlmInfoT
;
811
815
typedef
ClAlarmPendingAlmInfoT
*
ClAlarmPendingAlmInfoPtrT
;
816
820
typedef
struct
ClAlarmPendingAlmList
821
{
827
ClUint32T
noOfPendingAlarm
;
828
834
ClAlarmPendingAlmInfoPtrT
pAlarmList
;
835
}
ClAlarmPendingAlmListT
;
836
840
typedef
ClAlarmPendingAlmListT
*
ClAlarmPendingAlmListPtrT
;
841
842
#ifdef __cplusplus
843
}
844
#endif
845
846
#endif
/* _CL_ALARM_DEFINITIONS_H_ */
847
Generated on Tue Jan 10 10:29:15 PST 2012 for OpenClovis SDK using
Doxygen