home *** CD-ROM | disk | FTP | other *** search
/ CD Direkt 1995 #4-#5 / CDD_05_95.ISO / cdd / winanw / fddlls / fddlls.h < prev    next >
C/C++ Source or Header  |  1994-09-12  |  6KB  |  192 lines

  1. //===========================================================
  2. // FDDLLS.H -- Header File 
  3. // Copyright (c) 1994 Douglas Boling
  4. //===========================================================
  5. // Equates used by program
  6. #define MAXCOUNT          16384
  7. #define MAXFNAMELEN       256
  8. #define FUNCTYPES         3
  9.  
  10. #define DOSERROFFSET      16
  11. #define ERR_CANCELED      -1
  12. #define ERR_OUTOFMEM      -2
  13. #define ERR_TOOMANYFILES  -3
  14. #define ERR_TOODEEP       -4
  15. #define ERR_DISKFULL      -5
  16. #define ERR_NAMETOOLONG   -6
  17. #define ERR_BADNAME       -7 
  18. #define ERR_BADSIZE       -8 
  19. #define ERR_BADDATE       -9 
  20. #define ERR_NOOPENEXE    -10
  21. #define ERR_BADSETUP     -11
  22.  
  23. #define ATTR_DUP          0x40
  24. #define ATTR_DELETED      0x80
  25.  
  26. #define MYMSG_SCAN        WM_USER+10
  27. //-----------------------------------------------------------
  28. // Generic defines and data types
  29. //-----------------------------------------------------------
  30. #define WIN16     TRUE
  31.  
  32. #define INT       int
  33. #define UINT      WORD
  34. #define APIENTRY  PASCAL
  35. #define WNDPROC   FARPROC
  36.  
  37. typedef UINT  *PUINT;
  38. typedef UINT far *LPUINT;
  39.  
  40. struct decodeUINT {                         // structure associates
  41.     UINT Code;                              // messages 
  42.     LONG (*Fxn)(HWND, UINT, UINT, LONG);    // with a function
  43. }; 
  44. struct decodeCMD {                          // structure associates
  45.     UINT Code;                              // menu IDs with a 
  46.     LONG (*Fxn)(HWND, UINT, HWND, UINT);    // function
  47. };
  48. //
  49. // Function prototypes used by generic template
  50. //
  51. INT  APIENTRY WinMain(HANDLE, HANDLE, LPSTR, INT);
  52. LONG CALLBACK MainWndProc(HWND, UINT, UINT, LONG);
  53.  
  54. INT  InitApp(HANDLE);
  55. INT  InitInstance(HANDLE, LPSTR, INT);
  56. INT  TermInstance(HANDLE, INT);
  57. INT  MyDisplayDialog (HINSTANCE, LPCSTR, HWND, WNDPROC, LPARAM);
  58. BOOL MyWritePrivateProfileInt (char *, char *, int, int, char *);
  59. WNDPROC MySubClassWindow (HWND, WNDPROC);
  60. INT MyCopyFile (char *, char *);
  61. //
  62. // Data types needed for program
  63. //
  64. typedef struct {
  65.     UINT selNext;
  66.     UINT usEnd;
  67.     UINT usSize;
  68. } BUFFHDR;
  69. typedef BUFFHDR far *LPBUFFHDR;
  70.  
  71. typedef struct {
  72.     LPVOID lpParent;
  73.     LONG lUseCnt;
  74.     INT sType;
  75.     UINT usChildCnt;
  76.     UINT usBadCnt;
  77.     char szModName[14];
  78.     BYTE ucAttrib;                           // The remainder of this structure
  79.     UINT usTime;                             // must match the C file search 
  80.     UINT usDate;                             // structure.
  81.     LONG lSize;
  82.     char szName[13];
  83. } MYDIRENTRY;       
  84. typedef MYDIRENTRY far * LPMYDIRENTRY;
  85. typedef LPMYDIRENTRY huge * LPLPMYDIRENTRY;
  86.  
  87. typedef DWORD huge *HPDWORD;
  88.  
  89. typedef struct find_t FIND_T;
  90. typedef struct DOSERROR DOSERR;
  91. //
  92. // Program specific prototypes
  93. //
  94. // Dialog functions
  95. BOOL CALLBACK AboutDlgProc (HWND, UINT, UINT, LONG);
  96. BOOL CALLBACK ScanDlgProc (HWND, UINT, UINT, LONG);
  97. BOOL CALLBACK SelDisksDlgProc (HWND, UINT, UINT, LONG);
  98. BOOL CALLBACK FileInfoDlgProc (HWND, UINT, UINT, LONG);
  99. // Message handler functions
  100. LONG DoCreateMain (HWND, UINT, UINT, LONG);
  101. LONG DoInitMenuMain (HWND, UINT, UINT, LONG);
  102. LONG DoSizeMain (HWND, UINT, UINT, LONG);
  103. LONG DoPaintMain (HWND, UINT, UINT, LONG);
  104. LONG DoSetFocusMain (HWND, UINT, UINT, LONG);
  105. LONG DoDrawItemMain (HWND, UINT, UINT, LONG);
  106. LONG DoMeasureItemMain (HWND, UINT, UINT, LONG);
  107. LONG DoCompareItemMain (HWND, UINT, UINT, LONG);
  108. LONG DoCloseMain (HWND, UINT, UINT, LONG);
  109. LONG DoDestroyMain (HWND, UINT, UINT, LONG);
  110. LONG DoMyMsgScanMain (HWND, UINT, UINT, LONG);
  111. LONG DoCommandMain (HWND, UINT, UINT, LONG);
  112. // Control function Prototypes
  113. LONG DoMainCtlFList (HWND, UINT, HWND, UINT);
  114. LONG DoMainMenuScan (HWND, UINT, HWND, UINT);
  115. LONG DoMainMenuSelDisks (HWND, UINT, HWND, UINT);
  116. LONG DoMainMenuStop (HWND, UINT, HWND, UINT);
  117. LONG DoMainMenuOpen (HWND, UINT, HWND, UINT);
  118. LONG DoMainMenuExit (HWND, UINT, HWND, UINT);
  119. LONG DoMainMenuShow (HWND, UINT, HWND, UINT);
  120. LONG DoMainMenuShowPath (HWND, UINT, HWND, UINT);
  121. LONG DoMainMenuSort (HWND, UINT, HWND, UINT);
  122. LONG DoMainMenuAbout (HWND, UINT, HWND, UINT);
  123. // Utility function prototypes
  124. INT ChkFile (UINT, BOOL);
  125. INT CheckAllFiles (HWND);
  126. INT FreeBuffer (UINT);
  127. void Date2asc (UINT, UINT, char *);
  128. void Attr2asc (BYTE, char *);
  129. INT CreatePath (LPMYDIRENTRY, char *, INT);
  130. void DisplayCurrStatus (HWND);
  131. BOOL MyYield (void);
  132. INT ScanDisk (HWND, LPMYDIRENTRY, char);
  133. INT ScanMachine (HWND, INT, INT *);
  134. void FillLB (HWND);
  135. void PrintError (HWND, INT);
  136. //
  137. // Profile String Names
  138. //
  139. #define     PRO_XPOS      "WinPosX"
  140. #define     PRO_YPOS      "WinPosY"
  141. #define     PRO_XSIZE     "WinSizeX"
  142. #define     PRO_YSIZE     "WinSizeY"
  143. //
  144. // Resource Identifiers
  145. //
  146. #define     MENU_VIEW        2
  147.  
  148. #define     IDD_FLIST        100
  149.  
  150. #define     IDM_SCAN         200
  151. #define     IDM_SELDISKS     201
  152. #define     IDM_STOP         202
  153. #define     IDM_OPEN         203
  154. #define     IDM_EXIT         204
  155.  
  156. #define     IDM_SHOWBOTH     221
  157. #define     IDM_SHOWEXES     222
  158. #define     IDM_SHOWDLLS     223
  159. #define     IDM_SHOWPATH     224
  160.  
  161. #define     IDM_SORTNAME     230     //Keep sort IDs in this order
  162. #define     IDM_SORTEXTS     231
  163. #define     IDM_SORTPATH     232
  164. #define     IDM_SORTMOD      233
  165. #define     IDM_SORTREFS     234
  166.  
  167. #define     IDM_ABOUT         260
  168.  
  169. #define     IDD_TEXT         301
  170. #define     IDD_SELDISKS     302
  171.  
  172. #define     IDD_DRVLIST      401
  173. #define     IDD_SCAN         402
  174.  
  175. #define     IDD_IFILENAME    500
  176. #define     IDD_IFILEPATH    501
  177. #define     IDD_IFILESIZE    502
  178. #define     IDD_IFILEDATE    503
  179. #define     IDD_IFILEATTRS   504
  180. #define     IDD_IFILEMODNAME 505
  181. #define     IDD_IFILEREFS    506
  182. #define     IDD_IFILEDEP     507
  183. #define     IDD_IFILEBACK    508
  184. #define     IDD_IFILECA      509
  185.  
  186. #define     IDD_PROGSTR      600
  187. #define     IDD_COPYRIGHT    601
  188. #define     IDD_COPYDATE     602
  189.  
  190.  
  191.  
  192.