summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2006-11-06 14:24:18 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2006-11-06 14:24:18 +0000
commit0b22795e26ee09de14f6ac23219adeda12f2fd5b (patch)
treec1ccbda32170de48111a4b75e1f723ba953096bf /firmware/export
parente543901777843a1734474aba7aa5d96cf61708ab (diff)
downloadrockbox-0b22795e26ee09de14f6ac23219adeda12f2fd5b.zip
rockbox-0b22795e26ee09de14f6ac23219adeda12f2fd5b.tar.gz
rockbox-0b22795e26ee09de14f6ac23219adeda12f2fd5b.tar.bz2
rockbox-0b22795e26ee09de14f6ac23219adeda12f2fd5b.tar.xz
adds ata_idle_notify system which allows callbacks in apps/ to be called
when the hard disk is idle but spinning, and just before shutting down. on SWCODEC targets with > 8MB RAM the playback engine will try to refill the buffer if it is less than 75% full while the disk is spinning (temporarily disabled on the nano) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11451 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/ata_idle_notify.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/firmware/export/ata_idle_notify.h b/firmware/export/ata_idle_notify.h
new file mode 100644
index 0000000..f5f2a25
--- /dev/null
+++ b/firmware/export/ata_idle_notify.h
@@ -0,0 +1,41 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2006 Jonathan Gordon
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+#ifndef __ATACALLBACK_H__
+#define __ATACALLBACK_H__
+
+#include <stdbool.h>
+#define USING_ATA_CALLBACK !defined(SIMULATOR) \
+ && !defined(HAVE_FLASH_DISK) \
+ && !defined(HAVE_MMC)
+
+#define MAX_ATA_CALLBACKS 5
+typedef bool (*ata_idle_notify)(void);
+
+extern bool register_ata_idle_func(ata_idle_notify function);
+#if USING_ATA_CALLBACK
+extern void ata_idle_notify_init(void);
+extern void unregister_ata_idle_func(ata_idle_notify function);
+extern bool call_ata_idle_notifys(void);
+#else
+#define unregister_ata_idle_func(f)
+#define call_ata_idle_notifys()
+#define ata_idle_notify_init()
+#endif
+
+#endif /* __ATACALLBACK_H__ */