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