1 /* $NetBSD: bootcfg.h,v 1.1 2014/06/28 09:16:18 rtr Exp $ */
4 * Copyright (c) 2008 The NetBSD Foundation, Inc.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
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.
16 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
17 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
32 #define BOOTCFG_FILENAME "boot.cfg"
33 #define BOOTCFG_MAXMENU 20
34 #define BOOTCFG_MAXBANNER 12
36 #define BOOTCFG_CMD_LOAD "load"
37 #define BOOTCFG_CMD_USERCONF "userconf"
39 typedef void (*bootcfg_command
)(const char *cmd
, char *arg
);
42 char *banner
[BOOTCFG_MAXBANNER
]; /* Banner text */
43 char *command
[BOOTCFG_MAXMENU
]; /* Menu commands per entry*/
44 char *consdev
; /* Console device */
45 int def
; /* Default menu option */
46 char *desc
[BOOTCFG_MAXMENU
]; /* Menu text per entry */
47 int nummenu
; /* Number of menu items */
48 int timeout
; /* Timeout in seconds */
49 int menuformat
; /* Letters instead of numbers */
50 int clear
; /* Clear the screen? */
51 } extern bootcfg_info
;
53 void perform_bootcfg(const char *, bootcfg_command
, const off_t
);
54 void bootcfg_do_noop(const char *, char *);
56 #endif /* !_BOOTCFG_H */