Module: xenomai-forge
Branch: next
Commit: 0afb0652aaab0526284b15ed9d447d6fb4a93309
URL:    
http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=0afb0652aaab0526284b15ed9d447d6fb4a93309

Author: Philippe Gerum <r...@xenomai.org>
Date:   Wed Jun 11 19:59:31 2014 +0200

doc: general fixup of the doxygen-based contents hierarchy (WIP)

---

 doc/doxygen/manual-common.conf.in          |    4 +++-
 include/alchemy/alarm.h                    |    7 +++++++
 include/alchemy/buffer.h                   |    9 ++++++++-
 include/alchemy/cond.h                     |    7 +++++++
 include/alchemy/event.h                    |   11 +++++++++--
 include/alchemy/heap.h                     |    9 +++++++--
 include/alchemy/mutex.h                    |    7 +++++++
 include/alchemy/pipe.h                     |   11 +++++++++--
 include/alchemy/queue.h                    |   11 ++++++++---
 include/alchemy/sem.h                      |    9 ++++++++-
 include/alchemy/task.h                     |   16 +++++++++++-----
 include/alchemy/timer.h                    |    7 +++++++
 include/cobalt/kernel/apc.h                |   10 +++++-----
 include/cobalt/kernel/bufd.h               |   11 ++++++-----
 include/cobalt/kernel/clock.h              |    8 +++++---
 include/cobalt/kernel/lock.h               |    2 +-
 include/cobalt/kernel/map.h                |    8 +++++---
 include/cobalt/kernel/rtdm/driver.h        |   16 ++++++++--------
 include/cobalt/kernel/sched.h              |    8 +++++---
 include/cobalt/kernel/select.h             |   10 +++++-----
 include/cobalt/kernel/timer.h              |    7 ++++---
 include/cobalt/kernel/vfile.h              |    8 +++++---
 include/cobalt/uapi/kernel/thread.h        |    8 ++++----
 include/rtdm/analogy.h                     |    2 +-
 include/rtdm/uapi/analogy.h                |   10 +++++-----
 kernel/cobalt/apc.c                        |    9 ++++++---
 kernel/cobalt/arith.c                      |    2 +-
 kernel/cobalt/bufd.c                       |    4 +++-
 kernel/cobalt/clock.c                      |    3 +--
 kernel/cobalt/debug.c                      |    2 +-
 kernel/cobalt/heap.c                       |    2 +-
 kernel/cobalt/intr.c                       |    2 +-
 kernel/cobalt/lock.c                       |    2 +-
 kernel/cobalt/posix/clock.c                |    4 ++--
 kernel/cobalt/posix/cond.c                 |    4 ++--
 kernel/cobalt/posix/event.c                |    2 +-
 kernel/cobalt/posix/monitor.c              |    4 ++--
 kernel/cobalt/posix/mqueue.c               |    4 ++--
 kernel/cobalt/posix/mutex.c                |    4 ++--
 kernel/cobalt/posix/sem.c                  |    4 ++--
 kernel/cobalt/posix/thread.c               |    4 ++--
 kernel/cobalt/sched-quota.c                |    2 +-
 kernel/cobalt/shadow.c                     |    2 +-
 kernel/cobalt/synch.c                      |    2 +-
 kernel/drivers/analogy/driver_facilities.c |   14 ++++++--------
 lib/alchemy/alarm.c                        |   16 +++++++++-------
 lib/alchemy/buffer.c                       |   12 +++++++-----
 lib/alchemy/cond.c                         |   26 ++++++++++++++------------
 lib/alchemy/event.c                        |    4 +++-
 lib/alchemy/heap.c                         |    4 +++-
 lib/alchemy/init.c                         |    9 +++++++++
 lib/alchemy/mutex.c                        |    4 ++--
 lib/alchemy/pipe.c                         |    4 ++--
 lib/alchemy/queue.c                        |    4 ++--
 lib/alchemy/sem.c                          |    4 +++-
 lib/alchemy/task.c                         |   15 +++++++++++++++
 lib/alchemy/timer.c                        |   11 +++++++++++
 lib/analogy/descriptor.c                   |    2 +-
 lib/analogy/sync.c                         |    4 ++--
 lib/analogy/sys.c                          |    8 ++++----
 60 files changed, 276 insertions(+), 143 deletions(-)

diff --git a/doc/doxygen/manual-common.conf.in 
b/doc/doxygen/manual-common.conf.in
index 71e7423..0279a65 100644
--- a/doc/doxygen/manual-common.conf.in
+++ b/doc/doxygen/manual-common.conf.in
@@ -862,7 +862,9 @@ DOT_CLEANUP            = YES
 INPUT                  =                                               \
                       @top_srcdir@/include                             \
                       @top_srcdir@/kernel/cobalt                       \
-                      @top_srcdir@/kernel/drivers
+                      @top_srcdir@/kernel/drivers                      \
+                      @top_srcdir@/lib/analogy                         \
+                      @top_srcdir@/lib/alchemy
 
 # INPUT                  =                                             \
 #                     @top_srcdir@/include/cobalt                      \
diff --git a/include/alchemy/alarm.h b/include/alchemy/alarm.h
index 46e7d19..6a8e623 100644
--- a/include/alchemy/alarm.h
+++ b/include/alchemy/alarm.h
@@ -22,6 +22,11 @@
 #include <stdint.h>
 #include <alchemy/timer.h>
 
+/**
+ * @addtogroup alchemy_alarm
+ * @{
+ */
+
 struct RT_ALARM {
        uintptr_t handle;
 };
