xref: /reactos/dll/shellext/zipfldr/zippidl.hpp (revision 84344399)
1 /*
2  * PROJECT:     ReactOS Zip Shell Extension
3  * LICENSE:     GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
4  * PURPOSE:     zip pidl handling
5  * COPYRIGHT:   Copyright 2017 Mark Jansen (mark.jansen@reactos.org)
6  *              Copyright 2023 Katayama Hirofumi MZ (katayama.hirofumi.mz@gmail.com)
7  */
8 
9 
10 enum ZipPidlType
11 {
12     ZIP_PIDL_DIRECTORY,
13     ZIP_PIDL_FILE
14 };
15 
16 #include <pshpack1.h>
17 struct ZipPidlEntry
18 {
19     WORD cb; // This must be a WORD to keep compatibility to SHITEMID
20     BYTE MagicType;
21     BOOLEAN Password;
22     ZipPidlType ZipType;
23 
24     ULONG64 CompressedSize;
25     ULONG64 UncompressedSize;
26     ULONG DosDate;
27 
28     WCHAR Name[1];
29 };
30 #include <poppack.h>
31 
32 
33 LPITEMIDLIST _ILCreate(ZipPidlType Type, PCWSTR lpString, unz_file_info64& info);
34 const ZipPidlEntry* _ZipFromIL(LPCITEMIDLIST pidl);
35