/*
 *   Creation Date: <2010/03/22 18:00:00 mcayland>
 *   Time-stamp: <2010/03/22 18:00:00 mcayland>
 *
 *	<bootcode_load.h>
 *
 *	Raw bootcode (%BOOT) loader
 *
 *   Copyright (C) 2013 Mark Cave-Ayland (mark.cave-ayland@ilande.co.uk)
 *
 *   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
 *
 */

#ifndef _H_BOOTCODELOAD
#define _H_BOOTCODELOAD

extern int bootcode_load(ihandle_t dev);
int is_bootcode(char *addr);
void bootcode_init_program(void);

#endif   /* _H__H_BOOTCODELOAD */
