Initial import from FreeBSD RELENG_4:
[dragonfly.git] / sys / platform / pc32 / boot / dosboot / bootinfo.h
1 /*-\r
2  * Copyright (C) 1994 by Rodney W. Grimes, Milwaukie, Oregon  97222\r
3  * All rights reserved.\r
4  *\r
5  * Redistribution and use in source and binary forms, with or without\r
6  * modification, are permitted provided that the following conditions\r
7  * are met:\r
8  * 1. Redistributions of source code must retain the above copyright\r
9  *    notice, this list of conditions and the following disclaimer as\r
10  *    the first lines of this file unmodified.\r
11  * 2. Redistributions in binary form must reproduce the above copyright\r
12  *    notice, this list of conditions and the following disclaimer in the\r
13  *    documentation and/or other materials provided with the distribution.\r
14  * 3. All advertising materials mentioning features or use of this software\r
15  *    must display the following acknowledgement:\r
16  *      This product includes software developed by Rodney W. Grimes.\r
17  * 4. The name of the author may not be used to endorse or promote products\r
18  *    derived from this software without specific prior written permission.\r
19  *\r
20  * THIS SOFTWARE IS PROVIDED BY RODNEY W. GRIMES ``AS IS'' AND\r
21  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
23  * ARE DISCLAIMED.  IN NO EVENT SHALL RODNEY W. GRIMES BE LIABLE\r
24  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
25  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
26  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
27  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
29  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
30  * SUCH DAMAGE.\r
31  *\r
32  * $FreeBSD: src/sys/i386/boot/dosboot/bootinfo.h,v 1.5 1999/08/28 00:43:20 peter Exp $\r
33  */\r
34 \r
35 #ifndef _MACHINE_BOOTINFO_H_\r
36 #define _MACHINE_BOOTINFO_H_ \r
37 \r
38 /* Only change the version number if you break compatibility. */\r
39 #define BOOTINFO_VERSION        1\r
40 \r
41 #define N_BIOS_GEOM             8\r
42 \r
43 /*\r
44  * A zero bootinfo field often means that there is no info available.\r
45  * Flags are used to indicate the validity of fields where zero is a\r
46  * normal value.\r
47  */\r
48 struct bootinfo {\r
49         unsigned long           bi_version;\r
50         unsigned char           *bi_kernelname;\r
51         void                            *bi_nfs_diskless;\r
52                                 /* End of fields that are always present. */\r
53 #define bi_endcommon            bi_n_bios_used\r
54         unsigned long           bi_n_bios_used;\r
55         unsigned long           bi_bios_geom[N_BIOS_GEOM];\r
56         unsigned long           bi_size;\r
57         unsigned char           bi_memsizes_valid;\r
58         unsigned char           bi_pad[3];\r
59         unsigned long           bi_basemem;\r
60         unsigned long           bi_extmem;\r
61         unsigned long           bi_symtab;\r
62         unsigned long           bi_esymtab;\r
63 };\r
64 \r
65 #ifdef KERNEL\r
66 extern struct bootinfo  bootinfo;\r
67 #endif\r
68 \r
69 #endif  /* _MACHINE_BOOTINFO_H_ */\r