mirror of
https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
synced 2025-10-23 16:14:03 +00:00
[tlv] Implement a variant for the IDTAG list for the IPA
Implement a helper that will allow to easily fill the tag list with data.
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
#define TLV_GROSS_LEN(x) (x+2)
|
#define TLV_GROSS_LEN(x) (x+2)
|
||||||
#define TLV16_GROSS_LEN(x) ((2*x)+2)
|
#define TLV16_GROSS_LEN(x) ((2*x)+2)
|
||||||
#define TL16V_GROSS_LEN(x) (x+3)
|
#define TL16V_GROSS_LEN(x) (x+3)
|
||||||
|
#define L16TV_GROSS_LEN(x) (x+3)
|
||||||
|
|
||||||
#define TVLV_MAX_ONEBYTE 0x7f
|
#define TVLV_MAX_ONEBYTE 0x7f
|
||||||
|
|
||||||
@@ -105,6 +106,18 @@ static inline u_int8_t *msgb_tvlv_put(struct msgb *msg, u_int8_t tag, u_int16_t
|
|||||||
return tvlv_put(buf, tag, len, val);
|
return tvlv_put(buf, tag, len, val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline u_int8_t *msgb_l16tv_put(struct msgb *msg, u_int16_t len, u_int8_t tag,
|
||||||
|
const u_int8_t *val)
|
||||||
|
{
|
||||||
|
u_int8_t *buf = msgb_put(msg, L16TV_GROSS_LEN(len));
|
||||||
|
|
||||||
|
*buf++ = len >> 8;
|
||||||
|
*buf++ = len & 0xff;
|
||||||
|
*buf++ = tag;
|
||||||
|
memcpy(buf, val, len);
|
||||||
|
return buf + len;
|
||||||
|
}
|
||||||
|
|
||||||
static inline u_int8_t *v_put(u_int8_t *buf, u_int8_t val)
|
static inline u_int8_t *v_put(u_int8_t *buf, u_int8_t val)
|
||||||
{
|
{
|
||||||
*buf++ = val;
|
*buf++ = val;
|
||||||
|
Reference in New Issue
Block a user