X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Frlog%2Frl_rlog.h;fp=src%2Frlog%2Frl_rlog.h;h=1f465ba69aa16b1f1cb146e6f9db8e54466dd2b9;hb=5625a52ad68f6ad93684e68bbbdbaef0d462cf9a;hp=0000000000000000000000000000000000000000;hpb=59f84608ec15c016958a6e0e0ddd813f376c0925;p=o-du%2Fl2.git diff --git a/src/rlog/rl_rlog.h b/src/rlog/rl_rlog.h new file mode 100755 index 000000000..1f465ba69 --- /dev/null +++ b/src/rlog/rl_rlog.h @@ -0,0 +1,121 @@ +/******************************************************************************* +################################################################################ +# Copyright (c) [2017-2019] [Radisys] # +# # +# 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. # +################################################################################ +*******************************************************************************/ + +/********************************************************************20** + + Name: Radisys Logging Framework + Type: C include file + Desc: This file contains logging framework include file for library. + File: rl.h + +*********************************************************************21*/ +/**************************************************************************** +@ description: This is header file is used by logging framework module. This +file should not be included by any other application. This is internal +header file logging framework. +*****************************************************************************/ + +#ifndef __RL_H__ +#define __RL_H__ + +#include +#include +#include +#include +#include +#include +#include +#include "rl_common.h" + +#define MAX_FILE_SIZE 3145728 /* 3MB */ +#define MAX_LOG_LEN 256 +#define MAX_FILENAME_LEN 300 +#define LOG_TIME_LEN 64 +#define MAX_LOG_BUF_SIZE 5000 +#define RLOG_MAX_CIRBUF_SIZE (1024*100) +#define RLOG_REMOTE_LOGGING_PORT 9099 +#define RLOG_MAX_FILES 5 +#define RLOG_MAX_TIME_STAMP 80 +#define RLOG_MAX_TAX_NAME 16 +#define RLOG_FIFO_FILE "/tmp/l2logs" +#define RLOG_CIRBUF_READ_INTERVAL 1 /* 60 seconds read interval */ +#define RLOG_MAX_THREADS 16 +#define RLOG_TIME_ZONE_LEN 8 +#define RLOG_MAX_STACK_DEPTH 24 +#define RLOG_MAX_BACKTRACE_BUFSZ 2048 +#define RLOG_READ_POS_THRESHOLD 300 +#define RLOG_FIXED_LENGTH_BUFFER_SIZE 50 +#define RLOGTICKSCNTTOPRCL2LOGS 10 + +/* Console handling */ +#define RLOG_CTRL_L 12 +#define RLOG_CTRL_Y 25 +#define RLOG_ENTER_KEY 10 +#define RLOG_SET_LOGLEVEL 1 +#define RLOG_SET_MODMASK 2 + +/*L2 Logging */ +#define PROCESS_L2LOG_TTI 10 + +typedef enum { +LOG_ARG_INT, +LOG_ARG_STR, +LOG_ARG_HEX, +LOG_ARG_SPL +} LOG_ARG_TYPE; + +typedef enum rlLogCntLmt +{ + RL_LOG_COUNT_LIMIT_START = 1, + RL_LOG_COUNT_LIMIT_STOP +}RLLogCntLmt; + +typedef struct { + + char szTaskName[RLOG_MAX_TAX_NAME]; + U8* logBuff; /* LOG Buffer */ + U32 logBufLen; /* Data Written till now */ + U32 logReadPos; /* Reader thread position */ + U8 listIndex; /* Index to global list */ + +} THREAD_DATA; + +extern void readL2LogBuff(void); +extern void processL2LogBuff(void); +extern S16 sendL2LogBuftoL3(void); +extern void rlInitL2Log(void); +/* Extern for soc specific file */ +extern void rlProcessLogBufFromL2(void *mBuf); +extern void rlInitL2SocSpecific(void); +//extern void processL2LogBuff(void); +extern void rlProcessTicks(void); +extern void rlGetL2LogBufPtr (void *mBuf, U32 *logLen,U8 **logPtr); +extern void rlInvalidateL2LogsInCache(U8 *ptr,U32 len); + +extern U8 *g_l2rlogBuf; /* buffer pointer for shared memory allocation */ +extern U8 *g_l2LogBufStartPtr; /* buffer pointer where logs has to be written */ +extern U8 *g_l2LogBufBasePtr; /* Base pointer for log buffer */ +extern U8 *g_logBufRcvdFromL2; /* Buffer pointer received from L2 at L3*/ +extern U8 *g_l2LogBaseBuff; /* Base log buffer received at L3 */ +extern U32 g_l2LogBufLen; /* Log Buffer length written at L2 */ +extern U32 startL2Logging; /* flag to start processing of L2 logs */ +extern U32 g_l2logBuffPos; /* Log Buffer block which is in use for L2 logging */ +extern U8 g_writeCirBuf; /* Flag to indicate whether to write logs or not */ +//extern Pst g_rlog_pst; + +#endif /* __RL_H__*/