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