--- hatari/src/includes/file.h 2019/04/01 07:09:16 1.1 +++ hatari/src/includes/file.h 2019/04/01 07:15:30 1.1.1.12 @@ -1,37 +1,36 @@ /* - Hatari + Hatari - file.h + + This file is distributed under the GNU Public License, version 2 or at + your option any later version. Read the file gpl.txt for details. */ -/* File types */ -enum { - FILEFILTER_DISCFILES, - FILEFILTER_ALLFILES, - FILEFILTER_TOSROM, - FILEFILTER_MAPFILE, - FILEFILTER_YMFILE, - FILEFILTER_MEMORYFILE, -}; +#ifndef HATARI_FILE_H +#define HATARI_FILE_H -extern void File_Init(void); -extern BOOL File_OpenDlg(/*HWND hWnd,*/ char *pFullFileName,int Drive); -//extern BOOL File_OpenDlg_NoExtraButtons(HWND hWnd, char *pFullFileName); -//extern BOOL File_OpenBrowseDlg(HWND hWnd, char *pFullFileName,BOOL bTosROM,BOOL bFileMustExist); -extern BOOL File_OpenSelectDlg(/*HWND hWnd,*/ char *pFullFileName,int FileFilter,BOOL bFileMustExist,BOOL bSaving); extern void File_CleanFileName(char *pszFileName); extern void File_AddSlashToEndFileName(char *pszFileName); -extern BOOL File_DoesFileExtensionMatch(char *pszFileName, char *pszExtension); -extern BOOL File_IsRootFileName(char *pszFileName); -extern char *File_RemoveFileNameDrive(char *pszFileName); -extern char *File_GetFileNameDrive(char *pszFileName); -extern BOOL File_DoesFileNameEndWithSlash(char *pszFileName); -extern void File_RemoveFileNameTrailingSlashes(char *pszFileName); -extern void File_GetDirectoryString(char *pszFileName, char *pszDirName); -extern BOOL File_FileNameIsMSA(char *pszFileName); -extern BOOL File_FileNameIsST(char *pszFileName); -extern void *File_Read(char *pszFileName, void *pAddress, long *pFileSize, char *ppszExts[]); -extern BOOL File_Save(/*HWND hWnd,*/char *pszFileName, void *pAddress,long Size,BOOL bQueryOverwrite); -extern int File_Length(char *pszFileName); -extern BOOL File_Exists(char *pszFileName); -extern BOOL File_Delete(char *pszFileName); -extern BOOL File_QueryOverwrite(/*HWND hWnd,*/char *pszFileName); -extern BOOL File_FindPossibleExtFileName(char *pszFileName,char *ppszExts[]); +extern bool File_DoesFileExtensionMatch(const char *pszFileName, const char *pszExtension); +extern const char *File_RemoveFileNameDrive(const char *pszFileName); +extern bool File_DirExists(const char *path); +extern bool File_DoesFileNameEndWithSlash(char *pszFileName); +extern Uint8 *File_Read(const char *pszFileName, long *pFileSize, const char * const ppszExts[]); +extern bool File_Save(const char *pszFileName, const Uint8 *pAddress, size_t Size, bool bQueryOverwrite); +extern int File_Length(const char *pszFileName); +extern bool File_Exists(const char *pszFileName); +extern bool File_DirectoryExists(const char *psDirName); +extern bool File_QueryOverwrite(const char *pszFileName); +extern char* File_FindPossibleExtFileName(const char *pszFileName,const char * const ppszExts[]); +extern void File_SplitPath(const char *pSrcFileName, char *pDir, char *pName, char *Ext); +extern char* File_MakePath(const char *pDir, const char *pName, const char *pExt); +extern void File_ShrinkName(char *pDestFileName, const char *pSrcFileName, int maxlen); +extern FILE *File_Open(const char *path, const char *mode); +extern FILE *File_Close(FILE *fp); +extern bool File_InputAvailable(FILE *fp); +extern void File_MakeAbsoluteSpecialName(char *pszFileName); +extern void File_MakeAbsoluteName(char *pszFileName); +extern void File_MakeValidPathName(char *pPathName); +extern void File_PathShorten(char *path, int dirs); +extern void File_HandleDotDirs(char *path); + +#endif /* HATARI_FILE_H */