1 /* 2 * Copyright (C) 2008 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 #ifndef btk_TYPES_EM_H 18 #define btk_TYPES_EM_H 19 20 /** 21 * This file contains general purpose types. 22 */ 23 24 /* ---- includes ----------------------------------------------------------- */ 25 26 /* ---- related objects --------------------------------------------------- */ 27 28 /* ---- typedefs ----------------------------------------------------------- */ 29 30 /** elementary data types */ 31 32 /** integer data formats */ 33 typedef signed short s16; 34 typedef unsigned short u16; 35 36 #if defined HW_TMS320C6x 37 38 typedef signed int s32; 39 typedef unsigned int u32; 40 41 #elif defined HW_TMS320C5x 42 43 typedef signed long s32; 44 typedef unsigned long u32; 45 46 #else 47 48 typedef signed int s32; 49 typedef unsigned int u32; 50 51 #endif 52 53 /** signed 16.16 fixed point format */ 54 typedef s32 s16p16; 55 56 /** signed 8.24 fixed point format */ 57 typedef s32 s8p24; 58 59 /** function return status */ 60 typedef enum 61 { 62 /** execution finished without error */ 63 btk_STATUS_OK, 64 65 /** execution could not continue because the object handle was invalid */ 66 btk_STATUS_INVALID_HANDLE, 67 68 /** execution could not continue because of a preexisting unhandled error condition */ 69 btk_STATUS_PREEXISTING_ERROR, 70 71 /** execution caused a new error condition */ 72 btk_STATUS_ERROR 73 74 } btk_Status; 75 76 77 /** gallery type */ 78 typedef enum 79 { 80 /** album gallery */ 81 btk_GALLERY_ALBUM, 82 83 /** reference gallery */ 84 btk_GALLERY_REFERENCE 85 86 } btk_GalleryType; 87 88 /** database arrangement type */ 89 typedef enum 90 { 91 /** database entries are arranged in one coherent memory block without spaces */ 92 btk_COHERENT, 93 94 /** database entries are arbitrarily distributed in memory and are referenced through pointers */ 95 btk_DISTRIBUTED 96 97 } btk_DataArrangement; 98 99 100 /** error types */ 101 typedef enum 102 { 103 /** execution finished without error */ 104 btk_ERR_NO_ERROR, /* no error */ 105 btk_ERR_INTERNAL, /* internal error */ 106 btk_ERR_MEMORY, /* failure to allocate memory */ 107 btk_ERR_VERSION, /* version conflict (software version is older than parameter version) */ 108 btk_ERR_CORRUPT_DATA /* corrup parameter data or corrupt internal structure */ 109 110 } btk_Error; 111 112 /** the following definitions are used to specify dll handling */ 113 #if ( defined WIN32 || defined _WIN32_WCE || defined __SYMBIAN32__ ) && !defined btk_NO_DLL 114 #ifdef btk_EXPORTING 115 #define btk_DECLSPEC __declspec(dllexport) 116 #else 117 #define btk_DECLSPEC __declspec(dllimport) 118 #endif 119 #else 120 #define btk_DECLSPEC 121 #endif 122 123 /* ---- constants ---------------------------------------------------------- */ 124 125 /* ---- external functions ------------------------------------------------- */ 126 127 #endif /* btk_TYPES_EM_H */ 128