@@ -76,4 +81,6 @@ int rt_alarm_inquire(RT_ALARM *alarm,
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_ALARM_H */
diff --git a/include/alchemy/buffer.h b/include/alchemy/buffer.h
index 7e1f111..c384190 100644
--- a/include/alchemy/buffer.h
+++ b/include/alchemy/buffer.h
@@ -22,7 +22,12 @@
 #include <stdint.h>
 #include <alchemy/timer.h>
 
-/* Creation flags. */
+/**
+ * @addtogroup alchemy_buffer
+ * @{
+ */
+
+/** Creation flags. */
 #define B_PRIO  0x1    /* Pend by task priority order. */
 #define B_FIFO  0x0    /* Pend by FIFO order. */
 
@@ -139,4 +144,6 @@ int rt_buffer_unbind(RT_BUFFER *bf);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_BUFFER_H */
diff --git a/include/alchemy/cond.h b/include/alchemy/cond.h
index 3b6868b..7c4f1d0 100644
--- a/include/alchemy/cond.h
+++ b/include/alchemy/cond.h
@@ -23,6 +23,11 @@
 #include <alchemy/timer.h>
 #include <alchemy/mutex.h>
 
+/**
+ * @addtogroup alchemy_cond
+ * @{
+ */
+
 struct RT_COND {
        uintptr_t handle;
 };
@@ -89,4 +94,6 @@ int rt_cond_unbind(RT_COND *cond);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_COND_H */
diff --git a/include/alchemy/event.h b/include/alchemy/event.h
index 980e4ce..8d439ed 100644
--- a/include/alchemy/event.h
+++ b/include/alchemy/event.h
@@ -22,11 +22,16 @@
 #include <stdint.h>
 #include <alchemy/timer.h>
 
-/* Creation flags. */
+/**
+ * @addtogroup alchemy_event
+ * @{
+ */
+
+/** Creation flags. */
 #define EV_PRIO  0x1   /* Pend by task priority order. */
 #define EV_FIFO  0x0   /* Pend by FIFO order. */
 
-/* Operation flags. */
+/** Operation flags. */
 #define EV_ANY  0x1    /* Disjunctive wait. */
 #define EV_ALL  0x0    /* Conjunctive wait. */
 
@@ -115,4 +120,6 @@ int rt_event_unbind(RT_EVENT *event);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_EVENT_H */
diff --git a/include/alchemy/heap.h b/include/alchemy/heap.h
index 2ff02ef..8cd65c9 100644
--- a/include/alchemy/heap.h
+++ b/include/alchemy/heap.h
@@ -22,9 +22,12 @@
 #include <stdint.h>
 #include <alchemy/timer.h>
 
-/*
- * Creation flags.
+/**
+ * @addtogroup alchemy_heap
+ * @{
  */
+
+/** Creation flags. */
 #define H_PRIO    0x1  /* Pend by task priority order. */
 #define H_FIFO    0x0  /* Pend by FIFO order. */
 #define H_SINGLE  0x4  /* Manage as single-block area. */
@@ -128,4 +131,6 @@ int rt_heap_unbind(RT_HEAP *heap);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_HEAP_H */
diff --git a/include/alchemy/mutex.h b/include/alchemy/mutex.h
index 6b3d126..0563f45 100644
--- a/include/alchemy/mutex.h
+++ b/include/alchemy/mutex.h
@@ -23,6 +23,11 @@
 #include <alchemy/timer.h>
 #include <alchemy/task.h>
 
+/**
+ * @addtogroup alchemy_mutex
+ * @{
+ */
+
 struct RT_MUTEX {
        uintptr_t handle;
 };
@@ -93,4 +98,6 @@ int rt_mutex_unbind(RT_MUTEX *mutex);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_MUTEX_H */
diff --git a/include/alchemy/pipe.h b/include/alchemy/pipe.h
index d6dce06..61bf24b 100644
--- a/include/alchemy/pipe.h
+++ b/include/alchemy/pipe.h
@@ -22,10 +22,15 @@
 #include <stdint.h>
 #include <alchemy/timer.h>
 
-/* Creation flags. */
+/**
+ * @addtogroup alchemy_pipe
+ * @{
+ */
+
+/** Creation flags. */
 #define P_MINOR_AUTO   XNPIPE_MINOR_AUTO
 
-/* Operation flags. */
+/** Operation flags. */
 #define P_URGENT  0x1
 #define P_NORMAL  0x0
 
@@ -82,4 +87,6 @@ int rt_pipe_unbind(RT_PIPE *pipe);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_PIPE_H */
diff --git a/include/alchemy/queue.h b/include/alchemy/queue.h
index d5a035c..f15790d 100644
--- a/include/alchemy/queue.h
+++ b/include/alchemy/queue.h
@@ -22,12 +22,15 @@
 #include <stdint.h>
 #include <alchemy/timer.h>
 
-/*
- * Creation flags.
+/**
+ * @addtogroup alchemy_queue
+ * @{
  */
+
+/** Creation flags. */
 #define Q_PRIO  0x1    /* Pend by task priority order. */
 #define Q_FIFO  0x0    /* Pend by FIFO order. */
-/* Deprecated, compat only. */
+/** Deprecated, compat only. */
 #define Q_SHARED 0x0
 
 #define Q_UNLIMITED 0  /* No size limit. */
@@ -167,4 +170,6 @@ int rt_queue_unbind(RT_QUEUE *queue);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_QUEUE_H */
diff --git a/include/alchemy/sem.h b/include/alchemy/sem.h
index 94d98f7..ef01f89 100644
--- a/include/alchemy/sem.h
+++ b/include/alchemy/sem.h
@@ -22,7 +22,12 @@
 #include <stdint.h>
 #include <alchemy/timer.h>
 
-/* Creation flags. */
+/**
+ * @addtogroup alchemy_sem
+ * @{
+ */
+
+/** Creation flags. */
 #define S_PRIO  0x1    /* Pend by task priority order. */
 #define S_FIFO  0x0    /* Pend by FIFO order. */
 #define S_PULSE 0x2    /* Enable pulse mode. */
@@ -99,4 +104,6 @@ int rt_sem_unbind(RT_SEM *sem);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_SEM_H */
diff --git a/include/alchemy/task.h b/include/alchemy/task.h
index 0387e57..36da024 100644
--- a/include/alchemy/task.h
+++ b/include/alchemy/task.h
@@ -26,18 +26,22 @@
 #include <copperplate/threadobj.h>
 #include <alchemy/timer.h>
 
+/**
+ * @addtogroup alchemy_task
+ * @{
+ */
+
+/** Task priorities. */
 #define T_LOPRIO  0
 #define T_HIPRIO  99
 
-/*
- * Task mode bits.
- */
+/** Task mode bits. */
 #define T_LOCK         __THREAD_M_LOCK
-/* Cobalt only, nop over Mercury. */
+/** Cobalt only, nop over Mercury. */
 #define T_WARNSW       __THREAD_M_WARNSW
 #define T_CONFORMING   __THREAD_M_CONFORMING
 #define T_JOINABLE     __THREAD_M_SPARE0
-/* Deprecated, compat only. */
+/** Deprecated, compat only. */
 #define T_FPU          0x0
 
 struct RT_TASK {
@@ -203,4 +207,6 @@ int rt_task_unbind(RT_TASK *task);
 }
 #endif
 
+/** @} */
+
 #endif /* _XENOMAI_ALCHEMY_TASK_H */
diff --git a/include/alchemy/timer.h b/include/alchemy/timer.h
index 4e468b5..66b8ffa 100644
--- a/include/alchemy/timer.h
+++ b/include/alchemy/timer.h
@@ -22,6 +22,11 @@
 #include <stddef.h>
 #include <copperplate/clockobj.h>
 
+/**
+ * @addtogroup alchemy_timer
+ * @{
+ */
+
 typedef ticks_t RTIME;
 
 typedef sticks_t SRTIME;
@@ -124,4 +129,6 @@ void rt_timer_spin(RTIME ns);
 }
 #endif
 
