1 #ifndef __PFILESEL_H 2 #define __PFILESEL_H 3 4 #include <stdio.h> /* FILE * */ 5 6 struct ocpfilehandle_t; 7 struct moduleinfostruct; 8 extern int fsGetNextFile (struct moduleinfostruct *info, struct ocpfilehandle_t **filehandle); /* info comes from external buffer */ 9 extern int fsGetPrevFile (struct moduleinfostruct *info, struct ocpfilehandle_t **filehandle); /* info comes from external buffer */ 10 extern int fsFilesLeft(void); 11 extern signed int fsFileSelect(void); 12 /* extern char fsAddFiles(const char *); use the playlist instead..*/ 13 extern int fsPreInit(void); 14 extern int fsLateInit(void); 15 extern int fsInit(void); 16 extern void fsClose(void); 17 18 extern int fsFPS; /* see stuff/framelock.c */ 19 extern int fsFPSCurrent; /* see stuff/framelock.c */ 20 extern int fsListScramble; 21 extern int fsListRemove; 22 extern int fsLoopMods; 23 extern int fsScanNames; 24 extern int fsScanArcs; 25 extern int fsScanInArc; 26 extern int fsScanMIF; 27 extern int fsScrType; 28 extern int fsEditWin; 29 extern int fsColorTypes; 30 extern int fsInfoMode; 31 extern int fsPutArcs; 32 extern int fsWriteModInfo; 33 extern const char *fsTypeNames[256]; /* type description */ 34 35 extern void fsRegisterExt(const char *ext); 36 extern int fsIsModule(const char *ext); 37 38 struct preprocregstruct 39 { 40 void (*Preprocess)(struct moduleinfostruct *info, struct ocpfilehandle_t **f); 41 struct preprocregstruct *next; 42 }; 43 44 #define PREPROCREGSTRUCT_TAIL ,0 45 46 typedef enum { 47 interfaceReturnContinue=0, 48 interfaceReturnNextAuto=1, 49 interfaceReturnQuit=2, 50 interfaceReturnNextManuel=3, 51 interfaceReturnPrevManuel=6, 52 interfaceReturnCallFs=4, 53 interfaceReturnDosShell=5 54 } interfaceReturnEnum; 55 56 struct interfacestruct 57 { 58 int (*Init)(struct moduleinfostruct *info, struct ocpfilehandle_t *f); 59 interfaceReturnEnum (*Run)(void); 60 void (*Close)(void); 61 const char *name; 62 struct interfacestruct *next; 63 }; 64 #define INTERFACESTRUCT_TAIL ,0 65 66 67 extern void plRegisterInterface(struct interfacestruct *interface); 68 extern void plUnregisterInterface(struct interfacestruct *interface); 69 extern struct interfacestruct *plFindInterface(const char *name); 70 extern struct preprocregstruct *plPreprocess; 71 extern void plRegisterPreprocess(struct preprocregstruct *r); 72 extern void plUnregisterPreprocess(struct preprocregstruct *r); 73 74 #define RD_PUTSUBS 1 75 #define RD_ARCSCAN 2 76 #define RD_SUBNOSYMLINK 4 77 #define RD_PUTDRIVES 8 78 #define RD_PUTRSUBS 16 79 80 #if 0 81 extern char mifMemRead(const char *name, unsigned short size, char *ptr); 82 #endif 83 84 int fsMatchFileName12(const char *a, const char *b); 85 86 extern void fsDraw(void); /* used by medialib to have backdrop for the dialogs they display on the screen */ 87 extern void fsSetup(void); 88 extern void fsRescanDir(void); 89 90 struct modlist; 91 struct ocpdir_t; 92 extern int fsReadDir(struct modlist *ml, struct ocpdir_t *dir, const char *mask, unsigned long opt); 93 extern void fsForceRemove(const uint32_t dirdbref); 94 95 #endif 96