6 #define MBIM_CMD_BASIC_CONNECT_DEVICE_CAPS 1
8 struct mbim_basic_connect_device_caps_r {
9 /* enum MbimDeviceType */
11 /* enum MbimCellularClass */
12 uint32_t cellularclass;
13 /* enum MbimVoiceClass */
15 /* enum MbimSimClass */
17 /* enum MbimDataClass */
19 /* enum MbimSmsCaps */
21 /* enum MbimCtrlCaps */
24 struct mbim_string customdataclass;
25 struct mbim_string deviceid;
26 struct mbim_string firmwareinfo;
27 struct mbim_string hardwareinfo;
28 } __attribute__((packed));
32 * Command: Subscriber Ready Status
35 #define MBIM_CMD_BASIC_CONNECT_SUBSCRIBER_READY_STATUS 2
37 struct mbim_basic_connect_subscriber_ready_status_r {
38 /* enum MbimSubscriberReadyState */
40 struct mbim_string subscriberid;
41 struct mbim_string simiccid;
42 /* enum MbimReadyInfoFlag */
44 uint32_t telephonenumberscount;
45 /* array type: string-array */
46 uint32_t telephonenumbers;
47 } __attribute__((packed));
49 struct mbim_basic_connect_subscriber_ready_status_n {
50 /* enum MbimSubscriberReadyState */
52 struct mbim_string subscriberid;
53 struct mbim_string simiccid;
54 /* enum MbimReadyInfoFlag */
56 uint32_t telephonenumberscount;
57 /* array type: string-array */
58 uint32_t telephonenumbers;
59 } __attribute__((packed));
63 * Command: Radio State
66 #define MBIM_CMD_BASIC_CONNECT_RADIO_STATE 3
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));
75 struct mbim_basic_connect_radio_state_s {
76 /* enum MbimRadioSwitchState */
78 } __attribute__((packed));
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));
92 #define MBIM_CMD_BASIC_CONNECT_PIN 4
94 struct mbim_basic_connect_pin_r {
95 /* enum MbimPinType */
97 /* enum MbimPinState */
99 uint32_t remainingattempts;
100 } __attribute__((packed));
102 struct mbim_basic_connect_pin_s {
103 /* enum MbimPinType */
105 /* enum MbimPinOperation */
106 uint32_t pinoperation;
107 struct mbim_string pin;
108 struct mbim_string newpin;
109 } __attribute__((packed));
112 /* enum MbimPinMode */
114 /* enum MbimPinFormat */
116 uint32_t pinlengthmin;
117 uint32_t pinlengthmax;
118 } __attribute__((packed));
125 #define MBIM_CMD_BASIC_CONNECT_PIN_LIST 5
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));
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;
149 } __attribute__((packed));
153 * Command: Home Provider
156 #define MBIM_CMD_BASIC_CONNECT_HOME_PROVIDER 6
158 struct mbim_basic_connect_home_provider_r {
159 struct mbimprovider provider;
160 } __attribute__((packed));
162 struct mbim_basic_connect_home_provider_s {
163 struct mbimprovider provider;
164 } __attribute__((packed));
168 * Command: Preferred Providers
171 #define MBIM_CMD_BASIC_CONNECT_PREFERRED_PROVIDERS 7
173 struct mbim_basic_connect_preferred_providers_r {
174 uint32_t providerscount;
175 /* array type: ref-struct-array */
177 } __attribute__((packed));
179 struct mbim_basic_connect_preferred_providers_s {
180 uint32_t providerscount;
181 /* array type: ref-struct-array */
183 } __attribute__((packed));
185 struct mbim_basic_connect_preferred_providers_n {
186 uint32_t providerscount;
187 /* array type: ref-struct-array */
189 } __attribute__((packed));
193 * Command: Visible Providers
196 #define MBIM_CMD_BASIC_CONNECT_VISIBLE_PROVIDERS 8
198 struct mbim_basic_connect_visible_providers_q {
199 /* enum MbimVisibleProvidersAction */
201 } __attribute__((packed));
203 struct mbim_basic_connect_visible_providers_r {
204 uint32_t providerscount;
205 /* array type: ref-struct-array */
207 } __attribute__((packed));
211 * Command: Register State
214 #define MBIM_CMD_BASIC_CONNECT_REGISTER_STATE 9
216 struct mbim_basic_connect_register_state_r {
217 /* enum MbimNwError */
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));
234 struct mbim_basic_connect_register_state_s {
235 struct mbim_string providerid;
236 /* enum MbimRegisterAction */
237 uint32_t registeraction;
238 /* enum MbimDataClass */
240 } __attribute__((packed));
242 struct mbim_basic_connect_register_state_n {
243 /* enum MbimNwError */
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));
262 * Command: Packet Service
265 #define MBIM_CMD_BASIC_CONNECT_PACKET_SERVICE 10
267 struct mbim_basic_connect_packet_service_r {
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));
277 struct mbim_basic_connect_packet_service_s {
278 /* enum MbimPacketServiceAction */
279 uint32_t packetserviceaction;
280 } __attribute__((packed));
282 struct mbim_basic_connect_packet_service_n {
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));
294 * Command: Signal State
297 #define MBIM_CMD_BASIC_CONNECT_SIGNAL_STATE 11
299 struct mbim_basic_connect_signal_state_r {
302 uint32_t signalstrengthinterval;
303 uint32_t rssithreshold;
304 uint32_t errorratethreshold;
305 } __attribute__((packed));
307 struct mbim_basic_connect_signal_state_s {
308 uint32_t signalstrengthinterval;
309 uint32_t rssithreshold;
310 uint32_t errorratethreshold;
311 } __attribute__((packed));
313 struct mbim_basic_connect_signal_state_n {
316 uint32_t signalstrengthinterval;
317 uint32_t rssithreshold;
318 uint32_t errorratethreshold;
319 } __attribute__((packed));
326 #define MBIM_CMD_BASIC_CONNECT_CONNECT 12
328 struct mbim_basic_connect_connect_q {
330 /* enum MbimActivationState */
331 uint32_t activationstate;
332 /* enum MbimVoiceCallState */
333 uint32_t voicecallstate;
334 /* enum MbimContextIpType */
336 uint8_t contexttype[16];
338 } __attribute__((packed));
340 struct mbim_basic_connect_connect_r {
342 /* enum MbimActivationState */
343 uint32_t activationstate;
344 /* enum MbimVoiceCallState */
345 uint32_t voicecallstate;
346 /* enum MbimContextIpType */
348 uint8_t contexttype[16];
350 } __attribute__((packed));
352 struct mbim_basic_connect_connect_s {
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 */
365 uint8_t contexttype[16];
366 } __attribute__((packed));
368 struct mbim_basic_connect_connect_n {
370 /* enum MbimActivationState */
371 uint32_t activationstate;
372 /* enum MbimVoiceCallState */
373 uint32_t voicecallstate;
374 /* enum MbimContextIpType */
376 uint8_t contexttype[16];
378 } __attribute__((packed));
380 struct mbimprovisionedcontextelement {
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));
394 * Command: Provisioned Contexts
397 #define MBIM_CMD_BASIC_CONNECT_PROVISIONED_CONTEXTS 13
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));
405 struct mbim_basic_connect_provisioned_contexts_s {
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));
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));
426 * Command: Service Activation
429 #define MBIM_CMD_BASIC_CONNECT_SERVICE_ACTIVATION 14
431 struct mbim_basic_connect_service_activation_r {
432 /* enum MbimNwError */
434 /* array type: unsized-byte-array */
436 } __attribute__((packed));
438 struct mbim_basic_connect_service_activation_s {
439 /* array type: unsized-byte-array */
441 } __attribute__((packed));
443 struct mbimipv4element {
444 uint32_t onlinkprefixlength;
445 uint8_t ipv4address[4];
446 } __attribute__((packed));
448 struct mbimipv6element {
449 uint32_t onlinkprefixlength;
450 uint8_t ipv6address[16];
451 } __attribute__((packed));
455 * Command: IP Configuration
458 #define MBIM_CMD_BASIC_CONNECT_IP_CONFIGURATION 15
460 struct mbim_basic_connect_ip_configuration_q {
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;
484 } __attribute__((packed));
486 struct mbim_basic_connect_ip_configuration_r {
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;
510 } __attribute__((packed));
512 struct mbim_basic_connect_ip_configuration_n {
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;
536 } __attribute__((packed));
538 struct mbimdeviceserviceelement {
539 uint8_t deviceserviceid[16];
541 uint32_t maxdssinstances;
543 /* array type: guint32-array */
545 } __attribute__((packed));
549 * Command: Device Services
552 #define MBIM_CMD_BASIC_CONNECT_DEVICE_SERVICES 16
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));
561 struct mbimevententry {
562 uint8_t deviceserviceid[16];
564 /* array type: guint32-array */
566 } __attribute__((packed));
570 * Command: Device Service Subscribe List
573 #define MBIM_CMD_BASIC_CONNECT_DEVICE_SERVICE_SUBSCRIBE_LIST 19
575 struct mbim_basic_connect_device_service_subscribe_list_r {
576 uint32_t eventscount;
577 /* array type: ref-struct-array */
579 } __attribute__((packed));
581 struct mbim_basic_connect_device_service_subscribe_list_s {
582 uint32_t eventscount;
583 /* array type: ref-struct-array */
585 } __attribute__((packed));
589 * Command: Packet Statistics
592 #define MBIM_CMD_BASIC_CONNECT_PACKET_STATISTICS 20
594 struct mbim_basic_connect_packet_statistics_r {
602 uint32_t outdiscards;
603 } __attribute__((packed));
607 * Command: Network Idle Hint
610 #define MBIM_CMD_BASIC_CONNECT_NETWORK_IDLE_HINT 21
612 struct mbim_basic_connect_network_idle_hint_r {
613 /* enum MbimNetworkIdleHintState */
615 } __attribute__((packed));
617 struct mbim_basic_connect_network_idle_hint_s {
618 /* enum MbimNetworkIdleHintState */
620 } __attribute__((packed));
624 * Command: Emergency Mode
627 #define MBIM_CMD_BASIC_CONNECT_EMERGENCY_MODE 22
629 struct mbim_basic_connect_emergency_mode_r {
630 /* enum MbimEmergencyModeState */
632 } __attribute__((packed));
634 struct mbim_basic_connect_emergency_mode_s {
635 /* enum MbimEmergencyModeState */
637 } __attribute__((packed));
639 struct mbim_basic_connect_emergency_mode_n {
640 /* enum MbimEmergencyModeState */
642 } __attribute__((packed));
644 struct mbimpacketfilter {
646 /* array type: ref-byte-array */
647 uint32_t packetfilter;
648 /* array type: ref-byte-array */
650 } __attribute__((packed));
654 * Command: IP Packet Filters
657 #define MBIM_CMD_BASIC_CONNECT_IP_PACKET_FILTERS 23
659 struct mbim_basic_connect_ip_packet_filters_q {
661 uint32_t packetfilterscount;
662 /* array type: ref-struct-array */
663 uint32_t packetfilters;
664 } __attribute__((packed));
666 struct mbim_basic_connect_ip_packet_filters_r {
668 uint32_t packetfilterscount;
669 /* array type: ref-struct-array */
670 uint32_t packetfilters;
671 } __attribute__((packed));
673 struct mbim_basic_connect_ip_packet_filters_s {
675 uint32_t packetfilterscount;
676 /* array type: ref-struct-array */
677 uint32_t packetfilters;
678 } __attribute__((packed));
682 * Command: Multicarrier Providers
685 #define MBIM_CMD_BASIC_CONNECT_MULTICARRIER_PROVIDERS 24
687 struct mbim_basic_connect_multicarrier_providers_r {
688 uint32_t providerscount;
689 /* array type: ref-struct-array */
691 } __attribute__((packed));
693 struct mbim_basic_connect_multicarrier_providers_s {
694 uint32_t providerscount;
695 /* array type: ref-struct-array */
697 } __attribute__((packed));
699 struct mbim_basic_connect_multicarrier_providers_n {
700 uint32_t providerscount;
701 /* array type: ref-struct-array */
703 } __attribute__((packed));