+/** @} */
+
 #endif /* _ALCHEMY_TIMER_H */
diff --git a/include/cobalt/kernel/apc.h b/include/cobalt/kernel/apc.h
index 67aa735..124a660 100644
--- a/include/cobalt/kernel/apc.h
+++ b/include/cobalt/kernel/apc.h
@@ -16,19 +16,19 @@
  * along with Xenomai; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  * 02111-1307, USA.
- *
- * \ingroup apc
  */
 
 #ifndef _COBALT_KERNEL_APC_H
 #define _COBALT_KERNEL_APC_H
 
-/*! \addtogroup apc
- *@{*/
-
 #include <linux/ipipe.h>
 #include <asm/xenomai/machine.h>
 
+/**
+ * @addtogroup core_apc
+ * @{
+ */
+
 int xnapc_alloc(const char *name,
                void (*handler)(void *cookie),
                void *cookie);
diff --git a/include/cobalt/kernel/bufd.h b/include/cobalt/kernel/bufd.h
index e4e7274..3e840be 100644
--- a/include/cobalt/kernel/bufd.h
+++ b/include/cobalt/kernel/bufd.h
@@ -16,18 +16,19 @@
  * along with Xenomai; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  * 02111-1307, USA.
- *
- * \ingroup bufd
  */
 
 #ifndef _COBALT_KERNEL_BUFD_H
 #define _COBALT_KERNEL_BUFD_H
 
-/*! \addtogroup bufd
- *@{*/
-
 #include <linux/types.h>
 
