event_groups.h
1 /*
2  * Copyright (C) 2019 Gunar Schorcht
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  *
8  * FreeRTOS to RIOT-OS adaption module for source code compatibility
9  */
10 
11 #ifndef FREERTOS_EVENT_GROUPS_H
12 #define FREERTOS_EVENT_GROUPS_H
13 
14 #ifndef DOXYGEN
15 
16 #include "freertos/FreeRTOS.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 typedef void * EventGroupHandle_t;
23 typedef TickType_t EventBits_t;
24 
25 EventGroupHandle_t xEventGroupCreate (void);
26 
27 void vEventGroupDelete (EventGroupHandle_t xEventGroup);
28 
29 EventBits_t xEventGroupSetBits (EventGroupHandle_t xEventGroup,
30  const EventBits_t uxBitsToSet);
31 
32 EventBits_t xEventGroupClearBits (EventGroupHandle_t xEventGroup,
33  const EventBits_t uxBitsToClear );
34 
35 EventBits_t xEventGroupWaitBits (const EventGroupHandle_t xEventGroup,
36  const EventBits_t uxBitsToWaitFor,
37  const BaseType_t xClearOnExit,
38  const BaseType_t xWaitForAllBits,
39  TickType_t xTicksToWait);
40 
41 #ifdef __cplusplus
42 }
43 #endif
44 
45 #endif /* DOXYGEN */
46 #endif /* FREERTOS_EVENT_GROUPS_H */