4 * Created on: Feb 19, 2019
8 #ifndef EXAMPLES_NTSIMULATOR_UTILS_H_
9 #define EXAMPLES_NTSIMULATOR_UTILS_H_
12 #include "sysrepo/values.h"
13 #include "sysrepo/xpath.h"
15 #include <curl/curl.h>
19 #include <cjson/cJSON.h>
24 #define NETCONF_CONNECTIONS_PER_DEVICE 10
26 #define PREPARE_ADD_NEW_VALUE(v, num) {\
30 #define CREATE_NEW_VALUE(rc, v, num) {\
31 rc = sr_realloc_values(num, num+1, &v);\
32 if (SR_ERR_OK != rc) {\
38 void set_curl_common_info_ves(CURL *curl);
40 long random_at_most(long max);
41 void getCurrentDateAndTime(char *date_and_time);
42 int getSecondsFromLastQuarterInterval(void);
43 int getSecondsFromLastDayInterval(void);
44 void getPreviousQuarterInterval(int number_of_intervals, char *date_and_time);
45 void getPreviousDayPmTimestamp(int number_of_intervals, char *date_and_time);
46 long int getMicrosecondsSinceEpoch(void);
47 void prepare_ves_message_curl(CURL *curl);
49 cJSON* vesCreateCommonEventHeader(char *domain, char *event_type, char *source_name, int seq_id);
50 cJSON* vesCreateHeartbeatFields(int heartbeat_interval);
51 cJSON* vesCreatePnfRegistrationFields(int port, bool is_tls);
52 cJSON* vesCreateFaultFields(char *alarm_condition, char *alarm_object, char *severity, char *date_time, char *specific_problem);
54 char* readConfigFileInString(void);
55 void writeConfigFile(char *config);
57 int getFaultNotificationDelayPeriodFromConfigJson(void);
58 int getVesHeartbeatPeriodFromConfigJson(void);
59 char* getVesAuthMethodFromConfigJson(void);
60 char* getVesIpFromConfigJson(void);
61 int getVesPortFromConfigJson(void);
62 int getVesRegistrationFromConfigJson(void);
63 int getNetconfAvailableFromConfigJson(void);
64 int getVesAvailableFromConfigJson(void);
66 void generateRandomMacAddress(char *mac_address);
68 #endif /* EXAMPLES_NTSIMULATOR_UTILS_H_ */