1/*	$NetBSD: bootinfo.h,v 1.4.32.4 2004/09/21 13:15:26 skrll Exp $	*/
2
3/*
4 * Copyright (c) 1997
5 *	Matthias Drochner.  All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 *    notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 *    notice, this list of conditions and the following disclaimer in the
14 *    documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27
28#define BOOTINFO_MAGIC1	0x04191973
29#define	BOOTINFO_MAGIC2	0x02241973
30#define BOOTINFO_SIZE	1024
31
32struct btinfo_common {
33	int next;		/* offset of next item, or zero */
34	int type;
35};
36
37#define BTINFO_MAGIC	1
38#define BTINFO_BOOTPATH 2
39#define BTINFO_SYMTAB	3
40#define	BTINFO_CONSOLE	4
41
42struct btinfo_magic {
43	struct btinfo_common common;
44	int magic1;
45	int magic2;
46};
47
48#define BTINFO_FILENAME_LEN		64
49#define	BTINFO_BOOTPATH_TYPE_SCSI	0
50#define	BTINFO_BOOTPATH_TYPE_HPIB	1
51#define	BTINFO_BOOTPATH_TYPE_NET	2
52struct btinfo_bootpath {
53	struct btinfo_common common;
54	int type;
55	int scode;
56	int target;
57	int lun;
58	char filename[BTINFO_FILENAME_LEN];
59};
60
61struct btinfo_symtab {
62	struct btinfo_common common;
63	int ssym;
64	int esym;
65};
66
67#define	BTINFO_CONSOLE_INTIO_FB		-1
68#define	BTINFO_CONSOLE_APCI		-2
69#define	BTINFO_CONSOLE_SGC_FB		-3
70#define	BTINFO_CONSOLE_HIL_KBD		0
71#define	BTINFO_CONSOLE_DOMAIN_KBD	1
72struct btinfo_console {
73	int scode;
74	int keyboard;
75};
76
77#ifdef _KERNEL
78void *lookup_bootinfo(int);
79#endif
80