1 static struct qmi_nas_set_system_selection_preference_request sel_req
;
3 #define cmd_nas_set_network_modes_cb no_cb
4 static enum qmi_cmd_result
5 cmd_nas_set_network_modes_prepare(struct qmi_dev
*qmi
, struct qmi_request
*req
, struct qmi_msg
*msg
, char *arg
)
9 QmiNasRatModePreference val
;
11 { "cdma", QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1X
| QMI_NAS_RAT_MODE_PREFERENCE_CDMA_1XEVDO
},
12 { "td-scdma", QMI_NAS_RAT_MODE_PREFERENCE_TD_SCDMA
},
13 { "gsm", QMI_NAS_RAT_MODE_PREFERENCE_GSM
},
14 { "umts", QMI_NAS_RAT_MODE_PREFERENCE_UMTS
},
15 { "lte", QMI_NAS_RAT_MODE_PREFERENCE_LTE
},
17 QmiNasRatModePreference val
= 0;
21 for (word
= strtok(arg
, ",");
23 word
= strtok(NULL
, ",")) {
26 for (i
= 0; i
< ARRAY_SIZE(modes
); i
++) {
27 if (strcmp(word
, modes
[i
].name
) != 0 &&
28 strcmp(word
, "all") != 0)
36 fprintf(stderr
, "Invalid network mode '%s'\n", word
);
41 qmi_set(&sel_req
, mode_preference
, val
);
42 qmi_set_nas_set_system_selection_preference_request(msg
, &sel_req
);
43 return QMI_CMD_REQUEST
;