#define INCL_DOS
#define INCL_PM
#include <os2.h>
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
#include "process.h"
#include "sys\stat.h"
#include "..\unzip550\unzip.h"

#define PR_BYTES_PER_BYTE 1
#define PR_BYTES_PER_SHORT 2
#define PR_BYTES_PER_INT   4
#define PR_BYTES_PER_LONG  8
#define int16   short
#define uint16  unsigned short
#define int32   int
#define uint32  unsigned int

#ifndef _NPAPI_H_
#include "npapi.h"
#endif
#ifndef _NPUPP_H_
#include "npupp.h"
#endif
int32 STREAMBUFSIZE = 32767;

#define ID_NPLOAD                   100
#define ID_MSG                      101
#define ID_PROGRESS                 102
#define ID_NPUNZIP                  200
#define ID_INCMASK                  201
#define ID_EXMASK                   202
#define ID_UNZPATH                  203
#define ID_UNZIP                    204
#define ID_ZIPFILE                  205
#define ID_CONTAINER                206
#define ID_ZIPVER                   207
#define ID_CHGMASK                  208
#define ID_UNZIPALL                 209

typedef struct _PluginInstance
{
    NPWindow*       fWindow;
    HWND            hWnd;
    uint16          fMode;
    NPP             npp;
    ULONG           total;
    ULONG           reste;
    CHAR            filename[256];
    FILE            *fichout;
    HMQ             hmq;
    PFNWP           lpfnOldWndProc;
    NPSavedData*    pSavedInstanceData;
    struct _PluginInstance *pNext;
} PluginInstance;

typedef struct _USERRECORD
{
  RECORDCORE  recordCore;
  PCHAR       filename;
  ULONG       file_size;
  ULONG       ea_size;
  ULONG       acl_size;
  CHAR        f1[255];
} USERRECORD, *PUSERRECORD;
PUSERRECORD      pUserRecord;
RECORDINSERT     recordInsert;
HWND             hwnd_cont;



