00001 00002 // // 00003 // $Revision: 4 $ // 00004 // // 00005 // Name : SwiStructs.h // 00006 // // 00007 // Purpose : SWI CDMA 1xRtt specific enumerated types and structures // 00008 // // 00009 // Copyright (c) 2003 Sierra Wireless, Inc. All rights reserved // 00010 // // 00012 #ifndef __SWI_STRUCTS_CDMA_H 00013 #define __SWI_STRUCTS_CDMA_H 00014 00015 #include "SwiDataTypes.h" 00016 #include "SwiStructsMp.h" 00017 #include "SwiDefinesCm.h" 00018 00019 #define LENGTH_CallNumber 32 // Maximum Caller ID length 00020 #define LENGTH_CallExtendedNumber 64 // Maximum Extended Caller ID length 00021 00022 #define MAX_SMSI_CALL_BACK 32 // Maximum SMS callback length 00023 #define MAX_SMSI_TL_ADDRESS 50 // Maximum SMS address length 00024 00025 #define LENGTH_SectorId 16 00026 #define LENGTH_WAPUri 128 00027 #define LENGTH_HdrUati 16 00028 00029 // constants 00030 #define LENGTH_MaxPPPString 33 00031 #define LENGTH_DebugFormatString 40 00032 #define LENGTH_DebugFileName 13 00033 #define SWI_PORT_NAME_SIZE 16 // length of COM port name 00034 #define SWI_FRIENDLY_NAME_SIZE 256 // maximum length of the instance ID 00035 // string for devices and ports 00036 #define SWI_INSTANCE_ID_SIZE 256 // maximum length of the instance ID 00037 // string for devices and ports 00038 #define SWI_SUFFIX_ID_SIZE 16 // maximum length for unique device and port prefixes 00039 00040 00041 #define _CDMA_SWI_STRUCT_SMS_Status SWI_STRUCT_SMS_Status 00042 #define _CDMA_SWI_STRUCT_SMS_RetrieveSms SWI_STRUCT_SMS_RetrieveSms 00043 #define _CDMA_SWI_STRUCT_SMS_SendStatus SWI_STRUCT_SMS_SendStatus 00044 #define _CDMA_SWI_STRUCT_SMS_StoreSms SWI_STRUCT_SMS_StoreSms 00045 #define _CDMA_SWI_TYPE_CallType SWI_TYPE_CallType 00046 #define _CDMA_SWI_TYPE_CallState SWI_TYPE_CallState 00047 #define _CDMA_SWI_TYPE_CallError SWI_TYPE_CallError 00048 #define _CDMA_SWI_TYPE_Notify SWI_TYPE_Notify 00049 #define _CDMA_SwiNotifyVariant SwiNotifyVariant 00050 #define _CDMA_SWI_NOTIFY_HeartBeat SWI_NOTIFY_HeartBeat 00051 #define _CDMA_SWI_NOTIFY_Rssi SWI_NOTIFY_Rssi 00052 #define _CDMA_SWI_NOTIFY_SmsStatus SWI_NOTIFY_SmsStatus 00053 #define _CDMA_SWI_NOTIFY_SmsSendStatus SWI_NOTIFY_SmsSendStatus 00054 #define _CDMA_SWI_NOTIFY_HeadsetState SWI_NOTIFY_HeadsetState 00055 #define _CDMA_SWI_NOTIFY_Band SWI_NOTIFY_Band 00056 #define _CDMA_SWI_NOTIFY_TransmitAlert SWI_NOTIFY_TransmitAlert 00057 #define _CDMA_SWI_NOTIFY_Reset SWI_NOTIFY_Reset 00058 #define _CDMA_SWI_NOTIFY_Power SWI_NOTIFY_Power 00059 #define _CDMA_SWI_NOTIFY_Dhcp SWI_NOTIFY_Dhcp 00060 #define _CDMA_SWI_NOTIFY_PPP SWI_NOTIFY_PPP 00061 #define _CDMA_SWI_NOTIFY_Debug SWI_NOTIFY_Debug 00062 #define _CDMA_SWI_NOTIFY_Gps SWI_NOTIFY_Gps 00063 #define _CDMA_SWI_NOTIFY_ExtDio SWI_NOTIFY_ExtDio 00064 #define _CDMA_SWI_NOTIFY_ExtAi SWI_NOTIFY_ExtAi 00065 #define _CDMA_SWI_NOTIFY_GpsCommand SWI_NOTIFY_GpsCommand 00066 #define _CDMA_SWI_NOTIFY_MpByteCount SWI_NOTIFY_MpByteCount 00067 #define _CDMA_SWI_NOTIFY_MPIgnSense SWI_NOTIFY_MPIgnSense 00068 #define _CDMA_SWI_NOTIFY_RfDownload SWI_NOTIFY_RfDownload 00069 #define _CDMA_SWI_NOTIFY_SimSled SWI_NOTIFY_SimSled 00070 #define _CDMA_SWI_NOTIFY_BatteryStatus SWI_NOTIFY_BatteryStatus 00071 #define _CDMA_SWI_NOTIFY_MpShutdown SWI_NOTIFY_MpShutdown 00072 #define _CDMA_SWI_NOTIFY_MpConnect SWI_NOTIFY_MpConnect 00073 #define _CDMA_SWI_NOTIFY_MpStartupDiag SWI_NOTIFY_MpStartupDiag 00074 #define _CDMA_SWI_NOTIFY_MpDisconnect SWI_NOTIFY_MpDisconnect 00075 #define _CDMA_SWI_NOTIFY_END_MP SWI_NOTIFY_END_MP 00076 #define _CDMA_SWI_NOTIFY_AirServerChange SWI_NOTIFY_AirServerChange 00077 #define _CDMA_SWI_NOTIFY_LockServ SWI_NOTIFY_LockServ 00078 #define _CDMA_SWI_NOTIFY_END_NOTIFY SWI_NOTIFY_END_NOTIFY 00079 #define _CDMA_SWI_STRUCT_NotifList SWI_STRUCT_NotifList 00080 00081 #define _CDMA_SWI_CALLBACK_EX SWI_CALLBACK_EX 00082 00084 // 00085 // Account management 00086 // The activation account information for CDMA is 00087 // stored in data structures. Multiple NAM account 00088 // profiles are supported. 00089 // The structures and data types following relate to 00090 // managing accounts. 00091 // 00093 00094 #pragma pack(push,1) 00095 00097 // 00098 // Name: SWI_STRUCT_SidNid - SID/NID pair structure 00099 // 00100 // Purpose: This structure is used as a member of 00101 // SWI_STRUCT_HomeSidNid. 00102 // 00103 // Members: Sid - SID value 00104 // Nid - NID value 00105 // 00106 // Notes: None. 00107 // 00109 struct SWI_STRUCT_SidNid 00110 { 00111 U16 Sid; 00112 U16 Nid; 00113 }; 00114 00116 // 00117 // Name: SWI_STRUCT_HomeSidNid - Home SID/NID pairs structure 00118 // 00119 // Purpose: This structure is used to report (SwiPstGetHomeSidNid) or set 00120 // (SwiPstSetHomeSidNid) the home (non-roaming) 00121 // SID / NID table for an account profile. 00122 // 00123 // Members: SidNid - SID NID pair array. See 00124 // SWI_STRUCT_SidNid for details 00125 // 00126 // Notes: The table supports twenty entries. 00127 // 00129 struct SWI_STRUCT_HomeSidNid 00130 { 00131 SWI_STRUCT_SidNid SidNid[20]; 00132 }; 00133 00134 #pragma pack(pop) 00135 00137 // 00138 // Name: SWI_TYPE_Commit_ErrorMask - Activation Commit error mask enumeration 00139 // 00140 // Purpose: This identifies the possible bits in the 00141 // failure mask field returned by SwiPstLock 00142 // 00143 // Memnbers: SWI_COMMIT_ERRMASK_NONE - No error 00144 // SWI_COMMIT_ERRMASK_MDN - MDN not set 00145 // SWI_COMMIT_ERRMASK_IMSI - IMSI not set 00146 // SWI_COMMIT_ERRMASK_USERIDPW - No User ID/Password 00147 // SWI_COMMIT_ERRMASK_DATE - No Provisioning Date 00148 // SWI_COMMIT_ERRMASK_NAMORDER - NAM profile index out of sequence 00149 // (NAM 0 must always be provisioned 00150 // first) 00151 // 00152 // Notes: None 00153 // 00155 enum SWI_TYPE_Commit_ErrorMask 00156 { 00157 SWI_COMMIT_ERRMASK_NONE = 0x00000000, 00158 SWI_COMMIT_ERRMASK_MDN = 0x00000001, 00159 SWI_COMMIT_ERRMASK_IMSI = 0x00000002, 00160 SWI_COMMIT_ERRMASK_USERIDPW = 0x00000004, 00161 SWI_COMMIT_ERRMASK_DATE = 0x00000008, 00162 SWI_COMMIT_ERRMASK_NAMORDER = 0x00000010, 00163 }; 00164 00166 // 00167 // SMS Messaging 00168 // 00169 // CDMA2000 1X modems can send and receive 00170 // SMS messages. To handle SMS messages, there 00171 // are many data types and structures involved. 00172 // Most of these relate to header content. The 00173 // details of the parameters in the SMS header are 00174 // defined in the CDMA specification and are 00175 // beyond the scope of this manual. 00176 // 00177 // Consult the documentation for a discussion of the SMS message handling process. 00178 // 00180 00182 // 00183 // Name: SWI_TYPE_SMS_ParamMask - SMS Parameter Mask enumeration 00184 // 00185 // Purpose: This identifies the meanings of the bits in the 00186 // SWI_STRUCT_SMS_CdmaHeader parameter mask of available fields. 00187 // 00188 // Memnbers: SWI_SMS_PARAMASK_NO_PARAMS - No parameters set 00189 // SWI_SMS_PARAMASK_BEARER_REPLY - Bearer Reply (TL Ack.) 00190 // SWI_SMS_PARAMASK_VALID_ABS - Absolute Validity Time 00191 // SWI_SMS_PARAMASK_VALID_REL - Relative Validity Time 00192 // SWI_SMS_PARAMASK_DEFER_ABS - Absolute Delivery Deferral Time 00193 // SWI_SMS_PARAMASK_DEFER_REL - Relative Delivery Deferral Time 00194 // SWI_SMS_PARAMASK_USER_RESP - User Response 00195 // SWI_SMS_PARAMASK_ADDRESS - Address 00196 // SWI_SMS_PARAMASK_SUBADDR - Sub Address 00197 // SWI_SMS_PARAMASK_USER_DATA - Data Encoding 00198 // SWI_SMS_PARAMASK_PRIORITY - Priority 00199 // SWI_SMS_PARAMASK_PRIVACY - Privacy 00200 // SWI_SMS_PARAMASK_REPLY_OPT - Reply Option (DAK & User Ack) 00201 // SWI_SMS_PARAMASK_NUM_OF_MSG - Number of Messages 00202 // SWI_SMS_PARAMASK_ALERT - Delivery Alert 00203 // SWI_SMS_PARAMASK_LANGUAGE - Language 00204 // SWI_SMS_PARAMASK_CALL_BACK - Call Back Number 00205 // SWI_SMS_PARAMASK_MC_TIME_STAMP - Time Stamp 00206 // SWI_SMS_PARAMASK_DISP_MODE - Display Mode 00207 // 00208 // Notes: None 00209 // 00211 enum SWI_TYPE_SMS_ParamMask 00212 { 00213 SWI_SMS_PARAMASK_NO_PARAMS, 00214 SWI_SMS_PARAMASK_BEARER_REPLY, 00215 SWI_SMS_PARAMASK_VALID_ABS, 00216 SWI_SMS_PARAMASK_VALID_REL = 0x00000004, 00217 SWI_SMS_PARAMASK_DEFER_ABS = 0x00000008, 00218 SWI_SMS_PARAMASK_DEFER_REL = 0x00000010, 00219 SWI_SMS_PARAMASK_USER_RESP = 0x00000020, 00220 SWI_SMS_PARAMASK_ADDRESS = 0x00000040, 00221 SWI_SMS_PARAMASK_SUBADDR = 0x00000080, 00222 SWI_SMS_PARAMASK_USER_DATA = 0x00000100, 00223 SWI_SMS_PARAMASK_PRIORITY = 0x00000200, 00224 SWI_SMS_PARAMASK_PRIVACY = 0x00000400, 00225 SWI_SMS_PARAMASK_REPLY_OPT = 0x00000800, 00226 SWI_SMS_PARAMASK_NUM_OF_MSG = 0x00001000, 00227 SWI_SMS_PARAMASK_ALERT = 0x00002000, 00228 SWI_SMS_PARAMASK_LANGUAGE = 0x00004000, 00229 SWI_SMS_PARAMASK_CALL_BACK = 0x00008000, 00230 SWI_SMS_PARAMASK_MC_TIME_STAMP = 0x00010000, 00231 SWI_SMS_PARAMASK_DISP_MODE = 0x00020000 00232 }; 00233 00235 // 00236 // Name: SWI_TYPE_SMS_MsgCategory - SMS Message Category enumeration 00237 // 00238 // Purpose: Defines the SMS category 00239 // 00240 // Members: SWI_SMS_MSGCAT_POINT_TO_POINT - IS-637 SMS Point-to-Point Message 00241 // SWI_SMS_MSGCAT_BROADCAST_MSG - IS-637 SMS Broadcast Message 00242 // SWI_SMS_MSGCAT_ACK_MSG - IS-637 SMS Acknowledge Message 00243 // 00244 // Notes: None 00245 // 00247 enum SWI_TYPE_SMS_MsgCategory 00248 { 00249 SWI_SMS_MSGCAT_POINT_TO_POINT, 00250 SWI_SMS_MSGCAT_BROADCAST_MSG, 00251 SWI_SMS_MSGCAT_ACK_MSG 00252 }; 00253 00255 // 00256 // Name: SWI_TYPE_SMS_Teleservice - SMS Message Teleservice Type enumeration 00257 // 00258 // Purpose: Defines the SMS teleservice type. 00259 // Refer to TIA/EIA-41-D Table 175 for further information. 00260 // 00261 // Members: SWI_SMS_TELESRV_CELL_PAGING - SMSI_CPT_95: IS-95A Cellular Paging 00262 // SWI_SMS_TELESRV_CELL_MESSAGING - SMSI_CMT_95: IS-95A Cellular Messaging 00263 // SWI_SMS_TELESRV_VOICE_MAIL_NOT - SMSI_VMN_95: IS-95A Voice Mail Notification 00264 // SWI_SMS_TELESRV_CLI_ORDER - SMSI_CMT_91_CLI: IS-91 Extended Protocol - CLI Order 00265 // SWI_SMS_TELESRV_VOICE_IND - SMSI_CMT_91_VOICE_MAIL: IS-91 Extended Protocol - 00266 // Voice Mail and Embedded Message Waiting Indicator 00267 // SWI_SMS_TELESRV_SHORT_MSG - SMSI_CMT_91_SHORT_MSG: IS-91 Extended Protocol - Short Message 00268 // SWI_SMS_TELESRV_ALERT_INFO - SMSI_AWI_95: IS-95A Alert With Info 00269 // SWI_SMS_TELESRV_WAP - SMSI_WAP: WAP Message 00270 // 00271 // Notes: Refer to TIA/EIA-41-D Table 175 for further info 00272 // 00274 enum SWI_TYPE_SMS_Teleservice 00275 { 00276 SWI_SMS_TELESRV_CELL_PAGING, 00277 SWI_SMS_TELESRV_CELL_MESSAGING, 00278 SWI_SMS_TELESRV_VOICE_MAIL_NOT, 00279 SWI_SMS_TELESRV_CLI_ORDER, 00280 SWI_SMS_TELESRV_VOICE_IND, 00281 SWI_SMS_TELESRV_SHORT_MSG, 00282 SWI_SMS_TELESRV_ALERT_INFO, 00283 SWI_SMS_TELESRV_WAP 00284 }; 00285 00287 // 00288 // Name: SWI_TYPE_SMS_MsgIdType - SMS Message ID Type enumeration 00289 // 00290 // Purpose: Defines the SMS Message ID Type 00291 // 00292 // Members: SWI_SMS_MSGIDTYPE_NOTUSED - NOT USED 00293 // SWI_SMS_MSGIDTYPE_DELIVER - Deliver (Regular MT SMS) 00294 // SWI_SMS_MSGIDTYPE_SUBMIT - Submit (Regular MO SMS) 00295 // SWI_SMS_MSGIDTYPE_CANCEL - Cancellation (MO Only. 00296 // Cancel previous SMS delivery) 00297 // SWI_SMS_MSGIDTYPE_DELIVERY_ACK - Delivery Ack. (MT Only) 00298 // SWI_SMS_MSGIDTYPE_USER_ACK - User Acknowledgement (Either Directions) 00299 // 00300 // Notes: None 00301 // 00303 enum SWI_TYPE_SMS_MsgIdType 00304 { 00305 SWI_SMS_MSGIDTYPE_NOTUSED, 00306 SWI_SMS_MSGIDTYPE_DELIVER, 00307 SWI_SMS_MSGIDTYPE_SUBMIT, 00308 SWI_SMS_MSGIDTYPE_CANCEL, 00309 SWI_SMS_MSGIDTYPE_DELIVERY_ACK, 00310 SWI_SMS_MSGIDTYPE_USER_ACK 00311 }; 00312 00314 // 00315 // Name: SWI_TYPE_SMS_Priority - SMS Message Priority enumeration 00316 // 00317 // Purpose: Defines the priority of the SMS Message. 00318 // 00319 // Members: SWI_SMS_PRIORITY_NORMAL - Normal 00320 // SWI_SMS_PRIORITY_INTERACTIVE - Interactive 00321 // SWI_SMS_PRIORITY_URGENT - Urgent 00322 // SWI_SMS_PRIORITY_EMERGENCY - Emergency 00323 // 00324 // Notes: None. 00325 // 00327 enum SWI_TYPE_SMS_Priority 00328 { 00329 SWI_SMS_PRIORITY_NORMAL, 00330 SWI_SMS_PRIORITY_INTERACTIVE, 00331 SWI_SMS_PRIORITY_URGENT, 00332 SWI_SMS_PRIORITY_EMERGENCY 00333 }; 00334 00336 // 00337 // Name: SWI_TYPE_SMS_Privacy - SMS Message Privacy enumeration 00338 // 00339 // Purpose: Defines the privacy level of the SMS message 00340 // 00341 // Parameters: SWI_SMS_PRIVACY_NOT_RESTR - Not restricted (Level 0) 00342 // SWI_SMS_PRIVACY_RESTRICTED - Restricted (Level 1) 00343 // SWI_SMS_PRIVACY_CONFIDENTIAL - Confidential (Level 2) 00344 // SWI_SMS_PRIVACY_SECRET - Secret (Level 3) 00345 // 00346 // Notes: None 00347 // 00349 enum SWI_TYPE_SMS_Privacy 00350 { 00351 SWI_SMS_PRIVACY_NOT_RESTR, 00352 SWI_SMS_PRIVACY_RESTRICTED, 00353 SWI_SMS_PRIVACY_CONFIDENTIAL, 00354 SWI_SMS_PRIVACY_SECRET 00355 }; 00356 00358 // 00359 // Name: SWI_TYPE_SMS_Language - SMS Language type enumeration 00360 // 00361 // Purpose: Defines the language used in the message body 00362 // 00363 // Members: SWI_SMS_LANGUAGE_UNSPECIFIED - UNSPECIFIED 00364 // SWI_SMS_LANGUAGE_ENGLISH - ENGLISH 00365 // SWI_SMS_LANGUAGE_FRENCH - FRENCH 00366 // SWI_SMS_LANGUAGE_SPANISH - SPANISH 00367 // SWI_SMS_LANGUAGE_JAPANESE - JAPANESE 00368 // SWI_SMS_LANGUAGE_KOREAN - KOREAN 00369 // SWI_SMS_LANGUAGE_CHINESE - CHINESE 00370 // SWI_SMS_LANGUAGE_HEBREW - HEBREW 00371 // 00372 // Notes: None. 00373 // 00375 enum SWI_TYPE_SMS_Language 00376 { 00377 SWI_SMS_LANGUAGE_UNSPECIFIED, 00378 SWI_SMS_LANGUAGE_ENGLISH, 00379 SWI_SMS_LANGUAGE_FRENCH, 00380 SWI_SMS_LANGUAGE_SPANISH, 00381 SWI_SMS_LANGUAGE_JAPANESE, 00382 SWI_SMS_LANGUAGE_KOREAN, 00383 SWI_SMS_LANGUAGE_CHINESE, 00384 SWI_SMS_LANGUAGE_HEBREW 00385 }; 00386 00388 // 00389 // Name: SWI_TYPE_SMS_MsgDispMode - SMS Message Display Mode enumeration 00390 // 00391 // Purpose: Specifies how the SMS message should be displayed 00392 // 00393 // Members: SWI_SMS_MSGDISPMODE_IMMEDIATE - Immediate Display 00394 // SWI_SMS_MSGDISPMODE_DEFAULT - Radio default setting 00395 // SWI_SMS_MSGDISPMODE_USER_INVOKE - User Invoke 00396 // 00397 // Notes: None 00398 // 00400 enum SWI_TYPE_SMS_MsgDispMode 00401 { 00402 SWI_SMS_MSGDISPMODE_IMMEDIATE, 00403 SWI_SMS_MSGDISPMODE_DEFAULT, 00404 SWI_SMS_MSGDISPMODE_USER_INVOKE 00405 }; 00406 00408 // 00409 // Name: SWI_TYPE_SMS_DataEncodeType - SMS Data Encoding enumeration 00410 // 00411 // Purpose: This enumeration identifies the possible data encoding methods 00412 // used on the SMS message body. 00413 // 00414 // Members: SWI_SMS_DATAENCODE_8bitAscii - Octet, unspecified (i.e. Binary) 00415 // SWI_SMS_DATAENCODE_IS91EP - varies 00416 // SWI_SMS_DATAENCODE_7bitAscii - Standard ascii, 7-bit 00417 // SWI_SMS_DATAENCODE_IA5 - 7-bit encoding ( International Alphabet No. 5 same as ASCII ) 00418 // SWI_SMS_DATAENCODE_Unicode - Unicode 00419 // SWI_SMS_DATAENCODE_Shift_Jis - /* 8 or 16-bit */ It's also known as SJIS or MS Kanji for Japanese support 00420 // SWI_SMS_DATAENCODE_Korean - /* 8 or 16-bit */ Korean support 00421 // SWI_SMS_DATAENCODE_LatinHebrew - /* 8 */ specific to the Hebrew script ISO-8859-8 and Windows-1255 00422 // SWI_SMS_DATAENCODE_Latin - Latin 00423 // SWI_SMS_DATAENCODE_GSM7BitDefault - /* 7-bit */ defined in ETSI GSM 03.38. 00424 // SWI_SMS_DATAENCODE_MAX32 00425 00426 // 00427 // Notes: For a more complete list, see SMS standard TSB-58C. 00428 // 00430 enum SWI_TYPE_SMS_DataEncodeType 00431 { 00432 SWI_SMS_DATAENCODE_8bitAscii = 0, 00433 SWI_SMS_DATAENCODE_IS91EP, 00434 SWI_SMS_DATAENCODE_7bitAscii, 00435 SWI_SMS_DATAENCODE_IA5, 00436 SWI_SMS_DATAENCODE_Unicode, 00437 SWI_SMS_DATAENCODE_Shift_Jis, 00438 SWI_SMS_DATAENCODE_Korean, 00439 SWI_SMS_DATAENCODE_LatinHebrew, 00440 SWI_SMS_DATAENCODE_Latin, 00441 SWI_SMS_DATAENCODE_GSM7BitDefault, 00442 SWI_SMS_DATAENCODE_MAX32 = 0x10000000 00443 }; 00444 00446 // 00447 // Name: SWI_TYPE_SMS_ErrorClass - SMS Send Error Class enumeration 00448 // 00449 // Purpose: This enumeration identifies the possible Error Class values 00450 // that may be returned with the notification SWI_NOTIFY_SmsSendStatus 00451 // 00452 // Members: SWI_SMS_ERRORCLASS_NoError - No Error 00453 // SWI_SMS_ERRORCLASS_Reserved - Reserved (Ignore) 00454 // SWI_SMS_ERRORCLASS_Temporary 00455 // - Temporary. A retry is recommended. 00456 // SWI_SMS_ERRORCLASS_Permanent 00457 // - Permanent. A retry is not recommened. 00458 // 00459 // Notes: None 00460 // 00462 enum SWI_TYPE_SMS_ErrorClass 00463 { 00464 SWI_SMS_ERRORCLASS_NoError, 00465 SWI_SMS_ERRORCLASS_Reserved, 00466 SWI_SMS_ERRORCLASS_Temporary, 00467 SWI_SMS_ERRORCLASS_Permanent 00468 }; 00469 00471 // 00472 // Name: SWI_TYPE_SMS_CauseCode - SMS Send Cause Code enumeration 00473 // 00474 // Purpose: This enumeration identifies the possible Cause Code values 00475 // that may be returned with the notification SWI_NOTIFY_SmsSendStatus 00476 // 00477 // Members: ( Network problems ) 00478 // SWI_SMS_CAUSECODE_AddressVacant 00479 // SWI_SMS_CAUSECODE_AddressTranslationFailure 00480 // SWI_SMS_CAUSECODE_NetworkResourceShortage 00481 // SWI_SMS_CAUSECODE_NetworkFailure 00482 // SWI_SMS_CAUSECODE_InvalidTeleserviceId 00483 // SWI_SMS_CAUSECODE_OtherNetworkProblem 00484 // SWI_SMS_CAUSECODE_OtherNetworkProblemMoreFirst 00485 // SWI_SMS_CAUSECODE_OtherNetworkProblemMoreLast 00486 // 00487 // ( Terminal Problems ) 00488 // SWI_SMS_CAUSECODE_NoPageResponse 00489 // SWI_SMS_CAUSECODE_DestinationBusy 00490 // SWI_SMS_CAUSECODE_NoAck 00491 // SWI_SMS_CAUSECODE_DestinationResourceShortage 00492 // SWI_SMS_CAUSECODE_SmsDeliveryPostponed 00493 // SWI_SMS_CAUSECODE_DestinationOutOfService 00494 // SWI_SMS_CAUSECODE_DestinationNoLongerAtThisAddress 00495 // SWI_SMS_CAUSECODE_OtherTerminalProblem 00496 // SWI_SMS_CAUSECODE_OtherTerminalProblemMoreFirst 00497 // SWI_SMS_CAUSECODE_OtherTerminalProblemMoreLast 00498 // SWI_SMS_CAUSECODE_SmsDeliveryPostponedMoreFirst 00499 // SWI_SMS_CAUSECODE_SmsDeliveryPostponedMoreLast 00500 // 00501 // ( Radio Interface Problems ) 00502 // SWI_SMS_CAUSECODE_Radio_If_Resource_Shortage 00503 // SWI_SMS_CAUSECODE_RadioIfIncompatible 00504 // SWI_SMS_CAUSECODE_OtherRadioIfProblem 00505 // SWI_SMS_CAUSECODE_OtherRadioIfProblemMoreFirst 00506 // SWI_SMS_CAUSECODE_OtherRadioIfProblemMoreLast 00507 // 00508 // ( General Problems ) 00509 // SWI_SMS_CAUSECODE_UnexpectedParmSize 00510 // SWI_SMS_CAUSECODE_SmsOriginationDenied 00511 // SWI_SMS_CAUSECODE_SmsTerminationDenied 00512 // SWI_SMS_CAUSECODE_SupplServiceNotSupported 00513 // SWI_SMS_CAUSECODE_SmsNotSupported 00514 // SWI_SMS_CAUSECODE_Reserved101 00515 // SWI_SMS_CAUSECODE_MissingExpectedParm 00516 // SWI_SMS_CAUSECODE_MissingMandatoryParm 00517 // SWI_SMS_CAUSECODE_UnrecognizedParmValue 00518 // SWI_SMS_CAUSECODE_UnexpectedParmValue 00519 // SWI_SMS_CAUSECODE_UserDataSizeError 00520 // SWI_SMS_CAUSECODE_OtherGeneralProblems 00521 // SWI_SMS_CAUSECODE_OtherGeneralProblemsMoreFirst 00522 // SWI_SMS_CAUSECODE_OtherGeneralProblemsMoreLast 00523 // 00524 // ( Internal SMS Cause Code (From the Mobile Station) ) 00525 // SWI_SMS_CAUSECODE_DtcCallDisconnect 00526 // SWI_SMS_CAUSECODE_DtcCallError 00527 // SWI_SMS_CAUSECODE_Ok 00528 // SWI_SMS_CAUSECODE_WaitingForTlAck 00529 // SWI_SMS_CAUSECODE_OutOfResources 00530 // SWI_SMS_CAUSECODE_AccesTooLarge 00531 // SWI_SMS_CAUSECODE_DtcTooLarge 00532 // SWI_SMS_CAUSECODE_NetworkNotReady 00533 // SWI_SMS_CAUSECODE_PhoneNotReady 00534 // SWI_SMS_CAUSECODE_NotAllowedInAmps 00535 // SWI_SMS_CAUSECODE_CannotSendBroadcast 00536 // SWI_SMS_CAUSECODE_InvalidTransactionID 00537 // SWI_SMS_CAUSECODE_MsgNotSent 00538 // SWI_SMS_CAUSECODE_MsgBeingSent 00539 // 00540 // Notes: For detailed explanation of each of the codes, please refer to 00541 // the IS-41 SMS Standard. 00542 // 00544 enum SWI_TYPE_SMS_CauseCode 00545 { 00546 // Network problems 00547 SWI_SMS_CAUSECODE_AddressVacant = 0x00, 00548 SWI_SMS_CAUSECODE_AddressTranslationFailure, 00549 SWI_SMS_CAUSECODE_NetworkResourceShortage, 00550 SWI_SMS_CAUSECODE_NetworkFailure, 00551 SWI_SMS_CAUSECODE_InvalidTeleserviceId, 00552 SWI_SMS_CAUSECODE_OtherNetworkProblem, 00553 SWI_SMS_CAUSECODE_OtherNetworkProblemMoreFirst = 0x06, 00554 SWI_SMS_CAUSECODE_OtherNetworkProblemMoreLast = 0x1F, 00555 00556 // Terminal Problems 00557 SWI_SMS_CAUSECODE_NoPageResponse = 0x20, 00558 SWI_SMS_CAUSECODE_DestinationBusy, 00559 SWI_SMS_CAUSECODE_NoAck, 00560 SWI_SMS_CAUSECODE_DestinationResourceShortage, 00561 SWI_SMS_CAUSECODE_SmsDeliveryPostponed, 00562 SWI_SMS_CAUSECODE_DestinationOutOfService, 00563 SWI_SMS_CAUSECODE_DestinationNoLongerAtThisAddress, 00564 SWI_SMS_CAUSECODE_OtherTerminalProblem, 00565 SWI_SMS_CAUSECODE_OtherTerminalProblemMoreFirst = 0x28, 00566 SWI_SMS_CAUSECODE_OtherTerminalProblemMoreLast = 0x2F, 00567 SWI_SMS_CAUSECODE_SmsDeliveryPostponedMoreFirst = 0x30, 00568 SWI_SMS_CAUSECODE_SmsDeliveryPostponedMoreLast = 0x3F, 00569 00570 // Radio Interface Problems 00571 SWI_SMS_CAUSECODE_Radio_If_Resource_Shortage = 0x40, 00572 SWI_SMS_CAUSECODE_RadioIfIncompatible, 00573 SWI_SMS_CAUSECODE_OtherRadioIfProblem, 00574 SWI_SMS_CAUSECODE_OtherRadioIfProblemMoreFirst = 0x43, 00575 SWI_SMS_CAUSECODE_OtherRadioIfProblemMoreLast = 0x5F, 00576 00577 // General Problems 00578 SWI_SMS_CAUSECODE_UnexpectedParmSize = 0x60, 00579 SWI_SMS_CAUSECODE_SmsOriginationDenied, 00580 SWI_SMS_CAUSECODE_SmsTerminationDenied, 00581 SWI_SMS_CAUSECODE_SupplServiceNotSupported, 00582 SWI_SMS_CAUSECODE_SmsNotSupported, 00583 SWI_SMS_CAUSECODE_Reserved101, 00584 SWI_SMS_CAUSECODE_MissingExpectedParm, 00585 SWI_SMS_CAUSECODE_MissingMandatoryParm, 00586 SWI_SMS_CAUSECODE_UnrecognizedParmValue, 00587 SWI_SMS_CAUSECODE_UnexpectedParmValue, 00588 SWI_SMS_CAUSECODE_UserDataSizeError, 00589 SWI_SMS_CAUSECODE_OtherGeneralProblems, 00590 SWI_SMS_CAUSECODE_OtherGeneralProblemsMoreFirst = 0x6C, 00591 SWI_SMS_CAUSECODE_OtherGeneralProblemsMoreLast = 0xFF, 00592 00593 // Internal SMS Cause Code (From the Mobile Station) 00594 SWI_SMS_CAUSECODE_DtcCallDisconnect = 0x4000, 00595 SWI_SMS_CAUSECODE_DtcCallError = 0x4001, 00596 SWI_SMS_CAUSECODE_Ok = 0x8000, 00597 SWI_SMS_CAUSECODE_WaitingForTlAck, 00598 SWI_SMS_CAUSECODE_OutOfResources, 00599 SWI_SMS_CAUSECODE_AccesTooLarge, 00600 SWI_SMS_CAUSECODE_DtcTooLarge, 00601 SWI_SMS_CAUSECODE_NetworkNotReady, 00602 SWI_SMS_CAUSECODE_PhoneNotReady, 00603 SWI_SMS_CAUSECODE_NotAllowedInAmps, 00604 SWI_SMS_CAUSECODE_CannotSendBroadcast, 00605 SWI_SMS_CAUSECODE_InvalidTransactionID, 00606 SWI_SMS_CAUSECODE_MsgNotSent, 00607 SWI_SMS_CAUSECODE_MsgBeingSent, 00608 }; 00609 00611 // 00612 // Name: SWI_TYPE_PRI_SmsMask - SMS Support mask bit enumeration 00613 // 00614 // Purpose: The enumerated mask bits identifies the SMS features 00615 // supported by the modem 00616 // 00617 // Members: SWI_PRI_SMS_MT - Mobile Terminated (Incoming) SMS supported 00618 // SWI_PRI_SMS_MO - Mobile Originated (Outgoing) SMS supported 00619 // SWI_PRI_SMS_ALL - Internal Use 00620 // SWI_PRI_SMS_MASK_ENABLED - Internal use 00621 // 00623 enum SWI_TYPE_PRI_SmsMask 00624 { 00625 SWI_PRI_SMS_MT = 0x0001, 00626 SWI_PRI_SMS_MO = 0x0002, 00627 SWI_PRI_SMS_ALL = 0xFFFF, 00628 00629 SWI_PRI_SMS_MASK_ENABLED = 0x8000 // Enabled bit (Internal use only) 00630 }; 00631 00633 // 00634 // Name: SWI_STRUCT_CDMA_SMS_Status - status of SMS messages on the modem 00635 // 00636 // Purpose: This structure reports the number of SMS 00637 // messages in each of the three buffers in the 00638 // modem: urgent, regular, and voice. 00639 // 00640 // Members: sizeStruct - size of this structure 00641 // 00642 // cntUrgentMsg - urgent msg count 00643 // 00644 // cntRegularMsg - regular msg count 00645 // 00646 // cntVoiceMsg - voice msg count 00647 // 00648 // 00649 // Notes: None 00650 // 00652 struct SWI_STRUCT_CDMA_SMS_Status 00653 { 00654 U32 sizeStruct; 00655 U32 cntUrgentMsg; 00656 U32 cntRegularMsg; 00657 U32 cntVoiceMsg; 00658 }; 00659 00661 // 00662 // Name: SWI_STRUCT_SMS_CdmaHeader - CDMA SMS Header 00663 // 00664 // Purpose: A portion of SWI_STRUCT_CDMA_SMS_RetrieveSms, 00665 // this structure defines the header of incoming 00666 // SMS messages. Most of the data items are 00667 // defined in the CDMA specification and are not 00668 // explained here. The enumerated types are 00669 // described following this structure. 00670 // 00671 // Members: sizeStruct - size of this structure 00672 // 00673 // eParamMask - Parameter Mask indicating which of the below fields 00674 // are valid. See SWI_TYPE_SMS_ParamMask. 00675 // 00676 // eMsgCategory - Message Category 00677 // See SWI_TYPE_SMS_MsgCategory 00678 // 00679 // eTeleservice - Message Teleservice 00680 // See SWI_TYPE_SMS_Teleservice 00681 // 00682 // serviceCategory - Service Category (News, Restaraunts, etc.) 00683 // Refer to TIA/EIA-637 Section 3.4.3.2 for more detail. 00684 // 00685 // tlAckReq - Indicates if the client needs to confirm 00686 // whether the message is received successfully or not. 00687 // 00688 // eMsgIdType - Message ID Type 00689 // See SWI_TYPE_SMS_MsgIdType 00690 // 00691 // addrDigitMode - Address Digit Mode 00692 // 00693 // addrNumMode - Address number mode 00694 // 00695 // addrNumType - Address number type 00696 // 00697 // addrNumPlan - Address number plan 00698 // 00699 // addrLen - Length of Address 00700 // 00701 // szAddress - Destination address if we are sending out a MO SMS 00702 // Origination address if we are retrieving a MT SMS 00703 // 00704 // subType - Sub address type 00705 // 00706 // subOdd - Sub Address Odd byte 00707 // 00708 // subLen - Length of the sub-address 00709 // 00710 // szSubAddress - Destination sub-address if we are sending out a MO SMS 00711 // Origination sub-address if we are retrieving a MT SMS 00712 // 00713 // callBackLen - Length of the Callback number 00714 // 00715 // szCallBack - String containing the Call Back number with a 32 maximum characters 00716 // 00717 // ePriority - Message Priority 00718 // See SWI_TYPE_SMS_Priority 00719 // 00720 // ePrivacy - Message Privacy Level 00721 // See SWI_TYPE_SMS_Privacy 00722 // 00723 // eLanguage - Message Language 00724 // See SWI_TYPE_SMS_Language 00725 // 00726 // user_ack_req - Specify whether user Acknowledgement is required 00727 // True/False 00728 // 00729 // dak_req - Specify whether delivery acknowledge is required. 00730 // 00731 // userResp - User Response Code 00732 // 00733 // szNumMsg - Number of Voice messages (SMSI_VMN_95) on the network 00734 // 00735 // deliveryAlert - Alert on Delivery 00736 // 00737 // dataEncoding - Message Body Data Encoding. 00738 // Refer to SWI_TYPE_SMS_DataEncodeType. 00739 // 00740 // ts_yr - Time Stamp Year - the value is presented in decimal format. 00741 // 00742 // ts_mon - Time Stamp Month - the value is presented in hexadecimal format. 00743 // E.g. December will be interpreted as 0x12 00744 // 00745 // ts_day - Time Stamp Day- the value is presented in hexadecimal format. 00746 // E.g. 30th will be interpreted as 0x30. 00747 // 00748 // ts_hrs - Time Stamp Hour - the value is presented in hexadecimal format. 00749 // E.g. eleven o'clock is presented as 0x0x11. 00750 // Represented in 24-hour time. 00751 // 00752 // ts_min - Time Stamp Minute - the value is presented in hexadecimal format. 00753 // E.g. thirty minute is presented as 0x30. 00754 // 00755 // ts_sec - Time Stamp Second - the value is presented in hexadecimal format. 00756 // E.g. thirty minute is presented as 0x30. 00757 // 00758 // abVal_yr - Absolute Validity Year - the value is presented in decimal format. 00759 // 00760 // abVal_mon - Absolute Validity Month - the value is presented in hexadecimal format. 00761 // E.g. December will be interpreted as 0x12. 00762 // 00763 // abVal_day - Absolute Validity Day- the value is presented in hexadecimal format. 00764 // E.g. 30th will be interpreted as 0x30. 00765 // 00766 // abVal_hrs - Absolute Validity Hour - the value is presented in hexadecimal format. 00767 // E.g. eleven o'clock is presented as 0x0x11. 00768 // Represented in 24-hour time. 00769 // 00770 // abVal_min - Absolute Validity Minute - the value is presented in hexadecimal format. 00771 // Thus, thirty minute is presented as 0x30. 00772 // 00773 // abVal_sec - Absolute Validity Second - the value is presented in hexadecimal format. 00774 // E.g. thirty minute is presented as 0x30. 00775 // 00776 // relVal_time - Relative Validity Time of a SMS transmission. 00777 // See TIA/EIA 637-A Section 4.5.6 for more detail. 00778 // 00779 // abDef_yr - Absolute Delivery Deferral Year - the value is presented in decimal format. 00780 // 00781 // abDef_mon - Absolute Delivery Deferral Month - the value is presented in hexadecimal format. 00782 // E.g. December will be interpreted as 0x12. 00783 // 00784 // abDef_day - Absolute Delivery Deferral Day - the value is presented in hexadecimal format. 00785 // E.g. 30th will be interpreted as 0x30. 00786 // 00787 // abDef_hrs - Absolute Delivery Deferral Hour - the value is presented in hexadecimal format. 00788 // E.g. eleven o'clock is presented as 0x0x11. 00789 // Represented in 24-hour time. 00790 // 00791 // abDef_min - Absolute Delivery Deferral Minute - the value is presented in hexadecimal format. 00792 // E.g. thirty minute is presented as 0x30. 00793 // 00794 // abDef_sec - Absolute Delivery Deferral Second - the value is presented in hexadecimal format. 00795 // E.g. thirty minute is presented as 0x30. 00796 // 00797 // relDef_time - Relative Delivery Deferral Time of a SMS transmission. 00798 // See Reference 1 Section 4.5.8 for more detail. 00799 // 00800 // eMsgDispMode - Message Display Mode: 00801 // See SWI_TYPE_SMS_MsgDispMode 00802 // 00803 // Notes: 00804 // 00806 struct SWI_STRUCT_SMS_CdmaHeader 00807 { 00808 U32 sizeStruct; 00809 SWI_TYPE_SMS_ParamMask eParamMask; 00810 SWI_TYPE_SMS_MsgCategory eMsgCategory; 00811 SWI_TYPE_SMS_Teleservice eTeleservice; 00812 U16 serviceCategory; 00813 U8 tlAckReq; 00814 SWI_TYPE_SMS_MsgIdType eMsgIdType; 00815 U8 addrDigitMode; 00816 U8 addrNumMode; 00817 U8 addrNumType; 00818 U8 addrNumPlan; 00819 U8 addrLen; 00820 WCHAR szAddress[MAX_SMSI_TL_ADDRESS]; 00821 U8 subType; 00822 U8 subOdd; 00823 U8 subLen; 00824 WCHAR szSubAddress[MAX_SMSI_TL_ADDRESS]; 00825 U8 callBackLen; 00826 WCHAR szCallBack[MAX_SMSI_CALL_BACK]; 00827 SWI_TYPE_SMS_Priority ePriority; 00828 SWI_TYPE_SMS_Privacy ePrivacy; 00829 SWI_TYPE_SMS_Language eLanguage; 00830 U8 user_ack_req; 00831 U8 dak_req; 00832 U8 userResp; 00833 WCHAR szNumMsg[2]; 00834 U8 deliveryAlert; 00835 SWI_TYPE_SMS_DataEncodeType dataEncoding; 00836 U8 ts_yr; 00837 U8 ts_mon; 00838 U8 ts_day; 00839 U8 ts_hrs; 00840 U8 ts_min; 00841 U8 ts_sec; 00842 U8 abVal_yr; 00843 U8 abVal_mon; 00844 U8 abVal_day; 00845 U8 abVal_hrs; 00846 U8 abVal_min; 00847 U8 abVal_sec; 00848 U8 relVal_time; 00849 U8 abDef_yr; 00850 U8 abDef_mon; 00851 U8 abDef_day; 00852 U8 abDef_hrs; 00853 U8 abDef_min; 00854 U8 abDef_sec; 00855 U8 relDef_time; 00856 SWI_TYPE_SMS_MsgDispMode eMsgDispMode; 00857 }; 00858 00860 // 00861 // Name: SWI_STRUCT_CDMA_SMS_RetrieveSms - SMS Retrieve structure 00862 // 00863 // Purpose: This structure is used to provide input to, and 00864 // receive output from the SwiRetrieveSMSMessage function. 00865 // 00866 // Members: sizeStruct - size of this structure 00867 // 00868 // sHeader - The SMS header for this message. 00869 // 00870 // nSMSId - The message ID number assigned by 00871 // the network. 00872 // 00873 // cntRemainingSMS - The number of SMS 00874 // messages remaining in the modem (all three 00875 // queues combined). 00876 // 00877 // pMessage - A pointer provided by the application 00878 // in which to place the body of the SMS 00879 // message. 00880 // 00881 // sizeBuffer - The length in bytes of the buffer 00882 // supplied to receive the body of the SMS message. 00883 // This should be based on the maximum size of 00884 // message supported by the network. The API 00885 // currently supports up to 240 bytes, although 00886 // most networks limit this to a lower value. 00887 // retrievedStatus For future use; ignore. 00888 // On return , this parameter will be set to the 00889 // no. of bytes copied into the pMessage buffer 00890 // 00891 // Notes: None 00892 // 00894 struct SWI_STRUCT_CDMA_SMS_RetrieveSms 00895 { 00896 U32 sizeStruct; 00897 bool bUnreadSMS; // Not used 00898 SWI_STRUCT_SMS_CdmaHeader sHeader; 00899 U16 nSMSId; 00900 U32 cntRemainingSMS; 00901 U8 *pMessage; 00902 U32 sizeBuffer; 00903 U32 retrievedStatus; // Not used 00904 }; 00905 00906 struct SWI_STRUCT_SMS_RetrieveVBSms 00907 { 00908 U32 sizeStruct; 00909 bool bUnreadSMS; // Not used 00910 SWI_STRUCT_SMS_CdmaHeader sHeader; 00911 U16 nSMSId; 00912 U32 cntRemainingSMS; 00913 WCHAR pMessage[1024]; 00914 U32 sizeBuffer; 00915 U32 retrievedStatus; // Not used 00916 }; 00917 00919 // 00920 // Name: SWI_STRUCT_CDMA_SMS_SendStatus - SMS Send Status notification data structure 00921 // 00922 // Purpose: This data structure is used as a member of the notification 00923 // SWI_NOTIFY_SmsSendStatus. Refer to the description of 00924 // SWI_NOTIFY_SmsSendStatus for more detail. 00925 // 00926 // Members: sizeStruct - size of this structure 00927 // nMsgID - Message ID of the corresponding SMS 00928 // that had been sent 00929 // eErrorClass - Error type. See 00930 // SWI_TYPE_SMS_ErrorClass for details. 00931 // eCauseCode - Error cause code. See 00932 // SWI_TYPE_SMS_CauseCode for details. 00933 // 00934 // Notes: None. 00935 // 00937 struct SWI_STRUCT_CDMA_SMS_SendStatus 00938 { 00939 U32 sizeStruct; 00940 U32 nMsgID; 00941 SWI_TYPE_SMS_ErrorClass eErrorClass; 00942 SWI_TYPE_SMS_CauseCode eCauseCode; 00943 }; 00944 00945 00947 // 00948 // Name: SWI_STRUCT_CDMA_SMS_StoreSms - Structure used to store SMS 00949 // 00950 // Purpose: This structure is used to provide input to the 00951 // SwiStoreCdmaSMSMessage function. 00952 // 00953 // Members: sizeStruct - size of this structure 00954 // 00955 // nSMSId - This is a unique identifer set by the 00956 // application. The onus is on the application to 00957 // ensure message IDs are not duplicated. This ID 00958 // is used to report the status of sent messages via 00959 // SWI_NOTIFY_SmsSendStatus. 00960 // 00961 // sSMSHeader - The SMS header for this 00962 // message, as described on page 52. 00963 // 00964 // pMsgBody - The body of the SMS message. The 00965 // true length is stored in another field (limited to 00966 // 240 bytes by the API). 00967 // 00968 // sizeSMSBody - The length of the message body 00969 // in bytes up to 240, or a lower limit imposed by 00970 // your service provider. 00971 // 00972 // bStoreStatus - For future use; ignore. 00973 // 00974 // Notes: None 00975 // 00977 struct SWI_STRUCT_CDMA_SMS_StoreSms 00978 { 00979 U32 sizeStruct; 00980 U16 nSMSId; 00981 SWI_STRUCT_SMS_CdmaHeader sSMSHeader; 00982 U8 *pMsgBody; 00983 U32 sizeSMSBody; 00984 U32 bStoreStatus; 00985 }; 00986 00987 struct SWI_STRUCT_SMS_StoreVBSms 00988 { 00989 U32 sizeStruct; 00990 U16 nSMSId; 00991 SWI_STRUCT_SMS_CdmaHeader sSMSHeader; 00992 WCHAR pMsgBody[1024]; 00993 U32 sizeSMSBody; 00994 U32 bStoreStatus; 00995 }; 00996 00998 // 00999 // Connection Management 01000 // 01002 01004 // 01005 // Name: SWI_TYPE_CDMA_CallType - Call Type enumeration 01006 // 01007 // Purpose: The call type is used for various call management notifications. 01008 // 01009 // Members: SWI_CALL_TYPE_Voice - Standard voice call and originating an 01010 // OTASP call. Used by both AirCard 555 and 01011 // SB555 products for originating a voice call. 01012 // 01013 // SWI_CALL_TYPE_VoiceAlert - Call waiting (Incoming only) 01014 // 01015 // SWI_CALL_TYPE_AsyncData - Asynchronous Data. Used by the AirCards 01016 // for originating a QNC data call. 01017 // 01018 // SWI_CALL_TYPE_PacketData - Packet Data. Used by the AirCards for 01019 // originating a 1xRTT packet data connection. 01020 // 01021 // SWI_CALL_TYPE_Fax - Fax. Standard G3 facsimile call. 01022 // 01023 // SWI_CALL_TYPE_Sms - SMS. Not used for application originated calls. 01024 // This indicates the connection being made is for 01025 // SMS transactions. 01026 // 01027 // SWI_CALL_TYPE_Test - Test (not used) 01028 // 01029 // SWI_CALL_TYPE_Otapa - OTAPA. A call from a special number to 01030 // update network settings in the modem. 01031 // (Incoming only) 01032 // 01033 // SWI_CALL_TYPE_StandardOtasp - Standard OTASP. Not used in call origination 01034 // or termination (answering). When OTASP is 01035 // established a voice call may change to this type. 01036 // 01037 // SWI_CALL_TYPE_NonstandardOtasp 01038 // - Nonstandard OTASP (not used) 01039 // 01040 // SWI_CALL_TYPE_E911 - E911. An emergency mode call. 01041 // 01042 // SWI_CALL_TYPE_EVDO - EVDO call 01043 // 01044 // SWI_CALL_TYPE_None - Call Type None - (not used) 01045 // 01046 // Notes: None 01047 // 01049 enum SWI_TYPE_CDMA_CallType 01050 { 01051 SWI_CALL_TYPE_Voice = 0x0000, 01052 SWI_CALL_TYPE_VoiceAlert = 0x0100, 01053 SWI_CALL_TYPE_AsyncData = 0x0001, 01054 SWI_CALL_TYPE_PacketData = 0x0101, 01055 SWI_CALL_TYPE_Fax = 0x0201, 01056 SWI_CALL_TYPE_Sms = 0x0002, 01057 SWI_CALL_TYPE_Test = 0x0003, 01058 /* pre 3.1qc 01059 SWI_CALL_TYPE_Otapa = 0x0004, 01060 SWI_CALL_TYPE_StandardOtasp = 0x0005, 01061 SWI_CALL_TYPE_NonstandardOtasp = 0x0006, 01062 SWI_CALL_TYPE_E911 = 0x0007, 01063 */ 01064 SWI_CALL_TYPE_Otapa = 0x0005, 01065 SWI_CALL_TYPE_StandardOtasp = 0x0006, 01066 SWI_CALL_TYPE_NonstandardOtasp = 0x0007, 01067 SWI_CALL_TYPE_E911 = 0x0008, 01068 SWI_CALL_TYPE_EVDO = 0x0009, 01069 SWI_CALL_TYPE_None = 0xffff 01070 }; 01071 01073 // 01074 // Name: SWI_TYPE_CDMA_CallState - Call State enumeration 01075 // 01076 // Purpose: This enumeration type identifies the elements of 01077 // a bit-mapped call state. More than one bit can be 01078 // set at one time. 01079 // 01080 // Members: SWI_CALL_STATE_Idle - No call 01081 // SWI_CALL_STATE_CnsAsyncData - Async Data call 01082 // SWI_CALL_STATE_VoiceCall - Voice call 01083 // SWI_CALL_STATE_Packet - Packet 1xRtt call 01084 // 01085 // SWI_CALL_STATE_AtAsyncData - Async Data call (via AT cmds) 01086 // SWI_CALL_STATE_AtVoiceCall - Voice call (via AT cmds) 01087 // SWI_CALL_STATE_AtPacket - Packet 1xRtt call (via AT cmds) 01088 // 01089 // SWI_CALL_STATE_Fax - Fax call 01090 // SWI_CALL_STATE_Sms - SMS 01091 // SWI_CALL_STATE_OTA - OTA 01092 // SWI_CALL_STATE_Test - not used 01093 // SWI_CALL_STATE_Cw 01094 // SWI_CALL_STATE_NotUsed - not used 01095 // 01096 // SWI_CALL_STATE_Dormant - Data connection is in dormant state 01097 // 01098 // SWI_CALL_STATE_Emergency - An emergency (E911) call 01099 // 01100 // Notes: For descriptions on the meaning of the various states, 01101 // see SWI_TYPE_CDMA_CallType. 01102 // 01104 enum SWI_TYPE_CDMA_CallState 01105 { 01106 SWI_CALL_STATE_Idle = 0x0000, 01107 SWI_CALL_STATE_CnsAsyncData = 0x0001, 01108 SWI_CALL_STATE_VoiceCall = 0x0002, 01109 SWI_CALL_STATE_Packet = 0x0004, 01110 SWI_CALL_STATE_AtAsyncData = 0x0010, 01111 SWI_CALL_STATE_AtVoiceCall = 0x0020, 01112 SWI_CALL_STATE_AtPacket = 0x0040, 01113 SWI_CALL_STATE_Fax = 0x0080, 01114 SWI_CALL_STATE_Sms = 0x0200, 01115 SWI_CALL_STATE_OTA = 0x0400, 01116 SWI_CALL_STATE_Test = 0x0800, 01117 SWI_CALL_STATE_Cw = 0x1000, 01118 SWI_CALL_STATE_NotUsed = 0x2000, 01119 SWI_CALL_STATE_Dormant = 0x4000, 01120 SWI_CALL_STATE_Emergency = 0x8000 01121 }; 01122 01124 // 01125 // Name: SWI_TYPE_EndReason - Reason for call termination 01126 // 01127 // Purpose: This reports the reason a call is disconnected 01128 // 01129 // Members: SWI_END_REASON_Offline - Phone is offline 01130 // 01131 // SWI_END_REASON_CdmaLockedUntilPowerCycle 01132 // - Phone is CDMA locked until power-cycle 01133 // 01134 // SWI_END_REASON_NoService 01135 // - Phone has no service 01136 // 01137 // SWI_END_REASON_CallEndedAbnormally 01138 // - Call has ended abnormally 01139 // 01140 // SWI_END_REASON_ReceivedInterceptFromBs 01141 // - Received intercept from BS (Orig. only) 01142 // 01143 // SWI_END_REASON_ReceivedReorderFromBs 01144 // - Received release from BS (Orig. only) 01145 // 01146 // SWI_END_REASON_ReceivedReleaseFromBsNoReason 01147 // - Received release from BS - no reason given 01148 // 01149 // SWI_END_REASON_ReceivedInterceptFromBsSoReject 01150 // - Received release from BS - SO reject 01151 // 01152 // SWI_END_REASON_ReceivedIncomingCallFromBs 01153 // - Received incoming call from BS 01154 // 01155 // SWI_END_REASON_ReceivedAlertStopFromBs 01156 // - Received alert stop from BS (incoming only) 01157 // 01158 // SWI_END_REASON_ClientEndedCall 01159 // - Client ended the call 01160 // 01161 // SWI_END_REASON_ReceivedEndActivation 01162 // - Received end activation (OTASP call only) 01163 // 01164 // SWI_END_REASON_McAborts 01165 // - Obsolete 01166 // 01167 // SWI_END_REASON_NdssFailure 01168 // - NDSS failure 01169 // 01170 // SWI_END_REASON_MaxAccessProbesTransmitted 01171 // - Max access probes transmitted 01172 // 01173 // SWI_END_REASON_PersistenceTestFailure 01174 // - Persistence test failure 01175 // 01176 // SWI_END_REASON_RuimNotPresent 01177 // - RUIM not present 01178 // 01179 // SWI_END_REASON_AccessAttemptAlreadyInProgress 01180 // - Access attempt already in progress 01181 // 01182 // SWI_END_REASON_AccessFailureReasonUnspecified 01183 // - Access failure for reason other than the above reason 01184 // 01185 // SWI_END_REASON_ReceivedRetryOrder 01186 // - Received retry order (Orig. only) 01187 // 01188 // Notes: None 01189 // 01191 enum SWI_TYPE_EndReason 01192 { 01193 SWI_END_REASON_Offline, 01194 SWI_END_REASON_CdmaLockedUntilPowerCycle, 01195 SWI_END_REASON_NoService, 01196 SWI_END_REASON_CallEndedAbnormally, 01197 SWI_END_REASON_ReceivedInterceptFromBs, 01198 SWI_END_REASON_ReceivedReorderFromBs, 01199 SWI_END_REASON_ReceivedReleaseFromBsNoReason, 01200 SWI_END_REASON_ReceivedInterceptFromBsSoReject, 01201 SWI_END_REASON_ReceivedIncomingCallFromBs, 01202 SWI_END_REASON_ReceivedAlertStopFromBs, 01203 SWI_END_REASON_ClientEndedCall, 01204 SWI_END_REASON_ReceivedEndActivation, 01205 SWI_END_REASON_McAborts, 01206 SWI_END_REASON_NdssFailure, 01207 SWI_END_REASON_MaxAccessProbesTransmitted, 01208 SWI_END_REASON_PersistenceTestFailure, 01209 SWI_END_REASON_RuimNotPresent, 01210 SWI_END_REASON_AccessAttemptAlreadyInProgress, 01211 SWI_END_REASON_AccessFailureReasonUnspecified, 01212 SWI_END_REASON_ReceivedRetryOrder 01213 }; 01214 01216 // 01217 // Name: SWI_TYPE_CallSource - Call Source (AT Cmds or API) enumeration 01218 // 01219 // Purpose: This enumerates the call source options which identify if a call 01220 // was connected using AT commands or using the CnS 01221 // protocol (used by the API). 01222 // 01223 // Members: SWI_CALL_SOURCE_At - AT Commands 01224 // SWI_CALL_SOURCE_Cns - CNS (API) 01225 // 01226 // Notes: None 01227 // 01229 enum SWI_TYPE_CallSource 01230 { 01231 SWI_CALL_SOURCE_At, 01232 SWI_CALL_SOURCE_Cns 01233 }; 01234 01236 // 01237 // Name: SWI_TYPE_PhoneKey - Dialpad keys enumeration 01238 // 01239 // Purpose: This enumeration type identifies the dial pad keys. 01240 // 01241 // Members: SWI_PHONE_KEY_Pound - '#' key, ASCII '#' 01242 // SWI_PHONE_KEY_Star - '*' key, ASCII '*' 01243 // SWI_PHONE_KEY_0 - '0' key, ASCII '0' 01244 // SWI_PHONE_KEY_1 - '1' key, ASCII '1' 01245 // SWI_PHONE_KEY_2 - '2' key, ASCII '2' 01246 // SWI_PHONE_KEY_3 - '3' key, ASCII '3' 01247 // SWI_PHONE_KEY_4 - '4' key, ASCII '4' 01248 // SWI_PHONE_KEY_5 - '5' key, ASCII '5' 01249 // SWI_PHONE_KEY_6 - '6' key, ASCII '6' 01250 // SWI_PHONE_KEY_7 - '7' key, ASCII '7' 01251 // SWI_PHONE_KEY_8 - '8' key, ASCII '8' 01252 // SWI_PHONE_KEY_9 - '9' key, ASCII '9' 01253 // SWI_PHONE_KEY_Send - Send key 01254 // SWI_PHONE_KEY_End - End key or Power key (Based on Target) 01255 // SWI_PHONE_KEY_Clear - Clear key 01256 // SWI_PHONE_KEY_Store - Store key 01257 // SWI_PHONE_KEY_Up - Up-arrow key was pressed 01258 // SWI_PHONE_KEY_Down - Down-arrow key was pressed 01259 // SWI_PHONE_KEY_Mute - Mute Key 01260 // SWI_PHONE_KEY_Recall - Recall key 01261 // 01262 // Notes: Only digit keys 0-9, #, and * have any real use (i.e., DTMF tones 01263 // are played accordingly) 01264 // 01265 // Command keys (Send, End, Recall, etc) have no effect and are not 01266 // used 01267 // 01269 enum SWI_TYPE_PhoneKey 01270 { 01271 SWI_PHONE_KEY_Pound = 0x23, 01272 SWI_PHONE_KEY_Star = 0x2A, 01273 SWI_PHONE_KEY_0 = 0x30, 01274 SWI_PHONE_KEY_1 = 0x31, 01275 SWI_PHONE_KEY_2 = 0x32, 01276 SWI_PHONE_KEY_3 = 0x33, 01277 SWI_PHONE_KEY_4 = 0x34, 01278 SWI_PHONE_KEY_5 = 0x35, 01279 SWI_PHONE_KEY_6 = 0x36, 01280 SWI_PHONE_KEY_7 = 0x37, 01281 SWI_PHONE_KEY_8 = 0x38, 01282 SWI_PHONE_KEY_9 = 0x39, 01283 SWI_PHONE_KEY_Send = 0x50, 01284 SWI_PHONE_KEY_End = 0x51, 01285 SWI_PHONE_KEY_Clear = 0x52, 01286 SWI_PHONE_KEY_Store = 0x53, 01287 SWI_PHONE_KEY_Up = 0x54, 01288 SWI_PHONE_KEY_Down = 0x55, 01289 SWI_PHONE_KEY_Mute = 0x56, 01290 SWI_PHONE_KEY_Recall = 0x57 01291 }; 01292 01294 // 01295 // Name: SWI_TYPE_FlashContext - Flash Context enumeration 01296 // 01297 // Purpose: Values for use with the SwiSetCallFlashCmd function. 01298 // 01299 // Members: SWI_FLASH_CONTEXT_DontCare - Don’t Care This passes the call 01300 // number to the call manager without checking that the 01301 // flash command is valid in the present call state. Use 01302 // this context when you want manual control over 01303 // the flash command. If enabled, the [CallError] 01304 // notifications are sent if the flash is invoked in an 01305 // inappropriate call state. 01306 // SWI_FLASH_CONTEXT_CallWaiting 01307 // - Call Waiting This indicates to the call manager 01308 // that the flash is for servicing a waiting call. 01309 // When first invoked, it puts the current call on 01310 // hold and connects the second call that is waiting. 01311 // hold and connects the second call that is waiting. 01312 // original call and holds the second call. 01313 // SWI_FLASH_CONTEXT_ThreewaySetup 01314 // - Threeway Setup This indicates to the call 01315 // manager that the flash is for setting up a threeway 01316 // call. A call number must be provided or 01317 // else an error message will be returned as the 01318 // response. This context sends two flashes to the 01319 // base station, the first without a phone number 01320 // and the second with a phone number. 01321 // SWI_FLASH_CONTEXT_ThreewayConnect 01322 // - Threeway Connect This indicates to the call 01323 // manager that the flash is to connect all three 01324 // parties. For this context, a call number must not 01325 // be provided, otherwise an error message is 01326 // returned as the response. Use the Don't Care 01327 // flash context with an empty call number to 01328 // disconnect the last connected party. 01329 // SWI_FLASH_CONTEXT_AnswerHold 01330 // - Answer Hold Not implemented. 01331 // SWI_FLASH_CONTEXT_AnswerForward 01332 // - Answer Forward Not implemented. 01333 // 01334 // Notes: SWI_FLASH_CONTEXT_DontCare can be typically used for all 01335 // scenarios. 01336 // 01338 enum SWI_TYPE_FlashContext 01339 { 01340 SWI_FLASH_CONTEXT_DontCare = 0x0000, 01341 SWI_FLASH_CONTEXT_CallWaiting = 0x0001, 01342 SWI_FLASH_CONTEXT_ThreewaySetup = 0x0002, 01343 SWI_FLASH_CONTEXT_ThreewayConnect = 0x0003, 01344 SWI_FLASH_CONTEXT_AnswerHold = 0x0004, 01345 SWI_FLASH_CONTEXT_AnswerForward = 0x0005, 01346 }; 01347 01349 // 01350 // Name: SWI_TYPE_AnswerState - Answer State enumeration 01351 // 01352 // Purpose: The modes of operation the modem uses to 01353 // determine how to answer the next incoming 01354 // voice call. 01355 // 01356 // Parameters: SWI_ANSWER_STATE_VoiceAsVoice 01357 // - Answer voice as voice 01358 // SWI_ANSWER_STATE_VoiceAsFaxOnce, 01359 // - Answer voice as fax once 01360 // (for the next 10 minutes) 01361 // SWI_ANSWER_STATE_VoiceAsFaxAlways, 01362 // - Answer voice as fax always 01363 // SWI_ANSWER_STATE_VoiceAsModemOnce, 01364 // - Answer voice as modem once 01365 // (for the next 10 minutes) 01366 // SWI_ANSWER_STATE_VoiceAsModemAlways 01367 // - Answer voice as modem always 01368 // 01369 // Notes: None 01370 // 01372 enum SWI_TYPE_AnswerState 01373 { 01374 SWI_ANSWER_STATE_VoiceAsVoice, 01375 SWI_ANSWER_STATE_VoiceAsFaxOnce, 01376 SWI_ANSWER_STATE_VoiceAsFaxAlways, 01377 SWI_ANSWER_STATE_VoiceAsModemOnce, 01378 SWI_ANSWER_STATE_VoiceAsModemAlways 01379 }; 01380 01382 // 01383 // Service Status 01384 // 01386 01388 // 01389 // Name: SWI_STRUCT_ChannelNumber - Channel # notification data structure 01390 // 01391 // Purpose: This data structure is used as a member of the notification 01392 // SWI_NOTIFY_ChannelNumber. Refer to the description of 01393 // SWI_NOTIFY_ChannelNumber for more detail. 01394 // 01395 // Members: sizeStruct - size of this structure 01396 // nChannelNumber - Channel # 01397 // 01398 // Notes: Consult the reference for SwiGetChannelNumber 01399 // for details on the value nChannelNumber. 01400 // 01402 struct SWI_STRUCT_ChannelNumber 01403 { 01404 U32 sizeStruct; 01405 U32 nChannelNumber; 01406 }; 01407 01409 // 01410 // Name: SWI_TYPE_ChannelState - channel state 01411 // 01412 // Purpose: This enumerates the channel state 01413 // 01414 // Members: SWI_CHANNEL_Aquired - acquired 01415 // 01416 // SWI_CHANNEL_Sleep - sleep 01417 // 01418 // SWI_CHANNEL_Scan - scan 01419 // 01420 // Notes: None 01421 // 01423 enum SWI_TYPE_ChannelState 01424 { 01425 SWI_CHANNEL_Sleep = 0, // sleep 01426 SWI_CHANNEL_Aquired = 1, // aquired 01427 SWI_CHANNEL_Scan = 5 // scan 01428 }; 01429 01431 // 01432 // Name: SWI_STRUCT_ChannelState - Channel State notification data structure 01433 // 01434 // Purpose: This data structure is used as a member of the notification 01435 // SWI_NOTIFY_ChannelState. Refer to the description of 01436 // SWI_NOTIFY_ChannelState for more detail. 01437 // 01438 // Members: sizeStruct - size of this structure 01439 // eChannelState - Channel state. See 01440 // SWI_TYPE_ChannelState for details. 01441 // 01442 // Notes: None. 01443 // 01445 struct SWI_STRUCT_ChannelState 01446 { 01447 U32 sizeStruct; 01448 SWI_TYPE_ChannelState eChannelState; 01449 }; 01450 01452 // 01453 // Name: SWI_TYPE_TechBandClass - Bandclass enumeration 01454 // 01455 // Purpose: The data enumerates as either cellular or PCS. 01456 // 01457 // Members: SWI_TECH_BANDCLASS_Cellular - Cellular 01458 // SWI_TECH_BANDCLASS_Pcs - PCS 01459 // 01460 // Notes: None. 01461 // 01463 enum SWI_TYPE_TechBandClass 01464 { 01465 SWI_TECH_BANDCLASS_Cellular, 01466 SWI_TECH_BANDCLASS_Pcs 01467 }; 01468 01470 // 01471 // Name: SWI_STRUCT_TechBandClass - Bandclass notification data structure 01472 // 01473 // Purpose: This data structure is used as a member of the notification 01474 // SWI_NOTIFY_TechBandClass. Refer to the description of 01475 // SWI_NOTIFY_TechBandClass for more detail. 01476 // 01477 // Members: sizeStruct - size of this structure 01478 // eBandClass - Bandclass. See 01479 // SWI_TYPE_TechBandClass for details. 01480 // 01481 // Notes: None. 01482 // 01484 struct SWI_STRUCT_TechBandClass 01485 { 01486 U32 sizeStruct; 01487 SWI_TYPE_TechBandClass eBandClass; 01488 }; 01489 01491 // 01492 // Name: SWI_TYPE_ServiceIndication - service indication enumeration 01493 // 01494 // Purpose: This enumeration contains the service indication states. 01495 // 01496 // Members: SWI_SERVICE_INDICATION_None - no service 01497 // 01498 // SWI_SERVICE_INDICATION_Analog - analog 01499 // 01500 // SWI_SERVICE_INDICATION_Digital - digital 01501 // 01502 // Notes: None 01503 // 01505 enum SWI_TYPE_ServiceIndication 01506 { 01507 SWI_SERVICE_INDICATION_None, 01508 SWI_SERVICE_INDICATION_Analog, 01509 SWI_SERVICE_INDICATION_Digital 01510 }; 01511 01513 // 01514 // Name: SWI_STRUCT_ServiceIndication - Service indication notification 01515 // data structure 01516 // 01517 // Purpose: This data structure is used as a member of the notification 01518 // SWI_NOTIFY_ServiceIndication. Refer to the description of 01519 // SWI_NOTIFY_ServiceIndication for more detail. 01520 // 01521 // Members: sizeStruct - size of this structure 01522 // eServiceIndicator - Service indication. See 01523 // SWI_TYPE_ServiceIndication for details. 01524 // 01525 // Notes: None. 01526 // 01528 struct SWI_STRUCT_ServiceIndication 01529 { 01530 U32 sizeStruct; 01531 SWI_TYPE_ServiceIndication eServiceIndicator; 01532 }; 01533 01535 // 01536 // Name: SWI_TYPE_PrevValue - Protocol Revision enumeration 01537 // 01538 // Purpose: This enumerates the protocol revision 01539 // supported by the serving base station. 01540 // 01541 // Members: SWI_PREV_VALUE_Jstd008 - Not supported 01542 // SWI_PREV_VALUE_Is95 - IS95 01543 // SWI_PREV_VALUE_Is95A - IS95A 01544 // SWI_PREV_VALUE_MinIs95B - Minimum IS95B 01545 // SWI_PREV_VALUE_FullIs95B - Full IS95B 01546 // SWI_PREV_VALUE_Cdma2000Rev0 - CDMA 2000 Rev 0 01547 // SWI_PREV_VALUE_Cdma2000Rev1 - CDMA 2000 Rev 1 01548 // 01549 // Notes: Values of 6 or 7 (Cdma2000) indicate 1xRTT 01550 // coverage is availble. Value 1 (Jstd008) is not 01551 // supported. 01552 // 01554 enum SWI_TYPE_PrevValue 01555 { 01556 SWI_PREV_VALUE_Jstd008 = 1, 01557 SWI_PREV_VALUE_Is95, 01558 SWI_PREV_VALUE_Is95A, 01559 SWI_PREV_VALUE_MinIs95B, 01560 SWI_PREV_VALUE_FullIs95B, 01561 SWI_PREV_VALUE_Cdma2000Rev0, 01562 SWI_PREV_VALUE_Cdma2000Rev1 01563 }; 01564 01566 // 01567 // Name: SWI_STRUCT_Prev - Protocol Revision notification data structure 01568 // 01569 // Purpose: This data structure is used as a member of the notification 01570 // SWI_NOTIFY_Prev. Refer to the description of 01571 // SWI_NOTIFY_Prev for more detail. 01572 // 01573 // Members: sizeStruct - size of this structure 01574 // eValue - Protocal Revision value. See 01575 // SWI_TYPE_PrevValue for details. 01576 // 01577 // Notes: None. 01578 // 01580 struct SWI_STRUCT_Prev 01581 { 01582 U32 sizeStruct; 01583 SWI_TYPE_PrevValue eValue; 01584 }; 01585 01587 // 01588 // Name: SWI_STRUCT_RoamingStatus - Roaming State notification 01589 // data structure 01590 // 01591 // Purpose: This data structure is used as a member of the notification 01592 // SWI_NOTIFY_RoamingStatus. Refer to the description of 01593 // SWI_NOTIFY_RoamingStatus for more detail. 01594 // 01595 // Members: sizeStruct - size of this structure 01596 // eRoamingStatus - Roaming status. See 01597 // SWI_TYPE_RoamingState for details. 01598 // 01599 // Notes: None. 01600 // 01602 struct SWI_STRUCT_RoamingStatus 01603 { 01604 U32 sizeStruct; 01605 SWI_TYPE_RoamingState eRoamingStatus; 01606 }; 01607 01609 // 01610 // Name: SWI_TYPE_E911Mode - Emergency 911 mode enumeration 01611 // 01612 // Purpose: This enumerates the Emergency 911 modes available 01613 // 01614 // Members: SWI_E911_MODE_Off - E911 mode off 01615 // SWI_E911_MODE_On - E911 mode on 01616 // 01617 // Notes: When in E911 mode, some modem functionality 01618 // may not be available. The modem can forced out 01619 // of E911 mode using SwiSetE911Mode. 01620 // 01622 enum SWI_TYPE_E911Mode 01623 { 01624 SWI_E911_MODE_Off, 01625 SWI_E911_MODE_On 01626 }; 01627 01629 // 01630 // Name: SWI_STRUCT_E911Mode - Emergency 911 notification data structure 01631 // 01632 // Purpose: This data structure is used as a member of the notification 01633 // SWI_NOTIFY_E911Mode. Refer to the description of 01634 // SWI_NOTIFY_E911Mode for more detail. 01635 // 01636 // Members: sizeStruct - size of this structure 01637 // eMode - Emergency 911 mode. See 01638 // SWI_TYPE_E911Mode for details. 01639 // 01640 // Notes: None. 01641 // 01643 struct SWI_STRUCT_E911Mode 01644 { 01645 U32 sizeStruct; 01646 SWI_TYPE_E911Mode eMode; 01647 }; 01648 01650 // 01651 // Call Management 01652 // 01654 01656 // 01657 // Name: SWI_STRUCT_CallByteCounter - Byte Counter notification data structure 01658 // 01659 // Purpose: This data structure is used as a member of the notification 01660 // SWI_NOTIFY_CallByteCounter. Refer to the description of 01661 // SWI_NOTIFY_CallByteCounter for more detail. 01662 // 01663 // Members: sizeStruct - size of this structure 01664 // nTxBytes - bytes transmitted 01665 // nRxBytes - bytes received 01666 // 01667 // Notes: The counters measure traffic over the local (host/ 01668 // modem) interface. The counter resets when the 01669 // call is disconnected. 01670 // 01672 struct SWI_STRUCT_CallByteCounter 01673 { 01674 U32 sizeStruct; 01675 U32 nTxBytes; 01676 U32 nRxBytes; 01677 }; 01678 01680 // 01681 // Name: SWI_STRUCT_CallConnecting - Call Connecting notification data structure 01682 // 01683 // Purpose: This data structure is used as a member of the notification 01684 // SWI_NOTIFY_CallConnecting. Refer to the description of 01685 // SWI_NOTIFY_CallConnecting for more detail. 01686 // 01687 // Members: sizeStruct - size of this structure 01688 // eType - Type of call being connected. 01689 // See SWI_TYPE_CDMA_CallType for details. 01690 // eSource - This indicates if the connection was 01691 // requested by AT command or CnS (API) 01692 // - See SWI_TYPE_CallSource for details. 01693 // szNum - Reports the standard caller ID of 01694 // incoming calls (if available from 01695 // the network). 01696 // Use SWI_NOTIFY_CallCallerID to determine 01697 // CallerID prior to connecting. 01698 // 01699 // Notes: None. 01700 // 01702 struct SWI_STRUCT_CallConnecting 01703 { 01704 U32 sizeStruct; 01705 SWI_TYPE_CDMA_CallType eType; 01706 SWI_TYPE_CallSource eSource; 01707 WCHAR szNum[LENGTH_CallNumber + 1]; 01708 }; 01709 01711 // 01712 // Name: SWI_STRUCT_CallConnected - Call Connected notification data structure 01713 // 01714 // Purpose: This data structure is used as a member of the notification 01715 // SWI_NOTIFY_CallConnected. Refer to the description of 01716 // SWI_NOTIFY_CallConnected for more detail. 01717 // 01718 // Members: sizeStruct - size of this structure 01719 // eState - Call State bit mask. 01720 // See SWI_TYPE_CDMA_CallState for details 01721 // nSo - The service option of the call. 01722 // This should be ignored. 01723 // 01724 // Notes: None. 01725 // 01727 struct SWI_STRUCT_CallConnected 01728 { 01729 U32 sizeStruct; 01730 SWI_TYPE_CDMA_CallState eState; 01731 U32 nSo; 01732 }; 01733 01735 // 01736 // Name: SWI_STRUCT_CallIncoming - Call Incoming notification data structure 01737 // 01738 // Purpose: This data structure is used as a member of the notification 01739 // SWI_NOTIFY_CallIncoming. Refer to the description of 01740 // SWI_NOTIFY_CallIncoming for more detail. 01741 // 01742 // Members: sizeStruct - size of this structure 01743 // eType - Call Incoming call type. 01744 // See SWI_TYPE_CDMA_CallType for details 01745 // 01746 // Notes: None. 01747 // 01749 struct SWI_STRUCT_CallIncoming 01750 { 01751 U32 sizeStruct; 01752 SWI_TYPE_CDMA_CallType eType; 01753 }; 01754 01756 // 01757 // Name: SWI_STRUCT_CallCallerID - Caller ID notification data structure 01758 // 01759 // Purpose: This data structure is used as a member of the notification 01760 // SWI_NOTIFY_CallCallerID. Refer to the description of 01761 // SWI_NOTIFY_CallCallerID for more detail. 01762 // 01763 // Members: sizeStruct - size of this structure 01764 // szNum - Caller ID string 01765 // 01766 // Notes: The Caller ID string is provided by the network. 01767 // 01769 struct SWI_STRUCT_CallCallerID 01770 { 01771 U32 sizeStruct; 01772 WCHAR szNum[LENGTH_CallNumber + 1]; 01773 }; 01774 01776 // 01777 // Name: SWI_STRUCT_CallExtendedCallerID - Extended Caller ID notification 01778 // data structure 01779 // 01780 // Purpose: This data structure is used as a member of the notification 01781 // SWI_NOTIFY_CallExtendedCallerID. Refer to the description of 01782 // SWI_NOTIFY_CallExtendedCallerID for more detail. 01783 // 01784 // Members: sizeStruct - size of this structure 01785 // szNum - Extended Caller ID string 01786 // 01787 // Notes: The Extended Caller ID string is provided by the network. 01788 // 01790 struct SWI_STRUCT_CallExtendedCallerID 01791 { 01792 U32 sizeStruct; 01793 WCHAR szNum[LENGTH_CallExtendedNumber + 1]; 01794 }; 01795 01797 // 01798 // Name: SWI_STRUCT_CallDisconnected - Call Disconnected notification 01799 // data structure 01800 // 01801 // Purpose: This data structure is used as a member of the notification 01802 // SWI_NOTIFY_CallDisconnected. Refer to the description of 01803 // SWI_NOTIFY_CallDisconnected for more detail. 01804 // 01805 // Members: sizeStruct - size of this structure 01806 // eState - Call State bit mask. 01807 // See SWI_TYPE_CDMA_CallState for details. 01808 // eReason - The reason the call was disconnected. 01809 // See SWI_TYPE_EndReason for details. 01810 // 01811 // Notes: None. 01812 // 01814 struct SWI_STRUCT_CallDisconnected 01815 { 01816 U32 sizeStruct; 01817 SWI_TYPE_CDMA_CallState eState; 01818 SWI_TYPE_EndReason eReason; 01819 }; 01820 01822 // 01823 // Name: SWI_TYPE_CDMA_CallError - Call Error enumeration 01824 // 01825 // Purpose: This enumerates the call errors provided by the notification 01826 // SWI_NOTIFY_CallError. 01827 // 01828 // Members: SW_CALL_ERROR_None - No errors found 01829 // 01830 // SW_CALL_ERROR_InvalidClientID 01831 // - Invalid client ID - null or not initialized 01832 // 01833 // SW_CALL_ERROR_BadCallTypeParameter 01834 // - Bad call type parameter 01835 // 01836 // SW_CALL_ERROR_BadServiceTypeParameter 01837 // - Bad service type parameter 01838 // 01839 // SW_CALL_ERROR_BadServiceOptionParameter 01840 // - Bad service option parameter 01841 // 01842 // SW_CALL_ERROR_ExpectingNumber 01843 // - Expecting a number to be provided via the number parameter 01844 // 01845 // SW_CALL_ERROR_NumberLengthGreaterThanZeroBufferNull 01846 // - Number length is > 0, but number buffer points to NULL 01847 // 01848 // SW_CALL_ERROR_InvalidDigitsNumberBuffer 01849 // - Invalid digits found in number buffer 01850 // 01851 // SW_CALL_ERROR_OutOfRangeNumberLength 01852 // - Out of range value found in number length field 01853 // 01854 // SW_CALL_ERROR_AlphaLengthGreaterThanZeroBufferNull 01855 // - Alpha length is > 0, but alpha buffer points to NULL 01856 // 01857 // SW_CALL_ERROR_OutOfRangeAlphaLength 01858 // - Out of range value found in alpha length field 01859 // 01860 // SW_CALL_ERROR_InvalidOtaspActivationCode 01861 // - Invalid OTASP activation code 01862 // 01863 // SW_CALL_ERROR_PhoneOffline - Phone is offline 01864 // 01865 // SW_CALL_ERROR_PhoneCdmaLocked 01866 // - Phone is CDMA locked 01867 // 01868 // SW_CALL_ERROR_ClientSendingFlasForUnsupportdFlashCall 01869 // - Client tried to send a flash while a call that not supporting flashes is in progress 01870 // 01871 // SW_CALL_ERROR_DialedNumberNotPermitted 01872 // - Dialed number is not allowed under the current origination restriction 01873 // 01874 // SW_CALL_ERROR_NonE911CallWhileE911PreferenceInEffect 01875 // - Client tried to originate a NONE E911 call while E911 mode preference is in effect 01876 // 01877 // SW_CALL_ERROR_InvalidCmdWhilePhoneInUse 01878 // - Can't perform the command in question while phone is in-use 01879 // 01880 // SW_CALL_ERROR_ServiceTypeNotSupportedByPhonePrl 01881 // - Client originated with service type that is currently not supported by the phone/PRL 01882 // 01883 // SW_CALL_ERROR_ClientAnsweredWithWrongCallType 01884 // - Client answered with inappropriate call type relative to the type of the incoming call 01885 // 01886 // SW_CALL_ERROR_CmdInvalidForCurrentState 01887 // - The command in question is invalid in the current call state 01888 // 01889 // SW_CALL_ERROR_CmdInvalidForCurrentPhoneServingState 01890 // - The command in question is invalid in the current Phone serving state 01891 // 01892 // SW_CALL_ERROR_NoServiceFoundForAutomatic 01893 // - no valid service found for origination with AUTOMATIC or CDMA_AUTOMATIC service type 01894 // 01895 // SW_CALL_ERROR_ClientCannotAnswerIncomingCall 01896 // - Client is not allowed to answer the incoming call 01897 // 01898 // SW_CALL_ERROR_BadPrivacyPref 01899 // - Bad privacy preference setting 01900 // 01901 // SW_CALL_ERROR_NoAvailableCmdBuffers 01902 // - No available CM command buffers to queue the command 01903 // 01904 // SW_CALL_ERROR_CommunicationProblemsWithMc 01905 // - Communication problems with MC 01906 // 01907 // SW_CALL_ERROR_Unspecified - A problem other than the above was found 01908 // 01909 // 01910 // Notes: None 01911 // 01913 enum SWI_TYPE_CDMA_CallError 01914 { 01915 SW_CALL_ERROR_None, 01916 SW_CALL_ERROR_InvalidClientID, 01917 SW_CALL_ERROR_BadCallTypeParameter, 01918 SW_CALL_ERROR_BadServiceTypeParameter, 01919 SW_CALL_ERROR_BadServiceOptionParameter, 01920 SW_CALL_ERROR_ExpectingNumber, 01921 SW_CALL_ERROR_NumberLengthGreaterThanZeroBufferNull, 01922 SW_CALL_ERROR_InvalidDigitsNumberBuffer, 01923 SW_CALL_ERROR_OutOfRangeNumberLength, 01924 SW_CALL_ERROR_AlphaLengthGreaterThanZeroBufferNull, 01925 SW_CALL_ERROR_OutOfRangeAlphaLength, 01926 SW_CALL_ERROR_InvalidOtaspActivationCode, 01927 SW_CALL_ERROR_PhoneOffline, 01928 SW_CALL_ERROR_PhoneCdmaLocked, 01929 SW_CALL_ERROR_ClientSendingFlasForUnsupportdFlashCall, 01930 SW_CALL_ERROR_DialedNumberNotPermitted, 01931 SW_CALL_ERROR_NonE911CallWhileE911PreferenceInEffect, 01932 SW_CALL_ERROR_InvalidCmdWhilePhoneInUse, 01933 SW_CALL_ERROR_ServiceTypeNotSupportedByPhonePrl, 01934 SW_CALL_ERROR_ClientAnsweredWithWrongCallType, 01935 SW_CALL_ERROR_CmdInvalidForCurrentState, 01936 SW_CALL_ERROR_CmdInvalidForCurrentPhoneServingState, 01937 SW_CALL_ERROR_NoServiceFoundForAutomatic, 01938 SW_CALL_ERROR_ClientCannotAnswerIncomingCall, 01939 SW_CALL_ERROR_BadPrivacyPref, 01940 SW_CALL_ERROR_NoAvailableCmdBuffers, 01941 SW_CALL_ERROR_CommunicationProblemsWithMc, 01942 SW_CALL_ERROR_Unspecified 01943 }; 01944 01946 // 01947 // Name: SWI_TYPE_CallCmd - Call Command enumeration 01948 // 01949 // Purpose: This enumerates the call commands provided by the notification 01950 // SWI_NOTIFY_CallError. 01951 // 01952 // Members: SWI_CALL_CMD_None - No command 01953 // SWI_CALL_CMD_Orig - Call origination command 01954 // SWI_CALL_CMD_Answer - Call answer command 01955 // SWI_CALL_CMD_End - Call end command 01956 // SWI_CALL_CMD_Flash - Flash command 01957 // SWI_CALL_CMD_PrivacyPref - Privacy Pref. Command 01958 // SWI_CALL_CMD_InfoGet - Info command 01959 // SWI_CALL_CMD_Hold - Hold command 01960 // 01961 // Notes: None 01962 // 01964 enum SWI_TYPE_CallCmd 01965 { 01966 SWI_CALL_CMD_Orig, 01967 SWI_CALL_CMD_Answer, 01968 SWI_CALL_CMD_End, 01969 SWI_CALL_CMD_Flash, 01970 SWI_CALL_CMD_PrivacyPref, 01971 SWI_CALL_CMD_InfoGet, 01972 SWI_CALL_CMD_Hold, 01973 SWI_CALL_CMD_None = 0x00FF, 01974 }; 01975 01977 // 01978 // Name: SWI_STRUCT_CallError - Call Error notification data structure 01979 // 01980 // Purpose: This data structure is used as a member of the notification 01981 // SWI_NOTIFY_CallError. Refer to the description of 01982 // SWI_NOTIFY_CallError for more detail. 01983 // 01984 // Members: sizeStruct - size of this structure 01985 // eCmd - The command or action being used 01986 // when the error occured. 01987 // See SWI_TYPE_CallCmd for details. 01988 // eError - The nature of the error. 01989 // See SWI_TYPE_CDMA_CallError for details. 01990 // eSource - This indicates if the action was 01991 // requested by AT command or CnS (API) 01992 // See SWI_TYPE_CallSource for details. 01993 // 01994 // Notes: None. 01995 // 01997 struct SWI_STRUCT_CallError 01998 { 01999 U32 sizeStruct; 02000 SWI_TYPE_CallCmd eCmd; 02001 SWI_TYPE_CDMA_CallError eError; 02002 SWI_TYPE_CallSource eSource; 02003 }; 02004 02006 // 02007 // Name: SWI_STRUCT_CallDormant - Dormant state notification data structure 02008 // 02009 // Purpose: This data structure is used as a member of the notification 02010 // SWI_NOTIFY_CallDormant. Refer to the description of 02011 // SWI_NOTIFY_CallDormant for more detail. 02012 // 02013 // Members: sizeStruct - size of this structure 02014 // eState - Call State bit mask. 02015 // See SWI_TYPE_CDMA_CallState for details 02016 // eReason - Not Used. 02017 // 02018 // Notes: None. 02019 // 02021 struct SWI_STRUCT_CallDormant 02022 { 02023 U32 sizeStruct; 02024 SWI_TYPE_CDMA_CallState eState; 02025 SWI_TYPE_EndReason eReason; 02026 }; 02027 02029 // 02030 // Name: SWI_TYPE_OTASPState - OTASP State enumeration 02031 // 02032 // Purpose: This enumeration type identifies the available OTASP progress 02033 // states. 02034 // 02035 // Members: SWI_OTASP_STATE_PROG_START - Programming started 02036 // SWI_OTASP_STATE_SPL_UNLOCK - SPL unlock - required to access certain parameters 02037 // SWI_OTASP_STATE_AKEY_EXCHG - AKey exchange - Authentication key has been exchanged 02038 // SWI_OTASP_STATE_SSD_UPDT - Shared Secret Data has been updated 02039 // SWI_OTASP_STATE_NAM_DL - New NAM parameters have been downloaded 02040 // SWI_OTASP_STATE_MDN_DL - New MDM has been downloaded 02041 // SWI_OTASP_STATE_IMSI_DL - IMSI has been downloaded 02042 // SWI_OTASP_STATE_PRL_DL - PRL has been downloaded 02043 // SWI_OTASP_STATE_COMMIT - Newly downloaded parameters have been transferred to NV-RAM 02044 // SWI_OTASP_STATE_PROG_END - Programming ended 02045 // 02046 // Notes: A successful OTASP session assumes no failures for any states, 02047 // and a successful commit. 02048 // 02050 enum SWI_TYPE_OTASPState 02051 { 02052 SWI_OTASP_STATE_PROG_START = 0x0000, 02053 SWI_OTASP_STATE_SPL_UNLOCK = 0x0001, 02054 SWI_OTASP_STATE_AKEY_EXCHG = 0x0002, 02055 SWI_OTASP_STATE_SSD_UPDT = 0x0003, 02056 SWI_OTASP_STATE_NAM_DL = 0x0004, 02057 SWI_OTASP_STATE_MDN_DL = 0x0005, 02058 SWI_OTASP_STATE_IMSI_DL = 0x0006, 02059 SWI_OTASP_STATE_PRL_DL = 0x0007, 02060 SWI_OTASP_STATE_COMMIT = 0x0008, 02061 SWI_OTASP_STATE_PROG_END = 0x0009 02062 }; 02063 02065 // 02066 // Name: SWI_STRUCT_OTASPState - OTASP State notification data structure 02067 // 02068 // Purpose: This data structure is used as a member of the notification 02069 // SWI_NOTIFY_OTASPState. Refer to the description of 02070 // SWI_NOTIFY_OTASPState for more detail. 02071 // 02072 // Members: sizeStruct - size of this structure 02073 // eState - The current stage in the OTASP 02074 // process. 02075 // SWI_TYPE_OTASPState for details. 02076 // nSuccess - Indicates the success (1) or failure (0) 02077 // of the stage indicated by eState. 02078 // 02079 // Notes: None. 02080 // 02082 struct SWI_STRUCT_OTASPState 02083 { 02084 U32 sizeStruct; 02085 SWI_TYPE_OTASPState eState; 02086 U32 nSuccess; 02087 }; 02088 02090 // 02091 // Name: SWI_TYPE_Privacy - Privacy state enumeration 02092 // 02093 // Purpose: The data enumerates as privacy either on or off 02094 // 02095 // Members: SWI_PRIVACY_Off - Privacy off 02096 // SWI_PRIVACY_On - Privacy on 02097 // 02098 // Notes: None 02099 // 02101 enum SWI_TYPE_Privacy 02102 { 02103 SWI_PRIVACY_Off, 02104 SWI_PRIVACY_On 02105 }; 02106 02108 // 02109 // Name: SWI_STRUCT_CallPrivacy - Privacy notification data structure 02110 // 02111 // Purpose: This data structure is used as a member of the notification 02112 // SWI_NOTIFY_CallPrivacy. Refer to the description of 02113 // SWI_NOTIFY_CallPrivacy for more detail. 02114 // 02115 // Members: sizeStruct - size of this structure 02116 // eMode - Privacy state. See 02117 // SWI_TYPE_Privacy for details. 02118 // 02119 // Notes: None. 02120 // 02122 struct SWI_STRUCT_CallPrivacy 02123 { 02124 U32 sizeStruct; 02125 SWI_TYPE_Privacy eMode; 02126 }; 02127 02129 // 02130 // Modem Event data types 02131 // 02133 02135 // 02136 // Name: SWI_STRUCT_PowerSaveEnter - PowerSave (Enter) notification data structure 02137 // 02138 // Purpose: This data structure is used as a member of the notification 02139 // SWI_NOTIFY_PowerSaveEnter. Refer to the description of 02140 // SWI_NOTIFY_PowerSaveEnter for more detail. 02141 // 02142 // Members: sizeStruct - size of this structure 02143 // 02144 // Notes: No data. 02145 // 02147 struct SWI_STRUCT_PowerSaveEnter 02148 { 02149 U32 sizeStruct; 02150 // no data 02151 }; 02152 02154 // 02155 // Name: SWI_STRUCT_PowerSaveExit - PowerSave (Exit) notification data structure 02156 // 02157 // Purpose: This data structure is used as a member of the notification 02158 // SWI_NOTIFY_PowerSaveExit. Refer to the description of 02159 // SWI_NOTIFY_PowerSaveExit for more detail. 02160 // 02161 // Members: sizeStruct - size of this structure 02162 // 02163 // Notes: No data. 02164 // 02166 struct SWI_STRUCT_PowerSaveExit 02167 { 02168 U32 sizeStruct; 02169 // no data 02170 }; 02171 02173 // 02174 // Name: SWI_TYPE_PRI_VoiceDataMask - Voice/Data Support mask bit enumeration 02175 // 02176 // Purpose: The enumerated mask bits identifies the voice/data features 02177 // supported by the modem 02178 // 02179 // Members: SWI_PRI_DATA_1X - 1x data calls supported 02180 // SWI_PRI_DATA_IS95 - IS95 (QNC/Fax/Dialup) data calls supported 02181 // SWI_PRI_DATA_AUTOCONNECT - Internal use for Watcher only 02182 // SWI_PRI_VOICE - Voice calls supported 02183 // SWI_PRI_VOICE - Internal Use 02184 // SWI_PRI_VD_ALL - Internal Use 02185 // SWI_PRI_VD_MASK_ENABLED - Internal Use 02186 // 02187 // Notes: None. 02188 // 02190 enum SWI_TYPE_PRI_VoiceDataMask 02191 { 02192 SWI_PRI_DATA_1X = 0x0001, 02193 SWI_PRI_DATA_IS95 = 0x0002, 02194 SWI_PRI_DATA_AUTOCONNECT = 0x0004, 02195 #if FUTURE_USE // { bits 4-7 reserved for future use } 02196 SWI_PRI_DATA_ = 0x0008, 02197 SWI_PRI_DATA_ = 0x0010, 02198 SWI_PRI_DATA_ = 0x0020, 02199 SWI_PRI_DATA_ = 0x0040, 02200 #endif 02201 SWI_PRI_VOICE = 0x0080, 02202 SWI_PRI_VD_ALL = 0xFFFF, 02203 SWI_PRI_VD_MASK_ENABLED = 0x8000 // Enabled bit (Internal use only) 02204 }; 02205 02207 // 02208 // Name: SWI_TYPE_CarrierID - Carrier ID enumeration 02209 // 02210 // Purpose: The enumerated values identify the various 02211 // carriers a modem may be configured for 02212 // 02213 // Members: SWICARRIER_UNDEFINED - Not defined 02214 // SWICARRIER_RESERVED - (reserved) 02215 // SWICARRIER_AC555_GENERIC - Generic 02216 // SWICARRIER_AC550_SPRINT - Sprint 02217 // SWICARRIER_AC555_BELL - Bell Mobility 02218 // SWICARRIER_AC555_TELUS - Telus 02219 // SWICARRIER_AC555_VZW - Verizon Wireless 02220 // SWICARRIER_AC555_WESTERNWIRELESS 02221 // - Western Wireless 02222 // SWICARRIER_AC555_SMARTCOM - SmartCom 02223 // SWICARRIER_AC555_ALLTEL - AllTel 02224 // SWICARRIER_AC555_USCELLULAR - US Cellular 02225 // SWICARRIER_SB550T_SPRINT - (Thera) Sprint 02226 // SWICARRIER_SB555T_BELL - (Thera) Bell Mobility 02227 // SWICARRIER_SB555T_TELUS - (Thera) Telus 02228 // SWICARRIER_SB555T_VZW - (Thera) Verizon Wireless 02229 // SWICARRIER_AC555_CHINAUNICOM 02230 // - China Unicom 02231 // SWICARRIER_AC555_HUTCHISONTHAILAND 02232 // - Hutchison Thailand 02233 // SWICARRIER_AC555_MOVILNET - MovilNet 02234 // SWICARRIER_AC555_TARJETAS_IUSACELL_MEXICO 02235 // - Iusacell Mexico 02236 // SWICARRIER_AC555_TELECOMNEWZEALAND 02237 // - Telecom NewZealand 02238 // SWICARRIER_AC555_RELIANCE - Reliance 02239 // SWICARRIER_AC555_TELSTRA - Telstra 02240 // SWICARRIER_AC555_MOBILITYCANADA 02241 // - Mobility Canada 02242 // SWICARRIER_AC555_VZW_PUERTO_RICO 02243 // - Verizon Wireless Puerto Rico 02244 // SWICARRIER_AC555_PELEPHONE - Pelephone 02245 // SWICARRIER_AC555_BELL_CANADA 02246 // - Bell Canada 02247 // SWICARRIER_AC555_INDOSOL_INDONESIA 02248 // - Indosol 02249 // SWICARRIER_AC555_MIDWEST_WIRELESS 02250 // - MidWest Wireless 02251 // SWI_CARRIER_AC555_BELL_SOUTH_CHILE, 02252 // SWI_CARRIER_AC555_BELL_SOUTH_PANAMA, 02253 // SWI_CARRIER_AC555_TATA 02254 // 02255 // 02256 // 02257 // 02258 // 02259 // Notes: The Carrier IDs no longer represent the Product type (AC555 vs AC580). 02260 // supported. The SBXXX items are kept only for backwards compatibility. 02261 // (ie. The AC580 for Verizon carrier ID will be SWI_CARRIER_AC555_VZW) 02262 // 02264 enum SWI_TYPE_CarrierID 02265 { 02266 SWI_CARRIER_UNDEFINED = -1, 02267 SWI_CARRIER_RESERVED = 0, 02268 SWI_CARRIER_AC555_GENERIC, 02269 SWI_CARRIER_AC550_SPRINT, 02270 SWI_CARRIER_AC555_BELL, 02271 SWI_CARRIER_AC555_TELUS, 02272 SWI_CARRIER_AC555_VZW, 02273 SWI_CARRIER_AC555_WESTERNWIRELESS, 02274 SWI_CARRIER_AC555_SMARTCOM, 02275 SWI_CARRIER_AC555_ALLTEL, 02276 SWI_CARRIER_AC555_USCELLULAR, 02277 SWI_CARRIER_SB550T_SPRINT, 02278 SWI_CARRIER_SB555T_BELL, 02279 SWI_CARRIER_SB555T_TELUS, 02280 SWI_CARRIER_SB555T_VZW, 02281 SWI_CARRIER_AC555_CHINAUNICOM, 02282 SWI_CARRIER_AC555_HUTCHISONTHAILAND, 02283 SWI_CARRIER_AC555_MOVILNET, 02284 SWI_CARRIER_AC555_TARJETAS_IUSACELL_MEXICO, 02285 SWI_CARRIER_AC555_TELECOMNEWZEALAND, 02286 SWI_CARRIER_AC555_RELIANCE, 02287 SWI_CARRIER_AC555_TELSTRA, 02288 SWI_CARRIER_AC555_MOBILITYCANADA, 02289 SWI_CARRIER_AC555_VZW_PUERTO_RICO, 02290 SWI_CARRIER_AC555_PELEPHONE, 02291 SWI_CARRIER_AC555_BELL_CANADA, 02292 SWI_CARRIER_AC555_INDOSOL_INDONESIA, 02293 SWI_CARRIER_AC555_MIDWEST_WIRELESS, 02294 SWI_CARRIER_AC555_BELL_SOUTH_CHILE, 02295 SWI_CARRIER_AC555_BELL_SOUTH_PANAMA, 02296 SWI_CARRIER_AC555_TATA 02297 }; 02298 02300 // 02301 // Name: SWI_TYPE_DistributorID - Distributor ID enumeration 02302 // 02303 // Purpose: The enumerated values identify the various 02304 // distributors a modem may be configured for 02305 // 02306 // Members: SWIDISTRIBUTOR_UNDEFINED - Not defined 02307 // SWIDISTRIBUTOR_NONE - (reserved) 02308 // SWIDISTRIBUTOR_SIERRA_WIRELESS - SWIR 02309 // SWIDISTRIBUTOR_EASTCOM - Easter Communications 02310 // SWIDISTRIBUTOR_TONGFANG - TSINGHUA TONGFANG 02311 // SWIDISTRIBUTOR_ZTE - ZTE 02312 // SWIDISTRIBUTOR_CHINA_PUTIAN - NANJING PUTIAN ZHONGYOU 02313 // SWIDISTRIBUTOR_NCL - NCL Technology 02314 // SWIDISTRIBUTOR_SHANGHAI_BELL - SHANGHAI BELL 02315 // SWIDISTRIBUTOR 02316 // 02317 // Notes: None 02319 enum SWI_TYPE_DistributorID 02320 { 02321 SWI_DISTRIBUTOR_UNDEFINED = -1, 02322 SWI_DISTRIBUTOR_NONE = 0, 02323 SWI_DISTRIBUTOR_SIERRA_WIRELESS = 1, 02324 SWI_DISTRIBUTOR_EASTCOM = 2, 02325 SWI_DISTRIBUTOR_TONGFANG = 3, 02326 SWI_DISTRIBUTOR_ZTE = 4, 02327 SWI_DISTRIBUTOR_CHINA_PUTIAN = 5, 02328 SWI_DISTRIBUTOR_NCL = 6, 02329 SWI_DISTRIBUTOR_SHANGHAI_BELL = 7, 02330 }; 02331 02332 02334 // 02335 // Name: SWI_STRUCT_HdrNotificationStatus - HDR Notification status data structure 02336 // 02337 // Purpose: This data structure is used to hold the status of HDR notifcations. 02338 // 02339 // Members: sizeStruct - size of this structure 02340 // iHdrNotificationStatus - Mask of enabled notifications 02341 // 02342 // Notes: None. 02343 // 02345 struct SWI_STRUCT_HdrNotificationStatus 02346 { 02347 U32 sizeStruct; 02348 U16 iHdrNotificationStatus; 02349 }; 02350 02352 // 02353 // Name: SWI_STRUCT_Rssi_Ecio - RSSI and EcIo data structure 02354 // 02355 // Purpose: This data structure is used to hold RSSI and EcIo data. 02356 // 02357 // Members: sizeStruct - size of this structure 02358 // iCdmaRssi; - Cdma RSSI 02359 // iCdmaEcio; - Cdma EcIo 02360 // iHdrRssi; - HDR RSSI 02361 // iHdrEcio; - HDR EcIo 02362 // 02363 // 02364 // Notes: None. 02365 // 02367 struct SWI_STRUCT_Rssi_Ecio 02368 { 02369 U32 sizeStruct; 02370 U16 iCdmaRssi; 02371 U16 iCdmaEcio; 02372 U16 iHdrRssi; 02373 U16 iHdrEcio; 02374 }; 02375 02376 02377 enum SWI_TYPE_Hdr_Roam_Status 02378 { 02379 SWI_HDR_ROAM_STATUS_NO_ROAMING = 0x00000000, 02380 SWI_HDR_ROAM_STATUS_ROAMING_WITH_GAURANTEED_VALID_SIDS = 0x00000001, 02381 SWI_HDR_ROAM_STATUS_ROAMING_WITHOUT_GAURANTEED_SIDS = 0x00000002, 02382 }; 02383 02384 struct SWI_STRUCT_Hdr_Roam_Status 02385 { 02386 U32 sizeStruct; 02387 U16 iHdrRoamStatus; 02388 }; 02389 02390 enum SWI_TYPE_Hdr_Srv_State 02391 { 02392 SWI_HDR_SRV_STATE_NO_SERVICE = 0x00000000, 02393 SWI_HDR_SRV_STATE_DIGITAL_SERVICE = 0x00000002, 02394 SWI_HDR_SRV_STATE_DIGITAL_SERVICE_Rev0 = SWI_HDR_SRV_STATE_DIGITAL_SERVICE, 02395 SWI_HDR_SRV_STATE_DIGITAL_SERVICE_RevA = 0x00000004, 02396 }; 02397 02398 struct SWI_STRUCT_Hdr_Srv_State 02399 { 02400 U32 sizeStruct; 02401 U16 iHdrSrvState; 02402 }; 02403 02404 enum SWI_TYPE_Hdr_Hybr_Pref 02405 { 02406 SWI_HDR_HYBR_PREF_MODE_OFF = 0x00000000, 02407 SWI_HDR_HYBR_PREF_MODE_ON = 0x00000001, 02408 }; 02409 02410 struct SWI_STRUCT_Hdr_Hybr_Pref 02411 { 02412 U32 sizeStruct; 02413 U16 iHdrHybrPref; 02414 }; 02415 02416 enum SWI_TYPE_Digital_Mode 02417 { 02418 SWI_HDR_MODE_NO_SERVICE = 0x00000000, 02419 SWI_HDR_MODE_AMPS = 0x00000001, 02420 SWI_HDR_MODE_CDMA = 0x00000002, 02421 SWI_HDR_MODE_GSM = 0x00000003, 02422 SWI_HDR_MODE_HDR = 0x00000004, 02423 SWI_HDR_MODE_WCDMA = 0x00000005, 02424 SWI_HDR_MODE_GPS = 0x00000006, 02425 }; 02426 02427 struct SWI_STRUCT_Idle_Digital_Mode 02428 { 02429 U32 sizeStruct; 02430 U16 iPrevIdleDigitalMode; 02431 U16 iCurrIdleDigitalMode; 02432 }; 02433 02434 enum SWI_TYPE_DDTM_Pref 02435 { 02436 SWI_HDR_DDTM_PREF_MODE_OFF = 0x00000000, 02437 SWI_HDR_DDTM_PREF_MODE_ON = 0x00000001, 02438 SWI_HDR_DDTM_PREF_MODE_NO_CHANGE = 0x00000002, 02439 }; 02440 02441 struct SWI_STRUCT_DDTM_Pref 02442 { 02443 U32 sizeStruct; 02444 U16 iDDTMPref; 02445 }; 02446 02447 struct SWI_STRUCT_Hdr_PowerSave_Enter 02448 { 02449 U32 sizeStruct; 02450 }; 02451 02452 struct SWI_STRUCT_Hdr_PowerSave_Exit 02453 { 02454 U32 sizeStruct; 02455 }; 02456 02457 02458 // RUIM -- For RUIM enabled products only 02459 enum SWI_TYPE_RuimStatus 02460 { 02461 SWI_RUIM_STATUS_OK = 0x0000, 02462 SWI_RUIM_STATUS_INIT_ERR, 02463 SWI_RUIM_STATUS_GENERAL_ERR, 02464 SWI_RUIM_STATUS_LOCKED, 02465 SWI_RUIM_STATUS_CHV1_BLOCKED, 02466 SWI_RUIM_STATUS_CHV2_BLOCKED, 02467 SWI_RUIM_STATUS_CHV1_REJECTED, 02468 SWI_RUIM_STATUS_CHV2_REJECTED, 02469 SWI_RUIM_STATUS_POLL_ERR, 02470 SWI_RUIM_STATUS_NO_SRV_ERR, 02471 SWI_RUIM_STATUS_ICCID_MISMATCH_ERR, 02472 }; 02473 02474 enum SWI_TYPE_RuimOpReq 02475 { 02476 SWI_RUIM_OPREQ_NONE = 0x0000, 02477 SWI_RUIM_OPREQ_CHV1, 02478 SWI_RUIM_OPREQ_CHV2, 02479 SWI_RUIM_OPREQ_CHV_UNBLK1, 02480 SWI_RUIM_OPREQ_CHV_UNBLK2, 02481 }; 02482 02483 enum SWI_TYPE_RuimPrevOp 02484 { 02485 SWI_RUIM_PREV_OP_NONE = 0x0000, 02486 SWI_RUIM_PREV_OP_CHV1CHG, 02487 SWI_RUIM_PREV_OP_CHV2CHG, 02488 SWI_RUIM_PREV_OP_CHV1VER, 02489 SWI_RUIM_PREV_OP_CHV2VER, 02490 SWI_RUIM_PREV_OP_UNBLK1, 02491 SWI_RUIM_PREV_OP_UNBLK2, 02492 SWI_RUIM_PREV_OP_CHV1_EN, 02493 SWI_RUIM_PREV_OP_CHV1_DIS 02494 }; 02495 02496 enum SWI_TYPE_RuimPrevOpRes 02497 { 02498 SWI_RUIM_PREV_OP_FAIL = 0x0000, 02499 SWI_RUIM_PREV_OP_SUCCESS, 02500 SWI_RUIM_PREV_OP_FAIL_VER, 02501 SWI_RUIM_PREV_OP_FAIL_CHV_LEN, 02502 SWI_RUIM_PREV_OP_FAIL_UNBLK_LEN, 02503 SWI_RUIM_PREV_OP_FAIL_NO_SRV, 02504 SWI_RUIM_PREV_OP_FAIL_EMERG 02505 }; 02506 02507 enum SWI_TYPE_RuimRetryPres 02508 { 02509 SWI_RUIM_NO_RETRY_INFO = 0x0000, 02510 SWI_RUIM_RETRY_INFO 02511 }; 02512 02513 enum SWI_TYPE_RuimRetry 02514 { 02515 SWI_RUIM_RETRY_CHV1 = 0x0000, 02516 SWI_RUIM_RETRY_CHV2, 02517 SWI_RUIM_RETRY_UNBLOCK_CHV1, 02518 SWI_RUIM_RETRY_UNBLOCK_CHV2 02519 }; 02520 02521 enum SWI_RUIM_CHV 02522 { 02523 SWI_RUIM_CHV1 = 0x0001, 02524 SWI_RUIM_CHV2, 02525 SWI_RUIM_UNBLOCK_CHV1, 02526 SWI_RUIM_UNBLOCK_CHV2 02527 }; 02528 02529 struct SWI_STRUCT_RuimStatus 02530 { 02531 U32 sizeStruct; //size of this structure 02532 U16 nStatus; 02533 U16 byActionReq; 02534 U16 byPrevAction; 02535 U16 byPrevActRes; 02536 U16 byRetryPres; 02537 U16 byRetry; 02538 U16 byRetryNum; 02539 }; 02540 02542 // 02543 // Not Supported / Internal Use - START 02544 // 02546 enum SWI_TYPE_ActivationStatus 02547 { 02548 SWI_ACTIVATION_STATUS_False, 02549 SWI_ACTIVATION_STATUS_True 02550 }; 02551 02552 struct SWI_STRUCT_ActivationStatus 02553 { 02554 U32 sizeStruct; 02555 SWI_TYPE_ActivationStatus eActivationStatus; 02556 }; 02557 02558 struct SWI_STRUCT_CallNotificationStatus 02559 { 02560 U32 sizeStruct; 02561 U32 nNotifyStatus; 02562 }; 02563 02564 struct SWI_STRUCT_Ecio 02565 { 02566 U32 sizeStruct; 02567 U32 nEcio; 02568 }; 02569 02570 enum SWI_TYPE_V42BisEnabled 02571 { 02572 SWI_V42_BIS_ENABLED_True, 02573 SWI_V42_BIS_ENABLED_False 02574 }; 02575 02576 struct SWI_STRUCT_V42BisEnabled 02577 { 02578 U32 sizeStruct; 02579 SWI_TYPE_V42BisEnabled eV42Bis; 02580 }; 02581 02582 enum SWI_TYPE_AuthenticationStatus 02583 { 02584 SWI_AUTHENTICATION_STATUS_True, 02585 SWI_AUTHENTICATION_STATUS_False 02586 }; 02587 02588 struct SWI_STRUCT_AuthenticationStatus 02589 { 02590 U32 sizeStruct; 02591 SWI_TYPE_AuthenticationStatus eAuthenticationStatus; 02592 }; 02593 02594 struct SWI_STRUCT_TechSid 02595 { 02596 U32 sizeStruct; 02597 U32 nSid; 02598 }; 02599 02600 struct SWI_STRUCT_TechNid 02601 { 02602 U32 sizeStruct; 02603 U32 nNid; 02604 }; 02605 02606 struct SWI_STRUCT_TechBsInfo 02607 { 02608 U32 sizeStruct; 02609 U32 nLongitude; 02610 U32 nLatitude; 02611 }; 02612 02613 struct SWI_STRUCT_TechRegZone 02614 { 02615 U32 sizeStruct; 02616 U32 nZoneID; 02617 }; 02618 02619 struct SWI_STRUCT_TechPacketZone 02620 { 02621 U32 sizeStruct; 02622 U32 nZoneID; 02623 }; 02624 02625 enum SWI_TYPE_TechPcsBlock 02626 { 02627 SWI_TECH_PCS_BLOCK_NoCoverage, 02628 SWI_TECH_PCS_BLOCK_A, 02629 SWI_TECH_PCS_BLOCK_B, 02630 SWI_TECH_PCS_BLOCK_C, 02631 SWI_TECH_PCS_BLOCK_D, 02632 SWI_TECH_PCS_BLOCK_E, 02633 SWI_TECH_PCS_BLOCK_F 02634 }; 02635 02636 struct SWI_STRUCT_TechPcsBlock 02637 { 02638 U32 sizeStruct; 02639 SWI_TYPE_TechPcsBlock ePcs; 02640 }; 02641 02642 enum SWI_TYPE_TechCellChannel 02643 { 02644 SWI_TECH_CELL_CHANNEL_NoCoverage, 02645 SWI_TECH_CELL_CHANNEL_A, 02646 SWI_TECH_CELL_CHANNEL_B 02647 }; 02648 02649 struct SWI_STRUCT_TechCellChannel 02650 { 02651 U32 sizeStruct; 02652 SWI_TYPE_TechCellChannel eChannel; 02653 }; 02654 02655 02656 struct SWI_STRUCT_SystemTime 02657 { 02658 U32 sizeStruct; 02659 SYSTEMTIME time; 02660 }; 02661 02662 02663 struct SWI_STRUCT_HIOTAStatus 02664 { 02665 U32 sizeStruct; 02666 U32 nResult; 02667 U32 nMask; 02668 }; 02669 02670 enum SWI_TYPE_NamValue 02671 { 02672 SWI_NAM_VALUE_0, 02673 SWI_NAM_VALUE_1, 02674 SWI_NAM_VALUE_2, 02675 SWI_NAM_VALUE_3, 02676 SWI_NAM_VALUE_Auto 02677 }; 02678 02679 struct SWI_STRUCT_ActiveNam 02680 { 02681 U32 sizeStruct; 02682 SWI_TYPE_NamValue eNamIndex; 02683 }; 02684 02685 enum SWI_TYPE_ModemTooHot 02686 { 02687 SWI_MODEM_TOO_HOT_Disconnect = 0x0011, 02688 SWI_MODEM_TOO_HOT_ShutdownModem = 0x0012 02689 }; 02690 02691 struct SWI_STRUCT_ModemTooHotIndication 02692 { 02693 U32 sizeStruct; 02694 SWI_TYPE_ModemTooHot eAction; 02695 }; 02696 02697 struct SWI_STRUCT_FlashBurn 02698 { 02699 U32 sizeStruct; 02700 U16 nSector; 02701 }; 02702 02703 enum SWI_TYPE_ExcessSPCFailures 02704 { 02705 SWI_MODEM_RESET = 0x0000, 02706 SWI_MODEM_FREEZE = 0x0001 02707 }; 02708 02709 struct SWI_STRUCT_ExcessSPCFailures 02710 { 02711 U32 sizeStruct; 02712 SWI_TYPE_ExcessSPCFailures eFailType; 02713 }; 02714 02715 02716 struct SWI_STRUCT_Hdr_Acq 02717 { 02718 U32 sizeStruct; 02719 I32 lAcquired; 02720 }; 02721 struct SWI_STRUCT_Hdr_Rssi 02722 { 02723 U32 sizeStruct; 02724 I32 iRssi; 02725 }; 02726 struct SWI_STRUCT_Hdr_Uati 02727 { 02728 U32 sizeStruct; 02729 U8 byUati[17]; 02730 }; 02731 02732 struct SWI_STRUCT_TechHdrNotificationStatus 02733 { 02734 U32 sizeStruct; 02735 U16 iTechHdrNotificationStatus; 02736 }; 02737 02738 struct SWI_STRUCT_Tech_Hdr_Prev 02739 { 02740 U32 sizeStruct; 02741 U16 iHdrPRevMin; 02742 U16 iHdrPRevMax; 02743 }; 02744 02745 struct SWI_STRUCT_Tech_Hdr_Sector 02746 { 02747 U32 sizeStruct; 02748 U8 szHdrSectorId[LENGTH_SectorId]; 02749 U16 iHdrSubnetMask; 02750 U16 iHdrColorCode; 02751 U16 iHdrPnOffset; 02752 }; 02753 02754 enum SWI_TYPE_Tech_Hdr_At_State 02755 { 02756 SWI_TECH_HDR_AT_STATE_INACTIVE = 0x00000000, 02757 SWI_TECH_HDR_AT_STATE_ACQUISITION = 0x00000001, 02758 SWI_TECH_HDR_AT_STATE_SYNC = 0x00000002, 02759 SWI_TECH_HDR_AT_STATE_IDLE = 0x00000003, 02760 SWI_TECH_HDR_AT_STATE_ACCESS = 0x00000004, 02761 SWI_TECH_HDR_AT_STATE_CONNECTED = 0x00000005, 02762 }; 02763 02764 enum SWI_TYPE_Tech_Hdr_Session_State 02765 { 02766 SWI_TECH_HDR_SESSION_STATE_CLOSE = 0x00000000, 02767 SWI_TECH_HDR_SESSION_STATE_ADDR_MGMT_PROTOCOL_SETUP = 0x00000001, 02768 SWI_TECH_HDR_SESSION_STATE_AT_INITIATED = 0x00000002, 02769 SWI_TECH_HDR_SESSION_STATE_AN_INITIATED = 0x00000003, 02770 SWI_TECH_HDR_SESSION_STATE_OPEN = 0x00000004, 02771 }; 02772 02773 struct SWI_STRUCT_Tech_Hdr_State 02774 { 02775 U32 sizeStruct; 02776 U16 iHdrAtState; 02777 U16 iHdrSessionState; 02778 }; 02779 02780 struct SWI_STRUCT_Tech_Hdr_Channel 02781 { 02782 U32 sizeStruct; 02783 U16 iHdrChannel; 02784 }; 02785 02786 struct SWI_STRUCT_Tech_Hdr_Session 02787 { 02788 U32 sizeStruct; 02789 U8 szHdrUati[LENGTH_HdrUati]; 02790 U16 iHdrUatiColorCode; 02791 U32 iHdrRati; 02792 U16 iHdrSessionDuration; 02793 U32 iHdrSessionStart1; 02794 U32 iHdrSessionStart2; 02795 U32 iHdrSessionEnd1; 02796 U32 iHdrSessionEnd2; 02797 }; 02798 02799 enum SWI_TYPE_Tech_Hdr_An_Auth 02800 { 02801 SWI_TECH_HDR_AN_AUTH_NOT_AUTHENTICATED = 0x00000000, 02802 SWI_TECH_HDR_AN_AUTH_AUTHENTICATED = 0x00000001, 02803 SWI_TECH_HDR_AN_AUTH_AUTHENTICATION_FAILED = 0x00000002, 02804 SWI_TECH_HDR_AN_AUTH_AUTHENTICATION_DISABLED = 0x00000003, 02805 }; 02806 02807 struct SWI_STRUCT_Tech_Hdr_An_Auth 02808 { 02809 U32 sizeStruct; 02810 U16 iHdrAnAuthS; 02811 }; 02812 02813 struct SWI_STRUCT_Tech_Hdr_Drc_Val 02814 { 02815 U32 sizeStruct; 02816 U16 iHdrDrcValue; 02817 }; 02818 02819 struct SWI_STRUCT_Tech_Hdr_Drc_Cover 02820 { 02821 U32 sizeStruct; 02822 U16 iHdrDrcCover; 02823 }; 02824 02825 struct SWI_STRUCT_Tech_Hdr_Rri 02826 { 02827 U32 sizeStruct; 02828 U16 iHdrRri; 02829 }; 02830 02831 struct SWI_STRUCT_Tech_Hdr_Stats 02832 { 02833 U32 sizeStruct; 02834 U16 iHdrRxAgc0; 02835 U16 iHdrRxAgc1; 02836 U16 iHdrTxTotal; 02837 U16 iHdrTxAdj; 02838 U16 iHdrc2i; 02839 U16 iHdrEcio; 02840 U16 iHdrRssi; 02841 }; 02842 02843 struct SWI_STRUCT_SwiApi_State 02844 { 02845 U32 sizeStruct; 02846 U8 lState; 02847 }; 02848 02850 // 02851 // Not Supported / Internal Use - END 02852 // 02854 02855 02856 enum SWI_TYPE_Notify_HdrMask 02857 { 02858 CNS_HDR_RSSI_Mask = 0x0001, 02859 CNS_HDR_ROAM_STATUS_Mask = 0x0002, 02860 CNS_HDR_SRV_STATE_Mask = 0x0004, 02861 CNS_HDR_HYBR_PREF_Mask = 0x0008, 02862 CNS_IDLE_DIGITAL_MODE_Mask = 0x0010, 02863 CNS_DDTM_PREF_Mask = 0x0020, 02864 CNS_HDR_POWERSAVE_Mask = 0x0040, 02865 }; 02866 02867 enum SWI_TYPE_Notify_TechHdrMask 02868 { 02869 CNS_TECH_HDR_PREV_Mask = 0x0001, 02870 CNS_TECH_HDR_SECTOR_Mask = 0x0002, 02871 CNS_TECH_HDR_STATE_Mask = 0x0004, 02872 CNS_TECH_HDR_CHANNEL_Mask = 0x0008, 02873 CNS_TECH_HDR_SESSION_Mask = 0x0010, 02874 CNS_TECH_HDR_AN_AUTH_Mask = 0x0020, 02875 CNS_TECH_HDR_DRC_VAL_Mask = 0x0040, 02876 CNS_TECH_HDR_DRC_COV_Mask = 0x0080, 02877 CNS_TECH_HDR_RRI_Mask = 0x0100, 02878 CNS_TECH_HDR_STATS_Mask = 0x0200, 02879 }; 02880 02881 typedef enum { 02882 NV_MODE_DIGITAL_PREF, /* CDMA then Analog */ 02883 NV_MODE_DIGITAL_ONLY, /* CDMA only */ 02884 NV_MODE_ANALOG_PREF, /* Analog then CDMA */ 02885 NV_MODE_ANALOG_ONLY, /* Analog only */ 02886 NV_MODE_AUTOMATIC, /* Determine mode automatically */ 02887 NV_MODE_E911, /* Emergency mode */ 02888 NV_MODE_HOME_ONLY, /* Restrict to home only */ 02889 NV_MODE_PCS_CDMA_ONLY, /* Restrict to PCS home only */ 02890 NV_MODE_CELL_CDMA_ONLY, /* Restrict to cellular home only */ 02891 NV_MODE_CDMA_ONLY, 02892 NV_MODE_HDR_ONLY, 02893 NV_MODE_CDMA_AMPS_ONLY, 02894 NV_MODE_GPS_ONLY, 02895 NV_MODE_GSM_ONLY, /* Service is limited to GSM only */ 02896 NV_MODE_WCDMA_ONLY, /* Service is limited to WCDMA only */ 02897 NV_MODE_ENUM_PAD = 0x7FFF /* Pad to 16 bits on ARM */ 02898 } nv_mode_enum_type; 02899 02900 typedef enum cm_mode_pref_e { 02901 02902 CM_MODE_PREF_NONE=-1, /* FOR INTERNAL USE OF CM ONLY! */ 02903 02904 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ 02905 02906 /* For compatibility with QXDM database, please do not change the following 02907 fix assigned values. If new values are added please also update the QXDM 02908 database */ 02909 CM_MODE_PREF_ANALOG_ONLY=0, /* = NV_MODE_ANALOG_ONLY, */ 02910 /* Service is limited to analog only */ 02911 02912 CM_MODE_PREF_DIGITAL_ONLY=1,/* = NV_MODE_DIGITAL_ONLY, */ 02913 /* Service is limited to digital (CDMA or HDR) only */ 02914 02915 CM_MODE_PREF_AUTOMATIC=2, /* = NV_MODE_AUTOMATIC, */ 02916 /* Determine the mode automatically from the PRL order */ 02917 02918 CM_MODE_PREF_E911=3, /* = NV_MODE_E911, */ 02919 /* Emergency mode */ 02920 02921 CM_MODE_PREF_PCS_CDMA_ONLY=4, /* = NV_MODE_PCS_CDMA_ONLY */ 02922 /* PCS mode - obsolete in SD 2.0 (use band preference) */ 02923 02924 CM_MODE_PREF_CELL_CDMA_ONLY=5, /*= NV_MODE_CELL_CDMA_ONLY, */ 02925 /* Cellular mode - obsolete in SD 2.0 (use band preference) */ 02926 02927 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ 02928 02929 /* New for SD 2.0. For compatibility with QPST, do not change values or 02930 ** order. We start with NV_MODE_CELL_CDMA_ONLY+1 (i.e. 9). 02931 */ 02932 CM_MODE_PREF_CDMA_ONLY = 9, 02933 /* Service is limited to CDMA only */ 02934 02935 CM_MODE_PREF_HDR_ONLY=10, 02936 /* Service is limited to HDR only */ 02937 02938 CM_MODE_PREF_CDMA_AMPS_ONLY=11, 02939 /* Service is limited to CDMA and AMPS only */ 02940 02941 CM_MODE_PREF_GPS_ONLY=12, 02942 /* Service is limited to GPS only */ 02943 02944 /* 02945 ** The following enums are the radio access technologies for 02946 ** WCDMA and GSM. 02947 */ 02948 02949 CM_MODE_PREF_GSM_ONLY=13, 02950 /* Service is limited to GSM only */ 02951 02952 CM_MODE_PREF_WCDMA_ONLY=14, 02953 /* Service is limited to WCMDA only */ 02954 02955 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ 02956 02957 CM_MODE_PREF_PERSISTENT, 02958 /* Return to persistent mode preference */ 02959 02960 CM_MODE_PREF_NO_CHANGE, 02961 /* Do not change the mode preference */ 02962 02963 /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/ 02964 02965 CM_MODE_PREF_MAX /* FOR INTERNAL USE OF CM ONLY! */ 02966 02967 #ifdef FEATURE_RPC 02968 #error code not present 02969 #endif /* FEATURE_RPC */ 02970 02971 } cm_mode_pref_e_type; 02972 02973 // Enumeration of mode terms - i.e designate the mode span. (TBD) 02974 enum SWI_TYPE_Mode_Term 02975 { 02976 02977 CNS_MODE_TERM_NONE=-1, /* FOR INTERNAL USE OF CM ONLY! */ 02978 02979 02980 CNS_MODE_TERM_PERMANENT, 02981 /* Permanent mode change */ 02982 02983 CNS_MODE_TERM_PWR_CYCLE, 02984 /* Until power cycle */ 02985 02986 CNS_MODE_TERM_1_CALL, 02987 /* Until end of next call or power-cycle */ 02988 02989 CNS_MODE_TERM_1_CALL_OR_TIME, 02990 /* Until end of next call, specified timeout or power-cycle */ 02991 02992 CNS_MODE_TERM_CM_1_CALL, 02993 CNS_MODE_TERM_CM_1_CALL_PLUS, 02994 CNS_MODE_TERM_CM_MO_SMS, 02995 /* Mode terms that are assigned automatically by call manager 02996 ** when mode is forced on the fly during a call origination. 02997 ** 02998 ** CM unforce the mode back to it original settings at end of 02999 ** call or some short time after end of call. 03000 ** 03001 ** NOTE! These mode term should NOT be used by clients 03002 ** when changing the mode preference */ 03003 03004 03005 CNS_MODE_TERM_MAX /* FOR INTERNAL USE OF CM ONLY! */ 03006 03007 }; 03008 03009 // Enumeration of band preferences. 03010 enum SWI_TYPE_Band_Pref 03011 { 03012 CNS_BAND_PREF_NONE = 0, 03013 /* Acquire no system */ 03014 CNS_BAND_PREF_BC0_A = 0x01, 03015 /* Acquire band class 0, A-Side systems only (US Cellular A 800 MHz) */ 03016 CNS_BAND_PREF_BC0_B = 0x02, 03017 /* Acquire band class 0, B-Side systems only (US Cellular B 800 MHz) */ 03018 CNS_BAND_PREF_BC0 = 0x03, 03019 /* Acquire band class 0 systems only (US Cellular A/B 800 MHz) */ 03020 CNS_BAND_PREF_BC1 = 0x04, 03021 /* Acquire band class 1 systems only (US PCS 1900 MHz) */ 03022 CNS_BAND_PREF_BC3 = 0x10, 03023 /* Acquire band class 3 systems only (Japanese Cellular 800 MHz) */ 03024 CNS_BAND_PREF_BC4 = 0x20, 03025 /* Acquire band class 4 systems only (Korean PCS 1800 MHz) */ 03026 CNS_BAND_PREF_BC5 = 0x40, 03027 /* Acquire band class 5 systems only (450 MHz) */ 03028 CNS_BAND_PREF_BC6 = 0x80, 03029 /* Acquire band class 6 systems only (IMT2000) */ 03030 CNS_BAND_PREF_ANY = 0xFFFF, 03031 /* Acquire any band class systems */ 03032 CNS_BAND_PREF_NO_CHANGE = 0x10000, 03033 /* Do not change the band preference */ 03034 CNS_BAND_PREF_MAX 03035 03036 }; 03037 03038 // Enumeration of system selection roam preferences. 03039 enum SWI_TYPE_Roam_Pref 03040 { 03041 CNS_ROAM_PREF_NONE=-1, /* FOR INTERNAL USE OF CM ONLY! */ 03042 03043 CNS_ROAM_PREF_HOME = 0x01, 03044 /* Acquire only systems for which the roaming indication is off */ 03045 CNS_ROAM_PREF_AFFIL = 0x03, 03046 /* Acquire only systems for which the roaming indication is off or 03047 ** solid on - i.e. not flashing */ 03048 CNS_ROAM_PREF_ANY = 0xFF, 03049 /* Acquire systems regardless of their roaming indication */ 03050 CNS_ROAM_PREF_NO_CHANGE, 03051 /* Do not change the roam preference */ 03052 03053 CNS_ROAM_PREF_MAX /* FOR INTERNAL USE OF CM ONLY! */ 03054 03055 }; 03056 03057 struct SWI_STRUCT_DebugPacket 03058 { 03059 U32 sizeStruct; // size of this structure 03060 U32 nCommandCode; 03061 U32 nNumberMsg; 03062 U32 nDroppedMsg; 03063 U32 nTotalMsg; 03064 U32 nSeverityLevel; 03065 WCHAR szFileName[LENGTH_DebugFileName + 1]; 03066 U32 nLineNumber; 03067 WCHAR szFormatString[LENGTH_DebugFormatString + 1]; 03068 U32 nParameter1; 03069 U32 nParameter2; 03070 U32 nParameter3; 03071 }; 03072 03074 // 03075 // Name: SWI_TYPE_DEVICE_DLC - Device DLCI list 03076 // 03077 // Purpose: This is the enumeration of device DLCI channels supportred by MUX devices. 03078 // 03079 // Members: SWI_DEVICE_DLC_ATPPP - AT/PPP channel 03080 // SWI_DEVICE_DLC_DM - DM (Diagnostic monitoring) channel 03081 // SWI_DEVICE_DLC_CNS - CNS (Control and Status, proprietory SW) Channel 03082 // 03083 // Notes: None 03084 // 03086 enum SWI_TYPE_DEVICE_DLC 03087 { 03088 SWI_DEVICE_DLC_ATPPP = 1, // DLC for AT/PPP 03089 SWI_DEVICE_DLC_DM = 2, // DLC for DM 03090 SWI_DEVICE_DLC_CNS = 3, // DLC for CNS 03091 SWI_DEVICE_DLC_NMEA = 4, // DLC for NMEA 03092 }; 03093 03095 // 03096 // Name: SWI_SUBTYPE_DEVICE - Device type enumeration 03097 // 03098 // Purpose: This is the enumeration of DLCI device type. 03099 // 03100 // Members: SWI_DEVICE_MODEM - Modem device type (For eg.AT/PPP is type modem) 03101 // SWI_DEVICE_SERIAL - Serial device type (For eg.DM is type Serial) 03102 // SWI_DEVICE_NETWORK - NDIS device type (For eg.CNS can be type Network) 03103 // 03104 // Notes: None 03105 // 03107 enum SWI_SUBTYPE_DEVICE 03108 { 03109 SWI_DEVICE_MODEM = 0, // Device type Modem 03110 SWI_DEVICE_SERIAL = 1, // Device type Serial 03111 SWI_DEVICE_NETWORK = 2, // device type Network 03112 }; 03113 03115 // 03116 // Name: SWI_TYPE_USB_DEVICE - USB Device list enumeration 03117 // 03118 // Purpose: This is the enumeration of USB device list supported by MUX 27.010 drivers. 03119 // 03120 // Members: SWI_USB_DEVICE_EM56XX - EM56XX Non-Composite Device 03121 // SWI_USB_DEVICE_EM86XX - EM86XX Non-Composite Device 03122 // SWI_USB_DEVICE_MC57XX - MC57XX Non-Composite Device 03123 // 03124 // Notes: None 03125 // 03127 03128 enum SWI_TYPE_USB_DEVICE 03129 { 03130 SWI_USB_DEVICE_EM56XX = 0, // EM56XX Non-Composite Device 03131 SWI_USB_DEVICE_EM86XX = 1, // EM86XX Non-Composite Device 03132 SWI_USB_DEVICE_MC57XX = 2, // EM57XX Non-Composite Device 03133 SWI_USB_DEVICE_MC5725 = 4, // MC5725 Non-Composite Device 03134 SWI_USB_DEVICE_AC595 = 5, // AC5895 Non-Composite Device 03135 }; 03136 03138 // 03139 // Name: SWI_DEVICE_STATE - Device mode state - MUX 27.010 driver specifications 03140 // 03141 // Purpose: This is the enumeration of device state. 03142 // 03143 // Members: SWI_DEVICE_STATE_UNKNOWN - Device in unknown modem 03144 // SWI_DEVICE_STATE_MUXMODE - Device in MUX mode 03145 // SWI_DEVICE_STATE_NONMUX - Device in Non-MUX mode 03146 // SWI_DEVICE_STATE_TRANSITION - Device in transistioning mode 03147 // SWI_DEVICE_STATE_SYNCMODE - Device in synchronous mode 03148 // 03149 // Notes: None 03150 // 03152 enum SWI_DEVICE_STATE 03153 { 03154 SWI_DEVICE_STATE_UNKNOWN, // Unknown mode 03155 SWI_DEVICE_STATE_MUXMODE, // MUX mode 03156 SWI_DEVICE_STATE_NONMUX, // Non-MUX mode 03157 SWI_DEVICE_STATE_TRANSITION,// Transition mode 03158 SWI_DEVICE_STATE_SYNCMODE // Synchronizing mode 03159 }; 03160 03162 // 03163 // Name: SWI_STRUCT_Port_Info - Port and device information 03164 // 03165 // Purpose: This structure contains DLCI Port requested and also device state information. 03166 // 03167 // Members: Dlci - Dlci value of the port. Use this information to query for 03168 // Port/Device information. This is set value in the structure. 03169 // Fill this value in the structure when querying SWI_Get_Port_Info 03170 // using SwiGetDrvIntInfo(). 03171 // SubType - Dlci type if modem or serial or network 03172 // Acquired - Notifies if the port is acquired by some other application. 03173 // ProcessId - If port is acquired by some one, use processid to determine 03174 // who owns the port. 03175 // ThreadId - ThreadID of the owned process of the port. 03176 // State - Device mode state. DM/CNS/other PPP ports are available only 03177 // id device is in MUX mode. Non-MUX mode only AT/PPP port is available. 03178 // InstanceSuffix - Suffex of the port index. For eg. if there are multiple devices 03179 // or ports, devices will have to be appended with the index. (For eg. 03180 // Friendly name for two modem devices can be Sierra Wireless Modem Device 03181 // and Sierra Wireless Modem Device #2, 2 is the instance suffix.) 03182 // Name - Name of the port. (for eg. Com4 name is \\.\COM4) 03183 // InstanceId - Unique identifier of port. 03184 // FriendlyName - Friendly name of the device. (See device manager for more info) 03185 // 03186 // Notes: This structure is valid only for MUX 27.010 supported devices. 03187 // Check error codes for more information. 03188 // 03190 struct SWI_STRUCT_Port_Info 03191 { 03192 SWI_TYPE_DEVICE_DLC Dlci; // Set only 03193 SWI_SUBTYPE_DEVICE SubType; // Get only 03194 03195 struct{ 03196 BOOLEAN Acquired; // Get only 03197 // owner 03198 PHANDLE ProcessId; // Get only 03199 PHANDLE ThreadId; // Get only 03200 } DeviceLock; 03201 03202 struct{ 03203 BOOLEAN Acquired; // Get only 03204 // owner 03205 PHANDLE ProcessId; // Get only 03206 PHANDLE ThreadId; // Get only 03207 } PortAcquired; 03208 03209 SWI_TYPE_USB_DEVICE DeviceType; // Get only 03210 03211 // state 03212 SWI_DEVICE_STATE State; // Get only 03213 WCHAR InstanceSuffix[SWI_SUFFIX_ID_SIZE]; // Get only 03214 WCHAR Name[SWI_PORT_NAME_SIZE]; // Get only 03215 WCHAR InstanceId[SWI_INSTANCE_ID_SIZE]; // Get only 03216 WCHAR FriendlyName[SWI_FRIENDLY_NAME_SIZE]; // Get only 03217 BOOLEAN bNDISSupported; // Get only 03218 }; 03219 03221 // 03222 // Name: SWI_DRV_VER_INFO - MUX driver information 03223 // 03224 // Purpose: This structure contains MUX driver version information. 03225 // 03226 // Members: MajorVersion - Major version number of the MUX driver. 03227 // MinorVersion - Minor Vesion number of the MUX driver. 03228 // BuildNumber - Build number of the MUX driver. 03229 // 03230 // Notes: This structure is valid only for MUX 27.010 supported devices. 03231 // Use this structure when querying SWI_Get_Version using SwiGetDrvIntInfo(). 03232 // 03234 struct SWI_DRV_VER_INFO 03235 { 03236 ULONG MajorVersion; // Get only 03237 ULONG MinorVersion; // Get only 03238 ULONG BuildNumber; // Get only 03239 }; 03240 03242 // 03243 // Name: SWI_TYPE_DRV_INT_Query - SW MUX Drv Interface Query command 03244 // 03245 // Purpose: This is the enumeration of Query commands to get information from 03246 // SW MUX Drviver interface. 03247 // 03248 // Members: SWI_Get_Version - Version Information of the MUX Driver 03249 // SWI_Get_Port_Info - Port Information for the DLCI value set 03250 // 03251 // Notes: None 03252 // 03254 enum SWI_TYPE_DRV_INT_Query 03255 { 03256 SWI_Get_Version = 1, // Version Information of the MUX Driver 03257 SWI_Get_Port_Info, // Port Information for the DLCI value set 03258 }; 03259 03261 // 03262 // Name: SWI_DRV_INT_QUERY - Generic structure for querying MUX 27.010 drivers 03263 // 03264 // Purpose: This structure contains union for driver version and port information. 03265 // The information is returned based on the query type. 03266 // 03267 // Members: eQueryType - Fill in this information to query either Version or 03268 // port information. 03269 // FileVersion - Fileversion information returned when SWI_Get_Version 03270 // is used as query type. 03271 // PortInfo - Port information returned when SWI_Get_Port_Info is 03272 // used as query type. 03273 // 03274 // Notes: This structure is valid only for MUX 27.010 supported devices. 03275 // Make sure to set query type before calling SwiGetDrvIntInfo() API. 03276 // And if query type is SWI_Get_Port_Info, then make sure to set Dlci value 03277 // for PortInfo structure. 03278 // 03280 struct SWI_DRV_INT_QUERY 03281 { 03282 SWI_TYPE_DRV_INT_Query eQueryType; 03283 union { 03284 SWI_DRV_VER_INFO FileVersion; 03285 SWI_STRUCT_Port_Info PortInfo; 03286 } uResult; 03287 }; 03288 03290 // 03291 // Name: SWI_NDIS_PREF_MODE - NDIS PREF Mode supported to get and set values 03292 // 03293 // Purpose: This is the enumeration of NDIS Pref Mode. 03294 // 03295 // Members: SWI_NDIS_PREF_ENABLED - NDIS is enabled 03296 // SWI_NDIS_PREF_DISABLED - NDIS is disabled 03297 // 03298 // Notes: NDIS when loaded aquires DATA & CNS port to talk to the modem. In some 03299 // cases like Async data or fax calls, data call has to go thru DUN using 03300 // data channel and not over NDIS interface. In order for NDIS to release 03301 // handle on data/cns even when NDIS driver is loaded, make use of Pref 03302 // mode to disable/enable NDIS. 03303 // 03305 enum SWI_NDIS_PREF_MODE 03306 { 03307 SWI_NDIS_PREF_DISABLED, // Get and Set 03308 SWI_NDIS_PREF_ENABLED, // Get and Set 03309 }; 03310 03312 // 03313 // Name: SWI_NDIS_MUX_MODE - Structure for querying MUX NDIS driver mode 03314 // 03315 // Purpose: This structure contain values to determine NDIS supported and NDIS 03316 // Pref mode stored in the modem. These values can be queried to determine 03317 // the current NDIS mode. 03318 // 03319 // Members: bNDISSupported - This value will determine NDIS is supported for the 03320 // product or not. 03321 // eNDISPrefMode - This value will determine if NDIS is enabled or disabled 03322 // This flag will have significance only if NDIS supported 03323 // flag is set to true. 03324 // 03325 // Notes: NDIS driver is loaded by USB MUX drivers when NDIS supported and NDIS 03326 // Pref mode are both set to true and device is in MUX mode. 03327 // 03329 struct SWI_NDIS_MUX_MODE 03330 { 03331 BOOLEAN bNDISSupported; 03332 SWI_NDIS_PREF_MODE eNDISPrefMode; 03333 }; 03334 03335 03337 // 03338 // Name: SWI_EMIOTA_EVENT_TYPE - Evnet type like stat session ,end session 03339 // 03340 // Purpose: This is the enumeration of Embedded IOTA event type. 03341 // 03342 // Members: 13 members see below for description 03343 // 03344 // Notes: 03345 // 03347 enum SWI_EMIOTA_EVENT_TYPE 03348 { 03349 SWI_EMIOTA_SESSION_START, // 0:EM IOTA session started 03350 SWI_EMIOTA_SESSION_END, // 1:EM IOTA session end 03351 }; 03352 03353 03355 // 03356 // Name: SWI_EMIOTA_EVENT_RESULT - Evnet type sucess or failure 03357 // 03358 // Purpose: This is the enumeration of Embedded IOTA event type result. 03359 // 03360 // Members: SWI_EMIOTA_EVENT_RESULT_SUCCESS, // event successfull 03361 // SWI_EMIOTA_EVENT_RESULT_FAILURE, // event failed 03362 // 03363 // 03364 // Notes: 03365 // 03367 enum SWI_EMIOTA_EVENT_RESULT 03368 { 03369 SWI_EMIOTA_EVENT_RESULT_SUCCESS, // 0:event successful 03370 SWI_EMIOTA_EVENT_RESULT_FAILURE, // 1:event failed 03371 }; 03372 03373 03374 03376 // 03377 // Name: SWI_EMIOTA_EVENT_FAIL_REASON - Evnet type failure reason. 03378 // 03379 // Purpose: This is the enumeration of Embedded IOTA event type failure reason. 03380 // 03381 // Members: 17 members see below for description 03382 // 03383 // Notes: 03384 // 03386 03387 enum SWI_EMIOTA_EVENT_FAIL_REASON 03388 { 03389 SWI_EMIOTA_STATUS_MIN = -1, // -1:IOTA status min 03390 SWI_EMIOTA_STATUS_SUCCESS , // 0:IOTA status success 03391 SWI_EMIOTA_STATUS_ERROR_DISCONNECT, // 1:status error disconnect 03392 SWI_EMIOTA_STATUS_ERROR_NOT_ALLOWED, // 2:status error iota session is not allowed 03393 SWI_EMIOTA_STATUS_ERROR_ALREADY_ACTIVE, // 3:status error iota sesstion is already in progress 03394 SWI_EMIOTA_STATUS_ERROR_CLIENT_ABORT, // 4:status error client aborted iota session 03395 SWI_EMIOTA_STATUS_ERROR_HTTP, // 5:status error HTTP 03396 SWI_EMIOTA_STATUS_ERROR_MIME, // 6:status error MIME 03397 SWI_EMIOTA_STATUS_ERROR_XML, // 7:status error XML 03398 SWI_EMIOTA_STATUS_ERROR_MMC, // 8:status error MMC 03399 SWI_EMIOTA_STATUS_ERROR_NOT_TRUSTED, // 9:status error not trusted domain 03400 SWI_EMIOTA_STATUS_ERROR_SESSION_TIMEOUT, // 10:status error session timed out 03401 SWI_EMIOTA_STATUS_ERROR_UNKNOWN, // 11:status error unknown 03402 SWI_EMIOTA_STATUS_ERROR_INTERNAL, // 12:status error internal 03403 SWI_EMIOTA_STATUS_ERROR_NO_SERVICE, // 13:status error no service 03404 SWI_EMIOTA_STATUS_ERROR_ACTIVE_DATA_CALL, // 14:status error user is in active data call 03405 SWI_EMIOTA_STATUS_ERROR_ACTIVE_VOICE_CALL, // 15:status error user is in active voice call 03406 SWI_EMIOTA_STATUS_ERROR_NO_DIGITAL_SERVICE, // 16:status error user is no digital service ( roaming mode ) 03407 SWI_EMIOTA_STATUS_MAX, // 17:iota status max 03408 }; 03409 03410 03411 03413 // 03414 // Name: SWI_EMIOTA_EVENT_ERR_CODE - Evnet type failure error code 03415 // 03416 // Purpose: This is the enumeration of Embedded IOTA event failure error code. 03417 // 03418 // Members: 24 members see below for description 03419 // 03420 // Notes: 03421 // 03423 03424 enum SWI_EMIOTA_EVENT_ERR_CODE 03425 { 03426 SWI_EMIOTA_ERR_MMC_DISCONNECT, // 0:Normal Release (MMC "disconnect") 03427 SWI_EMIOTA_ERR_INVALID_VALREF, // 1:MMC_RESULT_INVALID_VALUEREF 03428 SWI_EMIOTA_ERR_CID_MISSING, // 2:MMC_RESULT_CID_MISSING 03429 SWI_EMIOTA_ERR_DLD_FAILED, // 3:MMC_RESULT_DOWNLOAD_FAILED 03430 SWI_EMIOTA_ERR_RESERVED, // 4:reserved 03431 SWI_EMIOTA_ERR_INVALID_CONTENT, // 5:MMC_RESULT_INVALID_CONTENT 03432 SWI_EMIOTA_ERR_USR_DENIED, // 6:MMC_RESULT_USER_DENIED 03433 SWI_EMIOTA_ERR_BAD_VALUE, // 7:MMC_RESULT_BAD_VALUE 03434 SWI_EMIOTA_ERR_TIMEOUT, // 8:MMC_RESULT_TIMEOUT 03435 SWI_EMIOTA_ERR_NONEW_DOC, // 9:MMC_RESULT_NEW_DOC_ARRIVED 03436 SWI_EMIOTA_ERR_DELETE_FAILED, // 10:MMC_RESULT_DELETE_FAILED 03437 SWI_EMIOTA_ERR_BAD_DATA, // 11:MMC_RESULT_BAD_DATA 03438 SWI_EMIOTA_ERR_DISPLAY_DISABLED, // 12:MMC_RESULT_DISPLAY_DISABLED 03439 SWI_EMIOTA_ERR_WRITE_ONLY, // 13:MMC_RESULT_WRITE_ONLY 03440 SWI_EMIOTA_ERR_RESULT_ABORT, // 14:MMC_RESULT_ABORT 03441 SWI_EMIOTA_ERR_RESERVED1, // 15:reserved 03442 SWI_EMIOTA_ERR_BAD_OBJECT, // 16:MMC_RESULT_BAD_OBJECT 03443 SWI_EMIOTA_ERR_UNKNOWN_RESULT, // 17:MMC_RESULT_UNKNOWN_ERROR 03444 SWI_EMIOTA_ERR_FILE_LOCKED, // 18:MMC_RESULT_FILE_LOCKED 03445 SWI_EMIOTA_ERR_FILE_OPEN, // 19:MMC_RESULT_FILE_OPEN 03446 SWI_EMIOTA_ERR_CHECK_FAILED, // 20:MMC_RESULT_CHECK_FAILED 03447 SWI_EMIOTA_ERR_INVALID_SIZE, // 21:MMC_RESULT_INVALID_SIZE 03448 SWI_EMIOTA_ERR_INVALID_OFFSET, // 22:MMC_RESULT_INVALID_OFFSET 03449 SWI_EMIOTA_ERR_DEVICE_BUSY, // 23:MMC_RESULT_DEVICE_BUSY 03450 SWI_EMIOTA_ERR_RESERVED2, // 24:reserved 03451 //For HTTP Error - actual HTTP error code so other than these error actual http 03452 // errror codes should be captured 03453 }; 03454 03455 03457 // 03458 // Name: SWI_STRUCT_IOTA_State - Embedded ITOA notification data structure 03459 // 03460 // Purpose: This data structure is used as a member of the notification 03461 // SWI_NOTIFY_IOTA_Status. Refer to the description of 03462 // SWI_NOTIFY_IOTA_Status for more detail. 03463 // 03464 // Members: sizeStruct - size of this structure 03465 // State - Power state. See 03466 // SWIHW_TYPE_Power for details. 03467 // 03468 // 03470 struct SWI_STRUCT_IOTA_State 03471 { 03472 U32 sizeStruct; // size of this structure 03473 U16 iEvent; // event type see SWI_EMIOTA_EVENT_TYPE for details 03474 U16 iEventStatus; // event success or failure see SWI_EMIOTA_EVENT_RESULT for details 03475 U16 iSessionEndFailureReason; // Session end failure reason (future support) see SWI_EMIOTA_EVENT_FAIL_REASON for details 03476 U16 iSessionEndErrorCode; // Session end error code (depends on Param 3 Session 03477 //end failure reason) (future support) see SWI_EMIOTA_EVENT_ERR_CODE for details 03478 //For HTTP Error - actual HTTP error code MMC error //code see above 03479 03480 }; 03481 03482 03484 // 03485 // Name: SWI_STRUCT_IOTA_WAPPush - Embedded IOTA WAP URI notification data structure 03486 // 03487 // Purpose: This data structure is used as a member of the notification 03488 // SWI_NOTIFY_IOTA_WAPPush. Refer to the description of 03489 // SWI_NOTIFY_IOTA_WAPPush for more detail. 03490 // 03491 // Members: sizeStruct - size of this structure 03492 // szUri - null terminated string contain the wap trigger. 03493 // 03494 // 03496 struct SWI_STRUCT_IOTA_WAPPush 03497 { 03498 U32 sizeStruct; // size of this structure 03499 U8 szWAPUri[128]; //null terminated URI contains wap trigger 03500 }; 03501 03502 struct SWI_STRUCT_MeidEsn 03503 { 03504 U32 sizeStruct; //size of this structure 03505 U16 nMeidEnabled; // TRUE - MEID/pESN is used in the modem; FALSE - tESN is used in the modem 03506 U16 nMeidPresent; // TRUE - MEID provisioned in the modem; FALSE - MEID has never been written 03507 U32 nMeidHigh; // (high word of qword) 56 bits of MEID if MEID is provisioned; otherwise, all 0's 03508 U32 nMeidLow; // (low word of qword) 56 bits of MEID if MEID is provisioned; otherwise, all 0's 03509 U32 nPEsn; // 32 bits of pESN if MEID is provisioned; otherwise, all 0's 03510 U16 nTEsnPresent; // TRUE - tESN provisioned in the modem; FALSE - tESN has never been written 03511 U32 nEsn; // 32 bits of tESN if tESN provisioned; otherwise, all 0's 03512 }; 03513 03514 typedef void (*SWAP_FUNCTION_TYPE)(U8*); 03515 03516 //typedef void (*SWI_FUNCTION_NOTIFY)(U8*, SwiNotifyVariant&); 03517 03518 #endif //__SWI_STRUCTS_CDMA_H