vbagx/source/filebrowser.h

78 lines
1.8 KiB
C
Raw Normal View History

2009-04-07 04:49:56 +02:00
/****************************************************************************
* Visual Boy Advance GX
*
* Tantric September 2008
*
2009-04-08 09:08:12 +02:00
* filebrowser.h
2009-04-07 04:49:56 +02:00
*
* Generic file routines - reading, writing, browsing
****************************************************************************/
2009-04-08 09:08:12 +02:00
#ifndef _FILEBROWSER_H_
#define _FILEBROWSER_H_
2009-04-07 04:49:56 +02:00
#include <unistd.h>
2009-04-08 09:08:12 +02:00
#include <gccore.h>
2009-04-07 04:49:56 +02:00
#define MAXJOLIET 255
2010-06-23 19:22:02 +02:00
#ifdef HW_DOL
#define MAX_BROWSER_SIZE 1000
#else
#define MAX_BROWSER_SIZE 3000
#endif
2009-04-07 04:49:56 +02:00
typedef struct
{
2011-03-20 18:19:09 +01:00
char dir[MAXPATHLEN + 1]; // directory path of browserList
2009-04-07 04:49:56 +02:00
int numEntries; // # of entries in browserList
int selIndex; // currently selected index of browserList
int pageIndex; // starting index of browserList page display
2009-10-02 00:42:02 +02:00
int size; // # of entries browerList has space allocated to store
2009-04-07 04:49:56 +02:00
} BROWSERINFO;
typedef struct
{
2009-10-03 20:44:23 +02:00
size_t length; // file length
2009-04-08 09:08:12 +02:00
time_t mtime; // file modified time
2009-10-03 20:44:23 +02:00
int isdir; // 0 - file, 1 - directory
2009-04-07 04:49:56 +02:00
char filename[MAXJOLIET + 1]; // full filename
char displayname[MAXJOLIET + 1]; // name for browser display
2009-10-03 21:47:35 +02:00
int filenum; // file # (for 7z support)
2009-10-02 00:42:02 +02:00
int icon; // icon to display
2009-04-07 04:49:56 +02:00
} BROWSERENTRY;
extern BROWSERINFO browser;
extern BROWSERENTRY * browserList;
2009-04-08 09:08:12 +02:00
extern char ROMFilename[512];
extern bool ROMLoaded;
extern bool loadingFile;
2009-04-07 04:49:56 +02:00
extern char szpath[MAXPATHLEN];
extern bool inSz;
2009-10-02 00:42:02 +02:00
enum
{
ICON_NONE,
ICON_FOLDER,
ICON_SD,
ICON_USB,
ICON_DVD,
ICON_SMB
};
bool MakeFilePath(char filepath[], int type, char * filename = NULL, int filenum = -2);
int UpdateDirName();
2009-04-08 09:08:12 +02:00
int OpenGameList();
2009-04-07 04:49:56 +02:00
int autoLoadMethod();
int autoSaveMethod(bool silent);
int FileSortCallback(const void *f1, const void *f2);
void StripExt(char* returnstring, char * inputstring);
2009-04-08 09:08:12 +02:00
bool IsSz();
2009-04-07 04:49:56 +02:00
void ResetBrowser();
2009-10-02 00:42:02 +02:00
bool AddBrowserEntry();
bool IsDeviceRoot(char * path);
int BrowserLoadSz();
int BrowserChangeFolder();
int BrowserLoadFile();
2009-04-07 04:49:56 +02:00
#endif