From 8e0e00d21146a84c18f9cf9409e187b4fb0248aa Mon Sep 17 00:00:00 2001 From: Riku Nomoto Date: Thu, 19 Nov 2020 12:45:32 +0900 Subject: Init basesystem source codes. Signed-off-by: Riku Nomoto Change-Id: I55aa2f1406ce7f751ae14140b613b53b68995528 --- .../client/include/native_service/ns_logger_if.h | 1646 ++++++++++++++++++++ 1 file changed, 1646 insertions(+) create mode 100755 nsframework/framework_unified/client/include/native_service/ns_logger_if.h (limited to 'nsframework/framework_unified/client/include/native_service/ns_logger_if.h') diff --git a/nsframework/framework_unified/client/include/native_service/ns_logger_if.h b/nsframework/framework_unified/client/include/native_service/ns_logger_if.h new file mode 100755 index 0000000..a1ca9ef --- /dev/null +++ b/nsframework/framework_unified/client/include/native_service/ns_logger_if.h @@ -0,0 +1,1646 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +////////////////////////////////////////////////////////////////////////////////////////////////// +/// \file +/// Declares the external APIs to Logger. +/// +////////////////////////////////////////////////////////////////////////////////////////////////// +/** + * @file + * @brief \~english Declares the external APIs to Logger. + */ +/** @addtogroup BaseSystem + * @{ + */ +/** @addtogroup native_service + * @ingroup BaseSystem + * @{ + */ +/** @addtogroup framework_unified + * @ingroup Native_service + * @{ + */ +/** @addtogroup native + * @ingroup framework_unified + * @{ + */ +#ifndef __NATIVESERVICES_LOGGER_IF_H__ // NOLINT (build/header_guard) +#define __NATIVESERVICES_LOGGER_IF_H__ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define FRAMEWORKUNIFIEDLOG_MSGQ_NAME "/NSLog" +#define FRAMEWORKUNIFIEDLOG_SHAREDMEM_NAME "/frameworkunified_debug.log.1" +#define FRAMEWORKUNIFIEDLOG_SHAREDMEM_SIZE 5242880 // 5MB + +#define MASTER_ZONE_COUNT 16U + +#include + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_NSLogger +/// \brief typedef of ZONE +/////////////////////////////////////////////////////////////////////////////// +typedef UI_32 TFrameworkunifiedZone; +// Note: if the BITS_IN_TZONE macro is getting modified do the corresponding changes +// in GET_ZONE_INDEX and GET_ZONE_BIT_MASK +#define BITS_IN_BYTE (8U) +#define BITS_IN_TZONE ((UI_32 )(sizeof( TFrameworkunifiedZone ) * BITS_IN_BYTE)) +#define TZONE_COUNT ((UI_32)MASTER_ZONE_COUNT) +#define BITS_IN_ZONE_MASK ((UI_32)(BITS_IN_TZONE * TZONE_COUNT)) +#define DEBUG_ZONE_COUNT BITS_IN_ZONE_MASK + +#define ZONE_MASK_ARRAY_ELTS ((UI_32)TZONE_COUNT) + +#define USER_ZONES_COUNT BITS_IN_ZONE_MASK -10 + +#define ZONE_TEXT_SIZE 24 + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_NSLogger +/// \brief Array of mask options +/////////////////////////////////////////////////////////////////////////////// +typedef TFrameworkunifiedZone TFrameworkunifiedZoneMask[ZONE_MASK_ARRAY_ELTS]; + +typedef enum _TFrameworkunifiedLoggerSeverity { + FRAMEWORKUNIFIED_SEVERITY_LOW = 0x0, /// set_zone), it will return FALSE. +/// \~english @par Detail +/// check wheather the FRAMEWORKUNIFIEDLOG ZONE is set by your application process.\n +/// zone parameter first 4bit(0 to 15)is the index of zone mask array\n +/// second 5bit(0 to 31) is showing bit position of mask(9bit,511 for the most)\n +/// True will be returned when bit for zone mask is set as 1 +/// \~english @par Classification +/// Public +/// \~english @par Type +/// No match +/// \~english @see +/// none +//////////////////////////////////////////////////////////////////////////////////////////// +BOOL NsLogIsZoneSet(UI_32 set_zone); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogGetControlMask +/// \~english @par Brief +/// Get the control word that you currently have set. +/// \~english @param [out] p_Zonemask_i +/// TFrameworkunifiedZoneMask - current mask value. +/// \~english @par +/// TFrameworkunifiedZoneMask Array +/// \~english @code +/// typedef TFrameworkunifiedZone TFrameworkunifiedZoneMask[ZONE_MASK_ARRAY_ELTS]; +/// @endcode +/// \~english @par +/// TFrameworkunifiedZone typedef +/// \~english @code +/// UI_32 TFrameworkunifiedZone; // 32bit +/// @endcode +/// \~english @retval none +/// void - there is no return. +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - none +/// \~english @par Conditions of processing failure +/// - If p_Zonemask_i is NULL, no operation is performed. +/// \~english @par Detail +/// Get all 16 zone mask. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// No match +/// \~english @see +/// NsLogSetControlMask +//////////////////////////////////////////////////////////////////////////////////////////// +void NsLogGetControlMask(TFrameworkunifiedZoneMask p_Zonemask_i); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogSetLogMethod +/// \~english @par Brief +/// Sets the logging place, LPRINT, LSHAREDMEM or any combination of these. +/// If this is never called the default is LSHAREDMEM. +/// \~english @param [in] p_eMethod_i +/// UI_8 - Where you would like to log your data. +/// \~english @par +/// NS_LoggingMethod_t Enum +/// \~english @code +/// typedef enum _NS_LOGGER_METHODS { +/// LPRINT = 0x01, // Print to the console(similar to printf) +/// LMSGQ = 0x02, // Disabled +/// LSLOGGER = 0x04, // Disabled +/// LSHAREDMEM = 0x08 // Output to shared memory. this is the default logging method. +/// } NS_LoggingMethod_t; +/// @endcode +/// \~english @retval none +/// void - there is no return. +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// -switch the out-put place for NsLog API +/// \~english @par Conditions of processing failure +/// - none +/// \~english @par Detail +/// Sets the logging place, LPRINT, LSHAREDMEM or any combination of these. +/// If this is never called the default is LSHAREDMEM. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// No match +/// \~english @see +/// NsLogGetLogMethod +//////////////////////////////////////////////////////////////////////////////////////////// +void NsLogSetLogMethod(UI_8 p_eMethod_i); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogGetLogMethod +/// \~english @par Brief +/// Get the logging method. +/// \~english @param None +/// \~english @retval - return the way you log your data. +/// UI_8 - Log data type(NS_LoggingMethod_t Enum). +/// \~english @par +/// NS_LoggingMethod_t Enum +/// \~english @code +/// typedef enum _NS_LOGGER_METHODS { +/// LPRINT = 0x01, // Print to the console(similar to printf) +/// LMSGQ = 0x02, // Disabled +/// LSLOGGER = 0x04, // Disabled +/// LSHAREDMEM = 0x08 // Output to shared memory. this is the default logging method. +/// } NS_LoggingMethod_t; +/// @endcode +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - none +/// \~english @par Detail +/// Invoke callback function to get the logging method.\n +/// If callback function is null and expectedCalls is '0', +/// using default SetSeparator function to get the logging method. \n +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// NsLogSetLogMethod +//////////////////////////////////////////////////////////////////////////////////////////// +UI_8 NsLogGetLogMethod(void); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogInitialize +/// \~english @par Brief +/// Initialize the log level and real-time log out-put setting +/// \~english @retval none +/// void - there is no return. +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - none +/// \~english @par Conditions of processing failure +/// if the getting process of FRAMEWORKUNIFIEDLOG CONFIG file data is failed +/// \~english @par Detail +/// Initialize the log level and real-time log out-put setting +/// if the getting process of FRAMEWORKUNIFIEDLOG CONFIG file data is failed,log +/// level and real-time log out-put setting will not be initialized +/// \~english @par Classification +/// Public +/// \~english @par Type +/// No match +/// \~english @see +/// none +//////////////////////////////////////////////////////////////////////////////////////////// +void NsLogInitialize(void); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogSetFrameworkunifiedLogFlag +/// \~english @par Brief +/// set LogLevel of FRAMEWORKUNIFIEDLOG flag +/// \~english @param [in] flag_id +/// UI_8 - index for FRAMEWORKUNIFIEDLOG flag(0 to FLAG_LIST(declared in FRAMEWORKUNIFIEDLOG CONFIG file) +/// \~english @param [in] mode +/// UI_8 - LogLevel +/// \~english @par +/// avaliable LogLevel +/// - FRAMEWORKUNIFIEDLOG_FLAG_MODE_RELEASE +/// - FRAMEWORKUNIFIEDLOG_FLAG_MODE_DEBUG +/// \~english @retval none +/// void - there is no return. +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - none +/// \~english @par Conditions of processing failure +/// in the following conditions FRAMEWORKUNIFIEDLOG flag will not be set +/// - mode is not FRAMEWORKUNIFIEDLOG_FLAG_MODE_RELEASE, FRAMEWORKUNIFIEDLOG_FLAG_MODE_DEBUG +/// - the getting process of FRAMEWORKUNIFIEDLOG CONFIG file is failed(ns_logger_frameworkunifiedlog_xxx.cfg) +/// - flag_id is not declared in FRAMEWORKUNIFIEDLOG CONFIG file +/// \~english @par Detail +/// set loglevel for specific FRAMEWORKUNIFIEDLOG flag +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// NsLogGetFrameworkunifiedLogFlag +//////////////////////////////////////////////////////////////////////////////////////////// +void NsLogSetFrameworkunifiedLogFlag(UI_8 flag_id, UI_8 mode); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogGetFrameworkunifiedLogFlag +/// \~english @par Brief +/// get LogLevel of FRAMEWORKUNIFIEDLOG flag +/// \~english @param [in] flag_id +/// UI_8 - index for FRAMEWORKUNIFIEDLOG flag(0 to FLAG_LIST(declared in FRAMEWORKUNIFIEDLOG CONFIG file) +/// \~english @param [out]mode +/// UI_8 - LogLevel value +/// \return none +/// void - there is no return. +/// \~english @retval eFrameworkunifiedStatusOK Success +/// \~english @retval eFrameworkunifiedStatusFail any sort of error occurred +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - none +/// \~english @par Conditions of processing failure +/// -parameter mode is NULL[eFrameworkunifiedStatusFail] +/// -flag_id is not declared in FRAMEWORKUNIFIEDLOG CONFIG file [eFrameworkunifiedStatusFail] +/// \~english @par Detail +/// get FRAMEWORKUNIFIEDLOG flage for specific flag_id +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// NsLogSetFrameworkunifiedLogFlag +//////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NsLogGetFrameworkunifiedLogFlag(UI_8 flag_id, UI_8 *mode); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogSetRealtimeLog +/// \~english @par Brief +/// real-time log output setting +/// \~english @param [in] mode +/// UI_8 - set mode for Real time log +/// \~english @par +/// available setting for real-time log output +/// default value is REALTIME_LOG in FRAMEWORKUNIFIEDLOG CFG file +/// (FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_OFF when FRAMEWORKUNIFIEDLOG CFG file get failed) +/// \~english @code +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_UART 1 // : UARTOUT +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_USB 2 // : USB OUT +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_USB_DISABLE 0x82 // : USB OFF +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_ETHER 3 // : Ether OUT +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_OFF 0 // : ALL OFF +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_FREEZE 0xFF // : FREEZE +/// @endcode +/// \~english @retval none +/// void - there is no return +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - none +/// \~english @par Conditions of processing failure +/// -mode is not in FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_XXX above +/// \~english @par Detail +/// set the real-time log output using the setting value.\n +/// need to reboot during ROM start in order to switch to Ethernet output\n +/// /nv/BS/ns/framework_unified/rwdata/frameworkunifiedlog.ether file will be generated +/// when mode FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_ETHER /nv/BS/ns/framework_unified/rwdata/frameworkunifiedlog.ether\n +/// and /nv/BS/ns/framework_unified/rwdata/frameworkunifiedlog.ether file will be delated when mode is not FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_ETHER +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// NsLogGetRealtimeLog +//////////////////////////////////////////////////////////////////////////////////////////// +void NsLogSetRealtimeLog(UI_8 mode); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogGetRealtimeLog +/// \~english @par Brief +/// get the setting of real-time log output +/// \~english @param [out] mode +/// UI_8 * -the setting of real-time log output +/// \~english @par +/// available settings of real-time log output +/// default value is REALTIME_LOG in FRAMEWORKUNIFIEDLOG CFG file +/// (FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_OFF when FRAMEWORKUNIFIEDLOG CFG file get failed) +/// \~english @code +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_UART 1 // : UARTOUT +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_USB 2 // : USB OUT +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_USB_DISABLE 0x82 // : USB OFF +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_ETHER 3 // : Ether OUT +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_OFF 0 // : ALL OFF +/// #define FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_FREEZE 0xFF // : FREEZE +/// @endcode +/// \~english @retval none +/// void - there is no return +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - none +/// \~english @par Conditions of processing failure +/// - cannot get when mode is NULL +/// -FRAMEWORKUNIFIEDLOG_REALTIMELOG_MODE_OFF will be returned when the approach +/// of FRAMEWORKUNIFIEDLOG CONFIG file (ns_logger_frameworkunifiedlog_xxx.cfg)is failed +/// \~english @par Detail +/// get the setting of real-time log output +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// NsLogSetRealtimeLog +//////////////////////////////////////////////////////////////////////////////////////////// +void NsLogGetRealtimeLog(UI_8 *mode); + +// Deprecated API: Not use. +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NsLogSetSeverity +/// \~english @par Brief +/// Set log severity level +/// \~english @param [in] p_eLogSeverity_i +/// TFrameworkunifiedLoggerSeverity - Log severity +/// \~english @par +/// TFrameworkunifiedLoggerSeverity Enum +/// \~english @code +/// typedef enum _TFrameworkunifiedLoggerSeverity { +/// FRAMEWORKUNIFIED_SEVERITY_LOW = 0x0, /// = NsLogGetSeverity()) +// If value of BITS_IN_TZONE changes in future then need to consider changes in the values 5 and 0x1F in below macros +// here 5 represents (sizeof(TFrameworkunifiedZone)+1) and 0x1F represents (BITS_IN_TZONE-1) +#define GET_ZONE_INDEX(zone) (((UI_32)zone) >> 5) +#define GET_ZONE_BIT_MASK(zone) ((TFrameworkunifiedZone)(1U << (((UI_32)zone) & 0x1F))) + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup ZONEMASK +/// \~english @par Brief +/// the Macro for zone index mask +/// \~english @param [in] n +/// zone index +/// \~english @retval num +/// UI_32 - zone index +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - none +/// \~english @par Conditions of processing failure +/// - none +/// \~english @par Detail +/// mask the zone index +/// \~english @par Classification +/// Public +/// \~english @par Type +/// No match +/// \~english @see +/// none +//////////////////////////////////////////////////////////////////////////////////////////////// +#define ZONEMASK( n ) ((TFrameworkunifiedZone)( n )) + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup IS_ZONE_SET +/// \~english @par Brief +/// check wheather the FRAMEWORKUNIFIEDLOG ZONE is set by your application process. +/// \~english @param [in] set_zone +/// UI_32 - checking zone_index +/// \~english @retval TRUE zone is enable +/// \~english @retval FALSE zone is disable +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - none +/// \~english @par Detail +/// Checks if the FRAMEWORKUNIFIEDLOG ZONE can be configured by Application processes. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// No match +/// \~english @see +/// NsLogIsZoneSet +//////////////////////////////////////////////////////////////////////////////////////////////// +#define IS_ZONE_SET(set_zone) (NsLogIsZoneSet(set_zone) == TRUE) + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup FRAMEWORKUNIFIEDLOG +/// \~english @par Brief +/// Developers should use the FRAMEWORKUNIFIEDLOG for logging. +/// \~english @param [in] zone +/// Defined zone in a process (e.g. ZONE_FUNC) +/// \~english @param [in] funcname +/// Name of the class or method where the log was written (e.g. "main") +/// \~english @param [in] print_fmt +/// string similar to that of a printf statement +/// \~english @param [in] args +/// Data arguments(option) +/// \~english @retval none +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - If print_fmt is NULL, no operation is performed. +/// \~english @par Detail +/// FRAMEWORKUNIFIEDLOG is simple macro to make it easy to log messages from any point in your code. +/// This macro has smarts that does fast checks to determine if your log should or shouldn't be printed. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// No match +/// \~english @see +/// ZONEMASK, IS_ZONE_SET, NsLog, NsLog0 +/////////////////////////////////////////////////////////////////////////////// +#ifndef _FRAMEWORKUNIFIEDLOG_ZONE_FUNC_ENABLE_ +#define FRAMEWORKUNIFIEDLOG(zone, funcname, print_fmt, args...)\ + (zone != ZONEMASK(11))?((IS_ZONE_SET(zone))?TEXT_ZONE(zone, funcname, print_fmt, ## args):((void)0)):((void)(0)) +#else // _FRAMEWORKUNIFIEDLOG_ZONE_FUNC_ENABLE_ +#define FRAMEWORKUNIFIEDLOG(zone, funcname, print_fmt, args...)\ + ((IS_ZONE_SET(zone)) ? TEXT_ZONE(zone, funcname, print_fmt, ## args) : ((void)0)) +#endif // _FRAMEWORKUNIFIEDLOG_ZONE_FUNC_ENABLE_ + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_NSLogger +/// \~english @par Brief +/// This is the log output macro for clock display in milliseconds. +/// \~english @param [in] zone +/// Zone indexes to be checked +/// \~english @param [in] str +/// Log output string +/// \~english @retval none +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - none +/// \~english @par Detail +/// A simple macro for logging messages in milliseconds from any point in the source code.\n +/// The log is output in the following format. "Hours:Minutes:Seconds.Milliseconds/=log-output-string" +/// \~english @par Classification +/// Public +/// \~english @see +/// IS_ZONE_SET +/// +//////////////////////////////////////////////////////////////////////////////////////////////// +#define FRAMEWORKUNIFIEDLOG_TIME(zone, str)\ + ((IS_ZONE_SET(zone))?NsLogTime(zone, str):((void)(0))) + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_NSLogger +/// \~english @par Brief +/// This is a simplified version of the log output macro. +/// \~english @param [in] zone +/// Zone indexes to be checked +/// \~english @param [in] data +/// Log output data +/// \~english @param [in] size +/// Size of the log output data +/// \~english @retval none +/// \~english @par Prerequisite +/// - none +/// \~english @par Change of internal state +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - none +/// \~english @par Detail +/// A simple macro for logging messages from any point in the source code.\n +/// \ref The macro FRAMEWORKUNIFIEDLOG can specify variable argument lists for log output data, +/// but the macro is a macro that specifies only data character strings. +/// \~english @par Classification +/// Public +/// \~english @see +/// IS_ZONE_SET, NsLogData +/// +//////////////////////////////////////////////////////////////////////////////////////////////// +#define FRAMEWORKUNIFIEDLOG_DATA(zone, data, size)\ + ((IS_ZONE_SET(zone))?NsLogData(zone, data, size):((void)(0))) + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_NSLogger +/// \brief FRAMEWORKUNIFIEDLOG_EVTCNT +/////////////////////////////////////////////////////////////////////////////// +/// Deprecated API. Not use. +#define FRAMEWORKUNIFIEDLOG_EVTCNT(zone, CntId, EvtId, n...) NsLog_EvtCnt(CntId, EvtId, ##n) + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_NSLogger +/// \brief FRAMEWORKUNIFIEDLOG_EVT +/////////////////////////////////////////////////////////////////////////////// +/// Event logger mechanism.(Send data to SS event logger Queue) +/// \note The ZONE is not used. +/// +/// \param [in] zone +/// Defined zone in a process (e.g. ZONE_FUNC) +/// \param [in] EvtId +/// UI_16 - ID of Event from comm layer +/// \param [in] n +/// UI_8 - number of variable arguments inputted +/////////////////////////////////////////////////////////////////////////////// +/// Deprecated API. Not use. +#define FRAMEWORKUNIFIEDLOG_EVT(zone, EvtId, n...) NsLog_Evt(EvtId, ##n) + +/////////////////////////////////////////////////////////////////////////////// +/// \ingroup tag_NSLogger +/// \brief FRAMEWORKUNIFIEDLOG_CNT +/////////////////////////////////////////////////////////////////////////////// +/// Counter logger mechanism.(Send data to SS event logger Queue) +/// \note The ZONE is not used. +/// +/// \param [in] zone +/// Defined zone in a process (e.g. ZONE_FUNC) +/// \param [in] CntId +/// UI_16 - ID of Event from comm layer +/// \param [in] n +/// UI_8 - number of variable arguments inputted +//////////////////////////////////////////////////////////////////////////////////////////// +/// Deprecated API. Not use. +#define FRAMEWORKUNIFIEDLOG_CNT(zone, CntId, n...) NsLog_Cnt(CntId, ##n) // Not to use + +/// Deprecated API. Not use. +#define TEXT(funcname, args...) TEXT_ZONE(BITS_IN_ZONE_MASK, funcname, ## args) + +// Unused API +// #define TEXT0(funcname, print_fmt ) NsLog(__LINE__, BITS_IN_ZONE_MASK, funcname, print_fmt) + +#define GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, \ + _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, \ + _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, \ + _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, \ + _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, \ + _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, \ + _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, \ + _71, _72, _73, _74, _75, _76, _77, _78, NAME, ...) NAME +#define NsLogFunc(...)\ + GET_MACRO(__VA_ARGS__, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, \ + NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog, NsLog0) +#define TEXT_ZONE(zone_index, funcname, ...)\ + NsLogFunc(__VA_ARGS__)(__LINE__, zone_index, funcname, __VA_ARGS__) + +/// Deprecated API. Not use. +#define TEXT_EVTCNT(CntId, EvtId, n...) NsLog_EvtCnt(CntId, EvtId, ##n) +/// Deprecated API. Not use +#define TEXT_EVT(EvtID, n...) NsLog_Evt(EvtID, ##n) +/// Deprecated API. Not use. +#define TEXT_CNT(CntId, n...) NsLog_Cnt(CntId, ##n) +/// Used to log data that contains trailing arguments \n +/// Example: FRAMEWORKUNIFIEDLOG0(ZONE_INFO, __FUNCTION__, "testers return value is [%d]!", rtnValue); + + +/// Deprecated API. Use FRAMEWORKUNIFIEDLOG instead. +#define FRAMEWORKUNIFIEDLOG0 FRAMEWORKUNIFIEDLOG + + +/// Note: These bits are reserved for Framework logging and debugging +#define ZONE_NS_FUNC ZONEMASK(0) +#define ZONE_NS_DIS ZONEMASK(1) +#define ZONE_NS__CWORD77_ ZONEMASK(2) +#define ZONE_NS_IMP_INFO ZONEMASK(3) +#define ZONE_NS_SM_DEV_INFO ZONEMASK(4) +#define ZONE_NS_SM_USR_INFO ZONEMASK(5) +#define ZONE_NS_INFO ZONEMASK(6) +#define ZONE_NS_DEBUG_DUMP ZONEMASK(7) +#define ZONE_NS_WAR ZONEMASK(8) +#define ZONE_NS_ERR ZONEMASK(9) +#define ZONE_DEBUG_DUMP ZONE_NS_DEBUG_DUMP + +#define ZONE_TEXT_0 "NS_Func" +#define ZONE_TEXT_1 "NS_Dispatcher" +#define ZONE_TEXT_2 "NS__CWORD77_" +#define ZONE_TEXT_3 "NS_Reserved" +#define ZONE_TEXT_4 "NS_StateMachine_Dev" +#define ZONE_TEXT_5 "NS_StateMachine_Usr" +#define ZONE_TEXT_6 "NS_Info" +#define ZONE_TEXT_7 "NS_Debug_Dump" +#define ZONE_TEXT_8 "NS_Warning" +#define ZONE_TEXT_9 "NS_Error" + +//// +// Following is old definitions. Only for compile. +// Specific ZONE to use the ns_logger_frameworkunifiedlog.cfg +// If possible, following Specific ZONE difinitions shall be delete. +//// +// Special ZONE(64)-(95) +/// Note: These bits are reserved for special ZONE +#define ZONE_PERFORMANCE ZONEMASK(64) +#define ZONE_SCREEN_TRANS ZONEMASK(65) +#define ZONE_SWDL ZONEMASK(66) +#define ZONE_SYSTEMDATA ZONEMASK(67) +#define ZONE_LOG_SH ZONEMASK(68) +#define ZONE_LOG_SYS ZONEMASK(69) +#define ZONE_LOG__CWORD52_ ZONEMASK(70) +#define ZONE_SECURE ZONEMASK(71) +#define ZONE_CAN_FILTER ZONEMASK(72) +#define ZONE_COMM_PROCESS ZONEMASK(73) +#define ZONE_CONNECT_DEVICE ZONEMASK(74) +#define ZONE_SP_ZONE_75 ZONEMASK(75) +#define ZONE_SP_ZONE_76 ZONEMASK(76) +#define ZONE_SP_ZONE_77 ZONEMASK(77) +#define ZONE_SP_ZONE_78 ZONEMASK(78) +#define ZONE_SP_ZONE_79 ZONEMASK(79) +#define ZONE_SP_ZONE_80 ZONEMASK(80) +#define ZONE_SP_ZONE_81 ZONEMASK(81) +#define ZONE_SP_ZONE_82 ZONEMASK(82) +#define ZONE_SP_ZONE_83 ZONEMASK(83) +#define ZONE_SP_ZONE_84 ZONEMASK(84) +#define ZONE_SP_ZONE_85 ZONEMASK(85) +#define ZONE_SP_ZONE_86 ZONEMASK(86) +#define ZONE_SP_ZONE_87 ZONEMASK(87) +#define ZONE_SP_ZONE_88 ZONEMASK(88) +#define ZONE_SP_ZONE_89 ZONEMASK(89) +#define ZONE_SP_ZONE_90 ZONEMASK(90) +#define ZONE_SP_ZONE_91 ZONEMASK(91) +#define ZONE_SP_ZONE_92 ZONEMASK(92) +#define ZONE_SP_ZONE_93 ZONEMASK(93) +#define ZONE_SP_ZONE_94 ZONEMASK(94) +#define ZONE_SP_ZONE_95 ZONEMASK(95) + +// Special ZONE(96)-(127) (console off) +/// Note: These bits are reserved for special ZONE +#define ZONE_COMM_SYS ZONEMASK(96) +#define ZONE_COMM_SH ZONEMASK(97) +#define ZONE_COMM_USB ZONEMASK(98) +#define ZONE_SP_ZONE_99 ZONEMASK(99) +#define ZONE_SP_ZONE_100 ZONEMASK(100) +#define ZONE_SP_ZONE_101 ZONEMASK(101) +#define ZONE_SP_ZONE_102 ZONEMASK(102) +#define ZONE_SP_ZONE_103 ZONEMASK(103) +#define ZONE_SP_ZONE_104 ZONEMASK(104) +#define ZONE_SP_ZONE_105 ZONEMASK(105) +#define ZONE_SP_ZONE_106 ZONEMASK(106) +#define ZONE_SP_ZONE_107 ZONEMASK(107) +#define ZONE_SP_ZONE_108 ZONEMASK(108) +#define ZONE_SP_ZONE_109 ZONEMASK(109) +#define ZONE_SP_ZONE_110 ZONEMASK(110) +#define ZONE_SP_ZONE_111 ZONEMASK(111) +#define ZONE_SP_ZONE_112 ZONEMASK(112) +#define ZONE_SP_ZONE_113 ZONEMASK(113) +#define ZONE_SP_ZONE_114 ZONEMASK(114) +#define ZONE_SP_ZONE_115 ZONEMASK(115) +#define ZONE_SP_ZONE_116 ZONEMASK(116) +#define ZONE_SP_ZONE_117 ZONEMASK(117) +#define ZONE_SP_ZONE_118 ZONEMASK(118) +#define ZONE_SP_ZONE_119 ZONEMASK(119) +#define ZONE_SP_ZONE_120 ZONEMASK(120) +#define ZONE_SP_ZONE_121 ZONEMASK(121) +#define ZONE_SP_ZONE_122 ZONEMASK(122) +#define ZONE_SP_ZONE_123 ZONEMASK(123) +#define ZONE_SP_ZONE_124 ZONEMASK(124) +#define ZONE_SP_ZONE_125 ZONEMASK(125) +#define ZONE_SP_ZONE_126 ZONEMASK(126) +#define ZONE_SP_ZONE_127 ZONEMASK(127) + +#endif /* __NATIVESERVICES_LOGGER_H__ */ // NOLINT (build/header_guard) +/** @}*/ +/** @}*/ +/** @}*/ +/** @}*/ -- cgit 1.2.3-korg