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
));