mirror of
				https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
				synced 2025-11-03 21:43:32 +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