From 1d16d4ac4ee595eac86612c2183b540c338cbc18 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Mon, 2 Oct 2017 19:17:16 -0500 Subject: [PATCH] mbim: Add header & body accessors for mbim-message --- drivers/mbimmodem/mbim-message.c | 21 +++++++++++++++++++++ drivers/mbimmodem/mbim-private.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/drivers/mbimmodem/mbim-message.c b/drivers/mbimmodem/mbim-message.c index 4db0324f..9d6b99de 100644 --- a/drivers/mbimmodem/mbim-message.c +++ b/drivers/mbimmodem/mbim-message.c @@ -1351,3 +1351,24 @@ bool mbim_message_set_arguments(struct mbim_message *message, return result; } + +void *_mbim_message_get_header(struct mbim_message *message, size_t *out_len) +{ + if (out_len) + *out_len = HEADER_SIZE; + + return message->header; +} + +struct iovec *_mbim_message_get_body(struct mbim_message *message, + size_t *out_n_iov, size_t *out_len) +{ + if (out_len) + *out_len = message->info_buf_len; + + if (out_n_iov) + *out_n_iov = message->info_buf_len ? message->n_frags : + message->n_frags - 1; + + return message->frags; +} diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h index 72f7a879..e1592355 100644 --- a/drivers/mbimmodem/mbim-private.h +++ b/drivers/mbimmodem/mbim-private.h @@ -54,3 +54,6 @@ struct mbim_message *_mbim_message_new_command_done(const uint8_t *uuid, uint32_t _mbim_information_buffer_offset(uint32_t type); void _mbim_message_set_tid(struct mbim_message *message, uint32_t tid); void *_mbim_message_to_bytearray(struct mbim_message *message, size_t *out_len); +void *_mbim_message_get_header(struct mbim_message *message, size_t *out_len); +struct iovec *_mbim_message_get_body(struct mbim_message *message, + size_t *out_n_iov, size_t *out_len);