38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||
|
|
||
|
#ifndef _UPGRADE_INCLUDED_H
|
||
|
#define _UPGRADE_INCLUDED_H
|
||
|
|
||
|
#include "cpr_types.h"
|
||
|
#include "phone.h"
|
||
|
|
||
|
/*
|
||
|
* Telecaster has these extra 32 bytes of data
|
||
|
* in front of the load header. I have no idea what
|
||
|
* they are for, but having a structure makes it easier
|
||
|
* to deal with this as opposed to adding 0x20 to the
|
||
|
* address.
|
||
|
*/
|
||
|
typedef struct
|
||
|
{
|
||
|
uint8_t vectors[0x20];
|
||
|
LoadHdr hdr;
|
||
|
} BigLoadHdr;
|
||
|
|
||
|
/*
|
||
|
* Prototypes for public functions
|
||
|
*/
|
||
|
void upgrade_bootup_init(void);
|
||
|
int upgrade_done(int tftp_rc);
|
||
|
void upgrade_start(const char *fname);
|
||
|
void upgrade_memcpy(void *dst, const void *src, int len);
|
||
|
int upgrade_check(const char *loadid);
|
||
|
int upgrade_validate_app_image(const BigLoadHdr *load);
|
||
|
int upgrade_validate_dsp_image(const DSPLoadHdr *dsp);
|
||
|
void upgrade_erase_dir_storage(void);
|
||
|
void upgrade_write_dir_storage(char *buffer, char *flash, int size);
|
||
|
|
||
|
#endif /* _UPGRADE_INCLUDED_H */
|