From 0b29691324e5700f15ea653592bf29f8552d47d7 Mon Sep 17 00:00:00 2001 From: Marcin Bukat Date: Sun, 4 Mar 2012 15:34:29 +0100 Subject: Move load_firmware() to separate file The idea is to share loading code between bootloaders and rolo(). Change-Id: I1656ed91946d7a05cb7c9fa7a16793c3c862a5cd Reviewed-on: http://gerrit.rockbox.org/190 Reviewed-by: Marcin Bukat --- firmware/include/loader_strerror.h | 38 ++++++++++++++++++++++++++++++++++++++ firmware/include/rb-loader.h | 22 ++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 firmware/include/loader_strerror.h create mode 100644 firmware/include/rb-loader.h (limited to 'firmware/include') diff --git a/firmware/include/loader_strerror.h b/firmware/include/loader_strerror.h new file mode 100644 index 0000000000..e36036a8c0 --- /dev/null +++ b/firmware/include/loader_strerror.h @@ -0,0 +1,38 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2013 Marcin Bukat + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +enum error_t { + EFILE_EMPTY = 0, + EFILE_NOT_FOUND = -1, + EREAD_CHKSUM_FAILED = -2, + EREAD_MODEL_FAILED = -3, + EREAD_IMAGE_FAILED = -4, + EBAD_CHKSUM = -5, + EFILE_TOO_BIG = -6, + EINVALID_FORMAT = -7, + EKEY_NOT_FOUND = -8, + EDECRYPT_FAILED = -9, + EREAD_HEADER_FAILED = -10, + EBAD_HEADER_CHKSUM = -11, + EINVALID_LOAD_ADDR = -12, + EBAD_MODEL = -13 +}; + +char *loader_strerror(enum error_t error); diff --git a/firmware/include/rb-loader.h b/firmware/include/rb-loader.h new file mode 100644 index 0000000000..e1e756dba9 --- /dev/null +++ b/firmware/include/rb-loader.h @@ -0,0 +1,22 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * + * Copyright (C) 2005 by Linus Nielsen Feltzing + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 1 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ + +const char *rb_strerror(int8_t errno); +int load_firmware(unsigned char* buf, const char* firmware, int buffer_size); -- cgit v1.2.3