]> git.sur5r.net Git - freertos/blobdiff - Source/include/task.h
Again, just corrected some comments.
[freertos] / Source / include / task.h
index 9eff36f995b1f2a052a6916d49369a04e35a0dd8..30f3bf40ae052dae8e61dee4e03075881fe92d85 100644 (file)
@@ -1,48 +1,54 @@
 /*\r
-       FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd.\r
-\r
-       This file is part of the FreeRTOS distribution.\r
-\r
-       FreeRTOS is free software; you can redistribute it and/or modify it     under\r
-       the terms of the GNU General Public License (version 2) as published by the\r
-       Free Software Foundation and modified by the FreeRTOS exception.\r
-       **NOTE** The exception to the GPL is included to allow you to distribute a\r
-       combined work that includes FreeRTOS without being obliged to provide the\r
-       source code for proprietary components outside of the FreeRTOS kernel.\r
-       Alternative commercial license and support terms are also available upon\r
-       request.  See the licensing section of http://www.FreeRTOS.org for full\r
-       license details.\r
-\r
-       FreeRTOS is distributed in the hope that it will be useful,     but WITHOUT\r
-       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
-       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
-       more details.\r
-\r
-       You should have received a copy of the GNU General Public License along\r
-       with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59\r
-       Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
-\r
-\r
-       ***************************************************************************\r
-       *                                                                                                                                                *\r
-       * Looking for a quick start?  Then check out the FreeRTOS eBook!                  *\r
-       * See http://www.FreeRTOS.org/Documentation for details                            *\r
-       *                                                                                                                                                *\r
-       ***************************************************************************\r
-\r
-       1 tab == 4 spaces!\r
-\r
-       Please ensure to read the configuration and relevant port sections of the\r
-       online documentation.\r
-\r
-       http://www.FreeRTOS.org - Documentation, latest information, license and\r
-       contact details.\r
-\r
-       http://www.SafeRTOS.com - A version that is certified for use in safety\r
-       critical systems.\r
-\r
-       http://www.OpenRTOS.com - Commercial support, development, porting,\r
-       licensing and training services.\r
+    FreeRTOS V6.0.1 - Copyright (C) 2009 Real Time Engineers Ltd.\r
+\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * If you are:                                                             *\r
+    *                                                                         *\r
+    *    + New to FreeRTOS,                                                   *\r
+    *    + Wanting to learn FreeRTOS or multitasking in general quickly       *\r
+    *    + Looking for basic training,                                        *\r
+    *    + Wanting to improve your FreeRTOS skills and productivity           *\r
+    *                                                                         *\r
+    * then take a look at the FreeRTOS eBook                                  *\r
+    *                                                                         *\r
+    *        "Using the FreeRTOS Real Time Kernel - a Practical Guide"        *\r
+    *                  http://www.FreeRTOS.org/Documentation                  *\r
+    *                                                                         *\r
+    * A pdf reference manual is also available.  Both are usually delivered   *\r
+    * to your inbox within 20 minutes to two hours when purchased between 8am *\r
+    * and 8pm GMT (although please allow up to 24 hours in case of            *\r
+    * exceptional circumstances).  Thank you for your support!                *\r
+    *                                                                         *\r
+    ***************************************************************************\r
+\r
+    This file is part of the FreeRTOS distribution.\r
+\r
+    FreeRTOS is free software; you can redistribute it and/or modify it under\r
+    the terms of the GNU General Public License (version 2) as published by the\r
+    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.\r
+    ***NOTE*** The exception to the GPL is included to allow you to distribute\r
+    a combined work that includes FreeRTOS without being obliged to provide the\r
+    source code for proprietary components outside of the FreeRTOS kernel.\r
+    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT\r
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+    more details. You should have received a copy of the GNU General Public \r
+    License and the FreeRTOS license exception along with FreeRTOS; if not it \r
+    can be viewed here: http://www.freertos.org/a00114.html and also obtained \r
+    by writing to Richard Barry, contact details for whom are available on the\r
+    FreeRTOS WEB site.\r
+\r
+    1 tab == 4 spaces!\r
+\r
+    http://www.FreeRTOS.org - Documentation, latest information, license and\r
+    contact details.\r
+\r
+    http://www.SafeRTOS.com - A version that is certified for use in safety\r
+    critical systems.\r
+\r
+    http://www.OpenRTOS.com - Commercial support, development, porting,\r
+    licensing and training services.\r
 */\r
 \r
 \r
