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;