00001 00002 // 00003 // $Revision: 11 $ 00004 // 00005 // Name : SwiMpStructsCm.h 00006 // 00007 // Purpose : Contains all MP related structures and enumerations 00008 // 00009 // Note : The contents of this header file are specific to the 00010 // MP products only 00011 // 00012 // Copyright (c) 2003 Sierra Wireless, Inc. All rights reserved 00013 // 00015 00016 #ifndef __SWI_MP_STRUCTS_ 00017 #define __SWI_MP_STRUCTS_ 00018 00019 #include "SwiDatatypes.h" 00020 00021 #define LENGTH_IoName 21 00022 #define LENGTH_IoLowName 21 00023 #define LENGTH_IoHighName 21 00024 #define LENGTH_IoUnitName 21 00025 #define NUM_EXT_DIO 5 00026 #define NUM_EXT_AI 5 00027 #define MAX_NOTIF_LIST 122 00028 #define LENGTH_GpsCommand 129 00029 #define LENGTH_MPProuductSig 9 00030 #define LENGTH_MpVersion 85 00031 #define LENGTH_MpFwBuildDate 9 00032 #define LENGTH_MpHwVersion 5 00033 #define LENGTH_MpHwBuildDate 7 00034 #define LENGTH_MpFsn 16 // backward compatible with pre-R1_0_9AP firmware (currently it's 14) 00035 #define LENGTH_MpName 33 00036 #define LENGTH_MpBatchNumber 4 00037 #define LENGTH_AccessPointName 101 00038 #define LENGTH_UserNameMp 33 00039 #define LENGTH_PasswordMp 33 00040 #define LENGTH_Label 31 00041 #define LENGTH_MaxMp555Name 73 00042 #define LENGTH_MaxMp555Phone 33 00043 #define LENGTH_MaxMp555Pass 17 00044 #define LENGTH_MpManagerData 1412 00045 #define LENGTH_DnsName 128 00046 #define LENGTH_InitString 129 00047 #define MAX_MpGpsInitStrings 5 00048 #define LENGTH_Domain 15 00049 #define LENGTH_MP_IPAddress 16 00050 #define LENGTH_Ssid 33 00051 #define LENGTH_WifiKey 65 00052 #define LENGTH_MpUnlockCode 16 00053 00054 00056 // 00057 // Name: SWI_TYPE_GpsStatus - enumerations for Gps status 00058 // 00059 // Purpose: Enumerations used to classify different Gps statuses 00060 // 00061 // Members: SWI_GPSSTATUS_Reserved - Reserved for future use 00062 // 00063 // SWI_GPSSTATUS_None - None status 00064 // 00065 // SWI_GPSSTATUS_NotFixed - Minimum number of satellite signals not yet 00066 // acquired 00067 // 00068 // SWI_GPSSTATUS_Full - Minimum number of satellite signals acquired 00069 // 00070 // Notes: None 00071 // 00073 enum SWI_TYPE_GpsStatus 00074 { 00075 SWI_GPSSTATUS_Reserved, 00076 SWI_GPSSTATUS_None, 00077 SWI_GPSSTATUS_NotFixed, 00078 SWI_GPSSTATUS_Full, 00079 }; 00080 00082 // 00083 // Name: SWI_TYPE_Direction - enumerations of Gps directions 00084 // 00085 // Purpose: Enumerations used to classify different Gps directions 00086 // 00087 // Members: SWI_DIRECTION_North 00088 // 00089 // SWI_DIRECTION_South 00090 // 00091 // SWI_DIRECTION_East 00092 // 00093 // SWI_DIRECTION_West 00094 // 00095 // Notes: Note that within the Gps notification structure (SWI_STRUCT_Gps), 00096 // a validity flag is present along with any SWI_TYPE_Direction field. 00097 // Check the corresponding validity flag first before looking at any 00098 // SWI_TYPE_Direction field to make sure that it's valid. 00099 // 00101 enum SWI_TYPE_Direction 00102 { 00103 SWI_DIRECTION_North, 00104 SWI_DIRECTION_South, 00105 SWI_DIRECTION_East, 00106 SWI_DIRECTION_West 00107 }; 00108 00109 00111 // 00112 // Name: SWI_TYPE_GpsProtocol - enumerations of Gps protocols 00113 // 00114 // Purpose: Enumerations used to classify different Gps protocols 00115 // 00116 // Members: SWI_GPSPROTOCOL_Taip - TAIP protocol 00117 // 00118 // SWI_GPSPROTOCOL_Nmea - NMEA protocol 00119 // 00120 // SWI_GPSPROTOCOL_Tsip - TSIP protocol 00121 // 00122 // Notes: None 00123 // 00125 enum SWI_TYPE_GpsProtocol 00126 { 00127 SWI_GPSPROTOCOL_Taip, 00128 SWI_GPSPROTOCOL_Nmea, 00129 SWI_GPSPROTOCOL_Tsip, 00130 }; 00131 00132 00134 // 00135 // Name: SWI_STRUCT_Gps - Gps notification structure 00136 // 00137 // Purpose: This structure contains the GPS data information sent by the GPS unit. 00138 // It provides constant and up to date Gps data to the host software. 00139 // 00140 // 00141 // Members: sizeStruct - size of this structure 00142 // 00143 // bStatusValid - true - eGpsStatus valid, false otherwise 00144 // 00145 // eProtocol - SWI_TYPE_GpsProtocol enumerated type 00146 // 00147 // eGpsStatus - SWI_TYPE_GpsStatus enumerated type 00148 // 00149 // bLatitudeValid - true - latitude info valid, false otherwise 00150 // 00151 // eLatDirection - SWI_TYPE_Direction enumerated type 00152 // 00153 // nLatDegree - latitude degree 00154 // 00155 // nLatMinute - latitude minute 00156 // 00157 // nLatSecond - latitude second 00158 // 00159 // nLatSecondDecimal - latitude second decimal 00160 // 00161 // bLongtitudeValid - true - longtitude info valid, false otherwise 00162 // 00163 // eLongDirection - SWI_TYPE_Direction enumerated type 00164 // 00165 // nLongDegree - longtitude degree 00166 // 00167 // nLongMinute - longtitude minute 00168 // 00169 // nLongSecond - longtitude second 00170 // 00171 // nLongSecondDecimal - longtitude second decimal 00172 // 00173 // bAltitudeValid - true - altitude info valid, false otherwise 00174 // 00175 // nAltitudeDirection - 0 - '+' above sea level, 1 - '-' below sea level 00176 // 00177 // nAltitude - meters 00178 // 00179 // nAltitudeDecimal - meters 00180 // 00181 // bSpeedValid - true - horizontal speed info valid, false otherwise 00182 // 00183 // nHorizSpeed - km/h 00184 // 00185 // nHorizSpeedDecimal - km/h 00186 // 00187 // bHeadingValid - true - heading info valid, false otherwise 00188 // 00189 // nHeading - degrees 00190 // 00191 // nHeadingDecimal - heading decimal degrees 00192 // 00193 // bNumSvUsedValid - true - number of satellites used info valid, false otherwise 00194 // 00195 // nNumSvUsed - number of satellites used, 0-12 00196 // 00197 // bUtcValid - true - UTC info valid, false otherwise 00198 // 00199 // nUtcHour - hour in UTC, 0-23 00200 // 00201 // nUtcMinute - minute in UTC, 0-59 00202 // 00203 // nUtcSecond - second in UTC, 0-59 00204 // 00205 // nUtcDay - day in UTC, 1-31 00206 // 00207 // nUtcMonth - month in UTC, 1-12 00208 // 00209 // nUtcYear - year in UTC, 1997-2016 00210 // 00211 // Notes: None 00212 // 00214 struct SWI_STRUCT_Gps 00215 { 00216 U32 sizeStruct; 00217 bool bStatusValid; 00218 SWI_TYPE_GpsProtocol eProtocol; 00219 SWI_TYPE_GpsStatus eGpsStatus; 00220 bool bLatitudeValid; 00221 SWI_TYPE_Direction eLatDirection; 00222 U32 nLatDegree; 00223 U32 nLatMinute; 00224 U32 nLatSecond; 00225 U32 nLatSecondDecimal; 00226 bool bLongtitudeValid; 00227 SWI_TYPE_Direction eLongDirection; 00228 U32 nLongDegree; 00229 U32 nLongMinute; 00230 U32 nLongSecond; 00231 U32 nLongSecondDecimal; 00232 bool bAltitudeValid; 00233 U32 nAltitudeDirection; 00234 U32 nAltitude; 00235 U32 nAltitudeDecimal; 00236 bool bSpeedValid; 00237 U32 nHorizSpeed; 00238 U32 nHorizSpeedDecimal; 00239 bool bHeadingValid; 00240 U32 nHeading; 00241 U32 nHeadingDecimal; 00242 bool bNumSvUsedValid; 00243 U32 nNumSvUsed; 00244 bool bUtcValid; 00245 U32 nUtcHour; 00246 U32 nUtcMinute; 00247 U32 nUtcSecond; 00248 U32 nUtcDay; 00249 U32 nUtcMonth; 00250 U32 nUtcYear; 00251 }; 00252 00253 00255 // 00256 // Name: SWI_STRUCT_GpsCommand - Gps command structure 00257 // 00258 // Purpose: This structure is used as input by the SwiSetGPSCommand function, 00259 // it stores the Gps command to be sent to the Gps module. 00260 // 00261 // Members: sizeStruct - size of this structure 00262 // 00263 // szCommand - null terminated Gps command 00264 // 00265 // Notes: None 00266 // 00268 struct SWI_STRUCT_GpsCommand 00269 { 00270 U32 sizeStruct; 00271 WCHAR szCommand[LENGTH_GpsCommand]; 00272 }; 00273 00274 00276 // 00277 // Name: SWI_TYPE_SwitchMode - enumerations for data link modes 00278 // 00279 // Purpose: These enumerations are used as output by SwiGetSwitchMode and input by 00280 // SwiSwitchMode. 00281 // 00282 // Members: MODE_None - AT command mode 00283 // 00284 // MODE_Comm - HDLC (Serial) mode 00285 // 00286 // MODE_Udp - UDP mode, used during an active data connection 00287 // 00288 // MODE_Ndis - USB/NDIS mode 00289 // 00290 // Notes: None 00291 // 00293 enum SWI_TYPE_SwitchMode 00294 { 00295 MODE_None, 00296 MODE_Comm, 00297 MODE_Udp, 00298 MODE_Ndis, 00299 }; 00300 00301 00303 // 00304 // Name: SWI_TYPE_IO - IO type 00305 // 00306 // Purpose: Enumerations used to classify types of input/output 00307 // 00308 // 00309 // Members: IO_Input - IO input 00310 // 00311 // IO_Output - IO output 00312 // 00313 // IO_Unused - IO unused 00314 // 00315 // Notes: None 00316 // 00318 enum SWI_TYPE_IO 00319 { 00320 IO_Input, 00321 IO_Output, 00322 IO_Unused = 0xFF 00323 }; 00324 00326 // 00327 // Name: SWI_TYPE_IoAlarm - input/output alarm type 00328 // 00329 // Purpose: Enumerations used to classify input/output alarm types 00330 // 00331 // 00332 // Members: IOALARM_None - never trigger an alarm 00333 // 00334 // IOALARM_Low - trigger alarm when signal goes low 00335 // 00336 // IOALARM_High - trigger alarm when signal goes high 00337 // 00338 // IOALARM_LogOnly - log signal only 00339 // 00340 // Notes: None 00341 // 00343 enum SWI_TYPE_IoAlarm 00344 { 00345 IOALARM_None, 00346 IOALARM_Low, 00347 IOALARM_High, 00348 IOALARM_LogOnly 00349 }; 00350 00351 00353 // 00354 // Name: SWI_STRUCT_ExtDioCfg - external digital input/output configuration 00355 // 00356 // Purpose: Used by functions SwiGetExternalDigitalIOConfig and 00357 // SwiSetExternalDigitalIOConfig. The host software uses this structure 00358 // to get/set an external digital I/O using SwiGetExternalDigitalIOConfig 00359 // and SwiSetExternalDigitalIOConfig respectively. 00360 // 00361 // 00362 // Members: sizeStruct - size of this structure 00363 // 00364 // nIndex - external IO index 00365 // 00366 // eIoType - SWI_TYPE_IO enumerated type 00367 // 00368 // strIoName - label 00369 // 00370 // strIoLowName - IO name to use when signal is low 00371 // 00372 // strIoHighName - IO name to use when signal is high 00373 // 00374 // eAlarmType - SWI_TYPE_IoAlarm enumerated type 00375 // 00376 // bLogicLevelHigh - false-signal is low, true-signal is high 00377 // 00378 // Notes: None 00379 // 00381 struct SWI_STRUCT_ExtDioCfg 00382 { 00383 U32 sizeStruct; 00384 U32 nIndex; 00385 SWI_TYPE_IO eIoType; 00386 WCHAR strIoName[LENGTH_IoName]; 00387 WCHAR strIoLowName[LENGTH_IoLowName]; 00388 WCHAR strIoHighName[LENGTH_IoHighName]; 00389 SWI_TYPE_IoAlarm eAlarmType; 00390 bool bLogicLevelHigh; 00391 }; 00392 00394 // 00395 // Name: SWI_STRUCT_ExtDioNotif - external digital input/output notification 00396 // 00397 // Purpose: Received through the SWI_NOTIFY_ExtDio notification. This notification 00398 // returns the current logic level of all the I/O's. 00399 // 00400 // Members: sizeStruct - size of this structure 00401 // 00402 // bLevelHigh - false-signal is low, true-signal is high 00403 // 00404 // Notes: Index 0 is reserved 00405 // 00407 struct SWI_STRUCT_ExtDioNotif 00408 { 00409 U32 sizeStruct; 00410 bool bLevelHigh[NUM_EXT_DIO]; 00411 }; 00412 00414 // 00415 // Name: SWI_STRUCT_ExtAiCfg 00416 // 00417 // Purpose: Used by functions SwiGetExternalAnalogIOConfig and 00418 // SwiSetExternalAnalogIOConfig. The host software uses this structure 00419 // to get/set the logic level of an external analog output using 00420 // SwiGetExternalAnalogIOConfig and SwiSetExternalAnalogIOConfig respectively. 00421 // 00422 // 00423 // Members: sizeStruct - size of this structure 00424 // 00425 // nIndex - external analog I/O index 00426 // 00427 // strIoName - IO name 00428 // 00429 // strUnitName - unit name 00430 // 00431 // nRawValue - 0-1023 00432 // 00433 // nZeroScale - user specified bottom scale value 00434 // 00435 // nFullScale - user specified top scale value 00436 // 00437 // nCurrentValue - calculated value based on user specified range 00438 // 00439 // Notes: Index 0 is reserved 00440 // 00442 struct SWI_STRUCT_ExtAiCfg 00443 { 00444 U32 sizeStruct; 00445 U32 nIndex; 00446 WCHAR strIoName[LENGTH_IoName]; 00447 WCHAR strUnitName[LENGTH_IoUnitName]; 00448 U32 nRawValue; 00449 U32 nZeroScale; 00450 U32 nFullScale; 00451 U32 nCurrentValue; 00452 }; 00453 00455 // 00456 // Name: SWI_STRUCT_ExtAiNotif 00457 // 00458 // Purpose: Received through the SWI_NOTIFY_ExtAi notification. This notification 00459 // returns the current logic level of all the external analog Input's. 00460 // 00461 // 00462 // Members: sizeStruct - size of this structure 00463 // 00464 // nRawValue - raw value 00465 // 00466 // nCurrentValue - calculated value based on user specified range 00467 // 00468 // Notes: None 00469 // 00471 struct SWI_STRUCT_ExtAiNotif 00472 { 00473 U32 sizeStruct; 00474 U32 nRawValue[NUM_EXT_AI]; 00475 U32 nCurrentValue[NUM_EXT_AI]; 00476 }; 00477 00478 00480 // 00481 // Name: SWI_STRUCT_MpRevision 00482 // 00483 // Purpose: Used for detecting compatibility between MP firmware and software 00484 // 00485 // Members: sizeStruct - size of this structure 00486 // 00487 // szSignature 00488 // 00489 // nReverseProductId 00490 // 00491 // nForwardProductId 00492 // 00493 // Notes: None 00494 // 00496 struct SWI_STRUCT_MpRevision 00497 { 00498 U32 sizeStruct; 00499 WCHAR szSignature [LENGTH_MPProuductSig]; 00500 U32 nReverseProductId; 00501 U32 nForwardProductId; 00502 }; 00503 00504 00506 // 00507 // Name: SWI_STRUCT_MPIgnSense - Mp ignition sense structure 00508 // 00509 // Purpose: Used by SwiGetMpIgnitionSense and SwiSetMpIgnitionSense. 00510 // Structure used to retrieve or set the 'time delay' between loss of 00511 // ignition sense and modem power-off. 00512 // 00513 // Members: sizeStruct - size of this structure 00514 // 00515 // nTimeRemaining - 0-240 (minutes) 00516 // 00517 // bIgnitionSenseOn 00518 // 00519 // Notes: None 00520 // 00522 struct SWI_STRUCT_IgnSense 00523 { 00524 U32 sizeStruct; 00525 U32 nTimeRemaining; 00526 bool bIgnitionSenseOn; 00527 }; 00528 00529 00531 // 00532 // Name: SWI_STRUCT_MpDataCount - Data counter structure 00533 // 00534 // Purpose: Used by functions SwiGetMpDataCount and SwiResetMpByteCount. User 00535 // must set the appropriate values for nYear, nMonth, nDay, nHour, 00536 // nMinute, and nSecond before passing the structure to one of the 00537 // above API calls. 00538 // 00539 // Members: sizeStruct - size of structure 00540 // 00541 // nTotalBytesTx 00542 // 00543 // nTotalBytesRx 00544 // 00545 // nLifetimeBytesTxUpper 00546 // 00547 // nLifetimeBytesTxLower 00548 // 00549 // nLifetimeBytesRxUpper 00550 // 00551 // nLifetimeBytesRxLower 00552 // 00553 // nYear - (1-255, 0 if not initialized) 00554 // 00555 // nMonth - (1-12, 0 if not initialized) 00556 // 00557 // nDay - (1-31, 0 if not initialized) 00558 // 00559 // nHour - (0-23) 00560 // 00561 // nMinute - (0-59) 00562 // 00563 // nSecond - (0-59) 00564 // 00565 // Notes: None 00566 // 00568 struct SWI_STRUCT_MpDataCount 00569 { 00570 U32 sizeStruct; 00571 U32 nTotalBytesTx; 00572 U32 nTotalBytesRx; 00573 U64 nLifetimeBytesTx; 00574 U64 nLifetimeBytesRx; 00575 U32 nYear; 00576 U32 nMonth; 00577 U32 nDay; 00578 U32 nHour; 00579 U32 nMinute; 00580 U32 nSecond; 00581 }; 00582 00584 // 00585 // Name: SWI_STRUCT_MpByteCounter - MP byte counter structure 00586 // 00587 // Purpose: Received through the SWI_NOTIFY_MpByteCount notification. Generally 00588 // used by the host software to detect the amount of transmit and receive 00589 // bytes being passed during an active data connection. 00590 // 00591 // Members: sizeStruct - size of this structure 00592 // 00593 // TransmitBytes - total transmit bytes 00594 // 00595 // ReceiveBytes - total received bytes 00596 // 00597 // Notes: None 00598 // 00600 struct SWI_STRUCT_MpByteCounter 00601 { 00602 U32 sizeStruct; 00603 U32 TransmitBytes; 00604 U32 ReceiveBytes; 00605 }; 00606 00608 // 00609 // Name: SWI_STRUCT_RfDownload - RF download structure 00610 // 00611 // Purpose: Received through the SWI_NOTIFY_RfDownload notification. Reports 00612 // the progress of the download to the RF module in the MP. 00613 // 00614 // Members: sizeStruct - size of this structure 00615 // 00616 // nTotalSize - total size of download 00617 // 00618 // nCurrentProgress - size remaining to download 00619 // 00620 // Notes: None 00621 // 00623 struct SWI_STRUCT_RfDownload 00624 { 00625 U32 sizeStruct; 00626 U32 nTotalSize; 00627 U32 nCurrentProgress; 00628 }; 00629 00631 // 00632 // Name: SWI_STRUCT_SimSled - SimSled status structure 00633 // 00634 // Purpose: Received through the SWI_NOTIFY_SimSled notification. Used to provide 00635 // the open/close status of the SIM sled (drawer). Note that the SIM 00636 // sled may be closed, but without a SIM. 00637 // 00638 // Members: sizeStruct - size of this structure 00639 // 00640 // bSledOpen - true-sled open, false otherwise 00641 // 00642 // Notes: None 00643 // 00645 struct SWI_STRUCT_SimSled 00646 { 00647 U32 sizeStruct; 00648 bool bSledOpen; 00649 }; 00650 00652 // 00653 // Name: SWI_STRUCT_BatteryStatus - Battery status structure 00654 // 00655 // Purpose: Received through the SWI_NOTIFY_BatteryStatus notification. Used by 00656 // the host software to detect battery status. A notification is sent 00657 // when the battery voltage has dropped to a sustained low level. If the 00658 // battery voltage rises back to a normal status a notification is sent. 00659 // 00660 // Members: sizeStruct - size of this structure 00661 // 00662 // bLow - true if battery status low 00663 // 00664 // nMillivolts - voltage in millivolts 00665 // 00666 // Notes: None 00667 // 00669 struct SWI_STRUCT_BatteryStatus 00670 { 00671 U32 sizeStruct; 00672 bool bLow; 00673 U32 nMillivolts; 00674 }; 00675 00677 // 00678 // Name: SWI_TYPE_BarredServices 00679 // 00680 // Purpose: Enumerations used to classify barred services 00681 // 00682 // Members: BARREDSERV_None - Default, no services are restricted 00683 // 00684 // BARREDSERV_All - restrict all services 00685 // 00686 // BARREDSERV_Fallback - restrict circuit switched data 00687 // 00688 // BARREDSERV_Packet - restrict packet switched data 00689 // 00690 // Notes: None 00691 // 00693 enum SWI_TYPE_BarredServices 00694 { 00695 BARREDSERV_None, 00696 BARREDSERV_All, 00697 BARREDSERV_Fallback, 00698 BARREDSERV_Packet 00699 }; 00700 00702 // 00703 // Name: SWI_STRUCT_MpNetworkConf 00704 // 00705 // Purpose: Used by functions SwiGetMpNetworkConf and SwiSetMpNetworkConf to 00706 // retrieve or set network configuration information stored on the MP modem. 00707 // 00708 // Members: sizeStruct - size of this structure 00709 // 00710 // nFallbackInterval - in seconds 00711 // 00712 // nInactivityInterval - in seconds 00713 // 00714 // nFallbackRecovery - 0x00-disconnect, 0x01-Nothing 00715 // 00716 // nOperatingMode - 0x00-on demand, 0x01-always on 00717 // 00718 // eBarredServices - default none 00719 // 00720 // Notes: None 00721 // 00723 struct SWI_STRUCT_MpNetworkConf 00724 { 00725 U32 sizeStruct; 00726 U32 nFallbackInterval; 00727 U32 nInactivityInterval; 00728 U32 nFallbackRecovery; 00729 U32 nOperatingMode; 00730 SWI_TYPE_BarredServices eBarredServices; 00731 }; 00732 00734 // 00735 // Name: SWI_STRUCT_MpFwVersion - MP Firmware version 00736 // 00737 // Purpose: This structure is used as output by the SwiGetMpFwVersion function. 00738 // 00739 // Members: sizeStruct - size of this structure 00740 // 00741 // strVersion - null terminated firmware version 00742 // 00743 // Notes: None 00744 // 00746 struct SWI_STRUCT_MpFwVersion 00747 { 00748 U32 sizeStruct; 00749 WCHAR strVersion[LENGTH_MpVersion]; 00750 }; 00751 00753 // 00754 // Name: SWI_STRUCT_MpFwBuildDate - MP Firmware build date 00755 // 00756 // Purpose: This structure is used as output by the SwiGetMpFwBuildDate function. 00757 // 00758 // Members: sizeStruct - size of this structure 00759 // 00760 // strBuildDate - null terminated firmware build date 00761 // 00762 // Notes: None 00763 // 00765 struct SWI_STRUCT_MpFwBuildDate 00766 { 00767 U32 sizeStruct; 00768 WCHAR strBuildDate[LENGTH_MpFwBuildDate]; 00769 }; 00770 00772 // 00773 // Name: SWI_STRUCT_MpBootLoaderVersion - MP Boot loader version 00774 // 00775 // Purpose: This structure is used as output by the SwiGetMpBootLoaderVersion function. 00776 // 00777 // Members: sizeStruct - size of this structure 00778 // 00779 // strVersion - null terminated boot loader version 00780 // 00781 // Notes: None 00782 // 00784 struct SWI_STRUCT_MpBootLoaderVersion 00785 { 00786 U32 sizeStruct; 00787 WCHAR strVersion[LENGTH_MpVersion]; 00788 }; 00789 00791 // 00792 // Name: SWI_STRUCT_MpHwVersion - MP hardware version 00793 // 00794 // Purpose: This structure is used as output by the SwiGetMpHwVersion function. 00795 // 00796 // Members: sizeStruct - size of this structure 00797 // 00798 // strVersion - null terminated hardware version 00799 // 00800 // Notes: None 00801 // 00803 struct SWI_STRUCT_MpHwVersion 00804 { 00805 U32 sizeStruct; 00806 WCHAR strVersion[LENGTH_MpHwVersion]; 00807 }; 00808 00810 // 00811 // Name: SWI_STRUCT_MpHwBuildDate - MP hardware build date 00812 // 00813 // Purpose: This structure is used as output by the SwiGetMpHwBuildDate function. 00814 // 00815 // Members: sizeStruct - size of this structure 00816 // 00817 // strBuildDate - null terminated hardware build date 00818 // 00819 // Notes: None 00820 // 00822 struct SWI_STRUCT_MpHwBuildDate 00823 { 00824 U32 sizeStruct; 00825 WCHAR strBuildDate[LENGTH_MpHwBuildDate]; 00826 }; 00827 00829 // 00830 // Name: SWI_STRUCT_MpBatchNumber - MP batch number 00831 // 00832 // Purpose: This structure is used as output by the SwiGetMpBatchNumber function. 00833 // 00834 // Members: sizeStruct - size of this structure 00835 // 00836 // strBatchNumber - null terminated batch number 00837 // 00838 // Notes: None 00839 // 00841 struct SWI_STRUCT_MpBatchNumber 00842 { 00843 U32 sizeStruct; 00844 WCHAR strBatchNumber[LENGTH_MpBatchNumber]; 00845 }; 00846 00848 // 00849 // Name: SWI_STRUCT_MpFsn - MP factory serial number 00850 // 00851 // Purpose: This structure is used as output by the SwiGetMpFsn function. 00852 // 00853 // Members: sizeStruct - size of this structure 00854 // 00855 // strFsn - null terminated fsn number 00856 // 00857 // Notes: None 00858 // 00860 struct SWI_STRUCT_MpFsn 00861 { 00862 U32 sizeStruct; 00863 WCHAR strFsn[LENGTH_MpFsn]; 00864 }; 00865 00867 // 00868 // Name: SWI_STRUCT_MpName - MP device name 00869 // 00870 // Purpose: This structure is used as output by the SwiGetMpDeviceName function. 00871 // 00872 // Members: sizeStruct - size of this structure 00873 // 00874 // strFsn - null terminated device name 00875 // 00876 // Notes: None 00877 // 00879 struct SWI_STRUCT_MpName 00880 { 00881 U32 sizeStruct; 00882 WCHAR strName[LENGTH_MpName]; 00883 }; 00884 00886 // 00887 // Name: SWI_TYPE_MpShutdown - enumerations for cause of MP shutdown 00888 // 00889 // Purpose: Enumerations used to classify MP shutdown reasons 00890 // 00891 // Members: MPSHUTDOWN_Unknown - reason unknown 00892 // 00893 // MPSHUTDOWN_PowerOffTimer - shutdown due to power off timer 00894 // 00895 // MPSHUTDOWN_LowBattery - shutdown due to low battery 00896 // 00897 // Notes: None 00898 // 00900 enum SWI_TYPE_MpShutdown 00901 { 00902 MPSHUTDOWN_Unknown, 00903 MPSHUTDOWN_PowerOffTimer, 00904 MPSHUTDOWN_LowBattery, 00905 }; 00906 00908 // 00909 // Name: SWI_STRUCT_MpShutdown - MP shutdown information structure 00910 // 00911 // Purpose: This structure contains the reason behind a MP shutdown 00912 // 00913 // Members: sizeStruct - size of this structure 00914 // 00915 // eShutdown - reason for shutdown 00916 // 00917 // Notes: None 00918 // 00920 struct SWI_STRUCT_MpShutdown 00921 { 00922 U32 sizeStruct; 00923 SWI_TYPE_MpShutdown eShutdown; 00924 }; 00925 00927 // 00928 // Name: SWI_STRUCT_MpConnectionSetup - profile information structure 00929 // 00930 // Purpose: Used by functions SwiSetMpCnxSetup and SwiGetMpCnxSetup. Structure 00931 // stores profile information to be retrieved/set. The 'sizeStruct' and 00932 // 'nIndex' fields must be set in the structure before passing it to 00933 // SwiGetMpCnxSetup. The 'sizeStruct', 'nIndex', and 'szLabel' fields must 00934 // be set in the structure before passing it to SwiSetMpCnxSetup. When using 00935 // SwiSetMpCnxSetup the rest of the fields should be filled out as 00936 // well (ie. szUserName, szPassword, szApnPhone), if these fields aren't 00937 // filled out then the API will write NULL to them . 00938 // 00939 // Members: sizeStruct - size of this structure 00940 // 00941 // nIndex - 0x00 Reserved, 0x01-0x03 00942 // 00943 // szLabel - Profile label 00944 // 00945 // szUserName - User name 00946 // 00947 // szPassword - User password 00948 // 00949 // szApnPhone - access point name/phone number 00950 // 00951 // bValid - true if this is a valid profile 00952 // 00953 // bDefault - true if this is a default profile 00954 // 00955 // Notes: None 00956 // 00958 struct SWI_STRUCT_MpConnectionSetup 00959 { 00960 U32 sizeStruct; 00961 U32 nIndex; 00962 WCHAR szLabel[LENGTH_Label]; 00963 WCHAR szUserName[LENGTH_UserNameMp]; 00964 WCHAR szPassword[LENGTH_PasswordMp]; 00965 WCHAR szDomain[LENGTH_Domain]; 00966 WCHAR szApnPhone[LENGTH_AccessPointName]; 00967 bool bValid; 00968 bool bDefault; 00969 }; 00970 00971 struct SWI_STRUCT_Mp555ConnectionSetup 00972 { 00973 U32 sizeStruct; 00974 U32 nVersion; 00975 U32 nIndex; 00976 bool bValid; 00977 bool bDefault; 00978 WCHAR szLabel[LENGTH_Label]; 00979 WCHAR szUserName[LENGTH_MaxMp555Name]; 00980 WCHAR szPassword[LENGTH_MaxMp555Pass]; 00981 WCHAR szDomain[LENGTH_Domain]; 00982 WCHAR szPhone[LENGTH_MaxMp555Phone]; 00983 00984 }; 00985 00987 // 00988 // Name: SWI_TYPE_MpConnectResult - Result of an Mp test connection 00989 // 00990 // Purpose: Enumerations used to classify test connection results 00991 // 00992 // Members: MPCONNECT_Ok 00993 // 00994 // MPCONNECT_OkFallback 00995 // 00996 // MPCONNECT_Failed 00997 // 00998 // MPCONNECT_NoService 00999 // 01000 // MPCONNECT_NoPacketService 01001 // 01002 // MPCONNECT_NoProfile 01003 // 01004 // MPCONNECT_ServiceBarred 01005 // 01006 // MPCONNECT_IncorrectService 01007 // 01008 // MPCONNECT_Busy 01009 // 01010 // Notes: None 01011 // 01013 enum SWI_TYPE_MpConnectResult 01014 { 01015 MPCONNECT_Ok, 01016 MPCONNECT_OkFallback, 01017 MPCONNECT_Failed, 01018 MPCONNECT_NoService, 01019 MPCONNECT_NoPacketService, 01020 MPCONNECT_NoProfile, 01021 MPCONNECT_ServiceBarred, 01022 MPCONNECT_IncorrectService, 01023 MPCONNECT_Busy, 01024 MPCONNECT_IncorrectId, 01025 MPCONNECT_IpReady = 0xc, // Same as MPDISCONNECT_IpReady. 01026 }; 01027 01029 // 01030 // Name: SWI_STRUCT_MpConnect 01031 // 01032 // Purpose: Received through the SWI_NOTIFY_MpConnect notification. Stores 01033 // the result of a MP test connection 01034 // 01035 // Members: sizeStruct - size of this structure 01036 // 01037 // nIndex - index of profile 01038 // 01039 // eResult - result of connection attempt 01040 // 01041 // Notes: None 01042 // 01044 struct SWI_STRUCT_MpConnect 01045 { 01046 U32 sizeStruct; 01047 U32 nIndex; 01048 SWI_TYPE_MpConnectResult eResult; 01049 }; 01050 01052 // 01053 // Name: SWI_STRUCT_MpStartupDiag 01054 // 01055 // Purpose: Structure used to store results of start up diagnostics 01056 // 01057 // Members: sizeStruct - size of this structure 01058 // 01059 // Notes: None 01060 // 01062 struct SWI_STRUCT_MpStartupDiag 01063 { 01064 U32 sizeStruct; 01065 }; 01066 01068 // 01069 // Name: SWI_STRUCT_MpStartupConfig 01070 // 01071 // Purpose: Used to configure what UDP port to use on the MP 01072 // 01073 // Members: sizeStruct - size of this structure 01074 // 01075 // nModemPortNumber - port number on the modem side 01076 // 01077 // nHostPortNumber - port number on the host side 01078 // 01079 // nLengthIp - length of IP 01080 // 01081 // szIp - internal IP 01082 // 01083 // Notes: None 01084 // 01086 struct SWI_STRUCT_MpStartupConfig 01087 { 01088 U32 sizeStruct; 01089 U32 nModemPortNumber; 01090 U32 nHostPortNumber; 01091 U32 nLengthIp; 01092 U8 byIp[LENGTH_MP_IPAddress]; 01093 }; 01094 01096 // 01097 // Name: SWI_TYPE_MpDisconnectResult - Result of an Mp test disconnection 01098 // 01099 // Purpose: Enumerations used to classify test disconnection results 01100 // 01101 // Members: MPDISCONNECT_Ok 01102 // 01103 // MPDISCONNECT_IpReady 01104 // 01105 // Notes: None 01106 // 01108 enum SWI_TYPE_MpDisconnectResult 01109 { 01110 MPDISCONNECT_Ok = 0x0, 01111 MPDISCONNECT_IpReady = 0xc, // Chosen to be same as MPCONNECT_IpReady . 01112 }; 01113 01115 // 01116 // Name: SWI_STRUCT_MpDisconnect - Mp disconnection structure 01117 // 01118 // Purpose: Received through the SWI_NOTIFY_MpDisconnect notification. 01119 // Note: This is a USB only structure 01120 // 01121 // Members: sizeStruct - size of this structure 01122 // 01123 // eResult - result of disconnection attempt 01124 // 01125 // Notes: None 01126 // 01128 struct SWI_STRUCT_MpDisconnect 01129 { 01130 U32 sizeStruct; 01131 SWI_TYPE_MpDisconnectResult eResult; 01132 }; 01133 01135 // 01136 // Name: SWI_STRUCT_MpActiveSetup - Mp active setup structure 01137 // 01138 // Purpose: Used by SwiGetMpActiveSetup to determine the active setup index 01139 // 01140 // Members: sizeStruct - size of this structure 01141 // 01142 // nActiveSetup - 0x00: reserved, 01143 // 0x01-0x03: setup index 1 to 3, 01144 // 0x04: fallback profile, 01145 // 0x0ff: no active setup 01146 // 01147 // Notes: None 01148 // 01150 struct SWI_STRUCT_MpActiveSetup 01151 { 01152 U32 sizeStruct; 01153 U32 nActiveSetup; 01154 }; 01155 01157 // 01158 // Name: SWI_STRUCT_MpManagerCfg - Mp Manager configuration 01159 // 01160 // Purpose: Contains MP Manager configuration settings 01161 // 01162 // Members: sizeStruct - size of this structure 01163 // 01164 // 01165 // 01166 // Notes: None 01167 // 01169 struct SWI_STRUCT_MpManagerCfg 01170 { 01171 U32 sizeStruct; 01172 bool bVpnSupport; 01173 U16 nRnapUdpPort; 01174 U16 nRawUdpPort; 01175 }; 01176 01178 // 01179 // Name: SWI_TYPE_MpManagerData 01180 // 01181 // Purpose: Enumerations used to classify MP Manager data types 01182 // 01183 // Members: MPMGRDATA_Rnap - RNAP data 01184 // 01185 // MPMGRDATA_Raw - RAW GPS data 01186 // 01187 // Notes: None 01188 // 01190 enum SWI_TYPE_MpManagerData 01191 { 01192 MPMGRDATA_Rnap, 01193 MPMGRDATA_Raw, 01194 }; 01195 01197 // 01198 // Name: SWI_STRUCT_MpManagerData - Mp Manager Data packet 01199 // 01200 // Purpose: Contains MP Manager relay data 01201 // 01202 // Members: sizeStruct - size of this structure 01203 // eType - type of data 01204 // nDestinationIp - destination IP 01205 // nDestinationPort - destination port 01206 // nSourceIp - source IP 01207 // nSourcePort - source port 01208 // nLengthPayload - length of payload 01209 // byPayload - payload 01210 // 01211 // Notes: None 01212 // 01214 struct SWI_STRUCT_MpManagerData 01215 { 01216 U32 sizeStruct; 01217 SWI_TYPE_MpManagerData eType; 01218 U32 nDestinationIp; 01219 U32 nDestinationPort; 01220 U32 nSourceIp; 01221 U32 nSourePort; 01222 U32 nLengthPayload; 01223 BYTE byPayload[LENGTH_MpManagerData]; 01224 }; 01225 01227 // 01228 // Name: SWI_TYPE_MpMtConnection - Monitor and Tracking connection type 01229 // 01230 // Purpose: Connection type 01231 // 01232 // Members: 0x00 - Engine unused 01233 // 0x01 - MTP embedded in UDP packets 01234 // 0x02 - Unused 01235 // 0x03 - Raw GPS data embedded in UDP 01236 // 01237 // Notes: None 01238 // 01240 enum SWI_TYPE_MpMtConnection 01241 { 01242 MPMTCON_EngineUnused, 01243 MPMTCON_Mtp, 01244 MPMTCON_Unused, 01245 MPMTCON_Gps 01246 }; 01247 01249 // 01250 // Name: SWI_STRUCT_MpMtCfg - Monitor and Tracking Configuration 01251 // 01252 // Purpose: Used to configure an Monitor and Tracking engine 01253 // 01254 // Members: sizeStruct - size of this structure 01255 // nEngineID - reporting engine ID 01256 // eConType - connection type 01257 // nDestinationIp - destination IP 01258 // nDestinationPort - destination port 01259 // nLowRateTimer - low rate timer 01260 // nGpsPollTimer - GPS polling timer 01261 // 01262 // Notes: None 01263 // 01265 struct SWI_STRUCT_MpMtCfg 01266 { 01267 U32 sizeStruct; 01268 U32 nEngineId; 01269 SWI_TYPE_MpMtConnection eConType; 01270 U32 nLengthIp; 01271 U8 byDestinationIp[LENGTH_MP_IPAddress]; 01272 U32 nDestinationPort; 01273 U32 nLowRateTimer; 01274 U32 nFastRateTimer; 01275 U32 nGpsPollTimer; 01276 }; 01277 01279 // 01280 // Name: SWI_TYPE_MpCwMode 01281 // 01282 // Purpose: Connection Watchdog Mode 01283 // 01284 // Members: 0x00 - DNS 01285 // 0x01 - PING 01286 // 01287 // Notes: None 01288 // 01290 enum SWI_TYPE_MpCwMode 01291 { 01292 MPCWMODE_Dns, 01293 MPCWMODE_Ping, 01294 }; 01295 01297 // 01298 // Name: SWI_STRUCT_MpCwCfg - Connection Watchdog Configuration 01299 // 01300 // Purpose: Used to configure the Connection Watchdog 01301 // 01302 // Members: sizeStruct - size of this structure 01303 // nConnectTimer - connection timer 01304 // nValidTimer - validation timer 01305 // nDnsPort - DNS port 01306 // strDnsName - DNS 01307 // bResetFlag - reset flag, false - do not reset after connection termination 01308 // true - reset after connection termination 01309 // nLengthPingIp - PING IP length 01310 // byPingIp - PING IP address 01311 // eCwMode - CW Mode 01312 // 01313 // 01314 // Notes: None 01315 // 01317 struct SWI_STRUCT_MpCwCfg 01318 { 01319 U32 sizeStruct; 01320 U32 nConnectTimer; 01321 U32 nValidTimer; 01322 U32 nDnsPort; 01323 WCHAR strDnsName[LENGTH_DnsName]; 01324 bool bResetFlag; 01325 U32 nLengthPingIp; 01326 BYTE byPingIp[LENGTH_MP_IPAddress]; 01327 SWI_TYPE_MpCwMode eCwMode; 01328 U32 nConnectionReset; 01329 }; 01330 01332 // 01333 // Name: SWI_STRUCT_MpGpsInitStr - GPS Initialization String 01334 // 01335 // Purpose: Used to configure GPS initialization string 01336 // 01337 // Members: sizeStruct - size of this structure 01338 // nStrNum - initialization string number, 1-5 01339 // strInitStr - initialization string, must be NULL terminated 01340 // 01341 // 01342 // Notes: None 01343 // 01345 struct SWI_STRUCT_MpGpsInitCfg 01346 { 01347 U32 sizeStruct; 01348 U32 nStrNum; 01349 WCHAR strInitStr[LENGTH_InitString]; 01350 }; 01351 01353 // 01354 // Name: SWI_STRUCT_MpTestHistory 01355 // 01356 // Purpose: MP test history information 01357 // 01358 // Members: sizeStruct - size of this structure 01359 // nTestHistory - 0 <= range <= 255 01360 // 01361 // Notes: None 01362 // 01364 struct SWI_STRUCT_MpTestHistory 01365 { 01366 U32 sizeStruct; 01367 U32 nTestHistory; 01368 }; 01369 01371 // 01372 // Name: SWI_Type_MpUnlockLevel 01373 // 01374 // Purpose: Enumerates MP unlock types 01375 // 01376 // Members: SWI_MPUNLOCK_Configuration - Configuration level lock protects 01377 // sensitive user configurations 01378 // 01379 // SWI_MPUNLOCK_Low - Low level lock protects modem 01380 // configuration and diagnostic 01381 // operations. 01382 // 01383 // SWI_MPUNLOCK_High - High level lock protects modem 01384 // calibration and advanced diagnostic 01385 // operations. 01386 // 01387 // Notes: This enumeration lists the different operation levels that may be 01388 // locked by the MP. 01389 // 01391 enum SWI_TYPE_MpUnlockLevel 01392 { 01393 SWI_MPUNLOCK_Configuration = 0x31, 01394 SWI_MPUNLOCK_Low, 01395 SWI_MPUNLOCK_High, 01396 }; 01397 01399 // 01400 // Name: SWI_Type_MpUnlockResult 01401 // 01402 // Purpose: MP unlock / change lock result codes 01403 // 01404 // Members: SWI_MPUNLOCKRESULT_Success 01405 // 01406 // SWI_MPUNLOCKRESULT_UnlockFirst - MP must be unlocked first (used for change lock only) 01407 // 01408 // SWI_MPUNLOCKRESULT_CodeMismatch - Unlock code incorrect (used for unlock only) 01409 // 01410 // SWI_MPUNLOCKRESULT_InvalidLockLevel - Lock level invalid 01411 // 01412 // SWI_MPUNLOCKRESULT_InvalidCodeFormat - Code format invalid 01413 // 01414 // Notes: 01415 // 01417 enum SWI_TYPE_MpUnlockResult 01418 { 01419 SWI_MPUNLOCKRESULT_Success, 01420 SWI_MPUNLOCKRESULT_UnlockFirst, 01421 SWI_MPUNLOCKRESULT_CodeMismatch, 01422 SWI_MPUNLOCKRESULT_InvalidLockLevel, 01423 SWI_MPUNLOCKRESULT_InvalidCodeFormat, 01424 }; 01425 01427 // 01428 // Name: SWI_STRUCT_MpUnlock 01429 // 01430 // Purpose: Structure used for unlocking MP operations 01431 // 01432 // Members: sizeStruct - size of this structure 01433 // 01434 // eUnlockType - type of operation to unlock 01435 // 01436 // szUnlockCode - password used to unlock the specified operation 01437 // type 01438 // 01439 // eUnlockStatus - Status of request or current unlock status 01440 // 01441 // Notes: None 01442 // 01444 struct SWI_STRUCT_MpUnlock 01445 { 01446 U32 sizeStruct; 01447 SWI_TYPE_MpUnlockLevel eUnlockType; 01448 WCHAR szUnlockCode[LENGTH_MpUnlockCode]; 01449 SWI_TYPE_MpUnlockResult eResult; 01450 }; 01451 01453 // 01454 // Name: SWI_Type_MpWifiMode 01455 // 01456 // Purpose: Enumerates WIFI modes 01457 // 01458 // Members: SWI_MPWIFIMODE_Disabled - WAP disabled 01459 // 01460 // SWI_MPWIFIMODE_MixedBg - Mixed mode (Wireless B + G) 01461 // 01462 // SWI_MPWIFIMODE_GOnly - Wireless G only 01463 // 01464 // SWI_MPWIFIMODE_BOnly - Wireless B only 01465 // 01466 // Notes: 01467 // 01469 enum SWI_TYPE_MpWifiMode 01470 { 01471 SWI_MPWIFIMODE_Disabled, 01472 SWI_MPWIFIMODE_MixedBg, 01473 SWI_MPWIFIMODE_GOnly, 01474 SWI_MPWIFIMODE_BOnly, 01475 }; 01476 01478 // 01479 // Name: SWI_TYPE_MpWifiSecurity 01480 // 01481 // Purpose: Enumerates WIFI security modes 01482 // 01483 // Members: SWI_MPWIFISECURITY_Disabled - WIFI security disabled 01484 // 01485 // SWI_MPWIFISECURITY_OpenWep - Open WEP 01486 // 01487 // SWI_MPWIFISECURITY_SharedWep - Shared WEP 01488 // 01489 // SWI_MPWIFISECURITY_WpaTkip - WPA TKIP 01490 // 01491 // SWI_MPWIFISECURITY_Wpa2Aes - WPA2 AES 01492 // 01493 // SWI_MPWIFISECURITY_Wpa2Tkip - WPA2 TKIP 01494 // 01495 // SWI_MPWIFISECURITY_Wpa2TkipAes - WPA2 TKIP + AES 01496 // 01497 // SWI_MPWIFISECURITY_Wpa2Aes - WPA2 AES 01498 // 01499 // SWI_MPWIFISECURITY_WpaTkipAes - WPA TKIP + AES 01500 // 01501 // Notes: None 01502 // 01504 enum SWI_TYPE_MpWifiSecurity 01505 { 01506 SWI_MPWIFISECURITY_Disabled, 01507 SWI_MPWIFISECURITY_OpenWep, 01508 SWI_MPWIFISECURITY_SharedWep, 01509 SWI_MPWIFISECURITY_WpaTkip, 01510 SWI_MPWIFISECURITY_Wpa2Aes, 01511 SWI_MPWIFISECURITY_Wpa2Tkip, 01512 SWI_MPWIFISECURITY_Wpa2TkipAes, 01513 SWI_MPWIFISECURITY_WpaAes, 01514 SWI_MPWIFISECURITY_WpaTkipAes, 01515 }; 01516 01518 // 01519 // Name: SWI_Type_MpWifiCfgResult 01520 // 01521 // Purpose: MP unlock result codes 01522 // 01523 // Members: SWI_MPWIFICFGRESULT_Success 01524 // 01525 // SWI_MPWIFICFGRESULT_MpLocked - MP must be unlocked first 01526 // 01527 // SWI_MPWIFICFGRESULT_InvalidSecurity - Invalid security type 01528 // 01529 // SWI_MPWIFICFGRESULT_InvalidKey - Invalid key format 01530 // 01531 // SWI_MPWIFICFGRESULT_InvalidSsid - Invalid SSID format 01532 // 01533 // SWI_MPWIFICFGRESULT_InvalidChannel - Invalid channel 01534 // 01535 // SWI_MPWIFICFGRESULT_InvalidMode - Invalid mode specified 01536 // 01537 // 01538 // Notes: 01539 // 01541 enum SWI_TYPE_MpWifiCfgResult 01542 { 01543 SWI_MPWIFICFGRESULT_Success, 01544 SWI_MPWIFICFGRESULT_MpLocked, 01545 SWI_MPWIFICFGRESULT_InvalidSecurity, 01546 SWI_MPWIFICFGRESULT_InvalidKey, 01547 SWI_MPWIFICFGRESULT_InvalidSsid, 01548 SWI_MPWIFICFGRESULT_InvalidChannel, 01549 SWI_MPWIFICFGRESULT_InvalidMode, 01550 }; 01551 01553 // 01554 // Name: SWI_STRUCT_MpWifiCfg 01555 // 01556 // Purpose: Structure used for configuring the WIFI Access Point (WAP) 01557 // 01558 // Members: sizeStruct - size of this structure 01559 // 01560 // eWifiMode - WIFI mode 01561 // 01562 // szSsid - 1 to 32 characters 01563 // 01564 // nChannel - 1 <= range <= 11 01565 // 01566 // eSecurity - Security setting 01567 // 01568 // szWifiKey - 8 to 64 characters for WPA/WPA2 01569 // 10 or 26 HEX characters for WEP (ex. 12345ABCDE) 01570 // When writing new configuration values to the 01571 // modem, specifying a key value of NULL will result 01572 // in modifications to the other fields except 01573 // the key value. When reading the configuration 01574 // values from the modem, the key will not be 01575 // returned. Instead, # characters will be returned. 01576 // 01577 // eResult - result of operation 01578 // 01579 // Notes: None 01580 // 01582 struct SWI_STRUCT_MpWifiCfg 01583 { 01584 U32 sizeStruct; 01585 SWI_TYPE_MpWifiMode eWifiMode; 01586 WCHAR szSsid[LENGTH_Ssid]; 01587 U32 nChannel; 01588 SWI_TYPE_MpWifiSecurity eSecurity; 01589 WCHAR szWifiKey[LENGTH_WifiKey]; 01590 SWI_TYPE_MpWifiCfgResult eResult; 01591 }; 01592 01594 // 01595 // Name: SWI_STRUCT_MpFeatures 01596 // 01597 // Purpose: Structure used to retrieve list of support features 01598 // 01599 // Members: sizeStruct - size of this structure 01600 // 01601 // bWifiAvailable - true if WIFI available, false otherwise 01602 // 01603 // Notes: None 01604 // 01606 struct SWI_STRUCT_MpFeatures 01607 { 01608 U32 sizeStruct; 01609 bool bWifiAvailable; 01610 }; 01611 01613 // 01614 // Name: SWI_Type_MpFeatCfgResult 01615 // 01616 // Purpose: MP feature configuration result codes 01617 // 01618 // Members: SWI_MPFEATCFGRESULT_Success - success 01619 // 01620 // SWI_MPFEATCFGRESULT_NotSupported - feature not supported 01621 // 01622 // Notes: 01623 // 01625 enum SWI_TYPE_MpFeatCfgResult 01626 { 01627 SWI_MPFEATCFGRESULT_Success, 01628 SWI_MPFEATCFGRESULT_NotSupported, 01629 }; 01630 01632 // 01633 // Name: SWI_STRUCT_MpFeatureCfg 01634 // 01635 // Purpose: Structure used to retrieve and configure programmable MP features 01636 // 01637 // Members: sizeStruct - size of this structure 01638 // 01639 // bNatEnable - Set to true to enable NAT, false to disable 01640 // 01641 // eResult - result of operation 01642 // 01643 // Notes: None 01644 // 01646 struct SWI_STRUCT_MpFeatureCfg 01647 { 01648 U32 sizeStruct; 01649 bool bNatEnable; 01650 SWI_TYPE_MpFeatCfgResult eResult; 01651 }; 01652 01653 #endif //__SWI_MP_STRUCTS_