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