| [49] | 1 | 
 | 
|---|
 | 2 | /***********************************************************************
 | 
|---|
 | 3 | 
 | 
|---|
 | 4 |   $Id: fm3dll.h 520 2006-11-04 20:49:46Z root $
 | 
|---|
 | 5 | 
 | 
|---|
 | 6 |   Common definitions
 | 
|---|
 | 7 | 
 | 
|---|
 | 8 |   Copyright (c) 1993-98 M. Kimes
 | 
|---|
| [294] | 9 |   Copyright (c) 2001, 2006 Steven H. Levine
 | 
|---|
| [49] | 10 | 
 | 
|---|
| [145] | 11 |   12 Feb 03 SHL Add CBLIST_TO_EASIZE
 | 
|---|
 | 12 |   11 Jun 03 SHL Add JFS and FAT32 support
 | 
|---|
 | 13 |   06 Jan 04 SHL Drop hundfmt
 | 
|---|
 | 14 |   01 Aug 04 SHL Optimze strippers
 | 
|---|
 | 15 |   01 Aug 04 SHL Drop avv local functions
 | 
|---|
 | 16 |   23 May 05 SHL Split datamin to datamin.h
 | 
|---|
 | 17 |   24 May 05 SHL Rework Win_Error usage
 | 
|---|
| [165] | 18 |   25 May 05 SHL Require VAC 3.65
 | 
|---|
 | 19 |   25 May 05 SHL Rename comnam to szCommonName
 | 
|---|
 | 20 |   25 May 05 SHL Rework for FillInRecordFromFFB
 | 
|---|
 | 21 |   25 May 05 SHL Add CommaFmtULL CommaFmtUL
 | 
|---|
| [170] | 22 |   28 May 05 SHL Drop local functions
 | 
|---|
| [205] | 23 |   06 Jun 05 SHL Use QWL_USER
 | 
|---|
| [246] | 24 |   11 Aug 05 SHL Renames
 | 
|---|
| [419] | 25 |   29 May 06 SHL Rework EditArchiverDefinition
 | 
|---|
| [294] | 26 |   16 Jun 06 SHL ARC_TYPE: support non-string signatures
 | 
|---|
| [311] | 27 |   26 Jun 06 SHL ARC_TYPE: support preserving comments
 | 
|---|
| [320] | 28 |   28 Jun 06 SHL DIRCNRDATA: drop unused
 | 
|---|
 | 29 |   05 Jul 06 SHL Support Hide not selected
 | 
|---|
| [337] | 30 |   13 Jul 06 SHL Add Runtime_Error
 | 
|---|
 | 31 |   22 Jul 06 SHL Add memory.c functions
 | 
|---|
| [365] | 32 |   26 Jul 06 SHL Add strips.c functions
 | 
|---|
| [381] | 33 |   26 Jul 06 SHL Add more error.c functions
 | 
|---|
| [399] | 34 |   29 Jul 06 SHL Add xfgets, xfgets_bstripcr
 | 
|---|
| [520] | 35 |   22 Oct 06 GKY Add NDFS32 support
 | 
|---|
 | 36 |   03 Nov 06 SHL Renames
 | 
|---|
| [49] | 37 | 
 | 
|---|
 | 38 | ***********************************************************************/
 | 
|---|
 | 39 | 
 | 
|---|
| [165] | 40 | #if __IBMC__ != 430
 | 
|---|
 | 41 | #error VAC365 required for long long support
 | 
|---|
 | 42 | #endif
 | 
|---|
 | 43 | 
 | 
|---|
 | 44 | #if !defined(_LONG_LONG)
 | 
|---|
 | 45 | #error Long long support not enabled
 | 
|---|
 | 46 | #endif
 | 
|---|
 | 47 | 
 | 
|---|
| [2] | 48 | #ifdef DEFINE_GLOBALS
 | 
|---|
 | 49 |   #pragma data_seg(GLOBAL1)
 | 
|---|
 | 50 | #endif
 | 
|---|
 | 51 | 
 | 
|---|
 | 52 | #define PP_MAX    PP_MENUDISABLEBGNDCOLORINDEX
 | 
|---|
 | 53 | #define PP_MAXBUF 384
 | 
|---|
 | 54 | 
 | 
|---|
 | 55 | #ifndef MM_PORTHOLEINIT
 | 
|---|
 | 56 |   #define MM_PORTHOLEINIT   0x01fb
 | 
|---|
 | 57 | #endif
 | 
|---|
 | 58 | #ifndef MS_POPUP
 | 
|---|
 | 59 |   #define MS_POPUP          0x00000010L
 | 
|---|
 | 60 | #endif
 | 
|---|
 | 61 | #ifndef CCS_MINIICONS
 | 
|---|
 | 62 |   #define CCS_MINIICONS     0x0800
 | 
|---|
 | 63 | #endif
 | 
|---|
 | 64 | #ifndef CRA_SOURCE
 | 
|---|
 | 65 |   #define CRA_SOURCE        0x00004000
 | 
|---|
 | 66 | #endif
 | 
|---|
 | 67 | #ifndef CV_EXACTMATCH
 | 
|---|
 | 68 |   #define CV_EXACTMATCH     0x10000000
 | 
|---|
 | 69 | #endif
 | 
|---|
 | 70 | #ifndef CBN_SETFOCUS
 | 
|---|
 | 71 |   #define CBN_SETFOCUS      20
 | 
|---|
 | 72 | #endif
 | 
|---|
 | 73 | #ifndef CBN_KILLFOCUS
 | 
|---|
 | 74 |   #define CBN_KILLFOCUS     21
 | 
|---|
 | 75 | #endif
 | 
|---|
 | 76 | #ifndef CN_VERIFYEDIT
 | 
|---|
 | 77 |   #define CN_VERIFYEDIT     134
 | 
|---|
 | 78 | #endif
 | 
|---|
 | 79 | #ifndef CN_PICKUP
 | 
|---|
 | 80 |   #define CN_PICKUP         135
 | 
|---|
 | 81 | #endif
 | 
|---|
 | 82 | #ifndef CN_DROPNOTIFY
 | 
|---|
 | 83 |   #define CN_DROPNOTIFY     136
 | 
|---|
 | 84 | #endif
 | 
|---|
 | 85 | #ifndef CN_GRIDRESIZED
 | 
|---|
 | 86 |   #define CN_GRIDRESIZED    137
 | 
|---|
 | 87 | #endif
 | 
|---|
 | 88 | #ifndef BKS_MERLINSTYLE
 | 
|---|
 | 89 |   #define BKS_MERLINSTYLE   0x0800
 | 
|---|
 | 90 | #endif
 | 
|---|
 | 91 | #ifndef PMBITMAP_INCLUDED
 | 
|---|
 | 92 |   typedef struct _RGB2         /* rgb2 */
 | 
|---|
 | 93 |   {
 | 
|---|
 | 94 |      BYTE bBlue;              /* Blue component of the color definition */
 | 
|---|
 | 95 |      BYTE bGreen;             /* Green component of the color definition*/
 | 
|---|
 | 96 |      BYTE bRed;               /* Red component of the color definition  */
 | 
|---|
 | 97 |      BYTE fcOptions;          /* Reserved, must be zero                 */
 | 
|---|
 | 98 |   } RGB2;
 | 
|---|
 | 99 |   typedef RGB2 *PRGB2;
 | 
|---|
 | 100 | #endif
 | 
|---|
 | 101 | 
 | 
|---|
 | 102 |  /**************************************************/
 | 
|---|
 | 103 |  /* Lazy Drag API's.                               */
 | 
|---|
 | 104 |  /**************************************************/
 | 
|---|
 | 105 |  BOOL APIENTRY DrgLazyDrag( HWND hwndSource,
 | 
|---|
 | 106 |                            PDRAGINFO pdinfo,
 | 
|---|
 | 107 |                            PDRAGIMAGE pdimg,
 | 
|---|
 | 108 |                            ULONG cdimg,
 | 
|---|
 | 109 |                            PVOID pRsvd );
 | 
|---|
 | 110 | 
 | 
|---|
 | 111 |  BOOL APIENTRY DrgCancelLazyDrag( VOID );
 | 
|---|
 | 112 | 
 | 
|---|
 | 113 |  BOOL APIENTRY DrgLazyDrop( HWND hwndTarget,
 | 
|---|
 | 114 |                            ULONG ulOperation,
 | 
|---|
 | 115 |                            PPOINTL pptlDrop );
 | 
|---|
 | 116 | 
 | 
|---|
 | 117 |  PDRAGINFO APIENTRY DrgQueryDraginfoPtr( PDRAGINFO pRsvd );
 | 
|---|
 | 118 | 
 | 
|---|
 | 119 |  PDRAGINFO APIENTRY DrgQueryDraginfoPtrFromHwnd( HWND hwndSource );
 | 
|---|
 | 120 | 
 | 
|---|
 | 121 |  PDRAGINFO APIENTRY DrgQueryDraginfoPtrFromDragitem( PDRAGITEM pditem );
 | 
|---|
 | 122 | 
 | 
|---|
 | 123 |  ULONG APIENTRY DrgQueryDragStatus(VOID);
 | 
|---|
 | 124 | 
 | 
|---|
 | 125 |  PDRAGINFO APIENTRY DrgReallocDraginfo (PDRAGINFO pdinfoOld,
 | 
|---|
 | 126 |                                         ULONG cditem);
 | 
|---|
 | 127 |  /* Drag Status Flags */
 | 
|---|
 | 128 |  #define DGS_DRAGINPROGRESS         0x0001  /* Standard Drag in Progress. */
 | 
|---|
 | 129 |  #define DGS_LAZYDRAGINPROGRESS     0x0002  /* Lazy Drag in Progress.     */
 | 
|---|
 | 130 | 
 | 
|---|
| [311] | 131 | #define LINES_PER_ARCSIG        21      // Lines in each archiver.bb2 definition
 | 
|---|
| [2] | 132 | #define CON_COLS                6
 | 
|---|
| [205] | 133 | #define INSTDATA(h)             WinQueryWindowPtr(h,QWL_USER)
 | 
|---|
| [2] | 134 | #define DIR_SPLITBAR_OFFSET     18 * 12 /* Pixel offset of details splitbar */
 | 
|---|
 | 135 | #define CONTAINER_COLUMNS       13      /* Number of columns in details view */
 | 
|---|
 | 136 | #define RGBFROMPARTS(r,g,b)     (((r) * 65536) + ((g) * 256) + (b))
 | 
|---|
 | 137 | #define EXTRA_RECORD_BYTES2     (sizeof(CNRITEM) - sizeof(MINIRECORDCORE))
 | 
|---|
 | 138 | #define EXTRA_RECORD_BYTES      (EXTRA_RECORD_BYTES2 + (CCHMAXPATHCOMP - 1))
 | 
|---|
 | 139 | #define EXTRA_ARCRECORD_BYTES   (sizeof(ARCITEM) - sizeof(MINIRECORDCORE))
 | 
|---|
 | 140 | #define ALLATTRS                (FILE_NORMAL | FILE_DIRECTORY | FILE_ARCHIVED |\
 | 
|---|
 | 141 |                                  FILE_HIDDEN | FILE_READONLY | FILE_SYSTEM)
 | 
|---|
 | 142 | #define LISTTEMPROOT            "$FM2LI$T."
 | 
|---|
 | 143 | 
 | 
|---|
| [18] | 144 | #include "fm3dll2.h"                    // SHL
 | 
|---|
| [2] | 145 | 
 | 
|---|
 | 146 | #define UM_PAINT            (WM_USER)
 | 
|---|
 | 147 | #define UM_SETUP            (WM_USER + 1)
 | 
|---|
 | 148 | #define UM_RESCAN           (WM_USER + 2)
 | 
|---|
 | 149 | #define UM_INITIALSIZE      (WM_USER + 3)
 | 
|---|
 | 150 | #define UM_CONTROL          (WM_USER + 4)
 | 
|---|
 | 151 | #define UM_COMMAND          (WM_USER + 5)
 | 
|---|
 | 152 | #define UM_SIZE             (WM_USER + 6)
 | 
|---|
 | 153 | #define UM_FOCUSME          (WM_USER + 7)
 | 
|---|
 | 154 | #define UM_FIXEDITNAME      (WM_USER + 8)
 | 
|---|
 | 155 | #define UM_UPDATERECORD     (WM_USER + 9)
 | 
|---|
 | 156 | #define UM_SETDIR           (WM_USER + 10)
 | 
|---|
 | 157 | #define UM_CONTAINER_FILLED (WM_USER + 11)
 | 
|---|
 | 158 | #define UM_STRETCH          (WM_USER + 12)
 | 
|---|
 | 159 | #define UM_LOADFILE         (WM_USER + 13)
 | 
|---|
 | 160 | #define UM_MOUSEMOVE        (WM_USER + 14)
 | 
|---|
 | 161 | #define UM_ENTER            (WM_USER + 15)
 | 
|---|
 | 162 | #define UM_CLOSE            (WM_USER + 16)
 | 
|---|
 | 163 | #define UM_ACTION           (WM_USER + 17)
 | 
|---|
 | 164 | #define UM_MASSACTION       (WM_USER + 18)
 | 
|---|
 | 165 | #define UM_UPDATERECORDLIST (WM_USER + 19)
 | 
|---|
 | 166 | #define UM_FILESMENU        (WM_USER + 20)
 | 
|---|
 | 167 | #define UM_SELECT           (WM_USER + 21)
 | 
|---|
 | 168 | #define UM_VIEWSMENU        (WM_USER + 22)
 | 
|---|
 | 169 | #define UM_CONTAINERHWND    (WM_USER + 23)
 | 
|---|
 | 170 | #define UM_OPENWINDOWFORME  (WM_USER + 24)
 | 
|---|
 | 171 | #define UM_FOLDUP           (WM_USER + 25)
 | 
