static void connect_req(struct sap_connection *conn, struct sap_parameter *param) { uint16_t maxmsgsize, *val; DBG("conn %p state %d", conn, conn->state); if (!param) goto error_rsp; if (conn->state != SAP_STATE_DISCONNECTED) goto error_rsp; stop_guard_timer(conn); val = (uint16_t *) ¶m->val; maxmsgsize = ntohs(*val); DBG("Connect MaxMsgSize: 0x%04x", maxmsgsize); conn->state = SAP_STATE_CONNECT_IN_PROGRESS; if (maxmsgsize <= SAP_BUF_SIZE) { conn->processing_req = SAP_CONNECT_REQ; sap_connect_req(conn, maxmsgsize); } else { sap_connect_rsp(conn, SAP_STATUS_MAX_MSG_SIZE_NOT_SUPPORTED, SAP_BUF_SIZE); } return; error_rsp: sap_error_rsp(conn); }
static void connect_req(struct sap_server *server, struct sap_parameter *param) { struct sap_connection *conn = server->conn; uint16_t maxmsgsize; DBG("conn %p state %d", conn, conn->state); if (!param) goto error_rsp; if (conn->state != SAP_STATE_DISCONNECTED) goto error_rsp; stop_guard_timer(server); maxmsgsize = get_be16(¶m->val); DBG("Connect MaxMsgSize: 0x%04x", maxmsgsize); conn->state = SAP_STATE_CONNECT_IN_PROGRESS; if (maxmsgsize <= SAP_BUF_SIZE) { conn->processing_req = SAP_CONNECT_REQ; sap_connect_req(server, maxmsgsize); } else { sap_connect_rsp(server, SAP_STATUS_MAX_MSG_SIZE_NOT_SUPPORTED); } return; error_rsp: sap_error_rsp(conn); }
static void connect_req(struct sap_connection *conn, struct sap_parameter *param) { uint16_t maxmsgsize, *val; DBG("conn %p state %d", conn, conn->state); if (!param) goto error_rsp; if (conn->state != SAP_STATE_DISCONNECTED) goto error_rsp; stop_guard_timer(conn); val = (uint16_t *) ¶m->val; maxmsgsize = ntohs(*val); DBG("Connect MaxMsgSize: 0x%04x", maxmsgsize); conn->state = SAP_STATE_CONNECT_IN_PROGRESS; if (maxmsgsize <= SAP_BUF_SIZE) { // open RIL Client if (!isRilConnected) isRilConnected = sap_open_ril(); if (isRilConnected) { conn->processing_req = SAP_CONNECT_REQ; sap_connect_req(conn, maxmsgsize); } else { sap_connect_rsp(conn, SAP_STATUS_CONNECTION_FAILED, maxmsgsize); } } else { sap_connect_rsp(conn, SAP_STATUS_MAX_MSG_SIZE_NOT_SUPPORTED, SAP_BUF_SIZE); } return; error_rsp: error("Processing error (param %p state %d pr 0x%02x)", param, conn->state, conn->processing_req); sap_error_rsp(conn); }