* \ingroup EventGroup\r
*/\r
#if( configUSE_TRACE_FACILITY == 1 )\r
- BaseType_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet );\r
+ BaseType_t xEventGroupClearBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet ) PRIVILEGED_FUNCTION;\r
#else\r
#define xEventGroupClearBitsFromISR( xEventGroup, uxBitsToClear ) xTimerPendFunctionCallFromISR( vEventGroupClearBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToClear, NULL )\r
#endif\r
* \ingroup EventGroup\r
*/\r
#if( configUSE_TRACE_FACILITY == 1 )\r
- BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken );\r
+ BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;\r
#else\r
#define xEventGroupSetBitsFromISR( xEventGroup, uxBitsToSet, pxHigherPriorityTaskWoken ) xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken )\r
#endif\r
* \defgroup xEventGroupGetBitsFromISR xEventGroupGetBitsFromISR\r
* \ingroup EventGroup\r
*/\r
-EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup );\r
+EventBits_t xEventGroupGetBitsFromISR( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* event_groups.h\r
*\r
* @param xEventGroup The event group being deleted.\r
*/\r
-void vEventGroupDelete( EventGroupHandle_t xEventGroup );\r
+void vEventGroupDelete( EventGroupHandle_t xEventGroup ) PRIVILEGED_FUNCTION;\r
\r
/* For internal use only. */\r
-void vEventGroupSetBitsCallback( void *pvEventGroup, const uint32_t ulBitsToSet );\r
-void vEventGroupClearBitsCallback( void *pvEventGroup, const uint32_t ulBitsToClear );\r
+void vEventGroupSetBitsCallback( void *pvEventGroup, const uint32_t ulBitsToSet ) PRIVILEGED_FUNCTION;\r
+void vEventGroupClearBitsCallback( void *pvEventGroup, const uint32_t ulBitsToClear ) PRIVILEGED_FUNCTION;\r
\r
#if (configUSE_TRACE_FACILITY == 1)\r
- UBaseType_t uxEventGroupGetNumber( void* xEventGroup );\r
+ UBaseType_t uxEventGroupGetNumber( void* xEventGroup ) PRIVILEGED_FUNCTION;\r
#endif\r
\r
#ifdef __cplusplus\r
/*\r
- FreeRTOS V8.2.1 - Copyright (C) 2015 Real Time Engineers Ltd.\r
- All rights reserved\r
-\r
- VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\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
-\r
- ***************************************************************************\r
- >>! NOTE: The modification to the GPL is included to allow you to !<<\r
- >>! distribute a combined work that includes FreeRTOS without being !<<\r
- >>! obliged to provide the source code for proprietary components !<<\r
- >>! outside of the FreeRTOS kernel. !<<\r
- ***************************************************************************\r
-\r
- FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
- FOR A PARTICULAR PURPOSE. Full license text is available on the following\r
- link: http://www.freertos.org/a00114.html\r
-\r
- ***************************************************************************\r
- * *\r
- * FreeRTOS provides completely free yet professionally developed, *\r
- * robust, strictly quality controlled, supported, and cross *\r
- * platform software that is more than just the market leader, it *\r
- * is the industry's de facto standard. *\r
- * *\r
- * Help yourself get started quickly while simultaneously helping *\r
- * to support the FreeRTOS project by purchasing a FreeRTOS *\r
- * tutorial book, reference manual, or both: *\r
- * http://www.FreeRTOS.org/Documentation *\r
- * *\r
- ***************************************************************************\r
-\r
- http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading\r
- the FAQ page "My application does not run, what could be wrong?". Have you\r
- defined configASSERT()?\r
-\r
- http://www.FreeRTOS.org/support - In return for receiving this top quality\r
- embedded software for free we request you assist our global community by\r
- participating in the support forum.\r
-\r
- http://www.FreeRTOS.org/training - Investing in training allows your team to\r
- be as productive as possible as early as possible. Now you can receive\r
- FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers\r
- Ltd, and the world's leading authority on the world's leading RTOS.\r
-\r
- http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
- including FreeRTOS+Trace - an indispensable productivity tool, a DOS\r
- compatible FAT file system, and our tiny thread aware UDP/IP stack.\r
-\r
- http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.\r
- Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.\r
-\r
- http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High\r
- Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS\r
- licenses offer ticketed support, indemnification and commercial middleware.\r
-\r
- http://www.SafeRTOS.com - High Integrity Systems also provide a safety\r
- engineered and independently SIL3 certified version for use in safety and\r
- mission critical applications that require provable dependability.\r
-\r
- 1 tab == 4 spaces!\r
+ OpenRTOS V8.2.1 Copyright (C) 2015 Real Time Engineers Ltd.\r
+\r
+ This file is part of the OpenRTOS product.\r
+\r
+ OpenRTOS is distributed exclusively by WITTENSTEIN high integrity systems,\r
+ and is subject to the terms of the License granted to your organization,\r
+ including its warranties and limitations on use and distribution. It cannot be\r
+ copied or reproduced in any way except as permitted by the License.\r
+\r
+ Licenses authorize use by processor, compiler, business unit, and product.\r
+ \r
+ WITTENSTEIN high integrity systems is a trading name of WITTENSTEIN\r
+ aerospace & simulation ltd, Registered Office: Brown's Court, Long Ashton\r
+ Business Park, Yanley Lane, Long Ashton, Bristol, BS41 9LB, UK.\r
+ Tel: +44 (0) 1275 395 600, fax: +44 (0) 1275 393 630.\r
+ E-mail: info@HighIntegritySystems.com\r
+\r
+ http://www.HighIntegritySystems.com\r
*/\r
\r
/*\r
* \page vListInitialise vListInitialise\r
* \ingroup LinkedList\r
*/\r
-void vListInitialise( List_t * const pxList );\r
+void vListInitialise( List_t * const pxList ) PRIVILEGED_FUNCTION;\r
\r
/*\r
* Must be called before a list item is used. This sets the list container to\r
* \page vListInitialiseItem vListInitialiseItem\r
* \ingroup LinkedList\r
*/\r
-void vListInitialiseItem( ListItem_t * const pxItem );\r
+void vListInitialiseItem( ListItem_t * const pxItem ) PRIVILEGED_FUNCTION;\r
\r
/*\r
* Insert a list item into a list. The item will be inserted into the list in\r
* \page vListInsert vListInsert\r
* \ingroup LinkedList\r
*/\r
-void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem );\r
+void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem ) PRIVILEGED_FUNCTION;\r
\r
/*\r
* Insert a list item into a list. The item will be inserted in a position\r
* \page vListInsertEnd vListInsertEnd\r
* \ingroup LinkedList\r
*/\r
-void vListInsertEnd( List_t * const pxList, ListItem_t * const pxNewListItem );\r
+void vListInsertEnd( List_t * const pxList, ListItem_t * const pxNewListItem ) PRIVILEGED_FUNCTION;\r
\r
/*\r
* Remove an item from a list. The list item has a pointer to the list that\r
* \page uxListRemove uxListRemove\r
* \ingroup LinkedList\r
*/\r
-UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove );\r
+UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove ) PRIVILEGED_FUNCTION;\r
\r
#ifdef __cplusplus\r
}\r
* terminated by a HeapRegions_t structure that has a size of 0. The region\r
* with the lowest start address must appear first in the array.\r
*/\r
-void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions );\r
+void vPortDefineHeapRegions( const HeapRegion_t * const pxHeapRegions ) PRIVILEGED_FUNCTION;\r
\r
\r
/*\r
* responsiveness to gain execution speed, whereas the fully featured API\r
* sacrifices execution speed to ensure better interrupt responsiveness.\r
*/\r
-BaseType_t xQueueAltGenericSend( QueueHandle_t xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, BaseType_t xCopyPosition );\r
-BaseType_t xQueueAltGenericReceive( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait, BaseType_t xJustPeeking );\r
+BaseType_t xQueueAltGenericSend( QueueHandle_t xQueue, const void * const pvItemToQueue, TickType_t xTicksToWait, BaseType_t xCopyPosition ) PRIVILEGED_FUNCTION;\r
+BaseType_t xQueueAltGenericReceive( QueueHandle_t xQueue, void * const pvBuffer, TickType_t xTicksToWait, BaseType_t xJustPeeking ) PRIVILEGED_FUNCTION;\r
#define xQueueAltSendToFront( xQueue, pvItemToQueue, xTicksToWait ) xQueueAltGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )\r
#define xQueueAltSendToBack( xQueue, pvItemToQueue, xTicksToWait ) xQueueAltGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )\r
#define xQueueAltReceive( xQueue, pvBuffer, xTicksToWait ) xQueueAltGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdFALSE )\r
kernel does not use the pointers itself, so the application writer can use\r
the pointers for any purpose they wish. The following two functions are\r
used to set and query a pointer respectively. */\r
- void vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, BaseType_t xIndex, void *pvValue );\r
- void *pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, BaseType_t xIndex );\r
+ void vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet, BaseType_t xIndex, void *pvValue ) PRIVILEGED_FUNCTION;\r
+ void *pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery, BaseType_t xIndex ) PRIVILEGED_FUNCTION;\r
\r
#endif\r
\r
* Simply returns the handle of the idle task. It is not valid to call\r
* xTaskGetIdleTaskHandle() before the scheduler has been started.\r
*/\r
-TaskHandle_t xTaskGetIdleTaskHandle( void );\r
+TaskHandle_t xTaskGetIdleTaskHandle( void ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* configUSE_TRACE_FACILITY must be defined as 1 in FreeRTOSConfig.h for\r
}\r
</pre>\r
*/\r
-UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime );\r
+UBaseType_t uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray, const UBaseType_t uxArraySize, uint32_t * const pulTotalRunTime ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* task. h\r
* \defgroup xTaskNotify xTaskNotify\r
* \ingroup TaskNotifications\r
*/\r
-BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue );\r
+BaseType_t xTaskGenericNotify( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, uint32_t *pulPreviousNotificationValue ) PRIVILEGED_FUNCTION;\r
#define xTaskNotify( xTaskToNotify, ulValue, eAction ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), NULL )\r
#define xTaskNotifyAndQuery( xTaskToNotify, ulValue, eAction, pulPreviousNotifyValue ) xTaskGenericNotify( ( xTaskToNotify ), ( ulValue ), ( eAction ), ( pulPreviousNotifyValue ) )\r
\r
* \defgroup xTaskNotify xTaskNotify\r
* \ingroup TaskNotifications\r
*/\r
-BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken );\r
+BaseType_t xTaskNotifyFromISR( TaskHandle_t xTaskToNotify, uint32_t ulValue, eNotifyAction eAction, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* task. h\r
* \defgroup xTaskNotifyWait xTaskNotifyWait\r
* \ingroup TaskNotifications\r
*/\r
-BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait );\r
+BaseType_t xTaskNotifyWait( uint32_t ulBitsToClearOnEntry, uint32_t ulBitsToClearOnExit, uint32_t *pulNotificationValue, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* task. h\r
* \defgroup xTaskNotifyWait xTaskNotifyWait\r
* \ingroup TaskNotifications\r
*/\r
-void vTaskNotifyGiveFromISR( TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken );\r
+void vTaskNotifyGiveFromISR( TaskHandle_t xTaskToNotify, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* task. h\r
* \defgroup ulTaskNotifyTake ulTaskNotifyTake\r
* \ingroup TaskNotifications\r
*/\r
-uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait );\r
+uint32_t ulTaskNotifyTake( BaseType_t xClearCountOnExit, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;\r
\r
/*-----------------------------------------------------------\r
* SCHEDULER INTERNALS AVAILABLE FOR PORTING PURPOSES\r
* For internal use only. Increment the mutex held count when a mutex is\r
* taken and return the handle of the task that has taken the mutex.\r
*/\r
-void *pvTaskIncrementMutexHeldCount( void );\r
+void *pvTaskIncrementMutexHeldCount( void ) PRIVILEGED_FUNCTION;\r
\r
#ifdef __cplusplus\r
}\r
* Simply returns the handle of the timer service/daemon task. It it not valid\r
* to call xTimerGetTimerDaemonTaskHandle() before the scheduler has been started.\r
*/\r
-TaskHandle_t xTimerGetTimerDaemonTaskHandle( void );\r
+TaskHandle_t xTimerGetTimerDaemonTaskHandle( void ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* BaseType_t xTimerStart( TimerHandle_t xTimer, TickType_t xTicksToWait );\r
* }\r
* @endverbatim\r
*/\r
-BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken );\r
+BaseType_t xTimerPendFunctionCallFromISR( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, BaseType_t *pxHigherPriorityTaskWoken ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend,\r
* timer daemon task, otherwise pdFALSE is returned.\r
*\r
*/\r
-BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait );\r
+BaseType_t xTimerPendFunctionCall( PendedFunction_t xFunctionToPend, void *pvParameter1, uint32_t ulParameter2, TickType_t xTicksToWait ) PRIVILEGED_FUNCTION;\r
\r
/**\r
* const char * const pcTimerGetTimerName( TimerHandle_t xTimer );\r
*\r
* @return The name assigned to the timer specified by the xTimer parameter.\r
*/\r
-const char * pcTimerGetTimerName( TimerHandle_t xTimer ); /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
+const char * pcTimerGetTimerName( TimerHandle_t xTimer ) PRIVILEGED_FUNCTION; /*lint !e971 Unqualified char types are allowed for strings and single characters only. */\r
\r
/*\r
* Functions beyond this part are not part of the public API and are intended\r