|---|
 | 172 | #define UM_INITMENU         (WM_USER + 26)
 | 
|---|
 | 173 | #define UM_COMPARE          (WM_USER + 27)
 | 
|---|
 | 174 | #define UM_EXPAND           (WM_USER + 28)
 | 
|---|
 | 175 | #define UM_REPLACEFOCUS     (WM_USER + 29)
 | 
|---|
 | 176 | #define UM_UNDO             (WM_USER + 30)
 | 
|---|
 | 177 | #define UM_RENDER           (WM_USER + 31)
 | 
|---|
 | 178 | #define UM_BUTTON2DOWN      (WM_USER + 32)
 | 
|---|
 | 179 | #define UM_BUTTON2UP        (WM_USER + 33)
 | 
|---|
 | 180 | #define UM_COLLECTFROMFILE  (WM_USER + 34)
 | 
|---|
 | 181 | #define UM_TIMER            (WM_USER + 35)
 | 
|---|
 | 182 | #define UM_HELPON           (WM_USER + 36)
 | 
|---|
 | 183 | #define UM_SETUP2           (WM_USER + 37)
 | 
|---|
 | 184 | #define UM_SETUP3           (WM_USER + 38)
 | 
|---|
 | 185 | #define UM_CONTEXTMENU      (WM_USER + 39)
 | 
|---|
 | 186 | #define UM_FILLUSERLIST     (WM_USER + 40)
 | 
|---|
 | 187 | #define UM_CONTAINERDIR     (WM_USER + 41)
 | 
|---|
 | 188 | #define UM_SETUP4           (WM_USER + 42)
 | 
|---|
 | 189 | #define UM_FILLSETUPLIST    (WM_USER + 43)
 | 
|---|
 | 190 | #define UM_ARRANGEICONS     (WM_USER + 44)
 | 
|---|
 | 191 | #define UM_SETUP5           (WM_USER + 45)
 | 
|---|
 | 192 | #define UM_NOTIFY           (WM_USER + 46)
 | 
|---|
 | 193 | #define UM_INSERTRECORD     (WM_USER + 47)
 | 
|---|
 | 194 | #define UM_ADDTOMENU        (WM_USER + 48)
 | 
|---|
 | 195 | #define UM_COLLECT          (WM_USER + 49)
 | 
|---|
 | 196 | #define UM_RESTOREDC        (WM_USER + 50)
 | 
|---|
 | 197 | #define UM_MINIMIZE         (WM_USER + 51)
 | 
|---|
 | 198 | #define UM_MAXIMIZE         (WM_USER + 52)
 | 
|---|
 | 199 | #define UM_BUTTON1MOTIONSTART (WM_USER + 53)
 | 
|---|
 | 200 | #define UM_SETUP6           (WM_USER + 54)
 | 
|---|
 | 201 | #define UM_FILLBUTTONLIST   (WM_USER + 55)
 | 
|---|
 | 202 | #define UM_SETUSERLISTNAME  (WM_USER + 56)
 | 
|---|
 | 203 | #define UM_FILTER           (WM_USER + 57)
 | 
|---|
 | 204 | #define UM_SORTRECORD       (WM_USER + 58)
 | 
|---|
 | 205 | #define UM_SIZE2            (WM_USER + 59)
 | 
|---|
 | 206 | #define UM_RESTORE          (WM_USER + 60)
 | 
|---|
 | 207 | #define UM_TOPDIR           (WM_USER + 61)
 | 
|---|
 | 208 | #define UM_SHOWME           (WM_USER + 62)
 | 
|---|
 | 209 | #define UM_RESCAN2          (WM_USER + 63)
 | 
|---|
| [246] | 210 | #define UM_BUILDDRIVEBAR    (WM_USER + 64)
 | 
|---|
| [2] | 211 | #define UM_THREADUSE        (WM_USER + 65)
 | 
|---|
 | 212 | #define UM_DRIVECMD         (WM_USER + 66)
 | 
|---|
 | 213 | #define UM_ADVISEFOCUS      (WM_USER + 67)
 | 
|---|
 | 214 | #define UM_FIXCNRMLE        (WM_USER + 68)
 | 
|---|
 | 215 | #define UM_FLESH            (WM_USER + 69)
 | 
|---|
 | 216 | #define UM_FILLCMDLIST      (WM_USER + 70)
 | 
|---|
 | 217 | #define UM_CLICKED          (WM_USER + 71)
 | 
|---|
 | 218 | #define UM_CLICKED3         (WM_USER + 72)
 | 
|---|
| [320] | 219 | #define UM_HIDENOTSELECTED  (WM_USER + 73)
 | 
|---|
| [2] | 220 | 
 | 
|---|
 | 221 | typedef struct {
 | 
|---|
 | 222 |   USHORT size;
 | 
|---|
 | 223 |   USHORT dummy;
 | 
|---|
 | 224 |   CHAR   szCurrentPath1[CCHMAXPATH];
 | 
|---|
 | 225 |   CHAR   szCurrentPath2[CCHMAXPATH];
 | 
|---|
 | 226 | } WALK2;
 | 
|---|
 | 227 | 
 | 
|---|
 | 228 | typedef struct LINKDIRS {
 | 
|---|
 | 229 |   CHAR            *path;
 | 
|---|
 | 230 |   struct LINKDIRS *next;
 | 
|---|
 | 231 | } LINKDIRS;
 | 
|---|
 | 232 | 
 | 
|---|
 | 233 | typedef struct {
 | 
|---|
 | 234 |   USHORT   size;
 | 
|---|
 | 235 |   USHORT   numcolors;
 | 
|---|
 | 236 |   USHORT   flags;
 | 
|---|
 | 237 |   USHORT   currentcolor;
 | 
|---|
 | 238 |   ULONG    prompt;
 | 
|---|
 | 239 |   long    *colors;
 | 
|---|
 | 240 |   ULONG    descriptions;
 | 
|---|
 | 241 |   long    *origs;
 | 
|---|
 | 242 | } COLORS;
 | 
|---|
 | 243 | 
 | 
|---|
 | 244 | typedef struct LINKCMDS {
 | 
|---|
 | 245 |   CHAR            *cl;
 | 
|---|
 | 246 |   CHAR            *title;
 | 
|---|
 | 247 |   ULONG            flags;
 | 
|---|
 | 248 |   struct LINKCMDS *next;
 | 
|---|
 | 249 |   struct LINKCMDS *prev;
 | 
|---|
 | 250 | } LINKCMDS;
 | 
|---|
 | 251 | 
 | 
|---|
 | 252 | typedef struct {
 | 
|---|
 | 253 |   CHAR  szMask[CCHMAXPATH];
 | 
|---|
 | 254 |   CHAR  szMaskCopy[CCHMAXPATH];
 | 
|---|
 | 255 |   CHAR *pszMasks[26];
 | 
|---|
 | 256 |   ULONG attrFile;
 | 
|---|
 | 257 |   ULONG antiattr;
 | 
|---|
 | 258 |   BOOL  fNoAttribs;
 | 
|---|
 | 259 |   BOOL  fShowDirs;
 | 
|---|
 | 260 |   BOOL  fNoDirs;
 | 
|---|
 | 261 |   BOOL  fIsTree;
 | 
|---|
 | 262 |   BOOL  fIsSeeAll;
 | 
|---|
 | 263 |   BOOL  fFilesIncluded;
 | 
|---|
 | 264 |   BOOL  fText;
 | 
|---|
 | 265 |   CHAR  szText[256];
 | 
|---|
 | 266 |   CHAR  prompt[80];
 | 
|---|
 | 267 | } MASK;
 | 
|---|
 | 268 | 
 | 
|---|
 | 269 | typedef struct {
 | 
|---|
 | 270 |   CHAR *title;    /* title of dialog */
 | 
|---|
 | 271 |   CHAR *prompt;   /* prompt to user */
 | 
|---|
 | 272 |   CHAR *ret;      /* buffer out, default in */
 | 
|---|
 | 273 |   CHAR *help;     /* help text */
 | 
|---|
 | 274 |   INT  inputlen;  /* max len of ret */
 | 
|---|
 | 275 | } STRINGINPARMS;
 | 
|---|
 | 276 | 
 | 
|---|
 | 277 | typedef struct {
 | 
|---|
 | 278 |   CHAR *source;
 | 
|---|
 | 279 |   CHAR target[CCHMAXPATH];
 | 
|---|
 | 280 |   BOOL rename;
 | 
|---|
 | 281 |   BOOL skip;
 | 
|---|
 | 282 |   BOOL dontask;
 | 
|---|
 | 283 |   BOOL overold;
 | 
|---|
 | 284 |   BOOL overnew;
 | 
|---|
 | 285 |   BOOL overwrite;
 | 
|---|
 | 286 | } MOVEIT;
 | 
|---|
 | 287 | 
 | 
|---|
 | 288 | typedef struct HOLDFEA {
 | 
|---|
 | 289 |    PFEA2           pfea;
 | 
|---|
 | 290 |    CHAR           *name;
 | 
|---|
 | 291 |    CHAR           *value;
 | 
|---|
 | 292 |    BYTE            fEA;
 | 
|---|
 | 293 |    BYTE            cbName;
 | 
|---|
 | 294 |    USHORT          cbValue;
 | 
|---|
 | 295 |    struct HOLDFEA *next;
 | 
|---|
 | 296 | } HOLDFEA;
 | 
|---|
 | 297 | 
 | 
|---|
 | 298 | typedef struct {
 | 
|---|
 | 299 |     HWND    hwnd;
 | 
|---|
 | 300 |     HWND    hwndS;
 | 
|---|
 | 301 |     USHORT  type;
 | 
|---|
 | 302 |     USHORT  id;
 | 
|---|
 | 303 |     INT     flags;
 | 
|---|
 | 304 |     struct __arc_type__ *info;
 | 
|---|
 | 305 |     CHAR  **list;
 | 
|---|
 | 306 |     ULONG  *ulitemID;
 | 
|---|
 | 307 |     ULONG  *cbFile;
 | 
|---|
 | 308 |     CHAR    targetpath[CCHMAXPATH + 6];
 | 
|---|
 | 309 |     CHAR    arcname[CCHMAXPATH];
 | 
|---|
 | 310 |     CHAR    runfile[CCHMAXPATH];
 | 
|---|
 | 311 | } LISTINFO;
 | 
|---|
 | 312 | 
 | 
|---|
 | 313 | typedef struct {
 | 
|---|
 | 314 |   USHORT    size;
 | 
|---|
 | 315 |   USHORT    dummy;
 | 
|---|
 | 316 |   CHAR      directory[CCHMAXPATH];
 | 
|---|
 | 317 |   HWND      hwndParent;
 | 
|---|
 | 318 |   HWND      hwndFrame;
 | 
|---|
 | 319 |   HWND      hwndClient;
 | 
|---|
 | 320 |   HWND      hwndCnr;
 | 
|---|
 | 321 |   LISTINFO *li;
 | 
|---|
 | 322 | } WORKER;
 | 
|---|
 | 323 | 
 | 
|---|
 | 324 | typedef struct {
 | 
|---|
 | 325 |   USHORT size;
 | 
|---|
 | 326 |   USHORT flags;
 | 
|---|
 | 327 |   USHORT cmd;
 | 
|---|
 | 328 |   USHORT dummy;
 | 
|---|
 | 329 |   CHAR  *prompt;
 | 
|---|
 | 330 |   CHAR **list;
 | 
|---|
 | 331 | } CHECKLIST;
 | 
|---|
 | 332 | 
 | 
|---|
 | 333 | typedef struct {
 | 
|---|
 | 334 |   ULONG flags;
 | 
|---|
 | 335 |   CHAR *commandline;
 | 
|---|
 | 336 |   CHAR  path[CCHMAXPATH];
 | 
|---|
 | 337 |   CHAR  environment[1001];
 | 
|---|
 | 338 |   CHAR  tempprompt[128];
 | 
|---|
 | 339 |   CHAR  title[80];
 | 
|---|
 | 340 |   BOOL  dropped;
 | 
|---|
 | 341 | } EXECARGS;
 | 
|---|
 | 342 | 
 | 
|---|
 | 343 | #pragma pack(1)
 | 
|---|
 | 344 | 
 | 
|---|
 | 345 | #define CNRITEM_SMALLER   0x00010000
 | 
|---|
 | 346 | #define CNRITEM_LARGER    0x00020000
 | 
|---|
 | 347 | #define CNRITEM_NEWER     0x00040000
 | 
|---|
 | 348 | #define CNRITEM_OLDER     0x00080000
 | 
|---|
 | 349 | #define CNRITEM_EXISTS    0x00100000
 | 
|---|
 | 350 | 
 | 
|---|
 | 351 | #define RECFLAGS_ENV      0x00000001
 | 
|---|
 | 352 | #define RECFLAGS_NODRAG   0x00000002
 | 
|---|
 | 353 | #define RECFLAGS_NODROP   0x00000004
 | 
|---|
 | 354 | #define RECFLAGS_UNDERENV 0x00000008
 | 
|---|
 | 355 | 
 | 
|---|
 | 356 | #define ARCFLAGS_REALDIR    0x00000001
 | 
|---|
 | 357 | #define ARCFLAGS_PSEUDODIR  0x00000002
 | 
|---|
 | 358 | 
 | 
|---|
| [49] | 359 | #define CBLIST_TO_EASIZE(cb) ((cb) > 4 ? (cb) / 2 : 0)  // FILEFINDBUF4.cbList to logical EA size
 | 
|---|
 | 360 | 
 | 
