• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  * Copyright (C) 2018 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************
18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19 */
20 
21 /*****************************************************************************/
22 /*                                                                           */
23 /*  File Name         : osal_handle.h                                        */
24 /*                                                                           */
25 /*  Description       : This file contains all the necessary structure       */
26 /*                      declarations use by OSAL library.                    */
27 /*                                                                           */
28 /*  List of Functions : None                                                 */
29 /*                                                                           */
30 /*  Issues / Problems : None                                                 */
31 /*                                                                           */
32 /*  Revision History  :                                                      */
33 /*                                                                           */
34 /*         DD MM YYYY   Author(s)       Changes (Describe the changes made)  */
35 /*         06 03 2006   Ittiam          Draft                                */
36 /*                                                                           */
37 /*****************************************************************************/
38 
39 #ifndef OSAL_HANDLE_H
40 #define OSAL_HANDLE_H
41 
42 /*****************************************************************************/
43 /* Constant Macros                                                           */
44 /*****************************************************************************/
45 
46 #define MAX_FDS 40
47 #define DEBUG_ORDER 100
48 
49 /*****************************************************************************/
50 /* Enums                                                                     */
51 /*****************************************************************************/
52 
53 typedef enum
54 {
55     CREATED,
56     DESTROYED,
57     ERRORED
58 } DEBUG_STATE_T;
59 
60 /*****************************************************************************/
61 /* Typedefs                                                                  */
62 /*****************************************************************************/
63 
64 typedef struct
65 {
66     void *handle;
67     WORD32 state;
68 } debug_handle_t;
69 
70 typedef struct
71 {
72     debug_handle_t thread_handle[DEBUG_ORDER];
73     WORD32 thread_count;
74     debug_handle_t mutex_handle[DEBUG_ORDER];
75     WORD32 mutex_count;
76     debug_handle_t mbox_handle[DEBUG_ORDER];
77     WORD32 mbox_count;
78     debug_handle_t socket_handle[DEBUG_ORDER];
79     WORD32 socket_count;
80     debug_handle_t sem_handle[DEBUG_ORDER];
81     WORD32 sem_count;
82     debug_handle_t select_engine_handle[DEBUG_ORDER];
83     WORD32 select_engine_count;
84 } osal_debug_t;
85 
86 typedef struct
87 {
88     void *mmr_handle; /* Handle to memory manager */
89     void *(*alloc)(void *mmr_handle, UWORD32 size); /* Call back for allocation */
90     void (*free)(void *mmr_handle, void *mem); /* Call back for free       */
91 
92 } osal_t;
93 
94 #endif /* OSAL_HANDLE_H */
95