tst_ext.h
6.98 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
/*******************************************************************************
* Modification Notice:
* --------------------------
* This software is modified by MediaTek Inc. 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:
* ---------
* tst_ext.h
*
* Project:
* --------
* Maui_Software
*
* Description:
* ------------
* This file contains data structures for both L1 and PS traces
*
* Author:
* -------
* -------
*
*==============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*
* removed!
* removed!
* removed!
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#ifndef TST_EXT_H
#define TST_EXT_H
#include "kal_general_types.h"
#include "fs_type.h"
//Common definitions
#define TST_COMMIT_BATCH 10
// (1<<24) is 16M, don't define it less than 1M (1<<20)
#define TST_MAX_LOG_SIZE_FOR_SINGLE_FILE (1<<24)
#if !defined(__SMART_PHONE_MODEM__)
#define TST_FSWRITE_BUFFER_SIZE (1<<14)
//TST_L1_BUFFER_SIZE_FOR_WRITE_FILE must be smaller than TST_FSWRITE_BUFFER_SIZE
#define TST_L1_BUFFER_SIZE_FOR_WRITE_FILE (1<<13)
#else //#if !defined(__SMART_PHONE_MODEM__)
#define TST_FSWRITE_BUFFER_SIZE (1<<13)
//TST_L1_BUFFER_SIZE_FOR_WRITE_FILE must be smaller than TST_FSWRITE_BUFFER_SIZE
#define TST_L1_BUFFER_SIZE_FOR_WRITE_FILE (1<<12)
#endif //#if !defined(__SMART_PHONE_MODEM__)
#define TST_FILE_MIN_DISK_SIZE (1<<17)
//TFT event
#define TFT_EVENT_SD_CARD_READY 0x1
//Common typedefs
typedef enum
{
TST_Write2File_None, //Not to SD
TST_Write2File_Only, //SD
TST_Write2File_Both, //USB and SD
}
tst_write2_sd_option_t;
typedef enum
{
NO_LOG_ERROR,
DISK_FULL,
NO_CARD,
ERR_EXTEND,
ERR_WRITE,
ERR_COMMIT,
ERR_OPEN,
ERR_CLOSE,
ERR_DIR,
ERR_ALLOC_MEM
}tst_log_to_file_err_enum;
#ifdef __TST_WRITE_TO_FILE__
typedef struct
{
tst_write2_sd_option_t tst_write2_sd_option; //bWriteToFile and bWriteToFileOnly
kal_bool bAlreadyAssertDump;
kal_bool bHeadOfOnePacket;
kal_bool bAssertForFull;
kal_char cDriveLetter;
WCHAR strAssertFolderName[64];
kal_uint32 nDiskFreeSpace;
kal_uint32 nFileFreeSpace;
FS_HANDLE fHandle;
kal_uint32 nOmitPacketCount;
kal_uint32 nBufferPtr;
kal_uint32 nCommitCountDown;
kal_uint8 buffer[TST_FSWRITE_BUFFER_SIZE];
kal_uint32 nL1BufferWritePtr;
kal_uint32 nL1BufferVancancy;
kal_uint8 L1Buffer[TST_L1_BUFFER_SIZE_FOR_WRITE_FILE];
}
tst_dump_info_struct;
extern tst_dump_info_struct tst_dump_info;
#endif //#ifdef __TST_WRITE_TO_FILE__
//extern variables
extern tst_log_to_file_err_enum tst_err_log_to_file;
//Common function prototype
extern tst_write2_sd_option_t tst_file_query_write2file_option(void);
extern kal_uint32 tst_file_query_l1_log_space(void);
extern kal_uint32 tst_file_query_ps_log_space(void);
extern void tst_file_init_l1_log_buf(void);
extern void tst_file_sp_check_sd_ready(void);
extern kal_uint32 tst_file_check_if_output2uart(void);
extern void tst_file_indicate_write2file_only(kal_uint32 cWriteToFileInd);
extern void tst_file_dump_ps_log_to_file(kal_uint8 *buffer, kal_uint32 length);
extern kal_uint32 tst_file_dump_isr_log_to_file(kal_uint8 *buffer, kal_uint32 length);
extern void tst_dump_reset_file_buf_info(void);
extern kal_bool tst_file_get_ps_log_head_packet(void);
extern kal_uint32 tst_file_request_file_space_on_disk(kal_uint32 request_space);
extern kal_uint32 tst_file_query_disk_space(void);
extern kal_uint32 tst_file_reserve_ps_log_space(kal_uint32 length);
extern void tst_file_set_tst_write2_sd_option(tst_write2_sd_option_t tst_write2_sd_option);
extern kal_bool tst_file_query_if_write2sd_start(void);
extern kal_uint32 tst_file_query_omit_pkt(void);
extern FS_HANDLE tst_file_query_write_handler(void);
extern void tst_file_set_write_handler(FS_HANDLE fHandle);
extern WCHAR* tst_file_query_assert_folder_name(void);
extern kal_uint32 tst_file_query_nBufferPtr(void);
extern kal_bool tst_file_set_already_dump(void);
extern kal_bool tst_file_reserve_disk_space(kal_uint32 length);
extern kal_int32 tst_file_store_unsaved_log(void);
extern void tst_file_check_and_dump_isr_log(void);
extern void tst_file_set_ps_log_head_packet(kal_bool value);
void tst_file_dump_log_to_file(kal_uint8 *buffer, kal_uint32 length, kal_uint32 caller_context);
kal_bool tst_file_check_lga_data_saved(void);
extern kal_uint8* tst_file_ex_tmp_buf;
extern kal_uint32 tst_file_ex_tmp_buf_size;
#endif