|---|
| [2] | 361 | typedef struct _CNRITEM {             /* CONTAINER RECORD STRUCTURE */
 | 
|---|
 | 362 |   MINIRECORDCORE rc;                  /* Base information */
 | 
|---|
 | 363 |   HWND           hwndCnr;             /* The container holding this record */
 | 
|---|
| [165] | 364 |   PSZ            pszFileName;         // Points to szFileName  - required by CFA_STRING
 | 
|---|
| [170] | 365 |   CHAR           szFileName[CCHMAXPATH]; // Path name - fixme to rename to szPathName?
 | 
|---|
| [165] | 366 |   CHAR           szSubject[40];       /* Subject string */
 | 
|---|
 | 367 |   CHAR          *pszSubject;          // Points szSubject - required by CFA_STRING
 | 
|---|
 | 368 |   CHAR          *pszDispAttr;         // Points to szDispAttr - required by CFA_STRING
 | 
|---|
| [2] | 369 |   CDATE          date;                /* Last write date of file */
 | 
|---|
 | 370 |   CTIME          time;                /* Last write time of file */
 | 
|---|
 | 371 |   CDATE          ladate;              /* Last access date of file */
 | 
|---|
 | 372 |   CTIME          latime;              /* Last access time of file */
 | 
|---|
 | 373 |   CDATE          crdate;              /* Creation date of file */
 | 
|---|
 | 374 |   CTIME          crtime;              /* Creation time of file */
 | 
|---|
 | 375 |   CHAR           szDispAttr[6];       /* Attrib string for details display */
 | 
|---|
| [165] | 376 |   CHAR          *pszLongname;         // Points to szLongName - required by CFA_STRING
 | 
|---|
 | 377 |   ULONGLONG      cbFile;              /* File size */
 | 
|---|
 | 378 |   ULONGLONG      easize;              // Size of EAs - dirsize uses this - hack cough
 | 
|---|
| [2] | 379 |   ULONG          attrFile;            /* Attributes of this file */
 | 
|---|
 | 380 |   ULONG          flags;
 | 
|---|
| [165] | 381 |   CHAR           szLongname[1];       // Holds .LONGNAME EA or root flag
 | 
|---|
| [2] | 382 | } CNRITEM, *PCNRITEM;
 | 
|---|
 | 383 | 
 | 
|---|
 | 384 | typedef struct _ARCITEM {             // ARCHIVE CONTAINER RECORD STRUCTURE
 | 
|---|
 | 385 |   MINIRECORDCORE rc;                  // Base information
 | 
|---|
 | 386 |   HWND           hwndCnr;             /* Container holding this record */
 | 
|---|
 | 387 |   PSZ            pszFileName;         // Pointer to file name
 | 
|---|
 | 388 |   CHAR           szFileName[CCHMAXPATH]; // File name
 | 
|---|
 | 389 |   CHAR           szDate[40];          // File's assembled date
 | 
|---|
 | 390 |   PSZ            pszDate;             // Pointer to date
 | 
|---|
 | 391 |   CDATE          date;                // if we know date format
 | 
|---|
 | 392 |   CTIME          time;                // if we know time format
 | 
|---|
 | 393 |   ULONG          cbFile;              // File's original size
 | 
|---|
 | 394 |   ULONG          cbComp;              // File's compressed size
 | 
|---|
 | 395 |   ULONG          flags;
 | 
|---|
 | 396 | } ARCITEM, *PARCITEM;
 | 
|---|
 | 397 | 
 | 
|---|
 | 398 | #pragma pack()
 | 
|---|
 | 399 | 
 | 
|---|
 | 400 | typedef struct {
 | 
|---|
 | 401 |   ULONG attrFile;
 | 
|---|
 | 402 |   ULONG cbFile;
 | 
|---|
 | 403 |   ULONG easize;
 | 
|---|
 | 404 |   FDATE date;
 | 
|---|
 | 405 |   FTIME time;
 | 
|---|
 | 406 |   FDATE ladate;
 | 
|---|
 | 407 |   FTIME latime;
 | 
|---|
 | 408 |   FDATE crdate;
 | 
|---|
 | 409 |   FTIME crtime;
 | 
|---|
 | 410 |   CHAR  fname[1];
 | 
|---|
 | 411 | } FILELIST;
 | 
|---|
 | 412 | 
 | 
|---|
 | 413 | typedef struct __arc_type__ {
 | 
|---|
| [311] | 414 |     CHAR    *id;                        // User id
 | 
|---|
 | 415 |     CHAR    *ext;                       // Extension (without leading dot)
 | 
|---|
 | 416 |     LONG    file_offset;                // Offset to signature (0..n)
 | 
|---|
 | 417 |     CHAR    *list;                      // List command
 | 
|---|
 | 418 |     CHAR    *extract;                   // Extract command
 | 
|---|
 | 419 |     CHAR    *exwdirs;                   // Extract with directories command
 | 
|---|
 | 420 |     CHAR    *test;                      // Test command
 | 
|---|
 | 421 |     CHAR    *create;                    // Create without directories
 | 
|---|
 | 422 |     CHAR    *move;                      // Move into archive without directories
 | 
|---|
 | 423 |     CHAR    *createrecurse;             // Create with recurse and directories
 | 
|---|
 | 424 |     CHAR    *createwdirs;               // Create with directories
 | 
|---|
 | 425 |     CHAR    *movewdirs;                 // Move into archive with directories
 | 
|---|
 | 426 |     CHAR    *delete;                    // Delete from archive
 | 
|---|
 | 427 |     CHAR    *signature;                 // Archiver signature
 | 
|---|
 | 428 |     CHAR    *startlist;                 // Listing start marker (blank means no start marker)
 | 
|---|
 | 429 |     CHAR    *endlist;                   // Listing end marker (blank means next blank line or EOF)
 | 
|---|
 | 430 |     INT     siglen;                     // Signature length in bytes
 | 
|---|
 | 431 |     INT     osizepos;                   // Original file size position (0..n) or -1
 | 
|---|
 | 432 |     INT     nsizepos;                   // Compressed file size position or -1
 | 
|---|
 | 433 |     INT     fdpos;                      // File date position or -1
 | 
|---|
 | 434 |     INT     fdflds;                     // File date element count (typically 3) or -1
 | 
|---|
 | 435 |     INT     fnpos;                      // File name position or -1 if last
 | 
|---|
 | 436 |     INT     datetype;                   // Date field format
 | 
|---|
 | 437 |     UINT    comment_line_num;           // Comment start in old sig file (1..n), 0 if none
 | 
|---|
 | 438 |     UINT    defn_line_num;              // Definition start in old sig file (1..n), 0 if none
 | 
|---|
 | 439 |     BOOL    nameislast;                 // Name is last item on line
 | 
|---|
 | 440 |     BOOL    nameisnext;                 // File name is on next line
 | 
|---|
 | 441 |     BOOL    nameisfirst;                // File name is first item on line
 | 
|---|
| [2] | 442 |     struct __arc_type__ *next;
 | 
|---|
 | 443 |     struct __arc_type__ *prev;
 | 
|---|
 | 444 | } ARC_TYPE;
 | 
|---|
 | 445 | 
 | 
|---|
 | 446 | typedef struct {
 | 
|---|
 | 447 |   USHORT   size;
 | 
|---|
 | 448 |   ARC_TYPE *info;
 | 
|---|
 | 449 |   CHAR     *arcname;
 | 
|---|
 | 450 |   CHAR     masks[257];
 | 
|---|
 | 451 |   CHAR     command[257];
 | 
|---|
 | 452 |   CHAR     extractdir[1027];
 | 
|---|
 | 453 |   INT      ret;
 | 
|---|
 | 454 | } EXTRDATA;
 | 
|---|
 | 455 | 
 | 
|---|
 | 456 | typedef struct {
 | 
|---|
 | 457 |   ARC_TYPE *info;
 | 
|---|
 | 458 |   CHAR      listname[CCHMAXPATH];
 | 
|---|
 | 459 |   CHAR      arcname[CCHMAXPATH];
 | 
|---|
 | 460 |   CHAR     *errmsg;
 | 
|---|
 | 461 | } ARCDUMP;
 | 
|---|
 | 462 | 
 | 
|---|
 | 463 | typedef struct DIRCNRDATA {
 | 
|---|
 | 464 |   USHORT    size;
 | 
|---|
 | 465 |   USHORT    id;
 | 
|---|
 | 466 |   INT       type;
 | 
|---|
 | 467 |   ULONG     flWindowAttr;
 | 
|---|
 | 468 |   HWND      hwndParent;
 | 
|---|
 | 469 |   HWND      hwndCnr;
 | 
|---|
 | 470 |   HWND      hwndObject;
 | 
|---|
 | 471 |   HWND      hwndFrame;
 | 
|---|
 | 472 |   HWND      hwndClient;
 | 
|---|
 | 473 |   HWND      hwndLastMenu;
 | 
|---|
 | 474 |   HWND      hwndExtract;
 | 
|---|
 | 475 |   HWND      hwndLastDirCnr;
 | 
|---|
 | 476 |   HWND      hwndRestore;
 | 
|---|
 | 477 |   CHAR      directory[CCHMAXPATH];
 | 
|---|
 | 478 |   CHAR      previous[CCHMAXPATH];
 | 
|---|
 | 479 |   ULONG     fg,bg,hifg,hibg,border;
 | 
|---|
 | 480 |   PFNWP     oldproc;
 | 
|---|
 | 481 |   CHAR      font[CCHMAXPATH];
 | 
|---|
 | 482 |   MASK      mask;
 | 
|---|
| [165] | 483 |   ULONGLONG ullTotalBytes;
 | 
|---|
 | 484 |   ULONGLONG selectedbytes;
 | 
|---|
 | 485 |   ULONG     selectedfiles;
 | 
|---|
 | 486 |   ULONG     totalfiles;
 | 
|---|
| [2] | 487 |   BOOL      cnremphasized;
 | 
|---|
 | 488 |   BOOL      dontclose;
 | 
|---|
 | 489 |   ARC_TYPE *info;
 | 
|---|
 | 490 |   CHAR      arcname[CCHMAXPATH];
 | 
|---|
 | 491 |   CHAR      command[257];
 | 
|---|
 | 492 |   CHAR      stopflag;
 | 
|---|
 | 493 |   CHAR      workdir[CCHMAXPATH];
 | 
|---|
 | 494 |   CHAR      lastfilename[CCHMAXPATH];
 | 
|---|
 | 495 |   BOOL      namecanchange;
 | 
|---|
 | 496 |   BOOL      fmoving;
 | 
|---|
 | 497 |   BOOL      amextracted;
 | 
|---|
 | 498 |   INT       lasthelp;
 | 
|---|
 | 499 |   INT       sortFlags;
 | 
|---|
 | 500 |   BOOL      detailsladate,detailslatime,detailscrdate,detailscrtime,
 | 
|---|
 | 501 |             detailslongname,detailsea,detailssize,detailssubject,
 | 
|---|
 | 502 |             detailslwdate,detailslwtime,detailsattr,detailsicon;
 | 
|---|
 | 503 |   CHAR    **lastselection;
 | 
|---|
 | 504 |   USHORT    shiftstate;
 | 
|---|
 | 505 |   USHORT    suspendview;
 | 
|---|
| [165] | 506 |   CHAR      szCommonName[CCHMAXPATH];
 | 
|---|
| [2] | 507 |   ULONG     lasttime;
 | 
|---|
 | 508 |   BOOL      arcfilled;
 | 
|---|
 | 509 |   HMTX      filling;
 | 
|---|
 | 510 |   BOOL      firsttree;
 | 
|---|
 | 511 |   ULONG     lastattr;
 | 
|---|
 | 512 | } DIRCNRDATA;
 | 
|---|
 | 513 | 
 | 
|---|
 | 514 | typedef struct {
 | 
|---|
 | 515 |   USHORT      size;
 | 
|---|
 | 516 |   HWND        hwndCnr;
 | 
|---|
 | 517 |   CHAR        directory[CCHMAXPATH];
 | 
|---|
 | 518 |   BOOL        collapsefirst;
 | 
|---|
 | 519 |   DIRCNRDATA *dcd;
 | 
|---|
 | 520 | } SHOWREC;
 | 
|---|
 | 521 | 
 | 
|---|
 | 522 | typedef struct {
 | 
|---|
 | 523 |   USHORT size;
 | 
|---|
 | 524 |   USHORT dummy;
 | 
|---|
 | 525 |   CHAR   file1[CCHMAXPATH];
 | 
|---|
 | 526 |   CHAR   file2[CCHMAXPATH];
 | 
|---|
 | 527 |   HWND   hwndParent;
 | 
|---|
 | 528 |   HWND   hwndList;
 | 
|---|
 | 529 |   HWND   hwndReport;
 | 
|---|
 | 530 |   HWND   hwndHelp;
 | 
|---|
 | 531 | } FCOMPARE;
 | 
|---|
 | 532 | 
 | 
|---|
 | 533 | typedef struct COMPARE {
 | 
|---|
 | 534 |   USHORT size;
 | 
|---|
 | 535 |   HWND   hwnd;
 | 
|---|
 | 536 |   HWND   hwndParent;
 | 
|---|
 | 537 |   CHAR   leftdir[CCHMAXPATH + 2];
 | 
|---|
 | 538 |   CHAR   rightdir[CCHMAXPATH + 2];
 | 
|---|
 | 539 |   BOOL   forcescroll;
 | 
|---|
 | 540 |   BOOL   filling;
 | 
|---|
 | 541 |   BOOL   includesubdirs;
 | 
|---|
 | 542 |   INT    action;
 | 
|---|
 | 543 |   INT    selleft;
 | 
|---|
 | 544 |   INT    selright;
 | 
|---|
 | 545 |   INT    totalleft;
 | 
|---|
 | 546 |   INT    totalright;
 | 
|---|
| [320] | 547 |   CHAR   rightlist[CCHMAXPATH];         // Snapshot file name
 | 
|---|
| [2] | 548 |   BOOL   reset;
 | 
|---|
 | 549 |   HWND   hwndCalling;
 | 
|---|
| [320] | 550 |   struct COMPARE *cmp;                  // callers compare defintion
 | 
|---|
| [2] | 551 |   struct DIRCNRDATA dcd;
 | 
|---|
 | 552 | } COMPARE;
 | 
