]> git.sur5r.net Git - freertos/blob - FreeRTOS-Labs/Demo/FreeRTOS_Plus_POSIX_with_actor_Windows_Simulator/lib/include/FreeRTOS_POSIX/sched.h
Add the Labs projects provided in the V10.2.1_191129 zip file.
[freertos] / FreeRTOS-Labs / Demo / FreeRTOS_Plus_POSIX_with_actor_Windows_Simulator / lib / include / FreeRTOS_POSIX / sched.h
1 /*\r
2  * Amazon FreeRTOS POSIX V1.1.0\r
3  * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4  *\r
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
6  * this software and associated documentation files (the "Software"), to deal in\r
7  * the Software without restriction, including without limitation the rights to\r
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
9  * the Software, and to permit persons to whom the Software is furnished to do so,\r
10  * subject to the following conditions:\r
11  *\r
12  * The above copyright notice and this permission notice shall be included in all\r
13  * copies or substantial portions of the Software.\r
14  *\r
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
21  *\r
22  * http://aws.amazon.com/freertos\r
23  * http://www.FreeRTOS.org\r
24  */\r
25 \r
26 /**\r
27  * @file sched.h\r
28  * @brief Execution scheduling.\r
29  *\r
30  * http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sched.h.html\r
31  */\r
32 \r
33 #ifndef _FREERTOS_POSIX_SCHED_H_\r
34 #define _FREERTOS_POSIX_SCHED_H_\r
35 \r
36 /**\r
37  * @name Scheduling Policies\r
38  */\r
39 /**@{ */\r
40 #define SCHED_OTHER    0    /**< Another scheduling policy. */\r
41 /**@} */\r
42 \r
43 /**\r
44  * @brief Scheduling parameters required for implementation of each supported\r
45  * scheduling policy.\r
46  */\r
47 struct sched_param\r
48 {\r
49     int sched_priority; /**< Process or thread execution scheduling priority. */\r
50 };\r
51 \r
52 /**\r
53  * @brief Get priority limit (max).\r
54  *\r
55  * http://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_get_priority_max.html\r
56  *\r
57  * @note policy is ignored.\r
58  *\r
59  * @return the maximum priority value (0-based) system configuration allows.\r
60  * <br>\r
61  * e.g. if configMAX_PRIORITIES == 7, this function returns (configMAX_PRIORITIES - 1).\r
62  * configMAX_PRIORITIES is configured in application FreeRTOSConfig.h file.\r
63  */\r
64 int sched_get_priority_max( int policy );\r
65 \r
66 /**\r
67  * @brief Get priority limit (min).\r
68  *\r
69  * http://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_get_priority_min.html\r
70  *\r
71  * @note policy is ignored.\r
72  */\r
73 int sched_get_priority_min( int policy );\r
74 \r
75 /**\r
76  * @brief Yield the processor.\r
77  *\r
78  * http://pubs.opengroup.org/onlinepubs/9699919799/functions/sched_yield.html\r
79  *\r
80  * @retval 0 - Upon successful completion\r
81  */\r
82 int sched_yield( void );\r
83 \r
84 #endif /* ifndef _FREERTOS_POSIX_SCHED_H_ */\r