mirror of
https://github.com/linux-msm/qrtr.git
synced 2025-12-24 05:56:29 +01:00
libqrtr: Remove depricated functions
Post-QMI clean up of old interfaces and some duplicated definitions. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
This commit is contained in:
@@ -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);
|
||||
|
||||
19
lib/qmi.c
19
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;
|
||||
}
|
||||
|
||||
58
lib/qrtr.c
58
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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user