📄 ppp_statistic.h
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* PPP_STATISTIC.H
*
* Project:
* --------
* MAUI
*
* Description:
* ------------
* This file defines the ppp status report
*
* Author:
* -------
* -------
*
*===========================================================
*****************************************************************************/
#ifndef _PPP_STATISTIC_H
#define _PPP_STATISTIC_H
typedef enum {
PPP_STA_DISABLE,
PPP_STA_ENCODE,
PPP_STA_DECODE
} ppp_sta_report_enum;
typedef struct {
kal_uint16 id;
kal_uint32 time_stamp;
kal_uint32 time_100us;
kal_uint16 frame_size;
kal_uint16 data_size;
} ppp_frame_statistic_struct;
typedef struct {
kal_uint16 encode_id;
kal_uint16 decode_id;
kal_uint32 current_time;
kal_uint32 duration_ms;
kal_uint32 total_ms; /* total used time */
ppp_frame_statistic_struct encode[10];
ppp_frame_statistic_struct decode[10];
kal_uint16 err_cnt; /* frame decode error */
kal_uint16 csd_frame_err;
kal_uint32 csd_total_ul_size;
kal_uint32 csd_total_dl_size;
kal_uint16 gprs_frame_err;
kal_uint32 gprs_total_ul_size;
kal_uint32 gprs_total_dl_size;
kal_bool is_status_report;
} ppp_statistic_context_struct;
#ifdef _MAUI_SOFTWARE_LA_
extern kal_uint32 SA_LoggingIndex;
extern kal_bool SA_TurnOnAssert;
#define RESET_SWLA (SA_LoggingIndex = 0)
#define SWLA_ASSERT_ON (SA_TurnOnAssert = KAL_TRUE)
#else /* _MAUI_SOFTWARE_LA_ */
#define RESET_SWLA
#define SWLA_ASSERT_ON
#endif
#ifdef PPP_STATUS_REPORT
extern ppp_statistic_context_struct * ppp_sta_ctx_ptr;
extern kal_bool ppp_enable_statistic;
extern kal_uint32 ppp_get_current_time(void);
extern kal_uint32 ppp_get_duration_ms(kal_uint32 previous_time);
extern kal_uint32 ppp_get_duration_100us(kal_uint32 previous_time);
#define GET_ENCODE_ID (ppp_sta_ctx_ptr->encode_id)
#define GET_DECODE_ID (ppp_sta_ctx_ptr->decode_id)
#define INC_ENCODE_ID (ppp_sta_ctx_ptr->encode_id)++
#define INC_DECODE_ID (ppp_sta_ctx_ptr->decode_id)++
#define RESET_ENCODE_ID (ppp_sta_ctx_ptr->encode_id = 0)
#define RESET_DECODE_ID (ppp_sta_ctx_ptr->decode_id = 0)
#define RESET_ENCODE_STA kal_mem_set(ppp_sta_ctx_ptr->encode,0x00,10*sizeof(ppp_frame_statistic_struct))
#define RESET_DECODE_STA kal_mem_set(ppp_sta_ctx_ptr->decode,0x00,10*sizeof(ppp_frame_statistic_struct))
#define DECODE_STA_PTR &(ppp_sta_ctx_ptr->decode[(ppp_sta_ctx_ptr->decode_id)%10])
#define ENCODE_STA_PTR &(ppp_sta_ctx_ptr->encode[(ppp_sta_ctx_ptr->encode_id)%10])
#define INC_ERR_CNT (ppp_sta_ctx_ptr->err_cnt)++
#define GPRS_FRAME_ERR (ppp_sta_ctx_ptr->gprs_frame_err)++
#define CSD_FRAME_ERR (ppp_sta_ctx_ptr->csd_frame_err)++
#define GPRS_UL_INC_SIZE(x) (ppp_sta_ctx_ptr->gprs_total_ul_size) += (x)
#define GPRS_DL_INC_SIZE(x) (ppp_sta_ctx_ptr->gprs_total_dl_size) += (x)
#define CSD_UL_INC_SIZE(x) (ppp_sta_ctx_ptr->csd_total_ul_size) += (x)
#define CSD_DL_INC_SIZE(x) (ppp_sta_ctx_ptr->csd_total_dl_size) += (x)
#define PPP_INC_TIME (ppp_sta_ctx_ptr->total_ms) += (ppp_sta_ctx_ptr->duration_ms)
#define PPP_STA_START (ppp_sta_ctx_ptr->current_time = ppp_get_current_time())
#define PPP_STA_STOP (ppp_sta_ctx_ptr->duration_ms = ppp_get_duration_ms(ppp_sta_ctx_ptr->current_time))
#define PPP_STA_REPORT_SET(x) (((x) == ppp_enable_statistic) ? KAL_TRUE : KAL_FALSE)
#else /* ~ PPP_STATUS_REPORT */
#define GET_ENCODE_ID
#define GET_DECODE_ID
#define INC_ENCODE_ID
#define INC_DECODE_ID
#define RESET_ENCODE_ID
#define RESET_DECODE_ID
#define RESET_ENCODE_STA
#define RESET_DECODE_STA
#define DECODE_STA_PTR
#define ENCODE_STA_PTR
#define INC_ERR_CNT
#define GPRS_FRAME_ERR
#define CSD_FRAME_ERR
#define GPRS_UL_INC_SIZE(x)
#define GPRS_DL_INC_SIZE(x)
#define CSD_UL_INC_SIZE(x)
#define CSD_DL_INC_SIZE(x)
#define PPP_INC_TIME
#define PPP_STA_START
#define PPP_STA_STOP
#define PPP_STA_REPORT_SET(x)
#endif /* PPP_STATUS_REPORT */
extern kal_uint32 L1I_GetTimeStamp(void);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -