/* ****************************************************************************** * HEADER FILE * * Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: ipike_event_log.h,v $ $Revision: 1.3.2.2 $ * $Source: /home/interpeak/CVSRoot/ipike/include/ipike_event_log.h,v $ * $Author: ulf $ $Date: 2011-11-16 10:33:30 $ * $State: Exp $ $Locker: $ * * INTERPEAK_COPYRIGHT_STRING * Design and implementation by Erik Dahlberg ****************************************************************************** */ #ifndef IPIKE_EVENT_LOG_H #define IPIKE_EVENT_LOG_H /* **************************************************************************** * 1 DESCRIPTION **************************************************************************** */ /* IKE event logging module. IPIKE_EVENT_LOG_FUNC must be set before including this header file in order to use the IPIKE_EVENT_LOG macro properly. The IPIKE_EVENT_LOG_FUNC specifies the function which the IPIKE_EVENT_LOG macro eventually expands to. It's possible to to use the extended macro IPIKE_EVENT_LOG_EXT without setting IPIKE_EVENT_LOG_FUNC as it takes the log function to use as an argument. The IPIKE_EVENT_LOG_EXT can also be used for overloading the normal log function in specific calls. The log function IPIKE_EVENT_LOG_FUNC must accept at least one log event type (int) and one log event reason (int). The macro will expand to a function call to IPIKE_EVENT_LOG_FUNC if and only if IPIKE_USE_EVENT_LOG was set and the log event type was set at build time. Turning on/off individual log events is done in ipike_config.h and no changes are needed here. */ /* **************************************************************************** * 2 CONFIGURATION **************************************************************************** */ #include "ipike_config.h" /* **************************************************************************** * 3 INCLUDE FILES **************************************************************************** */ #include "ipike_event.h" #ifdef __cplusplus extern "C" { #endif /* **************************************************************************** * 4 DEFINES **************************************************************************** */ #if defined(IPIKE_USE_EVENT_LOG) && defined(IPIKE_EVENT_LOG_FUNC) /* IKE/IPsec log events, do not edit. Turn on and off specific events * in ipike_log_events.h instead */ #ifdef IPIKE_USE_EVENT_HARD_LIFE_SIZE_EXPIRED #define IPIKE_EVENT_HARD_LIFE_SIZE_EXPIRED_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_HARD_LIFE_SIZE_EXPIRED, _r, __VA_ARGS__) #else #define IPIKE_EVENT_HARD_LIFE_SIZE_EXPIRED_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_HARD_LIFE_TIME_EXPIRED #define IPIKE_EVENT_HARD_LIFE_TIME_EXPIRED_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_HARD_LIFE_TIME_EXPIRED,_r,__VA_ARGS__) #else #define IPIKE_EVENT_HARD_LIFE_TIME_EXPIRED_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_IKE_PACKET_DISCARD #define IPIKE_EVENT_IKE_PACKET_DISCARD_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_IKE_PACKET_DISCARD,_r,__VA_ARGS__) #else #define IPIKE_EVENT_IKE_PACKET_DISCARD_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_IKE_PHASE_I_FAIL #define IPIKE_EVENT_IKE_PHASE_I_FAIL_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_IKE_PHASE_I_FAIL,_r,__VA_ARGS__) #else #define IPIKE_EVENT_IKE_PHASE_I_FAIL_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_IKE_PHASE_I_SUCCESS #define IPIKE_EVENT_IKE_PHASE_I_SUCCESS_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_IKE_PHASE_I_SUCCESS,_r,__VA_ARGS__) #else #define IPIKE_EVENT_IKE_PHASE_I_SUCCESS_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_IKE_PHASE_II_FAIL #define IPIKE_EVENT_IKE_PHASE_II_FAIL_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_IKE_PHASE_II_FAIL,_r,__VA_ARGS__) #else #define IPIKE_EVENT_IKE_PHASE_II_FAIL_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_IKE_PHASE_II_SUCCESS #define IPIKE_EVENT_IKE_PHASE_II_SUCCESS_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_IKE_PHASE_II_SUCCESS,_r,__VA_ARGS__) #else #define IPIKE_EVENT_IKE_PHASE_II_SUCCESS_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_IPSEC_PACKET_DISCARD #define IPIKE_EVENT_IPSEC_PACKET_DISCARD_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_IPSEC_PACKET_DISCARD,_r,__VA_ARGS__) #else #define IPIKE_EVENT_IPSEC_PACKET_DISCARD_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_SEQUENCE_NUM_OVERFLOW #define IPIKE_EVENT_SEQUENCE_NUM_OVERFLOW_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_HARD_LIFE_SIZE_EXPIRED,_r,__VA_ARGS__) #else #define IPIKE_EVENT_SEQUENCE_NUM_OVERFLOW_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_SOFT_LIFE_SIZE_EXPIRED #define IPIKE_EVENT_SOFT_LIFE_SIZE_EXPIRED_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_SOFT_LIFE_SIZE_EXPIRED,_r,__VA_ARGS__) #else #define IPIKE_EVENT_SOFT_LIFE_SIZE_EXPIRED_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_SOFT_LIFE_TIME_EXPIRED #define IPIKE_EVENT_SOFT_LIFE_TIME_EXPIRED_LOG(_func, _r, ...) \ _func(IPIKE_EVENT_SOFT_LIFE_TIME_EXPIRED,_r,__VA_ARGS__) #else #define IPIKE_EVENT_SOFT_LIFE_TIME_EXPIRED_LOG(_func, _r, ...) #endif #ifdef IPIKE_USE_EVENT_SPD_PACKET_DISCARD #define IPIKE_EVENT_SPD_PACKET_DISCARD_LOG(_func,_r, ...) \ _func(IPIKE_EVENT_SPD_PACKET_DISCARD,_r,__VA_ARGS__) #else #define IPIKE_EVENT_SPD_PACKET_DISCARD_LOG(_func, _r, ...) #endif #define IPIKE_EVENT_LOG(_e, _reason, ...) \ IPIKE_EVENT_ ## _e ##_LOG(IPIKE_EVENT_LOG_FUNC, IPIKE_REASON_ ##_reason, __VA_ARGS__) #define IPIKE_EVENT_LOG_EXT(_func, _e, _reason, ...) \ IPIKE_EVENT_ ## _e ##_LOG(_func, IPIKE_REASON_ ##_reason, __VA_ARGS__) #else /* defined(IPIKE_USE_EVENT_LOG) && defined(IPIKE_EVENT_LOG_FUNC) */ #define IPIKE_EVENT_LOG(_e, _reason, ...) #define IPIKE_EVENT_LOG_EXT(_func, _e, _reason, ...) #endif /* defined(IPIKE_USE_EVENT_LOG) && defined(IPIKE_EVENT_LOG_FUNC) */ /* **************************************************************************** * 5 TYPES **************************************************************************** */ /* **************************************************************************** * 6 FUNCTIONS **************************************************************************** */ #ifdef __cplusplus } #endif #endif /* IPIKE_EVENT_LOG_H */ /* **************************************************************************** * END OF FILE **************************************************************************** */