#define ROM_NAME_LEN 23
-#define STREAM FILE *
-#define READ_STREAM(p,l,s) fread (p,1,l,s)
-#define WRITE_STREAM(p,l,s) fwrite (p,1,l,s)
-#define OPEN_STREAM(f,m) fopen (f,m)
-#define CLOSE_STREAM(s) fclose (s)
-#define SEEK_STREAM(p,r,s) fseek(s,p,r)
-#define FROM_CURRENT SEEK_CUR
-
/* SNES screen width and height */
#define SNES_WIDTH 256
#define SNES_HEIGHT 224
void S9xLoadSDD1Data ();
END_EXTERN_C
+START_EXTERN_C
enum {
PAUSE_NETPLAY_CONNECT = (1 << 0),
PAUSE_TOGGLE_FULL_SCREEN = (1 << 1),
};
void S9xSetPause (uint32 mask);
void S9xClearPause (uint32 mask);
+END_EXTERN_C
+
+START_EXTERN_C
+enum FileTypes {
+ FILE_ROM = 0,
+ FILE_SRAM,
+ /** The default freeze filename (base.frz.gz) */
+ FILE_FREEZE,
+ FILE_CHT,
+ FILE_IPS,
+ FILE_SCREENSHOT,
+ FILE_SDD1_DAT
+};
+/** This routine allows to get path to files whose name depends on the basename
+ * of the current ROM.
+ * @param file see enum FileTypes.
+ * @return wanted filepath. Do not free the returned string.
+ */
+const char *S9xGetFilename(enum FileTypes file);
+/** Returns the path to freeze file for the selected quick save slot.
+ * @param slot slot number
+ * @return wanted filepath. Do not free the returned string.
+ */
+const char *S9xGetQuickSaveFilename(unsigned int slot);
+END_EXTERN_C
#endif