1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* Copyright (C) 2017 RDA Technologies Limited and/or its affiliates("RDA").
- * All rights reserved.
- *
- * This software is supplied "AS IS" without any warranties.
- * RDA assumes no responsibility or liability for the use of the software,
- * conveys no license or title under any patent, copyright, or mask work
- * right to the product. RDA reserves the right to make changes in the
- * software without notification. RDA also make no representation or
- * warranty that such application will be suitable for the specified use
- * without further testing or modification.
- */
- #ifndef _BOOT_UIMAGE_H_
- #define _BOOT_UIMAGE_H_
- #include "osi_compiler.h"
- OSI_EXTERN_C_BEGIN
- /**
- * \brief get uimage size
- *
- * \p buf should be large enough for uimage header. The return size
- * is the total size including uimage header.
- *
- * \param buf buffer for uimage, 4 bytes aligned
- * \return uimage size
- */
- unsigned bootUimageSize(const void *buf);
- /**
- * \brief check whether uimage is valid
- *
- * \p len is the buffer size. It shoun't be less than the uimage size
- * including uimage header.
- *
- * \param buf buffer for uimage, 4 bytes aligned
- * \param len buffer size
- * \return
- * - true if the uimage is valid
- * - false if the uimage is invalid
- */
- bool bootUimageCheck(const void *buf, unsigned len);
- /**
- * \brief quick check whether uimage is valid
- *
- * It is similar to \p bootUimageCheck, and the data CRC isn't checked.
- * It is provided in case that a quick and not-so-reliable check is
- * needed.
- *
- * \param buf buffer for uimage, 4 bytes aligned
- * \param len buffer size
- * \return
- * - true if the uimage is valid
- * - false if the uimage is invalid
- */
- bool bootUimageQuickCheck(const void *buf, unsigned len);
- /**
- * \brief get uimage entry address
- *
- * \p buf should be checked by \p bootUimageCheck before.
- *
- * \param buf buffer for uimage, must be checked
- * \return uimage entry point
- */
- uint32_t bootUimageEntry(const void *buf);
- OSI_EXTERN_C_END
- #endif
|