AT&T ECOMP Vendor Event Listener library  0.1
evel_internal.h
Go to the documentation of this file.
1 #ifndef EVEL_INTERNAL_INCLUDED
2 #define EVEL_INTERNAL_INCLUDED
3 
4 /**************************************************************************/
43 #include "evel.h"
44 
45 /*****************************************************************************/
46 /* Define some type-safe min/max macros. */
47 /*****************************************************************************/
48 #define max(a,b) \
49  ({ __typeof__ (a) _a = (a); \
50  __typeof__ (b) _b = (b); \
51  _a > _b ? _a : _b; })
52 
53 #define min(a,b) \
54  ({ __typeof__ (a) _a = (a); \
55  __typeof__ (b) _b = (b); \
56  _a < _b ? _a : _b; })
57 
58 
59 /**************************************************************************/
62 #define EVEL_CT_ASSERT(X) switch (0) {case 0: case (X):;}
63 
64 /**************************************************************************/
67 extern char * functional_role;
68 
69 /**************************************************************************/
73 
74 /**************************************************************************/
77 typedef struct memory_chunk {
78  char * memory;
79  size_t size;
80 } MEMORY_CHUNK;
81 
82 /**************************************************************************/
85 typedef enum {
89 
90 /**************************************************************************/
93 typedef enum {
102 
103 /**************************************************************************/
107 typedef struct event_internal {
111 
112 /**************************************************************************/
116 typedef struct evel_suppressed_nv_pairs {
117 
118  /***************************************************************************/
119  /* Mandatory fields */
120  /* JSON equivalent field: nvPairFieldName */
121  /***************************************************************************/
123 
124  /***************************************************************************/
125  /* Optional fields */
126  /* JSON equivalent field: suppressedNvPairNames */
127  /* Type of each list entry: char * */
128  /***************************************************************************/
130 
131  /***************************************************************************/
132  /* Hash table containing suppressed_nv_pair_names as keys. */
133  /***************************************************************************/
134  struct hsearch_data * hash_nv_pair_names;
135 
137 
138 /**************************************************************************/
142 typedef struct evel_throttle_spec {
143 
144  /***************************************************************************/
145  /* List of field names to be suppressed. */
146  /* JSON equivalent field: suppressedFieldNames */
147  /* Type of each list entry: char * */
148  /***************************************************************************/
150 
151  /***************************************************************************/
152  /* List of name-value pairs to be suppressed. */
153  /* JSON equivalent field: suppressedNvPairsList */
154  /* Type of each list entry: EVEL_SUPPRESSED_NV_PAIRS * */
155  /***************************************************************************/
157 
158  /***************************************************************************/
159  /* Hash table containing suppressed_nv_pair_names as keys. */
160  /***************************************************************************/
161  struct hsearch_data * hash_field_names;
162 
163  /***************************************************************************/
164  /* Hash table containing nv_pair_field_name as keys, and */
165  /* suppressed_nv_pairs_list as values. */
166  /***************************************************************************/
167  struct hsearch_data * hash_nv_pairs_list;
168 
170 
171 /*****************************************************************************/
172 /* RFC2822 format string for strftime. */
173 /*****************************************************************************/
174 #define EVEL_RFC2822_STRFTIME_FORMAT "%a, %d %b %Y %T %z"
175 
176 /*****************************************************************************/
177 /* EVEL_JSON_BUFFER depth at which we throttle fields. */
178 /*****************************************************************************/
179 #define EVEL_THROTTLE_FIELD_DEPTH 3
180 
181 /**************************************************************************/
196 EVEL_ERR_CODES event_handler_initialize(const char * const event_api_url,
197  const char * const throt_api_url,
198  const char * const username,
199  const char * const password,
200  int verbosity);
201 
202 /**************************************************************************/
217 
218 /**************************************************************************/
229 
230 /**************************************************************************/
244 
245 /**************************************************************************/
254 
255 /**************************************************************************/
262 void evel_init_event_instance_id(EVEL_EVENT_INSTANCE_ID * const instance_id,
263  const char * const vendor_id,
264  const char * const event_id);
265 
266 /**************************************************************************/
271 void evel_free_event_instance_id(EVEL_EVENT_INSTANCE_ID * const instance_id);
272 
273 /*****************************************************************************/
274 /* Structure to hold JSON buffer and associated tracking, as it is written. */
275 /*****************************************************************************/
276 typedef struct evel_json_buffer
277 {
278  char * json;
279  int offset;
280  int max_size;
281 
282  /***************************************************************************/
283  /* The working throttle specification, which can be NULL. */
284  /***************************************************************************/
286 
287  /***************************************************************************/
288  /* Current object/list nesting depth. */
289  /***************************************************************************/
290  int depth;
291 
292  /***************************************************************************/
293  /* The checkpoint. */
294  /***************************************************************************/
296 
298 
299 /**************************************************************************/
306  EVENT_HEADER * event);
307 
308 /**************************************************************************/
315  EVEL_EVENT_INSTANCE_ID * instance_id);
316 
317 /**************************************************************************/
324  EVENT_FAULT * event);
325 
326 /**************************************************************************/
333  EVENT_MEASUREMENT * event);
334 
335 /**************************************************************************/
343  EVENT_MOBILE_FLOW * event);
344 
345 /**************************************************************************/
352  EVENT_REPORT * event);
353 
354 /**************************************************************************/
362  EVENT_SERVICE * const event);
363 
364 /**************************************************************************/
371  EVENT_SIGNALING * const event);
372 
373 /**************************************************************************/
380  EVENT_STATE_CHANGE * state_change);
381 
382 /**************************************************************************/
389  EVENT_SYSLOG * event);
390 
391 /**************************************************************************/
398  EVENT_OTHER * event);
399 
400 /**************************************************************************/
405 void evel_set_next_event_sequence(const int sequence);
406 
407 /**************************************************************************/
415 void evel_handle_event_response(const MEMORY_CHUNK * const chunk,
416  MEMORY_CHUNK * const post);
417 
418 /**************************************************************************/
427  char * const json,
428  const int max_size,
429  EVEL_THROTTLE_SPEC * throttle_spec);
430 
431 /**************************************************************************/
440  const char * const key,
441  const EVEL_OPTION_STRING * const option);
442 
443 /**************************************************************************/
451  const char * const key,
452  const char * const value);
453 
454 /**************************************************************************/
463  const char * const key,
464  const EVEL_OPTION_INT * const option);
465 
466 /**************************************************************************/
474  const char * const key,
475  const int value);
476 
477 /**************************************************************************/
486  const char * const key,
487  const EVEL_OPTION_DOUBLE * const option);
488 
489 /**************************************************************************/
497  const char * const key,
498  const double value);
499 
500 /**************************************************************************/
509  const char * const key,
510  const EVEL_OPTION_ULL * const option);
511 
512 /**************************************************************************/
520  const char * const key,
521  const unsigned long long value);
522 
523 /**************************************************************************/
532  const char * const key,
533  const EVEL_OPTION_TIME * const option);
534 
535 /**************************************************************************/
543  const char * const key,
544  const time_t * time);
545 
546 /**************************************************************************/
555  const char * const key,
556  const int major_version,
557  const int minor_version);
558 
559 /**************************************************************************/
567  const char * const key);
568 
569 /**************************************************************************/
576  const char * const key);
577 
578 /**************************************************************************/
584 
585 /**************************************************************************/
593  const char * const format,
594  ...);
595 
596 /**************************************************************************/
603  const char * const key);
604 
605 /**************************************************************************/
613  const char * const key);
614 
615 /**************************************************************************/
621 
622 /**************************************************************************/
628 
629 /**************************************************************************/
635 
636 /**************************************************************************/
642 
643 /**************************************************************************/
648 void evel_free_option_string(EVEL_OPTION_STRING * const option);
649 
650 /**************************************************************************/
655 void evel_init_option_string(EVEL_OPTION_STRING * const option);
656 
657 /**************************************************************************/
664 void evel_set_option_string(EVEL_OPTION_STRING * const option,
665  const char * const value,
666  const char * const description);
667 
668 /**************************************************************************/
674 void evel_force_option_string(EVEL_OPTION_STRING * const option,
675  const char * const value);
676 
677 /**************************************************************************/
682 void evel_init_option_int(EVEL_OPTION_INT * const option);
683 
684 /**************************************************************************/
690 void evel_force_option_int(EVEL_OPTION_INT * const option,
691  const int value);
692 
693 /**************************************************************************/
700 void evel_set_option_int(EVEL_OPTION_INT * const option,
701  const int value,
702  const char * const description);
703 
704 /**************************************************************************/
709 void evel_init_option_double(EVEL_OPTION_DOUBLE * const option);
710 
711 /**************************************************************************/
717 void evel_force_option_double(EVEL_OPTION_DOUBLE * const option,
718  const double value);
719 
720 /**************************************************************************/
727 void evel_set_option_double(EVEL_OPTION_DOUBLE * const option,
728  const double value,
729  const char * const description);
730 
731 /**************************************************************************/
736 void evel_init_option_ull(EVEL_OPTION_ULL * const option);
737 
738 /**************************************************************************/
744 void evel_force_option_ull(EVEL_OPTION_ULL * const option,
745  const unsigned long long value);
746 
747 /**************************************************************************/
754 void evel_set_option_ull(EVEL_OPTION_ULL * const option,
755  const unsigned long long value,
756  const char * const description);
757 
758 /**************************************************************************/
763 void evel_init_option_time(EVEL_OPTION_TIME * const option);
764 
765 /**************************************************************************/
771 void evel_force_option_time(EVEL_OPTION_TIME * const option,
772  const time_t value);
773 
774 /**************************************************************************/
781 void evel_set_option_time(EVEL_OPTION_TIME * const option,
782  const time_t value,
783  const char * const description);
784 
785 /**************************************************************************/
791 char * evel_criticality(const EVEL_COUNTER_CRITICALITIES criticality);
792 
793 /**************************************************************************/
799 char * evel_severity(const EVEL_SEVERITIES severity);
800 
801 /**************************************************************************/
807 char * evel_alert_action(const EVEL_ALERT_ACTIONS alert_action);
808 
809 /**************************************************************************/
815 char * evel_alert_type(const EVEL_ALERT_TYPES alert_type);
816 
817 /**************************************************************************/
823 char * evel_event_domain(const EVEL_EVENT_DOMAINS domain);
824 
825 /**************************************************************************/
831 char * evel_event_priority(const EVEL_EVENT_PRIORITIES priority);
832 
833 /**************************************************************************/
839 char * evel_source_type(const EVEL_SOURCE_TYPES source_type);
840 
841 /**************************************************************************/
847 char * evel_vf_status(const EVEL_VF_STATUSES vf_status);
848 
849 /**************************************************************************/
856 char * evel_entity_state(const EVEL_ENTITY_STATE state);
857 
858 /**************************************************************************/
865 char * evel_service_endpoint_desc(const EVEL_ENTITY_STATE endpoint_desc);
866 
867 #endif
EVEL_ERR_CODES event_handler_terminate()
Terminate the event handler.
EVEL_EVENT_DOMAINS
Event domains for the various events we support.
Definition: evel.h:130
struct memory_chunk MEMORY_CHUNK
A chunk of memory used in the cURL functions.
char * evel_event_domain(const EVEL_EVENT_DOMAINS domain)
Map an EVEL_EVENT_DOMAINS enum value to the equivalent string.
Definition: evel_strings.c:199
void evel_init_option_int(EVEL_OPTION_INT *const option)
Initialize an EVEL_OPTION_INT to a not-set state.
Definition: evel_option.c:151
void evel_set_next_event_sequence(const int sequence)
Set the next event_sequence to use.
Definition: evel_event.c:59
void evel_set_option_string(EVEL_OPTION_STRING *const option, const char *const value, const char *const description)
Set the value of an EVEL_OPTION_STRING.
Definition: evel_option.c:94
void evel_json_buffer_init(EVEL_JSON_BUFFER *jbuf, char *const json, const int max_size, EVEL_THROTTLE_SPEC *throttle_spec)
Initialize a EVEL_JSON_BUFFER.
Suppressed NV pairs list entry.
char * evel_service_endpoint_desc(const EVEL_ENTITY_STATE endpoint_desc)
Convert a EVEL_SERVICE_ENDPOINT_DESC to string form for JSON encoding.
Definition: evel_strings.c:453
void evel_enc_list_item(EVEL_JSON_BUFFER *jbuf, const char *const format,...)
Encode a list item with format and param list to a EVEL_JSON_BUFFER.
Report.
Definition: evel.h:650
Event Instance Identifier JSON equivalent field: eventInstanceIdentifier.
Definition: evel.h:812
void evel_set_option_int(EVEL_OPTION_INT *const option, const int value, const char *const description)
Set the value of an EVEL_OPTION_INT.
Definition: evel_option.c:195
char * evel_alert_action(const EVEL_ALERT_ACTIONS alert_action)
Map an EVEL_ALERT_ACTIONS enum value to the equivalent string.
Definition: evel_strings.c:123
void evel_json_open_named_list(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the key and opening bracket of a named list to a JSON buffer.
Optional parameter holder for unsigned long long.
Definition: evel.h:385
Optional parameter holder for double.
Definition: evel.h:358
bool evel_json_open_opt_named_object(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the opening bracket of an optional named object to a JSON buffer.
Optional parameter holder for string.
Definition: evel.h:367
EVT_HANDLER_COMMAND command
A chunk of memory used in the cURL functions.
Definition: evel_internal.h:77
Internal event.
struct evel_throttle_spec EVEL_THROTTLE_SPEC
Event Throttling Specification for a domain which is in a throttled state.
Measurement.
Definition: evel.h:504
EVEL_THROTTLE_SPEC * throttle_spec
The event handler thread not started.
Definition: evel_internal.h:96
bool evel_enc_kv_opt_double(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_DOUBLE *const option)
Encode a string key and double value to a EVEL_JSON_BUFFER.
void evel_json_encode_mobile_flow(EVEL_JSON_BUFFER *jbuf, EVENT_MOBILE_FLOW *event)
Encode the Mobile Flow in JSON according to AT&T&#39;s schema for the event type.
char * evel_entity_state(const EVEL_ENTITY_STATE state)
Convert a EVEL_ENTITY_STATE to it&#39;s string form for JSON encoding.
Definition: evel_strings.c:416
void evel_json_encode_service(EVEL_JSON_BUFFER *const jbuf, EVENT_SERVICE *const event)
Encode the Service Event in JSON according to AT&T&#39;s schema for the event type.
void evel_force_option_ull(EVEL_OPTION_ULL *const option, const unsigned long long value)
Force the value of an EVEL_OPTION_ULL.
Definition: evel_option.c:322
void evel_init_event_instance_id(EVEL_EVENT_INSTANCE_ID *const instance_id, const char *const vendor_id, const char *const event_id)
Initialize an event instance id, typically embedded in an event.
Definition: evel_event.c:471
char * evel_alert_type(const EVEL_ALERT_TYPES alert_type)
Map an EVEL_ALERT_TYPES enum value to the equivalent string.
Definition: evel_strings.c:159
void evel_json_encode_state_change(EVEL_JSON_BUFFER *jbuf, EVENT_STATE_CHANGE *state_change)
Encode the state change as a JSON state change.
The event handler thread is started.
Definition: evel_internal.h:97
DLIST suppressed_nv_pairs_list
Initial stages of shutdown.
Definition: evel_internal.h:98
void evel_json_close_list(EVEL_JSON_BUFFER *jbuf)
Add the closing bracket of a list to a JSON buffer.
void evel_init_option_string(EVEL_OPTION_STRING *const option)
Initialize an EVEL_OPTION_STRING to a not-set state.
Definition: evel_option.c:72
Header for EVEL library.
void evel_set_option_double(EVEL_OPTION_DOUBLE *const option, const double value, const char *const description)
Set the value of an EVEL_OPTION_DOUBLE.
Definition: evel_option.c:271
char * evel_event_priority(const EVEL_EVENT_PRIORITIES priority)
Map an EVEL_EVENT_PRIORITIES enum value to the equivalent string.
Definition: evel_strings.c:264
State Change.
Definition: evel.h:952
void evel_json_encode_instance_id(EVEL_JSON_BUFFER *jbuf, EVEL_EVENT_INSTANCE_ID *instance_id)
Encode the instance id as a JSON object according to AT&T&#39;s schema.
Definition: evel_event.c:534
void evel_json_encode_fault(EVEL_JSON_BUFFER *jbuf, EVENT_FAULT *event)
Encode the fault in JSON according to AT&T&#39;s schema for the fault type.
Definition: evel_fault.c:214
The library is exited.
void evel_init_option_time(EVEL_OPTION_TIME *const option)
Initialize an EVEL_OPTION_TIME to a not-set state.
Definition: evel_option.c:376
EVENT_INTERNAL * evel_new_internal_event(EVT_HANDLER_COMMAND command)
Create a new internal event.
Syslog.
Definition: evel.h:993
char * evel_source_type(const EVEL_SOURCE_TYPES source_type)
Map an EVEL_SOURCE_TYPES enum value to the equivalent string.
Definition: evel_strings.c:305
void evel_force_option_string(EVEL_OPTION_STRING *const option, const char *const value)
Force the value of an EVEL_OPTION_STRING.
Definition: evel_option.c:128
struct event_internal EVENT_INTERNAL
Internal event.
void evel_enc_kv_string(EVEL_JSON_BUFFER *jbuf, const char *const key, const char *const value)
Encode a string key and string value to a EVEL_JSON_BUFFER.
char * evel_vf_status(const EVEL_VF_STATUSES vf_status)
Map an EVEL_VF_STATUSES enum value to the equivalent string.
Definition: evel_strings.c:370
void evel_json_encode_header(EVEL_JSON_BUFFER *jbuf, EVENT_HEADER *event)
Encode the event as a JSON event object according to AT&T&#39;s schema.
Definition: evel_event.c:291
void evel_json_close_object(EVEL_JSON_BUFFER *jbuf)
Add the closing bracket of an object to a JSON buffer.
Event Throttling Specification for a domain which is in a throttled state.
void evel_init_option_double(EVEL_OPTION_DOUBLE *const option)
Initialize an EVEL_OPTION_DOUBLE to a not-set state.
Definition: evel_option.c:227
void evel_enc_kv_ull(EVEL_JSON_BUFFER *jbuf, const char *const key, const unsigned long long value)
Encode a string key and unsigned long long value to a EVEL_JSON_BUFFER.
void evel_enc_kv_int(EVEL_JSON_BUFFER *jbuf, const char *const key, const int value)
Encode a string key and integer value to a EVEL_JSON_BUFFER.
Optional parameter holder for int.
Definition: evel.h:376
void evel_force_option_time(EVEL_OPTION_TIME *const option, const time_t value)
Force the value of an EVEL_OPTION_TIME.
Definition: evel_option.c:395
EVEL_SOURCE_TYPES
Fault source types.
Definition: evel.h:174
EVEL_ALERT_TYPES
Alert types.
Definition: evel.h:236
void evel_handle_event_response(const MEMORY_CHUNK *const chunk, MEMORY_CHUNK *const post)
Handle a JSON response from the listener, contained in a MEMORY_CHUNK.
char * functional_role
The Functional Role of the equipment represented by this VNF.
Definition: evel.c:63
void evel_json_open_named_object(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the opening bracket of an object to a JSON buffer.
void evel_json_encode_signaling(EVEL_JSON_BUFFER *const jbuf, EVENT_SIGNALING *const event)
Encode the Signaling in JSON according to AT&T&#39;s schema for the event type.
void evel_set_option_time(EVEL_OPTION_TIME *const option, const time_t value, const char *const description)
Set the value of an EVEL_OPTION_TIME.
Definition: evel_option.c:418
struct evel_json_buffer EVEL_JSON_BUFFER
void evel_json_open_object(EVEL_JSON_BUFFER *jbuf)
Add the opening bracket of an object to a JSON buffer.
EVEL_ERR_CODES
Error codes.
Definition: evel.h:68
bool evel_enc_kv_opt_ull(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_ULL *const option)
Encode a string key and unsigned long long value to a EVEL_JSON_BUFFER.
void evel_free_internal_event(EVENT_INTERNAL *event)
Free an internal event.
Mobile Flow.
Definition: evel.h:740
void evel_json_checkpoint(EVEL_JSON_BUFFER *jbuf)
Add a checkpoint - a stake in the ground to which we can rewind.
void evel_enc_kv_double(EVEL_JSON_BUFFER *jbuf, const char *const key, const double value)
Encode a string key and double value to a EVEL_JSON_BUFFER.
void evel_json_encode_report(EVEL_JSON_BUFFER *jbuf, EVENT_REPORT *event)
Encode the report as a JSON report.
EVEL_VF_STATUSES
Fault VNF Status.
Definition: evel.h:202
The library cannot handle events.
Definition: evel_internal.h:95
EVEL_SEVERITIES
Fault / Threshold severities.
Definition: evel.h:161
void evel_force_option_int(EVEL_OPTION_INT *const option, const int value)
Force the value of an EVEL_OPTION_INT.
Definition: evel_option.c:172
void evel_enc_kv_time(EVEL_JSON_BUFFER *jbuf, const char *const key, const time_t *time)
Encode a string key and time value to a EVEL_JSON_BUFFER.
Service Events.
Definition: evel.h:839
char * evel_criticality(const EVEL_COUNTER_CRITICALITIES criticality)
Map an EVEL_COUNTER_CRITICALITIES enum value to the equivalent string.
Definition: evel_strings.c:47
EVENT_HEADER header
void evel_json_encode_measurement(EVEL_JSON_BUFFER *jbuf, EVENT_MEASUREMENT *event)
Encode the measurement as a JSON measurement.
bool evel_json_open_opt_named_list(EVEL_JSON_BUFFER *jbuf, const char *const key)
Add the key and opening bracket of an optional named list to a JSON buffer.
Other.
Definition: evel.h:793
struct evel_suppressed_nv_pairs EVEL_SUPPRESSED_NV_PAIRS
Suppressed NV pairs list entry.
void evel_free_option_string(EVEL_OPTION_STRING *const option)
Free the underlying resources of an EVEL_OPTION_STRING.
Definition: evel_option.c:48
struct hsearch_data * hash_nv_pairs_list
EVT_HANDLER_STATE
State of the Event Handler thread.
Definition: evel_internal.h:93
bool evel_enc_kv_opt_string(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_STRING *const option)
Encode a string key and string value to a EVEL_JSON_BUFFER.
Event header.
Definition: evel.h:410
EVT_HANDLER_COMMAND
Global commands that may be sent to the Event Handler thread.
Definition: evel_internal.h:85
void evel_set_option_ull(EVEL_OPTION_ULL *const option, const unsigned long long value, const char *const description)
Set the value of an EVEL_OPTION_ULL.
Definition: evel_option.c:345
struct hsearch_data * hash_field_names
bool evel_enc_kv_opt_int(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_INT *const option)
Encode a string key and integer value to a EVEL_JSON_BUFFER.
Signaling.
Definition: evel.h:916
void evel_json_rewind(EVEL_JSON_BUFFER *jbuf)
Rewind to the latest checkoint.
EVEL_ALERT_ACTIONS
Alert actions.
Definition: evel.h:225
void evel_init_option_ull(EVEL_OPTION_ULL *const option)
Initialize an EVEL_OPTION_ULL to a not-set state.
Definition: evel_option.c:303
EVEL_EVENT_PRIORITIES
Event priorities.
Definition: evel.h:149
Double-linked list structure.
Definition: double_list.h:53
void evel_json_encode_syslog(EVEL_JSON_BUFFER *jbuf, EVENT_SYSLOG *event)
Encode the Syslog in JSON according to AT&T&#39;s schema for the event type.
Definition: evel_syslog.c:354
The ring-buffer is being depleted.
Definition: evel_internal.h:99
bool evel_enc_kv_opt_time(EVEL_JSON_BUFFER *jbuf, const char *const key, const EVEL_OPTION_TIME *const option)
Encode a string key and time value to a EVEL_JSON_BUFFER.
void evel_enc_version(EVEL_JSON_BUFFER *jbuf, const char *const key, const int major_version, const int minor_version)
Encode a key and version.
void evel_json_encode_other(EVEL_JSON_BUFFER *jbuf, EVENT_OTHER *event)
Encode the Other in JSON according to AT&T&#39;s schema for the event type.
Definition: evel_other.c:160
void evel_free_event_instance_id(EVEL_EVENT_INSTANCE_ID *const instance_id)
Free an event instance id.
Definition: evel_event.c:505
EVEL_ERR_CODES event_handler_initialize(const char *const event_api_url, const char *const throt_api_url, const char *const username, const char *const password, int verbosity)
Initialize the event handler.
Optional parameter holder for time_t.
Definition: evel.h:394
char * evel_severity(const EVEL_SEVERITIES severity)
Map an EVEL_SEVERITIES enum value to the equivalent string.
Definition: evel_strings.c:79
EVEL_ENTITY_STATE
Alert types.
Definition: evel.h:248
EVEL_ERR_CODES event_handler_run()
Run the event handler.
void evel_force_option_double(EVEL_OPTION_DOUBLE *const option, const double value)
Force the value of an EVEL_OPTION_DOUBLE.
Definition: evel_option.c:248
Fault.
Definition: evel.h:449
struct hsearch_data * hash_nv_pair_names
EVEL_SOURCE_TYPES event_source_type
The type of equipment represented by this VNF.
Definition: evel.c:58
EVEL_COUNTER_CRITICALITIES
Counter criticalities.
Definition: evel.h:215