@@ -66,7 +72,7 @@ extern "C" {
  * MACROS AND DEFINITIONS\r
  *----------------------------------------------------------*/\r
 \r
-#define tskKERNEL_VERSION_NUMBER "V5.4.2"\r
+#define tskKERNEL_VERSION_NUMBER "V6.0.1"\r
 \r
 /**\r
  * task. h\r
@@ -95,8 +101,8 @@ typedef struct xTIME_OUT
 typedef struct xMEMORY_REGION\r
 {\r
        void *pvBaseAddress;\r
-       unsigned portLONG ulLengthInBytes;\r
-       unsigned portLONG ulParameters;\r
+       unsigned long ulLengthInBytes;\r
+       unsigned long ulParameters;\r
 } xMemoryRegion;\r
 \r
 /*\r
@@ -105,8 +111,8 @@ typedef struct xMEMORY_REGION
 typedef struct xTASK_PARAMTERS\r
 {\r
        pdTASK_CODE pvTaskCode;\r
-       const signed portCHAR * const pcName;\r
-       unsigned portSHORT usStackDepth;\r
+       const signed char * const pcName;\r
+       unsigned short usStackDepth;\r
        void *pvParameters;\r
        unsigned portBASE_TYPE uxPriority;\r
        portSTACK_TYPE *puxStackBuffer;\r
@@ -192,8 +198,8 @@ typedef struct xTASK_PARAMTERS
  *<pre>\r
  portBASE_TYPE xTaskCreate(\r
                                                          pdTASK_CODE pvTaskCode,\r
-                                                         const portCHAR * const pcName,\r
-                                                         unsigned portSHORT usStackDepth,\r
+                                                         const char * const pcName,\r
+                                                         unsigned short usStackDepth,\r
                                                          void *pvParameters,\r
                                                          unsigned portBASE_TYPE uxPriority,\r
                                                          xTaskHandle *pvCreatedTask\r
@@ -253,7 +259,7 @@ typedef struct xTASK_PARAMTERS
         // Create the task, storing the handle.  Note that the passed parameter ucParameterToPass\r
         // must exist for the lifetime of the task, so in this case is declared static.  If it was just an\r
         // an automatic stack variable it might no longer exist, or at least have been corrupted, by the time\r
-        // the new time attempts to access it.\r
+        // the new task attempts to access it.\r
         xTaskCreate( vTaskCode, "NAME", STACK_SIZE, &ucParameterToPass, tskIDLE_PRIORITY, &xHandle );\r
 \r
         // Use the handle to delete the task.\r
@@ -268,7 +274,7 @@ typedef struct xTASK_PARAMTERS
 /**\r
  * task. h\r
  *<pre>\r
- portBASE_TYPE xTaskCreateRestricted( xTaskParameters *pxTaskDefinition, xTaskHandle pxCreatedTask );</pre>\r
+ portBASE_TYPE xTaskCreateRestricted( xTaskParameters *pxTaskDefinition, xTaskHandle *pxCreatedTask );</pre>\r
  *\r
  * xTaskCreateRestricted() should only be used in systems that include an MPU\r
  * implementation.\r
@@ -282,10 +288,6 @@ typedef struct xTASK_PARAMTERS
  * documentation) plus an optional stack buffer and the memory region \r
  * definitions.\r
  *\r
- * @param pcName A descriptive name for the task.  This is mainly used to\r
- * facilitate debugging.  Max length defined by tskMAX_TASK_NAME_LEN - default\r
- * is 16.\r
- *\r
  * @param pxCreatedTask Used to pass back a handle by which the created task\r
  * can be referenced.\r
  *\r
@@ -894,7 +896,7 @@ void vTaskSuspendAll( void ) PRIVILEGED_FUNCTION;
 \r
 /**\r
  * task. h\r
- * <pre>portCHAR xTaskResumeAll( void );</pre>\r
+ * <pre>char xTaskResumeAll( void );</pre>\r
  *\r
  * Resumes real time kernel activity following a call to vTaskSuspendAll ().\r
  * After a call to vTaskSuspendAll () the kernel will take control of which\r
@@ -972,7 +974,7 @@ portTickType xTaskGetTickCount( void ) PRIVILEGED_FUNCTION;
 \r
 /**\r
  * task. h\r
- * <PRE>unsigned portSHORT uxTaskGetNumberOfTasks( void );</PRE>\r
+ * <PRE>unsigned short uxTaskGetNumberOfTasks( void );</PRE>\r
  *\r
  * @return The number of tasks that the real time kernel is currently managing.\r
  * This includes all ready, blocked and suspended tasks.  A task that\r
@@ -986,7 +988,7 @@ unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION;
 \r
 /**\r
  * task. h\r
- * <PRE>void vTaskList( portCHAR *pcWriteBuffer );</PRE>\r
+ * <PRE>void vTaskList( char *pcWriteBuffer );</PRE>\r
  *\r
  * configUSE_TRACE_FACILITY must be defined as 1 for this function to be\r
  * available.  See the configuration section for more information.\r
@@ -1008,11 +1010,11 @@ unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void ) PRIVILEGED_FUNCTION;
  * \page vTaskList vTaskList\r
  * \ingroup TaskUtils\r
  */\r
-void vTaskList( signed portCHAR *pcWriteBuffer ) PRIVILEGED_FUNCTION;\r
+void vTaskList( signed char *pcWriteBuffer ) PRIVILEGED_FUNCTION;\r
 \r
 /**\r
  * task. h\r
- * <PRE>void vTaskGetRunTimeStats( portCHAR *pcWriteBuffer );</PRE>\r
+ * <PRE>void vTaskGetRunTimeStats( char *pcWriteBuffer );</PRE>\r
  *\r
  * configGENERATE_RUN_TIME_STATS must be defined as 1 for this function\r
  * to be available.  The application must also then provide definitions\r
@@ -1040,11 +1042,11 @@ void vTaskList( signed portCHAR *pcWriteBuffer ) PRIVILEGED_FUNCTION;
  * \page vTaskGetRunTimeStats vTaskGetRunTimeStats\r
  * \ingroup TaskUtils\r
  */\r
-void vTaskGetRunTimeStats( signed portCHAR *pcWriteBuffer ) PRIVILEGED_FUNCTION;\r
+void vTaskGetRunTimeStats( signed char *pcWriteBuffer ) PRIVILEGED_FUNCTION;\r
 \r
 /**\r
  * task. h\r
- * <PRE>void vTaskStartTrace( portCHAR * pcBuffer, unsigned portBASE_TYPE uxBufferSize );</PRE>\r
+ * <PRE>void vTaskStartTrace( char * pcBuffer, unsigned portBASE_TYPE uxBufferSize );</PRE>\r
  *\r
  * Starts a real time kernel activity trace.  The trace logs the identity of\r
  * which task is running when.\r
@@ -1061,11 +1063,11 @@ void vTaskGetRunTimeStats( signed portCHAR *pcWriteBuffer ) PRIVILEGED_FUNCTION;
  * \page vTaskStartTrace vTaskStartTrace\r
  * \ingroup TaskUtils\r
  */\r
-void vTaskStartTrace( signed portCHAR * pcBuffer, unsigned portLONG ulBufferSize ) PRIVILEGED_FUNCTION;\r
+void vTaskStartTrace( signed char * pcBuffer, unsigned long ulBufferSize ) PRIVILEGED_FUNCTION;\r
 \r
 /**\r
  * task. h\r
- * <PRE>unsigned portLONG ulTaskEndTrace( void );</PRE>\r
+ * <PRE>unsigned long ulTaskEndTrace( void );</PRE>\r
  *\r
  * Stops a kernel activity trace.  See vTaskStartTrace ().\r
  *\r
@@ -1074,7 +1076,7 @@ void vTaskStartTrace( signed portCHAR * pcBuffer, unsigned portLONG ulBufferSize
  * \page usTaskEndTrace usTaskEndTrace\r
  * \ingroup TaskUtils\r
  */\r
-unsigned portLONG ulTaskEndTrace( void ) PRIVILEGED_FUNCTION;\r
+unsigned long ulTaskEndTrace( void ) PRIVILEGED_FUNCTION;\r
 \r
 /**\r
  * task.h\r
@@ -1248,9 +1250,9 @@ void vTaskPriorityDisinherit( xTaskHandle * const pxMutexHolder ) PRIVILEGED_FUN
 \r
 /*\r
  * Generic version of the task creation function which is in turn called by the\r
- * xTaskCreate() and xTaskCreateProtected() macros.\r
+ * xTaskCreate() and xTaskCreateRestricted() macros.\r
  */\r
-signed portBASE_TYPE xTaskGenericCreate( pdTASK_CODE pvTaskCode, const signed portCHAR * const pcName, unsigned portSHORT usStackDepth, void *pvParameters, unsigned portBASE_TYPE uxPriority, xTaskHandle *pxCreatedTask, portSTACK_TYPE *puxStackBuffer, const xMemoryRegion * const xRegions ) PRIVILEGED_FUNCTION;\r
+signed portBASE_TYPE xTaskGenericCreate( pdTASK_CODE pvTaskCode, const signed char * const pcName, unsigned short usStackDepth, void *pvParameters, unsigned portBASE_TYPE uxPriority, xTaskHandle *pxCreatedTask, portSTACK_TYPE *puxStackBuffer, const xMemoryRegion * const xRegions ) PRIVILEGED_FUNCTION;\r
 \r
 #ifdef __cplusplus\r
 }\r