summaryrefslogtreecommitdiffstats
path: root/firmware/target/arm/imx31/gigabeat-s/system-target.h
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2011-12-31 18:44:22 +0000
committerRafaël Carré <rafael.carre@gmail.com>2011-12-31 18:44:22 +0000
commit4d5dff4eae3d6abffc7384e001029825ecde416e (patch)
tree512305edd63622ce993e178ee1a08a11b4d457b7 /firmware/target/arm/imx31/gigabeat-s/system-target.h
parenta117e770a5e658017255f0cc7ec07d7e6884f33d (diff)
downloadrockbox-4d5dff4eae3d6abffc7384e001029825ecde416e.tar.gz
rockbox-4d5dff4eae3d6abffc7384e001029825ecde416e.zip
gigabeats usb-target: merge in system-target.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31493 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/system-target.h')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/system-target.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-target.h b/firmware/target/arm/imx31/gigabeat-s/system-target.h
index a8f7922dd5..533b2a1bd3 100644
--- a/firmware/target/arm/imx31/gigabeat-s/system-target.h
+++ b/firmware/target/arm/imx31/gigabeat-s/system-target.h
@@ -85,4 +85,19 @@ struct ARM_REGS {
void dumpregs(void);
+void usb_connect_event(void);
+
+/** Sector read/write filters **/
+
+/* Filter some things in the MBR - see usb-gigabeat-s.c */
+void usb_fix_mbr(unsigned char *mbr);
+#define USBSTOR_READ_SECTORS_FILTER() \
+ ({ if (cur_cmd.sector == 0) \
+ usb_fix_mbr(cur_cmd.data[cur_cmd.data_select]); \
+ 0; })
+
+/* Disallow MBR writes entirely since it was "fixed" in usb_fix_mbr */
+#define USBSTOR_WRITE_SECTORS_FILTER() \
+ ({ cur_cmd.sector != 0 ? 0 : -1; })
+
#endif /* SYSTEM_TARGET_H */