|---|
 | 553 | 
 | 
|---|
 | 554 | 
 | 
|---|
 | 555 | /* init.c */
 | 
|---|
 | 556 | VOID FindSwapperDat(VOID);
 | 
|---|
 | 557 | BOOL InitFM3DLL (HAB hab,int argc,char **argv);
 | 
|---|
 | 558 | HWND StartFM3 (HAB hab,INT argc,CHAR **argv);
 | 
|---|
 | 559 | 
 | 
|---|
 | 560 | /* filldir.c */
 | 
|---|
| [165] | 561 | VOID FillDirCnr(HWND hwndCnr,CHAR *pszDirectory,DIRCNRDATA *pdcd,
 | 
|---|
 | 562 |                 PULONGLONG pullBytes);
 | 
|---|
 | 563 | VOID FillTreeCnr(HWND hwndCnr,HWND hwndParent);
 | 
|---|
 | 564 | VOID ProcessDirectory(const HWND hwndCnr, const PCNRITEM pciParent,
 | 
|---|
 | 565 |                       const CHAR *szDirBase, const BOOL filestoo,
 | 
|---|
 | 566 |                       const BOOL recurse,const BOOL partial,
 | 
|---|
 | 567 |                       CHAR *stopflag,DIRCNRDATA *pdcd,
 | 
|---|
 | 568 |                       PULONG pullTotalFiles,
 | 
|---|
 | 569 |                       PULONGLONG pullTotalBytes);
 | 
|---|
 | 570 | ULONGLONG FillInRecordFromFFB(HWND hwndCnr,PCNRITEM pci, const PSZ pszDirectory,
 | 
|---|
 | 571 |                               const PFILEFINDBUF4 pffb,const BOOL partial,
 | 
|---|
 | 572 |                               DIRCNRDATA *pdcd);
 | 
|---|
 | 573 | ULONGLONG FillInRecordFromFSA (HWND hwndCnr,PCNRITEM pci,const PSZ pszFileName,
 | 
|---|
 | 574 |                                const PFILESTATUS4 pfsa4,
 | 
|---|
 | 575 |                                const BOOL partial,DIRCNRDATA *pdcd);
 | 
|---|
| [2] | 576 | 
 | 
|---|
 | 577 | /* flesh.c */
 | 
|---|
 | 578 | BOOL Stubby        (HWND hwndCnr,PCNRITEM pciParent);
 | 
|---|
 | 579 | BOOL Flesh         (HWND hwndCnr,PCNRITEM pciParent);
 | 
|---|
 | 580 | BOOL FleshEnv      (HWND hwndCnr,PCNRITEM pciParent);
 | 
|---|
 | 581 | BOOL UnFlesh       (HWND hwndCnr,PCNRITEM pciParent);
 | 
|---|
 | 582 | 
 | 
|---|
 | 583 | /* error.c */
 | 
|---|
| [381] | 584 | INT Dos_Error(ULONG mb_type,ULONG ulRC,HWND hwndOwner,
 | 
|---|
 | 585 |               PCSZ pszFileName,ULONG ulLineNo,PCSZ pszFmt,...);
 | 
|---|
 | 586 | INT Dos_Error2(ULONG mb_type, ULONG ulRC, HWND hwndOwner, PCSZ pszFileName,
 | 
|---|
 | 587 |                ULONG ulLineNo, UINT idMsg);
 | 
|---|
| [337] | 588 | VOID Win_Error(HWND hwndErr,HWND hwndOwner,
 | 
|---|
 | 589 |                PCSZ pszFileName,ULONG ulLineNo,PCSZ pszFmt,...);
 | 
|---|
| [381] | 590 | VOID Win_Error2(HWND hwndErr, HWND hwndOwner, PCSZ pszFileName, ULONG ulLineNo, UINT idMsg);
 | 
|---|
| [337] | 591 | VOID Runtime_Error(PCSZ pszSrcFile, UINT uSrcLineNo, PCSZ pszFmt,...);
 | 
|---|
| [381] | 592 | VOID Runtime_Error2(PCSZ pszSrcFile, UINT uSrcLineNo, UINT idMsg);
 | 
|---|
| [337] | 593 | APIRET saymsg(ULONG mb_type,HWND hwnd,PCSZ pszTitle,PCSZ pszFmt,...);
 | 
|---|
| [2] | 594 | 
 | 
|---|
 | 595 | /* valid.c */
 | 
|---|
 | 596 | INT CheckDrive        (CHAR Drive, CHAR *FileSystem, ULONG *type);
 | 
|---|
 | 597 | int TestDates         (char *file1,char *file2);
 | 
|---|
 | 598 | BOOL IsNewer          (char *file1,char *file2);
 | 
|---|
 | 599 | BOOL IsRoot           (CHAR *filename);
 | 
|---|
 | 600 | BOOL IsFileSame       (CHAR *filename1,CHAR *filename2);
 | 
|---|
 | 601 | INT IsFile            (CHAR *filename);
 | 
|---|
 | 602 | BOOL IsFullName       (CHAR *filename);
 | 
|---|
 | 603 | BOOL IsValidDir       (CHAR *test);
 | 
|---|
 | 604 | BOOL IsValidDrive     (CHAR drive);
 | 
|---|
| [145] | 605 | CHAR *MakeValidDir    (CHAR *path);
 | 
|---|
| [2] | 606 | BOOL IsExecutable     (CHAR *filename);
 | 
|---|
 | 607 | VOID FillInDriveFlags (VOID *dummy);
 | 
|---|
 | 608 | VOID DriveFlagsOne    (INT x);
 | 
|---|
 | 609 | VOID ArgDriveFlags    (INT argc,CHAR **argv);
 | 
|---|
| [145] | 610 | CHAR *assign_ignores  (CHAR *s);
 | 
|---|
| [2] | 611 | BOOL needs_quoting    (CHAR *f);
 | 
|---|
 | 612 | BOOL IsBinary         (CHAR *str,ULONG len);
 | 
|---|
 | 613 | BOOL TestBinary       (CHAR *filename);
 | 
|---|
 | 614 | BOOL ParentIsDesktop  (HWND hwnd,HWND hwndParent);
 | 
|---|
 | 615 | BOOL IsDesktop        (HAB hab,HWND hwnd);
 | 
|---|
 | 616 | char *IsVowel         (char a);
 | 
|---|
 | 617 | VOID GetDesktopName   (CHAR *objectpath,ULONG size);
 | 
|---|
| [145] | 618 | char *RootName        (char *filename);
 | 
|---|
| [2] | 619 | APIRET MakeFullName   (char *filename);
 | 
|---|
 | 620 | 
 | 
|---|
 | 621 | /* misc.c */
 | 
|---|
 | 622 | VOID SetShiftState (VOID);
 | 
|---|
 | 623 | void EmphasizeButton (HWND hwnd,BOOL on);
 | 
|---|
 | 624 | void DrawTargetEmphasis (HWND hwnd,BOOL on);
 | 
|---|
 | 625 | void BoxWindow (HWND hwnd,HPS hps,LONG color);
 | 
|---|
 | 626 | VOID PaintRecessedWindow (HWND hwnd,HPS hps,BOOL outtie,BOOL dbl);
 | 
|---|
 | 627 | void PaintSTextWindow (HWND hwnd,HPS hps);
 | 
|---|
 | 628 | BOOL AdjustCnrColVis (HWND hwndCnr,CHAR *title,BOOL visible,BOOL toggle);
 | 
|---|
 | 629 | BOOL AdjustCnrColRO (HWND hwndCnr,CHAR *title,BOOL readonly,BOOL toggle);
 | 
|---|
 | 630 | VOID AdjustCnrColsForFSType (HWND hwndCnr,CHAR *directory,DIRCNRDATA *dcd);
 | 
|---|
 | 631 | VOID AdjustCnrColsForPref (HWND hwndCnr,CHAR *directory,DIRCNRDATA *dcd,
 | 
|---|
 | 632 |                            BOOL compare);
 | 
|---|
 | 633 | BOOL SetCnrCols (HWND hwndCnr,BOOL compare);
 | 
