diff --git a/src/cmdu.c b/src/cmdu.c
index 2fa48ea0da9c451ee042a9eabb0ad79f0568698e..6bd254fd7868f3af3491b53299617b747a2a6593 100644
--- a/src/cmdu.c
+++ b/src/cmdu.c
@@ -167,6 +167,46 @@ static size_t tlv_minsize(struct tlv *t)
 	return 0;
 }
 
+void cmdu_set_type(struct cmdu_buff *c, uint16_t type)
+{
+	if (c && c->cdata)
+		buf_put_be16((uint8_t *)&c->cdata->hdr.type, type);
+}
+
+uint16_t cmdu_get_type(struct cmdu_buff *c)
+{
+	return (c && c->cdata) ?
+		buf_get_be16((uint8_t *)&c->cdata->hdr.type) : 0xffff;
+}
+
+void cmdu_set_mid(struct cmdu_buff *c, uint16_t mid)
+{
+	if (c && c->cdata)
+		buf_put_be16((uint8_t *)&c->cdata->hdr.mid, mid);
+}
+
+uint16_t cmdu_get_mid(struct cmdu_buff *c)
+{
+	return (c && c->cdata) ?
+		buf_get_be16((uint8_t *)&c->cdata->hdr.mid) : 0xffff;
+}
+
+void cmdu_set_fid(struct cmdu_buff *c, uint8_t fid)
+{
+	if (c && c->cdata)
+		c->cdata->hdr.fid = fid;
+}
+
+uint8_t cmdu_get_fid(struct cmdu_buff *c)
+{
+	return (c && c->cdata) ? c->cdata->hdr.fid : 0xff;
+}
+
+uint8_t *cmdu_get_origin(struct cmdu_buff *c)
+{
+	return c ? c->origin : NULL;
+}
+
 int is_cmdu_type_valid(uint16_t type)
 {
 	return type <= CMDU_TYPE_MAX;
diff --git a/src/cmdu.h b/src/cmdu.h
index 19bb541f9e0cd4cc2f91b0e1460e47a3d456feac..0a699cdd049ba67d01b17a2bda2cbc9785ad098e 100644
--- a/src/cmdu.h
+++ b/src/cmdu.h
@@ -209,45 +209,13 @@ struct cmdu_buff *cmdu_realloc(struct cmdu_buff *c, size_t size);
 /** Free CMDU allocated through cmdu_alloc*() functions */
 void cmdu_free(struct cmdu_buff *c);
 
-static inline void cmdu_set_type(struct cmdu_buff *c, uint16_t type)
-{
-	if (c && c->cdata)
-		buf_put_be16((uint8_t *)&c->cdata->hdr.type, type);
-}
-
-static inline uint16_t cmdu_get_type(struct cmdu_buff *c)
-{
-	return (c && c->cdata) ?
-		buf_get_be16((uint8_t *)&c->cdata->hdr.type) : 0xffff;
-}
-
-static inline void cmdu_set_mid(struct cmdu_buff *c, uint16_t mid)
-{
-	if (c && c->cdata)
-		buf_put_be16((uint8_t *)&c->cdata->hdr.mid, mid);
-}
-
-static inline uint16_t cmdu_get_mid(struct cmdu_buff *c)
-{
-	return (c && c->cdata) ?
-		buf_get_be16((uint8_t *)&c->cdata->hdr.mid) : 0xffff;
-}
-
-static inline void cmdu_set_fid(struct cmdu_buff *c, uint8_t fid)
-{
-	if (c && c->cdata)
-		c->cdata->hdr.fid = fid;
-}
-
-static inline uint8_t cmdu_get_fid(struct cmdu_buff *c)
-{
-	return (c && c->cdata) ? c->cdata->hdr.fid : 0xff;
-}
-
-static inline uint8_t *cmdu_get_origin(struct cmdu_buff *c)
-{
-	return c ? c->origin : NULL;
-}
+void cmdu_set_type(struct cmdu_buff *c, uint16_t type);
+uint16_t cmdu_get_type(struct cmdu_buff *c);
+void cmdu_set_mid(struct cmdu_buff *c, uint16_t mid);
+uint16_t cmdu_get_mid(struct cmdu_buff *c);
+void cmdu_set_fid(struct cmdu_buff *c, uint8_t fid);
+uint8_t cmdu_get_fid(struct cmdu_buff *c);
+uint8_t *cmdu_get_origin(struct cmdu_buff *c);
 
 /** Full size of a CMDU frame including the CMDU header */
 int cmdu_size(struct cmdu_buff *c);