1/*	$OpenBSD: installboot.h,v 1.16 2022/11/08 12:08:53 kn Exp $	*/
2/*
3 * Copyright (c) 2012, 2013 Joel Sing <jsing@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#include <dev/biovar.h>
19
20#include <stdlib.h>
21
22extern int nowrite;
23extern int stages;
24extern int verbose;
25
26extern char *root;
27extern char *stage1;
28extern char *stage2;
29
30#ifdef BOOTSTRAP
31void	bootstrap(int, char *, char *);
32#endif
33
34int	filecopy(const char *, const char *);
35char	*fileprefix(const char *, const char *);
36int	fileprintf(const char *, const char *, ...)
37	    __attribute__((format(printf, 2, 3)));
38u_int32_t crc32(const u_char *, const u_int32_t);
39
40void	md_init(void);
41void	md_loadboot(void);
42void	md_prepareboot(int, char *);
43void	md_installboot(int, char *);
44
45#ifdef SOFTRAID
46int	sr_open_chunk(int, int, int, struct bioc_disk *, char **, char *);
47void	sr_prepareboot(int, char *);
48void	sr_installboot(int, char *);
49void	sr_install_bootblk(int, int, int);
50void	sr_install_bootldr(int, char *);
51void	sr_status(struct bio_status *);
52#endif
53