Max has submitted this change and it was merged. ( https://gerrit.osmocom.org/12080 )
Change subject: Add msgb_tl_put() helper ...................................................................... Add msgb_tl_put() helper When adding complex TLV structures where length of V is not known in advance it's handy to be able to simply add Tag and save the pointer to the Length field so it can be updated once entire Value is added and its length is known. Change-Id: I8dc1e4880352833a0a49c1dd0d7cb4148ac43aff --- M include/osmocom/gsm/tlv.h 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified Harald Welte: Looks good to me, approved Neels Hofmeyr: Looks good to me, approved diff --git a/include/osmocom/gsm/tlv.h b/include/osmocom/gsm/tlv.h index 1ab964a..51bedd6 100644 --- a/include/osmocom/gsm/tlv.h +++ b/include/osmocom/gsm/tlv.h @@ -324,6 +324,18 @@ return v_put(buf, val); } +/*! put (append) a TL fields to a \ref msgb + * \returns pointer to the length field so it can be updated after adding new information under specified tag */ +static inline uint8_t *msgb_tl_put(struct msgb *msg, uint8_t tag) +{ + uint8_t *len = msgb_v_put(msg, tag); + + /* reserve space for length, len points to this reserved space already */ + msgb_v_put(msg, 0); + + return len; +} + /*! put (append) a TV16 field to a \ref msgb * \returns pointer to first byte after newly-put information */ static inline uint8_t *msgb_tv16_put(struct msgb *msg, uint8_t tag, uint16_t val) -- To view, visit https://gerrit.osmocom.org/12080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8dc1e4880352833a0a49c1dd0d7cb4148ac43aff Gerrit-Change-Number: 12080 Gerrit-PatchSet: 3 Gerrit-Owner: Max <msur...@sysmocom.de> Gerrit-Reviewer: Harald Welte <lafo...@gnumonks.org> Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Max <msur...@sysmocom.de> Gerrit-Reviewer: Neels Hofmeyr <nhofm...@sysmocom.de>