• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15/**
16 * @addtogroup Ril
17 * @{
18 *
19 * @brief Defines Ril-related APIs.
20 *
21 * The radio interface layer (RIL) module provides APIs and callbacks for upper-layer telephony services,
22 * including call, SMS, MMS, network search, and SIM card services.
23 *
24 * @since 3.2
25 * @version 1.1
26 */
27
28/**
29 * @file Types.idl
30 *
31 * @brief Declares data types used by the Hardware Driver Interfaces (HDIs) of the Ril module.
32 *
33 * @since 3.2
34 * @version 1.1
35 */
36
37/**
38 * @brief Defines the path for the package of the Ril module APIs.
39 *
40 * @since 3.2
41 * @version 1.1
42 */
43package ohos.hdi.ril.v1_1;
44
45/**
46 * @brief Enumerates emergency call types.
47 */
48enum EccType {
49    /**
50     * Default
51     */
52    TYPE_CATEGORY = 0,
53
54     /**
55     * Police
56     */
57    TYPE_POLICE = 1,
58
59     /**
60     * Ambulance
61     */
62    TYPE_AMBULANCE = 2,
63
64     /**
65     * Fire alarm
66     */
67    TYPE_FIRE = 4,
68
69     /**
70     * Marine police
71     */
72    TYPE_SEA = 8,
73
74     /**
75     * Mountain rescue
76     */
77    TYPE_MOUNTAIN = 16,
78};
79
80/**
81 * @brief Specifies whether a number is valid when there is a card or no card.
82 */
83enum SimpresentType {
84    /**
85     * Valid when there is no card
86     */
87    TYPE_NO_CARD = 0,
88
89    /**
90     * Valid when there is a card
91     */
92    TYPE_HAS_CARD = 1,
93};
94
95/**
96 * @brief Specifies whether a number is valid for all states or only for the abnormal service state of
97 * the circuit switched (CS) domain.
98 */
99enum AbnormalServiceType {
100    /**
101     * Vaild for all states
102     */
103    TYPE_ALL = 0,
104
105    /**
106     * Valid only for the abnormal service state of the CS domain
107     */
108    TYPE_ONLY_CS = 1,
109};
110
111/**
112 * @brief Enumerates Ril error codes.
113 */
114enum RilErrType {
115    /**
116     * Call success
117     */
118    NONE = 0,
119
120    /**
121     * Common error
122     */
123    RIL_ERR_GENERIC_FAILURE = 1,
124
125    /**
126     * Invalid parameters
127     */
128    RIL_ERR_INVALID_PARAMETER = 2,
129
130    /**
131     * Memory fully loaded
132     */
133    RIL_ERR_MEMORY_FULL = 3,
134
135    /**
136     * Command sending failed
137     */
138    RIL_ERR_CMD_SEND_FAILURE = 4,
139
140    /**
141     * Command connection terminated
142     */
143    RIL_ERR_CMD_NO_CARRIER = 5,
144
145    /**
146     * Invalid response
147     */
148    RIL_ERR_INVALID_RESPONSE = 6,
149
150    /**
151     * Status repeated
152     */
153    RIL_ERR_REPEAT_STATUS = 7,
154
155    /**
156     * Network search in progress
157     */
158    RIL_ERR_NETWORK_SEARCHING = 8,
159
160    /**
161     * Network search interrupted
162     */
163    RIL_ERR_NETWORK_SEARCHING_INTERRUPTED = 9,
164
165    /**
166     * Modem shut down
167     */
168    RIL_ERR_MODEM_DEVICE_CLOSE = 10,
169
170    /**
171     * SIM card not inserted
172     */
173    RIL_ERR_NO_SIMCARD_INSERTED = 11,
174
175    /**
176     * PIN required
177     */
178    RIL_ERR_NEED_PIN_CODE = 12,
179
180    /**
181     * PUK required
182     */
183    RIL_ERR_NEED_PUK_CODE = 13,
184
185    /**
186     * Network search timed out
187     */
188    RIL_ERR_NETWORK_SEARCH_TIMEOUT = 14,
189
190    /**
191     * Incorrect PIN or PUK
192     */
193    RIL_ERR_PINPUK_PASSWORD_NOCORRECT = 15,
194
195    /**
196     * Modem parameter error
197     */
198    RIL_ERR_INVALID_MODEM_PARAMETER = 50,
199
200    /**
201     * IPC error
202     */
203    RIL_ERR_HDF_IPC_FAILURE = 300,
204
205    /**
206     * Null pointer
207     */
208    RIL_ERR_NULL_POINT = 301,
209
210    /**
211     * Vendor library not implemented
212     */
213    RIL_ERR_VENDOR_NOT_IMPLEMENT = 302
214};
215
216/**
217 * @brief Enumerates response types.
218 */
219enum RilResponseTypes {
220    /**
221     * Request response
222     */
223    RIL_RESPONSE_REQUEST = 0,
224
225    /**
226     * Notification response
227     */
228    RIL_RESPONSE_NOTICE = 1,
229
230    /**
231     * Acknowledgment request response
232     */
233    RIL_RESPONSE_REQUEST_ACK = 2,
234
235    /**
236     * Response to a request that must be acknowledged
237     */
238    RIL_RESPONSE_REQUEST_MUST_ACK = 3,
239
240    /**
241     * Response to a notification that must be acknowledged
242     */
243    RIL_RESPONSE_NOTICE_MUST_ACK = 4,
244};
245
246/**
247 * @brief Enumerates RIL system service states.
248 */
249enum RilSrvStatus {
250   /**
251    * No service
252    */
253    RIL_NO_SRV_SERVICE = 0,
254
255    /**
256     * Restricted service
257     */
258    RIL_RESTRICTED_SERVICE = 1,
259
260    /**
261     * Valid service
262     */
263    RIL_SERVICE_VALID = 2,
264
265    /**
266     * Restricted regional service
267     */
268    RIL_REGIONAL_SERVICE = 3,
269
270    /**
271     * Power saving
272     */
273    RIL_ENERGY_SAVING_SERVICE = 4,
274};
275
276/**
277 * @brief Enumerates system service domains.
278 */
279enum RilSrvDomain {
280    /**
281     * No service
282     */
283    RIL_NO_DOMAIN_SERVICE = 0,
284
285    /**
286     * Circuit switched (CS) service only
287     */
288    RIL_CS_SERVICE = 1,
289
290    /**
291     * Packet switched (PS) service only
292     */
293    RIL_PS_SERVICE = 2,
294
295    /**
296     * CS and PS services
297     */
298    RIL_CS_PS_SERVICE = 3,
299
300    /**
301     * CS and PS services not registered
302     */
303    RIL_CS_PS_SEARCHING = 4,
304
305    /**
306     * CDMA not supported
307     */
308    RIL_CDMA_NOT_SUPPORT = 255,
309};
310
311/**
312 * @brief Enumerates roaming states.
313 */
314enum RilRoamStatus {
315    /**
316     * Non-roaming state
317     */
318    RIL_NO_ROAM = 0,
319    /**
320     * Roaming state
321     */
322    RIL_ROAMING = 1,
323    /**
324     * Unknown
325     */
326    RIL_ROAM_UNKNOWN = 2,
327};
328
329/**
330 * @brief Enumerates SIM card lock states.
331 */
332enum RilSimLockStatus {
333    /**
334     * Not locked by CardLock
335     */
336    RIL_SIM_CARD_UNLOCK = 0,
337
338    /**
339     * Locked by CardLock
340     */
341    RIL_SIM_CARD_LOCK = 1,
342};
343
344/**
345 * @brief Enumerates system modes.
346 */
347enum RilSysMode {
348    /**
349     * Service not exist
350     */
351    RIL_NO_SYSMODE_SERVICE = 0,
352
353    /**
354     * Global System for Mobile Communications (GSM)
355     */
356    RIL_GSM_MODE = 1,
357
358    /**
359     * Code Division Multiple Access (CDMA)
360     */
361    RIL_CDMA_MODE = 2,
362
363    /**
364     * Wideband Code Division Multiple Access (WCDMA)
365     */
366    RIL_WCDMA_MODE = 3,
367
368    /**
369     * Time Division-Synchronous Code Division Multiple Access (TD-SCDMA)
370     */
371    RIL_TDSCDMA_MODE = 4,
372
373    /**
374     * Global Microwave Access Interoperability (WiMAX)
375     */
376    RIL_WIMAX_MODE = 5,
377
378    /**
379     * Long Term Evolution (LTE)
380     */
381    RIL_LTE_MODE = 6,
382
383    /**
384     * Carrier Aggregation (CA)
385     */
386    RIL_LTE_CA_MODE = 7,
387
388    /**
389     * 5G New Radio (NR)
390     */
391    RIL_NR_MODE = 8,
392};
393
394/**
395 * @brief Enumerates voice access technologies.
396 */
397enum RilRadioTech {
398    /**
399     * Invalid
400     */
401    RADIO_TECHNOLOGY_INVALID = 65535,
402
403    /**
404     * Unknown
405     */
406    RADIO_TECHNOLOGY_UNKNOWN = 0,
407
408    /**
409     * GSM
410     */
411    RADIO_TECHNOLOGY_GSM = 1,
412
413    /**
414     * 1x Radio Transmission Technology (1XRTT)
415     */
416    RADIO_TECHNOLOGY_1XRTT = 2,
417
418    /**
419     * WCDMA
420     */
421    RADIO_TECHNOLOGY_WCDMA = 3,
422
423    /**
424     * High Speed Packet Access (HSPA)
425     */
426    RADIO_TECHNOLOGY_HSPA = 4,
427
428    /**
429     * High Speed Downlink Packet Access (HSPAP)
430     */
431    RADIO_TECHNOLOGY_HSPAP = 5,
432
433    /**
434     * TD-SCDMA
435     */
436    RADIO_TECHNOLOGY_TD_SCDMA = 6,
437
438    /**
439     * Evolution Data Only (EV-DO)
440     */
441    RADIO_TECHNOLOGY_EVDO = 7,
442
443    /**
444     * Evolved High Speed Packet Data Network (EHRPD)
445     */
446    RADIO_TECHNOLOGY_EHRPD = 8,
447
448    /**
449     * LTE
450     */
451    RADIO_TECHNOLOGY_LTE = 9,
452
453    /**
454     * CA
455     */
456    RADIO_TECHNOLOGY_LTE_CA = 10,
457
458    /**
459     * Industrial Wireless Local Area Network (IWLAN)
460     */
461    RADIO_TECHNOLOGY_IWLAN = 11,
462
463    /**
464     * NR
465     */
466    RADIO_TECHNOLOGY_NR = 12,
467};
468
469/**
470 * @brief Enumerates SIM card states.
471 */
472enum RilSimStatus {
473    /**
474     * Invalid USIM card
475     */
476    RIL_USIM_INVALID = 0,
477
478    /**
479     * Valid USIM card
480     */
481    RIL_USIM_VALID = 1,
482
483    /**
484     * Invalid USIM card in the CS domain
485     */
486    RIL_USIM_CS_INVALID = 2,
487
488    /**
489     * Invalid USIM card in the PS domain
490     */
491    RIL_USIM_PS_INVALID = 3,
492
493    /**
494     * Invalid USIM card in the CS and PS domains
495     */
496    RIL_USIM_CS_PS_INVALID = 4,
497
498    /**
499     * Emulation SIM card
500     */
501    RIL_ROM_SIM = 240,
502
503    /**
504     * USIM card not exist
505     */
506    RIL_NO_USIM = 255,
507};
508
509/**
510 * @brief Enumerates network registration states.
511 */
512enum RilRegStatus {
513    /**
514     * Not registered. The mobile terminal (MT) does not search for or register with a new carrier
515     */
516    NO_REG_MT_NO_SEARCH = 0,
517
518    /**
519     * Registered with the home network
520     */
521    REG_MT_HOME = 1,
522
523    /**
524     * Not registered. The MT is searching for and registering with a new carrier.
525     */
526    NO_REG_MT_SEARCHING = 2,
527
528    /**
529     * Registration rejected
530     */
531    REG_MT_REJECTED = 3,
532
533    /**
534      * Unknown state
535     */
536    REG_MT_UNKNOWN = 4,
537
538    /**
539     * Registered with the roaming network
540     */
541    REG_MT_ROAMING = 5,
542
543    /**
544     * Emergency mode
545     */
546    REG_MT_EMERGENCY = 6,
547};
548
549/**
550 * @brief Enumerates cell connection states.
551 */
552enum RilCellConnectionStatus {
553    /**
554     * Unknown connection state
555     */
556    RIL_SERVING_CELL_UNKNOWN = 0,
557
558    /**
559     * Primary connection state
560     */
561    RIL_SERVING_CELL_PRIMARY = 1,
562
563    /**
564     * Secondary connection state
565     */
566    RIL_SERVING_CELL_SECONDARY = 2,
567};
568
569/**
570 * @brief Enumerates notification modes.
571 */
572enum RilRegNotifyMode {
573    /**
574     * Notification disabled
575     */
576    REG_NOT_NOTIFY = 0,
577
578    /**
579     * Notification on network registration status changes
580     */
581    REG_NOTIFY_STAT_ONLY = 1,
582
583    /**
584     * Notification on cell information changes
585     */
586    REG_NOTIFY_STAT_LAC_CELLID = 2,
587};
588
589/**
590 * @brief Enumerates radio protocol phases.
591 */
592enum RadioProtocolPhase {
593    /**
594     # Initialization
595     */
596    RADIO_PROTOCOL_PHASE_INITIAL,
597
598    /**
599     * Check
600     */
601    RADIO_PROTOCOL_PHASE_CHECK,
602
603    /**
604     * Update
605     */
606    RADIO_PROTOCOL_PHASE_UPDATE,
607
608    /**
609     * Notification
610     */
611    RADIO_PROTOCOL_PHASE_NOTIFY,
612
613    /**
614     * End
615     */
616    RADIO_PROTOCOL_PHASE_COMPLETE,
617};
618
619/**
620 * @brief Enumerates radio protocol states.
621 */
622enum RadioProtocolStatus {
623    /**
624     * No state
625     */
626    RADIO_PROTOCOL_STATUS_NONE,
627
628    /**
629     * Success
630     */
631    RADIO_PROTOCOL_STATUS_SUCCESS,
632
633    /**
634     * Failed
635     */
636    RADIO_PROTOCOL_STATUS_FAIL,
637};
638
639/**
640 * @brief Defines the emergency call number.
641 */
642struct EmergencyCall {
643    /**
644     * Number index
645     */
646    int index;
647
648    /**
649     * Total number
650     */
651    int total;
652
653    /**
654     * Emergency number
655     */
656    String eccNum;
657
658    /**
659     * Mobile country code
660     */
661    String mcc;
662
663    /**
664     * Enumerates emergency call types. For details, see {@link EccType}.
665     */
666    enum EccType eccType;
667
668    /**
669     * Whether a number is valid when there is a card or no card. For details, see {@link SimpresentType}.
670     */
671    enum SimpresentType simpresent;
672
673    /**
674     * Whether a number is valid for all states or only for the abnormal service state of the CS domain.
675     * For details, see {@link AbnormalService}.
676     */
677    enum AbnormalServiceType abnormalService;
678};
679
680/**
681 * @brief Defines the emergency call number list.
682 */
683struct EmergencyInfoList {
684    /**
685     * Total number
686     */
687    int callSize;
688
689    /**
690     * Number list ID
691     */
692    int flag;
693
694    /**
695     * Number list
696     *
697     */
698    List<struct EmergencyCall> calls;
699};
700
701/**
702 * @brief Defines the common response information.
703 */
704struct RilRadioResponseInfo {
705    /**
706     * Card slot ID
707     */
708    int slotId;
709
710    /**
711     * Response flag
712     */
713    int flag;
714
715    /**
716     * Request SN
717     */
718    int serial;
719
720    /**
721     * Error code
722     */
723    enum RilErrType error;
724
725    /**
726     * Response type. For details, see {@link RilResponseTypes}.
727     */
728    enum RilResponseTypes type;
729};
730
731/**
732 * @brief Defines the data service activation result.
733 */
734struct SetupDataCallResultInfo {
735    /**
736     * Activation result ID
737     */
738    int flag;
739
740    /**
741     * Reason code of the data service activation failure. For details, see 3GPP TS 24.008.
742     */
743    int reason;
744
745    /**
746     * Number of data service activation retry times
747     */
748    int retryTime;
749
750    /**
751     * Packet Data Protocol (PDP) context ID
752     */
753    int cid;
754
755    /**
756     * Whether the activation is successful. The value 0 indicates that the activation fails,
757     * and the value 1 indicates that the activation is successful.
758     */
759    int active;
760
761    /**
762     * Maximum number of data units
763     */
764    int maxTransferUnit;
765
766    /**
767     * Data unit ID
768     */
769    int pduSessionId;
770
771    /**
772     * Data service type. The value default indicates the default data service,
773     * and the value mms indicates the MMS data service.
774     */
775    String type;
776
777    /**
778     * Network port name
779     */
780    String netPortName;
781
782    /**
783     * Network address
784     */
785    String address;
786
787    /**
788     * IP address of the primary DNS server
789     */
790    String dns;
791
792    /**
793     * IP address of the secondary DNS server.
794     */
795    String dnsSec;
796
797    /**
798     * Gateway address
799     */
800    String gateway;
801
802    /**
803     * IP address of the primary Proxy-Call Session Control Function (P-CSCF)
804     */
805    String pCscfPrimAddr;
806
807    /**
808     * IP address of the secondary P-CSCF
809     */
810    String pCscfSecAddr;
811};
812
813/**
814 * @brief Defines the list of data service activation results.
815 */
816struct DataCallResultList {
817    /**
818     * Number of data service activation results
819     */
820    int size;
821
822    /**
823     * List of data service activation results
824     */
825    List<struct SetupDataCallResultInfo> dcList;
826};
827
828/**
829 * @brief Defines the data link capability.
830 *
831 * @since 4.0
832 * @version 1.1
833 */
834struct DataLinkCapability {
835    /**
836     * Primary serving downlink capability.
837     *
838     * @since 4.0
839     * @version 1.1
840     */
841    int primaryDownlinkKbps;
842
843    /**
844     * Primary serving uplink capability.
845     *
846     * @since 4.0
847     * @version 1.1
848     */
849    int primaryUplinkKbps;
850
851    /**
852     * Secondary serving downlink capability.
853     *
854     * @since 4.0
855     * @version 1.1
856     */
857    int secondaryDownlinkKbps;
858
859    /**
860     * Secondary serving uplink capability.
861     *
862     * @since 4.0
863     * @version 1.1
864     */
865    int secondaryUplinkKbps;
866};
867
868/**
869 * @brief Defines PDP context information.
870 */
871struct DataProfileDataInfo {
872    /**
873     * Request SN
874     */
875    int serial;
876
877    /**
878     * Data service type. The value 0 indicates the default data service,
879     * and the value 1 indicates the MMS data service.
880     */
881    int profileId;
882
883    /**
884     * Authentication mode:
885     *- 0: no authentication
886     *- 1: Password Authentication Protocol (PAP)
887     *- 2: Challenge Handshake Authentication Protocol (CHAP)
888     */
889    int authenticationType;
890
891    /**
892     * Access point name
893     */
894    String apn;
895
896    /**
897     * Protocol version
898     */
899    String protocol;
900
901    /**
902     * Roaming protocol version
903     */
904    String roamingProtocol;
905
906    /**
907     * Username
908     */
909    String userName;
910
911    /**
912     * Password
913     */
914    String password;
915};
916
917/**
918 * @brief Defines the PDP context list.
919 */
920struct DataProfilesInfo {
921    /**
922     * Request SN
923     */
924    int serial;
925
926    /**
927     * Number of PDP contexts
928     */
929    int profilesSize;
930
931    /**
932     * Roaming or not
933     */
934    boolean isRoaming;
935
936    /**
937     * PDP context list
938     */
939    List<struct DataProfileDataInfo> profiles;
940};
941
942/**
943 * @brief Defines the data service information.
944 */
945struct DataCallInfo {
946    /**
947     * Request SN
948     */
949    int serial;
950
951    /**
952     * Radio access technology. For details, see {@link RilRadioTech}.
953     */
954    int radioTechnology;
955
956    /**
957     * Whether the PDP context is set for the modem
958     */
959    boolean modemCognitive;
960
961    /**
962     * Whether roaming is allowed. The value true indicates that roaming is allowed,
963     * and the value false indicates the opposite.
964     */
965    boolean roamingAllowed;
966
967    /**
968     * Whether the user is roaming. The value true indicates that the user is roaming,
969     * and the value false indicates the opposite.
970     */
971    boolean isRoaming;
972
973    /**
974     * PDP context information
975     */
976    struct DataProfileDataInfo dataProfileInfo;
977};
978
979/**
980 * @brief Defines the network bandwidth information.
981 */
982struct DataLinkBandwidthInfo {
983    /**
984     * Request SN
985     */
986    int serial;
987
988    /**
989     * PDP context ID
990     */
991    int cid;
992
993    /**
994     * Quality of Service (QoS) class
995     */
996    int qi;
997
998    /**
999     * Downlink GBR
1000     */
1001    int dlGfbr;
1002
1003    /**
1004     * Uplink GBR
1005     */
1006    int ulGfbr;
1007
1008    /**
1009     * Downlink MBR
1010     */
1011    int dlMfbr;
1012
1013    /**
1014     * Uplink MBR
1015     */
1016    int ulMfbr;
1017
1018    /**
1019     * Uplink aggregate maximum bit rate (AMBR)
1020     */
1021    int ulSambr;
1022
1023    /**
1024     * Downlink AMBR
1025     */
1026    int dlSambr;
1027
1028    /**
1029     * Time unit
1030     */
1031    int averagingWindow;
1032};
1033
1034/**
1035 * @brief Defines the network bandwidth reporting rule.
1036 */
1037struct DataLinkBandwidthReportingRule {
1038    /**
1039     * Request SN
1040     */
1041    int serial;
1042
1043    /**
1044     * Radio access technology. For details, see {@link RilRadioTech}.
1045     */
1046    int rat;
1047
1048    /**
1049     * Delay time
1050     */
1051    int delayMs;
1052
1053    /**
1054     * Uplink delay
1055     */
1056    int delayUplinkKbps;
1057
1058    /**
1059     * Downlink delay
1060     */
1061    int delayDownlinkKbps;
1062
1063    /**
1064     * Maximum number of uplink parameters
1065     */
1066    int maximumUplinkKbpsSize;
1067
1068    /**
1069     * Maximum number of downlink parameters
1070     */
1071    int maximumDownlinkKbpsSize;
1072
1073    /**
1074     * Maximum uplink parameter list
1075     */
1076    List<int> maximumUplinkKbps;
1077
1078    /**
1079     * Maximum downlink parameter list
1080     */
1081    List<int> maximumDownlinkKbps;
1082};
1083
1084/**
1085 * @brief Defines the data service performance mode.
1086 */
1087struct DataPerformanceInfo {
1088    /**
1089     * Enabling the performance mode
1090     */
1091    int performanceEnable;
1092
1093    /**
1094     * Forcibly enabling the performance mode
1095     */
1096    int enforce;
1097};
1098
1099/**
1100 * @brief Defines the sleep mode for data services.
1101 */
1102struct DataSleepInfo {
1103    /**
1104     * Enabling sleep mode
1105     */
1106    int sleepEnable;
1107};
1108
1109/**
1110 * @brief Defines the common information.
1111 */
1112struct UniInfo {
1113    /**
1114     * Request SN
1115     */
1116    int serial;
1117
1118    /**
1119     * GSM index
1120     */
1121    int gsmIndex;
1122
1123    /**
1124     * Common information ID
1125     */
1126    boolean flag;
1127
1128    /**
1129     * Parameter 1
1130     */
1131    int arg1;
1132
1133    /**
1134     * Parameter 2
1135     */
1136    int arg2;
1137
1138    /**
1139     * String
1140     */
1141    String strTmp;
1142};
1143
1144/**
1145 * @brief Defines the radio access technology of the CS domain.
1146 */
1147struct VoiceRadioTechnology {
1148
1149    /**
1150     * System service status
1151     */
1152    enum RilSrvStatus srvStatus;
1153
1154    /**
1155     * System service domain
1156     */
1157    enum RilSrvDomain srvDomain;
1158
1159    /**
1160     * Roaming status
1161     */
1162    enum RilRoamStatus roamStatus;
1163
1164    /**
1165     * SIM card status
1166     */
1167    enum RilSimStatus simStatus;
1168
1169    /**
1170     * SIM card lock status
1171     */
1172    enum RilSimLockStatus lockStatus;
1173
1174    /**
1175     * System mode
1176     */
1177    enum RilSysMode sysMode;
1178
1179    /**
1180     * String corresponding to the system mode
1181     */
1182    String sysModeName;
1183
1184    /**
1185     * Radio access technology type. For details, see {@link RilRadioTech}.
1186     */
1187    enum RilRadioTech actType;
1188
1189    /**
1190     * String corresponding to the radio access technology type
1191     */
1192    String actName;
1193
1194    /**
1195     * Radio access technology ID
1196     */
1197    int flag;
1198};
1199
1200/**
1201 * @brief Defines the dialing information.
1202 */
1203struct DialInfo {
1204    /**
1205     * Request SN
1206     */
1207    int serial;
1208
1209    /**
1210     * CLIR mode:
1211     *- 0: default
1212     *- 1: enable
1213     *- 2: disable
1214     */
1215    int clir;
1216
1217    /**
1218     * Phone number
1219     */
1220    String address;
1221};
1222
1223/**
1224 * @brief Defines the call status information.
1225 */
1226struct CallInfo {
1227    /**
1228     * Call ID
1229     */
1230    int index;
1231
1232    /**
1233     * Call direction. The value 0 indicates the calling party, and the value 1 indicates the called party.
1234     */
1235    int dir;
1236
1237    /**
1238     * Call status:
1239     *- 0: activated state
1240     *- 1: call hold state
1241     *- 2: calling party, dialing state
1242     *- 3: calling party, ringback tone state
1243     *- 4: called party, incoming call state
1244     *- 5: called party, call waiting state
1245     *- 6: disconnected state
1246     *- 7: disconnecting state
1247     *- 8: idle state
1248     */
1249    int state;
1250
1251    /**
1252     * Call mode:
1253     *- 0: voice call
1254     *- 1: data call
1255     *- 2: fax
1256     */
1257    int mode;
1258
1259    /**
1260     * Multi-party call status:
1261     *- 0: not a multi-party call
1262     *- 1: a multi-party call
1263     */
1264    int mpty;
1265
1266    /**
1267     * Call domain of the voice call:
1268     *- 0: CS domain
1269     *- 1: IP multimedia system (IMS) domain
1270     */
1271    int voiceDomain;
1272
1273    /**
1274     * Call type. Currently, the value can only be 0, indicating a voice call.
1275     */
1276    int callType;
1277
1278    /**
1279     * Code address type:
1280     *-129: common number
1281     *- 145: international number
1282     */
1283    int type;
1284
1285    /**
1286     * Phone number
1287     */
1288    String number;
1289
1290    /**
1291     * Name of a phone number in the phonebook
1292     */
1293    String alpha;
1294};
1295
1296/**
1297 * @brief Defines the call status information list.
1298 */
1299struct CallInfoList {
1300    /**
1301     * Total number
1302     */
1303    int callSize;
1304
1305    /**
1306     * ID of the call status information list
1307     */
1308    int flag;
1309
1310    /**
1311     * Call status information list
1312     */
1313    List<struct CallInfo> calls;
1314};
1315
1316/**
1317 * @brief Obtains the call line identifier presentation (CLIP) result.
1318 */
1319struct GetClipResult {
1320    /**
1321     * Query result. For details, see {@link RilErrType}.
1322     */
1323    int result;
1324
1325    /**
1326     * Action of enabling or disabling CLIP
1327     */
1328    int action;
1329
1330    /**
1331     * CLIP subscription status:
1332     *- 0: CLIP not provided
1333     *- 1: CLIP provided
1334     *- 2: unknown (network cause)
1335     */
1336    int clipStat;
1337};
1338
1339/**
1340 * @brief Obtains the calling line identification restriction (CLIR) result.
1341 */
1342struct GetClirResult {
1343    /**
1344     * Query result. For details, see {@link RilErrType}.
1345     */
1346    int result;
1347
1348    /**
1349     * Action of enabling or disabling CLIR
1350     */
1351    int action;
1352
1353    /**
1354     * CLIR subscription status:
1355     *- 0: CLIR not provided
1356     *- 1: CLIR provided in permanent mode
1357     *- 2: unknown (network cause)
1358     *- 3: CLIR temporarily restricted
1359     *- 4: CLIR temporarily allowed
1360     */
1361    int clirStat;
1362};
1363
1364/**
1365 * @brief Defines the call waiting result.
1366 */
1367struct CallWaitResult {
1368    /**
1369     * Query result. For details, see {@link RilErrType}.
1370     */
1371    int result;
1372
1373    /**
1374     * Call waiting status:
1375     *- 0: not activated
1376     *- 1: activated
1377     */
1378    int status;
1379
1380    /**
1381     * Service class. For details, see 3GPP TS 27.007.
1382     */
1383    int classCw;
1384};
1385
1386/**
1387 * @brief Defines the call restriction information.
1388 */
1389struct CallRestrictionInfo {
1390    /**
1391     * Operation mode:
1392     *- 0: deactivation
1393     *- 1: activation
1394     */
1395    int mode;
1396
1397    /**
1398     * Operation object
1399     */
1400    String fac;
1401
1402    /**
1403     * Password
1404     */
1405    String password;
1406};
1407
1408/**
1409 * @brief Defines the call restriction result.
1410 */
1411struct CallRestrictionResult {
1412    /**
1413     * Query result. For details, see {@link RilErrType}.
1414     */
1415    int result;
1416
1417    /**
1418     * Service status:
1419     *- 0: not activated
1420     *- 1: activated
1421     */
1422    int status;
1423
1424    /**
1425     * Service class. For details, see 3GPP TS 27.007.
1426     */
1427    int classCw;
1428};
1429
1430/**
1431 * @brief Defines the call forwarding information.
1432 */
1433struct CallForwardSetInfo {
1434    /**
1435     * Call forwarding type:
1436     *- 0: call forwarding unconditional
1437     *- 1: call forwarding on busy
1438     *- 2: call forwarding on no reply
1439     *- 3: call forwarding not reachable (no network service, or power-off)
1440     *- 4: any call forwarding
1441     *- 5: any call forwarding conditional
1442     */
1443    int reason;
1444
1445    /**
1446     * Call forwarding operation mode:
1447     *- 0: deactivation
1448     *- 1: activation
1449     *- 2: status query
1450     *- 3: registration
1451     *- 4: deletion
1452     */
1453    int mode;
1454
1455    /**
1456     * Service class. For details, see 3GPP TS 27.007.
1457     */
1458    int classx;
1459
1460    /**
1461     * Phone number
1462     */
1463    String number;
1464};
1465
1466/**
1467 * @brief Defines the call forwarding query result.
1468 */
1469struct CallForwardQueryResult {
1470    /**
1471     * Request SN
1472     */
1473    int serial;
1474
1475    /**
1476     * Query result. For details, see {@link RilErrType}.
1477     */
1478    int result;
1479
1480    /**
1481     * Status:
1482     *- 0: not activated
1483     *- 1: activated
1484     */
1485    int status;
1486
1487    /**
1488     * Service class. For details, see 3GPP TS 27.007.
1489     */
1490    int classx;
1491
1492    /**
1493     * Number type:
1494     *-129: common number
1495     *- 145: international number
1496     */
1497    int type;
1498
1499    /**
1500     * Call forwarding type:
1501     *- 0: call forwarding unconditional
1502     *- 1: call forwarding on busy
1503     *- 2: call forwarding on no reply
1504     *- 3: call forwarding not reachable (no network service or power-off)
1505     *- 4: any call forwarding
1506     *- 5: any call forwarding conditional
1507     */
1508    int reason;
1509
1510    /**
1511     * Waiting time
1512     */
1513    int time;
1514
1515    /**
1516     * Phone number
1517     */
1518    String number;
1519};
1520
1521/**
1522 * @brief Defines the list of call forwarding information.
1523 */
1524struct CallForwardQueryInfoList {
1525    /**
1526     * Total number
1527     */
1528    int callSize;
1529
1530    /**
1531     * ID of the call forwarding query result
1532     */
1533    int flag;
1534
1535    /**
1536     * Call forwarding query result
1537     *
1538     */
1539    List<struct CallForwardQueryResult> calls;
1540};
1541
1542/**
1543 * @brief Defines the Unstructured Supplementary Data Service (USSD) information.
1544 */
1545struct UssdNoticeInfo {
1546    /**
1547     * USSD type:
1548     *- 0: The network does not require a response from the client.
1549     *- 1: The network requires a response from the client.
1550     *- 2: The USSD session is released by the network.
1551     *- 3: Another local client has responded to the request.
1552     *- 4: The operation is not supported.
1553     *- 5: A network timeout occurred.
1554     */
1555    int type;
1556
1557    /**
1558     * USSD string
1559     */
1560    String message;
1561};
1562
1563/**
1564 * @brief Defines the supplementary service information.
1565 */
1566struct SsNoticeInfo {
1567    /**
1568     * Service type:
1569     *- 0: call forwarding unconditional
1570     *- 1: call forwarding on busy
1571     *- 2: call forwarding on no reply
1572     *- 3: call forwarding not reachable (no network service, or power-off)
1573     */
1574    int serviceType;
1575
1576    /**
1577     * Request type:
1578     *- 0: deactivation
1579     *- 1: activated
1580     *- 2: status query
1581     *- 3: registration
1582     *- 4: deletion
1583     */
1584    int requestType;
1585
1586    /**
1587     * Service class. For details, see 3GPP TS 27.007.
1588     */
1589    int serviceClass;
1590
1591    /**
1592     * Query result. For details, see {@link RilErrType}.
1593     */
1594    int result;
1595};
1596
1597/**
1598 * @brief Defines the Single Radio Voice Call Continuity (SRVCC) status information.
1599 */
1600struct SrvccStatus {
1601    /**
1602     * SRVCC status:
1603     *- 0: started
1604     1: success
1605     *- 2: failed
1606     *- 3: cancelled
1607     */
1608    int status;
1609};
1610
1611/**
1612 * @brief Defines the ringback tone information.
1613 */
1614struct RingbackVoice {
1615    /**
1616     * Ringback tone type:
1617     *- 0: network ringback tone
1618     *- 1: local ringback tone
1619     */
1620    int status;
1621};
1622
1623/**
1624 * @brief Defines the dual tone multi-frequency (DTMF) information.
1625 */
1626struct DtmfInfo {
1627    /**
1628     * Call ID
1629     */
1630    int callId;
1631
1632    /**
1633     * Duration for playing the DTMF tone
1634     */
1635    int onLength;
1636
1637    /**
1638     * Interval for sending DTMF signals
1639     */
1640    int offLength;
1641
1642    /**
1643     * DTMF string length
1644     */
1645    int stringLength;
1646
1647    /**
1648     * DTMF keyword
1649     */
1650    String dtmfKey;
1651};
1652
1653/**
1654 * @brief Defines the call restriction password.
1655 */
1656struct SetBarringInfo {
1657    /**
1658     * Operation object
1659     */
1660    String fac;
1661
1662    /**
1663     * Old password
1664     */
1665    String oldPassword;
1666
1667    /**
1668     * New password
1669     */
1670    String newPassword;
1671};
1672
1673/**
1674 * @brief Defines the SIM card status information.
1675 */
1676struct CardStatusInfo {
1677    /**
1678     * SIM card index
1679     */
1680    int index;
1681
1682    /**
1683     * SIM card type:
1684     *- 0: unknown
1685     *- 1: common SIM card
1686     *- 2: USIM, supporting 4G
1687     */
1688    int simType;
1689
1690   /**
1691     * SIM card status:
1692     *- -1: unknown
1693     *- 0: SIM card not inserted
1694     *- 1: SIM card detected normally
1695     *- 2: PIN required
1696     *- 3: PUK required
1697     *- 4: PIN2 required
1698     *- 5: PUK2 required
1699     */
1700    int simState;
1701};
1702
1703/**
1704 * @brief Defines the SIM data request information.
1705 */
1706struct SimIoRequestInfo {
1707    /**
1708     * Command sent from the mobile equipment (ME) to the SIM card. For details, see GSM 51.011[28].
1709     */
1710    int command;
1711
1712    /**
1713     * Identifier of the basic data file on the SIM card
1714     */
1715    int fileId;
1716
1717    /**
1718     * Command parameter 1 of the SIM data request. For details, see 3GPP TS 51.011[28].
1719     */
1720    int p1;
1721
1722    /**
1723     * Command parameter 2 of the SIM data request. For details, see 3GPP TS 51.011[28].
1724     */
1725    int p2;
1726
1727    /**
1728     * Command parameter 3 of the SIM data request. For details, see 3GPP TS 51.011[28].
1729     */
1730    int p3;
1731
1732    /**
1733     * Request SN
1734     */
1735    int serial;
1736
1737    /**
1738     * Data to be written into the SIM card
1739     */
1740    String data;
1741
1742    /**
1743     * SIM card file path. For details, see ETSI TS 102 221 [60].
1744     */
1745    String path;
1746
1747    /**
1748     * PIN2
1749     */
1750    String pin2;
1751
1752    /**
1753     * App ID
1754     */
1755    String aid;
1756};
1757
1758/**
1759 * @brief Defines the response to the SIM data request.
1760 */
1761struct IccIoResultInfo {
1762    /**
1763     * Status word 1 of the SIM card, which is returned by the SIM card after command execution
1764     */
1765    int sw1;
1766
1767    /**
1768     * Status word 2 of the SIM card, which is returned by the SIM card after command execution
1769     */
1770    int sw2;
1771
1772    /**
1773     * Response information
1774     */
1775    String response;
1776};
1777
1778/**
1779 * @brief Defines the SIM card lock information.
1780 */
1781struct SimLockInfo {
1782    /**
1783     * Service type. The value is the sum of integers that represent the service type. The default value is 255.
1784     *- 1: telephony service
1785     *- 2: data service
1786     *- 4: fax service
1787     *- 8: SMS service
1788     *- 16: data circuit sync
1789     *- 32: data circuit async
1790     *- 64: dedicated packet access
1791     *- 128: dedicated portable device (PAD) access
1792     */
1793    int classx;
1794
1795    /**
1796     * Request SN
1797     */
1798    int serial;
1799
1800    /**
1801     * SIM lock type:
1802     *- AO: barring of all outgoing calls
1803     *- OI: barring of all outgoing international calls
1804     *- OX: barring of all outgoing international calls except those directed to the home country
1805     *- AI: barring of all incoming calls
1806     *- IR: barring of all incoming calls when roaming outside the home location
1807     *- AB: barring of all services (applicable only when the mode is greater than or equal to 0)
1808     *- AG: barring of the outgoing call service (applicable only when the mode is greater than or equal to 0)
1809     *- AC: barring of the incoming call service (applicable only when the mode is greater than or equal to 0)
1810     *- FD: fixed dialing number (FDN)
1811     *- PN: network locking
1812     *- PU: subnet locking
1813     *- PP: SP locking
1814     */
1815    String fac;
1816
1817    /**
1818     * Mode:
1819     *- 0: deactivation (When fac is set to PN, PU, or PP, the operation is equivalent to unlocking.)
1820     *- 1: activation (When fac is set to PN, PU, or PP, activation is not supported.)
1821     *- 2: query
1822     */
1823    int mode;
1824
1825    /**
1826     * SIM card lock status.
1827     * It indicates the activation status of the first three layers of locks when fac is set to PN, PU, or PP.
1828     *- 0: not activated
1829     *- 1: activated
1830     */
1831    int status;
1832
1833    /**
1834     * Password text
1835     */
1836    String passwd;
1837};
1838
1839/**
1840 * @brief Defines the SIM card password information.
1841 */
1842struct SimPasswordInfo {
1843    /**
1844     * SIM lock type:
1845     *- AO: barring of all outgoing calls
1846     *- OI: barring of all outgoing international calls
1847     *- OX: barring of all outgoing international calls except those directed to the home country
1848     *- AI: barring of all incoming calls
1849     *- IR: barring of all incoming calls when roaming outside the home location
1850     *- AB: barring of all services (applicable only when the mode is greater than or equal to 0)
1851     *- AG: barring of the outgoing call service (applicable only when the mode is greater than or equal to 0)
1852     *- AC: barring of the incoming call service (applicable only when the mode is greater than or equal to 0)
1853     *- FD: fixed dialing number (FDN)
1854     *- PN: network locking
1855     *- PU: subnet locking
1856     *- PP: SP locking
1857     */
1858    String fac;
1859
1860    /**
1861     * Old password text
1862     */
1863    String oldPassword;
1864
1865    /**
1866     * New password text
1867     */
1868    String newPassword;
1869
1870    /**
1871     * Request SN
1872     */
1873    int serial;
1874
1875    /**
1876     * Maximum password length
1877     */
1878    int passwordLength;
1879};
1880
1881/**
1882 * @brief Defines the maximum number of SIM password attempts.
1883 */
1884struct SimPinInputTimes {
1885    /**
1886     * Request SN
1887     */
1888    int serial;
1889
1890    /**
1891     * Number of remaining password attempts
1892     */
1893    int times;
1894
1895    /**
1896     * Number of remaining PUK attempts
1897     */
1898    int pukTimes;
1899
1900    /**
1901     * Number of remaining PIN attempts
1902     */
1903    int pinTimes;
1904
1905    /**
1906     * Number of remaining PUK2 attempts
1907     */
1908    int puk2Times;
1909
1910    /**
1911     * Number of remaining PIN2 attempts
1912     */
1913    int pin2Times;
1914
1915    /**
1916     * Request fields, for example:
1917     * SIM PIN2: SIM card PIN2 request
1918     */
1919    String code;
1920};
1921
1922/**
1923 * @brief Defines the APDU data transmission request information.
1924 */
1925struct ApduSimIORequestInfo {
1926    /**
1927     * Request SN
1928     */
1929    int serial;
1930
1931    /**
1932     * Channel ID
1933     */
1934    int channelId;
1935
1936    /**
1937     * APDU instruction type. For details, see ETSI 102 221 [55].
1938     */
1939    int type;
1940
1941    /**
1942     * APDU instruction. For details, see ETSI 102 221 [55].
1943     */
1944    int instruction;
1945
1946    /**
1947     * Command parameter 1 of the SIM data request. For details, see 3GPP TS 51.011[28].
1948     */
1949    int p1;
1950
1951    /**
1952     * Command parameter 2 of the SIM data request. For details, see 3GPP TS 51.011[28].
1953     */
1954    int p2;
1955
1956    /**
1957     * Command parameter 3 of the SIM data request. For details, see 3GPP TS 51.011[28].
1958     * If p3 is a negative value, a 4-byte APDU is sent to the SIM card.
1959     */
1960    int p3;
1961
1962    /**
1963     * Data to be transmitted
1964     */
1965    String data;
1966};
1967
1968/**
1969 * @brief Defines the SIM card authentication request information.
1970 */
1971struct SimAuthenticationRequestInfo {
1972    /**
1973     * Request SN
1974     */
1975    int serial;
1976
1977    /**
1978     * App ID
1979     */
1980    String aid;
1981
1982    /**
1983     * Authentication data
1984     */
1985    String authData;
1986};
1987
1988/**
1989 * @brief Defines the response to the request for enabling the logical channel of the APDU.
1990 */
1991struct OpenLogicalChannelResponse {
1992    /**
1993     * Status word 1 of the SIM card, which is returned as a response to the SIM data request
1994     */
1995    int sw1;
1996
1997    /**
1998     * Status word 2 of the SIM card, which is returned by the SIM card after command execution
1999     */
2000    int sw2;
2001
2002    /**
2003     * ID of the opened logical channel
2004     */
2005    int channelId;
2006
2007    /**
2008     * Response information
2009     */
2010    String response;
2011};
2012
2013/**
2014 * @brief Defines the response to the request for unlocking the SIM card.
2015 */
2016struct LockStatusResp {
2017    /**
2018     * Query result. For details, see {@link RilErrType}.
2019     */
2020    int result;
2021
2022    /**
2023     * Number of remaining attempts
2024     */
2025    int remain;
2026};
2027
2028/**
2029 * @brief Defines the protocol stack information of the primary and secondary SIM cards.
2030 */
2031struct RadioProtocol {
2032    /**
2033     * Card slot ID
2034     */
2035    int slotId;
2036
2037    /**
2038     * Session ID
2039     */
2040    int sessionId;
2041
2042    /**
2043     * Radio protocol parameters. For details, see {@link RadioProtocolPhase}.
2044     */
2045    enum RadioProtocolPhase phase;
2046
2047    /**
2048     * Radio protocol technology:
2049     *- 1: GSM
2050     *- 2: 1XRTT
2051     *- 4: WCDMA
2052     *- 8: HSPA
2053     *- 16: HSPAP
2054     *- 32: TDSCDMA
2055     *- 64: EV-DO
2056     *- 128: EHRPD
2057     *- 256: LTE
2058     *- 512: LTE_CA
2059     *- 1024: IWLAN
2060     *- 2048: NR
2061     */
2062    int technology;
2063
2064    /**
2065     * Modem ID, corresponding to slotId at the bottom layer
2066     */
2067    int modemId;
2068
2069    /**
2070     * Radio protocol status. For details, see {@link RadioProtocolStatus}.
2071     */
2072    enum RadioProtocolStatus status;
2073};
2074
2075/**
2076 * @brief Defines the GSM received signal strength indicator.
2077 */
2078struct GsmRssi {
2079    /**
2080     * Received signal strength. The value ranges from 0 to 31.
2081     */
2082    int rxlev;
2083
2084    /**
2085     * Bit error rate, which ranges from 0 to 7
2086     */
2087    int ber;
2088};
2089
2090/**
2091 * @brief Defines the CDMA received signal strength indicator.
2092 */
2093struct CdmaRssi {
2094    /**
2095     * Absolute value of the signal strength. The value is the actual signal strength multiplied by -1.
2096     */
2097    int absoluteRssi;
2098
2099    /**
2100     * Ratio of the received energy of the pseudo-noise (PN) code chip to the total received power spectral density
2101     */
2102    int ecno;
2103};
2104
2105/**
2106 * @brief Defines the WCDMA received signal strength indicator.
2107 */
2108struct WcdmaRssi {
2109    /**
2110     * Signal received strength, which ranges from 0 to 99
2111     */
2112    int rxlev;
2113
2114    /**
2115     * Ratio of the received energy per PN code chip to the total received power spectral density
2116     */
2117    int ecio;
2118
2119    /**
2120     * Received signal code power, which ranges from 0 to 96
2121     */
2122    int rscp;
2123
2124    /**
2125     * Bit error rate, which ranges from 0 to 7
2126     */
2127    int ber;
2128};
2129
2130/**
2131 * @brief Defines the LTE signal strength.
2132 */
2133struct LteRssi {
2134    /**
2135     * Signal received strength, which ranges from 0 to 99
2136     */
2137    int rxlev;
2138
2139    /**
2140     * Reference signal received quality, which ranges from 0 to 33
2141     */
2142    int rsrq;
2143
2144    /**
2145     * Received signal code power, which ranges from 0 to 97.
2146     */
2147    int rsrp;
2148
2149    /**
2150     * Signal to interference plus noise ratio, which ranges from 0 to 251 (applicable only to the LTE mode)
2151     */
2152    int snr;
2153};
2154
2155/**
2156 * @brief Defines the TD-SCDMA signal strength.
2157 */
2158struct TdScdmaRssi {
2159    /**
2160     * Received signal code power
2161     */
2162    int rscp;
2163};
2164
2165/**
2166 * @brief Defines the NR signal strength.
2167 */
2168struct NrRssi {
2169    /**
2170     * Received signal code power
2171     */
2172    int rsrp;
2173
2174    /**
2175     * Received signal quality
2176     */
2177    int rsrq;
2178
2179    /**
2180     * Signal to interference plus noise ratio
2181     */
2182    int sinr;
2183};
2184
2185/**
2186 * @brief Defines the received signal strength information.
2187 */
2188struct Rssi {
2189    /**
2190     * GSM signal strength. For details, see {@link GsmRssi}.
2191     */
2192    struct GsmRssi gw;
2193
2194    /**
2195     * CDMA signal strength. For details, see {@link CdmaRssi}.
2196     */
2197    struct CdmaRssi cdma;
2198
2199    /**
2200     * WCDMA signal strength. For details, see {@link WcdmaRssi}.
2201     */
2202    struct WcdmaRssi wcdma;
2203
2204    /**
2205     * LTE signal strength. For details, see {@link LteRssi}.
2206     */
2207    struct LteRssi lte;
2208
2209    /**
2210     * TD-SCDMA signal strength. For details, see {@link TdScdmaRssi}.
2211     */
2212    struct TdScdmaRssi tdScdma;
2213
2214    /**
2215     * NR signal strength. For details, see {@link NrRssi}.
2216     */
2217    struct NrRssi nr;
2218};
2219
2220/**
2221 * @brief Defines the registration status information of the CS domain.
2222 */
2223struct CsRegStatusInfo {
2224    /**
2225     * Notification type:
2226     *- 0: notification disabled
2227     *- 1: notification using format 1, which is defined by the chip
2228     *- 2: notification using format 2, which is defined by the chip
2229     */
2230    int notifyType;
2231
2232    /**
2233     * Registration status. For details, see {@link RilRegStatus}.
2234     */
2235    enum RilRegStatus regStatus;
2236
2237    /**
2238     * Location area code
2239     */
2240    int lacCode;
2241
2242    /**
2243     * Cell ID
2244     */
2245    int cellId;
2246
2247    /**
2248     * Radio access technology type. For details, see {@link RilRadioTech}.
2249     */
2250    enum RilRadioTech radioTechnology;
2251
2252    /**
2253     * Flag used by the network search management module in the response
2254     */
2255    int flag;
2256};
2257
2258/**
2259 * @brief Defines the registration status information of the PS domain.
2260 */
2261struct PsRegStatusInfo {
2262    /**
2263     * Notification type:
2264     *- 0: notification disabled
2265     *- 1: notification using format 1, which is defined by the chip
2266     *- 2: notification using format 2, which is defined by the chip
2267     */
2268    int notifyType;
2269
2270    /**
2271     * Registration status. For details, see {@link RilRegStatus}.
2272     */
2273    enum RilRegStatus regStatus;
2274
2275    /**
2276     * Location area code
2277     */
2278    int lacCode;
2279
2280    /**
2281     * Cell ID
2282     */
2283    int cellId;
2284
2285    /**
2286     * Radio access technology type. For details, see {@link RilRadioTech}.
2287     */
2288    enum RilRadioTech radioTechnology;
2289
2290    /**
2291     * Whether the NR mode is available
2292     */
2293    boolean isNrAvailable;
2294
2295    /**
2296     * Whether ENDC is available
2297     */
2298    boolean isEnDcAvailable;
2299
2300    /**
2301     * Whether DCNR is restricted
2302     */
2303    boolean isDcNrRestricted;
2304};
2305
2306/**
2307 * @brief Defines the carrier information.
2308 *
2309 */
2310struct OperatorInfo {
2311    /**
2312     * Long carrier name of the registered network
2313     */
2314    String longName;
2315
2316    /**
2317     * Short carrier name of the registered network
2318     */
2319    String shortName;
2320
2321    /**
2322     * Carrier ID
2323     */
2324    String numeric;
2325};
2326
2327/**
2328 * @brief Defines the available network information.
2329 */
2330struct AvailableNetworkInfo {
2331    /**
2332     * Long name of the registered network in alphanumeric format
2333     */
2334    String longName;
2335
2336    /**
2337     * Short name of the registered network in alphanumeric format
2338     */
2339    String shortName;
2340
2341    /**
2342     * Available network ID
2343     */
2344    String numeric;
2345
2346    /**
2347     * Network status. For details, see {@link RilRegStatus}.
2348     */
2349    int status;
2350
2351    /**
2352     * Radio access technology type. For details, see {@link RilRadioTech}.
2353     */
2354    int rat;
2355};
2356
2357/**
2358 * @brief Defines the available network list.
2359 */
2360struct AvailableNetworkList {
2361    /**
2362     * Number
2363     */
2364    int itemNum;
2365
2366    /**
2367     * Available network list
2368     */
2369    List<struct AvailableNetworkInfo> availableNetworkInfo;
2370
2371    /**
2372     * Network list flag
2373     */
2374    int flag;
2375};
2376
2377/**
2378 * @brief Defines the network mode information.
2379 */
2380struct SetNetworkModeInfo {
2381    /**
2382     * Network mode. For details, see {@link PreferredNetworkTypeInfo}.
2383     */
2384    int selectMode;
2385
2386    /**
2387     * Carrier
2388     */
2389    String oper;
2390
2391    /**
2392     * Flag
2393     */
2394    int flag;
2395};
2396
2397/**
2398 * @brief Defines the GSM cell information.
2399 */
2400struct CellListRatGsm {
2401    /**
2402     * Cell band information
2403     */
2404    int band;
2405
2406    /**
2407     * Absolute RF channel number of the broadcast control channel (BCCH) carrier, which ranges from 0 to 1023
2408     */
2409    int arfcn;
2410
2411    /**
2412     * Base transceiver station identity code
2413     */
2414    int bsic;
2415
2416    /**
2417     * Cell information ID
2418     */
2419    int cellId;
2420
2421    /**
2422     * Location area code, which ranges from 0 to 0xFFFF
2423     */
2424    int lac;
2425
2426    /**
2427     * Signal received strength, which ranges from -120 to 37
2428     */
2429    int rxlev;
2430};
2431
2432/**
2433 * @brief Defines the LTE cell information.
2434 */
2435struct CellListRatLte {
2436    /**
2437     * Absolute RF channel number of the BCCH carrier, which ranges from 0 to 1023
2438     */
2439    int arfcn;
2440
2441    /**
2442     * Physical cell ID
2443     */
2444    int pci;
2445
2446    /**
2447     * Signal received power, which ranges from -140 to -44
2448     */
2449    int rsrp;
2450
2451    /**
2452     * Signal received quality, which ranges from -19 to -3
2453     */
2454    int rsrq;
2455
2456    /**
2457     * Signal received strength, which ranges from -120 to 37
2458     */
2459    int rxlev;
2460};
2461
2462/**
2463 * @brief Defines the WCDMA cell information.
2464 */
2465struct CellListRatWcdma {
2466    /**
2467     * Absolute RF channel number of the BCCH carrier, which ranges from 0 to 16383
2468     */
2469    int arfcn;
2470
2471    /**
2472     * Primary scrambling code, which ranges from 0 to 511
2473     */
2474    int psc;
2475
2476    /**
2477     * Received signal code power, which ranges from -120 to 25
2478     */
2479    int rscp;
2480
2481    /**
2482     * Ratio of the power of each modulation bit to the noise spectral density, which ranges from -25 to 0
2483     */
2484    int ecno;
2485};
2486
2487/**
2488 * @brief Defines the CDMA cell information.
2489 */
2490struct CellListRatCdma {
2491    /**
2492     * System ID
2493     */
2494    int systemId;
2495
2496    /**
2497     * Network ID
2498     */
2499    int networkId;
2500
2501    /**
2502     * Basic ID
2503     */
2504    int baseId;
2505
2506    /**
2507     * Zone ID
2508     */
2509    int zoneId;
2510
2511    /**
2512     * PN pilot sequence
2513     */
2514    int pilotPn;
2515
2516    /**
2517     * Pilot signal strength
2518     */
2519    int pilotStrength;
2520
2521    /**
2522     * Channel
2523     */
2524    int channel;
2525
2526    /**
2527     * Longitude
2528     */
2529    int longitude;
2530
2531    /**
2532     * Latitude
2533     */
2534    int latitude;
2535};
2536
2537/**
2538 * @brief Defines the TD-SCDMA cell information.
2539 */
2540struct CellListRatTdscdma {
2541    /**
2542     * Absolute RF channel number of the BCCH carrier
2543     */
2544    int arfcn;
2545
2546    /**
2547     * Synchronization flag
2548     */
2549    int syncId;
2550
2551    /**
2552     * Super cell
2553     */
2554    int sc;
2555
2556    /**
2557     * Cell ID
2558     */
2559    int cellId;
2560
2561    /**
2562     * Location area code, which ranges from 0 to 0xFFFF
2563     */
2564    int lac;
2565
2566    /**
2567     * Received signal code power
2568     */
2569    int rscp;
2570
2571    /**
2572     * Discontinuous reception cycle
2573     */
2574    int drx;
2575
2576    /**
2577     * Routing area code
2578     */
2579    int rac;
2580
2581    /**
2582     * Super cell ID
2583     */
2584    int cpid;
2585};
2586
2587/**
2588 * @brief Defines the NR cell information.
2589 */
2590struct CellListRatNr {
2591    /**
2592     * Absolute RF channel number of the BCCH carrier
2593     */
2594    int nrArfcn;
2595
2596    /**
2597     * Physical cell ID
2598     */
2599    int pci;
2600
2601    /**
2602     * Type allocation code
2603     */
2604    int tac;
2605
2606    /**
2607     * NR cell ID
2608     */
2609    int nci;
2610};
2611
2612/**
2613 * @brief Defines cell information for different network modes.
2614 */
2615union ServiceCellParas {
2616    /**
2617     * GSM cell information. For details, see {@link CellListRatGsm}.
2618     */
2619    struct CellListRatGsm gsm;
2620
2621    /**
2622     * LTE cell information. For details, see {@link CellListRatLte}.
2623     */
2624    struct CellListRatLte lte;
2625
2626    /**
2627     * WCDMA cell information. For details, see {@link CellListRatWcdma}.
2628     */
2629    struct CellListRatWcdma wcdma;
2630
2631    /**
2632     * CDMA cell information. For details, see {@link CellListRatCdma}.
2633     */
2634    struct CellListRatCdma cdma;
2635
2636    /**
2637     * TD-SCDMA cell information. For details, see {@link CellListRatTdscdma}.
2638     */
2639    struct CellListRatTdscdma tdscdma;
2640
2641    /**
2642     * NR cell information. For details, see {@link CellListRatNr}.
2643     */
2644    struct CellListRatNr nr;
2645};
2646
2647/**
2648 * @brief Defines the neighboring cell information.
2649 */
2650struct CellNearbyInfo {
2651    /**
2652     * Access technology type:
2653     *- 0: unknown
2654     *- 1: GSM
2655     *- 2: CDMA
2656     *- 3: WCDMA
2657     *- 4: TD-SCDMA
2658     *- 5: LTE
2659     *- 6: NR
2660     */
2661    int ratType;
2662
2663    /**
2664     * Cell information for different network modes
2665     */
2666    union ServiceCellParas serviceCells;
2667};
2668
2669/**
2670 * @brief Defines the neighboring cell list.
2671 */
2672struct CellListNearbyInfo {
2673    /**
2674     * Number
2675     */
2676    int itemNum;
2677
2678    /**
2679     * Neighboring cell list
2680     */
2681    List<struct CellNearbyInfo> cellNearbyInfo;
2682};
2683
2684/**
2685 * @brief Defines the GSM cellular information.
2686 */
2687struct CellRatGsm {
2688    /**
2689     * Cell band information
2690     */
2691    int band;
2692
2693    /**
2694     * Absolute RF channel number of the BCCH carrier, which ranges from 0 to 1023
2695     */
2696    int arfcn;
2697
2698    /**
2699     * Base transceiver station identity code
2700     */
2701    int bsic;
2702
2703    /**
2704     * Cell ID
2705     */
2706    int cellId;
2707
2708    /**
2709     * Location area code, which ranges from 0 to 0xFFFF
2710     */
2711    int lac;
2712
2713    /**
2714     * Signal received strength, which ranges from -120 to 37
2715     */
2716    int rxlev;
2717
2718    /**
2719     * Signal received quality, which ranges from 0 to 7
2720     */
2721    int rxQuality;
2722
2723    /**
2724     * Timing advance, which ranges from 0 to 63
2725     */
2726    int ta;
2727};
2728
2729/**
2730 * @brief Defines the LTE cellular information.
2731 */
2732struct CellRatLte {
2733    /**
2734     * Absolute RF channel number of the BCCH carrier
2735     */
2736    int arfcn;
2737
2738    /**
2739     * Cell ID
2740     */
2741    int cellId;
2742
2743    /**
2744     * Physical cell ID
2745     */
2746    int pci;
2747
2748    /**
2749     * Type allocation code
2750     */
2751    int tac;
2752
2753    /**
2754     * Signal received power, which ranges from -140 to -44
2755     */
2756    int rsrp;
2757
2758    /**
2759     * Signal received quality, which ranges from -19 to -3
2760     */
2761    int rsrq;
2762
2763    /**
2764     * Received signal strength in dbm, which ranges from -90 to -25
2765     */
2766    int rssi;
2767};
2768
2769/**
2770 * @brief Defines the WCDMA cellular information.
2771 */
2772struct CellRatWcdma {
2773    /**
2774     * Absolute RF channel number of the BCCH carrier, which ranges from 0 to 16383
2775     */
2776    int arfcn;
2777
2778    /**
2779     * Primary scrambling code, which ranges from 0 to 511
2780     */
2781    int psc;
2782
2783    /**
2784     * Cell ID
2785     */
2786    int cellId;
2787
2788    /**
2789     * Location area code, which ranges from 0 to 0xFFFF
2790     */
2791    int lac;
2792
2793    /**
2794     * Signal received power in dBm, which ranges from -140 to -44
2795     */
2796    int rscp;
2797
2798    /**
2799     * Signal received strength, which ranges from -19 to -3
2800     */
2801    int rxlev;
2802
2803    /**
2804     * Received signal strength in dbm, which ranges from -90 to -25
2805     */
2806    int ecno;
2807
2808    /**
2809     * Discontinuous reception cycle, which ranges from 6 to 9
2810     */
2811    int drx;
2812
2813    /**
2814     * UMTS Terrestrial Radio Access Network (UTRAN) registration zone ID
2815     */
2816    int ura;
2817};
2818
2819/**
2820 * @brief Defines the CDMA cellular information.
2821 */
2822struct CellRatCdma {
2823    /**
2824     * System ID
2825     */
2826    int systemId;
2827
2828    /**
2829     * Network ID
2830     */
2831    int networkId;
2832
2833    /**
2834     * Basic ID
2835     */
2836    int baseId;
2837
2838    /**
2839     * Zone ID
2840     */
2841    int zoneId;
2842
2843    /**
2844     * PN pilot sequence
2845     */
2846    int pilotPn;
2847
2848    /**
2849     * Pilot signal strength
2850     */
2851    int pilotStrength;
2852
2853    /**
2854     * Channel
2855     */
2856    int channel;
2857
2858    /**
2859     * Longitude
2860     */
2861    int longitude;
2862
2863    /**
2864     * Latitude
2865     */
2866    int latitude;
2867};
2868
2869/**
2870 * @brief Defines the TD-SCDMA cellular information.
2871 */
2872struct CellRatTdscdma {
2873    /**
2874     * Absolute RF channel number of the BCCH carrier
2875     */
2876    int arfcn;
2877
2878    /**
2879     * Synchronization flag
2880     */
2881    int syncId;
2882
2883    /**
2884     * Super cell
2885     */
2886    int sc;
2887
2888    /**
2889     * Cell ID
2890     */
2891    int cellId;
2892
2893    /**
2894     * Location area code
2895     */
2896    int lac;
2897
2898    /**
2899     * Received signal code power
2900     */
2901    int rscp;
2902
2903    /**
2904     * Discontinuous reception cycle
2905     */
2906    int drx;
2907
2908    /**
2909     * Routing area code
2910     */
2911    int rac;
2912
2913    /**
2914     * Super cell ID
2915     */
2916    int cpid;
2917};
2918
2919/**
2920 * @brief Defines the NR cellular information.
2921 */
2922struct CellRatNr {
2923    /**
2924     * Absolute RF channel number of the BCCH carrier
2925     */
2926    int nrArfcn;
2927
2928    /**
2929     * Physical cell ID
2930     */
2931    int pci;
2932
2933    /**
2934     * Type allocation code
2935     */
2936    int tac;
2937
2938    /**
2939     * NR cell ID
2940     */
2941    int nci;
2942};
2943
2944/**
2945 * @brief Defines the current cellular data information.
2946 */
2947union CurrentServiceCellParas {
2948    /**
2949     * GSM cellular information
2950     */
2951    struct CellRatGsm gsm;
2952
2953    /**
2954     * LTE cellular information
2955     */
2956    struct CellRatLte lte;
2957
2958    /**
2959     * WCDMA cellular information
2960     */
2961    struct CellRatWcdma wcdma;
2962
2963    /**
2964     * CDMA cellular information
2965     */
2966    struct CellRatCdma cdma;
2967
2968    /**
2969     * TD-SCDMA cellular information
2970     */
2971    struct CellRatTdscdma tdscdma;
2972
2973    /**
2974     * NR cellular information
2975     */
2976    struct CellRatNr nr;
2977};
2978
2979
2980/**
2981 * @brief Defines the NR cellular information.
2982 *
2983 * @since 4.0
2984 * @version 1.1
2985 */
2986struct CellRatNr_1_1 {
2987    /**
2988     * Absolute RF channel number of the BCCH carrier
2989     */
2990    int nrArfcn;
2991
2992    /**
2993     * Physical cell ID
2994     */
2995    int pci;
2996
2997    /**
2998     * Type allocation code
2999     */
3000    int tac;
3001
3002    /**
3003     * NR cell ID
3004     */
3005    int nci;
3006
3007    /**
3008     * Signal received power, which ranges from -140 to -44
3009     */
3010    int rsrp;
3011
3012    /**
3013     * Signal received quality, which ranges from -19 to -3
3014     */
3015    int rsrq;
3016};
3017
3018/**
3019 * @brief Defines the current cellular data information.
3020 *
3021 * @since 4.0
3022 * @version 1.1
3023 */
3024union CurrentServiceCellParas_1_1 {
3025    /**
3026     * GSM cellular information
3027     */
3028    struct CellRatGsm gsm;
3029
3030    /**
3031     * LTE cellular information
3032     */
3033    struct CellRatLte lte;
3034
3035    /**
3036     * WCDMA cellular information
3037     */
3038    struct CellRatWcdma wcdma;
3039
3040    /**
3041     * CDMA cellular information
3042     */
3043    struct CellRatCdma cdma;
3044
3045    /**
3046     * TD-SCDMA cellular information
3047     */
3048    struct CellRatTdscdma tdscdma;
3049
3050    /**
3051     * NR cellular information
3052     */
3053    struct CellRatNr_1_1 nr;
3054};
3055
3056/**
3057 * @brief Defines the current cell information.
3058 *
3059 * @since 4.0
3060 * @version 1.1
3061 */
3062struct CurrentCellInfo_1_1 {
3063    /**
3064     * Radio access technology type. For details, see {@link RilRadioTech}.
3065     */
3066    int ratType;
3067
3068    /**
3069     * Mobile country code (MCC)
3070     */
3071    int mcc;
3072
3073    /**
3074     * Mobile network code (MNC)
3075     */
3076    int mnc;
3077
3078    /**
3079     * Cell information parameters. For details, see {@link CurrentServiceCellParas_1_1}.
3080     */
3081    union CurrentServiceCellParas_1_1 serviceCells;
3082};
3083
3084/**
3085 * @brief Defines the current cell information list.
3086 *
3087 * @since 4.0
3088 * @version 1.1
3089 */
3090struct CellListCurrentInfo_1_1 {
3091    /**
3092     * Number of cells
3093     */
3094    int itemNum;
3095
3096    /**
3097     * Current cell information
3098     */
3099    List<struct CurrentCellInfo_1_1> cellCurrentInfo;
3100};
3101
3102/**
3103 * @brief Defines the current cell information.
3104 */
3105struct CurrentCellInfo {
3106    /**
3107     * Radio access technology type. For details, see {@link RilRadioTech}.
3108     */
3109    int ratType;
3110
3111    /**
3112     * Mobile country code (MCC)
3113     */
3114    int mcc;
3115
3116    /**
3117     * Mobile network code (MNC)
3118     */
3119    int mnc;
3120
3121    /**
3122     * Cell information parameters. For details, see {@link CurrentServiceCellParas}.
3123     */
3124    union CurrentServiceCellParas serviceCells;
3125};
3126
3127/**
3128 * @brief Defines the current cell information list.
3129 */
3130struct CellListCurrentInfo {
3131    /**
3132     * Number of cells
3133     */
3134    int itemNum;
3135
3136    /**
3137     * Current cell information
3138     */
3139    List<struct CurrentCellInfo> cellCurrentInfo;
3140};
3141
3142/**
3143 * @brief Defines the preferred network type.
3144 */
3145struct PreferredNetworkTypeInfo {
3146    /**
3147     * Network type
3148     *- 0: automatic
3149     *- 1: GSM
3150     *- 2: WCDMA.
3151     *- 3: LTE.
3152     *- 4: LTE and WCDMA
3153     *- 5: LTE, WCDMA, and GSM
3154     *- 6: WCDMA and GSM
3155     *- 7: CDMA
3156     *- 8: EV-DO
3157     *- 9: EV-DO and CDMA
3158     *- 10: WCDMA, GSM, EV-DO, and CDMA
3159     *- 11: LTE, EV-DO, and CDMA
3160     *- 12: LTE, WCDMA, GSM, EV-DO, and CDMA
3161     *- 13: TD-SCDMA
3162     *- 14: TD-SCDMA and GSM
3163     *- 15: TD-SCDMA and WCDMA
3164     *- 16: TD-SCDMA, WCDMA, and GSM
3165     *- 17: LTE and TD-SCDMA
3166     *- 18: LTE, TDSCDMA, and GSM
3167     *- 19: LTE, TD-SCDMA, and WCDMA
3168     *- 20: LTE, TDSCDMA, WCDMA, and GSM
3169     *- 21: TD-SCDMA, WCDMA, GSM, EV-DO, and CDMA
3170     *- 22: LTE, TD-SCDMA, WCDMA, GSM, EV-DO, and CDMA
3171     *- 31: NR
3172     *- 32: NR and LTE
3173     *- 33: NR, LTE, and WCDMA
3174     *- 34: NR, LTE, WCDMA, and GSM
3175     *- 35: NR, LTE, EV-DO, and CDMA
3176     *- 36: NR, LTE, WCDMA, GSM, EV-DO, and CDMA
3177     *- 37: NR, LTE, and TD-SCDMA.
3178     *- 38: NR, LTE, TDSCDMA, and GSM
3179     *- 39: NR, LTE, TD-SCDMA, and WCDMA
3180     *- 40: NR, LTE, TD-SCDMA, WCDMA, and GSM
3181     *- 41: NR, LTE, TD-SCDMA, WCDMA, GSM, EV-DO, and CDMA
3182     */
3183    int preferredNetworkType;
3184
3185    /**
3186     * Network ID
3187     */
3188    int flag;
3189};
3190
3191/**
3192 * @brief Defines the physical channel configuration.
3193 */
3194struct PhysicalChannelConfig {
3195    /**
3196     * Connection status
3197     */
3198    enum RilCellConnectionStatus cellConnStatus;
3199
3200    /**
3201     * Radio access technology type. For details, see {@link RilRadioTech}.
3202     */
3203    enum RilRadioTech ratType;
3204
3205    /**
3206     * Downlink bandwidth in kHz
3207     */
3208    int cellBandwidthDownlinkKhz;
3209
3210    /**
3211     * Uplink bandwidth in kHz.
3212     */
3213    int cellBandwidthUplinkKhz;
3214
3215    /**
3216     * Frequency range
3217     */
3218    int freqRange;
3219
3220    /**
3221     * Downlink channel ID
3222     */
3223    int downlinkChannelNum;
3224
3225    /**
3226     * Uplink channel ID
3227     */
3228    int uplinkChannelNum;
3229
3230    /**
3231     * Physical cell ID
3232     */
3233    int physicalCellId;
3234
3235    /**
3236     * Logical device ID
3237     */
3238    int contextIdNum;
3239
3240    /**
3241     * Uplink channel ID
3242     */
3243    List<int> contextIds;
3244};
3245
3246/**
3247 * @brief Defines the channel configuration information list.
3248 */
3249struct ChannelConfigInfoList {
3250    /**
3251     * Number
3252     */
3253    int itemNum;
3254
3255    /**
3256     * Physical channel configuration
3257     */
3258    List<struct PhysicalChannelConfig> channelConfigInfos;
3259
3260    /**
3261     * Channel configuration ID
3262     */
3263    int flag;
3264};
3265
3266/**
3267 * @brief Defines a GSM SMS message.
3268 */
3269struct GsmSmsMessageInfo {
3270    /**
3271     * Request SN
3272     */
3273    int serial;
3274
3275    /**
3276     * Status
3277     */
3278    int state;
3279
3280    /**
3281     * Short message service center
3282     */
3283    String smscPdu;
3284
3285    /**
3286     * Protocol data unit
3287     */
3288    String pdu;
3289};
3290
3291/**
3292 * @brief Defines a CDMA SMS message.
3293 */
3294struct SendCdmaSmsMessageInfo {
3295    /**
3296     * Request SN
3297     */
3298    int serial;
3299
3300    /**
3301     * Status
3302     */
3303    int state;
3304
3305    /**
3306     * Short message service center
3307     */
3308    String smscPdu;
3309};
3310
3311/**
3312 * @brief Defines the SMS message information in a SIM card.
3313 */
3314struct SmsMessageIOInfo {
3315    /**
3316     * Request SN
3317     */
3318    int serial;
3319
3320    /**
3321     * Short message service center
3322     */
3323    String smscPdu;
3324
3325    /**
3326     * Protocol data unit
3327     */
3328    String pdu;
3329
3330    /**
3331     * Status
3332     */
3333    int state;
3334
3335    /**
3336     Message index.
3337     */
3338    int index;
3339};
3340
3341/**
3342 * @brief Defines the SMSC address information.
3343 */
3344struct ServiceCenterAddress {
3345    /**
3346     * Request SN
3347     */
3348    int serial;
3349
3350    /**
3351     * SMSC address type. For details, see 3GPP TS 24.011 [6].
3352     */
3353    int tosca;
3354
3355    /**
3356     * SMSC address. For details, see 3GPP TS 24.011 [6].
3357     */
3358    String address;
3359};
3360
3361/**
3362 * @brief Defines the GSM cell broadcast configuration information.
3363 */
3364struct CBConfigInfo {
3365    /**
3366     * Request SN
3367     */
3368    int serial;
3369
3370    /**
3371     * Mode (activated or not)
3372     */
3373    int mode;
3374
3375    /**
3376     * Response type:
3377     *- 0: query and report
3378     *- 1: report
3379     */
3380    int indicationType;
3381
3382    /**
3383     * Message IDs
3384     */
3385    String mids;
3386
3387    /**
3388     * Data coding schemes
3389     */
3390    String dcss;
3391};
3392
3393/**
3394 * @brief Defines the CDMA cell broadcast configuration information.
3395 */
3396struct CdmaCBConfigInfo {
3397    /**
3398     * Service
3399     */
3400    int service;
3401
3402    /**
3403     * Language
3404     */
3405    int language;
3406
3407    /**
3408     * Selected or not
3409     */
3410    int checked;
3411};
3412
3413/**
3414 * @brief Defines the CDMA cell broadcast configuration information list.
3415 */
3416struct CdmaCBConfigInfoList {
3417    /**
3418     * Request SN
3419     */
3420    int serial;
3421
3422    /**
3423     * Total number
3424     */
3425    int size;
3426
3427    /**
3428     * CDMA cell broadcast configuration information list
3429     */
3430    List<struct CdmaCBConfigInfo> list;
3431};
3432
3433/**
3434 * @brief Defines the cell broadcast report information.
3435 */
3436struct CBConfigReportInfo {
3437    /**
3438     * Response type:
3439     *- 0: query and report
3440     *- 1: report
3441     */
3442    int indicationType;
3443
3444    /**
3445     * Cell broadcast SN
3446     */
3447    int sn;
3448
3449    /**
3450     * Message IDs
3451     */
3452    int mid;
3453
3454    /**
3455     * Cell broadcast page number
3456     */
3457    int page;
3458
3459    /**
3460     * Total number of cell broadcast pages
3461     */
3462    int pages;
3463
3464    /**
3465     * Number of PDU bytes
3466     */
3467    int length;
3468
3469    /**
3470     * Decoded cell broadcast content
3471     */
3472    String data;
3473
3474    /**
3475     * Data coding schemes
3476     */
3477    String dcs;
3478
3479    /**
3480     * Protocol data unit
3481     */
3482    String pdu;
3483};
3484
3485/**
3486 * @brief Defines the SMS message information.
3487 */
3488struct SmsMessageInfo {
3489    /**
3490     * Response type:
3491     *- 0: query and report
3492     *- 1: report
3493     */
3494    int indicationType;
3495
3496    /**
3497     * Total number
3498     */
3499    int size;
3500
3501    /**
3502     * Protocol data unit
3503     */
3504    List<unsigned char> pdu;
3505};
3506
3507/**
3508 * @brief Defines the processing mode of received SMS messages.
3509 */
3510struct ModeData {
3511    /**
3512     * Request SN
3513     */
3514    int serial;
3515
3516    /**
3517     * Whether to receive SMS messages
3518     */
3519    boolean result;
3520
3521    /**
3522     * Processing mode of received SMS messages. For details, see {@link AckIncomeCause}.
3523     */
3524    int mode;
3525
3526    /**
3527     * Protocol data unit
3528     */
3529    String pdu;
3530};
3531
3532/**
3533 * @brief Defines an SMS message response.
3534 */
3535struct SendSmsResultInfo {
3536    /**
3537     * Message reference number
3538     */
3539    int msgRef;
3540
3541    /**
3542     * Protocol data unit
3543     */
3544    String pdu;
3545
3546    /**
3547     * Error code
3548     */
3549    int errCode;
3550
3551    /**
3552     * SMS message response ID
3553     */
3554    int flag;
3555};
3556/** @} */
3557