From dbffdd0193996723fdc9456e09736a30a32daf25 Mon Sep 17 00:00:00 2001 From: Bjorn Andersson Date: Thu, 1 Feb 2018 02:06:57 +0000 Subject: [PATCH] libqrtr: Remove depricated functions Post-QMI clean up of old interfaces and some duplicated definitions. Signed-off-by: Bjorn Andersson --- lib/libqrtr.h | 32 ---------------------------- lib/qmi.c | 19 +++++++++++------ lib/qrtr.c | 58 --------------------------------------------------- 3 files changed, 13 insertions(+), 96 deletions(-) diff --git a/lib/libqrtr.h b/lib/libqrtr.h index 64f77bb..601c233 100644 --- a/lib/libqrtr.h +++ b/lib/libqrtr.h @@ -36,20 +36,6 @@ struct qrtr_packet { struct qrtr_packet pkt = { .data = pkt ##_buf, \ .data_len = sizeof(pkt ##_buf), } -/** - * qmi_header - wireformat header of QMI messages - * @type: type of message - * @txn_id: transaction id - * @msg_id: message id - * @msg_len: length of message payload following header - */ -struct qmi_header { - uint8_t type; - uint16_t txn_id; - uint16_t msg_id; - uint16_t msg_len; -} __attribute__((packed)); - #define QMI_REQUEST 0 #define QMI_RESPONSE 2 #define QMI_INDICATION 4 @@ -124,15 +110,6 @@ struct qmi_response_type_v01 { extern struct qmi_elem_info qmi_response_type_v01_ei[]; -struct qrtr_ind_ops { - int (*bye)(uint32_t node, void *data); - int (*del_client)(uint32_t node, uint32_t port, void *data); - int (*new_server)(uint32_t service, uint16_t version, uint16_t instance, - uint32_t node, uint32_t port, void *data); - int (*del_server)(uint32_t service, uint16_t version, uint16_t instance, - uint32_t node, uint32_t port, void *data); -}; - int qrtr_open(int rport); void qrtr_close(int sock); @@ -150,15 +127,6 @@ int qrtr_new_lookup(int sock, uint32_t service, uint16_t version, uint16_t insta int qrtr_remove_lookup(int sock, uint32_t service, uint16_t version, uint16_t instance); int qrtr_poll(int sock, unsigned int ms); -int qrtr_lookup(int sock, uint32_t service, uint16_t version, uint16_t instance, uint32_t ifilter, - void (* cb)(void *,uint32_t,uint32_t,uint32_t,uint32_t), void *udata); - -int qrtr_is_ctrl_addr(struct sockaddr_qrtr *sq); -int qrtr_handle_ctrl_msg(struct sockaddr_qrtr *sq, - const void *buf, - size_t len, - struct qrtr_ind_ops *ops, - void *data); int qrtr_decode(struct qrtr_packet *dest, void *buf, size_t len, const struct sockaddr_qrtr *sq); diff --git a/lib/qmi.c b/lib/qmi.c index 998afe9..4852ed8 100644 --- a/lib/qmi.c +++ b/lib/qmi.c @@ -36,13 +36,20 @@ #include "libqrtr.h" -struct qmi_packet { - uint8_t flags; +/** + * qmi_header - wireformat header of QMI messages + * @type: type of message + * @txn_id: transaction id + * @msg_id: message id + * @msg_len: length of message payload following header + */ +struct qmi_header { + uint8_t type; uint16_t txn_id; uint16_t msg_id; uint16_t msg_len; - uint8_t data[]; -} __attribute__((__packed__)); +} __attribute__((packed)); + #define QMI_ENCDEC_ENCODE_TLV(type, length, p_dst) do { \ *p_dst++ = type; \ @@ -787,9 +794,9 @@ ssize_t qmi_encode_message(struct qrtr_packet *pkt, int type, int msg_id, int qmi_decode_header(struct qrtr_packet *pkt, unsigned int *msg_id) { - struct qmi_packet *qmi = pkt->data; + struct qmi_header *qmi = pkt->data; - if (qmi->msg_len != pkt->data_len - sizeof(struct qmi_packet)) { + if (qmi->msg_len != pkt->data_len - sizeof(*qmi)) { fprintf(stderr, "[RMTFS] Invalid length of incoming qmi request\n"); return -EINVAL; } diff --git a/lib/qrtr.c b/lib/qrtr.c index 2c7d5df..695bb36 100644 --- a/lib/qrtr.c +++ b/lib/qrtr.c @@ -219,64 +219,6 @@ int qrtr_recvfrom(int sock, void *buf, unsigned int bsz, uint32_t *node, uint32_ return rc; } -int qrtr_is_ctrl_addr(struct sockaddr_qrtr *sq) -{ - return sq->sq_port == QRTR_PORT_CTRL; -} - -int qrtr_handle_ctrl_msg(struct sockaddr_qrtr *sq, - const void *buf, - size_t len, - struct qrtr_ind_ops *ops, - void *data) -{ - const struct qrtr_ctrl_pkt *pkt = buf; - uint16_t instance; - uint32_t service; - uint16_t version; - uint32_t node; - uint32_t port; - int cmd; - - if (len < sizeof(__le32)) - return -EINVAL; - - cmd = le32_to_cpu(pkt->cmd); - - if (cmd == QRTR_TYPE_BYE && ops->bye) { - return ops->bye(sq->sq_node, data); - } else if (cmd == QRTR_TYPE_DEL_CLIENT && ops->del_client) { - if (len < 3 * sizeof(__le32)) - return -EINVAL; - - return ops->del_client(pkt->client.node, pkt->client.port, data); - } else if (cmd == QRTR_TYPE_NEW_SERVER && ops->new_server) { - if (len < 5 * sizeof(__le32)) - return -EINVAL; - - node = le32_to_cpu(pkt->server.node); - port = le32_to_cpu(pkt->server.port); - service = le32_to_cpu(pkt->server.service); - version = le32_to_cpu(pkt->server.instance) & 0xffff; - instance = le32_to_cpu(pkt->server.instance) >> 16; - - return ops->new_server(service, version, instance, node, port, data); - } else if (cmd == QRTR_TYPE_DEL_SERVER && ops->del_server) { - if (len < 5 * sizeof(__le32)) - return -EINVAL; - - node = le32_to_cpu(pkt->server.node); - port = le32_to_cpu(pkt->server.port); - service = le32_to_cpu(pkt->server.service); - version = le32_to_cpu(pkt->server.instance) & 0xffff; - instance = le32_to_cpu(pkt->server.instance) >> 16; - - return ops->del_server(service, version, instance, node, port, data); - } - - return 0; -} - int qrtr_decode(struct qrtr_packet *dest, void *buf, size_t len, const struct sockaddr_qrtr *sq) {