// Bind subscription
dsd_bind_subscription_req_msg_v01 bind_req_msg;
dsd_bind_subscription_resp_msg_v01 bind_resp_msg;
memset(&bind_req_msg, 0, sizeof(bind_req_msg));
memset(&bind_resp_msg, 0, sizeof(bind_resp_msg));
bind_req_msg.bind_subs = DSD_PRIMARY_SUBS_V01;
ALOGI("binding subscription to subs= %d\n", bind_req_msg.bind_subs);
client_err = qmi_client_send_msg_sync(dsd_clnt_hndl,
QMI_DSD_BIND_SUBSCRIPTION_REQ_V01,
&bind_req_msg,
sizeof(bind_req_msg),
&bind_resp_msg,
sizeof(bind_resp_msg),
10000);
if (QMI_NO_ERR != client_err && QMI_RESULT_SUCCESS_V01 != bind_resp_msg.resp.result) {
ALOGI("failed to bind subscription, client_err=%d, err=%d", client_err, bind_resp_msg.resp.error);
}
/* Register for the QMI-DSD indications */
dsd_system_status_change_req_msg_v01 sys_reg_req_msg;
dsd_system_status_change_resp_msg_v01 sys_reg_resp_msg;
memset(&sys_reg_req_msg, 0, sizeof(sys_reg_req_msg));
memset(&sys_reg_resp_msg, 0, sizeof(sys_reg_resp_msg));
sys_reg_req_msg.limit_so_mask_change_ind_valid = 1;
sys_reg_req_msg.limit_so_mask_change_ind = 1;
client_err = qmi_client_send_msg_sync( dsd_clnt_hndl,
QMI_DSD_SYSTEM_STATUS_CHANGE_REQ_V01,
&sys_reg_req_msg,
sizeof(sys_reg_req_msg),
&sys_reg_resp_msg,
sizeof(sys_reg_resp_msg),
10000);
ALOGI("QMI_DSD_SYSTEM_STATUS_CHANGE_REQ_V01 client_err=%d", client_err);