mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-04 09:55:08 +01:00
Removed file/folder
This commit is contained in:
parent
7824d74959
commit
6763d5dae9
@ -1,151 +0,0 @@
|
||||
#include "shared.h"
|
||||
|
||||
/*
|
||||
Load a normal file, or ZIP/GZ archive.
|
||||
Returns NULL if an error occured.
|
||||
*/
|
||||
uint8 *load_archive(char *filename, int *file_size)
|
||||
{
|
||||
int size = 0;
|
||||
uint8 *buf = NULL;
|
||||
|
||||
if(check_zip(filename))
|
||||
{
|
||||
unzFile *fd = NULL;
|
||||
unz_file_info info;
|
||||
int ret = 0;
|
||||
|
||||
/* Attempt to open the archive */
|
||||
fd = unzOpen(filename);
|
||||
if(!fd) return (NULL);
|
||||
|
||||
/* Go to first file in archive */
|
||||
ret = unzGoToFirstFile(fd);
|
||||
if(ret != UNZ_OK)
|
||||
{
|
||||
unzClose(fd);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
ret = unzGetCurrentFileInfo(fd, &info, NULL, 0, NULL, 0, NULL, 0);
|
||||
if(ret != UNZ_OK)
|
||||
{
|
||||
unzClose(fd);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/* Open the file for reading */
|
||||
ret = unzOpenCurrentFile(fd);
|
||||
if(ret != UNZ_OK)
|
||||
{
|
||||
unzClose(fd);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/* Allocate file data buffer */
|
||||
size = info.uncompressed_size;
|
||||
buf = malloc(size);
|
||||
if(!buf)
|
||||
{
|
||||
unzClose(fd);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/* Read (decompress) the file */
|
||||
ret = unzReadCurrentFile(fd, buf, info.uncompressed_size);
|
||||
if(ret != info.uncompressed_size)
|
||||
{
|
||||
free(buf);
|
||||
unzCloseCurrentFile(fd);
|
||||
unzClose(fd);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/* Close the current file */
|
||||
ret = unzCloseCurrentFile(fd);
|
||||
if(ret != UNZ_OK)
|
||||
{
|
||||
free(buf);
|
||||
unzClose(fd);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/* Close the archive */
|
||||
ret = unzClose(fd);
|
||||
if(ret != UNZ_OK)
|
||||
{
|
||||
free(buf);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
/* Update file size and return pointer to file data */
|
||||
*file_size = size;
|
||||
return (buf);
|
||||
}
|
||||
else
|
||||
{
|
||||
gzFile *gd = NULL;
|
||||
|
||||
/* Open file */
|
||||
gd = gzopen(filename, "rb");
|
||||
if(!gd) return (0);
|
||||
|
||||
/* Get file size */
|
||||
size = gzsize(gd);
|
||||
|
||||
/* Allocate file data buffer */
|
||||
buf = malloc(size);
|
||||
if(!buf)
|
||||
{
|
||||
gzclose(gd);
|
||||
return (0);
|
||||
}
|
||||
|
||||
/* Read file data */
|
||||
gzread(gd, buf, size);
|
||||
|
||||
/* Close file */
|
||||
gzclose(gd);
|
||||
|
||||
/* Update file size and return pointer to file data */
|
||||
*file_size = size;
|
||||
return (buf);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Verifies if a file is a ZIP archive or not.
|
||||
Returns: 1= ZIP archive, 0= not a ZIP archive
|
||||
*/
|
||||
int check_zip(char *filename)
|
||||
{
|
||||
uint8 buf[2];
|
||||
FILE *fd = NULL;
|
||||
fd = fopen(filename, "rb");
|
||||
if(!fd) return (0);
|
||||
fread(buf, 2, 1, fd);
|
||||
fclose(fd);
|
||||
if(memcmp(buf, "PK", 2) == 0) return (1);
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Returns the size of a GZ compressed file.
|
||||
*/
|
||||
int gzsize(gzFile *gd)
|
||||
{
|
||||
#define CHUNKSIZE (0x10000)
|
||||
int size = 0, length = 0;
|
||||
unsigned char buffer[CHUNKSIZE];
|
||||
gzrewind(gd);
|
||||
do {
|
||||
size = gzread(gd, buffer, CHUNKSIZE);
|
||||
if(size <= 0) break;
|
||||
length += size;
|
||||
} while (!gzeof(gd));
|
||||
gzrewind(gd);
|
||||
return (length);
|
||||
#undef CHUNKSIZE
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#ifndef _FILEIO_H_
|
||||
#define _FILEIO_H_
|
||||
|
||||
/* Global variables */
|
||||
extern int cart_size;
|
||||
extern char cart_name[0x100];
|
||||
|
||||
/* Function prototypes */
|
||||
uint8 *load_archive(char *filename, int *file_size);
|
||||
int load_cart(char *filename);
|
||||
int check_zip(char *filename);
|
||||
int gzsize(gzFile *gd);
|
||||
|
||||
#endif /* _FILEIO_H_ */
|
@ -1 +0,0 @@
|
||||
@make.exe -f makefile.mgw %1
|
@ -1,111 +0,0 @@
|
||||
# MekaDrive - Sega Mega Drive emulator
|
||||
# (c) 1999, 2000, 2001, 2002, 2003 Charles MacDonald
|
||||
|
||||
# -DLSB_FIRST - Leave undefined for big-endian processors.
|
||||
# -DDOS - Enable DOS/x86 specific code.
|
||||
# -DDEBUG - Enable debugging code
|
||||
# -DX86_ASM - Enable inline x86 assembly code in Z80 emulator
|
||||
|
||||
CC = gcc
|
||||
AS = nasm -f coff
|
||||
LDFLAGS =
|
||||
FLAGS = -I. -Icpu -Im68k -Idos -Isound -Icart_hw -Icart_hw\svp \
|
||||
-Werror -Wall \
|
||||
-O6 -mcpu=pentium -fomit-frame-pointer \
|
||||
-DLSB_FIRST -DX86_ASM -DDOS
|
||||
|
||||
LIBS = -lalleg -laudio -lz obj/m68k.oa
|
||||
|
||||
OBJ = obj/z80.oa \
|
||||
obj/genesis.o \
|
||||
obj/vdp.o \
|
||||
obj/render.o \
|
||||
obj/system.o \
|
||||
obj/io.o \
|
||||
obj/input.o \
|
||||
obj/mem68k.o \
|
||||
obj/memz80.o \
|
||||
obj/membnk.o \
|
||||
obj/memvdp.o \
|
||||
obj/state.o
|
||||
|
||||
OBJ += obj/sound.o \
|
||||
obj/fm.o \
|
||||
obj/sn76489.o \
|
||||
obj/ym2612.o
|
||||
|
||||
OBJ += obj/sram.o \
|
||||
obj/eeprom.o \
|
||||
obj/svp.o \
|
||||
obj/ssp16.o \
|
||||
obj/cart_hw.o
|
||||
|
||||
OBJ += obj/dos.o \
|
||||
obj/sealintf.o \
|
||||
obj/config.o \
|
||||
obj/error.o \
|
||||
obj/unzip.o \
|
||||
obj/fileio.o \
|
||||
obj/loadrom.o
|
||||
|
||||
EXE = gen.exe
|
||||
|
||||
all : $(EXE)
|
||||
|
||||
$(EXE) : $(OBJ)
|
||||
$(CC) -o $(EXE) $(OBJ) $(LIBS) $(LDFLAGS)
|
||||
|
||||
obj/%.oa : cpu/%.c cpu/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : %.c %.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : asm/%.s
|
||||
$(AS) $< -o $@
|
||||
|
||||
obj/%.o : sound/%.c sound/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
obj/%.o : sound/%.c
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cart_hw/%.c cart_hw/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cart_hw/svp/%.c
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cart_hw/svp/%.c cart_hw/svp/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cpu/%.c cpu/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : dos/%.c dos/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
pack :
|
||||
strip $(EXE)
|
||||
upx -1 $(EXE)
|
||||
|
||||
clean :
|
||||
rm -f obj/*.o
|
||||
rm -f *.bak
|
||||
rm -f *.exe
|
||||
rm -f *.log
|
||||
rm -f *.wav
|
||||
rm -f *.zip
|
||||
cleancpu :
|
||||
rm -f obj/z80.oa
|
||||
|
||||
makedir :
|
||||
mkdir obj
|
||||
|
||||
archive:
|
||||
pk -dir -add -max \
|
||||
-excl=rom -excl=test \
|
||||
mdsrc.zip *.*
|
||||
|
||||
#
|
||||
# end of makefile
|
||||
#
|
@ -1,107 +0,0 @@
|
||||
# Genesis Plus - Sega Mega Drive emulator
|
||||
# (c) 1999, 2000, 2001, 2002, 2003 Charles MacDonald
|
||||
|
||||
# -DLSB_FIRST - Leave undefined for big-endian processors.
|
||||
# -DDEBUG - Enable debugging code
|
||||
# -DX86_ASM - Enable inline x86 assembly code in Z80 emulator
|
||||
|
||||
CC = gcc
|
||||
AS = nasm -f coff
|
||||
LDFLAGS =
|
||||
FLAGS = -I. -Icpu -Im68k -Iwin -Isound -Icart_hw -Icart_hw\svp \
|
||||
-Ic:/SDL/include/SDL \
|
||||
-Werror -Wall \
|
||||
-DLSB_FIRST -DX86_ASM \
|
||||
-O6 -march=pentium -fomit-frame-pointer
|
||||
|
||||
LIBS = -lz -lm -lmingw32 -Ld:/sdl/lib -lSDLmain -lSDL obj/m68k.oa
|
||||
|
||||
OBJ = obj/z80.oa \
|
||||
obj/genesis.o \
|
||||
obj/vdp.o \
|
||||
obj/render.o \
|
||||
obj/system.o \
|
||||
obj/io.o \
|
||||
obj/input.o \
|
||||
obj/mem68k.o \
|
||||
obj/memz80.o \
|
||||
obj/membnk.o \
|
||||
obj/memvdp.o \
|
||||
obj/state.o
|
||||
|
||||
OBJ += obj/sound.o \
|
||||
obj/fm.o \
|
||||
obj/sn76489.o \
|
||||
obj/ym2612.o
|
||||
|
||||
OBJ += obj/sram.o \
|
||||
obj/eeprom.o \
|
||||
obj/svp.o \
|
||||
obj/ssp16.o \
|
||||
obj/cart_hw.o
|
||||
|
||||
OBJ += obj/main.o \
|
||||
obj/error.o \
|
||||
obj/fileio.o \
|
||||
obj/unzip.o \
|
||||
obj/loadrom.o
|
||||
|
||||
EXE = gen.exe
|
||||
|
||||
all : $(EXE)
|
||||
|
||||
$(EXE) : $(OBJ) shared.h
|
||||
$(CC) -o $(EXE) $(OBJ) $(LIBS) $(LDFLAGS)
|
||||
|
||||
obj/%.oa : cpu/%.c cpu/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : %.c %.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : win/%.s
|
||||
$(AS) $< -o $@
|
||||
|
||||
obj/%.o : sound/%.c sound/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cpu/%.c cpu/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : win/%.c win/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cart_hw/%.c cart_hw/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cart_hw/svp/%.c
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
obj/%.o : cart_hw/svp/%.c cart_hw/svp/%.h
|
||||
$(CC) -c $< -o $@ $(FLAGS)
|
||||
|
||||
|
||||
pack :
|
||||
strip $(EXE)
|
||||
upx -1 $(EXE)
|
||||
|
||||
clean :
|
||||
rm -f obj/*.o
|
||||
rm -f *.bak
|
||||
rm -f *.exe
|
||||
rm -f *.log
|
||||
rm -f *.wav
|
||||
rm -f *.zip
|
||||
cleancpu :
|
||||
rm -f obj/z80.oa
|
||||
|
||||
makedir :
|
||||
mkdir obj
|
||||
|
||||
archive:
|
||||
pk -add -max -excl=bak -excl=out \
|
||||
-excl=test -excl=obj mdsrc.zip -dir=current
|
||||
|
||||
#
|
||||
# end of makefile
|
||||
#
|
File diff suppressed because it is too large
Load Diff
@ -1,274 +0,0 @@
|
||||
/* unzip.h -- IO for uncompress .zip files using zlib
|
||||
Version 0.15 beta, Mar 19th, 1998,
|
||||
|
||||
Copyright (C) 1998 Gilles Vollant
|
||||
|
||||
This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g
|
||||
WinZip, InfoZip tools and compatible.
|
||||
Encryption and multi volume ZipFile (span) are not supported.
|
||||
Old compressions used by old PKZip 1.x are not supported
|
||||
|
||||
THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
|
||||
CAN CHANGE IN FUTURE VERSION !!
|
||||
I WAIT FEEDBACK at mail info@winimage.com
|
||||
Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution
|
||||
|
||||
Condition of use and distribution are the same than zlib :
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the authors be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
*/
|
||||
|
||||
/* for more info about .ZIP format, see
|
||||
ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip
|
||||
PkWare has also a specification at :
|
||||
ftp://ftp.pkware.com/probdesc.zip */
|
||||
|
||||
#ifndef _unz_H
|
||||
#define _unz_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef _ZLIB_H
|
||||
#include "zlib.h"
|
||||
#endif
|
||||
|
||||
#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
|
||||
/* like the STRICT of WIN32, we define a pointer that cannot be converted
|
||||
from (void*) without cast */
|
||||
typedef struct TagunzFile__ { int unused; } unzFile__;
|
||||
typedef unzFile__ *unzFile;
|
||||
#else
|
||||
typedef voidp unzFile;
|
||||
#endif
|
||||
|
||||
|
||||
#define UNZ_OK (0)
|
||||
#define UNZ_END_OF_LIST_OF_FILE (-100)
|
||||
#define UNZ_ERRNO (Z_ERRNO)
|
||||
#define UNZ_EOF (0)
|
||||
#define UNZ_PARAMERROR (-102)
|
||||
#define UNZ_BADZIPFILE (-103)
|
||||
#define UNZ_INTERNALERROR (-104)
|
||||
#define UNZ_CRCERROR (-105)
|
||||
|
||||
/* tm_unz contain date/time info */
|
||||
typedef struct tm_unz_s
|
||||
{
|
||||
uInt tm_sec; /* seconds after the minute - [0,59] */
|
||||
uInt tm_min; /* minutes after the hour - [0,59] */
|
||||
uInt tm_hour; /* hours since midnight - [0,23] */
|
||||
uInt tm_mday; /* day of the month - [1,31] */
|
||||
uInt tm_mon; /* months since January - [0,11] */
|
||||
uInt tm_year; /* years - [1980..2044] */
|
||||
} tm_unz;
|
||||
|
||||
/* unz_global_info structure contain global data about the ZIPfile
|
||||
These data comes from the end of central dir */
|
||||
typedef struct unz_global_info_s
|
||||
{
|
||||
uLong number_entry; /* total number of entries in
|
||||
the central dir on this disk */
|
||||
uLong size_comment; /* size of the global comment of the zipfile */
|
||||
} unz_global_info;
|
||||
|
||||
|
||||
/* unz_file_info contain information about a file in the zipfile */
|
||||
typedef struct unz_file_info_s
|
||||
{
|
||||
uLong version; /* version made by 2 bytes */
|
||||
uLong version_needed; /* version needed to extract 2 bytes */
|
||||
uLong flag; /* general purpose bit flag 2 bytes */
|
||||
uLong compression_method; /* compression method 2 bytes */
|
||||
uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
|
||||
uLong crc; /* crc-32 4 bytes */
|
||||
uLong compressed_size; /* compressed size 4 bytes */
|
||||
uLong uncompressed_size; /* uncompressed size 4 bytes */
|
||||
uLong size_filename; /* filename length 2 bytes */
|
||||
uLong size_file_extra; /* extra field length 2 bytes */
|
||||
uLong size_file_comment; /* file comment length 2 bytes */
|
||||
|
||||
uLong disk_num_start; /* disk number start 2 bytes */
|
||||
uLong internal_fa; /* internal file attributes 2 bytes */
|
||||
uLong external_fa; /* external file attributes 4 bytes */
|
||||
|
||||
tm_unz tmu_date;
|
||||
} unz_file_info;
|
||||
|
||||
extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
|
||||
const char* fileName2,
|
||||
int iCaseSensitivity));
|
||||
/*
|
||||
Compare two filename (fileName1,fileName2).
|
||||
If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
|
||||
If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
|
||||
or strcasecmp)
|
||||
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
|
||||
(like 1 on Unix, 2 on Windows)
|
||||
*/
|
||||
|
||||
|
||||
extern unzFile ZEXPORT unzOpen OF((const char *path));
|
||||
/*
|
||||
Open a Zip file. path contain the full pathname (by example,
|
||||
on a Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer
|
||||
"zlib/zlib111.zip".
|
||||
If the zipfile cannot be opened (file don't exist or in not valid), the
|
||||
return value is NULL.
|
||||
Else, the return value is a unzFile Handle, usable with other function
|
||||
of this unzip package.
|
||||
*/
|
||||
|
||||
extern int ZEXPORT unzClose OF((unzFile file));
|
||||
/*
|
||||
Close a ZipFile opened with unzipOpen.
|
||||
If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
|
||||
these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
|
||||
return UNZ_OK if there is no problem. */
|
||||
|
||||
extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
|
||||
unz_global_info *pglobal_info));
|
||||
/*
|
||||
Write info about the ZipFile in the *pglobal_info structure.
|
||||
No preparation of the structure is needed
|
||||
return UNZ_OK if there is no problem. */
|
||||
|
||||
|
||||
extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
|
||||
char *szComment,
|
||||
uLong uSizeBuf));
|
||||
/*
|
||||
Get the global comment string of the ZipFile, in the szComment buffer.
|
||||
uSizeBuf is the size of the szComment buffer.
|
||||
return the number of byte copied or an error code <0
|
||||
*/
|
||||
|
||||
|
||||
/***************************************************************************/
|
||||
/* Unzip package allow you browse the directory of the zipfile */
|
||||
|
||||
extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
|
||||
/*
|
||||
Set the current file of the zipfile to the first file.
|
||||
return UNZ_OK if there is no problem
|
||||
*/
|
||||
|
||||
extern int ZEXPORT unzGoToNextFile OF((unzFile file));
|
||||
/*
|
||||
Set the current file of the zipfile to the next file.
|
||||
return UNZ_OK if there is no problem
|
||||
return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
|
||||
*/
|
||||
|
||||
extern int ZEXPORT unzLocateFile OF((unzFile file,
|
||||
const char *szFileName,
|
||||
int iCaseSensitivity));
|
||||
/*
|
||||
Try locate the file szFileName in the zipfile.
|
||||
For the iCaseSensitivity signification, see unzStringFileNameCompare
|
||||
|
||||
return value :
|
||||
UNZ_OK if the file is found. It becomes the current file.
|
||||
UNZ_END_OF_LIST_OF_FILE if the file is not found
|
||||
*/
|
||||
|
||||
|
||||
extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
|
||||
unz_file_info *pfile_info,
|
||||
char *szFileName,
|
||||
uLong fileNameBufferSize,
|
||||
void *extraField,
|
||||
uLong extraFieldBufferSize,
|
||||
char *szComment,
|
||||
uLong commentBufferSize));
|
||||
/*
|
||||
Get Info about the current file
|
||||
if pfile_info!=NULL, the *pfile_info structure will contain somes info about
|
||||
the current file
|
||||
if szFileName!=NULL, the filemane string will be copied in szFileName
|
||||
(fileNameBufferSize is the size of the buffer)
|
||||
if extraField!=NULL, the extra field information will be copied in extraField
|
||||
(extraFieldBufferSize is the size of the buffer).
|
||||
This is the Central-header version of the extra field
|
||||
if szComment!=NULL, the comment string of the file will be copied in szComment
|
||||
(commentBufferSize is the size of the buffer)
|
||||
*/
|
||||
|
||||
/***************************************************************************/
|
||||
/* for reading the content of the current zipfile, you can open it, read data
|
||||
from it, and close it (you can close it before reading all the file)
|
||||
*/
|
||||
|
||||
extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
|
||||
/*
|
||||
Open for reading data the current file in the zipfile.
|
||||
If there is no error, the return value is UNZ_OK.
|
||||
*/
|
||||
|
||||
extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
|
||||
/*
|
||||
Close the file in zip opened with unzOpenCurrentFile
|
||||
Return UNZ_CRCERROR if all the file was read but the CRC is not good
|
||||
*/
|
||||
|
||||
|
||||
extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
|
||||
voidp buf,
|
||||
unsigned len));
|
||||
/*
|
||||
Read bytes from the current file (opened by unzOpenCurrentFile)
|
||||
buf contain buffer where data must be copied
|
||||
len the size of buf.
|
||||
|
||||
return the number of byte copied if somes bytes are copied
|
||||
return 0 if the end of file was reached
|
||||
return <0 with error code if there is an error
|
||||
(UNZ_ERRNO for IO error, or zLib error for uncompress error)
|
||||
*/
|
||||
|
||||
extern z_off_t ZEXPORT unztell OF((unzFile file));
|
||||
/*
|
||||
Give the current position in uncompressed data
|
||||
*/
|
||||
|
||||
extern int ZEXPORT unzeof OF((unzFile file));
|
||||
/*
|
||||
return 1 if the end of file was reached, 0 elsewhere
|
||||
*/
|
||||
|
||||
extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
|
||||
voidp buf,
|
||||
unsigned len));
|
||||
/*
|
||||
Read extra field from the current file (opened by unzOpenCurrentFile)
|
||||
This is the local-header version of the extra field (sometimes, there is
|
||||
more info in the local-header version than in the central-header)
|
||||
|
||||
if buf==NULL, it return the size of the local extra field
|
||||
|
||||
if buf!=NULL, len is the size of the buffer, the extra header is copied in
|
||||
buf.
|
||||
the return value is the number of bytes copied in buf, or (if <0)
|
||||
the error code
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _unz_H */
|
Loading…
Reference in New Issue
Block a user