78 lines
1.8 KiB
C
78 lines
1.8 KiB
C
/*
|
|
* path.h - Path ADT module description.
|
|
*/
|
|
|
|
|
|
/* Types
|
|
********/
|
|
|
|
/* handles */
|
|
|
|
DECLARE_HANDLE(HPATHLIST);
|
|
DECLARE_STANDARD_TYPES(HPATHLIST);
|
|
|
|
DECLARE_HANDLE(HPATH);
|
|
DECLARE_STANDARD_TYPES(HPATH);
|
|
|
|
/* path results returned by AddPath() */
|
|
|
|
typedef enum _pathresult
|
|
{
|
|
PR_SUCCESS,
|
|
|
|
PR_UNAVAILABLE_VOLUME,
|
|
|
|
PR_OUT_OF_MEMORY,
|
|
|
|
PR_INVALID_PATH
|
|
}
|
|
PATHRESULT;
|
|
DECLARE_STANDARD_TYPES(PATHRESULT);
|
|
|
|
|
|
/* Prototypes
|
|
*************/
|
|
|
|
/* path.c */
|
|
|
|
extern BOOL CreatePathList(DWORD, HWND, PHPATHLIST);
|
|
extern void DestroyPathList(HPATHLIST);
|
|
extern void InvalidatePathListInfo(HPATHLIST);
|
|
extern void ClearPathListInfo(HPATHLIST);
|
|
extern PATHRESULT AddPath(HPATHLIST, LPCTSTR, PHPATH);
|
|
extern BOOL AddChildPath(HPATHLIST, HPATH, LPCTSTR, PHPATH);
|
|
extern void DeletePath(HPATH);
|
|
extern BOOL CopyPath(HPATH, HPATHLIST, PHPATH);
|
|
extern void GetPathString(HPATH, LPTSTR);
|
|
extern void GetPathRootString(HPATH, LPTSTR);
|
|
extern void GetPathSuffixString(HPATH, LPTSTR);
|
|
extern BOOL AllocatePathString(HPATH, LPTSTR *);
|
|
|
|
#ifdef DEBUG
|
|
|
|
extern LPCTSTR DebugGetPathString(HPATH);
|
|
extern ULONG GetPathCount(HPATHLIST);
|
|
|
|
#endif
|
|
|
|
extern BOOL IsPathVolumeAvailable(HPATH);
|
|
extern HVOLUMEID GetPathVolumeID(HPATH);
|
|
extern BOOL MyIsPathOnVolume(LPCTSTR, HPATH);
|
|
extern COMPARISONRESULT ComparePaths(HPATH, HPATH);
|
|
extern COMPARISONRESULT ComparePathVolumes(HPATH, HPATH);
|
|
extern BOOL IsPathPrefix(HPATH, HPATH);
|
|
extern BOOL SubtreesIntersect(HPATH, HPATH);
|
|
extern LPTSTR FindEndOfRootSpec(LPCTSTR, HPATH);
|
|
extern COMPARISONRESULT ComparePointers(PCVOID, PCVOID);
|
|
extern LPTSTR FindChildPathSuffix(HPATH, HPATH, LPTSTR);
|
|
extern TWINRESULT TWINRESULTFromLastError(TWINRESULT);
|
|
extern BOOL IsValidHPATH(HPATH);
|
|
extern BOOL IsValidHVOLUMEID(HVOLUMEID);
|
|
|
|
#if defined(DEBUG) || defined(VSTF)
|
|
|
|
extern BOOL IsValidHPATHLIST(HPATHLIST);
|
|
|
|
#endif
|
|
|