Archive-Unzip-Burst

 view release on metacpan or  search on metacpan

unzip-6.0/unzip.h  view on Meta::CPAN

    int overwrite_all;  /* -o: OK to overwrite files without prompting */
#endif /* !FUNZIP */
    int qflag;          /* -q: produce a lot less output */
#ifdef TANDEM
    int rflag;          /* -r: remove file extensions */
#endif
#ifndef FUNZIP
#if (defined(MSDOS) || defined(FLEXOS) || defined(OS2) || defined(WIN32))
    int sflag;          /* -s: convert spaces in filenames to underscores */
#endif
#if (defined(NLM))
    int sflag;          /* -s: convert spaces in filenames to underscores */
#endif
#ifdef VMS
    int S_flag;         /* -S: use Stream_LF for text files (-a[a]) */
#endif
#if (defined(MSDOS) || defined(__human68k__) || defined(OS2) || defined(WIN32))
    int volflag;        /* -$: extract volume labels */
#endif
    int tflag;          /* -t: test (unzip) or totals line (zipinfo) */
    int T_flag;         /* -T: timestamps (unzip) or dec. time fmt (zipinfo) */
    int uflag;          /* -u: "update" (extract only newer/brand-new files) */
#if defined(UNIX) || defined(VMS) || defined(WIN32)
    int U_flag;         /* -U: escape non-ASCII, -UU No Unicode paths */
#endif
    int vflag;          /* -v: (verbosely) list directory */
    int V_flag;         /* -V: don't strip VMS version numbers */
    int W_flag;         /* -W: wildcard '*' won't match '/' dir separator */
#if (defined (__ATHEOS__) || defined(__BEOS__) || defined(UNIX))
    int X_flag;         /* -X: restore owner/protection or UID/GID or ACLs */
#else
#if (defined(TANDEM) || defined(THEOS))
    int X_flag;         /* -X: restore owner/protection or UID/GID or ACLs */
#else
#if (defined(OS2) || defined(VMS) || defined(WIN32))
    int X_flag;         /* -X: restore owner/protection or UID/GID or ACLs */
#endif
#endif
#endif
#ifdef VMS
    int Y_flag;         /* -Y: treat ".nnn" as ";nnn" version */
#endif
    int zflag;          /* -z: display the zipfile comment (only, for unzip) */
#ifdef VMS
    int ods2_flag;      /* -2: force names to conform to ODS2 */
#endif
#if (!defined(RISCOS) && !defined(CMS_MVS) && !defined(TANDEM))
    int ddotflag;       /* -:: don't skip over "../" path elements */
#endif
#ifdef UNIX
    int cflxflag;       /* -^: allow control chars in extracted filenames */
#endif
#endif /* !FUNZIP */
} UzpOpts;

/* intended to be a private struct: */
typedef struct _ver {
    uch major;              /* e.g., integer 5 */
    uch minor;              /* e.g., 2 */
    uch patchlevel;         /* e.g., 0 */
    uch not_used;
} _version_type;

typedef struct _UzpVer {
    ulg structlen;            /* length of the struct being passed */
    ulg flag;                 /* bit 0: is_beta   bit 1: uses_zlib */
    ZCONST char *betalevel;   /* e.g. "g BETA" or "" */
    ZCONST char *date;        /* e.g. "9 Oct 08" (beta) or "9 October 2008" */
    ZCONST char *zlib_version;/* e.g. "1.2.3" or NULL */
    _version_type unzip;      /* current UnZip version */
    _version_type zipinfo;    /* current ZipInfo version */
    _version_type os2dll;     /* OS2DLL version (retained for compatibility */
    _version_type windll;     /* WinDLL version (retained for compatibility */
    _version_type dllapimin;  /* last incompatible change of library API */
} UzpVer;

/* for Visual BASIC access to Windows DLLs: */
typedef struct _UzpVer2 {
    ulg structlen;            /* length of the struct being passed */
    ulg flag;                 /* bit 0: is_beta   bit 1: uses_zlib */
    char betalevel[10];       /* e.g. "g BETA" or "" */
    char date[20];            /* e.g. "9 Oct 08" (beta) or "9 October 2008" */
    char zlib_version[10];    /* e.g. "1.2.3" or NULL */
    _version_type unzip;      /* current UnZip version */
    _version_type zipinfo;    /* current ZipInfo version */
    _version_type os2dll;     /* OS2DLL version (retained for compatibility */
    _version_type windll;     /* WinDLL version (retained for compatibility */
    _version_type dllapimin;  /* last incompatible change of library API */
} UzpVer2;


typedef struct _Uzp_Siz64 {
    unsigned long lo32;
    unsigned long hi32;
} Uzp_Siz64;

typedef struct _Uzp_cdir_Rec {
    uch version_made_by[2];
    uch version_needed_to_extract[2];
    ush general_purpose_bit_flag;
    ush compression_method;
    ulg last_mod_dos_datetime;
    ulg crc32;
    Uzp_Siz64 csize;
    Uzp_Siz64 ucsize;
    ush filename_length;
    ush extra_field_length;
    ush file_comment_length;
    ush disk_number_start;
    ush internal_file_attributes;
    ulg external_file_attributes;
    Uzp_Siz64 relative_offset_local_header;
} Uzp_cdir_Rec;


#define UZPINIT_LEN   sizeof(UzpInit)
#define UZPVER_LEN    sizeof(UzpVer)
#define cbList(func)  int (* UZ_EXP func)(char *filename, Uzp_cdir_Rec *crec)


/*---------------------------------------------------------------------------



( run in 3.324 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )