Thread and mutex API file. More...
Go to the source code of this file.
Macros | |
#define | _DN_EXP_THREAD |
#define | calc_time_diff(start, end) (((end) >= (start)) ? ((end) - (start)) : ((((uint32_t)-1) - (end)) + (start))) |
A macro that calculates the time difference between start and end. More... | |
#define | INFINITE ((uint32_t)-1) |
A definition for infinite wait. More... | |
Thread and mutex API file.
Defines thread and mutex APIs.
Software License Agreement (MIT License)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Definition in file dn_thread.h.
#define _DN_EXP_THREAD |
Definition at line 39 of file dn_thread.h.
#define calc_time_diff | ( | start, | |
end | |||
) | (((end) >= (start)) ? ((end) - (start)) : ((((uint32_t)-1) - (end)) + (start))) |
A macro that calculates the time difference between start and end.
[in] | start | The start time [ms]. |
[in] | end | The end time [ms]. |
Definition at line 199 of file dn_thread.h.
#define INFINITE ((uint32_t)-1) |
A definition for infinite wait.
Definition at line 95 of file dn_thread.h.
Creates a event object.
[in,out] | pevt | The pointer of event object to be created. |
[in] | reset_mode | If (reset_mode != 0) then the event object is set manual reset mode, else auto reset mode. |
[in] | init_signal | If (init_signal != 0) then the event object is signaled at first, else non signaled. |
Definition at line 220 of file dn_thread.c.
Destroys a event object.
[in,out] | pevt | The pointer of event object to be destroyed. |
Definition at line 251 of file dn_thread.c.
uint32_t gettimeofday_msec | ( | ) |
Gets the current time value [ms].
Definition at line 589 of file dn_thread.c.
Initializes mutex handle.
[in,out] | pmutex | The pointer of mutex handle to be initialized. |
Software License Agreement (MIT License)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
[in,out] | pmutex | The pointer of mutex handle to be initialized. |
Definition at line 80 of file dn_thread.c.
Locks mutex handle.
[in,out] | pmutex | The pointer of mutex handle to be locked. |
[in] | timeout | Timeout value. |
Definition at line 145 of file dn_thread.c.
Releases mutex handle.
[in,out] | pmutex | The pointer of mutex handle to be released. |
Definition at line 108 of file dn_thread.c.
Resets a event.
[in,out] | pevt | The pointer of event object to be reset. |
Definition at line 328 of file dn_thread.c.
Sets a event.
[in,out] | pevt | The pointer of event object to be set. |
Definition at line 295 of file dn_thread.c.
Unlocks mutex handle.
[in,out] | pmutex | The pointer of mutex handle to be unlocked. |
Definition at line 188 of file dn_thread.c.
Waits a event.
[in,out] | pevt | The pointer of event object to be waited. |
[in] | timeout | Timeout value. |
Definition at line 361 of file dn_thread.c.
Waits multiple events.
[in,out] | pevt | The pointer of event objects to be waited. |
[in] | count | The number of event objects. |
[in] | timeout | Timeout value. |
[in] | wait_all | If (wait_all != 0) then waits until all event objects are signaled, else waits until a event object is signaled. |
Definition at line 478 of file dn_thread.c.