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 //--------------------------------------------------------------------------------------------------
358 //--------------------------------------------------------------------------------------------------
360 (
361  le_thread_Ref_t thread,
362  void** resultValuePtr
363 );
366 
367 
368 //--------------------------------------------------------------------------------------------------
372 //--------------------------------------------------------------------------------------------------
373 void le_thread_Exit
374 (
375  void* resultValue
376 );
379 
380 
381 //--------------------------------------------------------------------------------------------------
390 //--------------------------------------------------------------------------------------------------
392 (
393  le_thread_Ref_t threadToCancel
394 );
395 
396 
397 //--------------------------------------------------------------------------------------------------
403 //--------------------------------------------------------------------------------------------------
405 (
406  void
407 );
408 
409 
410 //--------------------------------------------------------------------------------------------------
414 //--------------------------------------------------------------------------------------------------
416 (
417  le_thread_Ref_t threadRef,
418  char* buffPtr,
419  size_t buffSize
420 );
421 
422 
423 //--------------------------------------------------------------------------------------------------
427 //--------------------------------------------------------------------------------------------------
428 const char* le_thread_GetMyName
429 (
430  void
431 );
432 
433 
434 //--------------------------------------------------------------------------------------------------
441 //--------------------------------------------------------------------------------------------------
442 typedef void (* le_thread_Destructor_t)
443 (
444  void* context
445 );
447 
448 
449 //--------------------------------------------------------------------------------------------------
458 //--------------------------------------------------------------------------------------------------
460 (
461  le_thread_Destructor_t destructor,
462  void* context
463 );
464 
465 
466 //--------------------------------------------------------------------------------------------------
489 //--------------------------------------------------------------------------------------------------
491 (
492  le_thread_Ref_t thread,
493  le_thread_Destructor_t destructor,
494  void* context
495 );
496 
497 
498 //--------------------------------------------------------------------------------------------------
507 //--------------------------------------------------------------------------------------------------
509 (
510  const char* name
511 );
512 
513 
514 //--------------------------------------------------------------------------------------------------
523 //--------------------------------------------------------------------------------------------------
525 (
526  void
527 );
528 
529 
530 #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:34
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:443
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