doxygen: Add documentation for prim.h
diff --git a/include/osmocom/core/prim.h b/include/osmocom/core/prim.h
index e892c62..2e60c46 100644
--- a/include/osmocom/core/prim.h
+++ b/include/osmocom/core/prim.h
@@ -1,14 +1,21 @@
 #ifndef OSMO_PRIMITIVE_H
 #define OSMO_PRIMITIVE_H
 
+/*! \defgroup prim Osmocom primitives
+ *  @{
+ */
+
+/*! \file prim.c */
+
 #include <stdint.h>
 #include <osmocom/core/msgb.h>
 
+/*! \brief primitive operation */
 enum osmo_prim_operation {
-	PRIM_OP_REQUEST,
-	PRIM_OP_RESPONSE,
-	PRIM_OP_INDICATION,
-	PRIM_OP_CONFIRM,
+	PRIM_OP_REQUEST,	/*!< \brief request */
+	PRIM_OP_RESPONSE,	/*!< \brief response */
+	PRIM_OP_INDICATION,	/*!< \brief indication */
+	PRIM_OP_CONFIRM,	/*!< \brief cofirm */
 };
 
 #define _SAP_GSM_SHIFT	24
@@ -16,13 +23,21 @@
 #define _SAP_GSM_BASE	(0x01 << _SAP_GSM_SHIFT)
 #define _SAP_TETRA_BASE	(0x02 << _SAP_GSM_SHIFT)
 
+/*! \brief primitive header */
 struct osmo_prim_hdr {
-	unsigned int sap;
-	unsigned int primitive;
-	enum osmo_prim_operation operation;
-	struct msgb *msg;	/* message containing associated data */
+	unsigned int sap;	/*!< \brief Service Access Point */
+	unsigned int primitive;	/*!< \brief Primitive number */
+	enum osmo_prim_operation operation; /*! \brief Primitive Operation */
+	struct msgb *msg;	/*!< \brief \ref msgb containing associated data */
 };
 
+/*! \brief initialize a primitive header
+ *  \param[in,out] oph primitive header
+ *  \param[in] sap Service Access Point
+ *  \param[in] primtive Primitive Number
+ *  \param[in] operation Primitive Operation (REQ/RESP/IND/CONF)
+ *  \param[in] msg Message
+ */
 static inline void
 osmo_prim_init(struct osmo_prim_hdr *oph, unsigned int sap,
 		unsigned int primitive, enum osmo_prim_operation operation,
@@ -34,5 +49,7 @@
 	oph->msg = msg;
 }
 
+/*! \brief primitive handler callback type */
 typedef int (*osmo_prim_cb)(struct osmo_prim_hdr *oph, void *ctx);
-#endif
+
+#endif /* OSMO_PRIMITIVE_H */