LinuxSDK
V1.4.0.5
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
SwiApiCmBasic.h
Go to the documentation of this file.
1
14
#ifndef __SWIAPI_CM
15
#define __SWIAPI_CM
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
/* include files */
22
#include "
SwiDataTypes.h
"
23
#include "
SwiRcodes.h
"
24
25
26
/* defines */
27
#define LENGTH_MaxPPPString 33
28
#define LENGTH_IPAddress 16
29
#define LENGTH_LogFileName 128
30
#define LENGTH_SdkPathName 128
31
#define LENGTH_CommPort 7
32
#define LENGTH_UsbdVersion 85
33
#define LENGTH_UsbdBuildDate 9
34
#define LENGTH_BootBuildDate 9
35
#define NUMVALUE_WIMAX 80216
36
#define MAX_NOTIF_LIST 122
37
#define LENGTH_DriverName 100
38
#define LENGTH_MacAddress 6
39
#define LENGTH_ProductName 20
40
#define LENGTH_ModemName 75
41
#define LENGTH_HardwareId 50
42
#define MAX_NUM_LBS_SV 12
43
#define LENGTH_TimeStamp 16
44
#define MAX_BAND_GROUPS 50
45
#define MAX_BAND_LIST 50
46
#define MAX_AIR_SERVERS 50
/* Must be < than a frame. */
47
#define LENGTH_ProductStr 16
48
#define MAX_OBJRNGINFOBLOCKS 35
49
#define LENGTH_PortName 80
50
51
/* enum declarations */
52
64
enum
SWI_TYPE_Device
65
{
66
SWI_DEVICE_None
= 0,
68
/* PC Cards */
69
SWI_DEVICE_AC550
,
70
SWI_DEVICE_AC575
,
71
SWI_DEVICE_AC580
,
72
SWI_DEVICE_AC595
,
73
SWI_DEVICE_AC597
,
74
SWI_DEVICE_AC710
= 100,
75
SWI_DEVICE_AC750
,
76
SWI_DEVICE_AC775
,
77
SWI_DEVICE_AC850
,
78
SWI_DEVICE_AC860
,
79
SWI_DEVICE_AC875
,
80
SWI_DEVICE_AC880
,
81
SWI_DEVICE_AC881
,
83
/* Embedded Modules */
84
SWI_DEVICE_MC5720
= 200,
85
SWI_DEVICE_MC5725
,
86
SWI_DEVICE_MC5727
,
87
SWI_DEVICE_MC5728
,
88
SWI_DEVICE_SL501X
,
89
SWI_DEVICE_MC8755
= 300,
90
SWI_DEVICE_MC8765
,
91
SWI_DEVICE_MC8775
,
92
SWI_DEVICE_MC8780
,
93
SWI_DEVICE_MC8781
,
94
SWI_DEVICE_MC8785
,
95
SWI_DEVICE_MC8790
,
96
SWI_DEVICE_MC8791
,
97
SWI_DEVICE_MC8700
,
98
SWI_DEVICE_MC8704
,
99
SWI_DEVICE_MC8705
,
100
SWI_DEVICE_MC8777
,
101
SWI_DEVICE_MC8790V
,
102
SWI_DEVICE_MC8801
,
103
SWI_DEVICE_SL8080
,
104
SWI_DEVICE_SL8081
,
105
SWI_DEVICE_SL8082
,
106
SWI_DEVICE_SL8083
,
107
SWI_DEVICE_SL8084
,
108
SWI_DEVICE_SL8085
,
109
SWI_DEVICE_SL8090
,
110
SWI_DEVICE_SL8091
,
111
SWI_DEVICE_SL8092
,
112
SWI_DEVICE_SL8093
,
113
SWI_DEVICE_EM5625
= 400,
114
SWI_DEVICE_EM5725
,
115
SWI_DEVICE_EM8780
= 500,
116
SWI_DEVICE_EM8781
,
117
SWI_DEVICE_M81A
,
118
SWI_DEVICE_M81B
,
120
/* MP */
121
SWI_DEVICE_MP555
= 600,
122
SWI_DEVICE_MP595
,
123
SWI_DEVICE_MP750
= 700,
124
SWI_DEVICE_MP775
,
125
SWI_DEVICE_MP875
,
126
SWI_DEVICE_MP880
,
127
SWI_DEVICE_MP881
,
129
/* ExpressCards */
130
SWI_DEVICE_AC597E
= 1000,
131
SWI_DEVICE_AC598E
,
132
SWI_DEVICE_AC875E
= 1100,
133
SWI_DEVICE_AC880E
,
134
SWI_DEVICE_AC881E
,
135
SWI_DEVICE_AC885E
,
136
SWI_DEVICE_AC886E
,
138
/* USB Modems */
139
SWI_DEVICE_AC595U
= 1200,
140
SWI_DEVICE_T598
,
141
SWI_DEVICE_T11
,
142
SWI_DEVICE_AC802
,
143
SWI_DEVICE_AC875U
= 1300,
144
SWI_DEVICE_AC880U
,
145
SWI_DEVICE_AC881U
,
146
SWI_DEVICE_C885
,
147
SWI_DEVICE_C886
,
148
SWI_DEVICE_C888
,
149
SWI_DEVICE_C889
,
150
SWI_DEVICE_K888
,
151
SWI_DEVICE_K889
,
152
SWI_DEVICE_C22
,
153
SWI_DEVICE_C23
,
154
SWI_DEVICE_K22
,
155
SWI_DEVICE_K23
,
156
SWI_DEVICE_USB303
,
157
SWI_DEVICE_USB304
,
158
SWI_DEVICE_USB305
,
159
SWI_DEVICE_USB306
,
160
SWI_DEVICE_USB307
,
161
SWI_DEVICE_USB308
,
162
SWI_DEVICE_CHspa
= 1399,
164
/* Mass Storage */
165
SWI_DEVICE_MassStorage
= 2000,
167
/* Other - This value is used for determining if a Product string is
168
* provide instead of the usual Device type for newer modems using
169
* unified VID/PID. The API will translate the string to a device type.
170
*/
171
SWI_DEVICE_UNIFIEDPID
172
};
173
174
/* structure declarations */
175
181
struct
SWI_STRUCT_Logging
182
{
184
swi_uint32
sizeStruct
;
185
187
swi_char
szFileName
[
LENGTH_LogFileName
];
188
190
swi_bool
bEnable
;
191
};
192
199
struct
SWI_STRUCT_SdkPath
200
{
202
swi_uint32
sizeStruct
;
203
205
swi_char
szSdkPath
[
LENGTH_SdkPathName
];
206
209
swi_bool
bEnable
;
210
};
211
220
struct
SWI_STRUCT_ApiStartup
221
{
222
224
swi_uint32
sizeStruct
;
225
227
struct
SWI_STRUCT_Logging
sLogging
;
228
230
struct
SWI_STRUCT_SdkPath
sSdkPath
;
231
};
232
233
241
struct
SWI_STRUCT_UsbdInfo
242
{
245
swi_uint32
sizeStruct
;
246
249
swi_char
szVersion
[
LENGTH_UsbdVersion
];
250
253
swi_char
szBuildDate
[
LENGTH_UsbdBuildDate
];
254
};
255
265
struct
SWI_STRUCT_PriInfo
266
{
270
swi_uint32
sizeStruct
;
271
273
swi_uint32
nMajorVer
;
274
276
swi_uint32
nMinorVer
;
277
279
swi_uint32
nSubMinorVer
;
280
282
swi_uint32
nSubOemVer
;
283
285
swi_uint32
nSkuId
;
286
};
287
295
struct
SWI_STRUCT_ModemType
296
{
299
swi_uint32
sizeStruct
;
300
302
swi_uint16
nModemType
;
303
305
swi_uint32
nWirelessTech
;
306
309
swi_char
szProductName
[
LENGTH_ProductStr
];
310
};
311
322
enum
SWI_TYPE_WirelessTech
323
{
324
SWI_WIRELESSTECH_Unknown
,
325
SWI_WIRELESSTECH_Cdma
,
326
SWI_WIRELESSTECH_Gsm
,
327
SWI_WIRELESSTECH_Wifi
,
328
SWI_WIRELESSTECH_Wimax
329
};
330
344
enum
SWI_TYPE_ProductClass
345
{
346
SWI_PRODUCTCLASS_Unknown
,
347
SWI_PRODUCTCLASS_PcCard
,
348
SWI_PRODUCTCLASS_Embedded
,
349
SWI_PRODUCTCLASS_Mp
350
};
351
372
struct
SWI_STRUCT_AirServer
373
{
376
swi_uint32
sizeStruct
;
377
382
swi_uint8
ClientMac
[
LENGTH_MacAddress
];
383
387
swi_uint8
ServerMac
[
LENGTH_MacAddress
];
388
390
enum
SWI_TYPE_Device
eDevice
;
391
};
392
411
struct
SWI_STRUCT_AirServerExtended
412
{
415
swi_uint32
sizeStruct
;
416
419
swi_char
szProductName
[
LENGTH_ProductName
];
420
423
enum
SWI_TYPE_ProductClass
eProductClass
;
424
427
enum
SWI_TYPE_WirelessTech
eWirelessTech
;
428
431
swi_char
szModemName
[
LENGTH_ModemName
];
432
435
swi_char
szHardwareId
[
LENGTH_HardwareId
];
436
};
437
445
struct
SWI_STRUCT_AirServerList
446
{
448
swi_uint32
sizeStruct
;
449
451
swi_uint32
nNumber
;
452
454
struct
SWI_STRUCT_AirServer
AirServers
[
MAX_AIR_SERVERS
];
455
};
456
463
struct
SWI_STRUCT_AirServerChange
464
{
466
swi_uint32
sizeStruct
;
467
469
struct
SWI_STRUCT_AirServer
AirServer
;
470
472
swi_bool
bInsert
;
473
};
474
487
enum
SWI_TYPE_DeviceInformationType
488
{
489
SWI_DEVICEINFORMATION_Technology
= 1,
490
SWI_DEVICEINFORMATION_Product
,
491
SWI_DEVICEINFORMATION_FrmDwlProtocol
,
492
SWI_DEVICEINFORMATION_DeviceReEnum
,
493
SWI_DEVICEINFORMATION_CNSsupported
494
};
495
500
enum
SWI_TYPE_RequestStatus
501
{
502
SWI_REQUESTSTATUS_SUCCESS
,
503
SWI_REQUESTSTATUS_UnknownType
,
504
SWI_REQUESTSTATUS_GenFailure
505
};
506
517
enum
SWI_TYPE_Technology
518
{
519
SWI_TECHNOLOGY_Unknown
,
520
SWI_TECHNOLOGY_CDMA
,
521
SWI_TECHNOLOGY_GSM
522
};
523
534
enum
SWI_TYPE_FrmDlwProtocol
535
{
538
SWI_FRMDLWPROTOCOL_One
,
539
542
SWI_FRMDLWPROTOCOL_Two
543
};
544
556
enum
SWI_TYPE_DeviceReEnum
557
{
560
SWI_DEVICEREENUM_Trigger_Remove
,
561
564
SWI_DEVICEREENUM_Trigger_NoRemove
565
};
577
enum
SWI_TYPE_CNSsupported
578
{
581
SWI_CNSSUPPORTED_Yes
,
582
585
SWI_CNSSUPPORTED_No
586
};
599
struct
SWI_STRUCT_DeviceInformation_Request
600
{
604
swi_uint32
sizeStruct
;
606
swi_uint32
Version
;
608
enum
SWI_TYPE_DeviceInformationType
eDeviceInformationType
;
609
};
610
623
struct
SWI_STRUCT_DeviceInformation_Response
624
{
626
swi_uint32
sizeStruct
;
628
swi_uint32
Version
;
629
631
enum
SWI_TYPE_RequestStatus
eRequestStatus
;
632
634
enum
SWI_TYPE_DeviceInformationType
eDeviceInformationType
;
636
swi_uint32
nLength
;
637
639
enum
SWI_TYPE_Technology
eTechnology
;
640
642
swi_char
szProduct
[
LENGTH_ProductStr
];
643
645
enum
SWI_TYPE_FrmDlwProtocol
eFrmDlwProtocol
;
647
enum
SWI_TYPE_DeviceReEnum
eDeviceReEnum
;
648
650
enum
SWI_TYPE_CNSsupported
eCNSsupported
;
651
};
652
658
struct
SWI_STRUCT_HeartBeat
659
{
661
swi_uint32
sizeStruct
;
662
663
};
664
672
enum
SWI_TYPE_Month
673
{
674
SWI_MONTH_Jan
= 0x01,
675
SWI_MONTH_Feb
,
676
SWI_MONTH_Mar
,
677
SWI_MONTH_Apr
,
678
SWI_MONTH_May
,
679
SWI_MONTH_Jun
,
680
SWI_MONTH_Jul
,
681
SWI_MONTH_Aug
,
682
SWI_MONTH_Sep
,
683
SWI_MONTH_Oct
,
684
SWI_MONTH_Nov
,
685
SWI_MONTH_Dec
686
};
687
695
enum
SWI_TYPE_WeekDay
696
{
697
SWI_WEEKDAY_Mon
,
698
SWI_WEEKDAY_Tue
,
699
SWI_WEEKDAY_Wed
,
700
SWI_WEEKDAY_Thu
,
701
SWI_WEEKDAY_Fri
,
702
SWI_WEEKDAY_Sat
,
703
SWI_WEEKDAY_Sun
704
};
705
713
enum
SWI_TYPE_DaylightSavings
714
{
715
SWI_DAYLIGHTSAVINGS_None
,
716
SWI_DAYLIGHTSAVINGS_PlusOneHour
,
717
SWI_DAYLIGHTSAVINGS_PlusTwoHour
718
};
719
727
struct
SWI_STRUCT_DeviceTime
728
{
731
swi_uint32
sizeStruct
;
732
734
swi_uint32
nYear
;
735
737
enum
SWI_TYPE_Month
eMonth
;
738
741
swi_uint32
nDay
;
742
744
enum
SWI_TYPE_WeekDay
eWeekDay
;
745
748
swi_uint32
nHour
;
749
752
swi_uint32
nMinute
;
753
756
swi_uint32
nSecond
;
757
767
swi_int32
nTimeZone
;
768
771
enum
SWI_TYPE_DaylightSavings
eDaylightSavings
;
772
};
773
774
#define LENGTH_ImgInfoVer 85
775
#define LENGTH_ImgInfoRelDate 9
776
#define LENGTH_ImgInfoProdType 5
777
#define LENGTH_ImgInfoImgType 5
788
typedef enum
789
{
790
FLASHIMGINFORESULT_Success
,
791
FLASHIMGINFORESULT_UnsupportedImgType
,
792
FLASHIMGINFORESULT_ImgNotFound
793
}
TYPE_FlashImgInfo_Result
;
794
805
struct
SWI_STRUCT_FlashImgInfo
806
{
809
swi_int32
sizeStruct
;
810
820
swi_char
szImageType
[
LENGTH_ImgInfoImgType
];
821
824
TYPE_FlashImgInfo_Result
eResult
;
825
868
swi_char
szVersion
[
LENGTH_ImgInfoVer
];
869
873
swi_char
szRelDate
[
LENGTH_ImgInfoRelDate
];
874
879
swi_char
szProdType
[
LENGTH_ImgInfoProdType
];
880
883
swi_int32
nImgSize
;
884
};
885
894
enum
SWI_TYPE_ObjIdRngSpecifier
895
{
896
OBJIDRNGSPECIFIER_Cwe
,
897
OBJIDRNGSPECIFIER_CweLbs
,
898
OBJIDRNGSPECIFIER_Gprs
,
899
OBJIDRNGSPECIFIER_Cdma
,
900
OBJIDRNGSPECIFIER_Mp
,
901
OBJIDRNGSPECIFIER_Umts
,
902
OBJIDRNGSPECIFIER_CweDm
903
};
926
struct
SWI_STRUCT_OBJRNGREV_InfoBlock
927
{
929
swi_int32
sizeStuct
;
930
932
enum
SWI_TYPE_ObjIdRngSpecifier
eRngSpecifier
;
933
935
swi_int32
nModemReverseObjRevNum
;
936
938
swi_int32
nModemForwardObjRevNum
;
939
941
swi_int32
nApiObjRevNum
;
942
};
943
952
struct
SWI_STRUCT_ObjRngRev
953
{
955
swi_int32
sizeStruct
;
956
958
swi_int32
NumOfEntries
;
959
961
struct
SWI_STRUCT_OBJRNGREV_InfoBlock
arInfoBlock
[
MAX_OBJRNGINFOBLOCKS
];
962
};
963
974
enum
SWI_TYPE_RadioPowerMode
975
{
976
SWI_RADIOPOWERMODE_Low
,
977
SWI_RADIOPOWERMODE_Online
978
};
979
990
enum
SWI_TYPE_RadioPowerReason
991
{
993
SWI_RADIOPOWERREASON_WDISABLE
= 0x0001,
994
996
SWI_RADIOPOWERREASON_UserRequest
= 0x0002,
997
999
SWI_RADIOPOWERREASON_Temperature
= 0x0004,
1000
1002
SWI_RADIOPOWERREASON_Battery
= 0x0008
1003
};
1004
1015
enum
SWI_TYPE_ModuleReqReason
1016
{
1018
SWI_MODULEREQREASON_NoReason
,
1019
1021
SWI_MODULEREQREASON_Temperature
,
1022
1024
SWI_MODULEREQREASON_Battery
,
1025
1027
SWI_MODULEREQREASON_Network
,
1028
1030
SWI_MODULEREQREASON_Other
1031
};
1032
1050
struct
SWI_STRUCT_RadioPower
1051
{
1055
swi_uint32
sizeStruct
;
1056
1059
enum
SWI_TYPE_RadioPowerMode
eMode
;
1060
1064
swi_uint32
nLowPowerReason
;
1065
1069
swi_bool
bModuleReqPowerDown
;
1070
1073
enum
SWI_TYPE_ModuleReqReason
eRequestReason
;
1074
};
1075
1087
enum
SWI_TYPE_RadioTempState
1088
{
1089
SWI_RADIOTEMPSTATE_Normal
,
1090
SWI_RADIOTEMPSTATE_HighWarning
,
1091
SWI_RADIOTEMPSTATE_HighCrit
,
1092
SWI_RADIOTEMPSTATE_LowCrit
1093
};
1094
1106
struct
SWI_STRUCT_RadioTempState
1107
{
1111
swi_uint32
sizeStruct
;
1112
1115
enum
SWI_TYPE_RadioTempState
eState
;
1116
1119
swi_uint32
nCurrent
;
1120
};
1121
1132
enum
SWI_TYPE_RadioBatteryState
1133
{
1134
SWI_RADIOBATTERYSTATE_Normal
,
1135
SWI_RADIOBATTERYSTATE_LowWarning
,
1136
SWI_RADIOBATTERYSTATE_LowCrit
,
1137
SWI_RADIOBATTERYSTATE_HighCrit
1138
};
1139
1151
struct
SWI_STRUCT_RadioBattery
1152
{
1156
swi_uint32
sizeStruct
;
1157
1160
enum
SWI_TYPE_RadioBatteryState
eState
;
1161
1163
swi_uint32
nCurrent
;
1164
};
1172
enum
SWI_TYPE_RadioType
1173
{
1174
SWI_RADIOTYPE_1xrtt
,
1175
SWI_RADIOTYPE_Evdo
,
1176
SWI_RADIOTYPE_GsmWcdma
1177
};
1178
1190
enum
SWI_TYPE_RadioBand
1191
{
1192
SWI_RADIOBAND_CdmaClass0
= 0x00,
1193
SWI_RADIOBAND_CdmaClass1
,
1194
SWI_RADIOBAND_CdmaClass2
,
1195
SWI_RADIOBAND_CdmaClass3
,
1196
SWI_RADIOBAND_CdmaClass4
,
1197
SWI_RADIOBAND_CdmaClass5
,
1198
SWI_RADIOBAND_CdmaClass6
,
1199
SWI_RADIOBAND_CdmaClass7
,
1200
SWI_RADIOBAND_CdmaClass8
,
1201
SWI_RADIOBAND_CdmaClass9
,
1202
SWI_RADIOBAND_CdmaClass10
,
1203
SWI_RADIOBAND_CdmaClass11
,
1204
SWI_RADIOBAND_CdmaClass12
,
1205
SWI_RADIOBAND_Gsm450
= 0x28,
1206
SWI_RADIOBAND_Gsm480
,
1207
SWI_RADIOBAND_Gsm750
,
1208
SWI_RADIOBAND_Gsm850
,
1209
SWI_RADIOBAND_GsmEGsm900
,
1210
SWI_RADIOBAND_GsmPGsm900
,
1211
SWI_RADIOBAND_GsmRGsm900
,
1212
SWI_RADIOBAND_GsmDcs1800
,
1213
SWI_RADIOBAND_GsmPcs1900
,
1214
SWI_RADIOBAND_WcdmaIImt2000
= 0x50,
1215
SWI_RADIOBAND_WcdmaIIPcs1900
,
1216
SWI_RADIOBAND_WcdmaIIIDcs1800
,
1217
SWI_RADIOBAND_WcdmaIV1700
,
1218
SWI_RADIOBAND_WcdmaV850
,
1219
SWI_RADIOBAND_WcdmaVI800
,
1220
SWI_RADIOBAND_WcdmaVII2600
,
1221
SWI_RADIOBAND_WcdmaVIII900
,
1222
SWI_RADIOBAND_WcdmaIX1700
,
1223
SWI_RADIOBAND_Invalid
= 0xFF
1224
};
1225
1237
struct
SWI_STRUCT_RadioBandInfo
1238
{
1240
enum
SWI_TYPE_RadioType
eType
;
1241
1243
enum
SWI_TYPE_RadioBand
eBand
;
1244
};
1245
1263
struct
SWI_STRUCT_RadioBandList
1264
{
1267
swi_uint32
sizeStruct
;
1268
1270
swi_uint32
nNumBands
;
1271
1275
struct
SWI_STRUCT_RadioBandInfo
sList
[
MAX_BAND_LIST
];
1276
};
1277
1288
#define SWI_RADIOBANDGROUP_CdmaClass0A 0x0000000000000001ull
1289
1300
#define SWI_RADIOBANDGROUP_CdmaClass0B 0x0000000000000002ull
1301
1312
#define SWI_RADIOBANDGROUP_CdmaClass0ABo 0x0000000000000003ull
1313
1324
#define SWI_RADIOBANDGROUP_CdmaClass1 0x0000000000000004ull
1325
1336
#define SWI_RADIOBANDGROUP_CdmaClass2 0x0000000000000008ull
1337
1348
#define SWI_RADIOBANDGROUP_CdmaClass3 0x0000000000000010ull
1349
1360
#define SWI_RADIOBANDGROUP_CdmaClass4 0x0000000000000020ull
1361
1372
#define SWI_RADIOBANDGROUP_CdmaClass5 0x0000000000000040ull
1373
1384
#define SWI_RADIOBANDGROUP_CdmaClass6 0x0000000000000080ull
1385
1396
#define SWI_RADIOBANDGROUP_CdmaClass7 0x0000000000000100ull
1397
1408
#define SWI_RADIOBANDGROUP_CdmaClass8 0x0000000000000200ull
1409
1420
#define SWI_RADIOBANDGROUP_CdmaClass9 0x0000000000000400ull
1421
1432
#define SWI_RADIOBANDGROUP_CdmaClass10 0x0000000000000800ull
1433
1444
#define SWI_RADIOBANDGROUP_CdmaClass11 0x0000000000001000ull
1445
1456
#define SWI_RADIOBANDGROUP_CdmaClass12 0x0000000000002000ull
1457
1468
#define SWI_RADIOBANDGROUP_CdmaPcsCellular 0x0000000000000007ull
1469
1480
#define SWI_RADIOBANDGROUP_Gsm450 0x0000000000010000ull
1481
1492
#define SWI_RADIOBANDGROUP_Gsm480 0x0000000000020000ull
1493
1504
#define SWI_RADIOBANDGROUP_Gsm750 0x0000000000040000ull
1505
1516
#define SWI_RADIOBANDGROUP_Gsm850 0x0000000000080000ull
1517
1528
#define SWI_RADIOBANDGROUP_GsmRGsm900 0x0000000000100000ull
1529
1540
#define SWI_RADIOBANDGROUP_GsmPcs1900 0x0000000000200000ull
1541
1552
#define SWI_RADIOBANDGROUP_GsmDcs1800 0x0000000000400000ull
1553
1564
#define SWI_RADIOBANDGROUP_GsmEGsm900 0x0000000000800000ull
1565
1576
#define SWI_RADIOBANDGROUP_GsmPGsm900 0x0000000001000000ull
1577
1588
#define SWI_RADIOBANDGROUP_GsmPcs850 0x0000000000280000ull
1589
1600
#define SWI_RADIOBANDGROUP_GsmEGsmDcs 0x0000000001C00000ull
1601
1612
#define SWI_RADIOBANDGROUP_GsmAll 0x0000000001E80000ull
1613
1624
#define SWI_RADIOBANDGROUP_WcdmaIImt2000 0x0000000100000000ull
1625
1636
#define SWI_RADIOBANDGROUP_WcdmaIIPcs1900 0x0000000200000000ull
1637
1648
#define SWI_RADIOBANDGROUP_WcdmaIII1700 0x0000000400000000ull
1649
1660
#define SWI_RADIOBANDGROUP_WcdmaIV1700 0x0000000800000000ull
1661
1672
#define SWI_RADIOBANDGROUP_WcdmaV850 0x0000001000000000ull
1673
1684
#define SWI_RADIOBANDGROUP_WcdmaVI800 0x0000002000000000ull
1685
1696
#define SWI_RADIOBANDGROUP_WcdmaVII2600 0x0000004000000000ull
1697
1708
#define SWI_RADIOBANDGROUP_WcdmaVIII900 0x0000008000000000ull
1709
1721
#define SWI_RADIOBANDGROUP_WcdmaEu 0x0000008100000000ull
1722
1733
#define SWI_RADIOBANDGROUP_WcdmaIX1700 0x0000010000000000ull
1734
1745
#define SWI_RADIOBANDGROUP_WcdmaNa 0x0000001200000000ull
1746
1757
#define SWI_RADIOBANDGROUP_WcdmaGsmEu 0x0000000101C00000ull
1758
1769
#define SWI_RADIOBANDGROUP_WcdmaGsmNa 0x0000001200280000ull
1770
1781
#define SWI_RADIOBANDGROUP_WcdmaAustralia 0x0000001100000000ull
1782
1793
#define SWI_RADIOBANDGROUP_WcdmaAustrailiaGsmEu 0x0000001101C00000ull
1794
1805
#define SWI_RADIOBANDGROUP_WcdmaJapan 0x0000002100000000ull
1806
1817
#define SWI_RADIOBANDGROUP_WcdmaAll_EarlyMC8700 0x0000001300000000ull
1818
1830
#define SWI_RADIOBANDGROUP_WcdmaAll_AC503_MC8700 0x000000b300000000ull
1831
1841
#define SWI_RADIOBANDGROUP_AutoBand 0xFFFFFFFFFFFFFFFFull
1842
1853
struct
SWI_STRUCT_RadioBandConfig
1854
{
1857
swi_uint32
sizeStruct
;
1858
1861
swi_uint64
nLastSelected
;
1862
1864
swi_uint32
nNumInGroup
;
1865
1869
swi_uint64
arBandSetting
[
MAX_BAND_GROUPS
];
1870
};
1871
1886
struct
SWI_STRUCT_UsbPortName
1887
{
1890
swi_uint32
sizeStruct
;
1891
1893
swi_uint8
HipPort
[
LENGTH_PortName
];
1894
1896
swi_uint8
DiagPort
[
LENGTH_PortName
];
1897
1899
swi_uint8
NmeaPort
[
LENGTH_PortName
];
1900
1902
swi_uint8
AtCmdPort
[
LENGTH_PortName
];
1903
1905
swi_uint8
Data1Port
[
LENGTH_PortName
];
1906
1908
swi_uint8
Data2Port
[
LENGTH_PortName
];
1909
1911
swi_uint8
Data3Port
[
LENGTH_PortName
];
1912
1914
swi_uint8
DirectIPPort
[
LENGTH_PortName
];
1915
1917
swi_uint8
QMIPort
[
LENGTH_PortName
];
1918
1920
swi_uint8
MassStoragePort
[
LENGTH_PortName
];
1921
};
1922
1924
#define SWI_FILENAME_LEN 8
1925
#if defined(CNS_FILENAME_LEN) && SWI_FILENAME_LEN != CNS_FILENAME_LEN
1926
#error CNS and SWI definition mismatch
1927
#endif
1928
1930
#define SWI_API_UNLOCK_PWD_LEN 10
1931
#if defined(CNS_API_UNLOCK_PWD_LEN) && \
1932
SWI_API_UNLOCK_PWD_LEN != CNS_API_UNLOCK_PWD_LEN
1933
#error CNS and SWI definition mismatch
1934
#endif
1935
1939
typedef
enum
eUpdateFromFileStatus
1940
{
1941
FILE_UPDATE_SUCCESS
,
1942
FILE_NOT_FOUND
,
1943
FILE_INCORRECT_SIZE
,
1944
FILE_INCORRECT_HEADER
,
1945
FILE_INVALID_REVISION
1946
}
UpdateFromFileStatus
;
1947
1953
typedef
struct
SWI_STRUCT_NVUpdateFromFile
1954
{
1955
swi_uint32
sizeStruct
;
1958
swi_uint8
szFileName
[
SWI_FILENAME_LEN
];
1959
1960
UpdateFromFileStatus
nStatus
;
1961
swi_uint32
nItemsUpdated
;
1962
swi_uint32
nItemsSipped
;
1963
}
SWI_STRUCT_NVUpdateFromFile
;
1964
1970
typedef
enum
eApiUnlockLevel
1971
{
1972
API_UNLOCK_OEM
,
1973
API_UNLOCK_SWI
1974
}
ApiUnlockLevel
;
1975
1981
typedef
enum
eApiUnlockResult
1982
{
1983
API_UNLOCK_SUCCESS
,
1984
API_UNLOCK_PWD_INVALID
1985
}
ApiUnlockResult
;
1986
1995
typedef
struct
SWI_STRUCT_ApiUnlock
1996
{
1999
swi_uint32
sizeStruct
;
2000
2001
ApiUnlockLevel
nLevel
;
2002
swi_uint8
nPasswordLen
;
2003
swi_uint8
szPassword
[
SWI_API_UNLOCK_PWD_LEN
];
2004
ApiUnlockResult
nResult
;
2005
}
SWI_STRUCT_ApiUnlock
;
2006
2012
typedef
enum
SWI_TYPE_RDA_SUPPORT_STATUS
2013
{
2014
RDA_STATUS_NOT_SUPPORTED
= 0,
2015
RDA_STATUS_DISABLED
= 1,
2016
RDA_STATUS_ENABLED
= 2
2017
}
SWI_TYPE_RDA_SUPPORT_STATUS
;
2018
2019
#define SWI_RDA_NAME_MAX 69
2020
#define SWI_RDA_VERSION_MAX 32
2030
typedef struct SWI_STRUCT_RDA_SUPPORT
2031
{
2034
swi_uint32
sizeStruct
;
2035
2036
swi_uint8
nRDASupport
;
2037
swi_uint8
nNameLength
;
2038
swi_uint8
Name[
SWI_RDA_NAME_MAX
];
2039
swi_uint8
nVersionLength
;
2040
swi_uint8
Version[
SWI_RDA_VERSION_MAX
];
2041
}
SWI_STRUCT_RDA_SUPPORT
;
2042
2048
typedef
enum
SWI_TYPE_REMOVABLE_MEDIA
2049
{
2050
REMOVABLE_MEDIA_MINI_SD
= 0x0001,
2051
REMOVABLE_MEDIA_MICRO_SD
= 0x0002
2052
}
SWI_TYPE_REMOVABLE_MEDIA
;
2053
2062
typedef
struct
SWI_STRUCT_RM_CONFIG
2063
{
2066
swi_uint32
sizeStruct
;
2067
2070
swi_uint16
nFeatureSupportMask
;
2071
2074
swi_uint16
nFeatureEnableMask
;
2075
}
SWI_STRUCT_RM_CONFIG
;
2076
2085
typedef
struct
SWI_STRUCT_RM_CONFIG_SET
2086
{
2089
swi_uint32
sizeStruct
;
2090
2093
swi_uint16
nRMFeature
;
2094
2097
swi_uint8
bEnable
;
2098
}
SWI_STRUCT_RM_CONFIG_SET
;
2099
2107
struct
SWI_STRUCT_GetSwocCfg
2108
{
2111
swi_uint32
sizeStruct
;
2112
2117
swi_uint16
FeatureSupport
;
2118
2123
swi_uint16
FeatureState
;
2124
2129
swi_uint16
FeatureCap
;
2130
2135
swi_uint16
LockReq
;
2136
};
2137
2138
/* Function prototypes */
2139
extern
SWI_API
SWI_RCODE
SwiApiStartup
(
2140
struct
SWI_STRUCT_ApiStartup
*pOpenParams);
2141
2142
extern
SWI_API
SWI_RCODE
SwiTerminateSDK
(
void
);
2143
2144
extern
SWI_API
SWI_RCODE
SwiGetFirmwareVersion
(
2145
swi_charp
szFWVersion,
2146
swi_uint32
sizeBuffer,
2147
swi_uint32
timeout);
2148
2149
extern
SWI_API
SWI_RCODE
SwiGetFirmwareBuildDate
(
2150
swi_charp
szBuildDate,
2151
swi_uint32
sizeBuffer,
2152
swi_uint32
timeout);
2153
2154
extern
SWI_API
SWI_RCODE
SwiGetHardwareVersion
(
2155
swi_charp
szHWVersion,
2156
swi_uint32
sizeBuffer,
2157
swi_uint32
timeout);
2158
2159
extern
SWI_API
SWI_RCODE
SwiGetBootVersion
(
2160
swi_charp
szBVVersion,
2161
swi_uint32
sizeBuffer,
2162
swi_uint32
timeout);
2163
2164
extern
SWI_API
SWI_RCODE
SwiGetBootloaderBuildDate
(
2165
swi_charp
szBLBldDate,
2166
swi_uint32
*nLength,
2167
swi_uint32
Timeout);
2168
2169
extern
SWI_API
SWI_RCODE
SwiGetRadioPower
(
2170
struct
SWI_STRUCT_RadioPower
*pRadioPower,
2171
swi_uint32
timeout);
2172
2173
extern
SWI_API
SWI_RCODE
SwiSetRadioPower
(
2174
struct
SWI_STRUCT_RadioPower
* pRadioPower,
2175
swi_uint32
timeout);
2176
2177
extern
SWI_API
SWI_RCODE
SwiGetRadioTempState
(
2178
struct
SWI_STRUCT_RadioTempState
*pRadioTemp,
2179
swi_uint32
timeout);
2180
2181
extern
SWI_API
SWI_RCODE
SwiGetRadioBattery
(
2182
struct
SWI_STRUCT_RadioBattery
*pRadioBattery,
2183
swi_uint32
timeout);
2184
2185
extern
SWI_API
SWI_RCODE
SwiGetCurrentRadioBand
(
2186
struct
SWI_STRUCT_RadioBandList
*pRadioBand,
2187
swi_int32
timeout);
2188
2189
extern
SWI_API
SWI_RCODE
SwiGetRadioBandCfg
(
2190
struct
SWI_STRUCT_RadioBandConfig
*pRadioBand,
2191
swi_int32
timeout);
2192
2193
extern
SWI_API
SWI_RCODE
SwiSetRadioBandCfg
(
2194
swi_uint64
nRadioBandGroup,
2195
swi_int32
timeout);
2196
2197
extern
SWI_API
SWI_RCODE
SwiGetUsbdInfo
(
2198
struct
SWI_STRUCT_UsbdInfo
* pUsbdInfo,
2199
swi_uint32
timeout);
2200
2201
extern
SWI_API
SWI_RCODE
SwiGetPriInfo
(
2202
struct
SWI_STRUCT_PriInfo
* pPriInfo,
2203
swi_uint32
timeout);
2204
2205
extern
SWI_API
SWI_RCODE
SwiGetModemType
(
2206
struct
SWI_STRUCT_ModemType
* pSwiModemType,
2207
swi_uint32
timeout);
2208
2209
extern
SWI_API
SWI_RCODE
SwiGetDeviceTime
(
2210
struct
SWI_STRUCT_DeviceTime
* pDeviceTime,
2211
swi_uint32
timeout);
2212
2213
extern
SWI_API
SWI_RCODE
SwiGetDeviceID
(
2214
swi_charp
pszDeviceID,
2215
swi_uint32
sizeBuffer,
2216
swi_uint32
timeout);
2217
2218
extern
SWI_API
SWI_RCODE
SwiGetFlashImgInfo
(
2219
struct
SWI_STRUCT_FlashImgInfo
* pFlashImgInfo,
2220
swi_uint32
timeout);
2221
2222
extern
SWI_API
SWI_RCODE
SwiGetObjRngRev
(
2223
struct
SWI_STRUCT_ObjRngRev
*ObjRngRevp,
2224
swi_uint32
timeout);
2225
2226
extern
SWI_API
SWI_RCODE
SwiGetAvailAirServers
(
2227
struct
SWI_STRUCT_AirServerList
*sList);
2228
2229
extern
SWI_API
SWI_RCODE
SwiGetBootAndHoldMode
(
2230
swi_bool
*pbootnhold,
swi_uint32
timeout );
2231
2232
extern
SWI_API
void
SwiGetLastError
(
2233
swi_char
*szError,
2234
swi_uint32
sizeBuffer);
2235
2236
extern
SWI_API
SWI_RCODE
SwiGetUsbPortName
(
2237
struct
SWI_STRUCT_UsbPortName
*sPortNamep);
2238
2239
extern
SWI_API
SWI_RCODE
SwiNVUpdateFromFile
(
2240
SWI_STRUCT_NVUpdateFromFile
*pNVUpdateFromFile,
2241
swi_uint32
timeout);
2242
2243
extern
SWI_API
SWI_RCODE
SwiApiUnlock
(
SWI_STRUCT_ApiUnlock
*pApiUnlock,
2244
swi_uint32
timeout);
2245
2246
extern
SWI_API
SWI_RCODE
SwiGetRemoteDiagAgentSupport
(
2247
SWI_STRUCT_RDA_SUPPORT
*psRDA,
2248
swi_uint32
timeout);
2249
2250
extern
SWI_API
SWI_RCODE
SwiSetRemoteDiagAgentEnable
(
swi_uint8
bEnable,
2251
swi_uint8
*pStatus,
2252
swi_uint32
timeout);
2253
2254
extern
SWI_API
SWI_RCODE
SwiGetRemovableMediaSupport
(
2255
SWI_STRUCT_RM_CONFIG
*psRM,
2256
swi_uint32
timeout);
2257
2258
extern
SWI_API
SWI_RCODE
SwiSetRemovableMediaSupport
(
2259
const
SWI_STRUCT_RM_CONFIG_SET
*psRM,
2260
swi_uint8
*pStatus,
2261
swi_uint32
timeout);
2262
2263
extern
SWI_API
SWI_RCODE
SwiSoftModemReset
(
void
);
2264
2265
extern
SWI_API
SWI_RCODE
SwiResetToBootHold
(
swi_uint32
timeout );
2266
2267
extern
SWI_API
SWI_RCODE
SwiGetSdkVersion
(
swi_charp
*sdkversionpp);
2268
2269
extern
SWI_API
SWI_RCODE
SwiGetDeviceInformation
(
2270
struct
SWI_STRUCT_DeviceInformation_Request
*sDeviceInformation_Requestp,
2271
struct
SWI_STRUCT_DeviceInformation_Response
*sDeviceInformation_Responsep,
2272
swi_uint32
timeout);
2273
2274
extern
SWI_API
SWI_RCODE
SwiGetSwocCfg
(
2275
struct
SWI_STRUCT_GetSwocCfg
* pSwocCfg,
2276
swi_uint32
timeout);
2277
2278
extern
SWI_RCODE
SwiIntSendnWaitUsbPortNameRequest
(
2279
struct
SWI_STRUCT_UsbPortName
*sPortNamep );
2280
2281
extern
void
SwiUpkDeviceInformationResp
(
2282
swi_uint8
*paramfieldp,
2283
struct
SWI_STRUCT_DeviceInformation_Response
*pDeviceInfo );
2284
2285
extern
void
SwiUpkSwocCfg
(
2286
swi_uint8
*paramfieldp,
2287
struct
SWI_STRUCT_GetSwocCfg
*pSwocCfg );
2288
2289
#ifdef __cplusplus
2290
}
/* extern "C" { */
2291
#endif
2292
2293
#endif
/* __SWIAPI_CM */
2294
2295
/*
2296
* $Log: SwiApiCmBasic.h,v $
2297
*/
Linux SDK V1.4.0.5
Copyright (c) 2011 Sierra Wireless, Inc. All rights reserved