source: trunk/dll/makelist.h@ 1010

Last change on this file since 1010 was 907, checked in by Steven Levine, 18 years ago

Avoid out of memory traps in Compare Directories
Rework Compare Directories progress display for 2 second update rate
Start refactoring to reduce dependence on fm3dll.h
Add timer services (IsITimerExpired etc.)

File size: 1.8 KB
Line 
1
2/***********************************************************************
3
4 $Id: $
5
6 makelist common definitions
7
8 Copyright (c) 1993-98 M. Kimes
9 Copyright (c) 2001, 2008 Steven H. Levine
10
11 05 Jan 08 SHL Move makelist.c definitions here
12
13***********************************************************************/
14
15#if !defined(MAKELIST_H)
16#define MAKELIST_H
17
18#if defined(__IBMC__)
19#if __IBMC__ != 430
20#error VAC365 required for long long support
21#endif
22#if !defined(_LONG_LONG)
23#error Long long support not enabled
24#endif
25#endif
26
27#if !defined(OS2_INCLUDED)
28#define INCL_WINSTDCNR // avl.h
29#define INCL_LONGLONG
30#include <os2.h>
31#else
32#if !defined(INCL_WINSTDCNR)
33#error INCL_WINSTDCNR required
34#endif
35#if !defined(INCL_LONGLONG)
36#error INCL_LONGLONG required by makelist.h
37#endif
38#endif
39
40#include "avl.h" // ARC_TYPE
41
42typedef struct
43{
44 ULONG attrFile;
45 ULONGLONG cbFile;
46 ULONGLONG easize;
47 FDATE date;
48 FTIME time;
49 FDATE ladate;
50 FTIME latime;
51 FDATE crdate;
52 FTIME crtime;
53 CHAR fname[1];
54}
55FILELIST;
56
57typedef struct
58{
59 HWND hwnd;
60 HWND hwndS;
61 USHORT type;
62 USHORT id;
63 INT flags;
64 struct __arc_type__ *info;
65 CHAR **list;
66 ULONG *ulitemID;
67 ULONGLONG *cbFile;
68 CHAR targetpath[CCHMAXPATH + 6];
69 CHAR arcname[CCHMAXPATH];
70 CHAR runfile[CCHMAXPATH];
71}
72LISTINFO;
73
74INT AddToList(CHAR *string, CHAR ***list, UINT *pnumfiles, UINT *pnumalloced);
75INT AddToFileList(CHAR *string, FILEFINDBUF4L *ffb4, FILELIST ***list,
76 UINT *pnumfiles, UINT *numalloced);
77CHAR **BuildList(HWND hwndCnr);
78VOID FreeListInfo(LISTINFO *li);
79VOID FreeList(CHAR **list);
80VOID SortList(LISTINFO *li);
81CHAR **BuildArcList(HWND hwndCnr);
82CHAR **RemoveFromList(CHAR **list, CHAR *item);
83CHAR **CombineLists(CHAR **prime, CHAR **add);
84
85#endif // MAKELIST_H
Note: See TracBrowser for help on using the repository browser.