umbim: fix invalid mbim message string encoding
[project/umbim.git] / data / mbim-service-basic-connect.h
1 /*
2 * ID: 1
3 * Command: Device Caps
4 */
5
6 #define MBIM_CMD_BASIC_CONNECT_DEVICE_CAPS 1
7
8 struct mbim_basic_connect_device_caps_r {
9 /* enum MbimDeviceType */
10 uint32_t devicetype;
11 /* enum MbimCellularClass */
12 uint32_t cellularclass;
13 /* enum MbimVoiceClass */
14 uint32_t voiceclass;
15 /* enum MbimSimClass */
16 uint32_t simclass;
17 /* enum MbimDataClass */
18 uint32_t dataclass;
19 /* enum MbimSmsCaps */
20 uint32_t smscaps;
21 /* enum MbimCtrlCaps */
22 uint32_t controlcaps;
23 uint32_t maxsessions;
24 struct mbim_string customdataclass;
25 struct mbim_string deviceid;
26 struct mbim_string firmwareinfo;
27 struct mbim_string hardwareinfo;
28 } __attribute__((packed));
29
30 /*
31 * ID: 2
32 * Command: Subscriber Ready Status
33 */
34
35 #define MBIM_CMD_BASIC_CONNECT_SUBSCRIBER_READY_STATUS 2
36
37 struct mbim_basic_connect_subscriber_ready_status_r {
38 /* enum MbimSubscriberReadyState */
39 uint32_t readystate;
40 struct mbim_string subscriberid;
41 struct mbim_string simiccid;
42 /* enum MbimReadyInfoFlag */
43 uint32_t readyinfo;
44 uint32_t telephonenumberscount;
45 /* array type: string-array */
46 uint32_t telephonenumbers;
47 } __attribute__((packed));
48
49 struct mbim_basic_connect_subscriber_ready_status_n {
50 /* enum MbimSubscriberReadyState */
51 uint32_t readystate;
52 struct mbim_string subscriberid;
53 struct mbim_string simiccid;
54 /* enum MbimReadyInfoFlag */
55 uint32_t readyinfo;
56 uint32_t telephonenumberscount;
57 /* array type: string-array */
58 uint32_t telephonenumbers;
59 } __attribute__((packed));
60
61 /*
62 * ID: 3
63 * Command: Radio State
64 */
65
66 #define MBIM_CMD_BASIC_CONNECT_RADIO_STATE 3
67
68 struct mbim_basic_connect_radio_state_r {
69 /* enum MbimRadioSwitchState */
70 uint32_t hwradiostate;
71 /* enum MbimRadioSwitchState */
72 uint32_t swradiostate;
73 } __attribute__((packed));
74
75 struct mbim_basic_connect_radio_state_s {
76 /* enum MbimRadioSwitchState */
77 uint32_t radiostate;
78 } __attribute__((packed));
79
80 struct mbim_basic_connect_radio_state_n {
81 /* enum MbimRadioSwitchState */
82 uint32_t hwradiostate;
83 /* enum MbimRadioSwitchState */
84 uint32_t swradiostate;
85 } __attribute__((packed));
86
87 /*
88 * ID: 4
89 * Command: Pin
90 */
91
92 #define MBIM_CMD_BASIC_CONNECT_PIN 4
93
94 struct mbim_basic_connect_pin_r {
95 /* enum MbimPinType */
96 uint32_t pintype;
97 /* enum MbimPinState */
98 uint32_t pinstate;
99 uint32_t remainingattempts;
100 } __attribute__((packed));
101
102 struct mbim_basic_connect_pin_s {
103 /* enum MbimPinType */
104 uint32_t pintype;
105 /* enum MbimPinOperation */
106 uint32_t pinoperation;
107 struct mbim_string pin;
108 struct mbim_string newpin;
109 } __attribute__((packed));
110
111 struct mbimpindesc {
112 /* enum MbimPinMode */
113 uint32_t pinmode;
114 /* enum MbimPinFormat */
115 uint32_t pinformat;
116 uint32_t pinlengthmin;
117 uint32_t pinlengthmax;
118 } __attribute__((packed));
119
120 /*
121 * ID: 5
122 * Command: Pin List
123 */
124
125 #define MBIM_CMD_BASIC_CONNECT_PIN_LIST 5
126
127 struct mbim_basic_connect_pin_list_r {
128 struct mbimpindesc pindescpin1;
129 struct mbimpindesc pindescpin2;
130 struct mbimpindesc pindescdevicesimpin;
131 struct mbimpindesc pindescdevicefirstsimpin;
132 struct mbimpindesc pindescnetworkpin;
133 struct mbimpindesc pindescnetworksubsetpin;
134 struct mbimpindesc pindescserviceproviderpin;
135 struct mbimpindesc pindesccorporatepin;
136 struct mbimpindesc pindescsubsidylock;
137 struct mbimpindesc pindesccustom;
138 } __attribute__((packed));
139
140 struct mbimprovider {
141 struct mbim_string providerid;
142 /* enum MbimProviderState */
143 uint32_t providerstate;
144 struct mbim_string providername;
145 /* enum MbimCellularClass */
146 uint32_t cellularclass;
147 uint32_t rssi;
148 uint32_t errorrate;
149 } __attribute__((packed));
150
151 /*
152 * ID: 6
153 * Command: Home Provider
154 */
155
156 #define MBIM_CMD_BASIC_CONNECT_HOME_PROVIDER 6
157
158 struct mbim_basic_connect_home_provider_r {
159 struct mbimprovider provider;
160 } __attribute__((packed));
161
162 struct mbim_basic_connect_home_provider_s {
163 struct mbimprovider provider;
164 } __attribute__((packed));
165
166 /*
167 * ID: 7
168 * Command: Preferred Providers
169 */
170
171 #define MBIM_CMD_BASIC_CONNECT_PREFERRED_PROVIDERS 7
172
173 struct mbim_basic_connect_preferred_providers_r {
174 uint32_t providerscount;
175 /* array type: ref-struct-array */
176 uint32_t providers;
177 } __attribute__((packed));
178
179 struct mbim_basic_connect_preferred_providers_s {
180 uint32_t providerscount;
181 /* array type: ref-struct-array */
182 uint32_t providers;
183 } __attribute__((packed));
184
185 struct mbim_basic_connect_preferred_providers_n {
186 uint32_t providerscount;
187 /* array type: ref-struct-array */
188 uint32_t providers;
189 } __attribute__((packed));
190
191 /*
192 * ID: 8
193 * Command: Visible Providers
194 */
195
196 #define MBIM_CMD_BASIC_CONNECT_VISIBLE_PROVIDERS 8
197
198 struct mbim_basic_connect_visible_providers_q {
199 /* enum MbimVisibleProvidersAction */
200 uint32_t action;
201 } __attribute__((packed));
202
203 struct mbim_basic_connect_visible_providers_r {
204 uint32_t providerscount;
205 /* array type: ref-struct-array */
206 uint32_t providers;
207 } __attribute__((packed));
208
209 /*
210 * ID: 9
211 * Command: Register State
212 */
213
214 #define MBIM_CMD_BASIC_CONNECT_REGISTER_STATE 9
215
216 struct mbim_basic_connect_register_state_r {
217 /* enum MbimNwError */
218 uint32_t nwerror;
219 /* enum MbimRegisterState */
220 uint32_t registerstate;
221 /* enum MbimRegisterMode */
222 uint32_t registermode;
223 /* enum MbimDataClass */
224 uint32_t availabledataclasses;
225 /* enum MbimCellularClass */
226 uint32_t currentcellularclass;
227 struct mbim_string providerid;
228 struct mbim_string providername;
229 struct mbim_string roamingtext;
230 /* enum MbimRegistrationFlag */
231 uint32_t registrationflag;
232 } __attribute__((packed));
233
234 struct mbim_basic_connect_register_state_s {
235 struct mbim_string providerid;
236 /* enum MbimRegisterAction */
237 uint32_t registeraction;
238 /* enum MbimDataClass */
239 uint32_t dataclass;
240 } __attribute__((packed));
241
242 struct mbim_basic_connect_register_state_n {
243 /* enum MbimNwError */
244 uint32_t nwerror;
245 /* enum MbimRegisterState */
246 uint32_t registerstate;
247 /* enum MbimRegisterMode */
248 uint32_t registermode;
249 /* enum MbimDataClass */
250 uint32_t availabledataclasses;
251 /* enum MbimCellularClass */
252 uint32_t currentcellularclass;
253 struct mbim_string providerid;
254 struct mbim_string providername;
255 struct mbim_string roamingtext;
256 /* enum MbimRegistrationFlag */
257 uint32_t registrationflag;
258 } __attribute__((packed));
259
260 /*
261 * ID: 10
262 * Command: Packet Service
263 */
264
265 #define MBIM_CMD_BASIC_CONNECT_PACKET_SERVICE 10
266
267 struct mbim_basic_connect_packet_service_r {
268 uint32_t nwerror;
269 /* enum MbimPacketServiceState */
270 uint32_t packetservicestate;
271 /* enum MbimDataClass */
272 uint32_t highestavailabledataclass;
273 uint64_t uplinkspeed;
274 uint64_t downlinkspeed;
275 } __attribute__((packed));
276
277 struct mbim_basic_connect_packet_service_s {
278 /* enum MbimPacketServiceAction */
279 uint32_t packetserviceaction;
280 } __attribute__((packed));
281
282 struct mbim_basic_connect_packet_service_n {
283 uint32_t nwerror;
284 /* enum MbimPacketServiceState */
285 uint32_t packetservicestate;
286 /* enum MbimDataClass */
287 uint32_t highestavailabledataclass;
288 uint64_t uplinkspeed;
289 uint64_t downlinkspeed;
290 } __attribute__((packed));
291
292 /*
293 * ID: 11
294 * Command: Signal State
295 */
296
297 #define MBIM_CMD_BASIC_CONNECT_SIGNAL_STATE 11
298
299 struct mbim_basic_connect_signal_state_r {
300 uint32_t rssi;
301 uint32_t errorrate;
302 uint32_t signalstrengthinterval;
303 uint32_t rssithreshold;
304 uint32_t errorratethreshold;
305 } __attribute__((packed));
306
307 struct mbim_basic_connect_signal_state_s {
308 uint32_t signalstrengthinterval;
309 uint32_t rssithreshold;
310 uint32_t errorratethreshold;
311 } __attribute__((packed));
312
313 struct mbim_basic_connect_signal_state_n {
314 uint32_t rssi;
315 uint32_t errorrate;
316 uint32_t signalstrengthinterval;
317 uint32_t rssithreshold;
318 uint32_t errorratethreshold;
319 } __attribute__((packed));
320
321 /*
322 * ID: 12
323 * Command: Connect
324 */
325
326 #define MBIM_CMD_BASIC_CONNECT_CONNECT 12
327
328 struct mbim_basic_connect_connect_q {
329 uint32_t sessionid;
330 /* enum MbimActivationState */
331 uint32_t activationstate;
332 /* enum MbimVoiceCallState */
333 uint32_t voicecallstate;
334 /* enum MbimContextIpType */
335 uint32_t iptype;
336 uint8_t contexttype[16];
337 uint32_t nwerror;
338 } __attribute__((packed));
339
340 struct mbim_basic_connect_connect_r {
341 uint32_t sessionid;
342 /* enum MbimActivationState */
343 uint32_t activationstate;
344 /* enum MbimVoiceCallState */
345 uint32_t voicecallstate;
346 /* enum MbimContextIpType */
347 uint32_t iptype;
348 uint8_t contexttype[16];
349 uint32_t nwerror;
350 } __attribute__((packed));
351
352 struct mbim_basic_connect_connect_s {
353 uint32_t sessionid;
354 /* enum MbimActivationCommand */
355 uint32_t activationcommand;
356 struct mbim_string accessstring;
357 struct mbim_string username;
358 struct mbim_string password;
359 /* enum MbimCompression */
360 uint32_t compression;
361 /* enum MbimAuthProtocol */
362 uint32_t authprotocol;
363 /* enum MbimContextIpType */
364 uint32_t iptype;
365 uint8_t contexttype[16];
366 } __attribute__((packed));
367
368 struct mbim_basic_connect_connect_n {
369 uint32_t sessionid;
370 /* enum MbimActivationState */
371 uint32_t activationstate;
372 /* enum MbimVoiceCallState */
373 uint32_t voicecallstate;
374 /* enum MbimContextIpType */
375 uint32_t iptype;
376 uint8_t contexttype[16];
377 uint32_t nwerror;
378 } __attribute__((packed));
379
380 struct mbimprovisionedcontextelement {
381 uint32_t contextid;
382 uint8_t contexttype[16];
383 struct mbim_string accessstring;
384 struct mbim_string username;
385 struct mbim_string password;
386 /* enum MbimCompression */
387 uint32_t compression;
388 /* enum MbimAuthProtocol */
389 uint32_t authprotocol;
390 } __attribute__((packed));
391
392 /*
393 * ID: 13
394 * Command: Provisioned Contexts
395 */
396
397 #define MBIM_CMD_BASIC_CONNECT_PROVISIONED_CONTEXTS 13
398
399 struct mbim_basic_connect_provisioned_contexts_r {
400 uint32_t provisionedcontextscount;
401 /* array type: ref-struct-array */
402 uint32_t provisionedcontexts;
403 } __attribute__((packed));
404
405 struct mbim_basic_connect_provisioned_contexts_s {
406 uint32_t contextid;
407 uint8_t contexttype[16];
408 struct mbim_string accessstring;
409 struct mbim_string username;
410 struct mbim_string password;
411 /* enum MbimCompression */
412 uint32_t compression;
413 /* enum MbimAuthProtocol */
414 uint32_t authprotocol;
415 struct mbim_string providerid;
416 } __attribute__((packed));
417
418 struct mbim_basic_connect_provisioned_contexts_n {
419 uint32_t provisionedcontextscount;
420 /* array type: ref-struct-array */
421 uint32_t provisionedcontexts;
422 } __attribute__((packed));
423
424 /*
425 * ID: 14
426 * Command: Service Activation
427 */
428
429 #define MBIM_CMD_BASIC_CONNECT_SERVICE_ACTIVATION 14
430
431 struct mbim_basic_connect_service_activation_r {
432 /* enum MbimNwError */
433 uint32_t nwerror;
434 /* array type: unsized-byte-array */
435 uint32_t buffer;
436 } __attribute__((packed));
437
438 struct mbim_basic_connect_service_activation_s {
439 /* array type: unsized-byte-array */
440 uint32_t buffer;
441 } __attribute__((packed));
442
443 struct mbimipv4element {
444 uint32_t onlinkprefixlength;
445 uint8_t ipv4address[4];
446 } __attribute__((packed));
447
448 struct mbimipv6element {
449 uint32_t onlinkprefixlength;
450 uint8_t ipv6address[16];
451 } __attribute__((packed));
452
453 /*
454 * ID: 15
455 * Command: IP Configuration
456 */
457
458 #define MBIM_CMD_BASIC_CONNECT_IP_CONFIGURATION 15
459
460 struct mbim_basic_connect_ip_configuration_q {
461 uint32_t sessionid;
462 /* enum MbimIPConfigurationAvailableFlag */
463 uint32_t ipv4configurationavailable;
464 /* enum MbimIPConfigurationAvailableFlag */
465 uint32_t ipv6configurationavailable;
466 uint32_t ipv4addresscount;
467 /* struct mbimipv4element */
468 uint32_t ipv4address;
469 uint32_t ipv6addresscount;
470 /* struct mbimipv6element */
471 uint32_t ipv6address;
472 /* array type: ref-ipv4 */
473 uint32_t ipv4gateway;
474 /* array type: ref-ipv6 */
475 uint32_t ipv6gateway;
476 uint32_t ipv4dnsservercount;
477 /* array type: ipv4-array */
478 uint32_t ipv4dnsserver;
479 uint32_t ipv6dnsservercount;
480 /* array type: ipv6-array */
481 uint32_t ipv6dnsserver;
482 uint32_t ipv4mtu;
483 uint32_t ipv6mtu;
484 } __attribute__((packed));
485
486 struct mbim_basic_connect_ip_configuration_r {
487 uint32_t sessionid;
488 /* enum MbimIPConfigurationAvailableFlag */
489 uint32_t ipv4configurationavailable;
490 /* enum MbimIPConfigurationAvailableFlag */
491 uint32_t ipv6configurationavailable;
492 uint32_t ipv4addresscount;
493 /* struct mbimipv4element */
494 uint32_t ipv4address;
495 uint32_t ipv6addresscount;
496 /* struct mbimipv6element */
497 uint32_t ipv6address;
498 /* array type: ref-ipv4 */
499 uint32_t ipv4gateway;
500 /* array type: ref-ipv6 */
501 uint32_t ipv6gateway;
502 uint32_t ipv4dnsservercount;
503 /* array type: ipv4-array */
504 uint32_t ipv4dnsserver;
505 uint32_t ipv6dnsservercount;
506 /* array type: ipv6-array */
507 uint32_t ipv6dnsserver;
508 uint32_t ipv4mtu;
509 uint32_t ipv6mtu;
510 } __attribute__((packed));
511
512 struct mbim_basic_connect_ip_configuration_n {
513 uint32_t sessionid;
514 /* enum MbimIPConfigurationAvailableFlag */
515 uint32_t ipv4configurationavailable;
516 /* enum MbimIPConfigurationAvailableFlag */
517 uint32_t ipv6configurationavailable;
518 uint32_t ipv4addresscount;
519 /* struct mbimipv4element */
520 uint32_t ipv4address;
521 uint32_t ipv6addresscount;
522 /* struct mbimipv6element */
523 uint32_t ipv6address;
524 /* array type: ref-ipv4 */
525 uint32_t ipv4gateway;
526 /* array type: ref-ipv6 */
527 uint32_t ipv6gateway;
528 uint32_t ipv4dnsservercount;
529 /* array type: ipv4-array */
530 uint32_t ipv4dnsserver;
531 uint32_t ipv6dnsservercount;
532 /* array type: ipv6-array */
533 uint32_t ipv6dnsserver;
534 uint32_t ipv4mtu;
535 uint32_t ipv6mtu;
536 } __attribute__((packed));
537
538 struct mbimdeviceserviceelement {
539 uint8_t deviceserviceid[16];
540 uint32_t dsspayload;
541 uint32_t maxdssinstances;
542 uint32_t cidscount;
543 /* array type: guint32-array */
544 uint32_t cids;
545 } __attribute__((packed));
546
547 /*
548 * ID: 16
549 * Command: Device Services
550 */
551
552 #define MBIM_CMD_BASIC_CONNECT_DEVICE_SERVICES 16
553
554 struct mbim_basic_connect_device_services_r {
555 uint32_t deviceservicescount;
556 uint32_t maxdsssessions;
557 /* array type: ref-struct-array */
558 uint32_t deviceservices;
559 } __attribute__((packed));
560
561 struct mbimevententry {
562 uint8_t deviceserviceid[16];
563 uint32_t cidscount;
564 /* array type: guint32-array */
565 uint32_t cids;
566 } __attribute__((packed));
567
568 /*
569 * ID: 19
570 * Command: Device Service Subscribe List
571 */
572
573 #define MBIM_CMD_BASIC_CONNECT_DEVICE_SERVICE_SUBSCRIBE_LIST 19
574
575 struct mbim_basic_connect_device_service_subscribe_list_r {
576 uint32_t eventscount;
577 /* array type: ref-struct-array */
578 uint32_t events;
579 } __attribute__((packed));
580
581 struct mbim_basic_connect_device_service_subscribe_list_s {
582 uint32_t eventscount;
583 /* array type: ref-struct-array */
584 uint32_t events;
585 } __attribute__((packed));
586
587 /*
588 * ID: 20
589 * Command: Packet Statistics
590 */
591
592 #define MBIM_CMD_BASIC_CONNECT_PACKET_STATISTICS 20
593
594 struct mbim_basic_connect_packet_statistics_r {
595 uint32_t indiscards;
596 uint32_t inerrors;
597 uint64_t inoctets;
598 uint64_t inpackets;
599 uint64_t outoctets;
600 uint64_t outpackets;
601 uint32_t outerrors;
602 uint32_t outdiscards;
603 } __attribute__((packed));
604
605 /*
606 * ID: 21
607 * Command: Network Idle Hint
608 */
609
610 #define MBIM_CMD_BASIC_CONNECT_NETWORK_IDLE_HINT 21
611
612 struct mbim_basic_connect_network_idle_hint_r {
613 /* enum MbimNetworkIdleHintState */
614 uint32_t state;
615 } __attribute__((packed));
616
617 struct mbim_basic_connect_network_idle_hint_s {
618 /* enum MbimNetworkIdleHintState */
619 uint32_t state;
620 } __attribute__((packed));
621
622 /*
623 * ID: 22
624 * Command: Emergency Mode
625 */
626
627 #define MBIM_CMD_BASIC_CONNECT_EMERGENCY_MODE 22
628
629 struct mbim_basic_connect_emergency_mode_r {
630 /* enum MbimEmergencyModeState */
631 uint32_t state;
632 } __attribute__((packed));
633
634 struct mbim_basic_connect_emergency_mode_s {
635 /* enum MbimEmergencyModeState */
636 uint32_t state;
637 } __attribute__((packed));
638
639 struct mbim_basic_connect_emergency_mode_n {
640 /* enum MbimEmergencyModeState */
641 uint32_t state;
642 } __attribute__((packed));
643
644 struct mbimpacketfilter {
645 uint32_t filtersize;
646 /* array type: ref-byte-array */
647 uint32_t packetfilter;
648 /* array type: ref-byte-array */
649 uint32_t packetmask;
650 } __attribute__((packed));
651
652 /*
653 * ID: 23
654 * Command: IP Packet Filters
655 */
656
657 #define MBIM_CMD_BASIC_CONNECT_IP_PACKET_FILTERS 23
658
659 struct mbim_basic_connect_ip_packet_filters_q {
660 uint32_t sessionid;
661 uint32_t packetfilterscount;
662 /* array type: ref-struct-array */
663 uint32_t packetfilters;
664 } __attribute__((packed));
665
666 struct mbim_basic_connect_ip_packet_filters_r {
667 uint32_t sessionid;
668 uint32_t packetfilterscount;
669 /* array type: ref-struct-array */
670 uint32_t packetfilters;
671 } __attribute__((packed));
672
673 struct mbim_basic_connect_ip_packet_filters_s {
674 uint32_t sessionid;
675 uint32_t packetfilterscount;
676 /* array type: ref-struct-array */
677 uint32_t packetfilters;
678 } __attribute__((packed));
679
680 /*
681 * ID: 24
682 * Command: Multicarrier Providers
683 */
684
685 #define MBIM_CMD_BASIC_CONNECT_MULTICARRIER_PROVIDERS 24
686
687 struct mbim_basic_connect_multicarrier_providers_r {
688 uint32_t providerscount;
689 /* array type: ref-struct-array */
690 uint32_t providers;
691 } __attribute__((packed));
692
693 struct mbim_basic_connect_multicarrier_providers_s {
694 uint32_t providerscount;
695 /* array type: ref-struct-array */
696 uint32_t providers;
697 } __attribute__((packed));
698
699 struct mbim_basic_connect_multicarrier_providers_n {
700 uint32_t providerscount;
701 /* array type: ref-struct-array */
702 uint32_t providers;
703 } __attribute__((packed));
704