1 #ifndef _RAR_PATHFN_
2 #define _RAR_PATHFN_
3 
4 char* PointToName(const char *Path);
5 wchar* PointToName(const wchar *Path);
6 char* PointToLastChar(const char *Path);
7 wchar* PointToLastChar(const wchar *Path);
8 char* ConvertPath(const char *SrcPath,char *DestPath);
9 wchar* ConvertPath(const wchar *SrcPath,wchar *DestPath);
10 void SetExt(char *Name,const char *NewExt);
11 void SetExt(wchar *Name,const wchar *NewExt);
12 void SetSFXExt(char *SFXName);
13 void SetSFXExt(wchar *SFXName);
14 char *GetExt(const char *Name);
15 wchar *GetExt(const wchar *Name);
16 bool CmpExt(const char *Name,const char *Ext);
17 bool CmpExt(const wchar *Name,const wchar *Ext);
18 bool IsWildcard(const char *Str,const wchar *StrW=NULL);
19 bool IsPathDiv(int Ch);
20 bool IsDriveDiv(int Ch);
21 int GetPathDisk(const char *Path);
22 int GetPathDisk(const wchar *Path);
23 void AddEndSlash(char *Path);
24 void AddEndSlash(wchar *Path);
25 void GetFilePath(const char *FullName,char *Path,int MaxLength);
26 void GetFilePath(const wchar *FullName,wchar *Path,int MaxLength);
27 void RemoveNameFromPath(char *Path);
28 void RemoveNameFromPath(wchar *Path);
29 void GetAppDataPath(char *Path);
30 void GetAppDataPath(wchar *Path);
31 void GetRarDataPath(char *Path);
32 void GetRarDataPath(wchar *Path);
33 bool EnumConfigPaths(wchar *Path,int Number);
34 bool EnumConfigPaths(char *Path,int Number);
35 void GetConfigName(const char *Name,char *FullName,bool CheckExist);
36 void GetConfigName(const wchar *Name,wchar *FullName,bool CheckExist);
37 char* GetVolNumPart(char *ArcName);
38 wchar* GetVolNumPart(wchar *ArcName);
39 void NextVolumeName(char *ArcName,wchar *ArcNameW,uint MaxLength,bool OldNumbering);
40 bool IsNameUsable(const char *Name);
41 bool IsNameUsable(const wchar *Name);
42 void MakeNameUsable(char *Name,bool Extended);
43 void MakeNameUsable(wchar *Name,bool Extended);
44 char* UnixSlashToDos(char *SrcName,char *DestName=NULL,uint MaxLength=NM);
45 char* DosSlashToUnix(char *SrcName,char *DestName=NULL,uint MaxLength=NM);
46 wchar* UnixSlashToDos(wchar *SrcName,wchar *DestName=NULL,uint MaxLength=NM);
47 wchar* DosSlashToUnix(wchar *SrcName,wchar *DestName=NULL,uint MaxLength=NM);
48 void ConvertNameToFull(const char *Src,char *Dest);
49 void ConvertNameToFull(const wchar *Src,wchar *Dest);
50 bool IsFullPath(const char *Path);
51 bool IsFullPath(const wchar *Path);
52 bool IsDiskLetter(const char *Path);
53 bool IsDiskLetter(const wchar *Path);
54 void GetPathRoot(const char *Path,char *Root);
55 void GetPathRoot(const wchar *Path,wchar *Root);
56 int ParseVersionFileName(char *Name,wchar *NameW,bool Truncate);
57 char* VolNameToFirstName(const char *VolName,char *FirstName,bool NewNumbering);
58 wchar* VolNameToFirstName(const wchar *VolName,wchar *FirstName,bool NewNumbering);
59 wchar* GetWideName(const char *Name,const wchar *NameW,wchar *DestW,size_t DestSize);
60 char* GetAsciiName(const wchar *NameW,char *Name,size_t DestSize);
61 
62 #ifndef SFX_MODULE
63 void GenerateArchiveName(char *ArcName,wchar *ArcNameW,size_t MaxSize,char *GenerateMask,bool Archiving);
64 #endif
65 
66 #endif
67