xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/Far/FarPlugin.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // FarPlugin.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker // #include "plugin.hpp"
4*f6dc9357SAndroid Build Coastguard Worker 
5*f6dc9357SAndroid Build Coastguard Worker const int kInfoPanelLineSize = 80;
6*f6dc9357SAndroid Build Coastguard Worker 
7*f6dc9357SAndroid Build Coastguard Worker // #define __FAR_PLUGIN_H
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker #ifdef UNDER_CE
10*f6dc9357SAndroid Build Coastguard Worker typedef struct {
11*f6dc9357SAndroid Build Coastguard Worker     union {
12*f6dc9357SAndroid Build Coastguard Worker         WCHAR UnicodeChar;
13*f6dc9357SAndroid Build Coastguard Worker         CHAR   AsciiChar;
14*f6dc9357SAndroid Build Coastguard Worker     } Char;
15*f6dc9357SAndroid Build Coastguard Worker     WORD Attributes;
16*f6dc9357SAndroid Build Coastguard Worker } CHAR_INFO, *PCHAR_INFO;
17*f6dc9357SAndroid Build Coastguard Worker #endif
18*f6dc9357SAndroid Build Coastguard Worker 
19*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_FAR_PLUGIN_H
20*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_FAR_PLUGIN_H
21*f6dc9357SAndroid Build Coastguard Worker 
22*f6dc9357SAndroid Build Coastguard Worker #ifndef _WIN64
23*f6dc9357SAndroid Build Coastguard Worker #if defined(__BORLANDC__) && (__BORLANDC <= 0x520)
24*f6dc9357SAndroid Build Coastguard Worker   #pragma option -a1
25*f6dc9357SAndroid Build Coastguard Worker #elif defined(__GNUC__) || (defined(__WATCOMC__) && (__WATCOMC__ < 1100))
26*f6dc9357SAndroid Build Coastguard Worker   #pragma pack(1)
27*f6dc9357SAndroid Build Coastguard Worker #else
28*f6dc9357SAndroid Build Coastguard Worker   #pragma pack(push,1)
29*f6dc9357SAndroid Build Coastguard Worker #endif
30*f6dc9357SAndroid Build Coastguard Worker #endif
31*f6dc9357SAndroid Build Coastguard Worker 
32*f6dc9357SAndroid Build Coastguard Worker   // #if _MSC_VER
33*f6dc9357SAndroid Build Coastguard Worker     #define _export
34*f6dc9357SAndroid Build Coastguard Worker   // #endif
35*f6dc9357SAndroid Build Coastguard Worker 
36*f6dc9357SAndroid Build Coastguard Worker #define NM 260
37*f6dc9357SAndroid Build Coastguard Worker 
38*f6dc9357SAndroid Build Coastguard Worker struct FarFindData
39*f6dc9357SAndroid Build Coastguard Worker {
40*f6dc9357SAndroid Build Coastguard Worker   DWORD dwFileAttributes;
41*f6dc9357SAndroid Build Coastguard Worker   FILETIME ftCreationTime;
42*f6dc9357SAndroid Build Coastguard Worker   FILETIME ftLastAccessTime;
43*f6dc9357SAndroid Build Coastguard Worker   FILETIME ftLastWriteTime;
44*f6dc9357SAndroid Build Coastguard Worker   DWORD nFileSizeHigh;
45*f6dc9357SAndroid Build Coastguard Worker   DWORD nFileSizeLow;
46*f6dc9357SAndroid Build Coastguard Worker   DWORD dwReserved0;
47*f6dc9357SAndroid Build Coastguard Worker   DWORD dwReserved1;
48*f6dc9357SAndroid Build Coastguard Worker   char cFileName[ MAX_PATH ];
49*f6dc9357SAndroid Build Coastguard Worker   char cAlternateFileName[ 14 ];
50*f6dc9357SAndroid Build Coastguard Worker };
51*f6dc9357SAndroid Build Coastguard Worker 
52*f6dc9357SAndroid Build Coastguard Worker struct PluginPanelItem
53*f6dc9357SAndroid Build Coastguard Worker {
54*f6dc9357SAndroid Build Coastguard Worker   FarFindData FindData;
55*f6dc9357SAndroid Build Coastguard Worker   DWORD PackSizeHigh;
56*f6dc9357SAndroid Build Coastguard Worker   DWORD PackSize;
57*f6dc9357SAndroid Build Coastguard Worker   DWORD Flags;
58*f6dc9357SAndroid Build Coastguard Worker   DWORD NumberOfLinks;
59*f6dc9357SAndroid Build Coastguard Worker   char *Description;
60*f6dc9357SAndroid Build Coastguard Worker   char *Owner;
61*f6dc9357SAndroid Build Coastguard Worker   char **CustomColumnData;
62*f6dc9357SAndroid Build Coastguard Worker   int CustomColumnNumber;
63*f6dc9357SAndroid Build Coastguard Worker   DWORD_PTR UserData;
64*f6dc9357SAndroid Build Coastguard Worker   DWORD CRC32;
65*f6dc9357SAndroid Build Coastguard Worker   DWORD_PTR Reserved[2];
66*f6dc9357SAndroid Build Coastguard Worker };
67*f6dc9357SAndroid Build Coastguard Worker 
68*f6dc9357SAndroid Build Coastguard Worker #define PPIF_PROCESSDESCR 0x80000000
69*f6dc9357SAndroid Build Coastguard Worker #define PPIF_SELECTED     0x40000000
70*f6dc9357SAndroid Build Coastguard Worker #define PPIF_USERDATA     0x20000000
71*f6dc9357SAndroid Build Coastguard Worker 
72*f6dc9357SAndroid Build Coastguard Worker enum {
73*f6dc9357SAndroid Build Coastguard Worker   FMENU_SHOWAMPERSAND=1,
74*f6dc9357SAndroid Build Coastguard Worker   FMENU_WRAPMODE=2,
75*f6dc9357SAndroid Build Coastguard Worker   FMENU_AUTOHIGHLIGHT=4,
76*f6dc9357SAndroid Build Coastguard Worker   FMENU_REVERSEAUTOHIGHLIGHT=8
77*f6dc9357SAndroid Build Coastguard Worker };
78*f6dc9357SAndroid Build Coastguard Worker 
79*f6dc9357SAndroid Build Coastguard Worker 
80*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIMENU)(
81*f6dc9357SAndroid Build Coastguard Worker   INT_PTR PluginNumber,
82*f6dc9357SAndroid Build Coastguard Worker   int X,
83*f6dc9357SAndroid Build Coastguard Worker   int Y,
84*f6dc9357SAndroid Build Coastguard Worker   int MaxHeight,
85*f6dc9357SAndroid Build Coastguard Worker   unsigned Flags,
86*f6dc9357SAndroid Build Coastguard Worker   char *Title,
87*f6dc9357SAndroid Build Coastguard Worker   char *Bottom,
88*f6dc9357SAndroid Build Coastguard Worker   char *HelpTopic,
89*f6dc9357SAndroid Build Coastguard Worker   int *BreakKeys,
90*f6dc9357SAndroid Build Coastguard Worker   int *BreakCode,
91*f6dc9357SAndroid Build Coastguard Worker   struct FarMenuItem *Item,
92*f6dc9357SAndroid Build Coastguard Worker   int ItemsNumber
93*f6dc9357SAndroid Build Coastguard Worker );
94*f6dc9357SAndroid Build Coastguard Worker 
95*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIDIALOG)(
96*f6dc9357SAndroid Build Coastguard Worker   INT_PTR PluginNumber,
97*f6dc9357SAndroid Build Coastguard Worker   int X1,
98*f6dc9357SAndroid Build Coastguard Worker   int Y1,
99*f6dc9357SAndroid Build Coastguard Worker   int X2,
100*f6dc9357SAndroid Build Coastguard Worker   int Y2,
101*f6dc9357SAndroid Build Coastguard Worker   char *HelpTopic,
102*f6dc9357SAndroid Build Coastguard Worker   struct FarDialogItem *Item,
103*f6dc9357SAndroid Build Coastguard Worker   int ItemsNumber
104*f6dc9357SAndroid Build Coastguard Worker );
105*f6dc9357SAndroid Build Coastguard Worker 
106*f6dc9357SAndroid Build Coastguard Worker enum {
107*f6dc9357SAndroid Build Coastguard Worker   FMSG_WARNING             = 0x00000001,
108*f6dc9357SAndroid Build Coastguard Worker   FMSG_ERRORTYPE           = 0x00000002,
109*f6dc9357SAndroid Build Coastguard Worker   FMSG_KEEPBACKGROUND      = 0x00000004,
110*f6dc9357SAndroid Build Coastguard Worker   FMSG_DOWN                = 0x00000008,
111*f6dc9357SAndroid Build Coastguard Worker   FMSG_LEFTALIGN           = 0x00000010,
112*f6dc9357SAndroid Build Coastguard Worker 
113*f6dc9357SAndroid Build Coastguard Worker   FMSG_ALLINONE            = 0x00000020,
114*f6dc9357SAndroid Build Coastguard Worker 
115*f6dc9357SAndroid Build Coastguard Worker   FMSG_MB_OK               = 0x00010000,
116*f6dc9357SAndroid Build Coastguard Worker   FMSG_MB_OKCANCEL         = 0x00020000,
117*f6dc9357SAndroid Build Coastguard Worker   FMSG_MB_ABORTRETRYIGNORE = 0x00030000,
118*f6dc9357SAndroid Build Coastguard Worker   FMSG_MB_YESNO            = 0x00040000,
119*f6dc9357SAndroid Build Coastguard Worker   FMSG_MB_YESNOCANCEL      = 0x00050000,
120*f6dc9357SAndroid Build Coastguard Worker   FMSG_MB_RETRYCANCEL      = 0x00060000
121*f6dc9357SAndroid Build Coastguard Worker };
122*f6dc9357SAndroid Build Coastguard Worker 
123*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIMESSAGE)(
124*f6dc9357SAndroid Build Coastguard Worker   INT_PTR PluginNumber,
125*f6dc9357SAndroid Build Coastguard Worker   unsigned Flags,
126*f6dc9357SAndroid Build Coastguard Worker   const char *HelpTopic,
127*f6dc9357SAndroid Build Coastguard Worker   const char * const *Items,
128*f6dc9357SAndroid Build Coastguard Worker   int ItemsNumber,
129*f6dc9357SAndroid Build Coastguard Worker   int ButtonsNumber
130*f6dc9357SAndroid Build Coastguard Worker );
131*f6dc9357SAndroid Build Coastguard Worker 
132*f6dc9357SAndroid Build Coastguard Worker typedef char* (WINAPI *FARAPIGETMSG)(
133*f6dc9357SAndroid Build Coastguard Worker   INT_PTR PluginNumber,
134*f6dc9357SAndroid Build Coastguard Worker   int MsgId
135*f6dc9357SAndroid Build Coastguard Worker );
136*f6dc9357SAndroid Build Coastguard Worker 
137*f6dc9357SAndroid Build Coastguard Worker 
138*f6dc9357SAndroid Build Coastguard Worker enum DialogItemTypes {
139*f6dc9357SAndroid Build Coastguard Worker   DI_TEXT,
140*f6dc9357SAndroid Build Coastguard Worker   DI_VTEXT,
141*f6dc9357SAndroid Build Coastguard Worker   DI_SINGLEBOX,
142*f6dc9357SAndroid Build Coastguard Worker   DI_DOUBLEBOX,
143*f6dc9357SAndroid Build Coastguard Worker   DI_EDIT,
144*f6dc9357SAndroid Build Coastguard Worker   DI_PSWEDIT,
145*f6dc9357SAndroid Build Coastguard Worker   DI_FIXEDIT,
146*f6dc9357SAndroid Build Coastguard Worker   DI_BUTTON,
147*f6dc9357SAndroid Build Coastguard Worker   DI_CHECKBOX,
148*f6dc9357SAndroid Build Coastguard Worker   DI_RADIOBUTTON
149*f6dc9357SAndroid Build Coastguard Worker };
150*f6dc9357SAndroid Build Coastguard Worker 
151*f6dc9357SAndroid Build Coastguard Worker enum FarDialogItemFlags {
152*f6dc9357SAndroid Build Coastguard Worker   DIF_COLORMASK       =    0xff,
153*f6dc9357SAndroid Build Coastguard Worker   DIF_SETCOLOR        =   0x100,
154*f6dc9357SAndroid Build Coastguard Worker   DIF_BOXCOLOR        =   0x200,
155*f6dc9357SAndroid Build Coastguard Worker   DIF_GROUP           =   0x400,
156*f6dc9357SAndroid Build Coastguard Worker   DIF_LEFTTEXT        =   0x800,
157*f6dc9357SAndroid Build Coastguard Worker   DIF_MOVESELECT      =  0x1000,
158*f6dc9357SAndroid Build Coastguard Worker   DIF_SHOWAMPERSAND   =  0x2000,
159*f6dc9357SAndroid Build Coastguard Worker   DIF_CENTERGROUP     =  0x4000,
160*f6dc9357SAndroid Build Coastguard Worker   DIF_NOBRACKETS      =  0x8000,
161*f6dc9357SAndroid Build Coastguard Worker   DIF_SEPARATOR       = 0x10000,
162*f6dc9357SAndroid Build Coastguard Worker   DIF_EDITOR          = 0x20000,
163*f6dc9357SAndroid Build Coastguard Worker   DIF_HISTORY         = 0x40000
164*f6dc9357SAndroid Build Coastguard Worker };
165*f6dc9357SAndroid Build Coastguard Worker 
166*f6dc9357SAndroid Build Coastguard Worker struct FarDialogItem
167*f6dc9357SAndroid Build Coastguard Worker {
168*f6dc9357SAndroid Build Coastguard Worker   int Type;
169*f6dc9357SAndroid Build Coastguard Worker   int X1,Y1,X2,Y2;
170*f6dc9357SAndroid Build Coastguard Worker   int Focus;
171*f6dc9357SAndroid Build Coastguard Worker   union
172*f6dc9357SAndroid Build Coastguard Worker   {
173*f6dc9357SAndroid Build Coastguard Worker     int Selected;
174*f6dc9357SAndroid Build Coastguard Worker     const char *History;
175*f6dc9357SAndroid Build Coastguard Worker     const char *Mask;
176*f6dc9357SAndroid Build Coastguard Worker     struct FarList *ListItems;
177*f6dc9357SAndroid Build Coastguard Worker     int ListPos;
178*f6dc9357SAndroid Build Coastguard Worker     CHAR_INFO *VBuf;
179*f6dc9357SAndroid Build Coastguard Worker   };
180*f6dc9357SAndroid Build Coastguard Worker   unsigned Flags;
181*f6dc9357SAndroid Build Coastguard Worker   int DefaultButton;
182*f6dc9357SAndroid Build Coastguard Worker   char Data[512];
183*f6dc9357SAndroid Build Coastguard Worker };
184*f6dc9357SAndroid Build Coastguard Worker 
185*f6dc9357SAndroid Build Coastguard Worker 
186*f6dc9357SAndroid Build Coastguard Worker struct FarMenuItem
187*f6dc9357SAndroid Build Coastguard Worker {
188*f6dc9357SAndroid Build Coastguard Worker   char Text[128];
189*f6dc9357SAndroid Build Coastguard Worker   int Selected;
190*f6dc9357SAndroid Build Coastguard Worker   int Checked;
191*f6dc9357SAndroid Build Coastguard Worker   int Separator;
192*f6dc9357SAndroid Build Coastguard Worker };
193*f6dc9357SAndroid Build Coastguard Worker 
194*f6dc9357SAndroid Build Coastguard Worker 
195*f6dc9357SAndroid Build Coastguard Worker enum {FCTL_CLOSEPLUGIN,FCTL_GETPANELINFO,FCTL_GETANOTHERPANELINFO,
196*f6dc9357SAndroid Build Coastguard Worker       FCTL_UPDATEPANEL,FCTL_UPDATEANOTHERPANEL,
197*f6dc9357SAndroid Build Coastguard Worker       FCTL_REDRAWPANEL,FCTL_REDRAWANOTHERPANEL,
198*f6dc9357SAndroid Build Coastguard Worker       FCTL_SETANOTHERPANELDIR,FCTL_GETCMDLINE,FCTL_SETCMDLINE,
199*f6dc9357SAndroid Build Coastguard Worker       FCTL_SETSELECTION,FCTL_SETANOTHERSELECTION,
200*f6dc9357SAndroid Build Coastguard Worker       FCTL_SETVIEWMODE,FCTL_SETANOTHERVIEWMODE,FCTL_INSERTCMDLINE,
201*f6dc9357SAndroid Build Coastguard Worker       FCTL_SETUSERSCREEN,FCTL_SETPANELDIR,FCTL_SETCMDLINEPOS,
202*f6dc9357SAndroid Build Coastguard Worker       FCTL_GETCMDLINEPOS
203*f6dc9357SAndroid Build Coastguard Worker };
204*f6dc9357SAndroid Build Coastguard Worker 
205*f6dc9357SAndroid Build Coastguard Worker enum {PTYPE_FILEPANEL,PTYPE_TREEPANEL,PTYPE_QVIEWPANEL,PTYPE_INFOPANEL};
206*f6dc9357SAndroid Build Coastguard Worker 
207*f6dc9357SAndroid Build Coastguard Worker struct PanelInfo
208*f6dc9357SAndroid Build Coastguard Worker {
209*f6dc9357SAndroid Build Coastguard Worker   int PanelType;
210*f6dc9357SAndroid Build Coastguard Worker   int Plugin;
211*f6dc9357SAndroid Build Coastguard Worker   RECT PanelRect;
212*f6dc9357SAndroid Build Coastguard Worker   struct PluginPanelItem *PanelItems;
213*f6dc9357SAndroid Build Coastguard Worker   int ItemsNumber;
214*f6dc9357SAndroid Build Coastguard Worker   struct PluginPanelItem *SelectedItems;
215*f6dc9357SAndroid Build Coastguard Worker   int SelectedItemsNumber;
216*f6dc9357SAndroid Build Coastguard Worker   int CurrentItem;
217*f6dc9357SAndroid Build Coastguard Worker   int TopPanelItem;
218*f6dc9357SAndroid Build Coastguard Worker   int Visible;
219*f6dc9357SAndroid Build Coastguard Worker   int Focus;
220*f6dc9357SAndroid Build Coastguard Worker   int ViewMode;
221*f6dc9357SAndroid Build Coastguard Worker   char ColumnTypes[80];
222*f6dc9357SAndroid Build Coastguard Worker   char ColumnWidths[80];
223*f6dc9357SAndroid Build Coastguard Worker   char CurDir[NM];
224*f6dc9357SAndroid Build Coastguard Worker   int ShortNames;
225*f6dc9357SAndroid Build Coastguard Worker   int SortMode;
226*f6dc9357SAndroid Build Coastguard Worker   DWORD Flags;
227*f6dc9357SAndroid Build Coastguard Worker   DWORD Reserved;
228*f6dc9357SAndroid Build Coastguard Worker };
229*f6dc9357SAndroid Build Coastguard Worker 
230*f6dc9357SAndroid Build Coastguard Worker 
231*f6dc9357SAndroid Build Coastguard Worker struct PanelRedrawInfo
232*f6dc9357SAndroid Build Coastguard Worker {
233*f6dc9357SAndroid Build Coastguard Worker   int CurrentItem;
234*f6dc9357SAndroid Build Coastguard Worker   int TopPanelItem;
235*f6dc9357SAndroid Build Coastguard Worker };
236*f6dc9357SAndroid Build Coastguard Worker 
237*f6dc9357SAndroid Build Coastguard Worker 
238*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPICONTROL)(
239*f6dc9357SAndroid Build Coastguard Worker   HANDLE hPlugin,
240*f6dc9357SAndroid Build Coastguard Worker   int Command,
241*f6dc9357SAndroid Build Coastguard Worker   void *Param
242*f6dc9357SAndroid Build Coastguard Worker );
243*f6dc9357SAndroid Build Coastguard Worker 
244*f6dc9357SAndroid Build Coastguard Worker typedef HANDLE (WINAPI *FARAPISAVESCREEN)(int X1,int Y1,int X2,int Y2);
245*f6dc9357SAndroid Build Coastguard Worker 
246*f6dc9357SAndroid Build Coastguard Worker typedef void (WINAPI *FARAPIRESTORESCREEN)(HANDLE hScreen);
247*f6dc9357SAndroid Build Coastguard Worker 
248*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIGETDIRLIST)(
249*f6dc9357SAndroid Build Coastguard Worker   char *Dir,
250*f6dc9357SAndroid Build Coastguard Worker   struct PluginPanelItem **pPanelItem,
251*f6dc9357SAndroid Build Coastguard Worker   int *pItemsNumber
252*f6dc9357SAndroid Build Coastguard Worker );
253*f6dc9357SAndroid Build Coastguard Worker 
254*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIGETPLUGINDIRLIST)(
255*f6dc9357SAndroid Build Coastguard Worker   INT_PTR PluginNumber,
256*f6dc9357SAndroid Build Coastguard Worker   HANDLE hPlugin,
257*f6dc9357SAndroid Build Coastguard Worker   char *Dir,
258*f6dc9357SAndroid Build Coastguard Worker   struct PluginPanelItem **pPanelItem,
259*f6dc9357SAndroid Build Coastguard Worker   int *pItemsNumber
260*f6dc9357SAndroid Build Coastguard Worker );
261*f6dc9357SAndroid Build Coastguard Worker 
262*f6dc9357SAndroid Build Coastguard Worker typedef void (WINAPI *FARAPIFREEDIRLIST)(struct PluginPanelItem *PanelItem);
263*f6dc9357SAndroid Build Coastguard Worker 
264*f6dc9357SAndroid Build Coastguard Worker enum VIEWER_FLAGS {
265*f6dc9357SAndroid Build Coastguard Worker   VF_NONMODAL=1,VF_DELETEONCLOSE=2
266*f6dc9357SAndroid Build Coastguard Worker };
267*f6dc9357SAndroid Build Coastguard Worker 
268*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIVIEWER)(
269*f6dc9357SAndroid Build Coastguard Worker   char *FileName,
270*f6dc9357SAndroid Build Coastguard Worker   char *Title,
271*f6dc9357SAndroid Build Coastguard Worker   int X1,
272*f6dc9357SAndroid Build Coastguard Worker   int Y1,
273*f6dc9357SAndroid Build Coastguard Worker   int X2,
274*f6dc9357SAndroid Build Coastguard Worker   int Y2,
275*f6dc9357SAndroid Build Coastguard Worker   DWORD Flags
276*f6dc9357SAndroid Build Coastguard Worker );
277*f6dc9357SAndroid Build Coastguard Worker 
278*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIEDITOR)(
279*f6dc9357SAndroid Build Coastguard Worker   char *FileName,
280*f6dc9357SAndroid Build Coastguard Worker   char *Title,
281*f6dc9357SAndroid Build Coastguard Worker   int X1,
282*f6dc9357SAndroid Build Coastguard Worker   int Y1,
283*f6dc9357SAndroid Build Coastguard Worker   int X2,
284*f6dc9357SAndroid Build Coastguard Worker   int Y2,
285*f6dc9357SAndroid Build Coastguard Worker   DWORD Flags,
286*f6dc9357SAndroid Build Coastguard Worker   int StartLine,
287*f6dc9357SAndroid Build Coastguard Worker   int StartChar
288*f6dc9357SAndroid Build Coastguard Worker );
289*f6dc9357SAndroid Build Coastguard Worker 
290*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPICMPNAME)(
291*f6dc9357SAndroid Build Coastguard Worker   char *Pattern,
292*f6dc9357SAndroid Build Coastguard Worker   char *String,
293*f6dc9357SAndroid Build Coastguard Worker   int SkipPath
294*f6dc9357SAndroid Build Coastguard Worker );
295*f6dc9357SAndroid Build Coastguard Worker 
296*f6dc9357SAndroid Build Coastguard Worker 
297*f6dc9357SAndroid Build Coastguard Worker #define FCT_DETECT 0x40000000
298*f6dc9357SAndroid Build Coastguard Worker 
299*f6dc9357SAndroid Build Coastguard Worker struct CharTableSet
300*f6dc9357SAndroid Build Coastguard Worker {
301*f6dc9357SAndroid Build Coastguard Worker   char DecodeTable[256];
302*f6dc9357SAndroid Build Coastguard Worker   char EncodeTable[256];
303*f6dc9357SAndroid Build Coastguard Worker   char UpperTable[256];
304*f6dc9357SAndroid Build Coastguard Worker   char LowerTable[256];
305*f6dc9357SAndroid Build Coastguard Worker   char TableName[128];
306*f6dc9357SAndroid Build Coastguard Worker };
307*f6dc9357SAndroid Build Coastguard Worker 
308*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPICHARTABLE)(
309*f6dc9357SAndroid Build Coastguard Worker   int Command,
310*f6dc9357SAndroid Build Coastguard Worker   char *Buffer,
311*f6dc9357SAndroid Build Coastguard Worker   int BufferSize
312*f6dc9357SAndroid Build Coastguard Worker );
313*f6dc9357SAndroid Build Coastguard Worker 
314*f6dc9357SAndroid Build Coastguard Worker typedef void (WINAPI *FARAPITEXT)(
315*f6dc9357SAndroid Build Coastguard Worker   int X,
316*f6dc9357SAndroid Build Coastguard Worker   int Y,
317*f6dc9357SAndroid Build Coastguard Worker   int Color,
318*f6dc9357SAndroid Build Coastguard Worker   char *Str
319*f6dc9357SAndroid Build Coastguard Worker );
320*f6dc9357SAndroid Build Coastguard Worker 
321*f6dc9357SAndroid Build Coastguard Worker 
322*f6dc9357SAndroid Build Coastguard Worker typedef int (WINAPI *FARAPIEDITORCONTROL)(
323*f6dc9357SAndroid Build Coastguard Worker   int Command,
324*f6dc9357SAndroid Build Coastguard Worker   void *Param
325*f6dc9357SAndroid Build Coastguard Worker );
326*f6dc9357SAndroid Build Coastguard Worker 
327*f6dc9357SAndroid Build Coastguard Worker struct PluginStartupInfo
328*f6dc9357SAndroid Build Coastguard Worker {
329*f6dc9357SAndroid Build Coastguard Worker   int StructSize;
330*f6dc9357SAndroid Build Coastguard Worker   char ModuleName[NM];
331*f6dc9357SAndroid Build Coastguard Worker   INT_PTR ModuleNumber;
332*f6dc9357SAndroid Build Coastguard Worker   char *RootKey;
333*f6dc9357SAndroid Build Coastguard Worker   FARAPIMENU Menu;
334*f6dc9357SAndroid Build Coastguard Worker   FARAPIDIALOG Dialog;
335*f6dc9357SAndroid Build Coastguard Worker   FARAPIMESSAGE Message;
336*f6dc9357SAndroid Build Coastguard Worker   FARAPIGETMSG GetMsg;
337*f6dc9357SAndroid Build Coastguard Worker   FARAPICONTROL Control;
338*f6dc9357SAndroid Build Coastguard Worker   FARAPISAVESCREEN SaveScreen;
339*f6dc9357SAndroid Build Coastguard Worker   FARAPIRESTORESCREEN RestoreScreen;
340*f6dc9357SAndroid Build Coastguard Worker   FARAPIGETDIRLIST GetDirList;
341*f6dc9357SAndroid Build Coastguard Worker   FARAPIGETPLUGINDIRLIST GetPluginDirList;
342*f6dc9357SAndroid Build Coastguard Worker   FARAPIFREEDIRLIST FreeDirList;
343*f6dc9357SAndroid Build Coastguard Worker   FARAPIVIEWER Viewer;
344*f6dc9357SAndroid Build Coastguard Worker   FARAPIEDITOR Editor;
345*f6dc9357SAndroid Build Coastguard Worker   FARAPICMPNAME CmpName;
346*f6dc9357SAndroid Build Coastguard Worker   FARAPICHARTABLE CharTable;
347*f6dc9357SAndroid Build Coastguard Worker   FARAPITEXT Text;
348*f6dc9357SAndroid Build Coastguard Worker   FARAPIEDITORCONTROL EditorControl;
349*f6dc9357SAndroid Build Coastguard Worker };
350*f6dc9357SAndroid Build Coastguard Worker 
351*f6dc9357SAndroid Build Coastguard Worker 
352*f6dc9357SAndroid Build Coastguard Worker enum PLUGIN_FLAGS {
353*f6dc9357SAndroid Build Coastguard Worker   PF_PRELOAD        = 0x0001,
354*f6dc9357SAndroid Build Coastguard Worker   PF_DISABLEPANELS  = 0x0002,
355*f6dc9357SAndroid Build Coastguard Worker   PF_EDITOR         = 0x0004,
356*f6dc9357SAndroid Build Coastguard Worker   PF_VIEWER         = 0x0008
357*f6dc9357SAndroid Build Coastguard Worker };
358*f6dc9357SAndroid Build Coastguard Worker 
359*f6dc9357SAndroid Build Coastguard Worker 
360*f6dc9357SAndroid Build Coastguard Worker struct PluginInfo
361*f6dc9357SAndroid Build Coastguard Worker {
362*f6dc9357SAndroid Build Coastguard Worker   int StructSize;
363*f6dc9357SAndroid Build Coastguard Worker   DWORD Flags;
364*f6dc9357SAndroid Build Coastguard Worker   char **DiskMenuStrings;
365*f6dc9357SAndroid Build Coastguard Worker   int *DiskMenuNumbers;
366*f6dc9357SAndroid Build Coastguard Worker   int DiskMenuStringsNumber;
367*f6dc9357SAndroid Build Coastguard Worker   char **PluginMenuStrings;
368*f6dc9357SAndroid Build Coastguard Worker   int PluginMenuStringsNumber;
369*f6dc9357SAndroid Build Coastguard Worker   char **PluginConfigStrings;
370*f6dc9357SAndroid Build Coastguard Worker   int PluginConfigStringsNumber;
371*f6dc9357SAndroid Build Coastguard Worker   char *CommandPrefix;
372*f6dc9357SAndroid Build Coastguard Worker };
373*f6dc9357SAndroid Build Coastguard Worker 
374*f6dc9357SAndroid Build Coastguard Worker struct InfoPanelLine
375*f6dc9357SAndroid Build Coastguard Worker {
376*f6dc9357SAndroid Build Coastguard Worker   char Text[kInfoPanelLineSize];
377*f6dc9357SAndroid Build Coastguard Worker   char Data[kInfoPanelLineSize];
378*f6dc9357SAndroid Build Coastguard Worker   int Separator;
379*f6dc9357SAndroid Build Coastguard Worker };
380*f6dc9357SAndroid Build Coastguard Worker 
381*f6dc9357SAndroid Build Coastguard Worker 
382*f6dc9357SAndroid Build Coastguard Worker struct PanelMode
383*f6dc9357SAndroid Build Coastguard Worker {
384*f6dc9357SAndroid Build Coastguard Worker   char *ColumnTypes;
385*f6dc9357SAndroid Build Coastguard Worker   char *ColumnWidths;
386*f6dc9357SAndroid Build Coastguard Worker   char **ColumnTitles;
387*f6dc9357SAndroid Build Coastguard Worker   int FullScreen;
388*f6dc9357SAndroid Build Coastguard Worker   int DetailedStatus;
389*f6dc9357SAndroid Build Coastguard Worker   int AlignExtensions;
390*f6dc9357SAndroid Build Coastguard Worker   int CaseConversion;
391*f6dc9357SAndroid Build Coastguard Worker   char *StatusColumnTypes;
392*f6dc9357SAndroid Build Coastguard Worker   char *StatusColumnWidths;
393*f6dc9357SAndroid Build Coastguard Worker   DWORD Reserved[2];
394*f6dc9357SAndroid Build Coastguard Worker };
395*f6dc9357SAndroid Build Coastguard Worker 
396*f6dc9357SAndroid Build Coastguard Worker 
397*f6dc9357SAndroid Build Coastguard Worker enum OPENPLUGININFO_FLAGS {
398*f6dc9357SAndroid Build Coastguard Worker   OPIF_USEFILTER               = 0x0001,
399*f6dc9357SAndroid Build Coastguard Worker   OPIF_USESORTGROUPS           = 0x0002,
400*f6dc9357SAndroid Build Coastguard Worker   OPIF_USEHIGHLIGHTING         = 0x0004,
401*f6dc9357SAndroid Build Coastguard Worker   OPIF_ADDDOTS                 = 0x0008,
402*f6dc9357SAndroid Build Coastguard Worker   OPIF_RAWSELECTION            = 0x0010,
403*f6dc9357SAndroid Build Coastguard Worker   OPIF_REALNAMES               = 0x0020,
404*f6dc9357SAndroid Build Coastguard Worker   OPIF_SHOWNAMESONLY           = 0x0040,
405*f6dc9357SAndroid Build Coastguard Worker   OPIF_SHOWRIGHTALIGNNAMES     = 0x0080,
406*f6dc9357SAndroid Build Coastguard Worker   OPIF_SHOWPRESERVECASE        = 0x0100,
407*f6dc9357SAndroid Build Coastguard Worker   OPIF_FINDFOLDERS             = 0x0200,
408*f6dc9357SAndroid Build Coastguard Worker   OPIF_COMPAREFATTIME          = 0x0400,
409*f6dc9357SAndroid Build Coastguard Worker   OPIF_EXTERNALGET             = 0x0800,
410*f6dc9357SAndroid Build Coastguard Worker   OPIF_EXTERNALPUT             = 0x1000,
411*f6dc9357SAndroid Build Coastguard Worker   OPIF_EXTERNALDELETE          = 0x2000,
412*f6dc9357SAndroid Build Coastguard Worker   OPIF_EXTERNALMKDIR           = 0x4000,
413*f6dc9357SAndroid Build Coastguard Worker   OPIF_USEATTRHIGHLIGHTING     = 0x8000
414*f6dc9357SAndroid Build Coastguard Worker };
415*f6dc9357SAndroid Build Coastguard Worker 
416*f6dc9357SAndroid Build Coastguard Worker 
417*f6dc9357SAndroid Build Coastguard Worker enum OPENPLUGININFO_SORTMODES {
418*f6dc9357SAndroid Build Coastguard Worker   SM_DEFAULT,SM_UNSORTED,SM_NAME,SM_EXT,SM_MTIME,SM_CTIME,
419*f6dc9357SAndroid Build Coastguard Worker   SM_ATIME,SM_SIZE,SM_DESCR,SM_OWNER,SM_COMPRESSEDSIZE,SM_NUMLINKS
420*f6dc9357SAndroid Build Coastguard Worker };
421*f6dc9357SAndroid Build Coastguard Worker 
422*f6dc9357SAndroid Build Coastguard Worker 
423*f6dc9357SAndroid Build Coastguard Worker struct KeyBarTitles
424*f6dc9357SAndroid Build Coastguard Worker {
425*f6dc9357SAndroid Build Coastguard Worker   char *Titles[12];
426*f6dc9357SAndroid Build Coastguard Worker   char *CtrlTitles[12];
427*f6dc9357SAndroid Build Coastguard Worker   char *AltTitles[12];
428*f6dc9357SAndroid Build Coastguard Worker   char *ShiftTitles[12];
429*f6dc9357SAndroid Build Coastguard Worker };
430*f6dc9357SAndroid Build Coastguard Worker 
431*f6dc9357SAndroid Build Coastguard Worker 
432*f6dc9357SAndroid Build Coastguard Worker struct OpenPluginInfo
433*f6dc9357SAndroid Build Coastguard Worker {
434*f6dc9357SAndroid Build Coastguard Worker   int StructSize;
435*f6dc9357SAndroid Build Coastguard Worker   DWORD Flags;
436*f6dc9357SAndroid Build Coastguard Worker   const char *HostFile;
437*f6dc9357SAndroid Build Coastguard Worker   const char *CurDir;
438*f6dc9357SAndroid Build Coastguard Worker   const char *Format;
439*f6dc9357SAndroid Build Coastguard Worker   const char *PanelTitle;
440*f6dc9357SAndroid Build Coastguard Worker   const struct InfoPanelLine *InfoLines;
441*f6dc9357SAndroid Build Coastguard Worker   int InfoLinesNumber;
442*f6dc9357SAndroid Build Coastguard Worker   const char * const *DescrFiles;
443*f6dc9357SAndroid Build Coastguard Worker   int DescrFilesNumber;
444*f6dc9357SAndroid Build Coastguard Worker   const struct PanelMode *PanelModesArray;
445*f6dc9357SAndroid Build Coastguard Worker   int PanelModesNumber;
446*f6dc9357SAndroid Build Coastguard Worker   int StartPanelMode;
447*f6dc9357SAndroid Build Coastguard Worker   int StartSortMode;
448*f6dc9357SAndroid Build Coastguard Worker   int StartSortOrder;
449*f6dc9357SAndroid Build Coastguard Worker   const struct KeyBarTitles *KeyBar;
450*f6dc9357SAndroid Build Coastguard Worker   const char *ShortcutData;
451*f6dc9357SAndroid Build Coastguard Worker   // long Reserverd;
452*f6dc9357SAndroid Build Coastguard Worker };
453*f6dc9357SAndroid Build Coastguard Worker 
454*f6dc9357SAndroid Build Coastguard Worker enum {
455*f6dc9357SAndroid Build Coastguard Worker   OPEN_DISKMENU,
456*f6dc9357SAndroid Build Coastguard Worker   OPEN_PLUGINSMENU,
457*f6dc9357SAndroid Build Coastguard Worker   OPEN_FINDLIST,
458*f6dc9357SAndroid Build Coastguard Worker   OPEN_SHORTCUT,
459*f6dc9357SAndroid Build Coastguard Worker   OPEN_COMMANDLINE,
460*f6dc9357SAndroid Build Coastguard Worker   OPEN_EDITOR,
461*f6dc9357SAndroid Build Coastguard Worker   OPEN_VIEWER
462*f6dc9357SAndroid Build Coastguard Worker };
463*f6dc9357SAndroid Build Coastguard Worker 
464*f6dc9357SAndroid Build Coastguard Worker enum {PKF_CONTROL=1,PKF_ALT=2,PKF_SHIFT=4};
465*f6dc9357SAndroid Build Coastguard Worker 
466*f6dc9357SAndroid Build Coastguard Worker enum FAR_EVENTS {
467*f6dc9357SAndroid Build Coastguard Worker   FE_CHANGEVIEWMODE,
468*f6dc9357SAndroid Build Coastguard Worker   FE_REDRAW,
469*f6dc9357SAndroid Build Coastguard Worker   FE_IDLE,
470*f6dc9357SAndroid Build Coastguard Worker   FE_CLOSE,
471*f6dc9357SAndroid Build Coastguard Worker   FE_BREAK,
472*f6dc9357SAndroid Build Coastguard Worker   FE_COMMAND
473*f6dc9357SAndroid Build Coastguard Worker };
474*f6dc9357SAndroid Build Coastguard Worker 
475*f6dc9357SAndroid Build Coastguard Worker enum OPERATION_MODES {
476*f6dc9357SAndroid Build Coastguard Worker   OPM_SILENT=1,
477*f6dc9357SAndroid Build Coastguard Worker   OPM_FIND=2,
478*f6dc9357SAndroid Build Coastguard Worker   OPM_VIEW=4,
479*f6dc9357SAndroid Build Coastguard Worker   OPM_EDIT=8,
480*f6dc9357SAndroid Build Coastguard Worker   OPM_TOPLEVEL=16,
481*f6dc9357SAndroid Build Coastguard Worker   OPM_DESCR=32
482*f6dc9357SAndroid Build Coastguard Worker };
483*f6dc9357SAndroid Build Coastguard Worker 
484*f6dc9357SAndroid Build Coastguard Worker #ifndef _WIN64
485*f6dc9357SAndroid Build Coastguard Worker #if defined(__BORLANDC__) && (__BORLANDC <= 0x520)
486*f6dc9357SAndroid Build Coastguard Worker   #pragma option -a.
487*f6dc9357SAndroid Build Coastguard Worker #elif defined(__GNUC__) || (defined(__WATCOMC__) && (__WATCOMC__ < 1100))
488*f6dc9357SAndroid Build Coastguard Worker   #pragma pack()
489*f6dc9357SAndroid Build Coastguard Worker #else
490*f6dc9357SAndroid Build Coastguard Worker   #pragma pack(pop)
491*f6dc9357SAndroid Build Coastguard Worker #endif
492*f6dc9357SAndroid Build Coastguard Worker #endif
493*f6dc9357SAndroid Build Coastguard Worker 
494*f6dc9357SAndroid Build Coastguard Worker /*
495*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_BEGIN
496*f6dc9357SAndroid Build Coastguard Worker 
497*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export ClosePluginW(HANDLE hPlugin);
498*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export CompareW(HANDLE hPlugin,const struct PluginPanelItem *Item1,const struct PluginPanelItem *Item2,unsigned Mode);
499*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ConfigureW(int ItemNumber);
500*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export DeleteFilesW(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int OpMode);
501*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export ExitFARW(void);
502*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export FreeFindDataW(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber);
503*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export FreeVirtualFindDataW(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber);
504*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetFilesW(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int Move,const wchar_t **DestPath,int OpMode);
505*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetFindDataW(HANDLE hPlugin,struct PluginPanelItem **pPanelItem,int *pItemsNumber,int OpMode);
506*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetMinFarVersionW(void);
507*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export GetOpenPluginInfoW(HANDLE hPlugin,struct OpenPluginInfo *Info);
508*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export GetPluginInfoW(struct PluginInfo *Info);
509*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetVirtualFindDataW(HANDLE hPlugin,struct PluginPanelItem **pPanelItem,int *pItemsNumber,const wchar_t *Path);
510*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export MakeDirectoryW(HANDLE hPlugin,const wchar_t **Name,int OpMode);
511*f6dc9357SAndroid Build Coastguard Worker   HANDLE WINAPI _export OpenFilePluginW(const wchar_t *Name,const unsigned char *Data,int DataSize,int OpMode);
512*f6dc9357SAndroid Build Coastguard Worker   HANDLE WINAPI _export OpenPluginW(int OpenFrom,INT_PTR Item);
513*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessDialogEventW(int Event,void *Param);
514*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessEditorEventW(int Event,void *Param);
515*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessEditorInputW(const INPUT_RECORD *Rec);
516*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessEventW(HANDLE hPlugin,int Event,void *Param);
517*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessHostFileW(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int OpMode);
518*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessKeyW(HANDLE hPlugin,int Key,unsigned ControlState);
519*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessSynchroEventW(int Event,void *Param);
520*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessViewerEventW(int Event,void *Param);
521*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export PutFilesW(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int Move,const wchar_t *SrcPath,int OpMode);
522*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export SetDirectoryW(HANDLE hPlugin,const wchar_t *Dir,int OpMode);
523*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export SetFindListW(HANDLE hPlugin,const struct PluginPanelItem *PanelItem,int ItemsNumber);
524*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export SetStartupInfoW(const struct PluginStartupInfo *Info);
525*f6dc9357SAndroid Build Coastguard Worker 
526*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_END
527*f6dc9357SAndroid Build Coastguard Worker */
528*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_BEGIN
529*f6dc9357SAndroid Build Coastguard Worker 
530*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export ClosePlugin(HANDLE hPlugin);
531*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export Compare(HANDLE hPlugin,const struct PluginPanelItem *Item1,const struct PluginPanelItem *Item2,unsigned Mode);
532*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export Configure(int ItemNumber);
533*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export DeleteFiles(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int OpMode);
534*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export ExitFAR(void);
535*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export FreeFindData(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber);
536*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export FreeVirtualFindData(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber);
537*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetFiles(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int Move,char *DestPath,int OpMode);
538*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetFindData(HANDLE hPlugin,struct PluginPanelItem **pPanelItem,int *pItemsNumber,int OpMode);
539*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetMinFarVersion(void);
540*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export GetOpenPluginInfo(HANDLE hPlugin,struct OpenPluginInfo *Info);
541*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export GetPluginInfo(struct PluginInfo *Info);
542*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export GetVirtualFindData(HANDLE hPlugin,struct PluginPanelItem **pPanelItem,int *pItemsNumber,const char *Path);
543*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export MakeDirectory(HANDLE hPlugin,char *Name,int OpMode);
544*f6dc9357SAndroid Build Coastguard Worker   HANDLE WINAPI _export OpenFilePlugin(char *Name,const BYTE *Data,int DataSize);
545*f6dc9357SAndroid Build Coastguard Worker   HANDLE WINAPI _export OpenPlugin(int OpenFrom,INT_PTR Item);
546*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessDialogEvent(int Event,void *Param);
547*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessEditorEvent(int Event,void *Param);
548*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessEditorInput(const INPUT_RECORD *Rec);
549*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessEvent(HANDLE hPlugin,int Event,void *Param);
550*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessHostFile(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int OpMode);
551*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessKey(HANDLE hPlugin,int Key,unsigned ControlState);
552*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export ProcessViewerEvent(int Event,void *Param);
553*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export PutFiles(HANDLE hPlugin,struct PluginPanelItem *PanelItem,int ItemsNumber,int Move,int OpMode);
554*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export SetDirectory(HANDLE hPlugin,const char *Dir,int OpMode);
555*f6dc9357SAndroid Build Coastguard Worker   int    WINAPI _export SetFindList(HANDLE hPlugin,const struct PluginPanelItem *PanelItem,int ItemsNumber);
556*f6dc9357SAndroid Build Coastguard Worker   void   WINAPI _export SetStartupInfo(const struct PluginStartupInfo *Info);
557*f6dc9357SAndroid Build Coastguard Worker 
558*f6dc9357SAndroid Build Coastguard Worker EXTERN_C_END
559*f6dc9357SAndroid Build Coastguard Worker 
560*f6dc9357SAndroid Build Coastguard Worker #endif
561