+/**
+ * @addtogroup core_bufd
+ *
+ * @{
+ */
+
 struct mm_struct;
 
 struct xnbufd {
diff --git a/include/cobalt/kernel/clock.h b/include/cobalt/kernel/clock.h
index 945fb28..51f5d58 100644
--- a/include/cobalt/kernel/clock.h
+++ b/include/cobalt/kernel/clock.h
@@ -23,14 +23,16 @@
 #ifndef _COBALT_KERNEL_CLOCK_H
 #define _COBALT_KERNEL_CLOCK_H
 
-/*! \addtogroup clock
- *@{*/
-
 #include <linux/ipipe.h>
 #include <cobalt/kernel/list.h>
 #include <cobalt/kernel/vfile.h>
 #include <cobalt/uapi/kernel/types.h>
 
+/**
+ * @addtogroup core_clock
+ * @{
+ */
+
 struct xnsched;
 struct xntimerdata;
 
diff --git a/include/cobalt/kernel/lock.h b/include/cobalt/kernel/lock.h
index c2775e8..818554d 100644
--- a/include/cobalt/kernel/lock.h
+++ b/include/cobalt/kernel/lock.h
@@ -25,7 +25,7 @@
 #include <cobalt/kernel/assert.h>
 
 /**
- * @addtogroup lock
+ * @addtogroup core_lock
  *
  * @{
  */
diff --git a/include/cobalt/kernel/map.h b/include/cobalt/kernel/map.h
index cd58dc1..5f8fc96 100644
--- a/include/cobalt/kernel/map.h
+++ b/include/cobalt/kernel/map.h
@@ -23,11 +23,13 @@
 #ifndef _COBALT_KERNEL_MAP_H
 #define _COBALT_KERNEL_MAP_H
 
-/*! \addtogroup map
- *@{*/
-
 #include <asm/bitsperlong.h>
 
+/**
+ * @addtogroup core_map
+ * @{
+ */
+
 #define XNMAP_MAX_KEYS (BITS_PER_LONG * BITS_PER_LONG)
 
 struct xnmap {
diff --git a/include/cobalt/kernel/rtdm/driver.h 
b/include/cobalt/kernel/rtdm/driver.h
index 030f309..2898e10 100644
--- a/include/cobalt/kernel/rtdm/driver.h
+++ b/include/cobalt/kernel/rtdm/driver.h
@@ -1142,7 +1142,7 @@ static inline int __rtdm_timedwait(struct rtdm_waitqueue 
*wq,
 
 /* --- Interrupt management services --- */
 /*!
- * @addtogroup rtdmirq
+ * @addtogroup rtdm_irq
  * @{
  */
 
@@ -1198,7 +1198,7 @@ typedef int (*rtdm_irq_handler_t)(rtdm_irq_t *irq_handle);
  * Rescheduling: never.
  */
 #define rtdm_irq_get_arg(irq_handle, type)     ((type *)irq_handle->cookie)
-/** @} rtdmirq */
+/** @} rtdm_irq */
 
 int rtdm_irq_request(rtdm_irq_t *irq_handle, unsigned int irq_no,
                     rtdm_irq_handler_t handler, unsigned long flags,
@@ -1229,7 +1229,7 @@ static inline int rtdm_irq_disable(rtdm_irq_t *irq_handle)
 /* --- non-real-time signalling services --- */
 
 /*!
- * @addtogroup nrtsignal
+ * @addtogroup rtdm_nrtsignal
  * @{
  */
 
@@ -1246,7 +1246,7 @@ typedef unsigned rtdm_nrtsig_t;
  * blocking operations.
  */
 typedef void (*rtdm_nrtsig_handler_t)(rtdm_nrtsig_t nrt_sig, void *arg);
-/** @} nrtsignal */
+/** @} rtdm_nrtsignal */
 
 #ifndef DOXYGEN_CPP /* Avoid static inline tags for RTDM in doxygen */
 static inline int rtdm_nrtsig_init(rtdm_nrtsig_t *nrt_sig,
@@ -1276,7 +1276,7 @@ static inline void rtdm_nrtsig_pend(rtdm_nrtsig_t 
*nrt_sig)
 /* --- timer services --- */
 
 /*!
- * @addtogroup rtdmtimer
+ * @addtogroup rtdm_timer
  * @{
  */
 
@@ -1306,7 +1306,7 @@ enum rtdm_timer_mode {
 };
 /** @} RTDM_TIMERMODE_xxx */
 
-/** @} rtdmtimer */
+/** @} rtdm_timer */
 
 #ifndef DOXYGEN_CPP /* Avoid broken doxygen output */
 #define rtdm_timer_init(timer, handler, name)          \
@@ -1341,7 +1341,7 @@ static inline void 
rtdm_timer_stop_in_handler(rtdm_timer_t *timer)
 
 /* --- task services --- */
 /*!
- * @addtogroup rtdmtask
+ * @addtogroup rtdm_task
  * @{
  */
 
@@ -1370,7 +1370,7 @@ typedef void (*rtdm_task_proc_t)(void *arg);
 #define RTDM_TASK_LOWER_PRIORITY       (-1)
 /** @} Task Priority Modification */
 
-/** @} rtdmtask */
+/** @} rtdm_task */
 
 int rtdm_task_init(rtdm_task_t *task, const char *name,
                   rtdm_task_proc_t task_proc, void *arg,
diff --git a/include/cobalt/kernel/sched.h b/include/cobalt/kernel/sched.h
index 00c6fcf..29af5db 100644
--- a/include/cobalt/kernel/sched.h
+++ b/include/cobalt/kernel/sched.h
@@ -25,9 +25,6 @@
 #ifndef _COBALT_KERNEL_SCHED_H
 #define _COBALT_KERNEL_SCHED_H
 
-/*! \addtogroup sched
- *@{*/
-
 #include <linux/percpu.h>
 #include <cobalt/kernel/thread.h>
 #include <cobalt/kernel/schedqueue.h>
@@ -39,6 +36,11 @@
 #include <cobalt/kernel/assert.h>
 #include <asm/xenomai/machine.h>
 
+/*
+ * @addtogroup core_sched
+ * @{
+ */
+
 /* Sched status flags */
 #define XNRESCHED      0x10000000      /* Needs rescheduling */
 #define XNINSW         0x20000000      /* In context switch */
diff --git a/include/cobalt/kernel/select.h b/include/cobalt/kernel/select.h
index e10de38..109759f 100644
--- a/include/cobalt/kernel/select.h
+++ b/include/cobalt/kernel/select.h
@@ -18,19 +18,19 @@
  * along with Xenomai; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  * 02111-1307, USA.
- *
- * \ingroup select
  */
 
 #ifndef _COBALT_KERNEL_SELECT_H
 #define _COBALT_KERNEL_SELECT_H
 
-/*! \addtogroup select
- *@{*/
-
 #include <cobalt/kernel/list.h>
 #include <cobalt/kernel/thread.h>
 
+/**
+ * @addtogroup core_select
+ * @{
+ */
+
 #define XNSELECT_READ      0
 #define XNSELECT_WRITE     1
 #define XNSELECT_EXCEPT    2
diff --git a/include/cobalt/kernel/timer.h b/include/cobalt/kernel/timer.h
index d7f6867..54f8b39 100644
--- a/include/cobalt/kernel/timer.h
+++ b/include/cobalt/kernel/timer.h
@@ -374,9 +374,10 @@ void xntimer_switch_tracking(struct xntimer *timer,
 
 void xntimer_destroy(struct xntimer *timer);
 
-/*!
- * \addtogroup timer
- *@{ */
+/**
+ * @addtogroup core_timer
+ *@{
+ */
 
 /**
  * @fn xnticks_t xntimer_interval(struct xntimer *timer)
diff --git a/include/cobalt/kernel/vfile.h b/include/cobalt/kernel/vfile.h
index cca1f77..eb48102 100644
--- a/include/cobalt/kernel/vfile.h
+++ b/include/cobalt/kernel/vfile.h
@@ -26,13 +26,15 @@
 
 #if defined(CONFIG_XENO_OPT_VFILE) || defined(DOXYGEN_CPP)
 
-/** @addtogroup vfile
- *@{*/
-
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <cobalt/kernel/lock.h>
 
+/**
+ * @addtogroup core_vfile
+ * @{
+ */
+
 struct xnvfile_directory;
 struct xnvfile_regular_iterator;
 struct xnvfile_snapshot_iterator;
diff --git a/include/cobalt/uapi/kernel/thread.h 
b/include/cobalt/uapi/kernel/thread.h
index 454a0b5..3b7333d 100644
--- a/include/cobalt/uapi/kernel/thread.h
+++ b/include/cobalt/uapi/kernel/thread.h
@@ -22,8 +22,8 @@
 
 /**
  * @ingroup core
- * @defgroup core_thread_states Thread state flags.
- * @brief Bits reporting permanent or transient states of thread.
+ * @defgroup core_thread_states Thread state flags
+ * @brief Bits reporting permanent or transient states of threads
  * @{
  */
 
@@ -56,8 +56,8 @@
 
 /**
  * @ingroup core
- * @defgroup core_thread_info Thread information flags.
- * @brief Bits reporting events notified to the thread.
+ * @defgroup core_thread_info Thread information flags
+ * @brief Bits reporting events notified to threads
  * @{
  */
 
diff --git a/include/rtdm/analogy.h b/include/rtdm/analogy.h
index 8f49443..c47824d 100644
--- a/include/rtdm/analogy.h
+++ b/include/rtdm/analogy.h
@@ -25,7 +25,7 @@
 #include <rtdm/uapi/analogy.h>
 
 /*!
-  @addtogroup descriptor_sys
+  @addtogroup analogy_lib_descriptor
   @{
  */
 
diff --git a/include/rtdm/uapi/analogy.h b/include/rtdm/uapi/analogy.h
index dd1164d..28ce8ab 100644
--- a/include/rtdm/uapi/analogy.h
+++ b/include/rtdm/uapi/analogy.h
@@ -123,7 +123,7 @@ typedef struct a4l_dev_info a4l_dvinfo_t;
 #define A4L_BUFINFO2 _IOWR(CIO,16,a4l_bufcfg_t)
 
 /*!
- * @addtogroup async1_lib
+ * @addtogroup analogy_lib_async1
  * @{
  */
 
@@ -327,7 +327,7 @@ struct a4l_cmd_desc {
 };
 typedef struct a4l_cmd_desc a4l_cmd_t;
 
-/*! @} async1_lib */
+/*! @} analogy_lib_async1 */
 
 /* --- Range section --- */
 
@@ -371,7 +371,7 @@ typedef struct a4l_cmd_desc a4l_cmd_t;
 #define A4L_SUBD_MASK_SPECIAL 0x20000000
 
 /*!
- * @addtogroup subdevice
+ * @addtogroup analogy_subdevice
  * @{
  */
 
@@ -538,7 +538,7 @@ typedef struct a4l_rng_info_arg a4l_rnginfo_arg_t;
 #define A4L_INSN_MASK_SPECIAL 0x2000000
 
 /*!
- * @addtogroup sync1_lib
+ * @addtogroup analogy_lib_sync1
  * @{
  */
 
@@ -700,6 +700,6 @@ struct a4l_instruction_list {
 };
 typedef struct a4l_instruction_list a4l_insnlst_t;
 
-/*! @} sync1_lib */
+/*! @} analogy_lib_sync1 */
 
 #endif /* _RTDM_UAPI_ANALOGY_H */
diff --git a/kernel/cobalt/apc.c b/kernel/cobalt/apc.c
index ec65627..386ed03 100644
--- a/kernel/cobalt/apc.c
+++ b/kernel/cobalt/apc.c
@@ -21,15 +21,18 @@
 #include <linux/ipipe.h>
 #include <cobalt/kernel/apc.h>
 
-/*
+/**
  * @ingroup core
  * @defgroup core_apc Asynchronous Procedure Calls
  *
+ * Services for scheduling function calls in the Linux domain
+ *
  * APC is the acronym for Asynchronous Procedure Call, a mean by which
  * activities from the Xenomai domain can schedule deferred
  * invocations of handlers to be run into the Linux domain, as soon as
- * possible when the Linux kernel gets back in control. Up to
- * BITS_PER_LONG APC slots can be active at any point in time.
+ * possible when the Linux kernel gets back in control.
+ *
+ * Up to BITS_PER_LONG APC slots can be active at any point in time.
  *
  * APC support is built upon the interrupt pipeline's virtual
  * interrupt support.
diff --git a/kernel/cobalt/arith.c b/kernel/cobalt/arith.c
index 4ac08cb..5ff0c80 100644
--- a/kernel/cobalt/arith.c
+++ b/kernel/cobalt/arith.c
@@ -19,7 +19,7 @@
  */
 #include <linux/module.h>
 
-/*
+/**
  * @ingroup core
  * @defgroup core_arith Helpers for in-kernel arithmetics
  * @{
diff --git a/kernel/cobalt/bufd.c b/kernel/cobalt/bufd.c
index 95ea952..02469df 100644
--- a/kernel/cobalt/bufd.c
+++ b/kernel/cobalt/bufd.c
@@ -26,7 +26,9 @@
 
 /**
  * @ingroup core
- * @defgroup core_bufd Buffer descriptors
+ * @defgroup core_bufd Buffer descriptor
+ *
+ * Abstraction for copying data to/from different address spaces
  *
  * A buffer descriptor is a simple abstraction dealing with copy
  * operations to/from memory buffers which may belong to different
diff --git a/kernel/cobalt/clock.c b/kernel/cobalt/clock.c
index c934deb..b2eb1b2 100644
--- a/kernel/cobalt/clock.c
+++ b/kernel/cobalt/clock.c
@@ -26,8 +26,7 @@
 #include <cobalt/kernel/vdso.h>
 #include <asm/xenomai/calibration.h>
 #include <trace/events/cobalt-core.h>
-/*
- *
+/**
  * @ingroup core
  * @defgroup core_clock Clock services.
  *
diff --git a/kernel/cobalt/debug.c b/kernel/cobalt/debug.c
index ac05f64..57f0463 100644
--- a/kernel/cobalt/debug.c
+++ b/kernel/cobalt/debug.c
@@ -27,7 +27,7 @@
 #include <cobalt/kernel/ppd.h>
 #include "debug.h"
 
-/*
+/**
  * @ingroup core
  * @defgroup core_debug Debugging services
  * @{
diff --git a/kernel/cobalt/heap.c b/kernel/cobalt/heap.c
index 1a0b3e1..113ec71 100644
--- a/kernel/cobalt/heap.c
+++ b/kernel/cobalt/heap.c
@@ -35,7 +35,7 @@
 #include <cobalt/kernel/vdso.h>
 #include <cobalt/kernel/assert.h>
 
-/*
+/**
  * @ingroup core
  * @defgroup core_heap Dynamic memory allocation services.
  *
diff --git a/kernel/cobalt/intr.c b/kernel/cobalt/intr.c
index c8b7adf..67894d9 100644
--- a/kernel/cobalt/intr.c
+++ b/kernel/cobalt/intr.c
@@ -29,7 +29,7 @@
 #include <cobalt/kernel/assert.h>
 #include <trace/events/cobalt-core.h>
 
-/*
+/**
  * @ingroup core
  * @defgroup core_irq Interrupt management
  * @{
diff --git a/kernel/cobalt/lock.c b/kernel/cobalt/lock.c
index f1595ec..7f7a7e5 100644
--- a/kernel/cobalt/lock.c
+++ b/kernel/cobalt/lock.c
@@ -20,7 +20,7 @@
 #include <linux/module.h>
 #include <cobalt/kernel/lock.h>
 
-/*
+/**
  * @ingroup core
  * @defgroup core_lock SMP locking services
  * @{
diff --git a/kernel/cobalt/posix/clock.c b/kernel/cobalt/posix/clock.c
index 045c955..e171f75 100644
--- a/kernel/cobalt/posix/clock.c
+++ b/kernel/cobalt/posix/clock.c
@@ -18,9 +18,9 @@
 
 /**
  * @ingroup cobalt
- * @defgroup cobalt_time Clocks and timers services.
+ * @defgroup cobalt_time Clocks and timers
  *
- * Clocks and timers services.
+ * Cobalt/POSIX clock and timer services
  *
  * Cobalt supports three built-in clocks:
  *
diff --git a/kernel/cobalt/posix/cond.c b/kernel/cobalt/posix/cond.c
index 63a5d5c..43caa80 100644
--- a/kernel/cobalt/posix/cond.c
+++ b/kernel/cobalt/posix/cond.c
@@ -25,9 +25,9 @@
 
 /**
  * @ingroup cobalt
- * @defgroup cobalt_cond Condition variables services.
+ * @defgroup cobalt_cond Condition variables
  *
- * Condition variables services.
+ * Cobalt/POSIX condition variable services
  *
  * A condition variable is a synchronization object that allows threads to
  * suspend execution until some predicate on shared data is satisfied. The 
basic
diff --git a/kernel/cobalt/posix/event.c b/kernel/cobalt/posix/event.c
index 7da42c7..c87ef9a 100644
--- a/kernel/cobalt/posix/event.c
+++ b/kernel/cobalt/posix/event.c
@@ -28,7 +28,7 @@
  * @ingroup cobalt
  * @defgroup cobalt_event Event flag group
  *
- * Event flag group services.
+ * Cobalt event notification services
  *
  * An event flag group is a synchronization object represented by a
  * long-word structure; every available bit in such word can be used
diff --git a/kernel/cobalt/posix/monitor.c b/kernel/cobalt/posix/monitor.c
index 76c0524..ae5ced0 100644
--- a/kernel/cobalt/posix/monitor.c
+++ b/kernel/cobalt/posix/monitor.c
@@ -26,9 +26,9 @@
 
 /*
  * @ingroup cobalt
- * @defgroup cobalt_monitor Synchronization monitor services
+ * @defgroup cobalt_monitor Synchronization monitor
  *
- * Synchronization monitor services
+ * Cobalt synchronization monitor services
  *
  * The Cobalt monitor is a double-wait condition object, serializing
  * accesses through a gate. It behaves like a mutex + two condition
diff --git a/kernel/cobalt/posix/mqueue.c b/kernel/cobalt/posix/mqueue.c
index 09b55ed..f390acd 100644
--- a/kernel/cobalt/posix/mqueue.c
+++ b/kernel/cobalt/posix/mqueue.c
@@ -32,9 +32,9 @@
 
 /**
  * @ingroup cobalt
- * @defgroup cobalt_mq Message queues services.
+ * @defgroup cobalt_mq Message queues
  *
- * Message queues services
+ * Cobalt/POSIX message queue services
  *
  * A message queue allow exchanging data between real-time
  * threads. For a POSIX message queue, maximum message length and
diff --git a/kernel/cobalt/posix/mutex.c b/kernel/cobalt/posix/mutex.c
index e90533a..58f10c4 100644
--- a/kernel/cobalt/posix/mutex.c
+++ b/kernel/cobalt/posix/mutex.c
@@ -24,9 +24,9 @@
 
 /**
  * @ingroup cobalt
- * @defgroup cobalt_mutex Mutex services
+ * @defgroup cobalt_mutex Mutual exclusion
  *
- * Mutual exclusion services.
+ * Cobalt/POSIX mutual exclusion services
  *
  * A mutex is a MUTual EXclusion device, and is useful for protecting
  * shared data structures from concurrent modifications, and implementing
diff --git a/kernel/cobalt/posix/sem.c b/kernel/cobalt/posix/sem.c
index c02cde2..0f43301 100644
--- a/kernel/cobalt/posix/sem.c
+++ b/kernel/cobalt/posix/sem.c
@@ -26,9 +26,9 @@
 
 /**
  * @ingroup cobalt
- * @defgroup cobalt_sem Semaphores services
+ * @defgroup cobalt_sem Semaphores
  *
- * Semaphores services.
+ * Cobalt/POSIX semaphore services
  *
  * Semaphores are counters for resources shared between threads. The basic
  * operations on semaphores are: increment the counter atomically, and wait
diff --git a/kernel/cobalt/posix/thread.c b/kernel/cobalt/posix/thread.c
index 0b06a0e..6a7b156 100644
--- a/kernel/cobalt/posix/thread.c
+++ b/kernel/cobalt/posix/thread.c
@@ -35,9 +35,9 @@
 
 /**
  * @ingroup cobalt
- * @defgroup cobalt_thread Threads management services
+ * @defgroup cobalt_thread Thread management
  *
- * Threads management services.
+ * Cobalt/POSIX thread management services
  *
  * @see
  * <a 
href="http://www.opengroup.org/onlinepubs/000095399/functions/xsh_chap02_09.html#tag_02_09";>
diff --git a/kernel/cobalt/sched-quota.c b/kernel/cobalt/sched-quota.c
index 1260667..250f9a2 100644
--- a/kernel/cobalt/sched-quota.c
+++ b/kernel/cobalt/sched-quota.c
@@ -472,7 +472,7 @@ static void xnsched_quota_migrate(struct xnthread *thread, 
struct xnsched *sched
        xnsched_set_policy(thread, &xnsched_class_rt, &param);
 }
 
-/*
+/**
  * @ingroup sched
  * @defgroup sched-quota SCHED_QUOTA scheduling policy
  *
diff --git a/kernel/cobalt/shadow.c b/kernel/cobalt/shadow.c
index eb4a50f..c8c5b62 100644
--- a/kernel/cobalt/shadow.c
+++ b/kernel/cobalt/shadow.c
@@ -60,7 +60,7 @@
 #include <asm-generic/xenomai/mayday.h>
 #include "debug.h"
 
-/*
+/**
  * @ingroup core
  * @defgroup core_shadow Real-time shadow services
  *
diff --git a/kernel/cobalt/synch.c b/kernel/cobalt/synch.c
index fd07261..b9f67ed 100644
--- a/kernel/cobalt/synch.c
+++ b/kernel/cobalt/synch.c
@@ -24,7 +24,7 @@
 #include <cobalt/kernel/shadow.h>
 #include <trace/events/cobalt-core.h>
 
-/*
+/**
  * @ingroup core
  * @defgroup core_synch Thread synchronization services.
  * @{
diff --git a/kernel/drivers/analogy/driver_facilities.c 
b/kernel/drivers/analogy/driver_facilities.c
index 8983e93..870b271 100644
--- a/kernel/drivers/analogy/driver_facilities.c
+++ b/kernel/drivers/analogy/driver_facilities.c
@@ -26,15 +26,13 @@
 
 /**
  * @defgroup analogy Analogy interface
- *
- * An RTDM-based interface for implementing DAQ acquisition card
- * drivers.
- *
+ * A RTDM-based interface for implementing DAQ card drivers
+ */
+
+/**
  * @ingroup analogy
  * @defgroup analogy_driver_facilities Driver API
- *
- * This is the service interface provided to Analogy-based device
- * drivers.
+ * Programming interface provided to DAQ card drivers
  */
 
 /* --- Driver section --- */
@@ -93,7 +91,7 @@ EXPORT_SYMBOL_GPL(a4l_unregister_drv);
 /* --- Subdevice section --- */
 
 /**
- * @ingroup analog_driver_facilities
+ * @ingroup analogy_driver_facilities
  * @defgroup analogy_subdevice Subdevice management services
  *
  * Subdevice declaration in a driver
diff --git a/lib/alchemy/alarm.c b/lib/alchemy/alarm.c
index 825ae9b..d76bc88 100644
--- a/lib/alchemy/alarm.c
+++ b/lib/alchemy/alarm.c
@@ -24,16 +24,18 @@
 #include "alarm.h"
 #include "timer.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_alarm Alarm services
  *
- * Alarms are general watchdog timers. Alchemy tasks may create any
- * number of alarms and use them to run a user-defined handler, after
- * a specified initial delay has elapsed. Alarms can be either one
- * shot or periodic; in the latter case, the real-time system
- * automatically reprograms the alarm for the next shot according to a
- * user-defined interval value.
+ * General-purpose watchdog timers
+ *
+ * Alarms are general-purpose watchdog timers. Alchemy tasks may
+ * create any number of alarms and use them to run a user-defined
+ * handler, after a specified initial delay has elapsed. Alarms can be
+ * either one shot or periodic; in the latter case, the real-time
+ * system automatically reprograms the alarm for the next shot
+ * according to a user-defined interval value.
  *
  * @{
  */
diff --git a/lib/alchemy/buffer.c b/lib/alchemy/buffer.c
index ce7bf64..c950408 100644
--- a/lib/alchemy/buffer.c
+++ b/lib/alchemy/buffer.c
@@ -24,14 +24,16 @@
 #include "buffer.h"
 #include "timer.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_buffer Buffer services
  *
- * A buffer is a lightweight IPC object, implementing a fast, one-way
- * producer-consumer data path. All messages written are buffered in a
- * single memory area in strict FIFO order, until read either in
- * blocking or non-blocking mode.
+ * Lightweight FIFO IPC mechanism
+ *
+ * A buffer is a lightweight IPC mechanism, implementing a fast,
+ * one-way producer-consumer data path. All messages written are
+ * buffered in a single memory area in strict FIFO order, until read
+ * either in blocking or non-blocking mode.
  *
  * Message are always atomically handled on the write side (i.e. no
  * interleave, no short writes), whilst only complete messages are
diff --git a/lib/alchemy/cond.c b/lib/alchemy/cond.c
index cfae1d5..fb3dc2d 100644
--- a/lib/alchemy/cond.c
+++ b/lib/alchemy/cond.c
@@ -24,21 +24,23 @@
 #include "timer.h"
 #include "mutex.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_cond Condition variable services
  *
- * Condition variable services.
- *
- * A condition variable is a synchronization object which allows tasks
- * to suspend execution until some predicate on shared data is
- * satisfied. The basic operations on conditions are: signal the
- * condition (when the predicate becomes true), and wait for the
- * condition, blocking the task execution until another task signals
- * the condition.  A condition variable must always be associated with
- * a mutex, to avoid a well-known race condition where a task prepares
- * to wait on a condition variable and another task signals the
- * condition just before the first task actually waits on it.
+ * POSIXish condition variable mechanism
+ *
+ * A condition variable is a synchronization mechanism which allows
+ * tasks to suspend execution until some predicate on some arbitrary
+ * shared data is satisfied.
+ *
+ * The basic operations on conditions are: signal the condition (when
+ * the predicate becomes true), and wait for the condition, blocking
+ * the task execution until another task signals the condition.  A
+ * condition variable must always be associated with a mutex, to avoid
+ * a well-known race condition where a task prepares to wait on a
+ * condition variable and another task signals the condition just
+ * before the first task actually waits on it.
  *
  * @{
  */
diff --git a/lib/alchemy/event.c b/lib/alchemy/event.c
index 2d05011..eee48cd 100644
--- a/lib/alchemy/event.c
+++ b/lib/alchemy/event.c
@@ -26,10 +26,12 @@
 #include "event.h"
 #include "timer.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_event Event flag group services
  *
+ * Inter-task notification mechanism based on discrete flags
+ *
  * An event flag group is a synchronization object represented by a
  * long-word structure; every available bit in this word represents a
  * user-defined event flag.
diff --git a/lib/alchemy/heap.c b/lib/alchemy/heap.c
index 2fe8b1d..c61af41 100644
--- a/lib/alchemy/heap.c
+++ b/lib/alchemy/heap.c
@@ -26,10 +26,12 @@
 #include "heap.h"
 #include "timer.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_heap Heap management services
  *
+ * Region of memory dedicated to real-time allocation
+ *
  * Heaps are regions of memory used for dynamic memory allocation in
  * a time-bounded fashion. Blocks of memory are allocated and freed in
  * an arbitrary order and the pattern of allocation and size of blocks
diff --git a/lib/alchemy/init.c b/lib/alchemy/init.c
index 2052cc9..bf37840 100644
--- a/lib/alchemy/init.c
+++ b/lib/alchemy/init.c
@@ -34,6 +34,15 @@
 #include "heap.h"
 #include "alarm.h"
 
+/**
+ * @defgroup alchemy Alchemy API
+ *
+ * A programming interface reminiscent from traditional RTOS APIs
+ *
+ * This interface is an evolution of the former @a native API
+ * available with the Xenomai 2.x series.
+ */
+
 static unsigned int clock_resolution = 1; /* nanosecond. */
 
 static const struct option alchemy_options[] = {
diff --git a/lib/alchemy/mutex.c b/lib/alchemy/mutex.c
index a903243..093f0ab 100644
--- a/lib/alchemy/mutex.c
+++ b/lib/alchemy/mutex.c
@@ -24,11 +24,11 @@
 #include "timer.h"
 #include "task.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_mutex Mutex services
  *
- * Mutual exclusion services.
+ * POSIXish mutual exclusion services
  *
  * A mutex is a MUTual EXclusion object, and is useful for protecting
  * shared data structures from concurrent modifications, and
diff --git a/lib/alchemy/pipe.c b/lib/alchemy/pipe.c
index ae9004a..438a802 100644
--- a/lib/alchemy/pipe.c
+++ b/lib/alchemy/pipe.c
@@ -28,11 +28,11 @@
 #include "pipe.h"
 #include "timer.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_pipe Message pipe services
  *
- * Message pipe services.
+ * Two-way communication channel between Xenomai & Linux domains
  *
  * A message pipe is a two-way communication channel between Xenomai
  * threads and normal Linux threads using regular file I/O operations
diff --git a/lib/alchemy/queue.c b/lib/alchemy/queue.c
index cf0674e..55e1eb1 100644
--- a/lib/alchemy/queue.c
+++ b/lib/alchemy/queue.c
@@ -25,11 +25,11 @@
 #include "queue.h"
 #include "timer.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_queue Message queue services
  *
- * Queue services.
+ * real-time IPC mechanism for sending messages of arbitrary size
  *
  * Message queueing is a method by which real-time tasks can exchange
  * or pass data through a Xenomai-managed queue of messages. Messages
diff --git a/lib/alchemy/sem.c b/lib/alchemy/sem.c
index 63236bc..11e23b8 100644
--- a/lib/alchemy/sem.c
+++ b/lib/alchemy/sem.c
@@ -27,10 +27,12 @@
 #include "sem.h"
 #include "timer.h"
 
-/*
+/**
  * @ingroup alchemy
  * @defgroup alchemy_sem Semaphore services
  *
+ * Counting semaphore IPC mechanism
+ *
  * A counting semaphore is a synchronization object for controlling
  * the concurrency level allowed in accessing a resource from multiple
  * real-time tasks, based on the value of a count variable accessed
diff --git a/lib/alchemy/task.c b/lib/alchemy/task.c
index 18c11dc..f5be7e5 100644
--- a/lib/alchemy/task.c
+++ b/lib/alchemy/task.c
@@ -30,6 +30,19 @@
 #include "timer.h"
 #include "heap.h"
 
+/**
+ * @ingroup alchemy
+ * @defgroup alchemy_task Task management services
+ *
+ * Services dealing with preemptive multi-tasking
+ *
+ * Each Alchemy task is an independent portion of the overall
+ * application code embodied in a C procedure, which executes on its
+ * own stack context.
+ *
+ * @{
+ */
+
 union alchemy_wait_union {
        struct alchemy_task_wait task_wait;
        struct alchemy_buffer_wait buffer_wait;
@@ -2082,3 +2095,5 @@ int rt_task_unbind(RT_TASK *task)
        *task = NO_ALCHEMY_TASK;
        return 0;
 }
+
+/*@}*/
diff --git a/lib/alchemy/timer.c b/lib/alchemy/timer.c
index 616fdba..4d22267 100644
--- a/lib/alchemy/timer.c
+++ b/lib/alchemy/timer.c
@@ -19,6 +19,15 @@
 #include <copperplate/threadobj.h>
 #include "timer.h"
 
+/**
+ * @ingroup alchemy
+ * @defgroup alchemy_timer Timer management services
+ *
+ * Services for reading and spinning on the hardware timer
+ *
+ * @{
+ */
+
 struct clockobj alchemy_clock;
 
 /**
@@ -142,3 +151,5 @@ void rt_timer_spin(RTIME ns)
 {
        threadobj_spin(ns);
 }
+
+/** @} */
diff --git a/lib/analogy/descriptor.c b/lib/analogy/descriptor.c
index d260f75..876dcb6 100644
--- a/lib/analogy/descriptor.c
+++ b/lib/analogy/descriptor.c
@@ -184,7 +184,7 @@ static int __a4l_fill_desc(int fd, a4l_desc_t * dsc)
 
 /*!
  * @ingroup analogy_lib_syscall
- * @defgroup analog_lib_descriptor Descriptor Syscall API
+ * @defgroup analogy_lib_descriptor Descriptor Syscall API
  * @{
  */
 
diff --git a/lib/analogy/sync.c b/lib/analogy/sync.c
index 05a9b28..6dd49f9 100644
--- a/lib/analogy/sync.c
+++ b/lib/analogy/sync.c
@@ -26,7 +26,7 @@
 #include "internal.h"
 
 /*!
- * @ingroup analogy
+ * @ingroup analogy_lib
  * @defgroup analogy_lib_level1 Level 1 API
  * @{
  */
@@ -95,7 +95,7 @@ int a4l_snd_insn(a4l_desc_t * dsc, a4l_insn_t * arg)
 /** @} Level 1 API */
 
 /*!
- * @ingroup analogy
+ * @ingroup analogy_lib
  * @defgroup analogy_lib_level2 Level 2 API
  * @{
  */
diff --git a/lib/analogy/sys.c b/lib/analogy/sys.c
index a00dcbe..165c41d 100644
--- a/lib/analogy/sys.c
+++ b/lib/analogy/sys.c
@@ -30,11 +30,11 @@
 
 /*!
  * @ingroup analogy_lib
- * @defgroup analogy_lib_syscall Level 0 API (Syscall API)
+ * @defgroup analogy_lib_syscall Level 0 API
  *
- * This is the API interface which encapsulates common syscalls
- * structure
- * Warning: this API level should not be used
+ * System call interface to core Analogy services
+ *
+ * This interface should not be used directly by applications.
  */
 
 #include <rtdm/analogy.h>


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://www.xenomai.org/mailman/listinfo/xenomai-git

Reply via email to