All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
le_thread.h
Go to the documentation of this file.
1 
166 #ifndef LEGATO_THREAD_INCLUDE_GUARD
167 #define LEGATO_THREAD_INCLUDE_GUARD
168 
169 //--------------------------------------------------------------------------------------------------
175 //--------------------------------------------------------------------------------------------------
176 typedef struct le_thread* le_thread_Ref_t;
177 
178 
179 //--------------------------------------------------------------------------------------------------
191 //--------------------------------------------------------------------------------------------------
192 typedef enum
193 {
229 }
231 
232 #define LE_THREAD_PRIORITY_RT_LOWEST LE_THREAD_PRIORITY_RT_1
233 #define LE_THREAD_PRIORITY_RT_HIGHEST LE_THREAD_PRIORITY_RT_32
234 
235 
236 //--------------------------------------------------------------------------------------------------
245 //--------------------------------------------------------------------------------------------------
246 typedef void* (* le_thread_MainFunc_t)
247 (
248  void* context
249 );
250 
251 
252 //--------------------------------------------------------------------------------------------------
259 //--------------------------------------------------------------------------------------------------
261 (
262  const char* name,
263  le_thread_MainFunc_t mainFunc,
264  void* context
265 );
266 
267 
268 //--------------------------------------------------------------------------------------------------
278 //--------------------------------------------------------------------------------------------------
280 (
281  le_thread_Ref_t thread,
282  le_thread_Priority_t priority
283 );
284 
285 
286 //--------------------------------------------------------------------------------------------------
303 //--------------------------------------------------------------------------------------------------
305 (
306  le_thread_Ref_t thread,
307  size_t size
308 );
310 
311 
312 //--------------------------------------------------------------------------------------------------
318 //--------------------------------------------------------------------------------------------------
320 (
321  le_thread_Ref_t thread
322 );
323 
324 
325 //--------------------------------------------------------------------------------------------------
330 //--------------------------------------------------------------------------------------------------
331 void le_thread_Start
332 (
333  le_thread_Ref_t thread
334 );
335 
336 
337 //--------------------------------------------------------------------------------------------------
359 //--------------------------------------------------------------------------------------------------
361 (
362  le_thread_Ref_t thread,
363  void** resultValuePtr
364 );
367 
368 
369 //--------------------------------------------------------------------------------------------------
373 //--------------------------------------------------------------------------------------------------
374 void le_thread_Exit
375 (
376  void* resultValue
377 );
380 
381 
382 //--------------------------------------------------------------------------------------------------
391 //--------------------------------------------------------------------------------------------------
393 (
394  le_thread_Ref_t threadToCancel
395 );
396 
397 
398 //--------------------------------------------------------------------------------------------------
404 //--------------------------------------------------------------------------------------------------
406 (
407  void
408 );
409 
410 
411 //--------------------------------------------------------------------------------------------------
415 //--------------------------------------------------------------------------------------------------
417 (
418  le_thread_Ref_t threadRef,
419  char* buffPtr,
420  size_t buffSize
421 );
422 
423 
424 //--------------------------------------------------------------------------------------------------
428 //--------------------------------------------------------------------------------------------------
429 const char* le_thread_GetMyName
430 (
431  void
432 );
433 
434 
435 //--------------------------------------------------------------------------------------------------
442 //--------------------------------------------------------------------------------------------------
443 typedef void (* le_thread_Destructor_t)
444 (
445  void* context
446 );
448 
449 
450 //--------------------------------------------------------------------------------------------------
459 //--------------------------------------------------------------------------------------------------
461 (
462  le_thread_Destructor_t destructor,
463  void* context
464 );
465 
466 
467 //--------------------------------------------------------------------------------------------------
490 //--------------------------------------------------------------------------------------------------
492 (
493  le_thread_Ref_t thread,
494  le_thread_Destructor_t destructor,
495  void* context
496 );
497 
498 
499 //--------------------------------------------------------------------------------------------------
508 //--------------------------------------------------------------------------------------------------
510 (
511  const char* name
512 );
513 
514 
515 //--------------------------------------------------------------------------------------------------
524 //--------------------------------------------------------------------------------------------------
526 (
527  void
528 );
529 
530 
531 #endif // LEGATO_THREAD_INCLUDE_GUARD
struct le_thread * le_thread_Ref_t
Definition: le_thread.h:176
Real-time priority level 32.
Definition: le_thread.h:228
Real-time priority level 8.
Definition: le_thread.h:204
Real-time priority level 2.
Definition: le_thread.h:198
Real-time priority level 3.
Definition: le_thread.h:199
Real-time priority level 22.
Definition: le_thread.h:218
le_result_t
Definition: le_basics.h:35
void le_thread_AddDestructor(le_thread_Destructor_t destructor, void *context)
le_result_t le_thread_Cancel(le_thread_Ref_t threadToCancel)
Real-time priority level 10.
Definition: le_thread.h:206
le_result_t le_thread_SetStackSize(le_thread_Ref_t thread, size_t size)
le_result_t le_thread_SetPriority(le_thread_Ref_t thread, le_thread_Priority_t priority)
Real-time priority level 25.
Definition: le_thread.h:221
Real-time priority level 12.
Definition: le_thread.h:208
Real-time priority level 28.
Definition: le_thread.h:224
Real-time priority level 7.
Definition: le_thread.h:203
Real-time priority level 27.
Definition: le_thread.h:223
Real-time priority level 26.
Definition: le_thread.h:222
Real-time priority level 29.
Definition: le_thread.h:225
Real-time priority level 23.
Definition: le_thread.h:219
Real-time priority level 14.
Definition: le_thread.h:210
Real-time priority level 16.
Definition: le_thread.h:212
void le_thread_GetName(le_thread_Ref_t threadRef, char *buffPtr, size_t buffSize)
le_result_t le_thread_Join(le_thread_Ref_t thread, void **resultValuePtr)
void le_thread_SetJoinable(le_thread_Ref_t thread)
le_thread_Ref_t le_thread_GetCurrent(void)
Real-time priority level 17.
Definition: le_thread.h:213
Real-time priority level 9.
Definition: le_thread.h:205
void(* le_thread_Destructor_t)(void *context)
Definition: le_thread.h:444
le_thread_Priority_t
Definition: le_thread.h:192
Real-time priority level 15.
Definition: le_thread.h:211
Real-time priority level 20.
Definition: le_thread.h:216
Real-time priority level 6.
Definition: le_thread.h:202
void le_thread_CleanupLegatoThreadData(void)
Real-time priority level 24.
Definition: le_thread.h:220
Normal, non-real-time priority level. THIS IS THE DEFAULT.
Definition: le_thread.h:195
void le_thread_InitLegatoThreadData(const char *name)
Real-time priority level 21.
Definition: le_thread.h:217
void le_thread_Exit(void *resultValue)
Real-time priority level 31.
Definition: le_thread.h:227
void le_thread_AddChildDestructor(le_thread_Ref_t thread, le_thread_Destructor_t destructor, void *context)
Real-time priority level 18.
Definition: le_thread.h:214
Real-time priority level 4.
Definition: le_thread.h:200
const char * le_thread_GetMyName(void)
Lowest priority level. Only runs when nothing else to do.
Definition: le_thread.h:194
void le_thread_Start(le_thread_Ref_t thread)
Definition: le_thread.h:196
le_thread_Ref_t le_thread_Create(const char *name, le_thread_MainFunc_t mainFunc, void *context)
Real-time priority level 5.
Definition: le_thread.h:201
Real-time priority level 13.
Definition: le_thread.h:209
void *(* le_thread_MainFunc_t)(void *context)
Definition: le_thread.h:247
Real-time priority level 11.
Definition: le_thread.h:207
Real-time priority level 30.
Definition: le_thread.h:226
Real-time priority level 19.
Definition: le_thread.h:215