Get alarm-list implementation.[Issue-Id: ODUHIGH-230]
[o-du/l2.git] / src / o1 / o1_client / Alarm.h
diff --git a/src/o1/o1_client/Alarm.h b/src/o1/o1_client/Alarm.h
new file mode 100644 (file)
index 0000000..3506f4b
--- /dev/null
@@ -0,0 +1,86 @@
+/*******************************************************************************
+################################################################################
+#   Copyright (c) [2020] [HCL Technologies Ltd.]                               #
+#                                                                              #
+#   Licensed under the Apache License, Version 2.0 (the "License");            #
+#   you may not use this file except in compliance with the License.           #
+#   You may obtain a copy of the License at                                    #
+#                                                                              #
+#       http://www.apache.org/licenses/LICENSE-2.0                             #
+#                                                                              #
+#   Unless required by applicable law or agreed to in writing, software        #
+#   distributed under the License is distributed on an "AS IS" BASIS,          #
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
+#   See the License for the specific language governing permissions and        #
+#   limitations under the License.                                             #
+################################################################################
+*******************************************************************************/
+
+/* This file contains definitions of Alarm structure */
+
+#ifndef __ALARM_H__
+#define __ALARM_H__
+
+#include <string.h>
+#define ALRM_ID_SIZE 10
+#define OBJ_INST_SIZE 15
+#define TEXT_SIZE 50
+#define DATE_TIME_SIZE 30
+
+typedef enum
+{
+   CRITICAL = 3, 
+   MAJOR = 4,
+   MINOR = 5,
+   WARNING = 6,
+   INDETERMINATE = 7,
+   CLEARED = 8
+}SeverityLevel;
+
+typedef enum
+{
+   COMMUNICATIONS_ALARM = 2,
+   QUALITY_OF_SERVICE_ALARM = 3,
+   PROCESSING_ERROR_ALARM = 4,
+   EQUIPMENT_ALARM = 5,
+   ENVIRONMENTAL_ALARM = 6,
+   INTEGRITY_VIOLATION = 7,
+   OPERATIONAL_VIOLATION = 8,
+   PHYSICAL_VIOLATION = 9,
+   SECURITY_SERVICE_OR_MECHANISM_VIOLATION = 10,
+   TIME_DOMAIN_VIOLATION = 11
+}EventType;
+
+typedef enum
+{
+   CLEAR = 0,
+   RAISE = 1
+}AlarmAction;
+
+typedef struct
+{
+   AlarmAction action;
+}MsgHeader;
+
+typedef struct
+{
+   MsgHeader msgHeader;
+   EventType eventType;
+   char objectClassObjectInstance[OBJ_INST_SIZE];
+   char alarmId[ALRM_ID_SIZE];
+   char alarmRaiseTime[DATE_TIME_SIZE];
+   char alarmChangeTime[DATE_TIME_SIZE];
+   char alarmClearTime[DATE_TIME_SIZE];
+   char probableCause[TEXT_SIZE];
+   SeverityLevel perceivedSeverity;
+   char rootCauseIndicator[TEXT_SIZE]; 
+   char additionalText[TEXT_SIZE];
+   char additionalInfo[TEXT_SIZE];
+   char specificProblem[TEXT_SIZE];
+}AlarmRecord;
+
+#endif
+
+/**********************************************************************
+         End of file
+**********************************************************************/