You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2007/05/19 21:22:03 UTC
svn commit: r539793 [4/4] - in /harmony/enhanced/classlib/trunk:
depends/build/ make/ modules/archive/
modules/archive/src/main/native/archive/shared/
modules/archive/src/main/native/archive/unix/
modules/archive/src/main/native/archive/windows/ module...
Added: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/hyzip.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/hyzip.h?view=auto&rev=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/hyzip.h (added)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/hyzip.h Sat May 19 12:22:00 2007
@@ -0,0 +1,129 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+#ifndef hyzip_h
+#define hyzip_h
+
+#include "hycomp.h"
+#include "vmi.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct HyZipCachePool HyZipCachePool;
+
+#define ZIP_INTERNAL_MAX 80
+#define ZIP_CM_Reduced1 2
+#define ZIP_Unknown 0
+#define ZIP_GZIP 2
+#define ZIP_ERR_OUT_OF_MEMORY -3
+#define ZIP_ERR_FILE_CORRUPT -6
+#define ZIP_ERR_INTERNAL_ERROR -11
+#define ZIP_CM_Imploded 6
+#define ZIP_CM_Reduced4 5
+#define ZIP_CM_Shrunk 1
+#define ZIP_CM_Reduced2 3
+#define ZIP_ERR_FILE_READ_ERROR -1
+#define ZIP_CentralHeader 0x2014B50
+#define ZIP_ERR_FILE_CLOSE_ERROR -10
+#define ZIP_ERR_BUFFER_TOO_SMALL -7
+#define ZIP_CM_Reduced3 4
+#define ZIP_CM_Deflated 8
+#define ZIP_LocalHeader 0x4034B50
+#define ZIP_CM_Tokenized 7
+#define ZIP_PKZIP 1
+#define ZIP_CM_Stored 0
+#define ZIP_ERR_UNSUPPORTED_FILE_TYPE -5
+#define ZIP_ERR_NO_MORE_ENTRIES -2
+#define ZIP_CentralEnd 0x6054B50
+#define ZIP_ERR_FILE_OPEN_ERROR -9
+#define ZIP_ERR_UNKNOWN_FILE_TYPE -4
+#define ZIP_ERR_ENTRY_NOT_FOUND -8
+#define ZIP_DataDescriptor 0x8074B50
+
+typedef struct HyZipEntry
+{
+ U_8 *data;
+ U_8 *filename;
+ U_8 *extraField;
+ U_8 *fileComment;
+ I_32 dataPointer;
+ I_32 filenamePointer;
+ I_32 extraFieldPointer;
+ I_32 fileCommentPointer;
+ U_32 compressedSize;
+ U_32 uncompressedSize;
+ U_32 crc32;
+ U_16 filenameLength;
+ U_16 extraFieldLength;
+ U_16 fileCommentLength;
+ U_16 internalAttributes;
+ U_16 versionCreated;
+ U_16 versionNeeded;
+ U_16 flags;
+ U_16 compressionMethod;
+ U_16 lastModTime;
+ U_16 lastModDate;
+ U_8 internalFilename[80];
+} HyZipEntry;
+
+typedef struct HyZipFile
+{
+ U_8 *filename;
+ void *cache;
+ void *cachePool;
+ I_32 fd;
+ I_32 pointer;
+ U_8 internalFilename[80];
+ U_8 type;
+ char _hypadding0065[3]; /* 3 bytes of automatic padding */
+} HyZipFile;
+
+typedef struct HyZipFunctionTable {
+ I_32 (PVMCALL zip_getZipEntryData) (VMInterface * vmi, HyZipFile * zipFile, HyZipEntry * entry, U_8 * buffer, U_32 bufferSize) ;
+ I_32 (PVMCALL zip_getZipEntryFromOffset) (VMInterface * vmi, HyZipFile * zipFile, HyZipEntry * entry, IDATA offset) ;
+ I_32 (PVMCALL zip_establishCache) (VMInterface * vmi, HyZipFile * zipFile) ;
+ void (PVMCALL zip_resetZipFile) (VMInterface * vmi, HyZipFile * zipFile, IDATA * nextEntryPointer) ;
+ I_32 (PVMCALL zip_getNextZipEntry) (VMInterface * vmi, HyZipFile * zipFile, HyZipEntry * zipEntry, IDATA * nextEntryPointer) ;
+ I_32 (PVMCALL zip_getZipEntry) (VMInterface * vmi, HyZipFile * zipFile, HyZipEntry * entry, const char *filename, BOOLEAN findDirectory) ;
+ I_32 (PVMCALL zip_getZipEntryExtraField) (VMInterface * vmi, HyZipFile * zipFile, HyZipEntry * entry, U_8 * buffer, U_32 bufferSize) ;
+ void (PVMCALL zip_initZipEntry) (VMInterface * vmi, HyZipEntry * entry) ;
+ I_32 (PVMCALL zip_openZipFile) (VMInterface * vmi, char *filename, HyZipFile * zipFile) ;
+ void (PVMCALL zip_freeZipEntry) (VMInterface * vmi, HyZipEntry * entry) ;
+ I_32 (PVMCALL zip_closeZipFile) (VMInterface * vmi, HyZipFile * zipFile) ;
+ I_32 (PVMCALL zip_getZipEntryComment) (VMInterface * vmi, HyZipFile * zipFile, HyZipEntry * entry, U_8 * buffer, U_32 bufferSize) ;
+
+ UDATA (PVMCALL zipCache_findElement) (void * zipCache, const char *elementName, BOOLEAN searchDirList) ;
+ void (PVMCALL zipCache_kill) (void * zipCache) ;
+ IDATA (PVMCALL zipCache_enumGetDirName) (void *handle, char *nameBuf, UDATA nameBufSize) ;
+ struct HyZipCache *(PVMCALL zipCache_new) (VMInterface * vmi, char *zipName, IDATA zipNameLength) ;
+ IDATA (PVMCALL zipCache_enumNew) (void * zipCache, char *directoryName, void **handle) ;
+ IDATA (PVMCALL zipCache_enumElement) (void *handle, char *nameBuf, UDATA nameBufSize, UDATA * offset) ;
+ void (PVMCALL zipCache_enumKill) (void *handle) ;
+ BOOLEAN (PVMCALL zipCache_addElement) (void * zipCache, char *elementName, UDATA elementOffset) ;
+
+ void *(PVMCALL zip_zalloc) (void *opaque, U_32 items, U_32 size) ;
+ void (PVMCALL zip_zfree) (void *opaque, void *address) ;
+
+ void *reserved;
+} HyZipFunctionTable;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* hyzip_h */
Propchange: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/hyzip.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/vmi.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/vmi.h?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/vmi.h (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/include/shared/vmi.h Sat May 19 12:22:00 2007
@@ -32,7 +32,9 @@
#include "hyport.h"
#include "hyvmls.h"
+#ifndef HY_ZIP_API
#include "zipsup.h"
+#endif /* ! HY_ZIP_API */
/**
* @enum vmiError
* Enumeration of all possible return codes from VM interface functions
@@ -58,6 +60,9 @@
{
VMI_VERSION_UNKNOWN = 0x00000000, /**< Unknown VMInterface version */
VMI_VERSION_1_0 = 0x00010000, /**< VMInterface version 1.0 */
+#ifdef HY_ZIP_API
+ VMI_VERSION_2_0 = 0x00020000, /**< VMInterface version 2.0 */
+#endif /* HY_ZIP_API */
vmiVersionEnsureWideEnum = 0x1000000 /* ensure 4-byte enum */
} vmiVersion;
@@ -70,6 +75,9 @@
typedef void (JNICALL * vmiSystemPropertyIterator) (char *key, char *value,
void *userData);
+#ifdef HY_ZIP_API
+ struct HyZipFunctionTable;
+#endif /* HY_ZIP_API */
struct VMInterface_;
struct VMInterfaceFunctions_;
@@ -96,8 +104,12 @@
JavaVM *(JNICALL * GetJavaVM) (VMInterface * vmi);
HyPortLibrary *(JNICALL * GetPortLibrary) (VMInterface * vmi);
HyVMLSFunctionTable *(JNICALL * GetVMLSFunctions) (VMInterface * vmi);
+#ifndef HY_ZIP_API
HyZipCachePool *(JNICALL * GetZipCachePool) (VMInterface * vmi);
+#else /* HY_ZIP_API */
+ struct HyZipFunctionTable *(JNICALL * GetZipFunctions) (VMInterface * vmi);
+#endif /* HY_ZIP_API */
JavaVMInitArgs *(JNICALL * GetInitArgs) (VMInterface * vmi);
vmiError (JNICALL * GetSystemProperty) (VMInterface * vmi, char *key,
char **valuePtr);
@@ -188,17 +200,35 @@
HyVMLSFunctionTable *JNICALL GetVMLSFunctions (VMInterface * vmi);
/**
+#ifndef HY_ZIP_API
* @fn VMInterfaceFunctions_::GetZipCachePool(VMInterface * vmi)
* Return a pointer to the HyZipCachePool structure used by the VM. It is the
* responsibility of the vm to allocate the pool using zipCachePool_new().
+#else
+ * @fn VMInterfaceFunctions_::GetZipFunctions
+ * Return a pointer to a HyZipFunctionTable. This is a table of functions for managing zip files.
+#endif
*
+#ifndef HY_ZIP_API
* @code HyZipCachePool* JNICALL GetZipCachePool(VMInterface* vmi); @endcode
+#else
+ * @code HyZipFunctionTable* JNICALL GetZipFunctions(VMInterface* vmi); @endcode
+#endif
*
* @param[in] vmi The VM interface pointer
*
+#ifndef HY_ZIP_API
* @return a HyZipCachePool pointer
+#else
+ * @return a HyZipFunctionTable pointer
+#endif
*/
+#ifndef HY_ZIP_API
HyZipCachePool *JNICALL GetZipCachePool (VMInterface * vmi);
+#else /* HY_ZIP_API */
+ struct HyZipFunctionTable* JNICALL
+ GetZipFunctions(VMInterface* vmi);
+#endif /* HY_ZIP_API */
/**
* @fn VMInterfaceFunctions_::GetInitArgs(VMInterface * vmi)
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/shared/luniglob.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/shared/luniglob.c?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/shared/luniglob.c (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/shared/luniglob.c Sat May 19 12:22:00 2007
@@ -55,7 +55,7 @@
char *propVal = NULL;
vmiError propRes;
-#if defined(LINUX)
+#if defined(LINUX) && !defined(HY_NO_SIG)
/* all UNIX platforms */
HySignalHandler previousGpHandler;
HySigSet (SIGPIPE, SIG_IGN, previousGpHandler);
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/unix/makefile?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/unix/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/unix/makefile Sat May 19 12:22:00 2007
@@ -36,9 +36,12 @@
OSMemory.o OSMemoryLinux32.o $(SHAREDSUB)OSNetworkSystem.o \
OSNetworkSystemLinux.o hyenv.o
-MDLLIBFILES += \
- $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX) \
- $(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX)
+ifneq ($(HY_ZIP_API),true)
+MDLLIBFILES += $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX)
+endif
+
+MDLLIBFILES += $(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a \
+ $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX)
DLLNAME = ../libhyluni$(HY_SHLIB_SUFFIX)
EXPNAME = HYLUNI_0.1
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/makefile?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/native/luni/windows/makefile Sat May 19 12:22:00 2007
@@ -43,9 +43,13 @@
SYSLIBFILES = ws2_32.lib Iphlpapi.lib Mswsock.lib
+!IF "$(HY_ZIP_API)" != "true"
MDLLIBFILES = $(MDLLIBFILES) \
- $(LIBPATH)hyzip$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyzlib$(HY_LINKLIB_SUFFIX) \
- $(LIBPATH)hypool$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyfdlibm$(HY_LINKLIB_SUFFIX) $(LIBPATH)vmi$(HY_LINKLIB_SUFFIX)
+ $(LIBPATH)hyzip$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyzlib$(HY_LINKLIB_SUFFIX)
+!ENDIF
+
+MDLLIBFILES = $(MDLLIBFILES) $(LIBPATH)hypool$(HY_LINKLIB_SUFFIX) \
+ $(LIBPATH)hyfdlibm$(HY_LINKLIB_SUFFIX) $(LIBPATH)vmi$(HY_LINKLIB_SUFFIX)
DLLBASE=0x13200000
COMMENT=/comment:"LUNI component native code. (c) Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable."
Modified: harmony/enhanced/classlib/trunk/modules/misc/src/main/native/accessors/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/misc/src/main/native/accessors/unix/makefile?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/misc/src/main/native/accessors/unix/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/misc/src/main/native/accessors/unix/makefile Sat May 19 12:22:00 2007
@@ -25,10 +25,12 @@
$(SHAREDSUB)org_apache_harmony_misc_accessors_ObjectAccessorImpl.o \
$(SHAREDSUB)org_apache_harmony_misc_accessors_StringAccessorImpl.o
+ifneq ($(HY_ZIP_API),true)
+MDLLIBFILES += $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX)
+endif
-MDLLIBFILES += \
- $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX) \
- $(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX)
+MDLLIBFILES += $(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a \
+ $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX)
DLLNAME=../libaccessors$(HY_SHLIB_SUFFIX)
EXPNAME=HYMISC_0.1
Modified: harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/unix/makefile?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/unix/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/unix/makefile Sat May 19 12:22:00 2007
@@ -24,8 +24,12 @@
BUILDFILES = \
../shared/DirectBufferUtil.o ../shared/AddressUtil.o
+ifneq ($(HY_ZIP_API),true)
+MDLLIBFILES += $(LIBPATH)libhyzip.a
+endif
+
MDLLIBFILES = \
- $(LIBPATH)libhycommon.a $(LIBPATH)libhyzip.a \
+ $(LIBPATH)libhycommon.a \
$(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a
DLLNAME = ../libhynio$(HY_SHLIB_SUFFIX)
Modified: harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/windows/makefile?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/nio/src/main/native/nio/windows/makefile Sat May 19 12:22:00 2007
@@ -31,11 +31,15 @@
SYSLIBFILES = ws2_32.lib Iphlpapi.lib
+!IF "$(HY_ZIP_API)" != "true"
MDLLIBFILES = \
- $(LIBPATH)hycommon$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyzip$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyzlib$(HY_LINKLIB_SUFFIX) \
- $(LIBPATH)hypool$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyfdlibm$(HY_LINKLIB_SUFFIX) $(LIBPATH)hythr$(HY_LINKLIB_SUFFIX) \
- $(LIBPATH)vmi$(HY_LINKLIB_SUFFIX)
-
+ $(LIBPATH)hyzip$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyzlib$(HY_LINKLIB_SUFFIX)
+!ENDIF
+
+MDLLIBFILES = $(LIBPATH)hycommon$(HY_LINKLIB_SUFFIX) \
+ $(LIBPATH)hypool$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyfdlibm$(HY_LINKLIB_SUFFIX) \
+ $(LIBPATH)hythr$(HY_LINKLIB_SUFFIX) $(LIBPATH)vmi$(HY_LINKLIB_SUFFIX)
+
DLLBASE=0x13200000
COMMENT=/comment:"nio component native code. (c) Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable."
Modified: harmony/enhanced/classlib/trunk/modules/prefs/src/main/native/prefs/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/prefs/src/main/native/prefs/windows/makefile?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/prefs/src/main/native/prefs/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/prefs/src/main/native/prefs/windows/makefile Sat May 19 12:22:00 2007
@@ -31,8 +31,12 @@
SYSLIBFILES = ws2_32.lib Iphlpapi.lib
+!IF "$(HY_ZIP_API)" != "true"
+MDLLIBFILES = \
+ $(LIBPATH)hyzip$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyzlib$(HY_LINKLIB_SUFFIX)
+!ENDIF
+
MDLLIBFILES = $(MDLLIBFILES) \
- $(LIBPATH)hyzip$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyzlib$(HY_LINKLIB_SUFFIX) \
$(LIBPATH)hypool$(HY_LINKLIB_SUFFIX) $(LIBPATH)hyfdlibm$(HY_LINKLIB_SUFFIX) \
$(LIBPATH)vmi$(HY_LINKLIB_SUFFIX)
DLLBASE=0x13300000
Modified: harmony/enhanced/classlib/trunk/modules/text/src/main/native/text/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/text/src/main/native/text/unix/makefile?view=diff&rev=539793&r1=539792&r2=539793
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/text/src/main/native/text/unix/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/text/src/main/native/text/unix/makefile Sat May 19 12:22:00 2007
@@ -24,10 +24,14 @@
BUILDFILES = $(SHAREDSUB)text_copyright.o $(SHAREDSUB)BidiWrapper.o
+ifneq ($(HY_ZIP_API),true)
+MDLLIBFILES += $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX)
+endif
+
MDLLIBFILES += \
$(DLLPATH)libicuuc$(HY_LINKLIB_SUFFIX).34 \
- $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX) \
- $(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX)
+ $(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a \
+ $(LIBPATH)libvmi$(HY_LINKLIB_SUFFIX)
DLLNAME = ../libhytext$(HY_SHLIB_SUFFIX)
EXPNAME = HYTEXT_0.1