Leaked source code of windows server 2003
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.

77 lines
1.9 KiB

  1. /*
  2. * path.h - Path ADT module description.
  3. */
  4. /* Types
  5. ********/
  6. /* handles */
  7. DECLARE_HANDLE(HPATHLIST);
  8. DECLARE_STANDARD_TYPES(HPATHLIST);
  9. DECLARE_HANDLE(HPATH);
  10. DECLARE_STANDARD_TYPES(HPATH);
  11. /* path results returned by AddPath() */
  12. typedef enum _pathresult
  13. {
  14. PR_SUCCESS,
  15. PR_UNAVAILABLE_VOLUME,
  16. PR_OUT_OF_MEMORY,
  17. PR_INVALID_PATH
  18. }
  19. PATHRESULT;
  20. DECLARE_STANDARD_TYPES(PATHRESULT);
  21. /* Prototypes
  22. *************/
  23. /* path.c */
  24. extern BOOL CreatePathList(DWORD, HWND, PHPATHLIST);
  25. extern void DestroyPathList(HPATHLIST);
  26. extern void InvalidatePathListInfo(HPATHLIST);
  27. extern void ClearPathListInfo(HPATHLIST);
  28. extern PATHRESULT AddPath(HPATHLIST, LPCTSTR, PHPATH);
  29. extern BOOL AddChildPath(HPATHLIST, HPATH, LPCTSTR, PHPATH);
  30. extern void DeletePath(HPATH);
  31. extern BOOL CopyPath(HPATH, HPATHLIST, PHPATH);
  32. extern void GetPathString(HPATH, LPTSTR, int);
  33. extern void GetPathRootString(HPATH, LPTSTR, int);
  34. extern void GetPathSuffixString(HPATH, LPTSTR);
  35. extern BOOL AllocatePathString(HPATH, LPTSTR *);
  36. #ifdef DEBUG
  37. extern LPCTSTR DebugGetPathString(HPATH);
  38. extern ULONG GetPathCount(HPATHLIST);
  39. #endif
  40. extern BOOL IsPathVolumeAvailable(HPATH);
  41. extern HVOLUMEID GetPathVolumeID(HPATH);
  42. extern BOOL MyIsPathOnVolume(LPCTSTR, HPATH);
  43. extern COMPARISONRESULT ComparePaths(HPATH, HPATH);
  44. extern COMPARISONRESULT ComparePathVolumes(HPATH, HPATH);
  45. extern BOOL IsPathPrefix(HPATH, HPATH);
  46. extern BOOL SubtreesIntersect(HPATH, HPATH);
  47. extern LPTSTR FindEndOfRootSpec(LPCTSTR, HPATH);
  48. extern COMPARISONRESULT ComparePointers(PCVOID, PCVOID);
  49. extern LPTSTR FindChildPathSuffix(HPATH, HPATH, LPTSTR);
  50. extern TWINRESULT TWINRESULTFromLastError(TWINRESULT);
  51. extern BOOL IsValidHPATH(HPATH);
  52. extern BOOL IsValidHVOLUMEID(HVOLUMEID);
  53. #if defined(DEBUG) || defined(VSTF)
  54. extern BOOL IsValidHPATHLIST(HPATHLIST);
  55. #endif