00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 00002 /* 00003 * Version: MPL 1.1 / GPLv3+ / LGPLv3+ 00004 * 00005 * The contents of this file are subject to the Mozilla Public License Version 00006 * 1.1 (the "License"); you may not use this file except in compliance with 00007 * the License or as specified alternatively below. You may obtain a copy of 00008 * the License at http://www.mozilla.org/MPL/ 00009 * 00010 * Software distributed under the License is distributed on an "AS IS" basis, 00011 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 00012 * for the specific language governing rights and limitations under the 00013 * License. 00014 * 00015 * Major Contributor(s): 00016 * Copyright (C) 2012 Tor Lillqvist <tml@iki.fi> (initial developer) 00017 * Copyright (C) 2012 SUSE Linux http://suse.com (initial developer's employer) 00018 * 00019 * All Rights Reserved. 00020 * 00021 * For minor contributions see the git repository. 00022 * 00023 * Alternatively, the contents of this file may be used under the terms of 00024 * either the GNU General Public License Version 3 or later (the "GPLv3+"), or 00025 * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"), 00026 * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable 00027 * instead of those above. 00028 */ 00029 00030 #ifndef INCLUDED_OSL_DETAIL_FILE_H 00031 #define INCLUDED_OSL_DETAIL_FILE_H 00032 00033 #include "sal/config.h" 00034 00035 #include <sys/stat.h> 00036 00037 #include "sal/saldllapi.h" 00038 #include "sal/types.h" 00039 00042 /* Some additions to the osl file functions for LibreOffice internal 00043 use. Needed for details in the Android support. 00044 */ 00045 00046 #if defined __cplusplus 00047 extern "C" { 00048 #endif 00049 00050 /* More flags needed for semantics that match the open() call that 00051 used to be in SvFileStream::Open(). 00052 */ 00053 #define osl_File_OpenFlag_Trunc 0x00000010L 00054 #define osl_File_OpenFlag_NoExcl 0x00000020L 00055 00056 SAL_DLLPUBLIC oslFileError SAL_CALL osl_openFilePath( 00057 const char *cpFilePath, 00058 oslFileHandle* pHandle, 00059 sal_uInt32 uFlags ); 00060 00061 /* Get the OS specific "handle" of an open file. */ 00062 SAL_DLLPUBLIC oslFileError SAL_CALL osl_getFileOSHandle( 00063 oslFileHandle Handle, 00064 sal_IntPtr *piFileHandle ); 00065 00066 /* for unit testing. */ 00067 SAL_DLLPUBLIC oslFileError SAL_CALL osl_openMemoryAsFile( void *address, size_t size, oslFileHandle *pHandle ); 00068 00069 #if defined __cplusplus 00070 } 00071 #endif 00072 00075 #endif /* INCLUDED_OSL_DETAIL_FILE_H */ 00076 00077 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */