LVOSA_FileReader_optim.h revision 855ec7c4be7ad642721909d5837a8d25a117c22f
1855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/* 2855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * Copyright (C) 2004-2011 NXP Software 3855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * Copyright (C) 2011 The Android Open Source Project 4855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * 5855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * Licensed under the Apache License, Version 2.0 (the "License"); 6855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * you may not use this file except in compliance with the License. 7855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * You may obtain a copy of the License at 8855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * 9855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * http://www.apache.org/licenses/LICENSE-2.0 10855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * 11855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * Unless required by applicable law or agreed to in writing, software 12855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * distributed under the License is distributed on an "AS IS" BASIS, 13855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * See the License for the specific language governing permissions and 15855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * limitations under the License. 16855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi */ 17855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 18855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/** 19855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi ****************************************************************************** 20855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * @file M4OSA_FileReader_optim.h 21855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * @brief File reader for Symbian 22855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi * @note This file declares functions and types to read a file. 23855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi ****************************************************************************** 24855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi*/ 25855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 26855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 27855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 28855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifndef M4OSA_FILEREADER_OPTIM_H 29855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_FILEREADER_OPTIM_H 30855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 31855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#define M4OSA_READER_OPTIM_USE_OSAL_IF 32855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 33855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/**/ 34855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifndef M4OSA_READER_OPTIM_USE_OSAL_IF 35855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi typedef struct 36855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi { 37855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_Void* (*pFctPtr_Open)( M4OSA_Void* fd, 38855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt32 FileModeAccess, 39855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt16* errno ); 40855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FilePosition (*pFctPtr_Read)( M4OSA_Void* fd, 41855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt8* data, 42855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FilePosition size, 43855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt16* errno ); 44855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FilePosition (*pFctPtr_Seek)( M4OSA_Void* fd, 45855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FilePosition pos, 46855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FileSeekAccessMode mode, 47855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt16* errno ); 48855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FilePosition (*pFctPtr_Tell)( M4OSA_Void* fd, 49855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt16* errno ); 50855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_Int32 (*pFctPtr_Close)( M4OSA_Void* fd, 51855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt16* errno ); 52855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_Void (*pFctPtr_AccessType)( M4OSA_UInt32 FileModeAccess_In, 53855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_Void* FileModeAccess_Out ); 54855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 55855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi } M4OSA_FileSystem_FctPtr; 56855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif 57855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/**/ 58855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 59855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 60855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi/* Reader API : bufferized functions */ 61855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#ifdef M4OSA_READER_OPTIM_USE_OSAL_IF 62855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_ERR M4OSA_fileReadOpen_optim( M4OSA_Context* context, 63855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_Void* fileDescriptor, 64855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt32 fileModeAccess); 65855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#else 66855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_ERR M4OSA_fileReadOpen_optim( M4OSA_Context* context, 67855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_Void* fileDescriptor, 68855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt32 fileModeAccess, 69855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FileSystem_FctPtr *FS); 70855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif 71855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 72855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray KundargiM4OSA_ERR M4OSA_fileReadData_optim( M4OSA_Context context, 73855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_MemAddr8 buffer, 74855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_UInt32* size ); 75855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray KundargiM4OSA_ERR M4OSA_fileReadSeek_optim( M4OSA_Context context, 76855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FileSeekAccessMode seekMode, 77855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FilePosition* position ); 78855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray KundargiM4OSA_ERR M4OSA_fileReadClose_optim( M4OSA_Context context ); 79855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray KundargiM4OSA_ERR M4OSA_fileReadGetOption_optim( M4OSA_Context context, 80855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FileReadOptionID optionID, 81855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_DataOption *optionValue ); 82855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray KundargiM4OSA_ERR M4OSA_fileReadSetOption_optim( M4OSA_Context context, 83855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_FileReadOptionID optionID, 84855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi M4OSA_DataOption optionValue ); 85855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi 86855ec7c4be7ad642721909d5837a8d25a117c22fDharmaray Kundargi#endif /* M4OSA_FILEREADER_OPTIM_H */ 87