|---|
 | 634 | MRESULT CnrDirectEdit (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 635 | BOOL SetMenuCheck (HWND hwndMenu, USHORT id, BOOL *bool,BOOL toggle,
 | 
|---|
 | 636 |                    CHAR *savename);
 | 
|---|
 | 637 | VOID disable_menuitem (HWND hwndMenu,USHORT id,BOOL enable);
 | 
|---|
 | 638 | BOOL ViewHelp (CHAR *filename);
 | 
|---|
 | 639 | VOID CloseHelp (VOID);
 | 
|---|
 | 640 | INT  ExecFile (HWND hwnd,CHAR *filename);
 | 
|---|
 | 641 | VOID EmptyCnr (HWND hwnd);
 | 
|---|
 | 642 | VOID SetDetailsSwitches (HWND hwnd,DIRCNRDATA *dcd);
 | 
|---|
 | 643 | VOID AdjustDetailsSwitches (HWND hwnd,HWND hwndMenu,USHORT cmd,
 | 
|---|
 | 644 |                             CHAR *directory,CHAR *keyroot,DIRCNRDATA *dcd,
 | 
|---|
 | 645 |                             BOOL compare);
 | 
|---|
 | 646 | VOID FreeMallocedMem (VOID *mem);
 | 
|---|
 | 647 | VOID FcloseFile (FILE *fp);
 | 
|---|
 | 648 | VOID SetConditionalCascade (HWND hwndMenu,USHORT id,USHORT def);
 | 
|---|
 | 649 | VOID SetSortChecks (HWND hwndMenu,INT sortflags);
 | 
|---|
 | 650 | VOID SetupCommandMenu (HWND hwndMenu,HWND hwndCnr);
 | 
|---|
 | 651 | VOID LoadDetailsSwitches (CHAR *keyroot,DIRCNRDATA *dcd);
 | 
|---|
 | 652 | HWND FindDirCnr (HWND hwndParent);
 | 
|---|
 | 653 | VOID HeapThread (VOID *dummy);
 | 
|---|
 | 654 | VOID FixSwitchList (HWND hwnd,CHAR *text);
 | 
|---|
 | 655 | VOID QuickPopup (HWND hwnd,DIRCNRDATA *dcd,HWND hwndMenu,USHORT id);
 | 
|---|
 | 656 | PMINIRECORDCORE CurrentRecord (HWND hwndCnr);
 | 
|---|
 | 657 | BOOL PostMsg (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 658 | VOID OpenEdit (HWND hwnd);
 | 
|---|
 | 659 | VOID PortholeInit (HWND hwndNew,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 660 | HWND CheckMenu (HWND *hwndMenu,USHORT id);
 | 
|---|
 | 661 | SHORT AddToListboxBottom (HWND hwnd,CHAR *str);
 | 
|---|
 | 662 | VOID SetSysMenu (HWND hwndSysMenu);
 | 
|---|
 | 663 | VOID LoadLibPath (CHAR *str,LONG len);
 | 
|---|
 | 664 | void SaySort (HWND hwnd,INT sortflags,BOOL archive);
 | 
|---|
 | 665 | void SayView (HWND hwnd,ULONG flWindowAttr);
 | 
|---|
 | 666 | void SayFilter (HWND hwnd,MASK *mask,BOOL archive);
 | 
|---|
 | 667 | void SetViewMenu (HWND hwndMenu, ULONG flWindowAttr);
 | 
|---|
 | 668 | char *GetCmdSpec (BOOL dos);
 | 
|---|
 | 669 | void Broadcast (HAB hab,HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 670 | void SetupWinList (HWND hwndMenu,HWND hwndTop,HWND hwndFrame);
 | 
|---|
 | 671 | BOOL SwitchCommand (HWND hwndMenu,USHORT cmd);
 | 
|---|
 | 672 | 
 | 
|---|
 | 673 | /* mainwnd.c */
 | 
|---|
 | 674 | ULONG CountDirCnrs (HWND hwndParent);
 | 
|---|
 | 675 | HWND TopWindow (HWND hwndParent,HWND exclude);
 | 
|---|
 | 676 | HWND TopWindowName (HWND hwndParent,HWND exclude,CHAR *ret);
 | 
|---|
 | 677 | HWND FindDirCnrByName (CHAR *directory,BOOL restore);
 | 
|---|
 | 678 | MRESULT EXPENTRY MainWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 679 | VOID GetNextWindowPos (HWND hwndClient,PSWP pswp,ULONG *ulCntR,
 | 
|---|
 | 680 |                        ULONG *ulNumMinChildrenR);
 | 
|---|
 | 681 | VOID TileChildren (HWND hwndClient,BOOL absolute);
 | 
|---|
 | 682 | VOID FillClient (HWND hwndClient,PSWP pswp,PRECTL prectl,BOOL avoidtree);
 | 
|---|
 | 683 | MRESULT EXPENTRY ToolBackProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 684 | MRESULT EXPENTRY DriveBackProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 685 | MRESULT EXPENTRY ChildButtonProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 686 | MRESULT EXPENTRY DriveProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 687 | MRESULT EXPENTRY BubbleProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 688 | BOOL SaveDirCnrState (HWND hwndClient,CHAR *name);
 | 
|---|
 | 689 | MRESULT EXPENTRY LEDProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 690 | MRESULT EXPENTRY StatusProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
| [246] | 691 | VOID BuildDriveBarButtons (HWND hwndT);
 | 
|---|
| [2] | 692 | VOID ResizeDrives (HWND hwndT,long xwidth);
 | 
|---|
 | 693 | BOOL CloseChildren (HWND hwndClient);
 | 
|---|
 | 694 | VOID BuildTools (HWND hwndT,BOOL resize);
 | 
|---|
 | 695 | void BubbleHelp (HWND hwnd,BOOL other,BOOL data,BOOL above,char *help);
 | 
|---|
 | 696 | VOID MakeBubble (HWND hwnd,BOOL above,CHAR *help);
 | 
|---|
 | 697 | MRESULT EXPENTRY MainWMCommand (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 698 | VOID MakeMainObjWin (VOID *args);
 | 
|---|
 | 699 | 
 | 
|---|
 | 700 | /* mainwnd2.c */
 | 
|---|
 | 701 | MRESULT EXPENTRY MainWndProc2 (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 702 | MRESULT EXPENTRY FileListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 703 | HWND StartFM32 (HAB hab,INT argc,CHAR **argv);
 | 
|---|
 | 704 | 
 | 
|---|
 | 705 | /* treecnr.c */
 | 
|---|
 | 706 | MRESULT EXPENTRY TreeStatProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 707 | MRESULT EXPENTRY TreeClientWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 708 | HWND StartTreeCnr   (HWND hwndParent,ULONG flags);
 | 
|---|
 | 709 | MRESULT EXPENTRY TreeObjWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 710 | VOID ShowTreeRec (HWND hwndCnr,CHAR *dirname,BOOL collapsefirst,BOOL maketop);
 | 
|---|
 | 711 | MRESULT EXPENTRY OpenButtonProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 712 | 
 | 
|---|
 | 713 | /* dircnrs.c */
 | 
|---|
 | 714 | MRESULT EXPENTRY DirClientWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 715 | HWND StartDirCnr    (HWND hwndParent,CHAR *directory,HWND hwndRestore,
 | 
|---|
 | 716 |                      ULONG flags);
 | 
|---|
 | 717 | MRESULT EXPENTRY DirTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 718 | MRESULT EXPENTRY DirFolderProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 719 | MRESULT EXPENTRY DirMaxProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 720 | MRESULT EXPENTRY DirObjWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 721 | 
 | 
|---|
 | 722 | /* presparm.c */
 | 
|---|
 | 723 | VOID StoreWndPresParams (HWND hwnd,CHAR *tagname,HINI prof);
 | 
|---|
 | 724 | #ifdef INCL_GPI
 | 
|---|
 | 725 |  VOID SetPresParams (HWND hwnd,RGB2 *back,RGB2 *fore,RGB2 *border,CHAR *font);
 | 
|---|
 | 726 | #endif
 | 
|---|
 | 727 | VOID CopyPresParams (HWND target,HWND source);
 | 
|---|
 | 728 | VOID IfNoParam(HWND hwnd,CHAR *keyroot,ULONG size,PVOID attrvalue);
 | 
|---|
 | 729 | VOID PresParamChanged (HWND hwnd,CHAR *keyroot,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 730 | VOID RestorePresParams (HWND hwnd,CHAR *keyroot);
 | 
|---|
 | 731 | 
 | 
|---|
 | 732 | /* dirs.c */
 | 
|---|
 | 733 | APIRET save_dir2 (CHAR *curdir);
 | 
|---|
 | 734 | APIRET save_dir (CHAR *curdir);
 | 
|---|
 | 735 | APIRET switch_to (CHAR *s);
 | 
|---|
 | 736 | 
 | 
|---|
 | 737 | /* strips.c */
 | 
|---|
| [365] | 738 | VOID chop_at_crnl(PSZ pszSrc);
 | 
|---|
 | 739 | PSZ convert_nl_to_nul(PSZ pszSrc);
 | 
|---|
| [120] | 740 | void strip_lead_char (char *pszStripChars,char *pszSrc);
 | 
|---|
 | 741 | void strip_trail_char (char *pszStripChars,char *pszSrc);
 | 
|---|
| [2] | 742 | #define lstrip(s)         strip_lead_char(" \t",(s))
 | 
|---|
 | 743 | #define rstrip(s)         strip_trail_char(" \t",(s))
 | 
|---|
 | 744 | #define stripcr(s)        strip_trail_char("\r\n",(s))
 | 
|---|
| [120] | 745 | // Strip leading and trailing white
 | 
|---|
 | 746 | #define bstrip(s)         (strip_lead_char(" \t",(s)),strip_trail_char(" \t",(s)))
 | 
|---|
 | 747 | // Strip leading and trailing white and trail cr/nl
 | 
|---|
 | 748 | #define bstripcr(s)       (strip_lead_char(" \t",(s)),strip_trail_char("\r\n \t",(s)))
 | 
|---|
| [2] | 749 | 
 | 
|---|
 | 750 | /* delims.c */
 | 
|---|
| [145] | 751 | char *skip_delim (char *a,register char *delim);
 | 
|---|
 | 752 | char *to_delim (char *a,register char *delim);
 | 
|---|
| [2] | 753 | 
 | 
|---|
 | 754 | /* copyf.c */
 | 
|---|
 | 755 | BOOL AdjustWildcardName (CHAR *oldname,CHAR *newname);
 | 
|---|
 | 756 | CHAR default_disk(VOID);
 | 
|---|
 | 757 | APIRET docopyf (INT type,CHAR *oldname,CHAR *newname,...);
 | 
|---|
 | 758 |  #define COPY 0
 | 
|---|
 | 759 |  #define MOVE 1
 | 
|---|
 | 760 |  #define WPSCOPY 2
 | 
|---|
 | 761 |  #define WPSMOVE 4
 | 
|---|
 | 762 | INT unlinkf (CHAR *string,...);
 | 
|---|
 | 763 | INT unlink_allf (CHAR *string,...);
 | 
|---|
 | 764 | INT wipeallf (CHAR *string,...);
 | 
|---|
 | 765 | INT make_deleteable (CHAR *filename);
 | 
|---|
 | 766 | CHAR *TruncName (CHAR *oldname,CHAR *buffer);
 | 
|---|
 | 767 | CHAR *GetLongName (CHAR *oldname,CHAR *buffer);
 | 
|---|
 | 768 | BOOL WriteLongName (CHAR *filename,CHAR *longname);
 | 
|---|
 | 769 | 
 | 
|---|
 | 770 | /* mkdir.c */
 | 
|---|
 | 771 | APIRET SetDir (HWND hwndClient,HWND hwnd,CHAR *dir,INT flags);
 | 
|---|
 | 772 | APIRET MassMkdir (HWND hwndClient,CHAR *dir);
 | 
|---|
 | 773 | BOOL   PMMkDir (HWND hwnd,CHAR *filename,BOOL copy);
 | 
|---|
 | 774 | void   SetTargetDir (HWND hwnd,BOOL justshow);
 | 
|---|
 | 775 | 
 | 
|---|
 | 776 | /* srchpath.c */
 | 
|---|
| [145] | 777 | CHAR *first_path (CHAR *path,CHAR *ret);
 | 
|---|
 | 778 | CHAR *searchapath (CHAR *path,CHAR *filename);
 | 
|---|
 | 779 | CHAR *searchpath (CHAR *filename);
 | 
|---|
| [2] | 780 | 
 | 
|---|
 | 781 | /* literal.c */
 | 
|---|
| [120] | 782 | UINT literal(PSZ pszBuf);
 | 
|---|
 | 783 | BOOL wildcard(const PSZ pszBuf,const PSZ pszWildCard,const BOOL fNotFileSpec);
 | 
|---|
 | 784 | PSZ fixup (const PCH pachInBuf, PSZ pszOutBuf, const UINT cBufBytes, const UINT cInBytes);
 | 
|---|
| [2] | 785 | 
 | 
|---|
 | 786 | /* stristr.c */
 | 
|---|
| [145] | 787 | CHAR *stristr (const CHAR *t, const CHAR *s);
 | 
|---|
 | 788 | CHAR *strnistr (register CHAR *t, CHAR *s, LONG len);
 | 
|---|
 | 789 | CHAR *strnstr (register CHAR *t, CHAR *s, LONG len);
 | 
|---|
 | 790 | CHAR *findstring (CHAR *findthis, ULONG lenthis, CHAR *findin,
 | 
|---|
 | 791 |                   ULONG lenin, BOOL insensitive);
 | 
|---|
| [2] | 792 | 
 | 
|---|
 | 793 | /* avl.c */
 | 
|---|
 | 794 | ARC_TYPE * quick_find_type (CHAR *filespec,ARC_TYPE *topsig);
 | 
|---|
 | 795 | ARC_TYPE * find_type (CHAR *filespec,ARC_TYPE *topsig);
 | 
|---|
 | 796 | INT load_archivers (VOID);
 | 
|---|
 | 797 | BOOL ArcDateTime (CHAR *dt,INT type,CDATE *cdate,CTIME *ctime);
 | 
|---|
 | 798 | 
 | 
|---|
 | 799 | /* avv.c */
 | 
|---|
| [120] | 800 | VOID rewrite_archiverbb2(CHAR *archiverbb2);
 | 
|---|
| [294] | 801 | MRESULT EXPENTRY ArcReviewDlgProc(HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
| [419] | 802 | VOID EditArchiverDefinition(HWND hwnd);
 | 
|---|
| [2] | 803 | 
 | 
|---|
 | 804 | /* systemf.c */
 | 
|---|
 | 805 | BOOL ShowSession (HWND hwnd,PID pid);
 | 
|---|
 | 806 | INT ExecOnList (HWND hwnd, CHAR *command, INT flags, CHAR *tpath,
 | 
|---|
 | 807 |                 CHAR **list,CHAR *prompt);
 | 
|---|
 | 808 | INT runemf2 (INT type,HWND hwnd,CHAR *directory,CHAR *environment,
 | 
|---|
 | 809 |              CHAR *formatstring,...);
 | 
|---|
 | 810 | HAPP Exec (HWND hwndNotify,BOOL child,char *startdir,char *env,
 | 
|---|
 | 811 |            PROGTYPE *progt,ULONG fl,char *formatstring,...);
 | 
|---|
 | 812 | #define SYNCHRONOUS   1
 | 
|---|
 | 813 | #define ASYNCHRONOUS  2
 | 
|---|
 | 814 | #define DETACHED      3
 | 
|---|
 | 815 | #define SEPARATE      4
 | 
|---|
 | 816 | #define SEPARATEKEEP  5
 | 
|---|
 | 817 | #define WINDOWED      16
 | 
|---|
 | 818 | #define MAXIMIZED     32
 | 
|---|
 | 819 | #define MINIMIZED     64
 | 
|---|
 | 820 | #define FULLSCREEN    128
 | 
|---|
 | 821 | #define INVISIBLE     256
 | 
|---|
 | 822 | #define BACKGROUND    512
 | 
|---|
 | 823 | #define WAIT          1024
 | 
|---|
 | 824 | #define PROMPT        2048
 | 
|---|
 | 825 | #define KEEP          4096
 | 
|---|
 | 826 | #define ONCE          8192
 | 
|---|
 | 827 | #define DIEAFTER      16384
 | 
|---|
 | 828 | #define SEAMLESS      32768
 | 
|---|
 | 829 | #define CHILD         65536
 | 
|---|
 | 830 | 
 | 
|---|
 | 831 | /* cmdline.c */
 | 
|---|
 | 832 | BOOL             add_cmdline(CHAR *cmdline,BOOL big);
 | 
|---|
 | 833 | VOID             save_cmdlines (BOOL big);
 | 
|---|
 | 834 | MRESULT EXPENTRY CmdLineDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 835 | MRESULT EXPENTRY CmdLine2DlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 836 | 
 | 
|---|
 | 837 | /* makelist.c */
 | 
|---|
 | 838 | INT AddToList (CHAR *string,CHAR ***list,INT *numfiles,INT *numalloced);
 | 
|---|
 | 839 | INT AddToFileList (CHAR *string,FILEFINDBUF4 *ffb4,FILELIST ***list,
 | 
|---|
 | 840 |                    INT *numfiles,INT *numalloced);
 | 
|---|
 | 841 | CHAR ** BuildList (HWND hwndCnr);
 | 
|---|
 | 842 | VOID FreeListInfo (LISTINFO *li);
 | 
|---|
 | 843 | VOID FreeList (CHAR **list);
 | 
|---|
 | 844 | VOID SortList (LISTINFO *li);
 | 
|---|
 | 845 | CHAR ** BuildArcList (HWND hwndCnr);
 | 
|---|
 | 846 | CHAR ** RemoveFromList (CHAR **list,CHAR *item);
 | 
|---|
 | 847 | CHAR ** CombineLists (CHAR **prime,CHAR **add);
 | 
|---|
 | 848 | 
 | 
|---|
 | 849 | /* chklist.c */
 | 
|---|
 | 850 | VOID PosOverOkay (HWND hwnd);
 | 
|---|
 | 851 | VOID CenterOverWindow (HWND hwnd);
 | 
|---|
 | 852 | BOOL PopupMenu (HWND hwndParent,HWND hwndOwner,HWND hwndMenu);
 | 
|---|
 | 853 | MRESULT EXPENTRY CheckListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 854 | MRESULT EXPENTRY DropListProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 855 | 
 | 
|---|
 | 856 | /* eas.c */
 | 
|---|
 | 857 | VOID HexDump (HWND hwnd,CHAR *value,ULONG cbValue);
 | 
|---|
 | 858 | HOLDFEA *GetFileEAs (CHAR *filename,BOOL ishandle,BOOL silentfail);
 | 
|---|
 | 859 | VOID Free_FEAList (HOLDFEA *pFEA);
 | 
|---|
 | 860 | MRESULT EXPENTRY DisplayEAsProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 861 | PVOID SaveEA (CHAR *filename,HOLDFEA *current,CHAR *newdata,
 | 
|---|
 | 862 |               BOOL silentfail);
 | 
|---|
 | 863 | 
 | 
|---|
 | 864 | /* inis.c */
 | 
|---|
 | 865 | MRESULT EXPENTRY IniProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 866 | HWND StartIniEditor (HWND hwnd,CHAR *filename,INT flags);
 | 
|---|
 | 867 | 
 | 
|---|
 | 868 | /* subj.c */
 | 
|---|
 | 869 | INT Subject (HWND hwnd,CHAR *filename);
 | 
|---|
 | 870 | 
 | 
|---|
 | 871 | /* dirsize.c */
 | 
|---|
 | 872 | MRESULT EXPENTRY DirSizeProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 873 | 
 | 
|---|
 | 874 | /* getnames.c */
 | 
|---|
 | 875 | BOOL insert_filename (HWND hwnd,CHAR *filename,INT loadit,BOOL newok);
 | 
|---|
 | 876 | BOOL export_filename (HWND hwnd,CHAR *filename,INT overwrite);
 | 
|---|
 | 877 | MRESULT EXPENTRY CustomFileDlg (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 878 | 
 | 
|---|
 | 879 | /* input.c */
 | 
|---|
 | 880 | MRESULT EXPENTRY InputDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 881 | 
 | 
|---|
 | 882 | /* select.c */
 | 
|---|
 | 883 | VOID UnHilite (HWND hwndCnr,BOOL all,CHAR ***list);
 | 
|---|
 | 884 | VOID SelectList (HWND hwndCnr,BOOL partial,BOOL deselect,BOOL clearfirst,
 | 
|---|
 | 885 |                  PCNRITEM pciParent,CHAR *filename,CHAR **list);
 | 
|---|
 | 886 | VOID SelectAll (HWND hwndCnr,BOOL files,BOOL dirs,CHAR *mask,CHAR *text,
 | 
|---|
 | 887 |                 BOOL arc);
 | 
|---|
 | 888 | VOID DeselectAll (HWND hwndCnr,BOOL files,BOOL dirs,CHAR *mask,CHAR *text,
 | 
|---|
 | 889 |                   BOOL arc);
 | 
|---|
 | 890 | VOID Deselect (HWND hwndCnr);
 | 
|---|
 | 891 | VOID HideAll (HWND hwndCnr);
 | 
|---|
| [165] | 892 | VOID RemoveAll (HWND hwndCnr,ULONGLONG *ullTotalBytes,ULONG *totalfiles);
 | 
|---|
| [2] | 893 | VOID MarkAll (HWND hwndCnr,BOOL quitit,BOOL target,BOOL source);
 | 
|---|
 | 894 | VOID SetMask (CHAR *str,MASK *mask);
 | 
|---|
 | 895 | VOID ExpandAll (HWND hwndCnr,BOOL expand,PCNRITEM pciParent);
 | 
|---|
 | 896 | VOID InvertAll (HWND hwndCnr);
 | 
|---|
 | 897 | VOID SpecialSelect (HWND hwndCnrS,HWND hwndCnrD,INT action,BOOL reset);
 | 
|---|
 | 898 | VOID SpecialSelect2 (HWND hwndParent,INT action);
 | 
|---|
 | 899 | 
 | 
|---|
 | 900 | /* viewer.c */
 | 
|---|
 | 901 | MRESULT EXPENTRY MLEEditorProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 902 | HWND StartMLEEditor (HWND hwnd,INT flags,CHAR *filename,HWND hwndRestore);
 | 
|---|
 | 903 | 
 | 
|---|
 | 904 | /* codepage.c */
 | 
|---|
 | 905 | INT PickCodepage (HWND hwnd);
 | 
|---|
 | 906 | 
 | 
|---|
 | 907 | /* fonts.c */
 | 
|---|
 | 908 | VOID SetFont (HWND hwnd);
 | 
|---|
 | 909 | FATTRS * SetMLEFont (HWND hwndMLE, FATTRS *fattrs, ULONG flags);
 | 
|---|
 | 910 | VOID SetPresParamFromFattrs (HWND hwnd,FATTRS *fattrs,
 | 
|---|
 | 911 |                              SHORT sNominalPointSize,
 | 
|---|
 | 912 |                              FIXED fxPointSize);
 | 
|---|
 | 913 | 
 | 
|---|
 | 914 | /* saveclip.c */
 | 
|---|
 | 915 | BOOL SaveToClip (HWND hwnd,CHAR *text,BOOL append);
 | 
|---|
 | 916 | VOID ListToClipboard (HWND hwnd,CHAR **list,BOOL append);
 | 
|---|
 | 917 | CHAR ** ListFromClipboard (HWND hwnd);
 | 
|---|
 | 918 | BOOL SaveToClipHab (HAB hab,CHAR *text,BOOL append);
 | 
|---|
 | 919 | VOID ListToClipboardHab (HAB hab,CHAR **list,BOOL append);
 | 
|---|
 | 920 | CHAR ** ListFromClipboardHab (HAB hab);
 | 
|---|
 | 921 | MRESULT EXPENTRY SaveListDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 922 | MRESULT EXPENTRY SaveAllListDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 923 | 
 | 
|---|
 | 924 | /* filter.c */
 | 
|---|
 | 925 | INT APIENTRY Filter (PMINIRECORDCORE rmini,PVOID arg);
 | 
|---|
 | 926 | BOOL FilterAttrs (PCNRITEM pci,MASK *mask);
 | 
|---|
 | 927 | VOID save_masks (VOID);
 | 
|---|
 | 928 | MRESULT EXPENTRY PickMaskDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 929 | 
 | 
|---|
 | 930 | /* archive.c */
 | 
|---|
 | 931 | MRESULT EXPENTRY ArchiveDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 932 | MRESULT EXPENTRY SBoxDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 933 | 
 | 
|---|
 | 934 | /* extract.c */
 | 
|---|
 | 935 | MRESULT EXPENTRY ExtractDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 936 | 
 | 
|---|
 | 937 | /* walkem.c */
 | 
|---|
 | 938 | VOID load_udirs (VOID);
 | 
|---|
 | 939 | VOID save_udirs (VOID);
 | 
|---|
 | 940 | BOOL add_udir (BOOL userdirs,CHAR *inpath);
 | 
|---|
 | 941 | BOOL remove_udir (CHAR *path);
 | 
|---|
 | 942 | BOOL remove_ldir (CHAR *path);
 | 
|---|
 | 943 | VOID load_setups (VOID);
 | 
|---|
 | 944 | VOID save_setups (VOID);
 | 
|---|
 | 945 | BOOL add_setup (CHAR *name);
 | 
|---|
 | 946 | BOOL remove_setup (CHAR *name);
 | 
|---|
 | 947 | VOID FillPathListBox (HWND hwnd,HWND hwnddrive,HWND hwnddir,CHAR *path,
 | 
|---|
 | 948 |                       BOOL nounwriteable);
 | 
|---|
 | 949 | MRESULT EXPENTRY WalkDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 950 | MRESULT EXPENTRY WalkAllDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 951 | MRESULT EXPENTRY WalkCopyDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 952 | MRESULT EXPENTRY WalkMoveDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 953 | MRESULT EXPENTRY WalkExtractDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 954 | MRESULT EXPENTRY WalkTargetDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 955 | MRESULT EXPENTRY WalkTwoDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 956 | MRESULT EXPENTRY WalkTwoCmpDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,
 | 
|---|
 | 957 |                                     MPARAM mp2);
 | 
|---|
 | 958 | MRESULT EXPENTRY WalkTwoSetDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,
 | 
|---|
 | 959 |                                     MPARAM mp2);
 | 
|---|
 | 960 | 
 | 
|---|
 | 961 | /* arccnrs.c */
 | 
|---|
 | 962 | MRESULT EXPENTRY ArcClientWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 963 | HWND StartArcCnr (HWND hwndParent,HWND hwndCaller,CHAR *arcname,INT flags,
 | 
|---|
 | 964 |                   ARC_TYPE *sinfo);
 | 
|---|
 | 965 | MRESULT EXPENTRY ArcTextProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 966 | MRESULT EXPENTRY ArcFolderProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 967 | MRESULT EXPENTRY ArcObjWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 968 | 
 | 
|---|
 | 969 | /* assoc.c */
 | 
|---|
 | 970 | INT ExecAssociation (HWND hwnd, CHAR *datafile);
 | 
|---|
 | 971 | VOID EditAssociations (HWND hwnd);
 | 
|---|
 | 972 | VOID load_associations (VOID);
 | 
|---|
 | 973 | VOID save_associations (VOID);
 | 
|---|
 | 974 | 
 | 
|---|
 | 975 | /*draglist.c */
 | 
|---|
 | 976 | HWND DoFileDrag (HWND hwndCnr,HWND hwndObj,PCNRDRAGINIT pcd,CHAR *arcfile,
 | 
|---|
 | 977 |                  CHAR *directory,BOOL moveok);
 | 
|---|
 | 978 | HWND DragOne (HWND hwndCnr,HWND hwndObj,CHAR *filename,BOOL moveok);
 | 
|---|
 | 979 | HWND DragList(HWND hwnd,HWND hwndObj,CHAR **list,BOOL moveok);
 | 
|---|
 | 980 | BOOL PickUp (HWND hwndCnr,HWND hwndObj,PCNRDRAGINIT pcd);
 | 
|---|
 | 981 | 
 | 
|---|
 | 982 | /* droplist.c */
 | 
|---|
 | 983 | ULONG  FreeDrop       (MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 984 | void   DropHelp       (MPARAM mp1,MPARAM mp2,HWND hwnd,char *text);
 | 
|---|
 | 985 | BOOL   AcceptOneDrop  (MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 986 | BOOL   GetOneDrop     (MPARAM mp1,MPARAM mp2,char *buffer,ULONG buflen);
 | 
|---|
 | 987 | BOOL   FullDrgName    (PDRAGITEM pDItem,CHAR *buffer,ULONG buflen);
 | 
|---|
 | 988 | BOOL   TwoDrgNames    (PDRAGITEM pDItem,CHAR *buffer1,ULONG buflen1,
 | 
|---|
 | 989 |                        char *buffer2,ULONG buflen2);
 | 
|---|
 | 990 | LISTINFO * DoFileDrop (HWND hwndCnr, CHAR *directory, BOOL arcfilesok,
 | 
|---|
 | 991 |                        MPARAM mp1, MPARAM mp2);
 | 
|---|
 | 992 | 
 | 
|---|
 | 993 | /* shadow.c */
 | 
|---|
 | 994 | HOBJECT CreateProgramObject (CHAR *objtitle,CHAR *location,CHAR *path,CHAR *cnr);
 | 
|---|
 | 995 | HOBJECT CreateDataObject (CHAR *objtitle,CHAR *location,CHAR *path,CHAR *cnr);
 | 
|---|
 | 996 | HOBJECT CreateFolderObject (CHAR *objtitle,CHAR *cnr);
 | 
|---|
 | 997 | HOBJECT CreateShadowObject (CHAR *objtitle,CHAR *location,CHAR *path,
 | 
|---|
 | 998 |                             BOOL executable,CHAR *cnr);
 | 
|---|
 | 999 | VOID MakeShadows (HWND hwnd,CHAR **list,ULONG Shadows,CHAR *cnr,
 | 
|---|
 | 1000 |                   CHAR *foldername);
 | 
|---|
 | 1001 | VOID OpenObject (CHAR *filename,CHAR *type,HWND hwnd);
 | 
|---|
 | 1002 | BOOL RunSeamless (CHAR *exename,CHAR *args,HWND hwnd);
 | 
|---|
 | 1003 | 
 | 
|---|
 | 1004 | /* printer.c */
 | 
|---|
 | 1005 | BOOL PrinterReady (CHAR *printdevname);
 | 
|---|
 | 1006 | BOOL SayPrinterReady (HWND hwnd);
 | 
|---|
| [520] | 1007 | VOID PrintListThread(VOID *arg);
 | 
|---|
| [2] | 1008 | MRESULT EXPENTRY PrintDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1009 | 
 | 
|---|
 | 1010 | /* attribs.c */
 | 
|---|
 | 1011 | MRESULT EXPENTRY AttrListDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1012 | 
 | 
|---|
 | 1013 | /* rename.c */
 | 
|---|
 | 1014 | MRESULT EXPENTRY RenameProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1015 | 
 | 
|---|
 | 1016 | /* comp.c */
 | 
|---|
 | 1017 | MRESULT EXPENTRY CFileDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1018 | MRESULT EXPENTRY CompareDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1019 | 
 | 
|---|
 | 1020 | /* findrec.c */
 | 
|---|
 | 1021 | PCNRITEM FindCnrRecord (HWND hwndCnr,CHAR *filename,PCNRITEM pciParent,
 | 
|---|
 | 1022 |                         BOOL partial,BOOL partmatch,BOOL noenv);
 | 
|---|
 | 1023 | PCNRITEM FindParentRecord (HWND hwndCnr,PCNRITEM pciC);
 | 
|---|
 | 1024 | VOID ShowCnrRecord (HWND hwndCnr,PMINIRECORDCORE pmi);
 | 
|---|
 | 1025 | 
 | 
|---|
 | 1026 | /* update.c */
 | 
|---|
 | 1027 | PCNRITEM UpdateCnrRecord (HWND hwndCnr,CHAR *filename,BOOL partial,
 | 
|---|
 | 1028 |                           DIRCNRDATA *dcd);
 | 
|---|
 | 1029 | BOOL UpdateCnrList (HWND hwndCnr,CHAR **filename,INT howmany,BOOL partial,
 | 
|---|
 | 1030 |                     DIRCNRDATA *dcd);
 | 
|---|
 | 1031 | 
 | 
|---|
 | 1032 | /* info.c */
 | 
|---|
 | 1033 | MRESULT EXPENTRY DrvInfoProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1034 | MRESULT EXPENTRY FileInfoProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1035 | MRESULT EXPENTRY SetDrvProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1036 | 
 | 
|---|
 | 1037 | /* fsopen.c */
 | 
|---|
 | 1038 | FILE * _fsopen (CHAR *filename,CHAR *mode,INT sharemode,...);
 | 
|---|
 | 1039 | 
 | 
|---|
 | 1040 | /* seticon.c */
 | 
|---|
 | 1041 | MRESULT EXPENTRY SetIconDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1042 | 
 | 
|---|
 | 1043 | /* objcnr.c */
 | 
|---|
 | 1044 | MRESULT EXPENTRY ObjCnrDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1045 | 
 | 
|---|
 | 1046 | /* sortcnr.c */
 | 
|---|
 | 1047 | SHORT APIENTRY SortTreeCnr (PMINIRECORDCORE p1,PMINIRECORDCORE p2,
 | 
|---|
 | 1048 |                             PVOID pStorage);
 | 
|---|
 | 1049 | SHORT APIENTRY SortDirCnr (PMINIRECORDCORE p1,PMINIRECORDCORE p2,
 | 
|---|
 | 1050 |                            PVOID pStorage);
 | 
|---|
 | 1051 | SHORT APIENTRY SortCollectorCnr (PMINIRECORDCORE p1,PMINIRECORDCORE p2,
 | 
|---|
 | 1052 |                                  PVOID pStorage);
 | 
|---|
 | 1053 | SHORT SortCnr (PMINIRECORDCORE p1,PMINIRECORDCORE p2,INT Sortflags);
 | 
|---|
 | 1054 | 
 | 
|---|
 | 1055 | /* collect.c */
 | 
|---|
 | 1056 | MRESULT EXPENTRY CollectorClientWndProc (HWND hwnd,ULONG msg,MPARAM mp1,
 | 
|---|
 | 1057 |                                          MPARAM mp2);
 | 
|---|
 | 1058 | MRESULT EXPENTRY CollectorTextProc (HWND hwnd,ULONG msg,MPARAM mp1,
 | 
|---|
 | 1059 |                                     MPARAM mp2);
 | 
|---|
 | 1060 | HWND StartCollector (HWND hwndParent,INT flags);
 | 
|---|
 | 1061 | MRESULT EXPENTRY CollectorObjWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1062 | 
 | 
|---|
 | 1063 | /* command.c */
 | 
|---|
 | 1064 | VOID RunCommand    (HWND hwnd,INT cx);
 | 
|---|
 | 1065 | VOID EditCommands  (HWND hwnd);
 | 
|---|
 | 1066 | CHAR *command_title (INT cx);
 | 
|---|
 | 1067 | VOID load_commands (VOID);
 | 
|---|
 | 1068 | 
 | 
|---|
 | 1069 | /* instant.c */
 | 
|---|
 | 1070 | MRESULT EXPENTRY InstantDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1071 | 
 | 
|---|
 | 1072 | /* undel.c */
 | 
|---|
 | 1073 | MRESULT EXPENTRY UndeleteDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1074 | 
 | 
|---|
 | 1075 | /* killproc.c */
 | 
|---|
 | 1076 | MRESULT EXPENTRY KillDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1077 | 
 | 
|---|
 | 1078 | /* sysinfo.c */
 | 
|---|
 | 1079 | MRESULT EXPENTRY SysInfoDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1080 | 
 | 
|---|
 | 1081 | /* objwin.c */
 | 
|---|
 | 1082 | MRESULT EXPENTRY ObjectWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1083 | VOID MakeObjWin (VOID *args);
 | 
|---|
 | 1084 | 
 | 
|---|
 | 1085 | /* progstup.c */
 | 
|---|
 | 1086 | MRESULT EXPENTRY ProgDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1087 | 
 | 
|---|
 | 1088 | /* key.c */
 | 
|---|
 | 1089 | MRESULT EXPENTRY AboutDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1090 | 
 | 
|---|
 | 1091 | /* notify.c */
 | 
|---|
 | 1092 | MRESULT EXPENTRY NotifyWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1093 | HWND Notify (char *text);
 | 
|---|
 | 1094 | HWND DoNotify (char *text);
 | 
|---|
 | 1095 | VOID NotifyError (CHAR *filename,APIRET error);
 | 
|---|
| [337] | 1096 | VOID StartNotes (CHAR *s);
 | 
|---|
| [2] | 1097 | BOOL AddNote (CHAR *note);
 | 
|---|
 | 1098 | VOID EndNote (VOID);
 | 
|---|
 | 1099 | VOID ShowNote (VOID);
 | 
|---|
 | 1100 | VOID HideNote (VOID);
 | 
|---|
 | 1101 | 
 | 
|---|
 | 1102 | /* winlist.c */
 | 
|---|
 | 1103 | VOID WindowList(HWND hwnd);
 | 
|---|
 | 1104 | 
 | 
|---|
 | 1105 | /* viewinf.c */
 | 
|---|
 | 1106 | MRESULT EXPENTRY ViewInfProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1107 | 
 | 
|---|
 | 1108 | /* notebook.c */
 | 
|---|
 | 1109 | MRESULT EXPENTRY CfgDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1110 | 
 | 
|---|
 | 1111 | /* commafmt.c */
 | 
|---|
| [165] | 1112 | size_t commafmt(PSZ pszBuf,UINT cBufSize,LONG lNumber);
 | 
|---|
 | 1113 | size_t CommaFmtUL(char *pszBuf,UINT cBufSize,ULONG ullNumber,
 | 
|---|
 | 1114 |                   CHAR chPreferred);
 | 
|---|
 | 1115 | size_t CommaFmtULL(char *pszBuf,UINT cBufSize,ULONGLONG ullNumber,
 | 
|---|
 | 1116 |                    CHAR chPreferred);
 | 
|---|
| [2] | 1117 | 
 | 
|---|
 | 1118 | /* autoview.c */
 | 
|---|
 | 1119 | BOOL WriteEA (HWND hwnd,CHAR *filename,CHAR *eaname,USHORT type,CHAR *data);
 | 
|---|
 | 1120 | BOOL PutComments (HWND hwnd,CHAR *filename,CHAR *comments);
 | 
|---|
 | 1121 | MRESULT EXPENTRY AutoViewProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1122 | ULONG CreateHexDump (CHAR *value,ULONG cbValue,CHAR *ret,ULONG retlen,
 | 
|---|
 | 1123 |                      ULONG startval,BOOL longlead);
 | 
|---|
 | 1124 | 
 | 
|---|
 | 1125 | /* menu.c */
 | 
|---|
 | 1126 | BOOL AddToMenu (CHAR *filename,HWND hwndMenu);
 | 
|---|
 | 1127 | 
 | 
|---|
 | 1128 | /* worker.c */
 | 
|---|
 | 1129 | VOID MassAction (VOID *args);
 | 
|---|
 | 1130 | VOID Action (VOID *args);
 | 
|---|
 | 1131 | 
 | 
|---|
 | 1132 | /* fm2cmd.c */
 | 
|---|
 | 1133 | BOOL FM2Command (CHAR *directory,CHAR *command);
 | 
|---|
 | 1134 | 
 | 
|---|
 | 1135 | /* seeall.c */
 | 
|---|
 | 1136 | MRESULT EXPENTRY SeeAllWndProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
 | 
|---|
 | 1137 | MRESULT EXPENTRY SeeStatusProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
 | 
|---|
 | 1138 | HWND StartSeeAll (HWND hwndParent,BOOL standalone,CHAR *startpath);
 | 
|---|
 | 1139 | 
 | 
|---|
 | 1140 | /* newview.c */
 | 
|---|
 | 1141 | MRESULT EXPENTRY ViewWndProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
 | 
|---|
 | 1142 | MRESULT EXPENTRY ViewStatusProc (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
 | 
|---|
 | 1143 | HWND StartViewer (HWND hwndParent,USHORT flags,CHAR *filename,
 | 
|---|
 | 1144 |                   HWND hwndRestore);
 | 
|---|
 | 1145 | 
 | 
|---|
 | 1146 | /* colors.c */
 | 
|---|
 | 1147 | MRESULT EXPENTRY ColorDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1148 | 
 | 
|---|
 | 1149 | /* defview.c */
 | 
|---|
 | 1150 | BOOL ShowMultimedia (CHAR *filename);
 | 
|---|
 | 1151 | VOID DefaultView (HWND hwnd,HWND hwndFrame,HWND hwndParent,SWP *swp,
 | 
|---|
 | 1152 |                   ULONG flags,CHAR *filename);
 | 
|---|
 | 1153 | VOID DefaultViewKeys (HWND hwnd,HWND hwndFrame,HWND hwndParent,
 | 
|---|
 | 1154 |                       SWP *swp,CHAR *filename);
 | 
|---|
 | 1155 | #define QuickView(h,f) DefaultView(h,(HWND)0,(HWND)0,NULL,0,f)
 | 
|---|
 | 1156 | #define QuickEdit(h,f) DefaultView(h,(HWND)0,(HWND)0,NULL,8,f)
 | 
|---|
 | 1157 | 
 | 
|---|
 | 1158 | /* catalog.c */
 | 
|---|
 | 1159 | MRESULT EXPENTRY CatalogProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1160 | 
 | 
|---|
 | 1161 | /* uudecode.c */
 | 
|---|
 | 1162 | int UUD (char *filename,char *outname);
 | 
|---|
 | 1163 | MRESULT EXPENTRY MergeDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1164 | 
 | 
|---|
 | 1165 | /* loadbmp.c */
 | 
|---|
 | 1166 | HBITMAP LoadBitmapFromFileNum (USHORT id);
 | 
|---|
 | 1167 | HBITMAP LoadBitmapFromFile (CHAR *pszFileName);
 | 
|---|
 | 1168 | 
 | 
|---|
 | 1169 | /* remap.c */
 | 
|---|
 | 1170 | MRESULT EXPENTRY RemapDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1171 | 
 | 
|---|
 | 1172 | /* timer.c */
 | 
|---|
 | 1173 | BOOL StartTimer (void);
 | 
|---|
 | 1174 | void StopTimer (void);
 | 
|---|
 | 1175 | 
 | 
|---|
 | 1176 | /* grep2.c */
 | 
|---|
 | 1177 | MRESULT EXPENTRY GrepDlgProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1178 | 
 | 
|---|
 | 1179 | /* common.c */
 | 
|---|
 | 1180 | MRESULT EXPENTRY CommonFrameWndProc (USHORT id,
 | 
|---|
 | 1181 |                                      HWND hwnd,
 | 
|---|
 | 1182 |                                      ULONG msg,
 | 
|---|
 | 1183 |                                      MPARAM mp1,
 | 
|---|
 | 1184 |                                      MPARAM mp2);
 | 
|---|
 | 1185 | MRESULT EXPENTRY CommonTextProc (HWND hwnd,
 | 
|---|
 | 1186 |                                  ULONG msg,
 | 
|---|
 | 1187 |                                  MPARAM mp1,
 | 
|---|
 | 1188 |                                  MPARAM mp2);
 | 
|---|
 | 1189 | void CommonTextPaint (HWND hwnd,HPS hps);
 | 
|---|
 | 1190 | void CommonCreateTextChildren (HWND hwnd,char *class,USHORT *ids);
 | 
|---|
 | 1191 | void CommonDriveCmd (HWND hwnd,char *drive,USHORT cmd);
 | 
|---|
 | 1192 | void CommonCreateMainChildren (HWND hwnd,SWP *swp);
 | 
|---|
 | 1193 | MRESULT EXPENTRY CommonMainWndProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1194 | MRESULT EXPENTRY CommonTextButton (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1195 | MRESULT EXPENTRY CommonCnrProc (HWND hwnd,ULONG msg,MPARAM mp1,MPARAM mp2);
 | 
|---|
 | 1196 | HWND OpenDirCnr (HWND hwnd,HWND hwndParent,HWND hwndRestore,
 | 
|---|
 | 1197 |                  BOOL noautotile,char *directory);
 | 
|---|
| [520] | 1198 | VOID IncrThreadUsage(VOID);
 | 
|---|
 | 1199 | VOID DecrThreadUsage(VOID);
 | 
|---|
| [2] | 1200 | 
 | 
|---|
 | 1201 | /* string.c */
 | 
|---|
 | 1202 | BOOL LoadStrings (char *filename);
 | 
|---|
 | 1203 | char *GetPString (ULONG id);
 | 
|---|
 | 1204 | BOOL StringsLoaded (void);
 | 
|---|
 | 1205 | 
 | 
|---|
| [337] | 1206 | /* wrappers.c */
 | 
|---|
| [399] | 1207 | PSZ xfgets(PSZ pszBuf, size_t cMaxBytes, FILE *fp, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
 | 1208 | PSZ xfgets_bstripcr(PSZ pszBuf, size_t cMaxBytes, FILE *fp, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
| [337] | 1209 | FILE *xfopen(PCSZ pszFileName, PCSZ pszMode, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
 | 1210 | FILE *xfsopen(PCSZ pszFileName,PCSZ pszMode,INT fSharemode, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
 | 1211 | VOID xfree (PVOID pv);
 | 
|---|
 | 1212 | PVOID xmalloc(size_t cBytes, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
 | 1213 | PVOID xmallocz(size_t cBytes, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
 | 1214 | PVOID xrealloc(PVOID pvIn, size_t cBytes, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
 | 1215 | PVOID xstrdup(PCSZ pszIn, PCSZ pszSrcFile, UINT uiLineNumber);
 | 
|---|
 | 1216 | 
 | 
|---|
 | 1217 | //=====================================================================
 | 
|---|
 | 1218 | 
 | 
|---|
| [2] | 1219 | #ifdef DEFINE_GLOBALS
 | 
|---|
 | 1220 |   #define DATADEF
 | 
|---|
 | 1221 | #else
 | 
|---|
 | 1222 |   #define DATADEF extern
 | 
|---|
 | 1223 | #endif
 | 
|---|
 | 1224 | 
 | 
|---|
 | 1225 | DATADEF ARC_TYPE *arcsighead;
 | 
|---|
| [294] | 1226 | DATADEF BOOL      arcsigsloaded;
 | 
|---|
 | 1227 | DATADEF BOOL      arcsigsmodified;
 | 
|---|
| [311] | 1228 | DATADEF UINT      arcsigs_header_lines;         // Header comments line count in archiver.bb2
 | 
|---|
 | 1229 | DATADEF UINT      arcsigs_trailer_line_num;     // Trailer comments start line number (1..n)
 | 
|---|
 | 1230 | 
 | 
|---|
| [2] | 1231 | DATADEF USHORT    nodes,shiftstate;
 | 
|---|
 | 1232 | DATADEF HEV       CompactSem;
 | 
|---|
 | 1233 | DATADEF HWND      hwndMain,hwndTree,hwndStatus,hwndStatus2,hwndTrash,
 | 
|---|
 | 1234 |                   hwndButtonlist,hwndDrivelist,hwndStatelist,hwndUserlist,
 | 
|---|
 | 1235 |                   hwndAutoview,hwndAttr,hwndDate,hwndName,hwndBack,
 | 
|---|
 | 1236 |                   hwndLED,hwndLEDHdr,hwndAutoMLE,hwndCmdlist;
 | 
|---|
 | 1237 | DATADEF HBITMAP   hbmLEDon,hbmLEDoff;
 | 
|---|
 | 1238 | DATADEF CHAR      ArcTempRoot[9];
 | 
|---|
 | 1239 | DATADEF HPOINTER  hptrArrow,hptrBusy,hptrLast,hptrDir,hptrFile,hptrRemote,
 | 
|---|
 | 1240 |                   hptrFloppy,hptrDrive,hptrRemovable,hptrCDROM,
 | 
|---|
 | 1241 |                   hptrFinger,hptrApp,hptrDunno,hptrSystem,hptrHidden,
 | 
|---|
 | 1242 |                   hptrReadonly,hptrNS,hptrZipstrm,hptrArc,hptrArt,hptrEW,
 | 
|---|
 | 1243 |                   hptrCommon,hptrEnv;
 | 
|---|
 | 1244 | DATADEF PFNWP     PFNWPCnr,PFNWPFrame,PFNWPButton,PFNWPStatic,PFNWPMLE;
 | 
|---|
 | 1245 | DATADEF BOOL      fLoadSubject,fLoadLongnames,fForceUpper,fForceLower,
 | 
|---|
 | 1246 |                   fSyncUpdates,fAutoTile,fDontMoveMouse,loadedudirs,
 | 
|---|
 | 1247 |                   fUnHilite,fWorkPlace,fConfirmDelete,fToolbar,
 | 
|---|
 | 1248 |                   fToolsChanged,MenuInvisible,fFreeTree,fFollowTree,
 | 
|---|
 | 1249 |                   fNoIconsFiles,fNoIconsDirs,fVerify,fDCOpens,
 | 
|---|
 | 1250 |                   fLinkSetsIcon,fSaveState,fTextTools,fCopyDefault,
 | 
|---|
 | 1251 |                   fToolTitles,fLogFile,fRealIdle,fNoSaveState,
 | 
|---|
 | 1252 |                   fSplitStatus,fArcStuffVisible,fUseMCI,fAmAV2,
 | 
|---|
 | 1253 |                   fNoTreeGap,fDummy,fVTreeOpensWPS,fUseQProcStat,
 | 
|---|
 | 1254 |                   fStartMinimized,fStartMaximized,fRemoteBug,fReminimize,
 | 
|---|
 | 1255 |                   fDragndropDlg,fMinOnOpen,fUserComboBox,loadedsetups,
 | 
|---|
 | 1256 |                   fQuickArcFind,fNoRemovableScan,fAutoView,fDataMin,
 | 
|---|
 | 1257 |                   fDataToFore,fDataShowDrives,fDataInclRemote,
 | 
|---|
 | 1258 |                   fExternalArcboxes,fExternalViewer,fExternalCollector,
 | 
|---|
 | 1259 |                   fExternalINIs,fDefaultDeletePerm,fIniExisted,fUseNewViewer,
 | 
|---|
 | 1260 |                   fTileBackwards,fFolderAfterExtract,fUserListSwitches,
 | 
|---|
 | 1261 |                   fGuessType,fAutoAddDirs,fUdirsChanged,fSelectedAlways,
 | 
|---|
 | 1262 |                   fToolbarHelp,fComments,fMoreButtons,fNoSearch,fOtherHelp,
 | 
|---|
 | 1263 |                   fKeepCmdLine,fAmClosing,fSeparateParms,fTopDir,
 | 
|---|
 | 1264 |                   fLookInDir,fSwitchTree,fSwitchTreeOnFocus,fDrivebar,
 | 
|---|
 | 1265 |                   fSwitchTreeExpand,fCollapseFirst,fFilesInTree,fNoDead,
 | 
|---|
 | 1266 |                   fThreadNotes,fOkayMinimize,fRunning,fDullMin,fBlueLED,
 | 
|---|
 | 1267 |                   fViewChild,fShowEnv,fLeaveTree,fAddUtils,fNoFoldMenu,
 | 
|---|
 | 1268 |                   fCustomFileDlg,fSaveMiniCmds,fSaveBigCmds,fNoTileUpdate,
 | 
|---|
 | 1269 |                   fFM2Deletes,fAutoAddAllDirs,fConfirmTarget,fChangeTarget,
 | 
|---|
 | 1270 |                   fFirstTime,fShowTarget,fNoFinger,fDrivebarHelp,fCheckMM;
 | 
|---|
 | 1271 | DATADEF BOOL      detailsladate,detailslatime,detailscrdate,detailscrtime,
 | 
|---|
 | 1272 |                   detailslongname,detailsea,detailssize,detailssubject,
 | 
|---|
 | 1273 |                   detailslwdate,detailslwtime,detailsattr,detailsicon;
 | 
|---|
 | 1274 | DATADEF PID       mypid;
 | 
|---|
 | 1275 | DATADEF INT       driveflags[26],driveserial[26];
 | 
|---|
 | 1276 | DATADEF ULONG     NoBrokenNotify,fwsAnimate,OS2ver[2],DriveLines;
 | 
|---|
 | 1277 | DATADEF HINI      fmprof;
 | 
|---|
 | 1278 | DATADEF HELPINIT  hini;
 | 
|---|
 | 1279 | DATADEF HWND      hwndHelp,LastDir,AboutBox,DirMenu,FileMenu,TreeMenu,
 | 
|---|
 | 1280 |                   ArcMenu,DirCnrMenu,TreeCnrMenu,ArcCnrMenu,
 | 
|---|
 | 1281 |                   CollectorCnrMenu,CollectorFileMenu,CollectorDirMenu,
 | 
|---|
 | 1282 |                   Collector,MainPopupMenu,DataHwnd,AutoMenu,hwndBubble,
 | 
|---|
 | 1283 |                   hwndToolback,MainObjectHwnd;
 | 
|---|
 | 1284 | #ifdef DEFINE_GLOBALS
 | 
|---|
 | 1285 |   #pragma data_seg(GLOBAL2)
 | 
|---|
 | 1286 | #endif
 | 
|---|
 | 1287 | DATADEF CHAR     *DEBUG_STRING,*FM3Str,*FM2Str,*NullStr,*Default,*Settings,
 | 
|---|
 | 1288 |                  *DRM_OS2FILE,*DRM_FM2ARCMEMBER,*DRF_FM2ARCHIVE,
 | 
|---|
 | 1289 |                  *DRMDRFLIST,*DRMDRFOS2FILE,*DRMDRFFM2ARC,
 | 
|---|
 | 1290 |                  *DRM_FM2INIRECORD,*DRF_FM2INI,*SUBJECT,*LONGNAME,
 | 
|---|
| [520] | 1291 |                  *HPFS,*JFS,*CDFS,*FAT32,*HPFS386,*NDFS32,*CBSIFS,*WPProgram,*FM3Folder,*FM3Tools;
 | 
|---|
| [2] | 1292 | DATADEF RGB2      RGBGREY,RGBBLACK;
 | 
|---|
 | 1293 | DATADEF CHAR      archiverbb2[CCHMAXPATH],StopPrinting,profile[CCHMAXPATH];
 | 
|---|
 | 1294 | DATADEF CHAR      appname[12],realappname[12];
 | 
|---|
 | 1295 | DATADEF CHAR      editor[CCHMAXPATH],viewer[CCHMAXPATH],
 | 
|---|
 | 1296 |                   virus[CCHMAXPATH],printer[CCHMAXPATH],
 | 
|---|
 | 1297 |                   compare[CCHMAXPATH],extractpath[CCHMAXPATH],
 | 
|---|
 | 1298 |                   lastextractpath[CCHMAXPATH],lasttoolbox[CCHMAXPATH],
 | 
|---|
 | 1299 |                   HomePath[CCHMAXPATH],SwapperDat[CCHMAXPATH],
 | 
|---|
 | 1300 |                   binview[CCHMAXPATH],bined[CCHMAXPATH],
 | 
|---|
 | 1301 |                   dircompare[CCHMAXPATH],szDefArc[CCHMAXPATH],
 | 
|---|
 | 1302 |                   ftprun[CCHMAXPATH],httprun[CCHMAXPATH],
 | 
|---|
 | 1303 |                   targetdir[CCHMAXPATH];
 | 
|---|
 | 1304 | DATADEF HMODULE   FM3DllHandle,FM3ModHandle;
 | 
|---|
 | 1305 | DATADEF CHAR     *quicktool[50];
 | 
|---|
 | 1306 | DATADEF BOOL      qtloaded;
 | 
|---|
 | 1307 | DATADEF INT       sortFlags,TreesortFlags,CollectorsortFlags;
 | 
|---|
 | 1308 | DATADEF INT       butxsize,butysize;
 | 
|---|
 | 1309 | DATADEF FILE     *LogFileHandle;
 | 
|---|
 | 1310 | DATADEF ULONG     ulCnrType,FilesToGet,AutoviewHeight,TreeWidth,FM3UL;
 | 
|---|
 | 1311 | DATADEF long      prnwidth,prnlength,prntmargin,prnbmargin,prnlmargin,
 | 
|---|
 | 1312 |                   prnrmargin,prnspacing,prntabspaces;
 | 
|---|
 | 1313 | DATADEF BOOL      prnpagenums,prnformat,prnformfeedbefore,prnformfeedafter,
 | 
|---|
 | 1314 |                   prnalt;
 | 
|---|
 | 1315 | DATADEF LINKDIRS *udirhead,*ldirhead;
 | 
|---|
 | 1316 | DATADEF LINKCMDS *cmdhead,*cmdtail;
 | 
|---|
 | 1317 | DATADEF BOOL      cmdloaded;
 | 
|---|
 | 1318 | #ifdef DEFINE_GLOBALS
 | 
|---|
 | 1319 |   #pragma data_seg(GLOBAL3)
 | 
|---|
 | 1320 | #endif
 | 
|---|
 | 1321 | #define MAXNUMSETUPS  100
 | 
|---|
 | 1322 | DATADEF CHAR      lastsetups[MAXNUMSETUPS][13];
 | 
|---|
 | 1323 | DATADEF INT       lastsetup;
 | 
|---|
 | 1324 | DATADEF LONG      standardcolors[16];
 | 
|---|
 | 1325 | 
 | 
|---|
 | 1326 | #ifdef INCL_MMIOOS2
 | 
|---|
 | 1327 | #pragma pack(4)
 | 
|---|
 | 1328 | /* definitions for MMPM/2 imports */
 | 
|---|
 | 1329 | typedef DWORD (APIENTRY MMIOIDENTIFYFILE)(PSZ,PMMIOINFO,PMMFORMATINFO,PFOURCC,DWORD,DWORD);
 | 
|---|
 | 1330 | typedef MMIOIDENTIFYFILE *PMMIOIDENTIFYFILE;
 | 
|---|
 | 1331 | #pragma pack()
 | 
|---|
 | 1332 | #endif
 | 
|---|
 | 1333 | 
 | 
|---|
 | 1334 | #ifdef DEFINE_GLOBALS
 | 
|---|
 | 1335 |   #pragma data_seg(GLOBAL4)
 | 
|---|
 | 1336 | #endif
 | 
|---|
 | 1337 | DATADEF HSWITCH  switches[499];
 | 
|---|
 | 1338 | DATADEF ULONG    numswitches;
 | 
|---|
 | 1339 | 
 | 
|---|
 | 1340 | #define priority_idle()     DosSetPriority(PRTYS_THREAD,PRTYC_IDLETIME,30L,0L)
 | 
|---|
 | 1341 | #define priority_normal()   DosSetPriority(PRTYS_THREAD,PRTYC_REGULAR,0L,0L)
 | 
|---|
 | 1342 | #define priority_tweaked()  DosSetPriority(PRTYS_THREAD,PRTYC_REGULAR,1L,0L)
 | 
|---|
 | 1343 | #define priority_bumped()   DosSetPriority(PRTYS_THREAD,PRTYC_REGULAR,3L,0L)
 | 
|---|
 | 1344 | #define priority_critical() DosSetPriority(PRTYS_THREAD,PRTYC_FOREGROUNDSERVER,2L,0L)
 | 
|---|
 | 1345 | #define priority_max()      DosSetPriority(PRTYS_THREAD,PRTYC_FOREGROUNDSERVER,31L,0L)
 | 
|---|
 | 1346 | #define SysVal(value)       WinQuerySysValue(HWND_DESKTOP, (value))
 | 
|---|
 | 1347 | 
 | 
|---|