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 #ifndef IXHEAACD_ERROR_HANDLER_H 21 #define IXHEAACD_ERROR_HANDLER_H 22 23 #define IA_ERROR_NON_FATAL_IDX 0x0 24 #define IA_ERROR_FATAL_IDX 0x1 25 26 #define IA_ERROR_CLASS_0 0x0 27 #define IA_ERROR_CLASS_1 0x1 28 #define IA_ERROR_CLASS_2 0x2 29 #define IA_ERROR_CLASS_3 0x3 30 #define IA_ERROR_CLASS_4 0x4 31 #define IA_ERROR_CLASS_5 0x5 32 #define IA_ERROR_CLASS_6 0x6 33 #define IA_ERROR_CLASS_7 0x7 34 #define IA_ERROR_CLASS_8 0x8 35 #define IA_ERROR_CLASS_9 0x9 36 #define IA_ERROR_CLASS_A 0xA 37 #define IA_ERROR_CLASS_B 0xB 38 #define IA_ERROR_CLASS_C 0xC 39 #define IA_ERROR_CLASS_D 0xD 40 #define IA_ERROR_CLASS_E 0xE 41 #define IA_ERROR_CLASS_F 0xF 42 43 #define IA_MAX_ERROR_SUB_CODE 28 44 45 typedef struct { 46 pWORD8 pb_module_name; 47 pWORD8 ppb_class_names[16]; 48 WORD8 **ppppb_error_msg_pointers[2][16]; 49 } ia_error_info_struct; 50 51 IA_ERRORCODE ixheaacd_error_handler(ia_error_info_struct *p_mod_err_info, 52 WORD8 *pb_context, IA_ERRORCODE code); 53 54 #define _IA_HANDLE_ERROR(p_mod_err_info, context, e) \ 55 if ((e) != IA_NO_ERROR) { \ 56 ixheaacd_error_handler((p_mod_err_info), (context), (e)); \ 57 if ((e)&IA_FATAL_ERROR) return (e); \ 58 } 59 60 #endif /* IXHEAACD_ERROR_HANDLER_H */ 61