• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 /**
17  ************************************************************************
18  * @file         M4OSA_Thread_priv.h
19  * @ingroup      OSAL
20  * @brief        Thread private for Android
21  * @note
22  ************************************************************************
23 */
24 
25 #ifndef M4OSA_THREAD_PRIV_H
26 #define M4OSA_THREAD_PRIV_H
27 
28 
29 #include "M4OSA_Types.h"
30 
31 
32 /* Context for the thread */
33 typedef struct M4OSA_ThreadContext {
34    M4OSA_UInt32 coreID;                /* thread context identifiant */
35    pthread_t threadID;                 /* thread identifier. */
36    M4OSA_Char* name;                   /* thread name */
37    M4OSA_UInt32 stackSize;             /* thread stackSize in bytes */
38    M4OSA_ThreadDoIt func;              /* thread function */
39    M4OSA_Void* param;                  /* thread parameter */
40 /*
41    M4OSA_Void* userData;               / * thread user data * /
42 */
43    M4OSA_ThreadState state;            /* thread automaton state */
44    M4OSA_Context stateMutex;           /* mutex for thread state management */
45 /*
46    M4OSA_ThreadCallBack startCallBack; / * starting thread call back * /
47    M4OSA_ThreadCallBack stopCallBack;  / * stopping thread call back * /
48 */
49    M4OSA_Context semStartStop;         /* semaphore for start and stop do_it */
50    M4OSA_ThreadPriorityLevel priority; /* thread priority level */
51 } M4OSA_ThreadContext ;
52 
53 
54 /** Those define enable/disable option ID*/
55 #define M4OSA_OPTIONID_THREAD_STARTED           M4OSA_TRUE
56 #define M4OSA_OPTIONID_THREAD_STOPPED           M4OSA_TRUE
57 #define M4OSA_OPTIONID_THREAD_PRIORITY          M4OSA_TRUE
58 #define M4OSA_OPTIONID_THREAD_STACK_SIZE        M4OSA_TRUE
59 #define M4OSA_OPTIONID_THREAD_NAME              M4OSA_TRUE
60 #define M4OSA_OPTIONID_THREAD_USER_DATA         M4OSA_TRUE
61 
62 #endif /*M4OSA_THREAD_PRIV_H*/
63 
64