6 * DEFINITIONS ________________________________________________________________
10 #define chDRIVE_A TEXT('A')
11 #define chDRIVE_B TEXT('B')
12 #define chDRIVE_C TEXT('C')
13 #define chDRIVE_D TEXT('D')
14 #define chDRIVE_E TEXT('E')
15 #define chDRIVE_F TEXT('F')
16 #define chDRIVE_G TEXT('G')
17 #define chDRIVE_H TEXT('H')
18 #define chDRIVE_I TEXT('I')
19 #define chDRIVE_J TEXT('J')
20 #define chDRIVE_K TEXT('K')
21 #define chDRIVE_L TEXT('L')
22 #define chDRIVE_M TEXT('M')
23 #define chDRIVE_N TEXT('N')
24 #define chDRIVE_O TEXT('O')
25 #define chDRIVE_P TEXT('P')
26 #define chDRIVE_Q TEXT('Q')
27 #define chDRIVE_R TEXT('R')
28 #define chDRIVE_S TEXT('S')
29 #define chDRIVE_T TEXT('T')
30 #define chDRIVE_U TEXT('U')
31 #define chDRIVE_V TEXT('V')
32 #define chDRIVE_W TEXT('W')
33 #define chDRIVE_X TEXT('X')
34 #define chDRIVE_Y TEXT('Y')
35 #define chDRIVE_Z TEXT('Z')
39 TCHAR chDrive; // chDRIVE_A through chDRIVE_Z
40 TCHAR szMapping[ MAX_PATH ];
41 TCHAR szSubmount[ MAX_PATH ];
44 } DRIVEMAP, *PDRIVEMAP;
48 TCHAR szSubmount[ MAX_PATH ];
49 TCHAR szMapping[ MAX_PATH ];
51 } SUBMOUNT, *PSUBMOUNT;
55 DRIVEMAP aDriveMap[26]; // Drive[0]=A, Drive[1]=B, etc
58 } DRIVEMAPLIST, *PDRIVEMAPLIST;
62 * PROTOTYPES _________________________________________________________________
66 BOOL IsValidSubmountName (LPTSTR pszSubmount);
67 void QueryDriveMapList (PDRIVEMAPLIST pList);
68 void WriteDriveMappings (PDRIVEMAPLIST pList);
69 void FreeDriveMapList (PDRIVEMAPLIST pList);
70 BOOL ActivateDriveMap (TCHAR chDrive, LPTSTR pszMapping, LPTSTR pszSubmountReq, BOOL fPersistent, DWORD *pdwStatus = NULL);
71 BOOL InactivateDriveMap (TCHAR chDrive, DWORD *pdwStatus = NULL);
72 void AddSubMount (LPTSTR pszSubmount, LPTSTR pszMapping);
73 void RemoveSubMount (LPTSTR pszSubmount);
74 void AdjustAfsPath (LPTSTR pszTarget, LPCTSTR pszSource, BOOL fWantAFS, BOOL fWantForwardSlashes);
75 BOOL GetDriveSubmount (TCHAR chDrive, LPTSTR pszSubmountNow);
76 BOOL SubmountToPath (PDRIVEMAPLIST pList, LPTSTR pszPath, LPTSTR pszSubmount, BOOL fMarkInUse);
77 BOOL PathToSubmount (LPTSTR pszSubmount, LPTSTR pszMapping, LPTSTR pszSubmountReq, ULONG *pStatus);