TLV: Add tv_fixed_put() and msgb_tv_fixed_put()

This is for a Tag-Value type with fixed-length value (len > 1)
diff --git a/include/osmocore/tlv.h b/include/osmocore/tlv.h
index 4cfce87..7bda9f9 100644
--- a/include/osmocore/tlv.h
+++ b/include/osmocore/tlv.h
@@ -132,6 +132,14 @@
 	return buf;
 }
 
+static inline uint8_t *tv_fixed_put(uint8_t *buf, uint8_t tag,
+				    unsigned int len, const uint8_t *val)
+{
+	*buf++ = tag;
+	memcpy(buf, val, len);
+	return buf + len;
+}
+
 /* 'val' is still in host byte order! */
 static inline uint8_t *tv16_put(uint8_t *buf, uint8_t tag, 
 				 uint16_t val)
@@ -160,6 +168,13 @@
 	return tv_put(buf, tag, val);
 }
 
+static inline uint8_t *msgb_tv_fixed_put(struct msgb *msg, uint8_t tag,
+					unsigned int len, const uint8_t *val)
+{
+	uint8_t *buf = msgb_put(msg, 1+len);
+	return tv_fixed_put(buf, tag, len, val);
+}
+
 static inline uint8_t *msgb_v_put(struct msgb *msg, uint8_t val)
 {
 	uint8_t *buf = msgb_put(msg, 1);