summaryrefslogtreecommitdiffstats
path: root/bootloader/common.h
diff options
context:
space:
mode:
authorBarry Wardell <rockbox@barrywardell.net>2007-01-28 18:42:11 +0000
committerBarry Wardell <rockbox@barrywardell.net>2007-01-28 18:42:11 +0000
commit84b509dc43cf84ef16fcd4a57b167351f146cd11 (patch)
tree57eca4b44db56e11c1a3d9dde5d0e4ef8e830686 /bootloader/common.h
parent6c3a44643590f8cbc925375c2dc8393cc7f9d55e (diff)
downloadrockbox-84b509dc43cf84ef16fcd4a57b167351f146cd11.tar.gz
rockbox-84b509dc43cf84ef16fcd4a57b167351f146cd11.tar.bz2
rockbox-84b509dc43cf84ef16fcd4a57b167351f146cd11.zip
FS#6554. Move bootloader code into a common file. Only PortalPlayer devices (iPods, H10, Sansa) are affected for the moment. Someone with access to (and no fear of bricking) an X5, H100, H300 and Gigabeat should try to adapt those bootloaders to also use the code in common.c. The (non-working) patch in the tracker would be a good place to start with this.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12136 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'bootloader/common.h')
-rw-r--r--bootloader/common.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/bootloader/common.h b/bootloader/common.h
new file mode 100644
index 0000000000..7e001aa9ab
--- /dev/null
+++ b/bootloader/common.h
@@ -0,0 +1,34 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id: main.c 11997 2007-01-13 09:08:18Z miipekk $
+ *
+ * Copyright (C) 2005 by Linus Nielsen Feltzing
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/* Error codes */
+#define EOK 0
+#define EFILE_NOT_FOUND -1
+#define EREAD_CHKSUM_FAILED -2
+#define EREAD_MODEL_FAILED -3
+#define EREAD_IMAGE_FAILED -4
+#define EBAD_CHKSUM -5
+#define EFILE_TOO_BIG -6
+
+/* Functions common to all bootloaders */
+void reset_screen(void);
+void printf(const char *format, ...);
+char *strerror(int error);
+int load_firmware(unsigned char* buf, char* firmware, int buffer_size);
+int load_raw_firmware(unsigned char* buf, char* firmware, int buffer_size);