-#include "3rdparty/zlib/zlib.h"
-#include "3rdparty/bzip2/bzlib.h"
+#include "zlib/zlib.h"
+#include "bzip2/bzlib.h"
#include "CDVDiso.h"
#include "libiso.h"
diff --git a/plugins/CDVDisoEFP/src/zlib/zlib.h.bak b/plugins/CDVDisoEFP/src/zlib/zlib.h.bak
deleted file mode 100644
index 530c64c4d8..0000000000
--- a/plugins/CDVDisoEFP/src/zlib/zlib.h.bak
+++ /dev/null
@@ -1,1200 +0,0 @@
-/* zlib.h -- interface of the 'zlib' general purpose compression library
- version 1.2.1, November 17th, 2003
-
- Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler
-
- 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.
-
- Jean-loup Gailly Mark Adler
- jloup@gzip.org madler@alumni.caltech.edu
-
-
- The data format used by the zlib library is described by RFCs (Request for
- Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
- (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
-*/
-
-#ifndef ZLIB_H
-#define ZLIB_H
-
-#include "zconf.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ZLIB_VERSION "1.2.1"
-#define ZLIB_VERNUM 0x1210
-
-/*
- The 'zlib' compression library provides in-memory compression and
- decompression functions, including integrity checks of the uncompressed
- data. This version of the library supports only one compression method
- (deflation) but other algorithms will be added later and will have the same
- stream interface.
-
- Compression can be done in a single step if the buffers are large
- enough (for example if an input file is mmap'ed), or can be done by
- repeated calls of the compression function. In the latter case, the
- application must provide more input and/or consume the output
- (providing more output space) before each call.
-
- The compressed data format used by the in-memory functions is the zlib
- format, which is a zlib wrapper documented in RFC 1950, wrapped around a
- deflate stream, which is itself documented in RFC 1951.
-
- The library also supports reading and writing files in gzip (.gz) format
- with an interface similar to that of stdio using the functions that start
- with "gz". The gzip format is different from the zlib format. gzip is a
- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
-
- The zlib format was designed to be compact and fast for use in memory
- and on communications channels. The gzip format was designed for single-
- file compression on file systems, has a larger header than zlib to maintain
- directory information, and uses a different, slower check method than zlib.
-
- This library does not provide any functions to write gzip files in memory.
- However such functions could be easily written using zlib's deflate function,
- the documentation in the gzip RFC, and the examples in gzio.c.
-
- The library does not install any signal handler. The decoder checks
- the consistency of the compressed data, so the library should never
- crash even in case of corrupted input.
-*/
-
-typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
-typedef void (*free_func) OF((voidpf opaque, voidpf address));
-
-struct internal_state;
-
-typedef struct z_stream_s {
- Bytef *next_in; /* next input byte */
- uInt avail_in; /* number of bytes available at next_in */
- uLong total_in; /* total nb of input bytes read so far */
-
- Bytef *next_out; /* next output byte should be put there */
- uInt avail_out; /* remaining free space at next_out */
- uLong total_out; /* total nb of bytes output so far */
-
- char *msg; /* last error message, NULL if no error */
- struct internal_state FAR *state; /* not visible by applications */
-
- alloc_func zalloc; /* used to allocate the internal state */
- free_func zfree; /* used to free the internal state */
- voidpf opaque; /* private data object passed to zalloc and zfree */
-
- int data_type; /* best guess about the data type: ascii or binary */
- uLong adler; /* adler32 value of the uncompressed data */
- uLong reserved; /* reserved for future use */
-} z_stream;
-
-typedef z_stream FAR *z_streamp;
-
-/*
- The application must update next_in and avail_in when avail_in has
- dropped to zero. It must update next_out and avail_out when avail_out
- has dropped to zero. The application must initialize zalloc, zfree and
- opaque before calling the init function. All other fields are set by the
- compression library and must not be updated by the application.
-
- The opaque value provided by the application will be passed as the first
- parameter for calls of zalloc and zfree. This can be useful for custom
- memory management. The compression library attaches no meaning to the
- opaque value.
-
- zalloc must return Z_NULL if there is not enough memory for the object.
- If zlib is used in a multi-threaded application, zalloc and zfree must be
- thread safe.
-
- On 16-bit systems, the functions zalloc and zfree must be able to allocate
- exactly 65536 bytes, but will not be required to allocate more than this
- if the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS,
- pointers returned by zalloc for objects of exactly 65536 bytes *must*
- have their offset normalized to zero. The default allocation function
- provided by this library ensures this (see zutil.c). To reduce memory
- requirements and avoid any allocation of 64K objects, at the expense of
- compression ratio, compile the library with -DMAX_WBITS=14 (see zconf.h).
-
- The fields total_in and total_out can be used for statistics or
- progress reports. After compression, total_in holds the total size of
- the uncompressed data and may be saved for use in the decompressor
- (particularly if the decompressor wants to decompress everything in
- a single step).
-*/
-
- /* constants */
-
-#define Z_NO_FLUSH 0
-#define Z_PARTIAL_FLUSH 1 /* will be removed, use Z_SYNC_FLUSH instead */
-#define Z_SYNC_FLUSH 2
-#define Z_FULL_FLUSH 3
-#define Z_FINISH 4
-#define Z_BLOCK 5
-/* Allowed flush values; see deflate() and inflate() below for details */
-
-#define Z_OK 0
-#define Z_STREAM_END 1
-#define Z_NEED_DICT 2
-#define Z_ERRNO (-1)
-#define Z_STREAM_ERROR (-2)
-#define Z_DATA_ERROR (-3)
-#define Z_MEM_ERROR (-4)
-#define Z_BUF_ERROR (-5)
-#define Z_VERSION_ERROR (-6)
-/* Return codes for the compression/decompression functions. Negative
- * values are errors, positive values are used for special but normal events.
- */
-
-#define Z_NO_COMPRESSION 0
-#define Z_BEST_SPEED 1
-#define Z_BEST_COMPRESSION 9
-#define Z_DEFAULT_COMPRESSION (-1)
-/* compression levels */
-
-#define Z_FILTERED 1
-#define Z_HUFFMAN_ONLY 2
-#define Z_RLE 3
-#define Z_DEFAULT_STRATEGY 0
-/* compression strategy; see deflateInit2() below for details */
-
-#define Z_BINARY 0
-#define Z_ASCII 1
-#define Z_UNKNOWN 2
-/* Possible values of the data_type field (though see inflate()) */
-
-#define Z_DEFLATED 8
-/* The deflate compression method (the only one supported in this version) */
-
-#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
-
-#define zlib_version zlibVersion()
-/* for compatibility with versions < 1.0.2 */
-
- /* basic functions */
-
-ZEXTERN const char * ZEXPORT zlibVersion OF((void));
-/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
- If the first character differs, the library code actually used is
- not compatible with the zlib.h header file used by the application.
- This check is automatically made by deflateInit and inflateInit.
- */
-
-/*
-ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
-
- Initializes the internal stream state for compression. The fields
- zalloc, zfree and opaque must be initialized before by the caller.
- If zalloc and zfree are set to Z_NULL, deflateInit updates them to
- use default allocation functions.
-
- The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
- 1 gives best speed, 9 gives best compression, 0 gives no compression at
- all (the input data is simply copied a block at a time).
- Z_DEFAULT_COMPRESSION requests a default compromise between speed and
- compression (currently equivalent to level 6).
-
- deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if level is not a valid compression level,
- Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
- with the version assumed by the caller (ZLIB_VERSION).
- msg is set to null if there is no error message. deflateInit does not
- perform any compression: this will be done by deflate().
-*/
-
-
-ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
-/*
- deflate compresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce some
- output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. deflate performs one or both of the
- following actions:
-
- - Compress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in and avail_in are updated and
- processing will resume at this point for the next call of deflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. This action is forced if the parameter flush is non zero.
- Forcing flush frequently degrades the compression ratio, so this parameter
- should be set only when necessary (in interactive applications).
- Some output may be provided even if flush is not set.
-
- Before the call of deflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating avail_in or avail_out accordingly; avail_out
- should never be zero before the call. The application can consume the
- compressed output when it wants, for example when the output buffer is full
- (avail_out == 0), or after each call of deflate(). If deflate returns Z_OK
- and with zero avail_out, it must be called again after making room in the
- output buffer because there might be more output pending.
-
- If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
- flushed to the output buffer and the output is aligned on a byte boundary, so
- that the decompressor can get all input data available so far. (In particular
- avail_in is zero after the call if enough output space has been provided
- before the call.) Flushing may degrade compression for some compression
- algorithms and so it should be used only when necessary.
-
- If flush is set to Z_FULL_FLUSH, all output is flushed as with
- Z_SYNC_FLUSH, and the compression state is reset so that decompression can
- restart from this point if previous compressed data has been damaged or if
- random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
- the compression.
-
- If deflate returns with avail_out == 0, this function must be called again
- with the same value of the flush parameter and more output space (updated
- avail_out), until the flush is complete (deflate returns with non-zero
- avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
- avail_out is greater than six to avoid repeated flush markers due to
- avail_out == 0 on return.
-
- If the parameter flush is set to Z_FINISH, pending input is processed,
- pending output is flushed and deflate returns with Z_STREAM_END if there
- was enough output space; if deflate returns with Z_OK, this function must be
- called again with Z_FINISH and more output space (updated avail_out) but no
- more input data, until it returns with Z_STREAM_END or an error. After
- deflate has returned Z_STREAM_END, the only possible operations on the
- stream are deflateReset or deflateEnd.
-
- Z_FINISH can be used immediately after deflateInit if all the compression
- is to be done in a single step. In this case, avail_out must be at least
- the value returned by deflateBound (see below). If deflate does not return
- Z_STREAM_END, then it must be called again as described above.
-
- deflate() sets strm->adler to the adler32 checksum of all input read
- so far (that is, total_in bytes).
-
- deflate() may update data_type if it can make a good guess about
- the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered
- binary. This field is only for information purposes and does not affect
- the compression algorithm in any manner.
-
- deflate() returns Z_OK if some progress has been made (more input
- processed or more output produced), Z_STREAM_END if all input has been
- consumed and all output has been produced (only when flush is set to
- Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
- if next_in or next_out was NULL), Z_BUF_ERROR if no progress is possible
- (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
- fatal, and deflate() can be called again with more input and more output
- space to continue compressing.
-*/
-
-
-ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
- stream state was inconsistent, Z_DATA_ERROR if the stream was freed
- prematurely (some input or output was discarded). In the error case,
- msg may be set but then points to a static string (which must not be
- deallocated).
-*/
-
-
-/*
-ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
-
- Initializes the internal stream state for decompression. The fields
- next_in, avail_in, zalloc, zfree and opaque must be initialized before by
- the caller. If next_in is not Z_NULL and avail_in is large enough (the exact
- value depends on the compression method), inflateInit determines the
- compression method from the zlib header and allocates all data structures
- accordingly; otherwise the allocation will be deferred to the first call of
- inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
- use default allocation functions.
-
- inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
- version assumed by the caller. msg is set to null if there is no error
- message. inflateInit does not perform any decompression apart from reading
- the zlib header if present: this will be done by inflate(). (So next_in and
- avail_in may be modified, but next_out and avail_out are unchanged.)
-*/
-
-
-ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
-/*
- inflate decompresses as much data as possible, and stops when the input
- buffer becomes empty or the output buffer becomes full. It may introduce
- some output latency (reading input without producing any output) except when
- forced to flush.
-
- The detailed semantics are as follows. inflate performs one or both of the
- following actions:
-
- - Decompress more input starting at next_in and update next_in and avail_in
- accordingly. If not all input can be processed (because there is not
- enough room in the output buffer), next_in is updated and processing
- will resume at this point for the next call of inflate().
-
- - Provide more output starting at next_out and update next_out and avail_out
- accordingly. inflate() provides as much output as possible, until there
- is no more input data or no more space in the output buffer (see below
- about the flush parameter).
-
- Before the call of inflate(), the application should ensure that at least
- one of the actions is possible, by providing more input and/or consuming
- more output, and updating the next_* and avail_* values accordingly.
- The application can consume the uncompressed output when it wants, for
- example when the output buffer is full (avail_out == 0), or after each
- call of inflate(). If inflate returns Z_OK and with zero avail_out, it
- must be called again after making room in the output buffer because there
- might be more output pending.
-
- The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH,
- Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much
- output as possible to the output buffer. Z_BLOCK requests that inflate() stop
- if and when it get to the next deflate block boundary. When decoding the zlib
- or gzip format, this will cause inflate() to return immediately after the
- header and before the first block. When doing a raw inflate, inflate() will
- go ahead and process the first block, and will return when it gets to the end
- of that block, or when it runs out of data.
-
- The Z_BLOCK option assists in appending to or combining deflate streams.
- Also to assist in this, on return inflate() will set strm->data_type to the
- number of unused bits in the last byte taken from strm->next_in, plus 64
- if inflate() is currently decoding the last block in the deflate stream,
- plus 128 if inflate() returned immediately after decoding an end-of-block
- code or decoding the complete header up to just before the first byte of the
- deflate stream. The end-of-block will not be indicated until all of the
- uncompressed data from that block has been written to strm->next_out. The
- number of unused bits may in general be greater than seven, except when
- bit 7 of data_type is set, in which case the number of unused bits will be
- less than eight.
-
- inflate() should normally be called until it returns Z_STREAM_END or an
- error. However if all decompression is to be performed in a single step
- (a single call of inflate), the parameter flush should be set to
- Z_FINISH. In this case all pending input is processed and all pending
- output is flushed; avail_out must be large enough to hold all the
- uncompressed data. (The size of the uncompressed data may have been saved
- by the compressor for this purpose.) The next operation on this stream must
- be inflateEnd to deallocate the decompression state. The use of Z_FINISH
- is never required, but can be used to inform inflate that a faster approach
- may be used for the single inflate() call.
-
- In this implementation, inflate() always flushes as much output as
- possible to the output buffer, and always uses the faster approach on the
- first call. So the only effect of the flush parameter in this implementation
- is on the return value of inflate(), as noted below, or when it returns early
- because Z_BLOCK is used.
-
- If a preset dictionary is needed after this call (see inflateSetDictionary
- below), inflate sets strm-adler to the adler32 checksum of the dictionary
- chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
- strm->adler to the adler32 checksum of all output produced so far (that is,
- total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
- below. At the end of the stream, inflate() checks that its computed adler32
- checksum is equal to that saved by the compressor and returns Z_STREAM_END
- only if the checksum is correct.
-
- inflate() will decompress and check either zlib-wrapped or gzip-wrapped
- deflate data. The header type is detected automatically. Any information
- contained in the gzip header is not retained, so applications that need that
- information should instead use raw inflate, see inflateInit2() below, or
- inflateBack() and perform their own processing of the gzip header and
- trailer.
-
- inflate() returns Z_OK if some progress has been made (more input processed
- or more output produced), Z_STREAM_END if the end of the compressed data has
- been reached and all uncompressed output has been produced, Z_NEED_DICT if a
- preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
- corrupted (input stream not conforming to the zlib format or incorrect check
- value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
- if next_in or next_out was NULL), Z_MEM_ERROR if there was not enough memory,
- Z_BUF_ERROR if no progress is possible or if there was not enough room in the
- output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
- inflate() can be called again with more input and more output space to
- continue decompressing. If Z_DATA_ERROR is returned, the application may then
- call inflateSync() to look for a good compression block if a partial recovery
- of the data is desired.
-*/
-
-
-ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
-/*
- All dynamically allocated data structures for this stream are freed.
- This function discards any unprocessed input and does not flush any
- pending output.
-
- inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
- was inconsistent. In the error case, msg may be set but then points to a
- static string (which must not be deallocated).
-*/
-
- /* Advanced functions */
-
-/*
- The following functions are needed only in some special applications.
-*/
-
-/*
-ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
- int level,
- int method,
- int windowBits,
- int memLevel,
- int strategy));
-
- This is another version of deflateInit with more compression options. The
- fields next_in, zalloc, zfree and opaque must be initialized before by
- the caller.
-
- The method parameter is the compression method. It must be Z_DEFLATED in
- this version of the library.
-
- The windowBits parameter is the base two logarithm of the window size
- (the size of the history buffer). It should be in the range 8..15 for this
- version of the library. Larger values of this parameter result in better
- compression at the expense of memory usage. The default value is 15 if
- deflateInit is used instead.
-
- windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
- determines the window size. deflate() will then generate raw deflate data
- with no zlib header or trailer, and will not compute an adler32 check value.
-
- windowBits can also be greater than 15 for optional gzip encoding. Add
- 16 to windowBits to write a simple gzip header and trailer around the
- compressed data instead of a zlib wrapper. The gzip header will have no
- file name, no extra data, no comment, no modification time (set to zero),
- no header crc, and the operating system will be set to 255 (unknown).
-
- The memLevel parameter specifies how much memory should be allocated
- for the internal compression state. memLevel=1 uses minimum memory but
- is slow and reduces compression ratio; memLevel=9 uses maximum memory
- for optimal speed. The default value is 8. See zconf.h for total memory
- usage as a function of windowBits and memLevel.
-
- The strategy parameter is used to tune the compression algorithm. Use the
- value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
- filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
- string match), or Z_RLE to limit match distances to one (run-length
- encoding). Filtered data consists mostly of small values with a somewhat
- random distribution. In this case, the compression algorithm is tuned to
- compress them better. The effect of Z_FILTERED is to force more Huffman
- coding and less string matching; it is somewhat intermediate between
- Z_DEFAULT and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as fast as
- Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy
- parameter only affects the compression ratio but not the correctness of the
- compressed output even if it is not set appropriately.
-
- deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as an invalid
- method). msg is set to null if there is no error message. deflateInit2 does
- not perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the compression dictionary from the given byte sequence
- without producing any compressed output. This function must be called
- immediately after deflateInit, deflateInit2 or deflateReset, before any
- call of deflate. The compressor and decompressor must use exactly the same
- dictionary (see inflateSetDictionary).
-
- The dictionary should consist of strings (byte sequences) that are likely
- to be encountered later in the data to be compressed, with the most commonly
- used strings preferably put towards the end of the dictionary. Using a
- dictionary is most useful when the data to be compressed is short and can be
- predicted with good accuracy; the data can then be compressed better than
- with the default empty dictionary.
-
- Depending on the size of the compression data structures selected by
- deflateInit or deflateInit2, a part of the dictionary may in effect be
- discarded, for example if the dictionary is larger than the window size in
- deflate or deflate2. Thus the strings most likely to be useful should be
- put at the end of the dictionary, not at the front.
-
- Upon return of this function, strm->adler is set to the adler32 value
- of the dictionary; the decompressor may later use this value to determine
- which dictionary has been used by the compressor. (The adler32 value
- applies to the whole dictionary even if only a subset of the dictionary is
- actually used by the compressor.) If a raw deflate was requested, then the
- adler32 value is not computed and strm->adler is not set.
-
- deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent (for example if deflate has already been called for this stream
- or if the compression method is bsort). deflateSetDictionary does not
- perform any compression: this will be done by deflate().
-*/
-
-ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when several compression strategies will be
- tried, for example when there are several ways of pre-processing the input
- data with a filter. The streams that will be discarded should then be freed
- by calling deflateEnd. Note that deflateCopy duplicates the internal
- compression state which can be quite large, so this strategy is slow and
- can consume lots of memory.
-
- deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
-/*
- This function is equivalent to deflateEnd followed by deflateInit,
- but does not free and reallocate all the internal compression state.
- The stream will keep the same compression level and any other attributes
- that may have been set by deflateInit2.
-
- deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
- int level,
- int strategy));
-/*
- Dynamically update the compression level and compression strategy. The
- interpretation of level and strategy is as in deflateInit2. This can be
- used to switch between compression and straight copy of the input data, or
- to switch to a different kind of input data requiring a different
- strategy. If the compression level is changed, the input available so far
- is compressed with the old level (and may be flushed); the new level will
- take effect only at the next call of deflate().
-
- Before the call of deflateParams, the stream state must be set as for
- a call of deflate(), since the currently available input may have to
- be compressed and flushed. In particular, strm->avail_out must be non-zero.
-
- deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
- stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR
- if strm->avail_out was zero.
-*/
-
-ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
- uLong sourceLen));
-/*
- deflateBound() returns an upper bound on the compressed size after
- deflation of sourceLen bytes. It must be called after deflateInit()
- or deflateInit2(). This would be used to allocate an output buffer
- for deflation in a single pass, and so would be called before deflate().
-*/
-
-ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
- int bits,
- int value));
-/*
- deflatePrime() inserts bits in the deflate output stream. The intent
- is that this function is used to start off the deflate output with the
- bits leftover from a previous deflate stream when appending to it. As such,
- this function can only be used for raw deflate, and must be used before the
- first deflate() call after a deflateInit2() or deflateReset(). bits must be
- less than or equal to 16, and that many of the least significant bits of
- value will be inserted in the output.
-
- deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent.
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
- int windowBits));
-
- This is another version of inflateInit with an extra parameter. The
- fields next_in, avail_in, zalloc, zfree and opaque must be initialized
- before by the caller.
-
- The windowBits parameter is the base two logarithm of the maximum window
- size (the size of the history buffer). It should be in the range 8..15 for
- this version of the library. The default value is 15 if inflateInit is used
- instead. windowBits must be greater than or equal to the windowBits value
- provided to deflateInit2() while compressing, or it must be equal to 15 if
- deflateInit2() was not used. If a compressed stream with a larger window
- size is given as input, inflate() will return with the error code
- Z_DATA_ERROR instead of trying to allocate a larger window.
-
- windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
- determines the window size. inflate() will then process raw deflate data,
- not looking for a zlib or gzip header, not generating a check value, and not
- looking for any check values for comparison at the end of the stream. This
- is for use with other formats that use the deflate compressed data format
- such as zip. Those formats provide their own check values. If a custom
- format is developed using the raw deflate format for compressed data, it is
- recommended that a check value such as an adler32 or a crc32 be applied to
- the uncompressed data as is done in the zlib, gzip, and zip formats. For
- most applications, the zlib format should be used as is. Note that comments
- above on the use in deflateInit2() applies to the magnitude of windowBits.
-
- windowBits can also be greater than 15 for optional gzip decoding. Add
- 32 to windowBits to enable zlib and gzip decoding with automatic header
- detection, or add 16 to decode only the gzip format (the zlib format will
- return a Z_DATA_ERROR).
-
- inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative
- memLevel). msg is set to null if there is no error message. inflateInit2
- does not perform any decompression apart from reading the zlib header if
- present: this will be done by inflate(). (So next_in and avail_in may be
- modified, but next_out and avail_out are unchanged.)
-*/
-
-ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
- const Bytef *dictionary,
- uInt dictLength));
-/*
- Initializes the decompression dictionary from the given uncompressed byte
- sequence. This function must be called immediately after a call of inflate
- if this call returned Z_NEED_DICT. The dictionary chosen by the compressor
- can be determined from the adler32 value returned by this call of
- inflate. The compressor and decompressor must use exactly the same
- dictionary (see deflateSetDictionary).
-
- inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
- parameter is invalid (such as NULL dictionary) or the stream state is
- inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
- expected one (incorrect adler32 value). inflateSetDictionary does not
- perform any decompression: this will be done by subsequent calls of
- inflate().
-*/
-
-ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
-/*
- Skips invalid compressed data until a full flush point (see above the
- description of deflate with Z_FULL_FLUSH) can be found, or until all
- available input is skipped. No output is provided.
-
- inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
- if no more input was provided, Z_DATA_ERROR if no flush point has been found,
- or Z_STREAM_ERROR if the stream structure was inconsistent. In the success
- case, the application may save the current current value of total_in which
- indicates where valid compressed data was found. In the error case, the
- application may repeatedly call inflateSync, providing more input each time,
- until success or end of the input data.
-*/
-
-ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
- z_streamp source));
-/*
- Sets the destination stream as a complete copy of the source stream.
-
- This function can be useful when randomly accessing a large stream. The
- first pass through the stream can periodically record the inflate state,
- allowing restarting inflate at those points when randomly accessing the
- stream.
-
- inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
- (such as zalloc being NULL). msg is left unchanged in both source and
- destination.
-*/
-
-ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
-/*
- This function is equivalent to inflateEnd followed by inflateInit,
- but does not free and reallocate all the internal decompression state.
- The stream will keep attributes that may have been set by inflateInit2.
-
- inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
- stream state was inconsistent (such as zalloc or state being NULL).
-*/
-
-/*
-ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits,
- unsigned char FAR *window));
-
- Initialize the internal stream state for decompression using inflateBack()
- calls. The fields zalloc, zfree and opaque in strm must be initialized
- before the call. If zalloc and zfree are Z_NULL, then the default library-
- derived memory allocation routines are used. windowBits is the base two
- logarithm of the window size, in the range 8..15. window is a caller
- supplied buffer of that size. Except for special applications where it is
- assured that deflate was used with small window sizes, windowBits must be 15
- and a 32K byte window must be supplied to be able to decompress general
- deflate streams.
-
- See inflateBack() for the usage of these routines.
-
- inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
- the paramaters are invalid, Z_MEM_ERROR if the internal state could not
- be allocated, or Z_VERSION_ERROR if the version of the library does not
- match the version of the header file.
-*/
-
-typedef unsigned (*in_func) OF((void FAR *, unsigned char FAR * FAR *));
-typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
-
-ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm,
- in_func in, void FAR *in_desc,
- out_func out, void FAR *out_desc));
-/*
- inflateBack() does a raw inflate with a single call using a call-back
- interface for input and output. This is more efficient than inflate() for
- file i/o applications in that it avoids copying between the output and the
- sliding window by simply making the window itself the output buffer. This
- function trusts the application to not change the output buffer passed by
- the output function, at least until inflateBack() returns.
-
- inflateBackInit() must be called first to allocate the internal state
- and to initialize the state with the user-provided window buffer.
- inflateBack() may then be used multiple times to inflate a complete, raw
- deflate stream with each call. inflateBackEnd() is then called to free
- the allocated state.
-
- A raw deflate stream is one with no zlib or gzip header or trailer.
- This routine would normally be used in a utility that reads zip or gzip
- files and writes out uncompressed files. The utility would decode the
- header and process the trailer on its own, hence this routine expects
- only the raw deflate stream to decompress. This is different from the
- normal behavior of inflate(), which expects either a zlib or gzip header and
- trailer around the deflate stream.
-
- inflateBack() uses two subroutines supplied by the caller that are then
- called by inflateBack() for input and output. inflateBack() calls those
- routines until it reads a complete deflate stream and writes out all of the
- uncompressed data, or until it encounters an error. The function's
- parameters and return types are defined above in the in_func and out_func
- typedefs. inflateBack() will call in(in_desc, &buf) which should return the
- number of bytes of provided input, and a pointer to that input in buf. If
- there is no input available, in() must return zero--buf is ignored in that
- case--and inflateBack() will return a buffer error. inflateBack() will call
- out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
- should return zero on success, or non-zero on failure. If out() returns
- non-zero, inflateBack() will return with an error. Neither in() nor out()
- are permitted to change the contents of the window provided to
- inflateBackInit(), which is also the buffer that out() uses to write from.
- The length written by out() will be at most the window size. Any non-zero
- amount of input may be provided by in().
-
- For convenience, inflateBack() can be provided input on the first call by
- setting strm->next_in and strm->avail_in. If that input is exhausted, then
- in() will be called. Therefore strm->next_in must be initialized before
- calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
- immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
- must also be initialized, and then if strm->avail_in is not zero, input will
- initially be taken from strm->next_in[0 .. strm->avail_in - 1].
-
- The in_desc and out_desc parameters of inflateBack() is passed as the
- first parameter of in() and out() respectively when they are called. These
- descriptors can be optionally used to pass any information that the caller-
- supplied in() and out() functions need to do their job.
-
- On return, inflateBack() will set strm->next_in and strm->avail_in to
- pass back any unused input that was provided by the last in() call. The
- return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
- if in() or out() returned an error, Z_DATA_ERROR if there was a format
- error in the deflate stream (in which case strm->msg is set to indicate the
- nature of the error), or Z_STREAM_ERROR if the stream was not properly
- initialized. In the case of Z_BUF_ERROR, an input or output error can be
- distinguished using strm->next_in which will be Z_NULL only if in() returned
- an error. If strm->next is not Z_NULL, then the Z_BUF_ERROR was due to
- out() returning non-zero. (in() will always be called before out(), so
- strm->next_in is assured to be defined if out() returns non-zero.) Note
- that inflateBack() cannot return Z_OK.
-*/
-
-ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm));
-/*
- All memory allocated by inflateBackInit() is freed.
-
- inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
- state was inconsistent.
-*/
-
-ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
-/* Return flags indicating compile-time options.
-
- Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
- 1.0: size of uInt
- 3.2: size of uLong
- 5.4: size of voidpf (pointer)
- 7.6: size of z_off_t
-
- Compiler, assembler, and debug options:
- 8: DEBUG
- 9: ASMV or ASMINF -- use ASM code
- 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
- 11: 0 (reserved)
-
- One-time table building (smaller code, but not thread-safe if true):
- 12: BUILDFIXED -- build static block decoding tables when needed
- 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
- 14,15: 0 (reserved)
-
- Library content (indicates missing functionality):
- 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
- deflate code when not needed)
- 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
- and decode gzip streams (to avoid linking crc code)
- 18-19: 0 (reserved)
-
- Operation variations (changes in library functionality):
- 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
- 21: FASTEST -- deflate algorithm with only one, lowest compression level
- 22,23: 0 (reserved)
-
- The sprintf variant used by gzprintf (zero is best):
- 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
- 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
- 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
-
- Remainder:
- 27-31: 0 (reserved)
- */
-
-
- /* utility functions */
-
-/*
- The following utility functions are implemented on top of the
- basic stream-oriented functions. To simplify the interface, some
- default options are assumed (compression level and memory usage,
- standard memory allocation functions). The source code of these
- utility functions can easily be modified if you need special options.
-*/
-
-ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Compresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be at least the value returned
- by compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
- This function can be used to compress a whole file at once if the
- input file is mmap'ed.
- compress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer.
-*/
-
-ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen,
- int level));
-/*
- Compresses the source buffer into the destination buffer. The level
- parameter has the same meaning as in deflateInit. sourceLen is the byte
- length of the source buffer. Upon entry, destLen is the total size of the
- destination buffer, which must be at least the value returned by
- compressBound(sourceLen). Upon exit, destLen is the actual size of the
- compressed buffer.
-
- compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
- memory, Z_BUF_ERROR if there was not enough room in the output buffer,
- Z_STREAM_ERROR if the level parameter is invalid.
-*/
-
-ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
-/*
- compressBound() returns an upper bound on the compressed size after
- compress() or compress2() on sourceLen bytes. It would be used before
- a compress() or compress2() call to allocate the destination buffer.
-*/
-
-ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
- const Bytef *source, uLong sourceLen));
-/*
- Decompresses the source buffer into the destination buffer. sourceLen is
- the byte length of the source buffer. Upon entry, destLen is the total
- size of the destination buffer, which must be large enough to hold the
- entire uncompressed data. (The size of the uncompressed data must have
- been saved previously by the compressor and transmitted to the decompressor
- by some mechanism outside the scope of this compression library.)
- Upon exit, destLen is the actual size of the compressed buffer.
- This function can be used to decompress a whole file at once if the
- input file is mmap'ed.
-
- uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
- enough memory, Z_BUF_ERROR if there was not enough room in the output
- buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
-*/
-
-
-typedef voidp gzFile;
-
-ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
-/*
- Opens a gzip (.gz) file for reading or writing. The mode parameter
- is as in fopen ("rb" or "wb") but can also include a compression level
- ("wb9") or a strategy: 'f' for filtered data as in "wb6f", 'h' for
- Huffman only compression as in "wb1h", or 'R' for run-length encoding
- as in "wb1R". (See the description of deflateInit2 for more information
- about the strategy parameter.)
-
- gzopen can be used to read a file which is not in gzip format; in this
- case gzread will directly read from the file without decompression.
-
- gzopen returns NULL if the file could not be opened or if there was
- insufficient memory to allocate the (de)compression state; errno
- can be checked to distinguish the two cases (if errno is zero, the
- zlib error is Z_MEM_ERROR). */
-
-ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
-/*
- gzdopen() associates a gzFile with the file descriptor fd. File
- descriptors are obtained from calls like open, dup, creat, pipe or
- fileno (in the file has been previously opened with fopen).
- The mode parameter is as in gzopen.
- The next call of gzclose on the returned gzFile will also close the
- file descriptor fd, just like fclose(fdopen(fd), mode) closes the file
- descriptor fd. If you want to keep fd open, use gzdopen(dup(fd), mode).
- gzdopen returns NULL if there was insufficient memory to allocate
- the (de)compression state.
-*/
-
-ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
-/*
- Dynamically update the compression level or strategy. See the description
- of deflateInit2 for the meaning of these parameters.
- gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
- opened for writing.
-*/
-
-ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
-/*
- Reads the given number of uncompressed bytes from the compressed file.
- If the input file was not in gzip format, gzread copies the given number
- of bytes into the buffer.
- gzread returns the number of uncompressed bytes actually read (0 for
- end of file, -1 for error). */
-
-ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
- voidpc buf, unsigned len));
-/*
- Writes the given number of uncompressed bytes into the compressed file.
- gzwrite returns the number of uncompressed bytes actually written
- (0 in case of error).
-*/
-
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
-/*
- Converts, formats, and writes the args to the compressed file under
- control of the format string, as in fprintf. gzprintf returns the number of
- uncompressed bytes actually written (0 in case of error). The number of
- uncompressed bytes written is limited to 4095. The caller should assure that
- this limit is not exceeded. If it is exceeded, then gzprintf() will return
- return an error (0) with nothing written. In this case, there may also be a
- buffer overflow with unpredictable consequences, which is possible only if
- zlib was compiled with the insecure functions sprintf() or vsprintf()
- because the secure snprintf() or vsnprintf() functions were not available.
-*/
-
-ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
-/*
- Writes the given null-terminated string to the compressed file, excluding
- the terminating null character.
- gzputs returns the number of characters written, or -1 in case of error.
-*/
-
-ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
-/*
- Reads bytes from the compressed file until len-1 characters are read, or
- a newline character is read and transferred to buf, or an end-of-file
- condition is encountered. The string is then terminated with a null
- character.
- gzgets returns buf, or Z_NULL in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
-/*
- Writes c, converted to an unsigned char, into the compressed file.
- gzputc returns the value that was written, or -1 in case of error.
-*/
-
-ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
-/*
- Reads one byte from the compressed file. gzgetc returns this byte
- or -1 in case of end of file or error.
-*/
-
-ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
-/*
- Push one character back onto the stream to be read again later.
- Only one character of push-back is allowed. gzungetc() returns the
- character pushed, or -1 on failure. gzungetc() will fail if a
- character has been pushed but not read yet, or if c is -1. The pushed
- character will be discarded if the stream is repositioned with gzseek()
- or gzrewind().
-*/
-
-ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
-/*
- Flushes all pending output into the compressed file. The parameter
- flush is as in the deflate() function. The return value is the zlib
- error number (see function gzerror below). gzflush returns Z_OK if
- the flush parameter is Z_FINISH and all output could be flushed.
- gzflush should be called only when strictly necessary because it can
- degrade compression.
-*/
-
-ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
- z_off_t offset, int whence));
-/*
- Sets the starting position for the next gzread or gzwrite on the
- given compressed file. The offset represents a number of bytes in the
- uncompressed data stream. The whence parameter is defined as in lseek(2);
- the value SEEK_END is not supported.
- If the file is opened for reading, this function is emulated but can be
- extremely slow. If the file is opened for writing, only forward seeks are
- supported; gzseek then compresses a sequence of zeroes up to the new
- starting position.
-
- gzseek returns the resulting offset location as measured in bytes from
- the beginning of the uncompressed stream, or -1 in case of error, in
- particular if the file is opened for writing and the new starting position
- would be before the current position.
-*/
-
-ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
-/*
- Rewinds the given file. This function is supported only for reading.
-
- gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
-*/
-
-ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
-/*
- Returns the starting position for the next gzread or gzwrite on the
- given compressed file. This position represents a number of bytes in the
- uncompressed data stream.
-
- gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
-*/
-
-ZEXTERN int ZEXPORT gzeof OF((gzFile file));
-/*
- Returns 1 when EOF has previously been detected reading the given
- input stream, otherwise zero.
-*/
-
-ZEXTERN int ZEXPORT gzclose OF((gzFile file));
-/*
- Flushes all pending output if necessary, closes the compressed file
- and deallocates all the (de)compression state. The return value is the zlib
- error number (see function gzerror below).
-*/
-
-ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
-/*
- Returns the error message for the last error which occurred on the
- given compressed file. errnum is set to zlib error number. If an
- error occurred in the file system and not in the compression library,
- errnum is set to Z_ERRNO and the application may consult errno
- to get the exact error code.
-*/
-
-ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
-/*
- Clears the error and end-of-file flags for file. This is analogous to the
- clearerr() function in stdio. This is useful for continuing to read a gzip
- file that is being written concurrently.
-*/
-
- /* checksum functions */
-
-/*
- These functions are not related to compression but are exported
- anyway because they might be useful in applications using the
- compression library.
-*/
-
-ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
-
-/*
- Update a running Adler-32 checksum with the bytes buf[0..len-1] and
- return the updated checksum. If buf is NULL, this function returns
- the required initial value for the checksum.
- An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
- much faster. Usage example:
-
- uLong adler = adler32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- adler = adler32(adler, buffer, length);
- }
- if (adler != original_adler) error();
-*/
-
-ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
-/*
- Update a running crc with the bytes buf[0..len-1] and return the updated
- crc. If buf is NULL, this function returns the required initial value
- for the crc. Pre- and post-conditioning (one's complement) is performed
- within this function so it shouldn't be done by the application.
- Usage example:
-
- uLong crc = crc32(0L, Z_NULL, 0);
-
- while (read_buffer(buffer, length) != EOF) {
- crc = crc32(crc, buffer, length);
- }
- if (crc != original_crc) error();
-*/
-
-
- /* various hacks, don't look :) */
-
-/* deflateInit and inflateInit are macros to allow checking the zlib version
- * and the compiler's view of z_stream:
- */
-ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
- int windowBits, int memLevel,
- int strategy, const char *version,
- int stream_size));
-ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
- const char *version, int stream_size));
-ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits,
- unsigned char FAR *window,
- const char *version,
- int stream_size));
-#define deflateInit(strm, level) \
- deflateInit_((strm), (level), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit(strm) \
- inflateInit_((strm), ZLIB_VERSION, sizeof(z_stream))
-#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
- deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
- (strategy), ZLIB_VERSION, sizeof(z_stream))
-#define inflateInit2(strm, windowBits) \
- inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
-#define inflateBackInit(strm, windowBits, window) \
- inflateBackInit_((strm), (windowBits), (window), \
- ZLIB_VERSION, sizeof(z_stream))
-
-
-#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
- struct internal_state {int dummy;}; /* hack for buggy compilers */
-#endif
-
-ZEXTERN const char * ZEXPORT zError OF((int err));
-ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z));
-ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void));
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ZLIB_H */
diff --git a/plugins/CDVDiso_vs2008.sln b/plugins/CDVDiso_vs2008.sln
deleted file mode 100644
index ba699f154f..0000000000
--- a/plugins/CDVDiso_vs2008.sln
+++ /dev/null
@@ -1,20 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CDVDiso", "CDVDiso\src\Win32\CDVDiso_vs2008.vcproj", "{5F78E90B-BD22-47B1-9CA5-7A80F4DF5EF3}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {5F78E90B-BD22-47B1-9CA5-7A80F4DF5EF3}.Debug|Win32.ActiveCfg = Debug|Win32
- {5F78E90B-BD22-47B1-9CA5-7A80F4DF5EF3}.Debug|Win32.Build.0 = Debug|Win32
- {5F78E90B-BD22-47B1-9CA5-7A80F4DF5EF3}.Release|Win32.ActiveCfg = Release|Win32
- {5F78E90B-BD22-47B1-9CA5-7A80F4DF5EF3}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/CDVDnull/Src/CDVDnull.def b/plugins/CDVDnull/Src/CDVDnull.def
index 18fb48080a..2fee123e61 100644
--- a/plugins/CDVDnull/Src/CDVDnull.def
+++ b/plugins/CDVDnull/Src/CDVDnull.def
@@ -1,7 +1,7 @@
; CDVDnull.def : Declares the module parameters for the DLL.
LIBRARY "CDVDnull"
-DESCRIPTION 'CDVD Null Driver'
+;DESCRIPTION 'CDVD Null Driver'
EXPORTS
; Explicit exports can go here
diff --git a/plugins/CDVDnull/Src/CDVDnull.dsp b/plugins/CDVDnull/Src/CDVDnull.dsp
deleted file mode 100644
index 5e02435d1f..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull.dsp
+++ /dev/null
@@ -1,90 +0,0 @@
-# Microsoft Developer Studio Project File - Name="CDVDnull" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=CDVDNULL - WIN32 RELEASE
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "CDVDnull.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "CDVDnull.mak" CFG="CDVDNULL - WIN32 RELEASE"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "CDVDnull - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "__MSCW32__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CDVDNULL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "__MSCW32__" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CDVDNULL_EXPORTS" /D "__WIN32__" /FD /c
-# SUBTRACT CPP /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x2c0a /d "NDEBUG"
-# ADD RSC /l 0x2c0a /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# Begin Target
-
-# Name "CDVDnull - Win32 Release"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\CDVD.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\CDVDnull.def
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\CDVD.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\PS2Edefs.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\PS2Etypes.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/plugins/CDVDnull/Src/CDVDnull.dsw b/plugins/CDVDnull/Src/CDVDnull.dsw
deleted file mode 100644
index ca22d5ba79..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "CDVDnull"=".\CDVDnull.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/plugins/CDVDnull/Src/CDVDnull.opt b/plugins/CDVDnull/Src/CDVDnull.opt
deleted file mode 100644
index 13a3499ad3..0000000000
Binary files a/plugins/CDVDnull/Src/CDVDnull.opt and /dev/null differ
diff --git a/plugins/CDVDnull/Src/CDVDnull.plg b/plugins/CDVDnull/Src/CDVDnull.plg
deleted file mode 100644
index 7241554538..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull.plg
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-Build Log
-
---------------------Configuration: CDVDnull - Win32 Release--------------------
-
-Command Lines
-Creating temporary file "C:\DOCUME~1\marcelo\LOCALS~1\Temp\RSP89.tmp" with contents
-[
-/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CDVDNULL_EXPORTS" /D "__WIN32__" /Fo"Release/" /Fd"Release/" /FD /c
-"C:\pcsx2\plugins\cdvd\CDVDnull\Src\CDVD.c"
-]
-Creating command line "xicl6.exe @C:\DOCUME~1\marcelo\LOCALS~1\Temp\RSP89.tmp"
-Creating temporary file "C:\DOCUME~1\marcelo\LOCALS~1\Temp\RSP8A.tmp" with contents
-[
-kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"Release/CDVDnull.pdb" /machine:I386 /def:".\CDVDnull.def" /out:"Release/CDVDnull.dll" /implib:"Release/CDVDnull.lib"
-.\Release\CDVD.obj
-]
-Creating command line "xilink6.exe @C:\DOCUME~1\marcelo\LOCALS~1\Temp\RSP8A.tmp"
-Output Window
-Compiling...
-CDVD.c
-Linking...
-xilink6: executing 'C:\PROGRA~1\MICROS~2\VC98\Bin\link.exe'
- Creating library Release/CDVDnull.lib and object Release/CDVDnull.exp
-
-
-
-Results
-CDVDnull.dll - 0 error(s), 0 warning(s)
-
-
-
diff --git a/plugins/CDVDnull/Src/CDVDnull.sln b/plugins/CDVDnull/Src/CDVDnull.sln
deleted file mode 100644
index 4336fc793a..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull.sln
+++ /dev/null
@@ -1,18 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CDVDnull", "CDVDnull.vcproj", "{F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}"
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- ConfigName.0 = Release
- EndGlobalSection
- GlobalSection(ProjectDependencies) = postSolution
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release.ActiveCfg = Release|Win32
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/plugins/CDVDnull/Src/CDVDnull.vcproj b/plugins/CDVDnull/Src/CDVDnull.vcproj
deleted file mode 100644
index 632c7b4250..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull.vcproj
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/CDVDnull/Src/CDVDnull_2003.sln b/plugins/CDVDnull/Src/CDVDnull_2003.sln
deleted file mode 100644
index c0b7d9093e..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull_2003.sln
+++ /dev/null
@@ -1,18 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CDVDnull", "CDVDnull_2003.vcproj", "{F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release.ActiveCfg = Release|Win32
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
diff --git a/plugins/CDVDnull/Src/CDVDnull_2003.vcproj b/plugins/CDVDnull/Src/CDVDnull_2003.vcproj
deleted file mode 100644
index 863e3909e7..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull_2003.vcproj
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/CDVDnull/Src/CDVDnull_2005_x64.sln b/plugins/CDVDnull/Src/CDVDnull_2005_x64.sln
deleted file mode 100644
index 28148839fa..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull_2005_x64.sln
+++ /dev/null
@@ -1,17 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CDVDnull", "CDVDnull_2005_x64.vcproj", "{F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release|x64.ActiveCfg = amd64|x64
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release|x64.Build.0 = amd64|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/CDVDnull/Src/CDVDnull_2005_x64.vcproj b/plugins/CDVDnull/Src/CDVDnull_2005_x64.vcproj
deleted file mode 100644
index 466b0f3052..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull_2005_x64.vcproj
+++ /dev/null
@@ -1,607 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/CDVDnull/Src/CDVDnull_vs2008.vcproj b/plugins/CDVDnull/Src/CDVDnull_vs2008.vcproj
new file mode 100644
index 0000000000..4cff1f46a5
--- /dev/null
+++ b/plugins/CDVDnull/Src/CDVDnull_vs2008.vcproj
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/CDVDnull/Src/CDVDnull_vsnet2005beta1.sln b/plugins/CDVDnull/Src/CDVDnull_vsnet2005beta1.sln
deleted file mode 100644
index 349a3a17ab..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull_vsnet2005beta1.sln
+++ /dev/null
@@ -1,17 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CDVDnull", "CDVDnull_vsnet2005beta1.vcproj", "{F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release|Win32.ActiveCfg = Release|Win32
- {F38D9DF0-F68D-49D9-B3A0-932E74FB74A0}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/plugins/CDVDnull/Src/CDVDnull_vsnet2005beta1.vcproj b/plugins/CDVDnull/Src/CDVDnull_vsnet2005beta1.vcproj
deleted file mode 100644
index 097ba19f38..0000000000
--- a/plugins/CDVDnull/Src/CDVDnull_vsnet2005beta1.vcproj
+++ /dev/null
@@ -1,418 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/CDVDnull/Src/PS2Edefs.h b/plugins/CDVDnull/Src/PS2Edefs.h
deleted file mode 100644
index 9b6d49a2f3..0000000000
--- a/plugins/CDVDnull/Src/PS2Edefs.h
+++ /dev/null
@@ -1,827 +0,0 @@
-#ifndef __PS2EDEFS_H__
-#define __PS2EDEFS_H__
-
-/*
- * PS2E Definitions v0.6.2 (beta)
- *
- * Author: linuzappz@hotmail.com
- * shadowpcsx2@yahoo.gr
- * florinsasu@hotmail.com
- */
-
-/*
- Notes:
- * Since this is still beta things may change.
-
- * OSflags:
- __LINUX__ (linux OS)
- _WIN32 (win32 OS)
-
- * common return values (for ie. GSinit):
- 0 - success
- -1 - error
-
- * reserved keys:
- F1 to F10 are reserved for the emulator
-
- * plugins should NOT change the current
- working directory.
- (on win32, add flag OFN_NOCHANGEDIR for
- GetOpenFileName)
-
-*/
-
-#include "PS2Etypes.h"
-
-#ifdef __LINUX__
-#define CALLBACK
-#else
-#include
-#endif
-
-
-/* common defines */
-#ifndef C_ASSERT
-#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
-#endif
-
-#if defined(GSdefs) || defined(PADdefs) || defined(SIOdefs) || \
- defined(SPU2defs) || defined(CDVDdefs) || defined(DEV9defs) || \
- defined(USBdefs) || defined(FWdefs)
-#define COMMONdefs
-#endif
-
-// PS2EgetLibType returns (may be OR'd)
-#define PS2E_LT_GS 0x01
-#define PS2E_LT_PAD 0x02 // -=[ OBSOLETE ]=-
-#define PS2E_LT_SPU2 0x04
-#define PS2E_LT_CDVD 0x08
-#define PS2E_LT_DEV9 0x10
-#define PS2E_LT_USB 0x20
-#define PS2E_LT_FW 0x40
-#define PS2E_LT_SIO 0x80
-
-// PS2EgetLibVersion2 (high 16 bits)
-#define PS2E_GS_VERSION 0x0006
-#define PS2E_PAD_VERSION 0x0002 // -=[ OBSOLETE ]=-
-#define PS2E_SPU2_VERSION 0x0005
-#define PS2E_CDVD_VERSION 0x0005
-#define PS2E_DEV9_VERSION 0x0003
-#define PS2E_USB_VERSION 0x0003
-#define PS2E_FW_VERSION 0x0002
-#define PS2E_SIO_VERSION 0x0001
-#ifdef COMMONdefs
-
-u32 CALLBACK PS2EgetLibType(void);
-u32 CALLBACK PS2EgetLibVersion2(u32 type);
-char* CALLBACK PS2EgetLibName(void);
-
-#endif
-
-// key values:
-/* key values must be OS dependant:
- win32: the VK_XXX will be used (WinUser)
- linux: the XK_XXX will be used (XFree86)
-*/
-
-// event values:
-#define KEYPRESS 1
-#define KEYRELEASE 2
-
-typedef struct {
- u32 key;
- u32 event;
-} keyEvent;
-
-// for 64bit compilers
-typedef char __keyEvent_Size__[(sizeof(keyEvent) == 8)?1:-1];
-
-// plugin types
-#define SIO_TYPE_PAD 0x00000001
-#define SIO_TYPE_MTAP 0x00000004
-#define SIO_TYPE_RM 0x00000040
-#define SIO_TYPE_MC 0x00000100
-
-typedef int (CALLBACK * SIOchangeSlotCB)(int slot);
-
-typedef struct {
- u8 ctrl:4; // control and mode bits
- u8 mode:4; // control and mode bits
- u8 trackNum; // current track number (1 to 99)
- u8 trackIndex; // current index within track (0 to 99)
- u8 trackM; // current minute location on the disc (BCD encoded)
- u8 trackS; // current sector location on the disc (BCD encoded)
- u8 trackF; // current frame location on the disc (BCD encoded)
- u8 pad; // unused
- u8 discM; // current minute offset from first track (BCD encoded)
- u8 discS; // current sector offset from first track (BCD encoded)
- u8 discF; // current frame offset from first track (BCD encoded)
-} cdvdSubQ;
-
-typedef struct { // NOT bcd coded
- u32 lsn;
- u8 type;
-} cdvdTD;
-
-typedef struct {
- u8 strack; //number of the first track (usually 1)
- u8 etrack; //number of the last track
-} cdvdTN;
-
-// CDVDreadTrack mode values:
-#define CDVD_MODE_2352 0 // full 2352 bytes
-#define CDVD_MODE_2340 1 // skip sync (12) bytes
-#define CDVD_MODE_2328 2 // skip sync+head+sub (24) bytes
-#define CDVD_MODE_2048 3 // skip sync+head+sub (24) bytes
-#define CDVD_MODE_2368 4 // full 2352 bytes + 16 subq
-
-// CDVDgetDiskType returns:
-#define CDVD_TYPE_ILLEGAL 0xff // Illegal Disc
-#define CDVD_TYPE_DVDV 0xfe // DVD Video
-#define CDVD_TYPE_CDDA 0xfd // Audio CD
-#define CDVD_TYPE_PS2DVD 0x14 // PS2 DVD
-#define CDVD_TYPE_PS2CDDA 0x13 // PS2 CD (with audio)
-#define CDVD_TYPE_PS2CD 0x12 // PS2 CD
-#define CDVD_TYPE_PSCDDA 0x11 // PS CD (with audio)
-#define CDVD_TYPE_PSCD 0x10 // PS CD
-#define CDVD_TYPE_UNKNOWN 0x05 // Unknown
-#define CDVD_TYPE_DETCTDVDD 0x04 // Detecting Dvd Dual Sided
-#define CDVD_TYPE_DETCTDVDS 0x03 // Detecting Dvd Single Sided
-#define CDVD_TYPE_DETCTCD 0x02 // Detecting Cd
-#define CDVD_TYPE_DETCT 0x01 // Detecting
-#define CDVD_TYPE_NODISC 0x00 // No Disc
-
-// CDVDgetTrayStatus returns:
-#define CDVD_TRAY_CLOSE 0x00
-#define CDVD_TRAY_OPEN 0x01
-
-// cdvdTD.type (track types for cds)
-#define CDVD_AUDIO_TRACK 0x01
-#define CDVD_MODE1_TRACK 0x41
-#define CDVD_MODE2_TRACK 0x61
-
-#define CDVD_AUDIO_MASK 0x00
-#define CDVD_DATA_MASK 0x40
-// CDROM_DATA_TRACK 0x04 //do not enable this! (from linux kernel)
-
-typedef void (*DEV9callback)(int cycles);
-typedef int (*DEV9handler)(void);
-
-typedef void (*USBcallback)(int cycles);
-typedef int (*USBhandler)(void);
-
-// freeze modes:
-#define FREEZE_LOAD 0
-#define FREEZE_SAVE 1
-#define FREEZE_SIZE 2
-
-typedef struct {
- char name[8];
- void *common;
-} GSdriverInfo;
-
-#ifdef _WIN32
-typedef struct { // unsupported values must be set to zero
- HWND hWnd;
- HMENU hMenu;
- HWND hStatusWnd;
-} winInfo;
-#endif
-
-/* GS plugin API */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef GSdefs
-
-// basic funcs
-
-s32 CALLBACK GSinit();
-s32 CALLBACK GSopen(void *pDsp, char *Title, int multithread);
-void CALLBACK GSclose();
-void CALLBACK GSshutdown();
-void CALLBACK GSvsync(int field);
-void CALLBACK GSgifTransfer1(u32 *pMem, u32 addr);
-void CALLBACK GSgifTransfer2(u32 *pMem, u32 size);
-void CALLBACK GSgifTransfer3(u32 *pMem, u32 size);
-void CALLBACK GSgetLastTag(u64* ptag); // returns the last tag processed (64 bits)
-void CALLBACK GSgifSoftReset(u32 mask);
-void CALLBACK GSreadFIFO(u64 *mem);
-void CALLBACK GSreadFIFO2(u64 *mem, int qwc);
-
-// extended funcs
-
-// GSkeyEvent gets called when there is a keyEvent from the PAD plugin
-void CALLBACK GSkeyEvent(keyEvent *ev);
-void CALLBACK GSchangeSaveState(int, const char* filename);
-void CALLBACK GSmakeSnapshot(char *path);
-void CALLBACK GSmakeSnapshot2(char *pathname, int* snapdone, int savejpg);
-void CALLBACK GSirqCallback(void (*callback)());
-void CALLBACK GSprintf(int timeout, char *fmt, ...);
-void CALLBACK GSsetBaseMem(void*);
-void CALLBACK GSsetGameCRC(int crc, int gameoptions);
-
-// controls frame skipping in the GS, if this routine isn't present, frame skipping won't be done
-void CALLBACK GSsetFrameSkip(int frameskip);
-
-void CALLBACK GSreset();
-void CALLBACK GSwriteCSR(u32 value);
-void CALLBACK GSgetDriverInfo(GSdriverInfo *info);
-#ifdef _WIN32
-s32 CALLBACK GSsetWindowInfo(winInfo *info);
-#endif
-s32 CALLBACK GSfreeze(int mode, freezeData *data);
-void CALLBACK GSconfigure();
-void CALLBACK GSabout();
-s32 CALLBACK GStest();
-
-#endif
-
-/* PAD plugin API -=[ OBSOLETE ]=- */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef PADdefs
-
-// basic funcs
-
-s32 CALLBACK PADinit(u32 flags);
-s32 CALLBACK PADopen(void *pDsp);
-void CALLBACK PADclose();
-void CALLBACK PADshutdown();
-// PADkeyEvent is called every vsync (return NULL if no event)
-keyEvent* CALLBACK PADkeyEvent();
-u8 CALLBACK PADstartPoll(int pad);
-u8 CALLBACK PADpoll(u8 value);
-// returns: 1 if supported pad1
-// 2 if supported pad2
-// 3 if both are supported
-u32 CALLBACK PADquery();
-
-// call to give a hint to the PAD plugin to query for the keyboard state. A
-// good plugin will query the OS for keyboard state ONLY in this function.
-// This function is necessary when multithreading because otherwise
-// the PAD plugin can get into deadlocks with the thread that really owns
-// the window (and input). Note that PADupdate can be called from a different
-// thread than the other functions, so mutex or other multithreading primitives
-// have to be added to maintain data integrity.
-void CALLBACK PADupdate(int pad);
-
-// extended funcs
-
-void CALLBACK PADgsDriverInfo(GSdriverInfo *info);
-void CALLBACK PADconfigure();
-void CALLBACK PADabout();
-s32 CALLBACK PADtest();
-
-#endif
-
-/* SIO plugin API */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef SIOdefs
-
-// basic funcs
-
-s32 CALLBACK SIOinit(u32 port, u32 slot, SIOchangeSlotCB f);
-s32 CALLBACK SIOopen(void *pDsp);
-void CALLBACK SIOclose();
-void CALLBACK SIOshutdown();
-u8 CALLBACK SIOstartPoll(u8 value);
-u8 CALLBACK SIOpoll(u8 value);
-// returns: SIO_TYPE_{PAD,MTAP,RM,MC}
-u32 CALLBACK SIOquery();
-
-// extended funcs
-
-void CALLBACK SIOconfigure();
-void CALLBACK SIOabout();
-s32 CALLBACK SIOtest();
-
-#endif
-
-/* SPU2 plugin API */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef SPU2defs
-
-// basic funcs
-
-s32 CALLBACK SPU2init();
-s32 CALLBACK SPU2open(void *pDsp);
-void CALLBACK SPU2close();
-void CALLBACK SPU2shutdown();
-void CALLBACK SPU2write(u32 mem, u16 value);
-u16 CALLBACK SPU2read(u32 mem);
-void CALLBACK SPU2readDMA4Mem(u16 *pMem, int size);
-void CALLBACK SPU2writeDMA4Mem(u16 *pMem, int size);
-void CALLBACK SPU2interruptDMA4();
-void CALLBACK SPU2readDMA7Mem(u16* pMem, int size);
-void CALLBACK SPU2writeDMA7Mem(u16 *pMem, int size);
-void CALLBACK SPU2interruptDMA7();
-u32 CALLBACK SPU2ReadMemAddr(int core);
-void CALLBACK SPU2WriteMemAddr(int core,u32 value);
-void CALLBACK SPU2irqCallback(void (*SPU2callback)(),void (*DMA4callback)(),void (*DMA7callback)());
-// extended funcs
-
-void CALLBACK SPU2async(u32 cycles);
-s32 CALLBACK SPU2freeze(int mode, freezeData *data);
-void CALLBACK SPU2configure();
-void CALLBACK SPU2about();
-s32 CALLBACK SPU2test();
-
-#endif
-
-/* CDVD plugin API */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef CDVDdefs
-
-// basic funcs
-
-s32 CALLBACK CDVDinit();
-s32 CALLBACK CDVDopen(const char* pTitleFilename);
-void CALLBACK CDVDclose();
-void CALLBACK CDVDshutdown();
-s32 CALLBACK CDVDreadTrack(u32 lsn, int mode);
-
-// return can be NULL (for async modes)
-u8* CALLBACK CDVDgetBuffer();
-
-s32 CALLBACK CDVDreadSubQ(u32 lsn, cdvdSubQ* subq);//read subq from disc (only cds have subq data)
-s32 CALLBACK CDVDgetTN(cdvdTN *Buffer); //disk information
-s32 CALLBACK CDVDgetTD(u8 Track, cdvdTD *Buffer); //track info: min,sec,frame,type
-s32 CALLBACK CDVDgetTOC(void* toc); //gets ps2 style toc from disc
-s32 CALLBACK CDVDgetDiskType(); //CDVD_TYPE_xxxx
-s32 CALLBACK CDVDgetTrayStatus(); //CDVD_TRAY_xxxx
-s32 CALLBACK CDVDctrlTrayOpen(); //open disc tray
-s32 CALLBACK CDVDctrlTrayClose(); //close disc tray
-
-// extended funcs
-
-void CALLBACK CDVDconfigure();
-void CALLBACK CDVDabout();
-s32 CALLBACK CDVDtest();
-void CALLBACK CDVDnewDiskCB(void (*callback)());
-
-#endif
-
-/* DEV9 plugin API */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef DEV9defs
-
-// basic funcs
-
-// NOTE: The read/write functions CANNOT use XMM/MMX regs
-// If you want to use them, need to save and restore current ones
-s32 CALLBACK DEV9init();
-s32 CALLBACK DEV9open(void *pDsp);
-void CALLBACK DEV9close();
-void CALLBACK DEV9shutdown();
-u8 CALLBACK DEV9read8(u32 addr);
-u16 CALLBACK DEV9read16(u32 addr);
-u32 CALLBACK DEV9read32(u32 addr);
-void CALLBACK DEV9write8(u32 addr, u8 value);
-void CALLBACK DEV9write16(u32 addr, u16 value);
-void CALLBACK DEV9write32(u32 addr, u32 value);
-void CALLBACK DEV9readDMA8Mem(u32 *pMem, int size);
-void CALLBACK DEV9writeDMA8Mem(u32 *pMem, int size);
-// cycles = IOP cycles before calling callback,
-// if callback returns 1 the irq is triggered, else not
-void CALLBACK DEV9irqCallback(DEV9callback callback);
-DEV9handler CALLBACK DEV9irqHandler(void);
-
-// extended funcs
-
-s32 CALLBACK DEV9freeze(int mode, freezeData *data);
-void CALLBACK DEV9configure();
-void CALLBACK DEV9about();
-s32 CALLBACK DEV9test();
-
-#endif
-
-/* USB plugin API */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef USBdefs
-
-// basic funcs
-
-s32 CALLBACK USBinit();
-s32 CALLBACK USBopen(void *pDsp);
-void CALLBACK USBclose();
-void CALLBACK USBshutdown();
-u8 CALLBACK USBread8(u32 addr);
-u16 CALLBACK USBread16(u32 addr);
-u32 CALLBACK USBread32(u32 addr);
-void CALLBACK USBwrite8(u32 addr, u8 value);
-void CALLBACK USBwrite16(u32 addr, u16 value);
-void CALLBACK USBwrite32(u32 addr, u32 value);
-// cycles = IOP cycles before calling callback,
-// if callback returns 1 the irq is triggered, else not
-void CALLBACK USBirqCallback(USBcallback callback);
-USBhandler CALLBACK USBirqHandler(void);
-void CALLBACK USBsetRAM(void *mem);
-
-// extended funcs
-
-s32 CALLBACK USBfreeze(int mode, freezeData *data);
-void CALLBACK USBconfigure();
-void CALLBACK USBabout();
-s32 CALLBACK USBtest();
-
-#endif
-
-/* FW plugin API */
-
-// if this file is included with this define
-// the next api will not be skipped by the compiler
-#ifdef FWdefs
-// basic funcs
-
-// NOTE: The read/write functions CANNOT use XMM/MMX regs
-// If you want to use them, need to save and restore current ones
-s32 CALLBACK FWinit();
-s32 CALLBACK FWopen(void *pDsp);
-void CALLBACK FWclose();
-void CALLBACK FWshutdown();
-u32 CALLBACK FWread32(u32 addr);
-void CALLBACK FWwrite32(u32 addr, u32 value);
-void CALLBACK FWirqCallback(void (*callback)());
-
-// extended funcs
-
-s32 CALLBACK FWfreeze(int mode, freezeData *data);
-void CALLBACK FWconfigure();
-void CALLBACK FWabout();
-s32 CALLBACK FWtest();
-#endif
-
-// might be useful for emulators
-#ifdef PLUGINtypedefs
-
-typedef u32 (CALLBACK* _PS2EgetLibType)(void);
-typedef u32 (CALLBACK* _PS2EgetLibVersion2)(u32 type);
-typedef char*(CALLBACK* _PS2EgetLibName)(void);
-
-// GS
-// NOTE: GSreadFIFOX/GSwriteCSR functions CANNOT use XMM/MMX regs
-// If you want to use them, need to save and restore current ones
-typedef s32 (CALLBACK* _GSinit)();
-typedef s32 (CALLBACK* _GSopen)(void *pDsp, char *Title, int multithread);
-typedef void (CALLBACK* _GSclose)();
-typedef void (CALLBACK* _GSshutdown)();
-typedef void (CALLBACK* _GSvsync)(int field);
-typedef void (CALLBACK* _GSgifTransfer1)(u32 *pMem, u32 addr);
-typedef void (CALLBACK* _GSgifTransfer2)(u32 *pMem, u32 size);
-typedef void (CALLBACK* _GSgifTransfer3)(u32 *pMem, u32 size);
-typedef void (CALLBACK* _GSgetLastTag)(u64* ptag); // returns the last tag processed (64 bits)
-typedef void (CALLBACK* _GSgifSoftReset)(u32 mask);
-typedef void (CALLBACK* _GSreadFIFO)(u64 *pMem);
-typedef void (CALLBACK* _GSreadFIFO2)(u64 *pMem, int qwc);
-
-typedef void (CALLBACK* _GSkeyEvent)(keyEvent* ev);
-typedef void (CALLBACK* _GSchangeSaveState)(int, const char* filename);
-typedef void (CALLBACK* _GSirqCallback)(void (*callback)());
-typedef void (CALLBACK* _GSprintf)(int timeout, char *fmt, ...);
-typedef void (CALLBACK* _GSsetBaseMem)(void*);
-typedef void (CALLBACK* _GSsetGameCRC)(int, int);
-typedef void (CALLBACK* _GSsetFrameSkip)(int frameskip);
-typedef void (CALLBACK* _GSreset)();
-typedef void (CALLBACK* _GSwriteCSR)(u32 value);
-typedef void (CALLBACK* _GSgetDriverInfo)(GSdriverInfo *info);
-#ifdef _WIN32
-typedef s32 (CALLBACK* _GSsetWindowInfo)(winInfo *info);
-#endif
-typedef void (CALLBACK* _GSmakeSnapshot)(char *path);
-typedef void (CALLBACK* _GSmakeSnapshot2)(char *path, int*, int);
-typedef s32 (CALLBACK* _GSfreeze)(int mode, freezeData *data);
-typedef void (CALLBACK* _GSconfigure)();
-typedef s32 (CALLBACK* _GStest)();
-typedef void (CALLBACK* _GSabout)();
-
-// PAD
-typedef s32 (CALLBACK* _PADinit)(u32 flags);
-typedef s32 (CALLBACK* _PADopen)(void *pDsp);
-typedef void (CALLBACK* _PADclose)();
-typedef void (CALLBACK* _PADshutdown)();
-typedef keyEvent* (CALLBACK* _PADkeyEvent)();
-typedef u8 (CALLBACK* _PADstartPoll)(int pad);
-typedef u8 (CALLBACK* _PADpoll)(u8 value);
-typedef u32 (CALLBACK* _PADquery)();
-typedef void (CALLBACK* _PADupdate)(int pad);
-
-typedef void (CALLBACK* _PADgsDriverInfo)(GSdriverInfo *info);
-typedef void (CALLBACK* _PADconfigure)();
-typedef s32 (CALLBACK* _PADtest)();
-typedef void (CALLBACK* _PADabout)();
-
-// SIO
-typedef s32 (CALLBACK* _SIOinit)(u32 port, u32 slot, SIOchangeSlotCB f);
-typedef s32 (CALLBACK* _SIOopen)(void *pDsp);
-typedef void (CALLBACK* _SIOclose)();
-typedef void (CALLBACK* _SIOshutdown)();
-typedef u8 (CALLBACK* _SIOstartPoll)(u8 value);
-typedef u8 (CALLBACK* _SIOpoll)(u8 value);
-typedef u32 (CALLBACK* _SIOquery)();
-
-typedef void (CALLBACK* _SIOconfigure)();
-typedef s32 (CALLBACK* _SIOtest)();
-typedef void (CALLBACK* _SIOabout)();
-
-// SPU2
-// NOTE: The read/write functions CANNOT use XMM/MMX regs
-// If you want to use them, need to save and restore current ones
-typedef s32 (CALLBACK* _SPU2init)();
-typedef s32 (CALLBACK* _SPU2open)(void *pDsp);
-typedef void (CALLBACK* _SPU2close)();
-typedef void (CALLBACK* _SPU2shutdown)();
-typedef void (CALLBACK* _SPU2write)(u32 mem, u16 value);
-typedef u16 (CALLBACK* _SPU2read)(u32 mem);
-typedef void (CALLBACK* _SPU2readDMA4Mem)(u16 *pMem, int size);
-typedef void (CALLBACK* _SPU2writeDMA4Mem)(u16 *pMem, int size);
-typedef void (CALLBACK* _SPU2interruptDMA4)();
-typedef void (CALLBACK* _SPU2readDMA7Mem)(u16 *pMem, int size);
-typedef void (CALLBACK* _SPU2writeDMA7Mem)(u16 *pMem, int size);
-typedef void (CALLBACK* _SPU2interruptDMA7)();
-typedef void (CALLBACK* _SPU2irqCallback)(void (*SPU2callback)(),void (*DMA4callback)(),void (*DMA7callback)());
-typedef u32 (CALLBACK* _SPU2ReadMemAddr)(int core);
-typedef void (CALLBACK* _SPU2WriteMemAddr)(int core,u32 value);
-typedef void (CALLBACK* _SPU2async)(u32 cycles);
-typedef s32 (CALLBACK* _SPU2freeze)(int mode, freezeData *data);
-typedef void (CALLBACK* _SPU2configure)();
-typedef s32 (CALLBACK* _SPU2test)();
-typedef void (CALLBACK* _SPU2about)();
-
-// CDVD
-// NOTE: The read/write functions CANNOT use XMM/MMX regs
-// If you want to use them, need to save and restore current ones
-typedef s32 (CALLBACK* _CDVDinit)();
-typedef s32 (CALLBACK* _CDVDopen)(const char* pTitleFilename);
-typedef void (CALLBACK* _CDVDclose)();
-typedef void (CALLBACK* _CDVDshutdown)();
-typedef s32 (CALLBACK* _CDVDreadTrack)(u32 lsn, int mode);
-typedef u8* (CALLBACK* _CDVDgetBuffer)();
-typedef s32 (CALLBACK* _CDVDreadSubQ)(u32 lsn, cdvdSubQ* subq);
-typedef s32 (CALLBACK* _CDVDgetTN)(cdvdTN *Buffer);
-typedef s32 (CALLBACK* _CDVDgetTD)(u8 Track, cdvdTD *Buffer);
-typedef s32 (CALLBACK* _CDVDgetTOC)(void* toc);
-typedef s32 (CALLBACK* _CDVDgetDiskType)();
-typedef s32 (CALLBACK* _CDVDgetTrayStatus)();
-typedef s32 (CALLBACK* _CDVDctrlTrayOpen)();
-typedef s32 (CALLBACK* _CDVDctrlTrayClose)();
-
-typedef void (CALLBACK* _CDVDconfigure)();
-typedef s32 (CALLBACK* _CDVDtest)();
-typedef void (CALLBACK* _CDVDabout)();
-typedef void (CALLBACK* _CDVDnewDiskCB)(void (*callback)());
-
-// DEV9
-// NOTE: The read/write functions CANNOT use XMM/MMX regs
-// If you want to use them, need to save and restore current ones
-typedef s32 (CALLBACK* _DEV9init)();
-typedef s32 (CALLBACK* _DEV9open)(void *pDsp);
-typedef void (CALLBACK* _DEV9close)();
-typedef void (CALLBACK* _DEV9shutdown)();
-typedef u8 (CALLBACK* _DEV9read8)(u32 mem);
-typedef u16 (CALLBACK* _DEV9read16)(u32 mem);
-typedef u32 (CALLBACK* _DEV9read32)(u32 mem);
-typedef void (CALLBACK* _DEV9write8)(u32 mem, u8 value);
-typedef void (CALLBACK* _DEV9write16)(u32 mem, u16 value);
-typedef void (CALLBACK* _DEV9write32)(u32 mem, u32 value);
-typedef void (CALLBACK* _DEV9readDMA8Mem)(u32 *pMem, int size);
-typedef void (CALLBACK* _DEV9writeDMA8Mem)(u32 *pMem, int size);
-typedef void (CALLBACK* _DEV9irqCallback)(DEV9callback callback);
-typedef DEV9handler (CALLBACK* _DEV9irqHandler)(void);
-
-typedef s32 (CALLBACK* _DEV9freeze)(int mode, freezeData *data);
-typedef void (CALLBACK* _DEV9configure)();
-typedef s32 (CALLBACK* _DEV9test)();
-typedef void (CALLBACK* _DEV9about)();
-
-// USB
-// NOTE: The read/write functions CANNOT use XMM/MMX regs
-// If you want to use them, need to save and restore current ones
-typedef s32 (CALLBACK* _USBinit)();
-typedef s32 (CALLBACK* _USBopen)(void *pDsp);
-typedef void (CALLBACK* _USBclose)();
-typedef void (CALLBACK* _USBshutdown)();
-typedef u8 (CALLBACK* _USBread8)(u32 mem);
-typedef u16 (CALLBACK* _USBread16)(u32 mem);
-typedef u32 (CALLBACK* _USBread32)(u32 mem);
-typedef void (CALLBACK* _USBwrite8)(u32 mem, u8 value);
-typedef void (CALLBACK* _USBwrite16)(u32 mem, u16 value);
-typedef void (CALLBACK* _USBwrite32)(u32 mem, u32 value);
-typedef void (CALLBACK* _USBirqCallback)(USBcallback callback);
-typedef USBhandler (CALLBACK* _USBirqHandler)(void);
-typedef void (CALLBACK* _USBsetRAM)(void *mem);
-
-typedef s32 (CALLBACK* _USBfreeze)(int mode, freezeData *data);
-typedef void (CALLBACK* _USBconfigure)();
-typedef s32 (CALLBACK* _USBtest)();
-typedef void (CALLBACK* _USBabout)();
-
-//FW
-typedef s32 (CALLBACK* _FWinit)();
-typedef s32 (CALLBACK* _FWopen)(void *pDsp);
-typedef void (CALLBACK* _FWclose)();
-typedef void (CALLBACK* _FWshutdown)();
-typedef u32 (CALLBACK* _FWread32)(u32 mem);
-typedef void (CALLBACK* _FWwrite32)(u32 mem, u32 value);
-typedef void (CALLBACK* _FWirqCallback)(void (*callback)());
-
-typedef s32 (CALLBACK* _FWfreeze)(int mode, freezeData *data);
-typedef void (CALLBACK* _FWconfigure)();
-typedef s32 (CALLBACK* _FWtest)();
-typedef void (CALLBACK* _FWabout)();
-
-#endif
-
-#ifdef PLUGINfuncs
-
-// GS
-_GSinit GSinit;
-_GSopen GSopen;
-_GSclose GSclose;
-_GSshutdown GSshutdown;
-_GSvsync GSvsync;
-_GSgifTransfer1 GSgifTransfer1;
-_GSgifTransfer2 GSgifTransfer2;
-_GSgifTransfer3 GSgifTransfer3;
-_GSgetLastTag GSgetLastTag;
-_GSgifSoftReset GSgifSoftReset;
-_GSreadFIFO GSreadFIFO;
-_GSreadFIFO2 GSreadFIFO2;
-
-_GSkeyEvent GSkeyEvent;
-_GSchangeSaveState GSchangeSaveState;
-_GSmakeSnapshot GSmakeSnapshot;
-_GSmakeSnapshot2 GSmakeSnapshot2;
-_GSirqCallback GSirqCallback;
-_GSprintf GSprintf;
-_GSsetBaseMem GSsetBaseMem;
-_GSsetGameCRC GSsetGameCRC;
-_GSsetFrameSkip GSsetFrameSkip;
-_GSreset GSreset;
-_GSwriteCSR GSwriteCSR;
-_GSgetDriverInfo GSgetDriverInfo;
-#ifdef _WIN32
-_GSsetWindowInfo GSsetWindowInfo;
-#endif
-_GSfreeze GSfreeze;
-_GSconfigure GSconfigure;
-_GStest GStest;
-_GSabout GSabout;
-
-// PAD1
-_PADinit PAD1init;
-_PADopen PAD1open;
-_PADclose PAD1close;
-_PADshutdown PAD1shutdown;
-_PADkeyEvent PAD1keyEvent;
-_PADstartPoll PAD1startPoll;
-_PADpoll PAD1poll;
-_PADquery PAD1query;
-_PADupdate PAD1update;
-
-_PADgsDriverInfo PAD1gsDriverInfo;
-_PADconfigure PAD1configure;
-_PADtest PAD1test;
-_PADabout PAD1about;
-
-// PAD2
-_PADinit PAD2init;
-_PADopen PAD2open;
-_PADclose PAD2close;
-_PADshutdown PAD2shutdown;
-_PADkeyEvent PAD2keyEvent;
-_PADstartPoll PAD2startPoll;
-_PADpoll PAD2poll;
-_PADquery PAD2query;
-_PADupdate PAD2update;
-
-_PADgsDriverInfo PAD2gsDriverInfo;
-_PADconfigure PAD2configure;
-_PADtest PAD2test;
-_PADabout PAD2about;
-
-// SIO[2]
-_SIOinit SIOinit[2][9];
-_SIOopen SIOopen[2][9];
-_SIOclose SIOclose[2][9];
-_SIOshutdown SIOshutdown[2][9];
-_SIOstartPoll SIOstartPoll[2][9];
-_SIOpoll SIOpoll[2][9];
-_SIOquery SIOquery[2][9];
-
-_SIOconfigure SIOconfigure[2][9];
-_SIOtest SIOtest[2][9];
-_SIOabout SIOabout[2][9];
-
-// SPU2
-_SPU2init SPU2init;
-_SPU2open SPU2open;
-_SPU2close SPU2close;
-_SPU2shutdown SPU2shutdown;
-_SPU2write SPU2write;
-_SPU2read SPU2read;
-_SPU2readDMA4Mem SPU2readDMA4Mem;
-_SPU2writeDMA4Mem SPU2writeDMA4Mem;
-_SPU2interruptDMA4 SPU2interruptDMA4;
-_SPU2readDMA7Mem SPU2readDMA7Mem;
-_SPU2writeDMA7Mem SPU2writeDMA7Mem;
-_SPU2interruptDMA7 SPU2interruptDMA7;
-_SPU2ReadMemAddr SPU2ReadMemAddr;
-_SPU2WriteMemAddr SPU2WriteMemAddr;
-_SPU2irqCallback SPU2irqCallback;
-
-_SPU2async SPU2async;
-_SPU2freeze SPU2freeze;
-_SPU2configure SPU2configure;
-_SPU2test SPU2test;
-_SPU2about SPU2about;
-
-// CDVD
-_CDVDinit CDVDinit;
-_CDVDopen CDVDopen;
-_CDVDclose CDVDclose;
-_CDVDshutdown CDVDshutdown;
-_CDVDreadTrack CDVDreadTrack;
-_CDVDgetBuffer CDVDgetBuffer;
-_CDVDreadSubQ CDVDreadSubQ;
-_CDVDgetTN CDVDgetTN;
-_CDVDgetTD CDVDgetTD;
-_CDVDgetTOC CDVDgetTOC;
-_CDVDgetDiskType CDVDgetDiskType;
-_CDVDgetTrayStatus CDVDgetTrayStatus;
-_CDVDctrlTrayOpen CDVDctrlTrayOpen;
-_CDVDctrlTrayClose CDVDctrlTrayClose;
-
-_CDVDconfigure CDVDconfigure;
-_CDVDtest CDVDtest;
-_CDVDabout CDVDabout;
-_CDVDnewDiskCB CDVDnewDiskCB;
-
-// DEV9
-_DEV9init DEV9init;
-_DEV9open DEV9open;
-_DEV9close DEV9close;
-_DEV9shutdown DEV9shutdown;
-_DEV9read8 DEV9read8;
-_DEV9read16 DEV9read16;
-_DEV9read32 DEV9read32;
-_DEV9write8 DEV9write8;
-_DEV9write16 DEV9write16;
-_DEV9write32 DEV9write32;
-_DEV9readDMA8Mem DEV9readDMA8Mem;
-_DEV9writeDMA8Mem DEV9writeDMA8Mem;
-_DEV9irqCallback DEV9irqCallback;
-_DEV9irqHandler DEV9irqHandler;
-
-_DEV9configure DEV9configure;
-_DEV9freeze DEV9freeze;
-_DEV9test DEV9test;
-_DEV9about DEV9about;
-
-// USB
-_USBinit USBinit;
-_USBopen USBopen;
-_USBclose USBclose;
-_USBshutdown USBshutdown;
-_USBread8 USBread8;
-_USBread16 USBread16;
-_USBread32 USBread32;
-_USBwrite8 USBwrite8;
-_USBwrite16 USBwrite16;
-_USBwrite32 USBwrite32;
-_USBirqCallback USBirqCallback;
-_USBirqHandler USBirqHandler;
-_USBsetRAM USBsetRAM;
-
-_USBconfigure USBconfigure;
-_USBfreeze USBfreeze;
-_USBtest USBtest;
-_USBabout USBabout;
-
-// FW
-_FWinit FWinit;
-_FWopen FWopen;
-_FWclose FWclose;
-_FWshutdown FWshutdown;
-_FWread32 FWread32;
-_FWwrite32 FWwrite32;
-_FWirqCallback FWirqCallback;
-
-_FWconfigure FWconfigure;
-_FWfreeze FWfreeze;
-_FWtest FWtest;
-_FWabout FWabout;
-#endif
-
-#endif /* __PS2EDEFS_H__ */
diff --git a/plugins/CDVDnull/Src/PS2Etypes.h b/plugins/CDVDnull/Src/PS2Etypes.h
deleted file mode 100644
index 1ad73e273d..0000000000
--- a/plugins/CDVDnull/Src/PS2Etypes.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef __PS2ETYPES_H__
-#define __PS2ETYPES_H__
-
-#ifndef ARRAYSIZE
-#define ARRAYSIZE(x) (sizeof(x)/sizeof((x)[0]))
-#endif
-
-#if defined (__linux__) && !defined(__LINUX__) // some distributions are lower case
-#define __LINUX__
-#endif
-
-// Basic types
-#if defined(_MSC_VER)
-
-typedef __int8 s8;
-typedef __int16 s16;
-typedef __int32 s32;
-typedef __int64 s64;
-
-typedef unsigned __int8 u8;
-typedef unsigned __int16 u16;
-typedef unsigned __int32 u32;
-typedef unsigned __int64 u64;
-
-#define PCSX2_ALIGNED16(x) __declspec(align(16)) x
-
-#else
-
-typedef char s8;
-typedef short s16;
-typedef int s32;
-typedef long long s64;
-
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned int u32;
-typedef unsigned long long u64;
-
-#ifdef __LINUX__
-typedef union _LARGE_INTEGER
-{
- long long QuadPart;
-} LARGE_INTEGER;
-#endif
-
-#if defined(__MINGW32__)
-#define PCSX2_ALIGNED16(x) __declspec(align(16)) x
-#else
-#define PCSX2_ALIGNED16(x) x __attribute((aligned(16)))
-#endif
-
-#ifndef __forceinline
-#define __forceinline inline
-#endif
-
-#endif // _MSC_VER
-
-#if defined(__x86_64__)
-typedef u64 uptr;
-typedef s64 sptr;
-#else
-typedef u32 uptr;
-typedef s32 sptr;
-#endif
-
-typedef struct {
- int size;
- s8 *data;
-} freezeData;
-
-/* common defines */
-#ifndef C_ASSERT
-#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]
-#endif
-
-#endif /* __PS2ETYPES_H__ */
diff --git a/plugins/CDVDnull/Src/ProjectRootDir.vsprops b/plugins/CDVDnull/Src/ProjectRootDir.vsprops
new file mode 100644
index 0000000000..b8400f4c9c
--- /dev/null
+++ b/plugins/CDVDnull/Src/ProjectRootDir.vsprops
@@ -0,0 +1,11 @@
+
+
+
+
diff --git a/plugins/CDVDolio/cdvd_vs2008.vcproj b/plugins/CDVDolio/cdvd_vs2008.vcproj
index 642a0914ee..04c092dc00 100644
--- a/plugins/CDVDolio/cdvd_vs2008.vcproj
+++ b/plugins/CDVDolio/cdvd_vs2008.vcproj
@@ -2,7 +2,7 @@
@@ -83,10 +83,463 @@
Name="VCPostBuildEventTool"
/>