AT&T ECOMP Vendor Event Listener library  0.1
Functions
evel_syslog.c File Reference

Implementation of EVEL functions relating to the Syslog. More...

#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include "evel_throttle.h"
Include dependency graph for evel_syslog.c:

Go to the source code of this file.

Functions

EVENT_SYSLOGevel_new_syslog (EVEL_SOURCE_TYPES event_source_type, const char *const syslog_msg, const char *const syslog_tag)
 Create a new Syslog event. More...
 
void evel_syslog_type_set (EVENT_SYSLOG *syslog, const char *const type)
 Set the Event Type property of the Syslog. More...
 
void evel_syslog_addl_field_add (EVENT_SYSLOG *syslog, char *name, char *value)
 Add an additional value name/value pair to the Syslog. More...
 
void evel_syslog_event_source_host_set (EVENT_SYSLOG *syslog, const char *const host)
 Set the Event Source Host property of the Syslog. More...
 
void evel_syslog_facility_set (EVENT_SYSLOG *syslog, EVEL_SYSLOG_FACILITIES facility)
 Set the Facility property of the Syslog. More...
 
void evel_syslog_proc_set (EVENT_SYSLOG *syslog, const char *const proc)
 Set the Process property of the Syslog. More...
 
void evel_syslog_proc_id_set (EVENT_SYSLOG *syslog, int proc_id)
 Set the Process ID property of the Syslog. More...
 
void evel_syslog_version_set (EVENT_SYSLOG *syslog, int version)
 Set the Version property of the Syslog. More...
 
void evel_syslog_s_data_set (EVENT_SYSLOG *syslog, const char *const s_data)
 Set the Structured Data property of the Syslog. More...
 
void evel_json_encode_syslog (EVEL_JSON_BUFFER *jbuf, EVENT_SYSLOG *event)
 Encode the Syslog in JSON according to AT&T's schema for the event type. More...
 
void evel_free_syslog (EVENT_SYSLOG *event)
 Free a Syslog. More...
 

Detailed Description

Implementation of EVEL functions relating to the Syslog.

License

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the AT&T.
  4. Neither the name of AT&T nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY AT&T INTELLECTUAL PROPERTY ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AT&T INTELLECTUAL PROPERTY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file evel_syslog.c.

Function Documentation

§ evel_free_syslog()

void evel_free_syslog ( EVENT_SYSLOG event)

Free a Syslog.

Free off the Syslog supplied. Will free all the contained allocated memory.

Note
It does not free the Syslog itself, since that may be part of a larger structure.

Definition at line 464 of file evel_syslog.c.

§ evel_json_encode_syslog()

void evel_json_encode_syslog ( EVEL_JSON_BUFFER jbuf,
EVENT_SYSLOG event 
)

Encode the Syslog in JSON according to AT&T's schema for the event type.

Parameters
jbufPointer to the EVEL_JSON_BUFFER to encode into.
eventPointer to the EVENT_HEADER to encode.

Definition at line 354 of file evel_syslog.c.

§ evel_new_syslog()

EVENT_SYSLOG* evel_new_syslog ( EVEL_SOURCE_TYPES  event_source_type,
const char *const  syslog_msg,
const char *const  syslog_tag 
)

Create a new Syslog event.

Create a new syslog event.

Note
The mandatory fields on the Syslog must be supplied to this factory function and are immutable once set. Optional fields have explicit setter functions, but again values may only be set once so that the Syslog has immutable properties.
Parameters
event_source_typeThe type of Syslog event source.
syslog_msgThe Syslog event message.
syslog_tagThe messgaeId identifying the type of message.
Returns
pointer to the newly manufactured EVENT_SYSLOG. If the event is not used (i.e. posted) it must be released using evel_free_syslog.
Return values
NULLFailed to create the event.

Definition at line 56 of file evel_syslog.c.

§ evel_syslog_addl_field_add()

void evel_syslog_addl_field_add ( EVENT_SYSLOG syslog,
char *  name,
char *  value 
)

Add an additional value name/value pair to the Syslog.

Add an additional field name/value pair to the Syslog.

The name and value are null delimited ASCII strings. The library takes a copy so the caller does not have to preserve values after the function returns.

Parameters
syslogPointer to the syslog.
nameASCIIZ string with the attribute's name. The caller does not need to preserve the value once the function returns.
valueASCIIZ string with the attribute's value. The caller does not need to preserve the value once the function returns.

Definition at line 148 of file evel_syslog.c.

§ evel_syslog_event_source_host_set()

void evel_syslog_event_source_host_set ( EVENT_SYSLOG syslog,
const char *const  host 
)

Set the Event Source Host property of the Syslog.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
syslogPointer to the Syslog.
hostThe Event Source Host to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 189 of file evel_syslog.c.

§ evel_syslog_facility_set()

void evel_syslog_facility_set ( EVENT_SYSLOG syslog,
EVEL_SYSLOG_FACILITIES  facility 
)

Set the Facility property of the Syslog.

Set the Syslog Facility property of the Syslog.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
syslogPointer to the Syslog.
facilityThe Syslog Facility to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 219 of file evel_syslog.c.

§ evel_syslog_proc_id_set()

void evel_syslog_proc_id_set ( EVENT_SYSLOG syslog,
int  proc_id 
)

Set the Process ID property of the Syslog.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
syslogPointer to the Syslog.
proc_idThe Process ID to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 274 of file evel_syslog.c.

§ evel_syslog_proc_set()

void evel_syslog_proc_set ( EVENT_SYSLOG syslog,
const char *const  proc 
)

Set the Process property of the Syslog.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
syslogPointer to the Syslog.
procThe Process to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 248 of file evel_syslog.c.

§ evel_syslog_s_data_set()

void evel_syslog_s_data_set ( EVENT_SYSLOG syslog,
const char *const  s_data 
)

Set the Structured Data property of the Syslog.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
syslogPointer to the Syslog.
s_dataThe Structured Data to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 331 of file evel_syslog.c.

§ evel_syslog_type_set()

void evel_syslog_type_set ( EVENT_SYSLOG syslog,
const char *const  type 
)

Set the Event Type property of the Syslog.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
syslogPointer to the syslog.
typeThe Event Type to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 118 of file evel_syslog.c.

§ evel_syslog_version_set()

void evel_syslog_version_set ( EVENT_SYSLOG syslog,
int  version 
)

Set the Version property of the Syslog.

Note
The property is treated as immutable: it is only valid to call the setter once. However, we don't assert if the caller tries to overwrite, just ignoring the update instead.
Parameters
syslogPointer to the Syslog.
versionThe Version to be set. ASCIIZ string. The caller does not need to preserve the value once the function returns.

Definition at line 302 of file evel_syslog.c.