Annotation of sys/stand/boot/cmd.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: cmd.h,v 1.16 2007/06/13 02:17:32 drahn Exp $ */
2:
3: /*
4: * Copyright (c) 1997 Michael Shalayeff
5: * 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
18: * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26: * SUCH DAMAGE.
27: *
28: */
29:
30: #define CMD_BUFF_SIZE 133
31: #define BOOTDEVLEN 1024
32:
33: struct cmd_table {
34: char *cmd_name;
35: char cmd_type;
36: #define CMDT_CMD 0
37: #define CMDT_VAR 1
38: #define CMDT_SET 2
39: #define CMDT_MDC 3
40: int (*cmd_exec)(void);
41: };
42:
43: struct cmd_state {
44: char bootdev[BOOTDEVLEN]; /* device */
45: char image[MAXPATHLEN - 16]; /* image */
46: int boothowto; /* howto */
47: char *conf; /* /etc/boot.conf normally */
48: void *addr; /* load here */
49: int timeout;
50:
51: char path[MAXPATHLEN]; /* buffer for pathname compose */
52: const struct cmd_table *cmd;
53: int argc;
54: char *argv[8]; /* XXX i hope this is enough */
55: };
56: extern struct cmd_state cmd;
57:
58: int getcmd(void);
59: int read_conf(void);
60: int bootparse(int);
61: void boot(dev_t);
62:
63: int docmd(void); /* No longer static: needed by regress test */
CVSweb