Index: include/native/task.h =================================================================== --- include/native/task.h (revision 1383) +++ include/native/task.h (working copy) @@ -34,8 +34,20 @@ #define T_CPU(cpu) (1 << (24 + (cpu & 7))) /* Up to 8 cpus [0-7] */ #define T_CPUMASK 0xff000000 -/* Status/mode flags. */ -#define T_BLOCKED XNPEND +/*! + \ingroup native + @defgroup native_task_status Task Status + @brief Defines used to specify task state and/or mode + */ +/*! @addtogroup native_task_status + @{ + */ + +/*! @def T_BLOCKED + Task is blocked. See define #XNPEND*/ +#define T_BLOCKED XNPEND +/*! @def T_DELAYED + Task is delayed. See define #XNDELAY*/ #define T_DELAYED XNDELAY #define T_READY XNREADY #define T_DORMANT XNDORMANT @@ -49,6 +61,7 @@ #define T_RPIOFF XNRPIOFF #define T_PRIMARY 0x00000200 /* Recycle internal bits status which */ #define T_JOINABLE 0x00000400 /* won't be passed to the nucleus. */ +/*! @} */ /* Ends addtogroup native_task_status */ /* Task hook types. */ #define T_HOOK_START XNHOOK_THREAD_START @@ -68,31 +81,50 @@ struct rt_queue_msg; struct rt_task; +/*! @brief Structure containing task-information useful to users. + * + * @see rt_task_inquire() + */ typedef struct rt_task_info { + + /** Base priority. */ + int bprio; - int bprio; /* !< Base priority. */ + /** Current priority. Can change through Priority Inheritance.*/ + int cprio; + + /** Task's status. + * Status may be any of the defines in task.h + * @see native_task_status shows possible values. + */ + unsigned status; + + /** Time of next release.*/ + RTIME relpoint; + + /** Symbolic name assigned in creation */ + char name[XNOBJECT_NAME_LEN]; - int cprio; /* !< Current priority. */ - - unsigned status; /* !< Status. */ - - RTIME relpoint; /* !< Next periodic release point. */ - - char name[XNOBJECT_NAME_LEN]; /* !< Symbolic name. */ - } RT_TASK_INFO; #define RT_MCB_FSTORE_LIMIT 64 +/*! @typedef RT_TASK_MCB + @brief Structure used in passing messages between tasks. + @param flowid Flow identifier. + @param opcode Operation code. + @param data Message address. + @param size Message size (bytes). +*/ typedef struct rt_task_mcb { - int flowid; /* !< Flow identifier. */ + int flowid; - int opcode; /* !< Operation code. */ + int opcode; - caddr_t data; /* !< Address of message. */ + caddr_t data; - size_t size; /* !< Size of message. */ + size_t size; } RT_TASK_MCB; Index: include/nucleus/thread.h =================================================================== --- include/nucleus/thread.h (revision 1383) +++ include/nucleus/thread.h (working copy) @@ -1,4 +1,4 @@ -/* +/*! @file nucleus/thread.h * Copyright (C) 2001,2002,2003 Philippe Gerum . * * Xenomai is free software; you can redistribute it and/or modify @@ -23,9 +23,13 @@ #include /* Status flags */ -#define XNSUSP 0x00000001 /* Suspended */ -#define XNPEND 0x00000002 /* Sleep-wait for a resource */ -#define XNDELAY 0x00000004 /* Delayed */ + +/*! @def XNSUSP */ +#define XNSUSP 0x00000001 /*!< @brief Suspended */ +/*! @def XNPEND */ +#define XNPEND 0x00000002 /*!< Sleep-wait for a resource */ +/*! @def XNPEND */ +#define XNDELAY 0x00000004 /*!< Delayed */ #define XNREADY 0x00000008 /* Linked to the ready queue */ #define XNDORMANT 0x00000010 /* Not started yet or killed */ #define XNZOMBIE 0x00000020 /* Zombie thread in deletion process */