mbim-service-basic-connect.h 16 KB

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