xref: /openbsd-src/usr.sbin/installboot/installboot.h (revision 26ce53eaba1cc603bed743660370c90ad92eddc7)
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 
22 extern int nowrite;
23 extern int stages;
24 extern int verbose;
25 
26 extern char *root;
27 extern char *stage1;
28 extern char *stage2;
29 
30 #ifdef BOOTSTRAP
31 void	bootstrap(int, char *, char *);
32 #endif
33 
34 int	filecopy(const char *, const char *);
35 char	*fileprefix(const char *, const char *);
36 int	fileprintf(const char *, const char *, ...)
37 	    __attribute__((format(printf, 2, 3)));
38 u_int32_t crc32(const u_char *, const u_int32_t);
39 
40 void	md_init(void);
41 void	md_loadboot(void);
42 void	md_prepareboot(int, char *);
43 void	md_installboot(int, char *);
44 
45 #ifdef SOFTRAID
46 int	sr_open_chunk(int, int, int, struct bioc_disk *, char **, char *);
47 void	sr_prepareboot(int, char *);
48 void	sr_installboot(int, char *);
49 void	sr_install_bootblk(int, int, int);
50 void	sr_install_bootldr(int, char *);
51 void	sr_status(struct bio_status *);
52 #endif
53