설치 없이 egg 압축을 푸는 유틸리티 입니다.
**************************************************************************
* *
* UNEGG.dll License v10.4.21.x *
* *
**************************************************************************
[License Agreement for Using EGG File Format and Decompression Module]
1) LICENSE: All rights regarding the EGG file format and its decompression module ("EGG Module")
published on ALTools website (http://www.altools.com) are exclusively owned by ESTsoft Corporation ("Company").
For Commercial use, the Company’s Approval is required.
2) USE AND DISTRIBUTE: For non-commercial use, EGG Module can be freely use and distributed.
There are no restrictions to use and distributed EGG Module inside of other software.
3) NOTICE: The EGG Module cannot be used to develop an algorithm to compress into EGG format.
This License Agreement must be redistributed with the source code and document to use or distribute the EGG Module whether modified or not.
4) RESPONSIBILITY: The responsibility for using the EGG Module is on the user.
The Company has no legal responsibility for any loss for the user using the EGG Module.
5) CHANGE OF LICENSE: This License Agreement can be changed by the Company without previous notice,
and the new license takes priority to the old one.
6) AGREEMENT: The EGG Module cannot be used without agreeing to this License Agreement.
Using the EGG Module will be regarded as agreeing to this License Agreement provided by the Company.
[About License]
The EGG Module uses zlib that is public at http://www.zlib.net, and follows the "zlib License".
The EGG Module uses bzip2 library public at http://bzip.org, and follows the "bzip License".
The EGG Module is copyrighted by ESTsoft Corporation (http://www.estsoft.com), and all rights are reserved.
**************************************************************************
* *
* UNEGG.dll Help Manual (v10.4.21.x) *
* *
**************************************************************************
UNEGG.dll provides function to extract EGG and ALZ file on 32/64 bit.
Supports Unicode only.
*************************************
* *
* Types *
* *
*************************************
typedef size_t egg_handle;
// Represents the instant that is generated from UnEGG module.
// Can be generated from CreateEgg function, and can be disabled from DestroyEgg function.
// Most of the functions require the created egg_handle.
typedef int egg_type;
// Type to represent the type of the file
struct EGGFileHeader
{
size_t size;
LPCTSTR fileName;
LPCTSTR comment;
unsigned __int64 packedSize;
unsigned __int64 unpackedSize;
unsigned int attribute;
unsigned int crc;
unsigned int method;
time_t lastModified;
BOOL encrypted;
};
// Information for each file
*************************************
* *
* Constants *
* *
*************************************
const egg_type EGG_TYPE_INVALID = 0;
// File that is not supported
const egg_type EGG_TYPE_ALZ = 1;
// This indicates the ALZ file
const egg_type EGG_TYPE_EGG = 2;
// This indicates the EGG file
const UINT EGG_ERROR_SUCCESS = 1;
// Succeeded
const UINT EGG_ERROR_FAIL = 0;
// Failed
const UINT EGG_ERROR_SKIP = 2;
// Skip
const UINT EGG_ERROR_CANCEL = 3;
// Cancel
const UINT EGG_ERROR_IO = 4;
// I/O Error
const UINT EGG_ERROR_TYPEMISMATCH = 5;
// Format mis-matching
const UINT EGG_ERROR_FILE = 6;
// Task error related to File
const UINT EGG_ERROR_FORMAT = 7;
// Error related to Format
const UINT EGG_ERROR_ALGORITHM = 8;
// Algorithm Error
const UINT EGG_ERROR_WRONGPASSWORD = 9;
// Password Error
const UINT EGG_WORKCODE_NONE = 0;
// Default
const UINT EGG_WORKCODE_SCAN = 1;
// Currently extracting header
const UINT EGG_WORKCODE_EXTRACT = 2;
// Currently on extraction process
const UINT EGG_WORKCODE_TEST = 3;
// Currently on test
*************************************
* *
* Callback Event *
* *
*************************************
namespace eggevent
{
struct Extract
{
static const UINT CODE = 1;
size_t index;
LPCTSTR nameInArchive;
TCHAR fileName[MAX_PATH];
};
// Designate path to extract when extraction, skip without extracting by returning EGG_ERROR_SKIP
struct Progress
{
static const UINT CODE = 2;
short total;
short current;
};
// Progress and cancellation of read and extracting tasks, tasks can be canceled via EGG_ERROR_CANCEL.
struct Start
{
static const UINT CODE = 3;
UINT code;
};
// Revoked when the entire tasks are started.
struct Finish
{
static const UINT CODE = 4;
UINT code;
UINT result;
};
// Revoked when the entire tasks are ended.
struct ActivityStart
{
static const UINT CODE = 5;
size_t index;
UINT code;
};
// Revoked when a unit task in the entire task starts.
struct ActivityFinish
{
static const UINT CODE = 6;
size_t index;
UINT code;
UINT result;
};
// Revoked when a unit task in the entire task ends.
struct QueryPassword
{
static const UINT CODE = 7;
size_t index;
size_t queryCount;
TCHAR password[1024];
};
// Revoked when password is required.
struct Error
{
static const UINT CODE = 8;
UINT code;
};
// Revoked when error has occurred. It can be canceled using EGG_ERROR_CANCEL.
struct Test
{
static const UINT CODE = 9;
size_t index;
LPCTSTR nameInArchive;
BOOL skipThisFile;
};
// Revoked when selection during test process. It can be canceled using EGG_ERROR_CANCEL.
typedef UINT (__cdecl *Proc)(void* user, UINT code, void* param);
// Event Procedure Prototype
};
*************************************
* *
* Functions *
* *
*************************************
typedef UINT (__cdecl *EGGFunction_CreateEgg)(egg_handle* handle, EGG_EventProc eventProc, void* user);
// Create object to start task
// handle : Receive objects for the task
// eventProc : Callback to handle Event
// user : User data to send when Callback is revoked.
typedef UINT (__cdecl *EGGFunction_DestroyEgg)(egg_handle* handle);
// Used to destroy an object used for the task.
// handle : Object that is created for the task
typedef UINT (__cdecl *EGGFunction_IsValidArchive)(const _TCHAR* fileName, egg_type* result);
// Confirm if the file is supported or not
// filename : File to be confirmed
// result : Return result value that has been confirmed
typedef UINT (__cdecl *EGGFunction_OpenArchive)(egg_handle handle, const _TCHAR* fileName);
// Check compressed file information to open and extract archive file list
// handle : Created task object
// filename : Path name of file for the task.
typedef UINT (__cdecl *EGGFunction_CloseArchive)(egg_handle handle);
// Destroy collected information then disconnect the file
// handle : Created task object
typedef UINT (__cdecl *EGGFunction_Extract)(egg_handle handle);
// Extract compressed archive that has been opened by the created object.
// handle : Created task object
typedef UINT (__cdecl *EGGFunction_Test)(egg_handle handle);
// Test extraction for compressed archive that has been opened by the created object.
// handle : Created task object
typedef UINT (__cdecl *EGGFunction_GetFileCount)(egg_handle handle, size_t* count);
// Number of file information that has been collected from opened compressed archives.
// handle : Created task object
// count : Variable to receive the numbers
typedef UINT (__cdecl *EGGFunction_GetFileHeader)(egg_handle handle, size_t index, EGGFileHeader* header);
// Receive the file information that order is index
// handle : Created task object
// index : Information number to be receive
// header : Structure to receive information
**************************************************************************
* *
* UNEGG.dll History *
* *
**************************************************************************
- 2010-04-21 : Fixed handling split compression archive
- 2010-01-27 : Added function to test extraction
- 2009-11-10 : Improved I/O performance, support for 64 bit
- 2009-09-23 : Added LZMA algorithm(v9.9.23.0)
- 2009-07-01 : Final test(v9.9.7.4)
- 2009-04-24 : Added Extract event(v9.4.24.6)
- 2009-03-16 : Fixed structure that is considered multi-tasking(v9.3.16.1)
- 2009-02-02 : Completed writing extraction module for the first time(v9.2.2.8)