17c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* 27c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project 37c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 47c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License"); 57c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * you may not use this file except in compliance with the License. 67c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * You may obtain a copy of the License at 77c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 87c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * http://www.apache.org/licenses/LICENSE-2.0 97c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * 107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * Unless required by applicable law or agreed to in writing, software 117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS, 127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * See the License for the specific language governing permissions and 147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * limitations under the License. 157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi */ 167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/**************************************************************************************** 187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi * @file name: LVM_Types.h 197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi*****************************************************************************************/ 217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Header file defining the standard LifeVibes types for use in the application layer */ 257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* interface of all LifeVibes modules */ 267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifndef LVM_TYPES_H 307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_TYPES_H 317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargiextern "C" { 347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __cplusplus */ 357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* definitions */ 407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_NULL 0 /* NULL pointer */ 447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_TRUE 1 /* Booleans */ 467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_FALSE 0 477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MAXINT_8 127 /* Maximum positive integer size */ 497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MAXINT_16 32767 507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MAXINT_32 2147483647 517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MAXENUM 2147483647 527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MODULEID_MASK 0xFF00 /* Mask to extract the calling module ID 547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi from callbackId */ 557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_EVENTID_MASK 0x00FF /* Mask to extract the callback event from 567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi callbackId */ 577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Memory table*/ 597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MEMREGION_PERSISTENT_SLOW_DATA 0 /* Offset to the instance memory region */ 607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MEMREGION_PERSISTENT_FAST_DATA 1 /* Offset to the persistent data memory 617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi region */ 627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MEMREGION_PERSISTENT_FAST_COEF 2 /* Offset to the persistent coefficient 637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi memory region */ 647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#define LVM_MEMREGION_TEMPORARY_FAST 3 /* Offset to temporary memory region */ 657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Basic types */ 707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef char LVM_CHAR; /* ASCII character */ 747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef char LVM_INT8; /* Signed 8-bit word */ 767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef unsigned char LVM_UINT8; /* Unsigned 8-bit word */ 777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef short LVM_INT16; /* Signed 16-bit word */ 797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef unsigned short LVM_UINT16; /* Unsigned 16-bit word */ 807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 817c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef long LVM_INT32; /* Signed 32-bit word */ 827c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef unsigned long LVM_UINT32; /* Unsigned 32-bit word */ 837c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 847c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 857c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 867c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 877c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Standard Enumerated types */ 887c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 897c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 907c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 917c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Operating mode */ 927c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 937c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 947c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_MODE_OFF = 0, 957c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_MODE_ON = 1, 967c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_MODE_DUMMY = LVM_MAXENUM 977c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} LVM_Mode_en; 987c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 997c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1007c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Format */ 1017c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1027c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1037c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_STEREO = 0, 1047c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_MONOINSTEREO = 1, 1057c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_MONO = 2, 1067c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_SOURCE_DUMMY = LVM_MAXENUM 1077c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} LVM_Format_en; 1087c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1097c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1107c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Word length */ 1117c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1127c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1137c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_16_BIT = 0, 1147c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_32_BIT = 1, 1157c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_WORDLENGTH_DUMMY = LVM_MAXENUM 1167c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} LVM_WordLength_en; 1177c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1187c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1197c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* LVM sampling rates */ 1207c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1217c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1227c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_8000 = 0, 1237c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_11025 = 1, 1247c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_12000 = 2, 1257c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_16000 = 3, 1267c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_22050 = 4, 1277c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_24000 = 5, 1287c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_32000 = 6, 1297c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_44100 = 7, 1307c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_48000 = 8, 1317c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_INVALID = LVM_MAXENUM-1, 1327c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_FS_DUMMY = LVM_MAXENUM 1337c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} LVM_Fs_en; 1347c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1357c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1367c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Memory Types */ 1377c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef enum 1387c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1397c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_PERSISTENT_SLOW_DATA = LVM_MEMREGION_PERSISTENT_SLOW_DATA, 1407c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_PERSISTENT_FAST_DATA = LVM_MEMREGION_PERSISTENT_FAST_DATA, 1417c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_PERSISTENT_FAST_COEF = LVM_MEMREGION_PERSISTENT_FAST_COEF, 1427c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_TEMPORARY_FAST = LVM_MEMREGION_TEMPORARY_FAST, 1437c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_MEMORYTYPE_DUMMY = LVM_MAXENUM 1447c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} LVM_MemoryTypes_en; 1457c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1467c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1477c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Memory region definition */ 1487c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef struct 1497c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi{ 1507c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_UINT32 Size; /* Region size in bytes */ 1517c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_MemoryTypes_en Type; /* Region type */ 1527c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi void *pBaseAddress; /* Pointer to the region base address */ 1537c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} LVM_MemoryRegion_st; 1547c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1557c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1567c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 1577c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 1587c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* Standard Function Prototypes */ 1597c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 1607c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 1617c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargitypedef LVM_INT32 (*LVM_Callback)(void *pCallbackData, /* Pointer to the callback 1627c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi data structure */ 1637c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi void *pGeneralPurpose, /* General purpose pointer 1647c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi (e.g. to a data structure 1657c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi needed in the callback) */ 1667c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi LVM_INT16 GeneralPurpose ); /* General purpose variable 1677c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi (e.g. to be used as callback ID) */ 1687c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1697c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1707c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 1717c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 1727c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* End of file */ 1737c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/* */ 1747c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi/****************************************************************************************/ 1757c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1767c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#ifdef __cplusplus 1777c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi} 1787c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* __cplusplus */ 1797c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi 1807c9d8018755adf1857571125ba1b3598c96ea506Dharmaray Kundargi#endif /* LVM_TYPES_H */ 181