Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.7 KiB

  1. /****************************************************************************/
  2. /* */
  3. /* WFCOPY.H - */
  4. /* */
  5. /* Include for WINFILE's File Copying Routines */
  6. /* */
  7. /****************************************************************************/
  8. #define FIND_DIRS 0x0010
  9. #define CNF_DIR_EXISTS 0x0001
  10. #define CNF_ISDIRECTORY 0x0002
  11. #define BUILD_TOPLEVEL 0
  12. #define BUILD_RECURSING 1
  13. #define BUILD_NORECURSE 2
  14. #define FUNC_MOVE 0x0001
  15. #define FUNC_COPY 0x0002
  16. #define FUNC_DELETE 0x0003
  17. #define FUNC_RENAME 0x0004
  18. /* These should not be used in the move/copy code;
  19. * only for IsTheDiskReallyThere */
  20. #define FUNC_SETDRIVE 0x0005
  21. #define FUNC_EXPAND 0x0006
  22. #define FUNC_LABEL 0x0007
  23. #define OPER_MASK 0x0F00
  24. #define OPER_MKDIR 0x0100
  25. #define OPER_RMDIR 0x0200
  26. #define OPER_DOFILE 0x0300
  27. #define OPER_ERROR 0x0400
  28. #define CCHPATHMAX 260
  29. #define MAXDIRDEPTH 20 // arbitrary limit
  30. #define COPYMAXBUFFERSIZE 0xFFFF
  31. #define COPYMINBUFFERSIZE 4096 /* Minimum buffer size for FileCopy */
  32. #define COPYMAXFILES 10 /* Maximum number of source files to open */
  33. #define COPYMINFILES 1 /* Minimum number of source files to open */
  34. #define CARRY_FLAG 1 /* Carry flag mask in status word */
  35. #define ATTR_ATTRIBS 0x200 /* Flag indicating we have file attributes */
  36. #define ATTR_COPIED 0x400 /* we have copied this file */
  37. #define ATTR_DELSRC 0x800 /* delete the source when done */
  38. typedef struct TAGCopyQueue {
  39. CHAR szSource[MAXPATHLEN];
  40. CHAR szDest[MAXPATHLEN];
  41. INT hSource;
  42. INT hDest;
  43. FILETIME ftLastWriteTime;
  44. DWORD wAttrib;
  45. } COPYQUEUEENTRY, *PCOPYQUEUE, *LPCOPYQUEUE;
  46. typedef struct _copyroot
  47. {
  48. BOOL fRecurse;
  49. WORD cDepth;
  50. LPSTR pSource;
  51. LPSTR pRoot;
  52. CHAR cIsDiskThereCheck[26];
  53. CHAR sz[MAXPATHLEN];
  54. CHAR szDest[MAXPATHLEN];
  55. LFNDTA rgDTA[MAXDIRDEPTH];
  56. } COPYROOT, *PCOPYROOT;
  57. typedef struct _getnextqueue
  58. {
  59. char szSource[MAXPATHLEN];
  60. char szDest[MAXPATHLEN];
  61. int nOper;
  62. LFNDTA SourceDTA;
  63. } GETNEXTQUEUE, *PGETNEXTQUEUE, *LPGETNEXTQUEUE;
  64. /* WFFILE.ASM */
  65. BOOL IsSerialDevice(INT hFile);
  66. BOOL IsDirectory(LPSTR szPath);
  67. WORD APIENTRY FileMove(LPSTR, LPSTR);
  68. WORD APIENTRY FileRemove(LPSTR);
  69. WORD APIENTRY MKDir(LPSTR);
  70. WORD APIENTRY RMDir(LPSTR);
  71. BOOL APIENTRY WFSetAttr(LPSTR lpFile, DWORD dwAttr);
  72. VOID APIENTRY QualifyPath(LPSTR);
  73. VOID APIENTRY AppendToPath(LPSTR,LPSTR);
  74. VOID APIENTRY RemoveLast(LPSTR pFile);
  75. VOID APIENTRY Notify(HWND,WORD,PSTR,PSTR);
  76. extern BOOL bCopyReport;