blob: 9dee925d2fd228f9cbe9ad7e67b68e01eac205be [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35/*************************************************************
36*
37* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
38*
39* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
40*
41* Copyright (c) 1999-2010 VIA Telecom, Inc. All rights reserved.
42*
43*************************************************************/
44/****************************************************************************
45 *
46 * Module: field.h - Message Field Width Definitions
47 *
48 * Purpose: Header file containing Message field width definitions
49 *
50 ****************************************************************************
51 *
52 * PVCS Header Information
53 *
54 * $Revision: 1.11 $
55 * $Author: vsethuraman $
56 *
57 * $Log: field.h $
58 *
59 * 06 14 2019 yanfeng.xu
60 * [MOLY00413189] [Cervino][MT6762][P0][MP2][Sprint][FT_REG][Chicago][SI2][C2K][C2K_Perfromance_FT_06]Mobile Station Reject Order decode error
61 * Revision 1.11 2006/03/03 13:41:03 vsethuraman
62 * CR7207 :- PN310 CSS and ERI changes.
63 * Revision 1.10 2005/03/18 11:47:03 hans
64 * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
65 * Revision 1.9 2004/10/07 12:42:29 blee
66 * Added DDW and REXMIT_DELAY
67 * Revision 1.8 2004/10/05 16:44:25 asharma
68 * Fixed CR5104 & CR5228 for LGE Rel-C compliance.
69 * Revision 1.7 2004/09/28 16:57:08 hans
70 * Changes from CBP6.0 merged.
71 * Revision 1.4 2004/04/23 10:49:58 asharma
72 * CBP6.1 (Phase-1) DV Data and Voice Call Setup changes.
73 * Revision 1.3.1.2 2004/04/14 15:19:53 asharma
74 * Revision 1.3 2004/04/06 14:02:06 dstecker
75 * CBP6.1 release 1
76 * Revision 1.2 2004/03/25 12:08:48 fpeng
77 * Updated from 6.0 CP 2.5.0
78 * Revision 1.2 2003/08/28 11:18:06 bcolford
79 * Update for merge.
80 * Revision 1.30 2003/05/21 17:10:35 byang
81 * CR#570: Replace compiler flag with IS2000A with IS2000_REV_0.
82 * Revision 1.29 2002/12/30 19:03:20 akayvan
83 * Per CR570, Cosmetic changes for replacement of
84 * IS2000A with either IS2000_REV_A or IS2000_REV_0.
85 * Revision 1.28 2002/12/26 11:46:52 hans
86 * Conditional compile flag IS2000A replaced with IS_2000_REV_A and IS_2000_REV_0 for rev A and Rev 0 specific code.
87 * Revision 1.27 2002/10/22 09:58:52 mclee
88 * Add new #define CP_RESERVED_2_WIDTH
89 * Revision 1.26 2002/10/21 12:02:44 hans
90 * CR1445, RC_MAP_WIDTH fields corrected to 3 bit
91 * Revision 1.25 2002/09/05 18:58:19 hans
92 * CP_BAND_CLASS_BIT_FIELD_WIDTH added for CR1203
93 * Revision 1.24 2002/08/27 17:04:27 byang
94 * Add field width definition for SCH information in UHDM.
95 * Revision 1.23 2002/08/19 10:15:41 dstecker
96 * Added candidate frequency fields
97 * Revision 1.22 2002/07/15 13:12:14 chinh
98 * Removed compile switch CBP3_MERGE (CR598).
99 * Revision 1.21 2002/06/06 13:12:16 chinh
100 * Changed and Added Copyright
101 * Revision 1.20 2002/05/08 16:47:44 byang
102 * Add field width for F-SCH PMRM.
103 * Revision 1.19 2002/02/19 14:35:18 akayvan
104 * RPC Mods. Added bit field widths for RPC fileds of PCNM.
105 * Revision 1.18 2002/02/14 16:15:18 byang
106 * Removed obsolete constant definitions.
107 * Revision 1.17 2001/11/16 10:58:21 dstecker
108 * Handoff fixes and reverse power control additions
109 * Revision 1.16 2001/10/01 17:27:49 ameya
110 * Added #define for DTMF digit length
111 * Revision 1.15 2001/09/25 16:35:59 mclee
112 * Changed CP_CH_IND_WIDTH from 3 to 2
113 * Revision 1.14 2001/09/20 13:06:32 dstecker
114 * Fixed traffic handoff bugs
115 * Revision 1.13 2001/09/07 18:02:34 akayvan
116 * Added bit field widths for the PCNM, and OLRM per FPC.
117 * Revision 1.12 2001/08/30 14:53:33 byang
118 * Added new field width definitions for ESCAM, RAM, ERM,
119 * RRM, ERRM, and RRRM.
120 * Revision 1.11 2001/08/03 15:14:38 dstecker
121 * Modifications for IS2000 handoffs
122 * Revision 1.10 2001/07/18 15:09:24 chinh
123 * cbp3 porting for Idle and Access
124 * Revision 1.9 2001/06/29 10:44:13 hans
125 * Width definitions for new message field added for new field defined in Ms Cap Db used in IS2000 status request / response message
126 * Revision 1.8 2001/06/18 15:23:12 chinh
127 * Add new constants for information record in FNM and AWIM.
128 * Revision 1.7 2001/04/27 16:29:31 byang
129 * Update processing of EGSRM & ECCLM for IS-2000 Rev.0.
130 * Revision 1.6 2001/04/18 11:01:15 chinh
131 * Fixed ORM problem
132 * Revision 1.5 2001/04/11 16:21:07Z akayvan
133 * Changed the value of CP_RTC_SERV_CON_SEQ_WIDTH from 4 to 3. Added CP_IS2K_REV0_RESERVED_WIDTH,
134 * CP_FOR_SCH_CC_INCL_WIDTH, and CP_REV_SCH_CC_INCL_WIDTH per IS2K Rev0 compliance.
135 * Revision 1.4 2001/03/28 16:16:26 akayvan
136 * Intoduced CP_IS2000_SERVICE_CONNECT_RSVD_WIDTH,
137 * and CP_IS95_SERVICE_CONNECT_RSVD_WIDTH instead
138 * of CP_SERVICE_CONNECT_RSVD_WIDTH.
139 * Revision 1.3 2001/03/16 11:29:58 akayvan
140 * Traffic code phase1 added.
141 * Revision 1.2 2001/01/29 18:13:20 hans
142 * New field added for (IS2000.rev.a) auxililary powere measurement channels
143 * Revision 1.1 2001/01/17 18:58:35Z plabarbe
144 * Initial revision
145 * Revision 1.6 2000/12/05 17:44:21 byang
146 * Idle mode - IS2000A Addendum modifications.
147 * Revision 1.5 2000/11/27 11:58:04 chinh
148 * Added new fields for Origination and Registration messages.
149 * Added fields for LAC on dsch.
150 * Revision 1.4 2000/11/14 01:04:03Z byang
151 * IS-2000A Idle Mode and LAC integration - Initial Release.
152 * Revision 1.2 2000/11/13 22:24:31Z byang
153 * IS-2000A Idle Mode and LAC intergration - Initial Release.
154 * Revision 1.1 2000/10/24 21:11:12Z fpeng
155 * Initial revision
156 * Revision 1.5 2000/09/20 20:16:00Z RSATTARI
157 * Corrected CP_NGHBR_SRCH_MODE_WIDTH to 2.
158 * Revision 1.4 2000/09/08 23:59:01Z RSATTARI
159 * Added capability information record field width.
160 * Revision 1.3 2000/08/23 22:06:41Z RSATTARI
161 * Isotel release 2.8 plus LSI applicable IS-95B changes.
162 * Revision 1.21 2000/02/22 16:56:53 scotvold
163 * Changed CP_BURST_ADDR_LEN_WIDTH from 8 to 4.
164 * Added CP_EXT_SYS_PAR_RSVD_WIDTH to enable check for P_REV > 3
165 * fields in the Extended System Parameters message.
166 *
167 * Revision 1.2 2000/03/01 18:06:30Z rsattari
168 * Isotel release 2.3 updates.
169 * Revision 1.20 2000/01/17 22:27:19 scotvold
170 * TC Backward Compatibility changes.
171 *
172 * Revision 1.19 1999/10/19 23:58:31 gfrye
173 * Added field definitions for the two page messages that were made
174 * obsolete in IS-95B.
175 *
176 * Revision 1.18 1999/09/02 20:04:06 gfrye
177 * Added more field width definitions for rev 3+ originations and
178 * page responses.
179 *
180 * Revision 1.17 1999/06/04 23:27:26 scotvold
181 * New Message Transmitter.
182 *
183 * Revision 1.16 1999/05/19 20:17:58 mhayduk
184 * Added defines for MAX_NUM_ALT_SO and EC_THRESH.
185 *
186 * Revision 1.15 1999/05/19 16:56:26 mhayduk
187 * Added new field width definitions for origination/page
188 * response messages.
189 *
190 * Revision 1.14 1999/04/12 13:31:46 scotvold
191 * Added T53 HSPD support.
192 * Added 95B SCAM support.
193 * Added 95B GHDM support and consolidated with EHDM.
194 *
195 * Revision 1.13 1999/01/26 18:50:08 scotvold
196 * R1.2 API changes.
197 *
198 * Revision 1.12 1998/12/02 00:06:12 scotvold
199 * Added CP_SYS_TIME_REMAINDER_WIDTH field.
200 *
201 * Revision 1.11 1998/11/02 22:04:48 scotvold
202 * Added record field width defn.
203 *
204 * Revision 1.10 1998/10/23 19:54:34 mhayduk
205 * Changed NUM_INFO_REC_WIDTH to 4 from 3 for new IS-95B rev.
206 *
207 * Revision 1.9 1998/10/20 23:58:23 mhayduk
208 * Added T53 support.
209 *
210 * Revision 1.8 1998/08/29 01:21:45 mhayduk
211 * Corrected AUTHR size to be 18 instead of 26.
212 *
213 * Revision 1.7 1998/07/29 23:48:57 mhayduk
214 * Added accessor to overflow status.
215 *
216 * Revision 1.6 1998/07/18 00:40:13 scotvold
217 * Fixed Service Configuration record field defn.
218 *
219 * Revision 1.5 1998/05/28 15:03:07 mhayduk
220 * Added new defintions for num pilots width for extended channel
221 * assignments.
222 *
223 * Revision 1.4 1998/05/27 17:16:28 scotvold
224 * Updated for Release 0.05.
225 *
226 * Revision 1.3 1998/05/01 18:13:54 scotvold
227 * Update for release 0.04
228 *
229 * Revision 1.2 1998/03/30 23:26:03 mhayduk
230 * Release 0.03.
231 *
232 *
233 *
234 ****************************************************************************
235 ****************************************************************************/
236
237
238#ifndef _FIELD_H
239
240 #define _FIELD_H 1
241
242
243/****************************************************************************
244 * Common field width definitions
245 ****************************************************************************/
246
247/* Basic field width definitions */
248#define CP_UINT8_WIDTH 8
249#define CP_MSG_LENGTH_OFFSET 0
250
251/* Common field width definitions */
252#define CP_MSG_LEN_WIDTH 8
253#define CP_MSG_TYPE_WIDTH 8
254#define CP_CRC_16_WIDTH 16
255#define CP_CRC_30_WIDTH 30
256#define CP_ACK_SEQ_WIDTH 3
257#define CP_MSG_SEQ_WIDTH 3
258#define CP_ACK_REQ_WIDTH 1
259#define CP_ENCRYPTION_WIDTH 2
260#define CP_VALID_ACK_WIDTH 1
261#define CP_ACK_TYPE_WIDTH 3
262#define CP_ADDR_TYPE_WIDTH 3 /* Address type */
263#define CP_ADDR_LEN_WIDTH 4 /* Address length */
264#define CP_CONFIG_MSG_SEQ_WIDTH 6 /* Config message sequence number */
265
266#define CP_ARQ_FIELDS_WIDTH (CP_ACK_SEQ_WIDTH+CP_MSG_SEQ_WIDTH+CP_ACK_REQ_WIDTH+CP_VALID_ACK_WIDTH)
267#define CP_ADDR_FIELDS_WIDTH (CP_ADDR_TYPE_WIDTH+CP_ADDR_LEN_WIDTH+(CP_ADDR_LEN_WIDTH*8) )
268#define CP_RESERVED_1_WIDTH 1
269#define CP_RESERVED_2_WIDTH 2
270#define CP_ADD_RECORD_LEN_WIDTH_8 8
271
272/**********************************************************/
273/* P_REV_IN_USE >= 7 specific field width definitions */
274/**********************************************************/
275
276#define CP_EXT_MSG_LEN_WIDTH 16
277#define CP_ENC_FIELDS_INCL_WIDTH 1
278#define CP_SIG_ENCRYPT_MODE_WIDTH 3
279#define CP_MACI_INCL_WIDTH_IDLE 2
280#define CP_MACI_INCL_WIDTH_TRAFFIC 1
281#define CP_ENC_SEQ_WIDTH 8
282
283#define CP_EXT_MSG_LEN_INCL_WIDTH 1
284#define CP_8BIT_EXT_MSG_LEN_WIDTH 8
285#define CP_7BIT_MSG_LEN_WIDTH 7
286#define CP_15BIT_MSG_LEN_WIDTH 15
287
288#define CP_COMMON_FIELD_WIDTH \
289 (CP_MSG_LEN_WIDTH + \
290 CP_MSG_TYPE_WIDTH + \
291 CP_ACK_SEQ_WIDTH + \
292 CP_MSG_SEQ_WIDTH + \
293 CP_ACK_REQ_WIDTH + \
294 CP_ENCRYPTION_WIDTH)
295
296#define CP_MAX_TC_L3_MSG_WIDTH_NO_CRC 2024
297#define CP_MAX_TC_L3_MSG_BODY_WIDTH 2016
298#define CP_MAX_TC_L3_MSG_CONTENT_WIDTH \
299 (CP_MAX_TC_L3_MSG_BODY_WIDTH - \
300 CP_COMMON_FIELD_WIDTH)
301
302
303#define CP_ACK_SEQ_OFFSET_WIDTH \
304 (CP_MSG_LEN_WIDTH + \
305 CP_MSG_TYPE_WIDTH)
306
307#define CP_RECORD_TYPE_WIDTH 8
308#define CP_RECORD_LEN_WIDTH 8
309#define CP_RECORD_HEADER_WIDTH 16
310
311#define CP_USE_TIME_WIDTH 1
312#define CP_ACTION_TIME_WIDTH 6
313
314#define CP_ORDER_WIDTH 6
315#define CP_ADD_RECORD_LEN_WIDTH 3
316#define CP_ORDQ_WIDTH 8
317#define CP_RETRY_TYPE_WIDTH 3
318
319
320#define CP_P_REV_WIDTH 8 /* Protocol revision */
321
322#define CP_SYS_TIME_REMAINDER_WIDTH 4
323
324#define CP_BCN_WIDTH 3
325#define CP_TIME_OFFSET_WIDTH 10
326#define CP_REPEAT_TIME_OFFSET_WIDTH 5
327#define CP_MAX_EXT_BCAST_SDU_LEN 16
328
329
330/************************************************/
331/* Common Authentication field width definitions */
332/************************************************/
333#define CP_AUTH_MODE_WIDTH 2
334#define CP_RANDC_WIDTH 8
335#define CP_AUTHR_WIDTH 18
336#define CP_AUTHU_WIDTH 18
337#define CP_COUNT_WIDTH 6
338#define CP_RANDU_WIDTH 24 /* Random challenge data */
339#define CP_RAND_WIDTH 32
340#define CP_RANDBS_WIDTH 32
341
342/************************************************/
343/* Common Registration field width definitions */
344/************************************************/
345#define CP_SID_WIDTH 15 /* Home system ID */
346#define CP_NID_WIDTH 16 /* Network ID */
347#define CP_REG_ZONE_WIDTH 12 /* Registration zone */
348#define CP_TOTAL_ZONES_WIDTH 3 /* Total zones */
349#define CP_ZONE_TIMER_WIDTH 3 /* Zone Timer */
350#define CP_MULT_SIDS_WIDTH 1 /* Multiple SIDS */
351#define CP_MULT_NIDS_WIDTH 1 /* Multiple NIDS */
352#define CP_BASE_ID_WIDTH 16 /* Base station identification */
353#define CP_BASE_CLASS_WIDTH 4 /* Base station class */
354#define CP_PAGE_CHAN_WIDTH 3 /* Number of paging channels */
355#define CP_MAX_SLOT_CYCLE_WIDTH 3 /* Maximium slot cycle index */
356#define CP_HOME_REG_WIDTH 1 /* Home registration indicator */
357#define CP_FOR_SID_REG_WIDTH 1 /* SID roamer registration indicator */
358#define CP_FOR_NID_REG_WIDTH 1 /* NID roamer registration indicator */
359#define CP_POWER_UP_REG_WIDTH 1 /* Powerup registration indicator */
360#define CP_POWER_DOWN_REG_WIDTH 1 /* Powerdown registration indicator */
361#define CP_PARAMETER_REG_WIDTH 1 /* Parameter change registration indicator */
362#define CP_REG_PRD_WIDTH 7 /* Registration period */
363#define CP_BASE_LAT_WIDTH 22 /* Base station latitude */
364#define CP_BASE_LONG_WIDTH 23 /* Base station longitude */
365#define CP_REG_DIST_WIDTH 11 /* Registration distance */
366
367
368#define CP_QPCH_SUPPORTED_WIDTH 1
369#define CP_ENHANCED_RC_WIDTH 1
370#define CP_UZID_INCL_WIDTH 1
371#define CP_UZID_WIDTH 16
372#define CP_GEO_LOC_INCL_WIDTH 1
373#define CP_GEO_LOC_TYPE_WIDTH 3
374#define CP_OTD_SUPPORTED_WIDTH 1
375#define CP_STS_SUPPORTED_WIDTH 1
376#define CP_3X_CCH_SUPPORTED_WIDTH 1
377#define CP_WLL_INCL_WIDTH 1
378#define CP_WLL_DEVICE_TYPE_WIDTH 3
379#define CP_HOOK_STATUS_WIDTH 4
380#define CP_ENC_INFO_INCL_WIDTH 1
381#define CP_SIG_ENCRYPT_SUP_WIDTH 8
382#define CP_SIG_ENCRYPT_REQ_WIDTH 1
383#define CP_KEY_SEQ_NEW_INCL_WIDTH 1
384#define CP_KEY_SEQ_NEW_WIDTH 4
385#define CP_ENC_SEQ_H_WIDTH 24
386#define CP_ENC_SEQ_H_SIG_WIDTH 8
387#define CP_UI_ENCRYPT_SUP_WIDTH 8
388
389#define CP_MSG_INT_INFO_INCL_WIDTH 1
390#define CP_FOR_PDCH_SUPPORTED_WIDTH 1
391
392/************************************************/
393/* Common Handoff field width definitions */
394/************************************************/
395#define CP_SRCH_WIN_A_WIDTH 4 /* Active/Candidate search window size */
396#define CP_SRCH_WIN_N_WIDTH 4 /* Neighbor search window size */
397#define CP_SRCH_WIN_R_WIDTH 4 /* Remaining search window size */
398#define CP_NGHBR_MAX_AGE_WIDTH 4 /* Neighbor set maximum age */
399#define CP_RESCAN_WIDTH 1 /* Rescan indicator */
400#define CP_T_ADD_WIDTH 6 /* Pilot detection threshold */
401#define CP_T_DROP_WIDTH 6 /* Pilot drop threshold */
402#define CP_T_COMP_WIDTH 4 /* Active vs Cand. set comp. threshold */
403#define CP_T_TDROP_WIDTH 4 /* Drop timer value */
404#define CP_T_TDROP_RANGE_WIDTH 4 /* Drop timer range value */
405#define CP_NUM_OPT_MSG_BITS_WIDTH 4
406#define CP_APPIM_PERIOD_INDEX_WIDTH 3
407#define CP_GEN_OVHD_CYCLE_INDEX_WIDTH 3
408#define CP_ATIM_CYCLE_INDEX_WIDTH 3
409#define CP_LOC_UNC_H_WIDTH 4
410#define CP_HEIGHT_WIDTH 14
411#define CP_LOC_UNC_V_WIDTH 4
412#define CP_HDM_SEQ_WIDTH 2
413#define CP_PARM_INCL_WIDTH 1
414#define CP_SOFT_SLOPE_WIDTH 6
415#define CP_ADD_INTERCEPT_WIDTH 6
416#define CP_DROP_INTERCEPT_WIDTH 6
417#define CP_SCH_INCL_WIDTH 1
418#define CP_HOCM_NUM_PILOTS_WIDTH 4
419
420/************************************************/
421/* Common Neighbor field width definitions */
422/************************************************/
423#define CP_PILOT_INC_WIDTH 4 /* Pilot Inc */
424#define CP_NGHBR_CONFIG_WIDTH 3 /* Neighbor Config */
425
426/*R.Sattari, 7/5/00 */
427#define CP_NGHBR_CONFIG_PN_INCL_WIDTH 1
428#define CP_FREQ_FIELDS_INCL_WIDTH 1
429
430#define CP_NGHBR_PN_WIDTH 9 /* Neighbor PN */
431#define CP_SEARCH_PRIORITY_WIDTH 2 /* Search Priority */
432#define CP_FREQ_INCL_WIDTH 1 /* Frequency Included indicator */
433#define CP_NGHBR_BAND_WIDTH 5 /* Neighbor band */
434#define CP_NGHBR_FREQ_WIDTH 11 /* Neighbor frequency */
435#define CP_FREQ_INCL_OFFSET_WIDTH 14 /* Offset from start of rec to FREQ_INCL */
436
437/* R. Sattari, 9/20/00, changed from 3 to 2 */
438#define CP_NGHBR_SRCH_MODE_WIDTH 2
439
440/* R.Sattari, 6/30/00, added hopping pilot defenitions */
441#define CP_USE_TIMING_WIDTH 1
442#define CP_GLOBAL_TIMING_INCL_WIDTH 1
443#define CP_GLOBAL_TX_DURATION_WIDTH 4
444#define CP_GLOBAL_TX_PERIOD_WIDTH 7
445#define CP_TIMING_INCL_WIDTH 1
446#define CP_NGHBR_TX_OFFSET_WIDTH 7
447#define CP_NGHBR_TX_DURATION_WIDTH 4
448#define CP_NGHBR_TX_PERIOD_WIDTH 7
449
450#define CP_SRCH_OFFSET_INCL_WIDTH 1
451#define CP_ADD_PILOT_REC_INCL_WIDTH 1
452#define CP_NGHBR_PILOT_REC_TYPE_WIDTH 3
453#define CP_NGHBR_PILOT_REC_LEN_WIDTH 3
454#define CP_OTD_POWER_LEVEL_WIDTH 2
455#define CP_SRCH_OFFSET_NGHBR_WIDTH 3
456
457/* General Neighbor List Message (GNLM) fields */
458#define CP_RESQ_DELAY_TIME 6
459#define CP_RESQ_ALLOWED_TIME 6
460#define CP_RESQ_ATTEMPT_TIME 6
461#define CP_RESQ_CODE_CHAN 11
462#define CP_RESQ_QOF 2
463#define CP_RESQ_MIN_PERIOD 5
464#define CP_RESQ_NUM_TOT_TRANS_20MS 4
465#define CP_RESQ_NUM_TOT_TRANS_5MS 4
466#define CP_RESQ_NUM_PREAMBLE_RC1_RC2 3
467#define CP_RESQ_NUM_PREAMBLE 3
468#define CP_RESQ_POWER_DELTA 3
469
470/* R.Sattari 6/29/00, changed from 5 */
471#define CP_NUM_NGHBR_WIDTH 6
472
473#define CP_SRCH_WIN_NGHBR_WIDTH 4
474#define CP_NGHBR_LIST_UPDATE_FIXED_FIELD_WIDTH \
475 (CP_COMMON_FIELD_WIDTH + \
476 CP_PILOT_INC_WIDTH)
477
478/* Neighbor List Update Message */
479#define CP_SEARCH_WIN_NGHBR_WIDTH 4
480
481/* Universal Neighbor List Message */
482#define CP_NUM_RADIO_INTERFACE 4
483#define CP_RADIO_INTERFACE_TYPE 4
484#define CP_RADIO_INTERFACE_LEN 8
485#define CP_NGHBR_PILOT_REC_TYPE 3
486#define CP_NGHBR_PILOT_REC_TYPE_000_RESERVE 4
487#define CP_QOF 2
488#define CP_WALSH_LENGTH 3
489#define CP_AUX_PILOT_WALSH 6
490#define CP_SRCH_OFFSET_NGHBR 3
491#define CP_NGHBR_PILOT_REC_LEN 3
492/************************************************/
493/* Common CDMA physical field width definitions */
494/************************************************/
495#define CP_CDMA_FREQ_WIDTH 11 /* CDMA frequency */
496#define CP_PILOT_PN_WIDTH 9 /* Pilot PN */
497#define CP_LC_STATE_WIDTH 42 /* Long code state */
498#define CP_CODE_CHAN_WIDTH 8 /* Code Channel */
499#define CP_SLOT_CYCLE_INDEX_WIDTH 3
500#define CP_RETURN_CAUSE_WIDTH 4
501#define CP_SCM_WIDTH 8
502
503/************************************************/
504/* Common Analog physical field width definitions */
505/************************************************/
506#define CP_ANALOG_SYS_WIDTH 1 /* System indicator */
507#define CP_USE_ANALOG_SYS_WIDTH 1 /* Use analog system indicator */
508#define CP_VMAC_WIDTH 3 /* Voice MS Attenuation Code */
509#define CP_ANALOG_CHAN_WIDTH 11 /* Voice Channel Number */
510#define CP_SCC_WIDTH 2 /* SAT Color Code */
511#define CP_MEM_WIDTH 1 /* Message Encryption Mode */
512#define CP_AN_CHAN_TYPE_WIDTH 2 /* Analog Voice Channel type */
513#define CP_DSCC_MSB_WIDTH 1 /* Digital sup. color code */
514#define CP_BAND_CLASS_WIDTH 5
515/*For unfAHDM */
516#define CP_CON_REF_INCL_WIDTH 1
517
518/*R.Sattari, 7/5/00 */
519#define CP_NUM_ANALOG_NGHBR_WIDTH 3
520#define CP_ANALOG_BAND_CLASS_WIDTH 5
521#define CP_SYS_A_B_WIDTH 2
522
523/************************************************/
524/* Common Pilot Measurement field width definitions */
525/************************************************/
526#define CP_ACTIVE_PILOT_STRENGTH_WIDTH 6
527#define CP_FIRST_IS_ACTIVE_WIDTH 1
528#define CP_FIRST_IS_PTA_WIDTH 1
529#define CP_NUM_ADD_PILOTS_WIDTH 3
530#define CP_PILOT_STRENGTH_WIDTH 6
531#define CP_PILOT_PN_PHASE_WIDTH 15
532
533
534/************************************************/
535/* Common Address field width definitions */
536/************************************************/
537#define CP_DELETE_FOR_TMSI_WIDTH 1 /* Delete foreign TMSI */
538#define CP_USE_TMSI_WIDTH 1 /* Use TMSI indicator */
539#define CP_PREF_MSID_TYPE_WIDTH 2 /* Preferred MSID Type */
540#define CP_PREF_MSID_TYPE_P3_WIDTH 4 /* Preferred MSID for P_REV < 3 */
541#define CP_TMSI_ZONE_LEN_WIDTH 4 /* TMSI zone length */
542#define CP_TMSI_CODE_WIDTH 32 /* TMSI code */
543#define CP_TMSI_CODE_24_WIDTH 24 /* TMSI code - least 24 bits */
544#define CP_TMSI_CODE_16_WIDTH 16 /* TMSI code - least 16 bits */
545#define CP_TMSI_EXP_TIME_WIDTH 24 /* TMSI expiration time */
546#define CP_MSID_TYPE_WIDTH 3
547#define CP_MSID_LEN_WIDTH 4
548#define CP_ESN_WIDTH 32
549#define CP_IMSI_ADDRNUM_WIDTH 3
550#define CP_IMSI_ADDR_TYPE_WIDTH 3
551#define CP_IMSI_ADD_LEN_WIDTH 4
552#define CP_IMSI_S2_WIDTH 10
553#define CP_IMSI_S1_WIDTH 24
554#define CP_IMSI_S_WIDTH 34
555#define CP_MCC_WIDTH 10 /* Mobile country code */
556#define CP_IMSI_11_12_WIDTH 7 /* 11th and 12th digits of IMSI */
557#define CP_IMSI_CLASS_WIDTH 1
558#define CP_IMSI_CLASS0_TYPE_WIDTH 2
559#define CP_IMSI_CLASS1_TYPE_WIDTH 1
560#define CP_UIM_ID_WIDTH 32
561
562/*************************************************/
563/* Common Feature Notification width definitions */
564/*************************************************/
565#define CP_RELEASE_WIDTH 1 /* release indicator width */
566#define CP_AUTO_MSG_INTERVAL 3
567#define CP_BROADCAST_GPS_ASST 1
568#define CP_CS_SUPPORTED 1
569#define CP_SIG_ENCRYPT_SUP 8
570#define CP_UI_ENCRYPT_SUP 8
571#define CP_STORE_KEY 1
572#define CP_MS_INIT_POS_LOC_SUP_IND 1
573#define CP_MSG_INTEGRITY_SUP 1
574#define CP_SIG_INTEGRITY_SUP_INCL 1
575#define CP_SIG_INTEGRITY_SUP 8
576
577/************************************************/
578/* Common Service Redirection field width definitions */
579/************************************************/
580#define CP_RETURN_IF_FAIL_WIDTH 1
581#define CP_DELETE_TMSI_WIDTH 1
582#define CP_REDIRECT_TYPE_WIDTH 1
583#define CP_SERVICE_REDIRECTION_RSVD_WIDTH 4
584
585/* Service Redirection Analog Record */
586#define CP_EXPECTED_SID_WIDTH 15
587#define CP_IGNORE_CDMA_WIDTH 1
588#define CP_SYS_ORDERING_WIDTH 3
589#define CP_MAX_REDIRECT_DELAY_WIDTH 5 /* Maximum delay upon redirection */
590
591#define CP_SRD_REDIRECTION_ANALOG_RECORD_WIDTH \
592 (CP_EXPECTED_SID_WIDTH + \
593 CP_IGNORE_CDMA_WIDTH + \
594 CP_SYS_ORDERING_WIDTH + \
595 CP_MAX_REDIRECT_DELAY_WIDTH)
596
597#if ((CP_SRD_REDIRECTION_ANALOG_RECORD_WIDTH%8) != 0)
598#error "CP_SRD_REDIRECTION_ANALOG_RECORD_WIDTH \
599 not an integral number of octets"
600#endif
601
602/* Service Redirection CDMA Record */
603#define CP_EXPECTED_NID_WIDTH 16
604#define CP_SRD_CDMA_REC_RSVD_WIDTH 4
605#define CP_NUM_CHANS_WIDTH 4
606#define CP_CDMA_CHAN_WIDTH 11
607#define CP_SRD_REDIRECTION_CDMA_FIXED_RECORD_WIDTH \
608 (CP_BAND_CLASS_WIDTH + \
609 CP_EXPECTED_SID_WIDTH + \
610 CP_EXPECTED_NID_WIDTH + \
611 CP_SRD_CDMA_REC_RSVD_WIDTH + \
612 CP_NUM_CHANS_WIDTH)
613#define CP_REDIRECT_ACCOLC_WIDTH 16 /* Access overload classes */
614
615/* Extend Global Service Redirect Message */
616#define CP_REDIRECT_P_MIN 8
617#define CP_REDIRECT_P_MAX 8
618#define CP_REC_TYPE_2_RESERVED 4
619/************************************************/
620/* Common DTMF field width definitions */
621/************************************************/
622#define CP_NUM_DIGITS_WIDTH 8
623#define CP_DTMF_ON_LENGTH_WIDTH 3
624#define CP_DTMF_OFF_LENGTH_WIDTH 3
625#define CP_BURST_DTMF_DIGIT_WIDTH 4
626#define CP_RTC_STATUS_RSVD_WIDTH 7
627
628/************************************************/
629/* Common FTC Power Control field width definitions */
630/************************************************/
631#define CP_PWR_REP_THRESH_WIDTH 5
632#define CP_PWR_REP_FRAMES_WIDTH 4
633#define CP_PWR_THRESH_ENABLE_WIDTH 1
634#define CP_PWR_PERIOD_ENABLE_WIDTH 1
635#define CP_PWR_REP_DELAY_WIDTH 5
636
637/************************************************/
638/* Common Service Negotiation field width definitions */
639/************************************************/
640/* Service Request Message */
641#define CP_SERV_REQ_SEQ_WIDTH 3
642#define CP_REQ_PURPOSE_WIDTH 4
643
644/* Service Response Message */
645#define CP_RESP_PURPOSE_WIDTH 4
646#define CP_BAND_SUB_CLASS_WIDTH 8
647
648/* Service Connect Message */
649#define CP_FTC_SERV_CON_SEQ_WIDTH 3
650#define CP_FTC_SERV_CONNECT_MSG_RSVD_WIDTH 5
651
652#define CP_CC_INFO_INCL_WIDTH 1
653#define CP_NUM_CALLS_ASSIGN_WIDTH 8
654#define CP_RESPONSE_IND_WIDTH 1
655#define CP_TAG_WIDTH 4
656#define CP_STATUS_RESPONSE_RSVD_WIDTH 4
657
658/* Service Option Control Message */
659#define CP_SERV_OPT_CTL_REC_LEN_WIDTH 8
660/* Service Option Control Type Specific Fields */
661#define CP_SO_CTL_REC_VOICE_LEN 1
662#define CP_SO_CTL_RATE_REDUC_WIDTH 3
663#define CP_SO_CTL_TYPE_SPECIFIC_RSVD_WIDTH 3
664#define CP_SO_CTL_MOB_TO_MOB_WIDTH 1
665#define CP_SO_CTL_INIT_CODEC_WIDTH 1
666
667/* Service Connect Completion Message */
668#define CP_RTC_SERV_CON_SEQ_WIDTH 3
669#define CP_SERVICE_CON_COMPLETION_RSVD1_WIDTH 1
670#define CP_SERVICE_CON_COMPLETION_RSVD_WIDTH 3
671
672
673/* Service Option Control Message */
674#define CP_SERV_OPT_CTL_RSVD_WIDTH 7
675
676/* Radio Configuration Parameter Message */
677
678#define CP_FTC_FOR_FCH_ACK_MASK_RL_BLANKING_WIDTH 16
679#define CP_FTC_FOR_FCH_ACK_MASK_NO_RL_BLANKING_WIDTH 16
680
681#define CP_FTC_REV_FCH_ACK_MASK_WIDTH 16
682
683#define CP_FTC_FOR_SCH_ACK_MASK_RL_BLANKING_WIDTH 16
684#define CP_FTC_FOR_SCH_ACK_MASK_NO_RL_BLANKING_WIDTH 16
685#define CP_REV_SCH_ACK_MASK_WIDTH 16
686
687#define CP_FTC_FOR_N2M_IND_WIDTH 3
688#define CP_FTC_FPC_MODE_WIDTH 3
689#define CP_FTC_RPC_MODE_WIDTH 2
690#define CP_FTC_POWER_CNTL_STEP_WIDTH 3
691#define CP_FTC_FOR_FCH_BLANKING_DUTYCYCLE_WIDTH 3
692#define CP_FTC_REV_FCH_BLANKING_DUTYCYCLE_WIDTH 3
693#define CP_FTC_REV_ACKCH_GAIN_ADJ_ACS1_WIDTH 7
694#define CP_FTC_REV_ACKCH_GAIN_ADJ_ACS2PLUS_WIDTH 7
695
696#define CP_NUM_RC_PARAM_RECORDS_WIDTH 3
697#define CP_QOF_SET_IN_USE_WIDTH 3
698#define CP_REV_SCH0_ACK_CH_WALSH_WIDTH 7
699#define CP_REV_SCH0_ACK_BIT_WIDTH 5
700#define CP_REV_SCH1_ACK_BIT_WALSH_WIDTH 7
701#define CP_REV_SCH1_ACK_BIT_WIDTH 5
702
703/*#define CP_FOR_FCH_CCSH_INTERLEAVER_TYPE_WIDTH 1 */
704
705
706/************************************************/
707/* PDCH field width definitions */
708/************************************************/
709#define CP_SRID_RESTORE_WIDTH 3
710#define CP_PLCM_TYPE_WIDTH 4
711#define CP_EXT_CH_IND_WIDTH 5
712#define CP_FULL_CI_FEEDBACK_IND 1
713#define CP_REV_CQICH_FRAME_OFFSET_WIDTH 4
714#define CP_REV_CQICH_REPS_WIDTH 2
715#define CP_REV_ACKCH_REPS_WIDTH 2
716#define CP_PDCH_RC_WIDTH 5
717#define CP_PDCH_GROUP_IND_INCL 1
718#define CP_FOR_PDCH_PARAMS_INCL 1
719#define CP_NUM_SOFT_SWITCHING_FRAMES_WIDTH 4
720#define CP_NUM_SOFTER_SWITCHING_FRAMES_WIDTH 4
721#define CP_NUM_SOFT_SWITCHING_FRAMES_CHM_WIDTH 4
722#define CP_NUM_SOFTER_SWITCHING_FRAMES_CHM_WIDTH 4
723#define CP_NUM_SOFT_SWITCHING_SLOTS_WIDTH 2
724#define CP_NUM_SOFTER_SWITCHING_SLOTS_WIDTH 2
725#define CP_NUM_SOFT_SWITCHING_SLOTS_CHM_WIDTH 2
726#define CP_NUM_SOFTER_SWITCHING_SLOTS_CHM_WIDTH 2
727#define CP_PDCH_SOFT_SWITCHING_DELAY_WIDTH 8
728#define CP_PDCH_SOFTER_SWITCHING_DELAY_WIDTH 8
729#define CP_FOR_PDCH_INCL 1
730#define CP_WALSH_TABLE_ID_WIDTH 3
731#define CP_NUM_PDCCH_WIDTH 3
732#define CP_FOR_PDCCH_WALSH_WIDTH 6
733#define CP_MAC_ID_WIDTH 8
734#define CP_REV_CQICH_COVER_WIDTH 3
735#define CP_FOR_CPCCH_WALSH_WIDTH 7
736#define CP_FOR_CPCSCH_WIDTH 5
737#define CP_PDCH_GROUP_IND 1
738#define CP_CQICH_ATT_ADJ_GAIN_WIDTH 8
739#define CP_RLGAIN_ACKCQICH_PILOT_WIDTH 6
740
741
742
743/************************************************/
744/* Sync Channel Message field width definitions */
745/************************************************/
746#define CP_SYS_TIME_WIDTH 36 /* System time */
747#define CP_LP_SEC_WIDTH 8 /* Leap seconds */
748#define CP_LTM_OFF_WIDTH 6 /* Local time offset */
749#define CP_DAYLT_WIDTH 1 /* Daylight savings time indicator */
750#define CP_PRAT_WIDTH 2 /* Page channel rate */
751/* BCY 11/15/00 */
752#define CP_EXT_CDMA_FREQ 11
753#define CP_SR1_CDMA_FREQ_NON_TD 11
754#define CP_SR1_BRAT_NON_TD 2
755#define CP_SR1_CRAT_NON_TD 1
756#define CP_BCCH_CODE_CHAN_NON_TD 6
757#define CP_SR1_CDMA_FREQ_TD 11
758#define CP_SR1_BRAT_TD 2
759#define CP_SR1_CRAT_TD 1
760#define CP_BCCH_CODE_CHAN_TD 6
761#define CP_SR1_TD_MODE 2
762#define CP_SR1_TD_POWER_LEVEL 2
763#define CP_SR3_CENTER_FREQ 11
764#define CP_SR3_BRAT 2
765#define CP_SR3_BCCH_CODE_CHAN 7
766#define CP_SR3_PRIMARY_PILOT 2
767#define CP_SR3_PILOT_POWER1 3
768#define CP_SR3_PILOT_POWER2 3
769#define CP_DS_BLOB 24
770
771
772
773/************************************************/
774/* Page Channel Message field width definitions */
775/************************************************/
776
777 /* Offsets into messages */
778#define CP_PILOT_PN_OFFSET \
779 (CP_MSG_LEN_WIDTH + \
780 CP_MSG_TYPE_WIDTH )
781 /* bit offset to PILOT_PN of overhead msgs */
782#define CP_CONFIG_MSG_SEQ_OFFSET \
783 (CP_PILOT_PN_OFFSET + \
784 CP_PILOT_PN_WIDTH )
785 /* bit offset to CONFIG_MSG_SEQ of overhead msgs */
786#define CP_ACC_MSG_SEQ_OFFSET \
787 (CP_PILOT_PN_OFFSET + \
788 CP_PILOT_PN_WIDTH )
789 /* bit offset to ACC_MSG_SEQ of access par msgs */
790#define CP_IDLE_REC_OFFSET \
791 (CP_CONFIG_MSG_SEQ_OFFSET + \
792 CP_CONFIG_MSG_SEQ_WIDTH + \
793 CP_PILOT_INC )
794 /* bit offset to Idle record in Nghbr msg */
795#define CP_CDMA_FREQ_OFFSET \
796 (CP_CONFIG_MSG_SEQ_OFFSET + \
797 CP_CONFIG_MSG_SEQ_WIDTH )
798 /* bit offset to CDMA_FREQ of CDMA Ch List */
799
800
801 /* Fields contained in System Parameters Message */
802#define CP_EXT_SYS_PARAMETER_WIDTH 1 /* Ext. System Pars Message indicator */
803#define CP_EXT_NGHBR_LIST_WIDTH 1 /* Ext. Neighbor List Message indicator*/
804#define CP_GEN_NGHBR_LIST_WIDTH 1 /* Gen. Neighbor List Message indicator*/
805#define CP_GLOBAL_REDIRECT_WIDTH 1 /* Global Svc Redirect Message indicator*/
806
807 /* Fields contained in Access Parameters Message */
808#define CP_ACC_MSG_SEQ_WIDTH 6 /* Access sequence number */
809#define CP_ACC_CHAN_WIDTH 5 /* Number of access channels */
810#define CP_NOM_PWR_WIDTH 4 /* Nominal transmit power offset */
811#define CP_INIT_PWR_WIDTH 5 /* Initial power offset for access */
812#define CP_PWR_STEP_WIDTH 3 /* Power increment */
813#define CP_NUM_STEP_WIDTH 4 /* Number of access probes */
814#define CP_MAX_CAP_SZ_WIDTH 3 /* Max access ch message capsule size */
815#define CP_PAM_SZ_WIDTH 4 /* Access Channel preamble length */
816#define CP_PSIST_09_WIDTH 6 /* Persistence val for access ovld 0-9 */
817#define CP_PSIST_10_WIDTH 3 /* Persistence val for access ovld 10 */
818#define CP_PSIST_11_WIDTH 3 /* Persistence val for access ovld 11 */
819#define CP_PSIST_12_WIDTH 3 /* Persistence val for access ovld 12 */
820#define CP_PSIST_13_WIDTH 3 /* Persistence val for access ovld 12 */
821#define CP_PSIST_14_WIDTH 3 /* Persistence val for access ovld 13 */
822#define CP_PSIST_15_WIDTH 3 /* Persistence val for access ovld 14 */
823#define CP_MSG_PSIST_WIDTH 3 /* Persistence modifier for message tx */
824#define CP_REG_PSIST_WIDTH 3 /* Persistence modifier for non-reg tx */
825#define CP_PROBE_PN_RAN_WIDTH 4 /* Time randomization for probes */
826#define CP_ACC_TMO_WIDTH 4 /* Acknowledgement timeout */
827#define CP_PROBE_BKOFF_WIDTH 4 /* Probe backoff range */
828#define CP_BKOFF_WIDTH 4 /* Probe sequence backoff range */
829#define CP_MAX_REQ_SEQ_WIDTH 4 /* Max access probe seqs for req attempt*/
830#define CP_MAX_RSP_SEQ_WIDTH 4 /* Max access probe seqs for rsp attempt*/
831#define CP_NOM_PWR_EXT_WIDTH 1 /* Extended nominal transmit power */
832
833
834/**************************************************/
835/* FCCCH and BCCH Message field width definitions */
836/**************************************************/
837
838/* Offsets into FCCCH and BCCH messages, when EXT_MSG_LENGTH_IND field is set. */
839
840#define CP_ACK_SEQ_EXT_OFFSET_WIDTH \
841 (CP_EXT_MSG_LEN_WIDTH + \
842 CP_MSG_TYPE_WIDTH)
843
844#define CP_PILOT_PN_EXT_OFFSET \
845 (CP_EXT_MSG_LEN_WIDTH + \
846 CP_MSG_TYPE_WIDTH )
847 /* bit offset to PILOT_PN of overhead msgs */
848
849#define CP_CONFIG_MSG_SEQ_EXT_OFFSET \
850 (CP_PILOT_PN_EXT_OFFSET + \
851 CP_PILOT_PN_WIDTH )
852 /* bit offset to CONFIG_MSG_SEQ of overhead msgs */
853
854
855/* Enhanced Access Parameters Message (EAPM) */
856#define CP_PSIST_PARMS_LEN 5
857#define CP_PSIST_EMG 3
858#define CP_MSG_PSIST_EACH 3
859#define CP_REG_PSIST_EACH 3
860#define CP_EAPM_RESERVED 7
861#define CP_LAC_PARMS_LEN 4
862#define CP_EAPM_ACC_TMO 6
863#define CP_NUM_MODE_SELECTION_ENTRIES 3
864#define CP_ACCESS_MODE 3
865#define CP_ACCESS_MODE_MIN_DURATION 10
866#define CP_ACCESS_MODE_MAX_DURATION 10
867
868#define CP_RLGAIN_COMMON_PILOT 6
869#define CP_IC_THRESH 4
870#define CP_IC_MAX 4
871#define CP_NUM_MODE_PARM_REC 3
872
873#define CP_EACH_PARM_REC_LEN 4
874#define CP_APPLICABLE_MODES 8
875#define CP_EACH_NOM_PWR 5
876#define CP_EACH_INIT_PWR 5
877#define CP_EACH_PWR_STEP 3
878#define CP_EACH_NUM_STEP 4
879
880#define CP_EACH_PREAMBLE_NUM_FRAC 4
881#define CP_EACH_PREAMBLE_FRAC_DURATION 4
882#define CP_EACH_PREAMBLE_OFF_DURATION 4
883#define CP_EACH_PREAMBLE_ADD_DURATION 4
884#define CP_EACH_ACCESS_THRESH 6
885#define CP_EACH_PROBE_BKOFF 4
886#define CP_EACH_BKOFF 4
887#define CP_EACH_SLOT 6
888#define CP_EACH_SLOT_OFFSET1 6
889#define CP_EACH_SLOT_OFFSET2 6
890
891#define CP_BA_PARMS_LEN 3
892#define CP_NUM_EACH_BA 5
893#define CP_EACH_BA_RATES_SUPPORTED 8
894
895#define CP_RA_PARMS_LEN 5
896#define CP_NUM_EACH_RA 5
897#define CP_NUM_CACH 3
898#define CP_CACH_CODE_RATE 1
899
900#define CP_CACH_CODE_CHAN 8
901
902#define CP_NUM_RCCCH 5
903#define CP_RCCCH_RATES_SUPPORTED 8
904#define CP_RCCCH_PREAMBLE_NUM_FRAC 4
905#define CP_RCCCH_PREAMBLE_FRAC_DURATION 4
906#define CP_RCCCH_PREAMBLE_OFF_DURATION 4
907#define CP_RCCCH_PREAMBLE_ADD_DURATION 4
908#define CP_RCCCH_SLOT 6
909#define CP_RCCCH_SLOT_OFFSET1 6
910#define CP_RCCCH_SLOT_OFFSET2 6
911#define CP_RCCCH_NOM_PWR 5
912#define CP_RCCCH_INIT_PWR 5
913#define CP_RA_PC_DELAY 5
914#define CP_EACAM_CACH_DELAY 4
915#define CP_RCCCH_HO_THRESH 4
916#define CP_EACAM_PCCAM_DELAY 5
917#define CP_NUM_CPCCH 2
918#define CP_CPCCH_RATE 2
919#define CP_CPCCH_CODE_CHAN 8
920#define CP_NUM_PCSCH_RA 7
921
922#define CP_RA_CPCCH_STEP_UP 2 /* Only for PREV7 */
923#define CP_RA_CPCCH_STEP_DN 2 /* Only for PREV7 */
924
925#define CP_NUM_ACCT_SO 4
926#define CP_ACCT_AOC_BITMAP1 5
927#define CP_ACCT_SO 16
928#define CP_NUM_ACCT_SO_GRP 3
929#define CP_ACCT_AOC_BITMAP2 5
930#define CP_ACCT_SO_GRP 5
931
932/* Fields contained in (Extended) Channel Assignment Message */
933#define CP_ASSIGN_MODE_WIDTH 3 /* Assignment Mode */
934#define CP_ADD_REC_LEN_WIDTH 8 /* Additional record length */
935#define CP_RESPOND_WIDTH 1 /* Respond on ACC indicator */
936#define CP_DEFAULT_CONFIG_WIDTH 3 /* Default Configuration */
937#define CP_BYPASS_ALERT_ANSWER_WIDTH 1 /* Bypass Indicator */
938#define CP_GRANTED_MODE_WIDTH 2 /* Granted Mode */
939#define CP_FRAME_OFFSET_WIDTH 4 /* Traffic Channel frame offset */
940#define CP_EXT_TC_NUM_PILOTS_WIDTH 3 /* Number of Pilots width */
941
942/* R.Sattari 6/28/00, changed from 5 */
943#define CP_EXT_PC_NUM_PILOTS_WIDTH 6 /* Number of Pilots width */
944
945#define CP_EXT_TC_NUM_PILOTS 8 /* Number of Pilots in TC Assignment */
946
947/* R.Sattari 6/28/00, changed from 32 */
948#define CP_EXT_PCH_NUM_PILOTS 64 /* Number of Pilots in PCH Assignment */
949
950#define CP_FOR_RC 5
951#define CP_REV_RC 5
952#define CP_FPC_INIT_SETPT 8
953#define CP_FPC_SUBCHAN_GAIN 5
954#define CP_RLGAIN_ADJ 4
955#define CP_FPC_FER 5
956#define CP_FPC_MIN_SETPT 8
957#define CP_FPC_MAX_SETPT 8
958#define CP_REV_FCH_GATING_MODE 1
959#define CP_REV_PWR_CNTL_DELAY_INCL 1
960#define CP_REV_PWR_CNTL_DELAY 2
961#define CP_SIG_ENCRYPT_MODE 3
962#define CP_KEY_SIZE 3
963#define CP_USE_NEW_KEY 1
964#define CP_KEY_SEQ 4
965#define CP_CH_IND 2
966#define CP_CH_RECORD_LEN 5
967#define CP_PILOT_RECORD_TYPE 3
968#define CP_CH_IND_01_REC_LEN 3
969#define CP_CODE_CHAN_FCH 11
970#define CP_QOF_MASK_ID_FCH 2
971#define CP_FPC_PRI_CHAN 1
972#define CP_1XRL_FREQ_OFFSET 2
973#define CP_C_SIG_ENCRYPT_MODE_INCL_WIDTH 1
974#define CP_CHANGE_KEYS_WIDTH 1
975#define CP_USE_UAK_WIDTH 1
976
977#define CP_PLCM_TYPE_INCL 1
978#define CP_PLCM_TYPE 4
979#define CP_PLCM_39 39
980
981/* Fields contained in TMSI Assignment Message */
982#define CP_TMSI_RSVD_WIDTH 5
983
984/* General Page Message field IE widths contained in records */
985#define CP_SPECIAL_SERVICE_WIDTH 1
986#define CP_CLASS_WIDTH 2
987#define CP_SUBCLASS_WIDTH 2
988#define CP_SERVICE_OPTION_WIDTH 16
989#define CP_DONE_FIELD_WIDTH 1
990#define CP_SUBCLASS_EXT_WIDTH 2
991/* Field definitions for Page Message and
992 * Slotted Page Message
993 * (NOTE: These messages obsolete in IS-95B
994 */
995#define CP_PAGE_REC_OFFSET 28
996#define CP_MORE_PAGES_WIDTH 1
997#define CP_EXT_ADDR_WIDTH 1
998
999/* Bit offsets into General Page Message */
1000#define CP_GP_CFG_MSG_SEQ_OFFSET 16
1001#define CP_GP_ACC_MSG_SEQ_OFFSET 22
1002#define CP_CLASS_0_DONE_OFFSET 28
1003#define CP_CLASS_1_DONE_OFFSET 29
1004#define CP_TMSI_DONE_OFFSET 30
1005#define CP_ORDERED_TMSIS_OFFSET 31
1006#define CP_BROADCAST_DONE_OFFSET 32
1007#define CP_ADD_LENGTH_OFFSET 37
1008#define CP_GP_REC_OFFSET 40
1009/* EXT msg length will make offset 8 bits longer*/
1010#define CP_GP_CFG_MSG_SEQ_EXT_OFFSET CP_GP_CFG_MSG_SEQ_OFFSET + 8
1011
1012/* Fields contained in Extended System Parameters Message */
1013#define CP_BCAST_INDEX_WIDTH 3
1014#define CP_IMSI_T_SUPPORTED_WIDTH 1
1015#define CP_PACKET_ZONE_ID_WIDTH 8
1016#define CP_MAX_NUM_ALT_SO_WIDTH 3
1017#define CP_EC_THRESH_WIDTH 5
1018#define CP_EC_IO_THRESH_WIDTH 5
1019#define CP_INDICATION_WIDTH 1
1020#define CP_MAX_NUM_PROBE_HO_WIDTH 3
1021#define CP_EXT_SYS_PAR_RSVD_WIDTH 7
1022
1023/* R.Sattari 6/28/00, changed from 5 */
1024#define CP_NGHBR_SET_SIZE_WIDTH 6
1025#define CP_BROADCAT_GPS_ASST 1
1026
1027/* FCCCH Parameters */
1028#define CP_NUM_FCCCH 3
1029#define CP_FCCCH_RATE 3
1030#define CP_FCCCH_CODE_RATE 1
1031#define CP_FCCCH_CODE_CHAN 8
1032
1033/* Broadcast Index Parameters */
1034#define CP_BCAST_INDEX 3
1035#define CP_NUM_BCCH_BCAST 3
1036#define CP_BCCH_CODE_CHAN 7
1037#define CP_BRAT 2
1038#define CP_BCCH_CODE_RATE 1
1039
1040/* Quick Paging Channel Parameters */
1041#define CP_NUM_QPCH 2
1042#define CP_QPCH_RATE 1
1043#define CP_QPCH_POWER_LEVEL_PAGE 3
1044#define CP_QPCH_CCI_SUPPORTED 1
1045#define CP_QPCH_POWER_LEVEL_CONFIG 3
1046#define CP_QPCH_CODE_CHAN 8
1047#define CP_QPCH_POWER_LEVEL_BCAST 3
1048
1049/* Reverse Power Control Parameters */
1050#define CP_RLGAIN_TRAFFIC_PILOT 6
1051#define CP_REV_POWER_CNTRL_DELAY 2
1052#define CP_NUM_OPT_MSG 4
1053
1054#define CP_ALT_BAND_CLASS 5
1055#define CP_CDMA_OFF_TIME_REP_THRESHOLD_UNIT 1
1056#define CP_CDMA_OFF_TIME_REP_THRESHOLD 3
1057/* Extended CDMA Channel List Parameters */
1058#define CP_RC_QPCH_HASH_IND 1
1059#define CP_TD_MODE 2
1060#define CP_TD_HASH_IND 1
1061#define CP_TD_POWER_LEVEL 2
1062
1063/**************************************************/
1064/* Access Channel Message field width definitions */
1065/**************************************************/
1066
1067/* fields used in general */
1068#define CP_REG_TYPE_WIDTH 4
1069#define CP_MOB_TERM_WIDTH 1
1070#define CP_PILOTS_RESERVED_WIDTH 1
1071#define CP_LAC_LENGTH_WIDTH 5
1072
1073#define CP_QOF_WIDTH 2
1074#define CP_WALSH_LENGTH_WIDTH 3
1075
1076
1077
1078/* Fields used by Origination message */
1079#define CP_REQUEST_MODE_WIDTH 3
1080#define CP_PM_WIDTH 1
1081#define CP_NAR_AN_CAP_WIDTH 1
1082#define CP_DIGIT_MODE_WIDTH 1
1083#define CP_NUMBER_TYPE_WIDTH 3
1084#define CP_NUMBER_PLAN_WIDTH 4
1085#define CP_MORE_FIELDS_WIDTH 1
1086#define CP_NUM_ORIG_FIELDS_WIDTH 8
1087#define CP_CHARI_4_WIDTH 4
1088#define CP_CHARI_8_WIDTH 8
1089#define CP_PACA_REORIG_WIDTH 1
1090#define CP_MORE_RECORDS_WIDTH 1
1091#define CP_ENCRYPTION_SUPPORTED_WIDTH 4
1092#define CP_NUM_DIGITS_FIELDS_WIDTH 8
1093#define CP_PACA_SUPPORTED_WIDTH 1
1094#define CP_NUM_ALT_SO_WIDTH 3
1095
1096#define CP_DRS_WIDTH 1
1097#define CP_CH_IND_WIDTH 2
1098#define CP_SR_ID_WIDTH 3
1099#define CP_FOR_RC_PREF_WIDTH 5
1100#define CP_REV_RC_PREF_WIDTH 5
1101#define CP_FCH_SUPPORTED_WIDTH 1
1102#define CP_FCH_FRAME_SIZE_WIDTH 1
1103
1104#define CP_RC_MAP_WIDTH 3
1105#define CP_RC_MAP_LEN_WIDTH 3
1106
1107#define CP_FOR_FCH_LEN_WIDTH CP_RC_MAP_LEN_WIDTH
1108#define CP_FOR_FCH_RC_MAP_WIDTH CP_RC_MAP_WIDTH
1109#define CP_REV_FCH_LEN_WIDTH CP_RC_MAP_LEN_WIDTH
1110#define CP_REV_FCH_RC_MAP_WIDTH CP_RC_MAP_WIDTH
1111
1112#define CP_DCCH_SUPPORTED_WIDTH 1
1113#define CP_DCCH_FRAME_SIZE_WIDTH 2
1114#define CP_FOR_DCCH_LEN_WIDTH 3
1115#define CP_FOR_DCCH_RC_MAP_WIDTH 3
1116#define CP_REV_DCCH_LEN_WIDTH 3
1117#define CP_REV_DCCH_RC_MAP_WIDTH 3
1118
1119#define CP_REV_FCH_GATING_REQ_WIDTH 1
1120#define CP_ORIG_REASON_WIDTH 1
1121#define CP_ORIG_COUNT_WIDTH 2
1122#define CP_GLOBAL_EMERGENCY_CALL_WIDTH 1
1123#define CP_MS_INIT_POS_LOC_IND_WIDTH 1
1124#define CP_QOS_PARMS_INCL_WIDTH 1
1125#define CP_QOS_PARMS_LEN_WIDTH 5
1126#define CP_QOS_RESERVED_WIDTH 7
1127#define CP_UI_ENCRYPT_REG_WIDTH 1
1128#define CP_SYNC_ID_INCL_WIDTH 1
1129#define CP_SYNC_ID_WIDTH 16
1130#define CP_PREV_SID_INCL_WIDTH 1
1131#define CP_PREV_SID_WIDTH 15
1132#define CP_PREV_NID_INCL_WIDTH 1
1133#define CP_PREV_NID_WIDTH 16
1134#define CP_PREV_PZID_INCL_WIDTH 1
1135#define CP_PREV_PZID_WIDTH 8
1136#define CP_SO_BITMAP_IND_WIDTH 2
1137#define CP_SO_GROUP_NUM_WIDTH 5
1138#define CP_SO_BITMAP_WIDTH 8
1139#define CP_MSG_INTEGRITY_SUP_INCL_WIDTH 1
1140#define CP_NUM_AUX_PILOTS_WIDTH 3
1141
1142#define CP_SDB_DESIRED_ONLY_WIDTH 1
1143#define CP_ALT_BAND_CLASS_SUP_WIDTH 1
1144
1145#define CP_ACK_DELAY_WIDTH 1
1146#define CP_NUM_ARQ_CHAN_WIDTH 2
1147#define CP_FOR_PDCH_LEN_WIDTH 2
1148#define CP_FOR_PDCH_RC_MAP_WIDTH 3
1149#define CP_CH_CONFIG_SUP_MAP_LEN_WIDTH 2
1150#define CP_CH_CONFIG_SUP_MAP_WIDTH 6
1151
1152/**************************************************/
1153/* Access Channel Message field definitions */
1154/**************************************************/
1155
1156#define MSG_TYPE_PD_00 0x00
1157#define MSG_TYPE_PD_01 0x40
1158 #define MSG_TYPE_PD_10 0x80
1159
1160
1161/************************************************/
1162/* General Extension message field definitions */
1163/************************************************/
1164#define CP_NUM_GE_REC_WIDTH 8
1165#define CP_GE_REC_TYPE_WIDTH 8
1166#define CP_GE_REC_LEN_WIDTH 8
1167
1168#define CP_FOR_SCH_DELAYED_ACK_MASK_WIDTH 3
1169#define CP_REV_SCH_DELAYED_ACK_MASK_WIDTH 3
1170
1171/***********************************************************/
1172/* Forward Traffic Channel Message field width definitions */
1173/***********************************************************/
1174
1175
1176/* Data Burst Message */
1177#define CP_BURST_ADDR_LEN_WIDTH 4
1178#define CP_MSG_NUMBER_WIDTH 8
1179#define CP_BURST_TYPE_WIDTH 6
1180#define CP_NUM_MSGS_WIDTH 8
1181#define CP_DATA_BURST_NUM_FIELDS_WIDTH 8
1182#define CP_DATA_BURST_CHAR_WIDTH 8
1183
1184
1185/* In-Traffic System Parameters Message */
1186#define CP_EXTENSION_WIDTH 1
1187
1188
1189
1190/* Retrieve Parameters Message */
1191#define CP_PARAMETER_ID_WIDTH 16
1192#define CP_RP_RSVD_FIELD_WIDTH 7
1193#define CP_RETRIEVE_PARAMETERS_FIXED_FIELD_WIDTH \
1194 (CP_COMMON_FIELD_WIDTH + \
1195 CP_RP_RSVD_FIELD_WIDTH)
1196
1197
1198/* SSD Update Message */
1199#define CP_RANDSSD_LEN 7
1200
1201/* Status Request Message */
1202#define CP_QUAL_INFO_TYPE_WIDTH 8
1203#define CP_QUAL_INFO_LEN_WIDTH 3
1204#define CP_OP_MODE_WIDTH 8
1205#define CP_SR_RSVD_FIELD_WIDTH 3
1206#define CP_NUM_FIELDS_WIDTH 4
1207
1208/* Extended Handoff Direction Message */
1209#define CP_SEARCH_INCLUDED_WIDTH 1
1210#define CP_HARD_INCLUDED_WIDTH 1
1211#define CP_PRIVATE_LCM_WIDTH 1
1212#define CP_RESET_L2_WIDTH 1
1213#define CP_RESET_FPC_WIDTH 1
1214#define CP_SERV_NEG_TYPE_WIDTH 1
1215#define CP_NUM_PREAMBLE_WIDTH 3
1216#define CP_EXT_HO_DIR_ADD_LENGTH_WIDTH 3
1217#define CP_PWR_COMB_IND_WIDTH 1
1218#define CP_FOR_FUND_CODE_CHAN_WIDTH 8
1219
1220/* Global Handoff Direction Message */
1221/* see also Extended Handoff Direction Message */
1222#define CP_EXTRA_PARAMETERS_WIDTH 1
1223#define CP_COMPLETE_SEARCH_WIDTH 1
1224#define CP_PERIODIC_SEARCH_WIDTH 1
1225#define CP_FOR_INCLUDED_WIDTH 1
1226#define CP_FOR_SUP_CONFIG_WIDTH 2
1227#define CP_NUM_FOR_SUP_WIDTH 3
1228#define CP_USE_FOR_DURATION_WIDTH 1
1229#define CP_FOR_DURATION_WIDTH 8
1230#define CP_REV_INCLUDED_WIDTH 1
1231#define CP_CLEAR_RETRY_DELAY_WIDTH 1
1232#define CP_USE_REV_DURATION_WIDTH 1
1233#define CP_REV_DURATION_WIDTH 8
1234#define CP_NUM_REV_CODES_WIDTH 3
1235#define CP_USE_T_ADD_ABORT_WIDTH 1
1236#define CP_REV_PARMS_INCLUDED_WIDTH 1
1237#define CP_T_MULCHAN_WIDTH 3
1238#define CP_BEGIN_PREAMBLE_WIDTH 3
1239#define CP_RESUME_PREAMBLE_WIDTH 3
1240
1241#define CP_FPC_SUBCHAN_GAIN_WIDTH 5
1242#define CP_USE_PC_TIME_WIDTH 1
1243#define CP_PC_ACTION_TIME_WIDTH 6
1244#define CP_RLGAIN_TRAFFIC_PILOT_WIDTH 6
1245#define CP_DEFAULT_RLAG_WIDTH 1
1246#define CP_NNSCR_INCLUDED_WIDTH 1
1247#define CP_REV_FCH_GATING_MODE_WIDTH 1
1248#define CP_REV_PWR_CNTL_DELAY_INCL_WIDTH 1
1249#define CP_REV_PWR_CNTL_DELAY_WIDTH 2
1250/* Universal Handoff Direction Message */
1251/* see also Global Handoff Direction Message */
1252#define CP_PARMS_INCL_WIDTH 1
1253#define CP_NUM_FOR_ASSIGN_WIDTH 2
1254#define CP_FOR_SCH_DURATION_WIDTH 4
1255#define CP_FOR_START_TIME_INCL_WIDTH 1
1256#define CP_SCCL_INDEX_WIDTH 4
1257#define CP_NUM_REV_ASSIGN_WIDTH 2
1258#define CP_REV_SCH_DURATION_WIDTH 4
1259#define CP_REV_START_TIME_INCL_WIDTH 1
1260#define CP_REV_SCH_RATE_WIDTH 4
1261#define CP_UN_HO_DIR_NUM_PILOTS_WIDTH 3
1262#define CP_ACTIVE_SET_REC_LEN_WIDTH 8
1263#define CP_FOR_SCH_RATE_WIDTH 4
1264#define CP_WALSH_ID_WIDTH 1
1265#define CP_SRCH_OFFSET_WIDTH 3
1266#define CP_ADD_PILOT_REC_TYPE_WIDTH 3
1267#define CP_ADD_PILOT_REC_LEN_WIDTH 3
1268#define CP_CODE_CHAN_FCH_WIDTH 11
1269#define CP_QOF_MASK_ID_FCH_WIDTH 2
1270#define CP_CODE_CHAN_DCH_WIDTH 11
1271#define CP_QOF_MASK_ID_DCH_WIDTH 2
1272#define CP_NUM_SCH_WIDTH 5
1273#define CP_PILOT_INCL_WIDTH 1
1274#define CP_CODE_CHAN_SCH_WIDTH 11
1275#define CP_QOF_MASK_ID_SCH_WIDTH 2
1276#define CP_NUM_HOD_FOR_SCH_WIDTH 5
1277#define CP_NUM_HOD_REV_SCH_WIDTH 5
1278#define CP_HOD_CH_IND_WIDTH 3
1279#define CP_UHDM_NUM_FOR_SCH_WIDTH 5
1280#define CP_UHDM_NUM_REV_SCH_WIDTH 5
1281#define CP_UHDM_FOR_SCH_ID_WIDTH 1
1282#define CP_UHDM_REV_SCH_ID_WIDTH 1
1283
1284#define CP_T_SLOTTED_INCL_WIDTH 1
1285#define CP_T_SLOTTED_WIDTH 8
1286#define CP_ENC_SUPPORTED_WIDTH 1
1287
1288#define CP_SERVICE_INCLUDED_WIDTH 1
1289#define CP_SERV_CON_SEQ_WIDTH 3
1290#define CP_SUP_CHAN_PARMS_INCLUDED_WIDTH 1
1291#define CP_USE_PWR_CNTL_STEP_WIDTH 1
1292#define CP_PWR_CNTL_STEP_WIDTH 3
1293#define CP_GEN_HO_DIR_NUM_PILOTS_WIDTH 3
1294#define CP_FPC_SEC_CHAN_WIDTH 1
1295#define CP_NUM_SUP_CH_WIDTH 2
1296#define CP_FPC_SCH_FER_WIDTH 5
1297#define CP_FPC_SCH_MIN_SETPT_WIDTH 8
1298#define CP_FPC_SCH_MAX_SETPT_WIDTH 8
1299#define CP_FPC_THRESH_INCL_WIDTH 1
1300#define CP_FPC_SETPT_THRESH_WIDTH 8
1301#define CP_FPC_THRESH_SCH_INCL_WIDTH 1
1302#define CP_FPC_SETPT_THRESH_SCH_WIDTH 8
1303#define CP_1_BIT_WIDTH 1
1304#define CP_2_BITS_WIDTH 2
1305#define CP_3_BITS_WIDTH 3
1306#define CP_4_BITS_WIDTH 4
1307#define CP_5_BITS_WIDTH 5
1308#define CP_6_BITS_WIDTH 6
1309#define CP_7_BITS_WIDTH 7
1310#define CP_8_BITS_WIDTH 8
1311#define CP_FOR_SUP_INCLUDED_WIDTH 1
1312#define CP_EXPL_CODE_CHAN_WIDTH 1
1313#define CP_BASE_CODE_CHAN_WIDTH 8
1314#define CP_FOR_SUP_CODE_CHAN_WIDTH 8
1315
1316#define CP_MUHDM_PLCM_TYPE_INCL_WIDTH 1
1317#define CP_MUHDM_PLCM_TYPE_WIDTH 4
1318#define CP_MUHDM_PLCM_39_WIDTH 39
1319
1320/* Supplemental Channel Assignment Message */
1321#define CP_USE_RETRY_DELAY_WIDTH 1
1322#define CP_RETRY_DELAY_WIDTH 8
1323#define CP_REV_DTX_DURATION_WIDTH 4
1324#define CP_EXPL_REV_START_TIME_WIDTH 1
1325#define CP_REV_START_TIME_WIDTH 6
1326#define CP_USE_REV_HDM_SEQ_WIDTH 1
1327#define CP_REV_LINKED_HDM_SEQ_WIDTH 2
1328#define CP_USE_SCRM_SEQ_NUM_WIDTH 1
1329#define CP_SCRM_SEQ_NUM_WIDTH 4
1330#define CP_EXPL_FOR_START_TIME_WIDTH 1
1331#define CP_FOR_START_TIME_WIDTH 6
1332#define CP_USE_FOR_HDM_SEQ_WIDTH 1
1333#define CP_FOR_LINKED_HDM_SEQ_WIDTH 2
1334#define CP_NUM_SUP_PILOTS_WIDTH 3
1335#define CP_NUM_SUP_WIDTH 3
1336#define CP_SUP_CODE_CHAN_WIDTH 8
1337
1338/* Extended Supplemental Channel Assignment Message */
1339#define CP_START_TIME_UNIT_WIDTH 3
1340#define CP_REV_SCH_DTX_DURATION_WIDTH 4
1341
1342#define CP_NUM_REV_CFG_RECS_WIDTH 5
1343
1344#define CP_ESCAM_REV_SCH_ID_WIDTH 1
1345#define CP_REV_WALSH_ID_WIDTH 1
1346#define CP_REV_SCH_START_TIME_WIDTH 5
1347
1348#define CP_FOR_SCH_FER_REP_WIDTH 1
1349#define CP_NUM_FOR_CFG_RECS_WIDTH 5
1350
1351#define CP_ESCAM_FOR_SCH_ID_WIDTH 1
1352#define CP_FOR_SCH_RATE 4
1353#define CP_NUM_SUP_SHO_WIDTH 3
1354
1355#define CP_ACTIVE_PILOT_REC_TYPE_WIDTH 3
1356#define CP_PILOT_RECORD_LEN_WIDTH 3
1357#define CP_FOR_SCH_CC_INDEX_WIDTH 11
1358
1359#define CP_FOR_SCH_START_TIME_WIDTH 5
1360
1361#define CP_FPC_MODE_SCH_WIDTH 3
1362#define CP_FPC_SCH_INIT_SETPT_OP_WIDTH 1
1363
1364#define CP_ESCAM_NUM_SUP_WIDTH 2
1365
1366#define CP_FPC_SCH_INIT_SETPT_WIDTH 8
1367
1368#define CP_RPC_NUM_SUP_WIDTH 1
1369
1370#define CP_RLGAIN_SCH_PILOT_WIDTH 6
1371
1372/* BCY 03/15/01 */
1373/* Extended Release Message */
1374#define CP_TRAFFIC_CH_IND_WIDTH 3
1375
1376
1377#ifdef MTK_DEV_C2K_IRAT
1378/* Alternative Technologies Information Message*/
1379#define CP_NUM_RADIO_INTERFACE_WIDTH 4
1380#define CP_RADIO_INTERFACE_TYPE_WIDTH 4
1381#define CP_RADIO_INTERFACE_LEN_WIDTH 10
1382#define CP_PRIORITY_INCL_WIDTH 1
1383#define CP_SERVING_PRIORITY_WIDTH 3
1384#define CP_THRESH_SERVING_WIDTH 6
1385#define CP_PER_EARFCN_PARM_INCL_WIDTH 1
1386#define CP_RX_LEV_MIN_EUTRA_COMMON_WIDTH 7
1387#define CP_PE_MAX_COMMON_WIDTH 6
1388#define CP_RX_LEV_MIN_EUTRA_OFFSET_COMMON_INCL_WIDTH 1
1389#define CP_RX_LEV_MIN_EUTRA_OFFSET_COMMON_WIDTH 3
1390#define CP_MAX_RESEL_TIMER_INCL_WIDTH 1
1391#define CP_MAX_RESEL_TIMER_WIDTH 4
1392#define CP_SRCH_BACKOFF_TIMER_INCL_WIDTH 1
1393#define CP_MIN_MEAS_BACKOFF_WIDTH 4
1394#define CP_MAX_MAES_BACKOFF_WIDTH 4
1395#define CP_PLMINID_INCL_WIDTH 1
1396#define CP_NUM_EUTRA_FREQ_WIDTH 3
1397#define CP_EARFCN_WIDTH 16
1398#define CP_EARFCN_PRI_WIDTH 3
1399#define CP_THRESHX_WIDTH 5
1400#define CP_RX_LEV_MIN_EUTRA_WIDTH 7
1401#define CP_PE_MAX_WIDTH 6
1402#define CP_RX_REV_MIN_EUTRA_OFFSET_INCL_WIDTH 1
1403#define CP_RX_REV_MIN_EUTRA_OFFSET_WIDTH 3
1404#define CP_MEAS_BANDWIDTH_WIDTH 3
1405#define CP_PLMN_SAME_AS_PREVIOUS_CH_WIDTH 1
1406#define CP_NUM_PLMNID_WIDTH 3
1407#define CP_PLMNID_WIDTH 24
1408#endif /* MTK_DEV_C2K_IRAT */
1409
1410/* Power Control Message */
1411
1412/* Candidate Frequency Search Request Message */
1413#define CP_CAND_FREQ_SEARCH_REQ_RSVD1_WIDTH 4
1414#define CP_CFSRM_SEQ_WIDTH 2
1415#define CP_SEARCH_TYPE_WIDTH 2
1416#define CP_SEARCH_PERIOD_WIDTH 4
1417#define CP_SEARCH_MODE_WIDTH 4
1418#define CP_MODE_SPECIFIC_LEN_WIDTH 8
1419#define CP_ALIGN_TIMING_WIDTH 1
1420#define CP_SEARCH_OFFSET_WIDTH 6
1421/* Candidate Frequency Search Mode - Multiple CDMA Pilots */
1422#define CP_SF_SF_TOTAL_EC_THRESH_WIDTH 5
1423#define CP_SF_SF_TOTAL_EC_IO_THRESH_WIDTH 5
1424#define CP_DIFF_RX_PWR_THRESH_WIDTH 5
1425#define CP_MIN_TOTAL_PILOT_EC_IO_WIDTH 5
1426#define CP_CF_T_ADD_WIDTH 6
1427#define CP_CF_WAIT_TIME_WIDTH 4
1428#define CP_CAND_FREQ_SEARCH_REQ_RSVD2_WIDTH 5
1429#define CP_PILOT_UPDATE_WIDTH 1
1430#define CP_CF_SRCH_MULT_CDMA_PILOTS_FIXED_WIDTH \
1431 (CP_BAND_CLASS_WIDTH + \
1432 CP_CDMA_FREQ_WIDTH + \
1433 CP_SF_RX_PWR_THRESH_WIDTH + \
1434 CP_DIFF_RX_PWR_THRESH_WIDTH + \
1435 CP_MIN_TOTAL_PILOT_EC_IO_WIDTH + \
1436 CP_CF_T_ADD_WIDTH + \
1437 CP_CF_WAIT_TIME_WIDTH + \
1438 CP_PILOT_INC_WIDTH + \
1439 CP_SRCH_WIN_N_WIDTH + \
1440 CP_SRCH_WIN_R_WIDTH + \
1441 CP_CAND_FREQ_SEARCH_REQ_RSVD2_WIDTH + \
1442 CP_PILOT_UPDATE_WIDTH)
1443#define CP_CFSR_NUM_PILOTS_WIDTH 6
1444#define CP_CF_NGHBR_SRCH_MODE_WIDTH 2
1445#define CP_SEARCH_SET_WIDTH 1
1446#define CP_CF_PILOT_REC_WIDTH \
1447 (CP_NGHBR_PN_WIDTH + \
1448 CP_SEARCH_SET_WIDTH + \
1449 CP_SEARCH_PRIORITY_WIDTH + \
1450 CP_SRCH_WIN_NGHBR_WIDTH)
1451#define CP_CF_SRCH_OFFSET_INCL_WIDTH 1
1452/* Candidate Frequency Search Mode - Analog Channels on Multiple frequencies */
1453#define CP_CAND_FREQ_SEARCH_REQ_RSVD4_WIDTH 3
1454#define CP_NUM_ANALOG_FREQS_WIDTH 3
1455#define CP_CF_SRCH_MULT_ANALOG_CHANS_FIXED_WIDTH \
1456 (CP_BAND_CLASS_WIDTH + \
1457 CP_SF_RX_PWR_THRESH_WIDTH + \
1458 CP_CAND_FREQ_SEARCH_REQ_RSVD4_WIDTH + \
1459 CP_NUM_ANALOG_FREQS_WIDTH)
1460
1461/* Candidate Frequency Search Control Message */
1462#define CP_CFSCM_SEQ_WIDTH 2
1463
1464
1465/* Power Up Function Message */
1466#define CP_ACTION_TIME_FRAME_WIDTH 2
1467#define CP_PUF_SETUP_SIZE_WIDTH 6
1468#define CP_PUF_PULSE_SIZE_WIDTH 7
1469#define CP_PUF_INTERVAL_WIDTH 10
1470#define CP_PUF_INIT_PWR_WIDTH 6
1471#define CP_PUF_PWR_STEP_WIDTH 5
1472#define CP_TOTAL_PUF_PROBES_WIDTH 4
1473#define CP_MAX_PWR_PUF_WIDTH 4
1474#define CP_PUF_FREQ_INCL_WIDTH 1
1475
1476/* Power Up Function Completion Message */
1477#define CP_PWR_UP_FUNC_COMP_RSVD_WIDTH 6
1478#define CP_LOC_IND_WIDTH 1
1479#define CP_PWR_UP_FUNC_COMP_RSVD1_WIDTH 3
1480#define CP_MS_LAT_WIDTH 22
1481#define CP_MS_LONG_WIDTH 23
1482#define CP_MS_LOC_TSTAMP 24
1483
1484/***************************************************************************/
1485/********* Reverse Traffic Channel Message field width definitions *********/
1486/***************************************************************************/
1487/* RTC Order Message */
1488#define CP_RTC_ORDER_RSVD_WIDTH 6
1489
1490#define CP_RTC_CON_REF_INCL_WIDTH 1
1491#define CP_RTC_CON_REF_WIDTH 8
1492
1493#define CP_RTC_ORDER_FIXED_FIELD_WIDTH \
1494 (CP_COMMON_FIELD_WIDTH + \
1495 CP_ORDER_WIDTH + \
1496 CP_ADD_RECORD_LEN_WIDTH)
1497
1498#define CP_TC_ACK_ORDER_LENGTH_BYTES 7
1499
1500/* Base Station Challenge Order */
1501#define BS_CHALLENGE_ADD_REC_LEN 5
1502
1503/* Service Option Request/Response Order */
1504#define CP_SERVICE_OPTION_ADD_REC_LEN 3
1505
1506/* Mobile Station Reject Order */
1507#define CP_REJECTED_TYPE_WIDTH 8
1508#define CP_REJECTED_ORDER_WIDTH 8
1509#define CP_REJECTED_ODRQ_WIDTH 8
1510#define CP_REJECTED_PARAM_ID_WIDTH 16
1511#define CP_REJECTED_RECORD_WIDTH 8
1512#define CP_REJECTED_TAG_WIDTH 4
1513#define CP_REJECTED_PDU_TYPE_WIDTH 2
1514#define CP_MS_REJECT_REJ_CON_REF_REC_LEN 3
1515#define CP_MS_REJECT_REJ_TAG_REC_LEN 4
1516#define CP_MS_REJECT_REJ_MSG_ADD_REC_LEN 3
1517#define CP_MS_REJECT_REJ_ORDER_ADD_REC_LEN 5
1518#define CP_MS_REJECT_REJ_PARAM_ADD_REC_LEN 5
1519#define CP_MS_REJECT_REJ_RECORD_ADD_REC_LEN 3
1520
1521/* Authentication Challenge Response Message */
1522#define CP_AUTH_CHAL_RESP_RSVD_WIDTH 5
1523
1524
1525/* Flash With Info Message */
1526#define CP_RTC_FLASH_WITH_INFO_RSVD_WIDTH 7
1527
1528
1529/* Data Burst Message */
1530#define CP_DATA_BURST_RSVD_WIDTH 1
1531
1532
1533/* Pilot Strength Measurement Message */
1534#define CP_KEEP_WIDTH 1
1535
1536
1537/* Power Measurement Report Message */
1538#define CP_ERRORS_DETECTED_WIDTH 5
1539#define CP_PWR_MEAS_FRAMES_WIDTH 10
1540#define CP_LAST_HDM_SEQ_WIDTH 2
1541#define CP_SF_RX_PWR_THRESH_WIDTH 5
1542#define CP_PWR_MEAS_REP_NUM_PILOTS_WIDTH 4
1543#define CP_DCCH_PWR_MEAS_INCL_WIDTH 1
1544#define CP_DCCH_PWR_MEAS_FRAMES_WIDTH 10
1545#define CP_DCCH_ERRORS_DETECTED_WIDTH 5
1546#define CP_PMRM_SCH_PWR_MEAS_INCL_WIDTH 1
1547#define CP_PMRM_SCH_ID_WIDTH 1
1548#define CP_SCH_ERRORS_DETECTED_WIDTH 10
1549#define CP_SCH_PWR_MEAS_FRAMES_WIDTH 16
1550#define CP_PILOT_REC_INCL_WIDTH 1
1551#define CP_SETPT_INCL_WIDTH 1
1552#define CP_REF_PILOT_REC_INCL_WIDTH 1
1553#define CP_RESQ_IND_INCL_WIDTH 1
1554
1555#define CP_FCH_INCL_WIDTH 1
1556#define CP_FPC_FCH_CURR_SETPT_WIDTH 8
1557#define CP_DCCH_INCL_WIDTH 1
1558#define CP_FPC_DCCH_CURR_SETPT_WIDTH 8
1559#define CP_FPC_SCH_CURR_SETPT_WIDTH 8
1560
1561/* Origination Continuation Message */
1562#define CP_ASCII_DTMF_DIGIT_WIDTH 8
1563/* A. Kulkarni. 09/25/01. */
1564#define CP_DTMF_DIGIT_WIDTH 4
1565/* A. Kulkarni. End. */
1566
1567/* Parameters Response Message */
1568#define CP_PARAMETER_LEN_WIDTH 10
1569
1570/* Status Response Message */
1571#define CP_SR_QIT_NONE_LENGTH 0
1572#define CP_SR_QIT_BAND_CLASS_LENGTH 1
1573#define CP_SR_QIT_BAND_CLASS_AND_OP_MODE_LENGTH 2
1574#define CP_SR_RESERVED_WIDTH 3
1575#define CP_TC_SR_RESERVED_WIDTH 4
1576#define CP_NUM_INFO_RECORDS_WIDTH 4
1577#define CP_BAND_CLASS_BIT_FIELD_WIDTH 1
1578
1579
1580/* Capability Information Record */
1581#define CP_GATING_RATE_SET_WIDTH 2
1582#define CP_RLP_CAP_BLOP_LEN_WIDTH 3
1583#define CP_MAX_MS_NAK_ROUNDS_FWD_WIDTH 3
1584#define CP_MAX_MS_NAK_ROUNDS_REV_WIDTH 3
1585
1586/* Ch Configuration Capability Information Record*/
1587#define CP_FOR_SCH_LEN 3
1588#define CP_FOR_SCH_RC_MAP 3
1589#define CP_FOR_SCH_NUM 2
1590#define CP_REV_SCH_LEN 3
1591#define CP_REV_SCH_RC_MAP 3
1592#define CP_REV_SCH_NUM 2
1593#define CP_MAX_TURBO_BLOCK_SIZE_WIDTH 4
1594#define CP_MAX_CONV_BLOCK_SIZE_WIDTH 4
1595#define CP_FOR_MAX_RATE_WIDTH 4
1596#define CP_FOR_MAX_RATE 4
1597#define CP_REV_MAX_RATE_WIDTH 4
1598#define CP_REV_MAX_RATE 4
1599
1600/* Extended Multiplex Option Information Record */
1601#define CP_NUM_MO_FCH_WIDTH 4
1602#define CP_MO_FCH_WIDTH 16
1603#define CP_RATES_FCH_WIDTH 8
1604
1605#define CP_NUM_MO_DCCH_WIDTH 4
1606#define CP_MO_DCCH_WIDTH 16
1607
1608#define CP_NUM_MO_SCH_WIDTH 4
1609#define CP_SCH_ID_WIDTH 1
1610#define CP_MO_SCH_WIDTH 16
1611#define CP_GEO_LOC_WIDTH 3
1612
1613#define CP_NUM_MO_FOR_PDCH_WIDTH 4
1614#define CP_NUM_MO_FOR_PDCH 1
1615#define CP_MO_PDCH_WIDTH 16
1616
1617/* TMSI Assignment Completion Message */
1618#define CP_TMSI_ASSIGN_COMP_RSVD_WIDTH 7
1619
1620
1621/* Supplemental Channel Request Message */
1622#define CP_SIZE_OF_REQ_BLOB_WIDTH 4
1623#define CP_DURATION_UNIT_WIDTH 3
1624#define CP_NUM_REQ_WIDTH 3
1625#define CP_SCRM_RESERVED_WIDTH 2
1626#define CP_PREFERRED_RATE_WIDTH 4
1627#define CP_DURATION_WIDTH 9
1628#define CP_REF_PN_WIDTH 9
1629#define CP_NUM_ACT_PN_WIDTH 3
1630#define CP_ACT_PN_PHASE_WIDTH 15
1631#define CP_ACT_PILOT_STRENGTH_WIDTH 6
1632#define CP_NUM_NGHBR_PN_WIDTH 3
1633#define CP_PILOT_REC_TYPE_WIDTH 3
1634
1635/* Candidate Frequency Search Response Message */
1636#define CP_TOTAL_OFF_TIME_FWD_WIDTH 6
1637#define CP_MAX_OFF_TIME_FWD_WIDTH 6
1638#define CP_TOTAL_OFF_TIME_REV_WIDTH 6
1639#define CP_MAX_OFF_TIME_REV_WIDTH 6
1640#define CP_PCG_OFF_TIMES_WIDTH 1
1641#define CP_ALIGN_TIMING_USED_WIDTH 1
1642#define CP_MAX_NUM_VISITS_WIDTH 5
1643
1644/* Candidate Frequency Search Report Message */
1645#define CP_LAST_SRCH_MSG_WIDTH 1
1646#define CP_CAND_FREQ_SRCH_REPORT_FIXED_FIELD_WIDTH \
1647 (CP_COMMON_FIELD_WIDTH + \
1648 CP_LAST_SRCH_MSG_WIDTH + \
1649 CP_CFSRM_SEQ_WIDTH + \
1650 CP_SEARCH_MODE_WIDTH + \
1651 CP_MODE_SPECIFIC_LEN_WIDTH)
1652#if ((CP_CAND_FREQ_SRCH_REPORT_FIXED_FIELD_WIDTH%8) != 0)
1653#error "CAND_FREQ_SRCH_REPORT_FIXED_FIELD_WIDTH \
1654 not an integral number of octets"
1655#endif
1656/* Candidate Frequency Search Mode - Multiple CDMA Pilots */
1657#define CP_SF_TOTAL_RX_PWR_WIDTH 5
1658#define CP_CF_TOTAL_RX_PWR_WIDTH 5
1659#define CP_CAND_FREQ_SRCH_REPORT_RSVD1_WIDTH 1
1660#define CP_CAND_FREQ_SRCH_REPORT_RSVD2_WIDTH 3
1661/* Candidate Frequency Search Mode - Analog Channels on Multiple frequencies */
1662#define CP_CAND_FREQ_SRCH_REPORT_RSVD3_WIDTH 5
1663#define CP_SIGNAL_STRENGTH_WIDTH 6
1664
1665/* Resource Release Request Message */
1666#define CP_GATING_DISCONNECT_IND_WIDTH 1
1667
1668
1669/****************************************************************************/
1670/* (FCCCH) Forward Common Control Channel Message field width definitions */
1671/****************************************************************************/
1672#define CP_FCCCH_PD_WIDTH 2
1673#define CP_FCCCH_MSG_ID_WIDTH 6
1674#define CP_FCCCH_MSG_TYPE_WIDTH CP_FCCCH_PD_WIDTH + CP_FCCCH_MSG_ID_WIDTH /* MSG_TYPE = PD 2 bit and MSG_ID 6 bit */
1675
1676
1677
1678/****************************************************************************/
1679/* (BCCH) Forward Common Control Channel Message field width definitions */
1680/****************************************************************************/
1681#define CP_BCCH_PD_WIDTH 2
1682#define CP_BCCH_MSG_ID_WIDTH 6
1683#define CP_BCCH_MSG_TYPE_WIDTH CP_BCCH_PD_WIDTH + CP_BCCH_MSG_ID_WIDTH /* MSG_TYPE = PD 2 bit and MSG_ID 6 bit */
1684
1685
1686
1687/****************************************************************************/
1688/********************************* Orders ***********************************/
1689/****************************************************************************/
1690
1691/* FTC Base Station Challenge Confirmation Order */
1692#define CP_AUTHBS_OFFSET \
1693 (CP_COMMON_FIELD_WIDTH + \
1694 CP_USE_TIME_WIDTH + \
1695 CP_ACTION_TIME_WIDTH + \
1696 CP_ORDER_WIDTH + \
1697 CP_ADD_RECORD_LEN_WIDTH + \
1698 CP_ORDQ_WIDTH)
1699#define CP_BS_CHALLENGE_CONF_ORDER_RSVD_WIDTH 6
1700
1701/* FTC Service Option Request Order */
1702/* FTC Service Option Response Order */
1703#define CP_SERVICE_OPTION_OFFSET \
1704 (CP_COMMON_FIELD_WIDTH + \
1705 CP_USE_TIME_WIDTH + \
1706 CP_ACTION_TIME_WIDTH + \
1707 CP_ORDER_WIDTH + \
1708 CP_ADD_RECORD_LEN_WIDTH + \
1709 CP_ORDQ_WIDTH)
1710
1711/* FTC Retry Order */
1712#define CP_RETRY_ORDER_OFFSET \
1713 (CP_USE_TIME_WIDTH + \
1714 CP_ACTION_TIME_WIDTH + \
1715 CP_ORDER_WIDTH + \
1716 CP_ADD_RECORD_LEN_WIDTH + \
1717 CP_ORDQ_WIDTH)
1718
1719/****************************************************************************/
1720/********************************* Records **********************************/
1721/****************************************************************************/
1722
1723/* Forward Record field width definitions */
1724
1725/* Called Party Number Record */
1726#define CP_CALLED_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH 1
1727
1728#define CP_CALLED_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
1729 (CP_NUMBER_TYPE_WIDTH + \
1730 CP_NUMBER_PLAN_WIDTH + \
1731 CP_CALLED_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH)
1732#if ((CP_CALLED_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH%8) != 0)
1733#error "CP_CALLED_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
1734 not an integral number of octets"
1735#endif
1736
1737
1738/* Calling Party Number Record */
1739#define CP_PI_WIDTH 2
1740#define CP_SI_WIDTH 2
1741#define CP_CALLING_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH 5
1742
1743#define CP_CALLING_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
1744 (CP_NUMBER_TYPE_WIDTH + \
1745 CP_NUMBER_PLAN_WIDTH + \
1746 CP_PI_WIDTH + \
1747 CP_SI_WIDTH + \
1748 CP_CALLING_PARTY_NUMBER_REC_RSVD_FIELD_WIDTH)
1749#if ((CP_CALLING_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH%8) != 0)
1750#error "CP_CALLING_PARTY_NUMBER_REC_FIXED_FIELD_WIDTH \
1751 not an integral number of octets"
1752#endif
1753
1754
1755/* Signal Record */
1756#define CP_SIGNAL_TYPE_WIDTH 2
1757#define CP_SIGNAL_PITCH_WIDTH 2
1758#define CP_SIGNAL_SIGNAL_WIDTH 6
1759#define CP_SIGNAL_REC_RSVD_FIELD_WIDTH 6
1760
1761#define CP_SIGNAL_REC_FIXED_FIELD_WIDTH \
1762 (CP_SIGNAL_TYPE_WIDTH + \
1763 CP_SIGNAL_PITCH_WIDTH + \
1764 CP_SIGNAL_SIGNAL_WIDTH + \
1765 CP_SIGNAL_REC_RSVD_FIELD_WIDTH)
1766#if ((CP_SIGNAL_REC_FIXED_FIELD_WIDTH%8) != 0)
1767#error "CP_SIGNAL_REC_FIXED_FIELD_WIDTH \
1768 not an integral number of octets"
1769#endif
1770
1771/* Signal Record */
1772#define CP_MSG_COUNT_WIDTH 8
1773
1774/* Service Configuration Record */
1775#define CP_FOR_MUX_OPTION_WIDTH 16
1776#define CP_REV_MUX_OPTION_WIDTH 16
1777#define CP_FOR_NUM_BITS_WIDTH 8
1778#define CP_REV_NUM_BITS_WIDTH 8
1779
1780/* Forward Fundamental Channel */
1781#define CP_FPC_INCL_WIDTH 1
1782#define CP_FPC_PRI_CHAN_WIDTH 1
1783#define CP_FPC_MODE_WIDTH 3
1784#define CP_FPC_OLPC_FCH_INCL_WIDTH 1
1785#define CP_FPC_FCH_FER_WIDTH 5
1786#define CP_FPC_FCH_MIN_SET_PT_WIDTH 8
1787#define CP_FPC_FCH_MAX_SET_PT_WIDTH 8
1788#define CP_GATING_RATE_INCL_WIDTH 1
1789#define CP_PILOT_GATING_RATE_WIDTH 2
1790
1791#define CP_FOR_SCH_INCL_WIDTH 1
1792#define CP_NUM_FOR_SCH_WIDTH 2
1793#define CP_FOR_SCH_ID_WIDTH 2
1794#define CP_FOR_SCH_FRAME_OFFSET_WIDTH 2
1795#define CP_REV_SCH_INCL_WIDTH 1
1796#define CP_NUM_REV_SCH_WIDTH 2
1797#define CP_REV_SCH_ID_WIDTH 2
1798#define CP_REV_SCH_FRAME_OFFSET_WIDTH 2
1799#define CP_LOGICAL_RESOURCE_WIDTH 4
1800#define CP_PHYSICAL_RESOURCE_WIDTH 4
1801#define CP_FORWARD_FLAG_WIDTH 1
1802#define CP_REVERSE_FLAG_WIDTH 1
1803#define CP_PRIORITY_WIDTH 4
1804#define CP_LPM_IND_WIDTH 2
1805#define CP_NUM_LPM_ENTRIES_WIDTH 4
1806#define CP_IS2K_REV0_RESERVED_WIDTH 2
1807
1808#define CP_FCH_CC_INCL_WIDTH 1
1809
1810#define CP_FOR_FCH_RC_WIDTH 5
1811#define CP_REV_FCH_RC_WIDTH 5
1812
1813/* Dedicated Control Channel */
1814#define CP_DCCH_CC_INCL_WIDTH 1
1815#define CP_FOR_SCH_CC_INCL_WIDTH 1
1816#define CP_REV_SCH_CC_INCL_WIDTH 1
1817
1818#define CP_DCCH_FCH_RC_WIDTH 5
1819#define CP_DCCH_REV_RC_WIDTH 5
1820
1821#define CP_FPC_OLPC_DCCH_INCL_WIDTH 1
1822#define CP_FPC_DCCH_FER_WIDTH 5
1823#define CP_FPC_DCCH_MIN_SET_PT_WIDTH 8
1824#define CP_FPC_DCCH_MAX_SET_PT_WIDTH 8
1825#define CP_FOR_RATES_WIDTH 8
1826#define CP_REV_RATES_WIDTH 8
1827#define CP_NUM_CON_REC_WIDTH 8
1828#define CP_SERVICE_CONNECTION_RECORD_LEN_WIDTH 8
1829#define CP_UI_ENCRYPT_MODE_WIDTH 3
1830#define CP_RLP_INFO_INCL_WIDTH 1
1831#define CP_RLP_BLOB_LEN_WIDTH 4
1832#define CP_CON_REF_WIDTH 8
1833#define CP_FOR_TRAFFIC_WIDTH 4
1834#define CP_REV_TRAFFIC_WIDTH 4
1835#define CP_FOR_DCCH_RC_WIDTH 5
1836#define CP_REV_DCCH_RC_WIDTH 5
1837
1838#define CP_SERVICE_CONFIGURATION_REC_FIXED_FIELD_WIDTH \
1839 (CP_FOR_MUX_OPTION_WIDTH + \
1840 CP_REV_MUX_OPTION_WIDTH + \
1841 CP_FOR_RATES_WIDTH + \
1842 CP_REV_RATES_WIDTH + \
1843 CP_NUM_CON_REC_WIDTH)
1844#if ((CP_SERVICE_CONFIGURATION_REC_FIXED_FIELD_WIDTH%8) != 0)
1845#error "CP_SERVICE_CONFIGURATION_REC_FIXED_FIELD_WIDTH \
1846 not an integral number of octets"
1847#endif
1848
1849/* T53 National Supplementary Services */
1850#define CP_NSS_RECORD_SUBTYPE_WIDTH 6
1851#define CP_NSS_REC_FIXED_FIELD_WIDTH \
1852 (CP_MCC_WIDTH + \
1853 CP_NSS_RECORD_SUBTYPE_WIDTH)
1854#if ((CP_NSS_REC_FIXED_FIELD_WIDTH%8) != 0)
1855#error "CP_NSS_REC_FIXED_FIELD_WIDTH \
1856 not an integral number of octets"
1857#endif
1858
1859#define CP_NSS_CLIR_CAUSE_WIDTH 8
1860#define CP_NSS_CLIR_REC_FIXED_FIELD_WIDTH \
1861 (CP_NSS_REC_FIXED_FIELD_WIDTH + \
1862 CP_NSS_CLIR_CAUSE_WIDTH)
1863#if ((CP_NSS_CLIR_REC_FIXED_FIELD_WIDTH%8) != 0)
1864#error "CP_NSS_CLIR_REC_FIXED_FIELD_WIDTH \
1865 not an integral number of octets"
1866#endif
1867
1868#define CP_NSS_AUDIO_CONTROL_WIDTH 2
1869#define CP_AUDIO_CONTROL_RSVD_FIELD_WIDTH 4
1870#define CP_NSS_AUDIO_CONTROL_REC_FIXED_FIELD_WIDTH \
1871 (CP_NSS_REC_FIXED_FIELD_WIDTH + \
1872 CP_NSS_AUDIO_CONTROL_WIDTH + \
1873 CP_NSS_AUDIO_CONTROL_WIDTH + \
1874 CP_AUDIO_CONTROL_RSVD_FIELD_WIDTH)
1875#if ((CP_NSS_AUDIO_CONTROL_REC_FIXED_FIELD_WIDTH%8) != 0)
1876#error "CP_NSS_AUDIO_CONTROL_REC_FIXED_FIELD_WIDTH \
1877 not an integral number of octets"
1878#endif
1879
1880/* Reverse Record field width definitions */
1881/* BCY 04/30/01 */
1882/* Supplemental Channel Type-specific fields */
1883#define CP_SCH_REC_LEN_WIDTH 4
1884#define CP_SCH_RC_WIDTH 5
1885#define CP_CODING_WIDTH 1
1886#define CP_SCH_REC_RESERVED_WIDTH 6
1887#define CP_FOR_SCH_MUX_WIDTH 16
1888#define CP_REV_SCH_MUX_WIDTH 16
1889
1890/* RLP BLOB fields */
1891#define CP_RLP_BLOB_TYPE_WIDTH 3
1892#define CP_RLP_VERSION_WIDTH 3
1893#define CP_RLP_RTT_WIDTH 4
1894#define CP_RLP_INIT_VAR_WIDTH 1
1895#define CP_RLP_BS_EXT_SEQ_M_WIDTH 18
1896#define CP_RLP_MS_EXT_SEQ_M_WIDTH 18
1897#define CP_RLP_MAX_MS_NAK_ROUNDS_FWD_WIDTH 3
1898#define CP_RLP_MAX_MS_NAK_ROUNDS_REV_WIDTH 3
1899#define CP_RLP_NAK_ROUNDS_FWD_WIDTH 3
1900#define CP_RLP_NAK_ROUNDS_REV_WIDTH 3
1901#define CP_RLP_NAK_PER_ROUND_FWD_WIDTH 3
1902#define CP_RLP_NAK_PER_ROUND_REV_WIDTH 3
1903#define CP_RLP_NAK_DDW_WIDTH 8
1904#define CP_RLP_NAK_REXMIT_TIMER_WIDTH 8
1905
1906
1907/* Meter Pulses Record */
1908#define CP_PULSE_FREQUENCY_WIDTH 11
1909#define CP_PULSE_ON_OFF_TIME_WIDTH 8
1910#define CP_PULSE_COUNT_WIDTH 4
1911#define CP_METER_PULSES_REC_RSVD_FIELD_WIDTH 1
1912#define CP_METER_PULSES_REC_FIXED_FIELD_WIDTH \
1913 ( CP_PULSE_FREQUENCY_WIDTH + \
1914 CP_PULSE_ON_OFF_TIME_WIDTH + \
1915 CP_PULSE_ON_OFF_TIME_WIDTH + \
1916 CP_PULSE_COUNT_WIDTH + \
1917 CP_METER_PULSES_REC_RSVD_FIELD_WIDTH )
1918
1919
1920/* Parametric Alerting Record */
1921#define CP_CADENCE_COUNT_WIDTH 8
1922#define CP_NUM_GROUPS_WIDTH 4
1923#define CP_AMPLITUDE_WIDTH 8
1924#define CP_FREQ_WIDTH 10
1925#define CP_ON_OFF_TIME_WIDTH 8
1926#define CP_REPEAT_WIDTH 4
1927#define CP_DELAY_WIDTH 8
1928#define CP_PARAMETRIC_ALERTING_REC_RSVD_FIELD_WIDTH 4
1929#define CP_PARAMETRIC_ALERTING_REC_FIXED_FIELD_WIDTH \
1930 ( CP_CADENCE_COUNT_WIDTH + \
1931 CP_NUM_GROUPS_WIDTH + \
1932 CP_PARAMETRIC_ALERTING_REC_RSVD_FIELD_WIDTH )
1933
1934/* Line Control Record */
1935#define CP_POLARITY_INCLUDED_WIDTH 1
1936#define CP_TOGGLE_MODE_WIDTH 1
1937#define CP_REVERSE_POLARITY_WIDTH 1
1938#define CP_POWER_DENIAL_TIME_WIDTH 8
1939#define CP_LINE_CONTROL_REC_FIXED_FIELD_WIDTH \
1940 ( CP_POLARITY_INCLUDED_WIDTH + \
1941 CP_POWER_DENIAL_TIME_WIDTH + \
1942 7 ) /* RESERVED */ /* minimum size of the record */
1943
1944/* Extended Display Record */
1945#define CP_EXT_DISPLAY_IND_WIDTH 1
1946#define CP_DISPLAY_TYPE_WIDTH 7
1947#define CP_DISPLAY_TAG_WIDTH 8
1948#define CP_DISPLAY_LEN_WIDTH 8
1949#define CP_EXTENDED_DISPLAY_REC_FIXED_FIELD_WIDTH \
1950 ( CP_EXT_DISPLAY_IND_WIDTH + \
1951 CP_DISPLAY_TYPE_WIDTH + \
1952 CP_DISPLAY_TAG_WIDTH + \
1953 CP_DISPLAY_LEN_WIDTH ) /* minimum size of the record */
1954
1955
1956/* Redirecting Number Record */
1957#define CP_EXTENSION_BIT_1_WIDTH 1
1958 /* CP_NUMBER_TYPE_WIDTH and CP_NUMBER_PLAN_WIDTH */
1959 /* declared in Origination Message */
1960#define CP_EXTENSION_BIT_2_WIDTH 1
1961 /* CP_PI_WIDTH and CP_SI_WIDTH declared in */
1962 /* Calling Party Number Record */
1963#define CP_REDIRECTING_NUMBER_RSVD_1_WIDTH 3
1964#define CP_EXTENSION_BIT_3_WIDTH 1
1965#define CP_REDIRECTING_NUMBER_RSVD_2_WIDTH 3
1966#define CP_REDIRECTION_REASON_WIDTH 4
1967#define CP_REDIRECTING_NUMBER_REC_FIXED_FIELD_WIDTH \
1968 ( CP_EXTENSION_BIT_1_WIDTH + \
1969 CP_NUMBER_TYPE_WIDTH + \
1970 CP_NUMBER_PLAN_WIDTH ) /* minimum size of the record */
1971
1972
1973
1974/* Reverse Record field width definitions */
1975
1976/* Feature Indicator Record */
1977#define CP_FEATURE_WIDTH 4
1978#define CP_FEATURE_INDICATOR_REC_RSVD_WIDTH 4
1979
1980#define CP_FEATURE_INDICATOR_REC_FIXED_FIELD_WIDTH \
1981 (CP_FEATURE_WIDTH + \
1982 CP_FEATURE_INDICATOR_REC_RSVD_WIDTH)
1983#if ((CP_FEATURE_INDICATOR_REC_FIXED_FIELD_WIDTH%8) != 0)
1984#error "CP_FEATURE_INDICATOR_REC_FIXED_FIELD_WIDTH \
1985 not an integral number of octets"
1986#endif
1987
1988/* Keypad Facility Record */
1989
1990/* Called Party Number Record */
1991 /* See Forward records */
1992
1993/* Calling Party Number Record */
1994 /* See Forward records */
1995
1996/* Call Mode Record */
1997#define CP_ORIG_MODE_WIDTH 1
1998#define CP_CALL_MODE_REC_RSVD_FIELD_WIDTH 7
1999#define CP_CALL_MODE_REC_FIXED_FIELD_WIDTH \
2000 (CP_ORIG_MODE_WIDTH + \
2001 CP_SERVICE_OPTION_WIDTH + \
2002 CP_SERVICE_OPTION_WIDTH + \
2003 CP_CALL_MODE_REC_RSVD_FIELD_WIDTH)
2004#if ((CP_CALL_MODE_REC_FIXED_FIELD_WIDTH%8) != 0)
2005#error "CP_CALL_MODE_REC_FIXED_FIELD_WIDTH \
2006 not an integral number of octets"
2007#endif
2008
2009/* Terminal Information Record */
2010#define CP_MOB_MFG_CODE_WIDTH 8
2011#define CP_MOB_MODEL_WIDTH 8
2012#define CP_MOB_FIRM_REV_WIDTH 16
2013#define CP_MOB_LOCAL_CTRL_WIDTH 1
2014#define CP_MOB_SLOT_CYCLE_INDEX_WIDTH 3
2015#define CP_TERMINAL_INFO_RSVD_WIDTH 4
2016#define CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH \
2017 (CP_P_REV_WIDTH + \
2018 CP_MOB_MFG_CODE_WIDTH + \
2019 CP_MOB_MODEL_WIDTH + \
2020 CP_MOB_FIRM_REV_WIDTH + \
2021 CP_SCM_WIDTH + \
2022 CP_MOB_LOCAL_CTRL_WIDTH + \
2023 CP_MOB_SLOT_CYCLE_INDEX_WIDTH + \
2024 CP_TERMINAL_INFO_RSVD_WIDTH)
2025#if ((CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
2026#error "CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH \
2027 not an integral number of octets"
2028#endif
2029
2030/* Security Status Record */
2031#define CP_ENCRYPT_MODE_WIDTH 2
2032#define CP_SECURITY_STATUS_REC_RSVD_FIELD_WIDTH 3
2033#define CP_SECURITY_STATUS_REC_FIXED_FIELD_WIDTH \
2034 (CP_AUTH_MODE_WIDTH + \
2035 CP_ENCRYPT_MODE_WIDTH + \
2036 CP_PRIVATE_LCM_WIDTH + \
2037 CP_SECURITY_STATUS_REC_RSVD_FIELD_WIDTH)
2038#if ((CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
2039#error "CP_TERMINAL_INFO_REC_FIXED_FIELD_WIDTH \
2040 not an integral number of octets"
2041#endif
2042
2043/* Power Class Information Record */
2044#define CP_MAX_EIRP_WIDTH 8
2045
2046/* Call Waiting Indicator Record*/
2047#define CP_CALL_WAITING_INDICATOR_WIDTH 1
2048#define CP_CALL_WAITING_INDICATOR_REC_RSVD_WIDTH 7
2049#define CP_CALL_WAITING_INDICATOR_REC_FIXED_FIELD_WIDTH \
2050 (CP_CALL_WAITING_INDICATOR_WIDTH + \
2051 CP_CALL_WAITING_INDICATOR_REC_RSVD_WIDTH)
2052#if ((CP_CALL_WAITING_INDICATOR_REC_FIXED_FIELD_WIDTH%8) != 0)
2053#error "CP_CALL_WAITING_INDICATOR_WIDTH \
2054 not an integral number of octets"
2055#endif
2056
2057/* Service Option Information Record */
2058#define CP_SERV_OPT_INFO_RSVD_WIDTH 6
2059#define CP_SERV_OPT_SUPPORT_WIDTH 1
2060#define CP_SERV_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
2061 (CP_SERV_OPT_INFO_RSVD_WIDTH + \
2062 CP_SERV_OPT_SUPPORT_WIDTH + \
2063 CP_SERV_OPT_SUPPORT_WIDTH + \
2064 CP_SERVICE_OPTION_WIDTH)
2065#if ((CP_SERV_OPTION_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
2066#error "CP_SERV_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
2067 not an integral number of octets"
2068#endif
2069
2070/* Multiplex Option Information Record */
2071#define CP_MULTIPLEX_OPTION_WIDTH 16
2072#define CP_MUX_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
2073 (CP_MULTIPLEX_OPTION_WIDTH + \
2074 CP_FOR_RATES_WIDTH + \
2075 CP_REV_RATES_WIDTH)
2076#if ((CP_MUX_OPTION_INFO_REC_FIXED_FIELD_WIDTH%8) != 0)
2077#error "CP_MUX_OPTION_INFO_REC_FIXED_FIELD_WIDTH \
2078 not an integral number of octets"
2079#endif
2080
2081
2082/* Service Configuration Record */
2083#define CP_SERV_CFG_HEADER_FIXED_FIELD_WIDTH \
2084 (CP_FOR_MUX_OPTION_WIDTH + \
2085 CP_REV_MUX_OPTION_WIDTH + \
2086 CP_FOR_RATES_WIDTH + \
2087 CP_REV_RATES_WIDTH + \
2088 CP_NUM_CON_REC_WIDTH)
2089#if ((CP_SERV_CFG_HEADER_FIXED_FIELD_WIDTH%8) != 0)
2090#error "CP_SERV_CFG_HEADER_FIXED_FIELD_WIDTH \
2091 not an integral number of octets"
2092#endif
2093
2094#define CP_SERV_CFG_CON_REC_FIXED_FIELD_WIDTH \
2095 (CP_SERVICE_CONNECTION_RECORD_LEN_WIDTH + \
2096 CP_CON_REF_WIDTH + \
2097 CP_SERVICE_OPTION_WIDTH + \
2098 CP_FOR_TRAFFIC_WIDTH + \
2099 CP_REV_TRAFFIC_WIDTH)
2100#if ((CP_SERV_CFG_CON_REC_FIXED_FIELD_WIDTH%8) != 0)
2101#error "CP_SERV_CFG_CON_REC_FIXED_FIELD_WIDTH \
2102 not an integral number of octets"
2103#endif
2104
2105/* Subaddress Record */
2106#define CP_EXTENSION_BIT_WIDTH 1
2107#define CP_SUBADDRESS_TYPE_WIDTH 3
2108#define CP_ODD_EVEN_INDICATOR_WIDTH 1
2109#define CP_SUBADDRESS_RSVD_WIDTH 3
2110#define CP_SUBADDRESS_REC_FIXED_FIELD_WIDTH \
2111 (CP_EXTENSION_BIT_WIDTH + \
2112 CP_SUBADDRESS_TYPE_WIDTH + \
2113 CP_ODD_EVEN_INDICATOR_WIDTH + \
2114 CP_SUBADDRESS_RSVD_WIDTH)
2115#if ((CP_SUBADDRESS_REC_FIXED_FIELD_WIDTH%8) != 0)
2116#error "CP_SUBADDRESS_REC_FIXED_FIELD_WIDTH \
2117 not an integral number of octets"
2118#endif
2119
2120/* Power Control Information Record */
2121#define CP_MIN_PWR_CNTL_STEP_WIDTH 3
2122#define CP_PWR_CNTL_INFO_RSVD_WIDTH 5
2123#define CP_PWR_CNTL_INFO_FIXED_FIELD_WIDTH \
2124 (CP_MIN_PWR_CNTL_STEP_WIDTH + \
2125 CP_PWR_CNTL_INFO_RSVD_WIDTH)
2126#if ((CP_PWR_CNTL_INFO_FIXED_FIELD_WIDTH%8) != 0)
2127#error "CP_PWR_CNTL_INFO_FIXED_FIELD_WIDTH \
2128 not an integral number of octets"
2129#endif
2130
2131
2132
2133/* Roaming Information */
2134#define CP_ROAMING_ACCOLC_WIDTH 4
2135#define CP_MOB_TERM_HOME_WIDTH 1
2136#define CP_MOB_TERM_FOR_SID_WIDTH 1
2137#define CP_MOB_TERM_FOR_NID_WIDTH 1
2138
2139/* Enhanced Roaming Indicators (ERI) */
2140#define CP_ERI_VERSION_WIDTH 16
2141#define CP_ERI_NUM_ENTRIES_WIDTH 6
2142#define CP_ERI_TYPE_WIDTH 3
2143#define CP_NUM_ICON_IMAGES_WIDTH 4
2144#define CP_ICON_IMAGE_TYPE_WIDTH 3
2145#define CP_ERI_INDICATOR_ID_WIDTH 8
2146#define CP_ERI_ICON_IMAGE_ID_WIDTH 4
2147#define CP_ERI_ICON_MODE_WIDTH 2
2148#define CP_ERI_CALL_PROMPT_ID_WIDTH 2
2149#define CP_ERI_ALERT_CALL_COUNTER_ID_WIDTH 3
2150#define CP_ERI_CHAR_ENCODING_TYPE_WIDTH 5
2151#define CP_ERI_TEXT_LENGTH_WIDTH 8
2152#define CP_ERI_RESERVED_FOR_CALL_PROMPT_TABLE_WIDTH 96
2153
2154/* MEID record */
2155#define CP_MEID_LENGTH_WIDTH 4
2156#define CP_MEID_WIDTH 56
2157#define CP_MEID_ME_LENGTH_WIDTH 4
2158#define CP_MEID_ME_WIDTH 56
2159
2160/* Global Emergence Call */
2161#define CP_NUM_INCL_WIDTH 1
2162#define CP_MS_ORIG_POS_LOC_IND_WIDTH 1
2163#define CP_NUM_CHAR_WIDTH 8
2164
2165/* Extended Keypad Facility */
2166#define CP_NUMBER_INFO_INCL_WIDTH 1
2167#define CP_NUM_FIELDES_WIDTH 6
2168/* Record type header width definitions */
2169#define REV_INFO_IMSI_WIDTH 7
2170#define REV_INFO_POWER_CLASS_WIDTH 1
2171#define REV_INFO_OPERATING_MODE_WIDTH 1
2172#define REV_INFO_ROAMING_WIDTH 5
2173
2174/* R.Sattari, 9/6/00, added for capability information record */
2175#define REV_INFO_CAPABILITY_INFORMATION_WIDTH 1
2176
2177/* Page Response */
2178#define CP_CMEA_WIDTH 1
2179#define CP_ECMEA_WIDTH 1
2180#define CP_REA_WIDTH 1
2181
2182
2183/*****************************************************************************
2184 * Order Information
2185 ****************************************************************************/
2186#define CP_AUTHBS_WIDTH 18
2187#define CP_ROAM_INDI_WIDTH 8
2188
2189/*****************************************************************************
2190 * Prototypes
2191 ****************************************************************************/
2192
2193kal_uint8 cpGetField8 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width);
2194kal_uint16 cpGetField16 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width);
2195kal_uint32 cpGetField32 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width);
2196kal_uint8 cpGetByteArray (kal_uint8* dest, kal_uint16* index, kal_uint8* src, kal_uint8 len,
2197 kal_uint8 maxLen, kal_bool appendNull);
2198kal_uint8 cpGetBitArray (kal_uint8* dest, kal_uint8* src, kal_uint16* index, kal_uint8 len);
2199
2200void cpPutReset (kal_uint16 bufferLength);
2201kal_bool __cpPutField8 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width, kal_uint8 field, kal_uint16 bufferLength);
2202kal_bool __cpPutField16 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width, kal_uint16 field, kal_uint16 bufferLength);
2203kal_bool __cpPutField32 (kal_uint8* buffer, kal_uint16* index, kal_uint8 width, kal_uint32 field, kal_uint16 bufferLength);
2204void cpPutByteArray (kal_uint8* dest, kal_uint16* index, kal_uint8* src, kal_uint8 len);
2205kal_bool cpGetOverflow (void);
2206
2207#define CP_ONE_BIT_WIDTH 1
2208#define CP_TWO_BIT_WIDTH 2
2209#define CP_THREE_BIT_WIDTH 3
2210#define CP_FOUR_BIT_WIDTH 4
2211#define CP_FIVE_BIT_WIDTH 5
2212#define CP_SIX_BIT_WIDTH 6
2213#define CP_SEVEN_BIT_WIDTH 7
2214#define CP_EIGHT_BIT_WIDTH 8
2215#define CP_NINE_BIT_WIDTH 9
2216#define CP_TEN_BIT_WIDTH 10
2217#define CP_ELEVEN_BIT_WIDTH 11
2218#define CP_TWELVE_BIT_WIDTH 12
2219#define CP_THIRTEEN_BIT_WIDTH 13
2220#define CP_FOURTEEN_BIT_WIDTH 14
2221#define CP_FIFTEEN_BIT_WIDTH 15
2222#define CP_SIXTEEN_BIT_WIDTH 16
2223#define CP_THIRTY_TWO_BIT_WIDTH 32
2224#define CP_MAX_PUTFIELD_BUFFER_SIZE 65535
2225#define CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE 65535
2226#define cpPutField8(buffer,index,width,value)\
2227 __cpPutField8(buffer,index,width,value,CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE)
2228#define cpPutField16(buffer,index,width,value)\
2229 __cpPutField16(buffer,index,width,value,CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE)
2230#define cpPutField32(buffer,index,width,value)\
2231 __cpPutField32(buffer,index,width,value,CP_LOCAL_MAX_PUTFIELD_BUFFER_SIZE)
2232#endif /* _FIELD_H */
2233
2234
2235
2236
2237
2238
2239
2240/**Log information: \main\CBP80\cbp80_gdeng_scbp10099\1 2012-07-27 09:00:26 GMT gdeng
2241** SCBP#10099 **/
2242/**Log information: \main\Trophy_SO73\1 2013-07-09 05:02:28 GMT gdeng
2243** HREF#0000 see scbp11634**/
2244/**Log information: \main\Trophy\1 2013-07-17 08:11:42 GMT cshen
2245** href#2222**/
2246