/* * Copyright (c) 2002-2011 by XMLVM.org * * Project Info: http://www.xmlvm.org * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. */ #ifndef __XMLVM_FILE_H__ #define __XMLVM_FILE_H__ #include "xmlvm.h" #ifdef ZOS #define FD_BIAS 1000 #undef fwrite #undef fread #else #define FD_BIAS 0 #endif /* ZOS */ #define HyMaxPath 1024 #define org_apache_harmony_luni_platform_IFileSystem_SHARED_LOCK_TYPE 1L #define org_apache_harmony_luni_platform_IFileSystem_EXCLUSIVE_LOCK_TYPE 2L #define org_apache_harmony_luni_platform_IFileSystem_SEEK_SET 1L #define org_apache_harmony_luni_platform_IFileSystem_SEEK_CUR 2L #define org_apache_harmony_luni_platform_IFileSystem_SEEK_END 4L #define org_apache_harmony_luni_platform_IFileSystem_O_RDONLY 0L #define org_apache_harmony_luni_platform_IFileSystem_O_WRONLY 1L #define org_apache_harmony_luni_platform_IFileSystem_O_RDWR 16L #define org_apache_harmony_luni_platform_IFileSystem_O_RDWRSYNC 32L #define org_apache_harmony_luni_platform_IFileSystem_O_APPEND 256L #define org_apache_harmony_luni_platform_IFileSystem_O_CREAT 4096L #define org_apache_harmony_luni_platform_IFileSystem_O_EXCL 65536L #define org_apache_harmony_luni_platform_IFileSystem_O_NOCTTY 1048576L #define org_apache_harmony_luni_platform_IFileSystem_O_NONBLOCK 16777216L #define org_apache_harmony_luni_platform_IFileSystem_O_TRUNC 268435456L #define HyOpenRead 1 /* Values for HyFileOpen */ #define HyOpenWrite 2 #define HyOpenCreate 4 #define HyOpenTruncate 8 #define HyOpenAppend 16 #define HyOpenText 32 #define HyOpenCreateNew 64 /* Use this flag with HyOpenCreate, if this flag is specified then trying to create an existing file will fail */ #define HyOpenSync 128 #define HyIsDir 0 /* Return values for HyFileAttr */ #define HyIsFile 1 void ioh_convertToPlatform (char *path); IDATA hyfile_open (const char *path, I_32 flags, I_32 mode); IDATA hyfile_read (IDATA fd, void *buf, IDATA nbytes); I_64 hyfile_seek (IDATA inFD, I_64 offset, I_32 whence); IDATA hyfile_write (IDATA fd, const void *buf, IDATA nbytes); #endif