Initial commit of the O1 simulator framework.
[sim/o1-interface.git] / ntsimulator / inc / utils / utils.h
diff --git a/ntsimulator/inc/utils/utils.h b/ntsimulator/inc/utils/utils.h
new file mode 100644 (file)
index 0000000..ceee130
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * utils.h
+ *
+ *  Created on: Feb 19, 2019
+ *      Author: parallels
+ */
+
+#ifndef EXAMPLES_NTSIMULATOR_UTILS_H_
+#define EXAMPLES_NTSIMULATOR_UTILS_H_
+
+#include "sysrepo.h"
+#include "sysrepo/values.h"
+#include "sysrepo/xpath.h"
+
+#include <curl/curl.h>
+#include <stdlib.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <cjson/cJSON.h>
+
+#define TRUE 1
+#define FALSE 0
+
+#define NETCONF_CONNECTIONS_PER_DEVICE 10
+
+#define PREPARE_ADD_NEW_VALUE(v, num)  {\
+                                                                               num++;\
+                                                                               }
+
+#define CREATE_NEW_VALUE(rc, v, num)   {\
+                                                                               rc = sr_realloc_values(num, num+1, &v);\
+                                                                               if (SR_ERR_OK != rc) {\
+                                                                                       return rc;\
+                                                                               }\
+                                                                               num++;\
+                                                                               }
+
+void           set_curl_common_info_ves(CURL *curl);
+
+long           random_at_most(long max);
+void           getCurrentDateAndTime(char *date_and_time);
+int            getSecondsFromLastQuarterInterval(void);
+int            getSecondsFromLastDayInterval(void);
+void           getPreviousQuarterInterval(int number_of_intervals, char *date_and_time);
+void           getPreviousDayPmTimestamp(int number_of_intervals, char *date_and_time);
+long int       getMicrosecondsSinceEpoch(void);
+void           prepare_ves_message_curl(CURL *curl);
+
+cJSON* vesCreateCommonEventHeader(char *domain, char *event_type, char *source_name, int seq_id);
+cJSON* vesCreateHeartbeatFields(int heartbeat_interval);
+cJSON* vesCreatePnfRegistrationFields(int port, bool is_tls);
+cJSON* vesCreateFaultFields(char *alarm_condition, char *alarm_object, char *severity, char *date_time, char *specific_problem);
+
+char*  readConfigFileInString(void);
+void   writeConfigFile(char *config);
+
+int    getFaultNotificationDelayPeriodFromConfigJson(void);
+int    getVesHeartbeatPeriodFromConfigJson(void);
+char*  getVesAuthMethodFromConfigJson(void);
+char*  getVesIpFromConfigJson(void);
+int    getVesPortFromConfigJson(void);
+int    getVesRegistrationFromConfigJson(void);
+int    getNetconfAvailableFromConfigJson(void);
+int    getVesAvailableFromConfigJson(void);
+
+void   generateRandomMacAddress(char *mac_address);
+
+#endif /* EXAMPLES_NTSIMULATOR_UTILS_H_ */