Fold in all my recent changes.
Do another clean-up pass over this, making the generic menu handler much more powerful (now handles multiple dispatch). A few more menus fleshed out and the beginnings of the distribution handler committed. Should be transfering full distributions over in the next commit.
This commit is contained in:
parent
59618a8666
commit
351669d743
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=8405
@ -8,7 +8,7 @@ SRCS= globals.c main.c dmenu.c menus.c \
|
||||
misc.c msg.c system.c install.c \
|
||||
termcap.c makedevs.c media.c variable.c \
|
||||
devices.c dist.c lang.c wizard.c \
|
||||
disks.c command.c
|
||||
disks.c command.c decode.c
|
||||
|
||||
CFLAGS += -Wall -g -I${.CURDIR}/../libdisk
|
||||
|
||||
|
148
release/sysinstall/decode.c
Normal file
148
release/sysinstall/decode.c
Normal file
@ -0,0 +1,148 @@
|
||||
/*
|
||||
* The new sysinstall program.
|
||||
*
|
||||
* This is probably the last program in the `sysinstall' line - the next
|
||||
* generation being essentially a complete rewrite.
|
||||
*
|
||||
* $Id: install.c,v 1.13 1995/05/08 21:39:37 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer,
|
||||
* verbatim and that no modifications are made prior to this
|
||||
* point in the file.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by Jordan Hubbard
|
||||
* for the FreeBSD Project.
|
||||
* 4. The name of Jordan Hubbard or the FreeBSD project may not be used to
|
||||
* endorse or promote products derived from this software without specific
|
||||
* prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY JORDAN HUBBARD ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL JORDAN HUBBARD OR HIS PETS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, LIFE OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "sysinstall.h"
|
||||
|
||||
DMenuItem *
|
||||
decode(DMenu *menu, char *name)
|
||||
{
|
||||
DMenuItem *tmp;
|
||||
|
||||
for (tmp = menu->items; tmp->title; tmp++)
|
||||
if (!strcmp(name, (*tmp->title == '*') ? tmp->title + 1 : tmp->title))
|
||||
break;
|
||||
if (!tmp->title)
|
||||
return NULL;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
Boolean
|
||||
dispatch(DMenuItem *tmp, char *name)
|
||||
{
|
||||
Boolean failed = FALSE;
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max = 0;
|
||||
switch (tmp->type) {
|
||||
/* User whapped ESC twice and wants a sub-shell */
|
||||
case DMENU_SHELL_ESCAPE:
|
||||
systemShellEscape();
|
||||
break;
|
||||
|
||||
/* We want to simply display a file */
|
||||
case DMENU_DISPLAY_FILE:
|
||||
systemDisplayFile((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* It's a sub-menu; recurse on it */
|
||||
case DMENU_SUBMENU:
|
||||
dmenuOpen((DMenu *)tmp->ptr, &choice, &scroll, &curr, &max);
|
||||
break;
|
||||
|
||||
/* Execute it as a system command */
|
||||
case DMENU_SYSTEM_COMMAND:
|
||||
(void)systemExecute((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* Same as above, but execute it in a prgbox */
|
||||
case DMENU_SYSTEM_COMMAND_BOX:
|
||||
use_helpfile(NULL);
|
||||
use_helpline("Select OK to dismiss this dialog");
|
||||
dialog_prgbox(tmp->title, (char *)tmp->ptr, 22, 76, 1, 1);
|
||||
dialog_clear();
|
||||
break;
|
||||
|
||||
case DMENU_CALL:
|
||||
failed = (((int (*)())tmp->ptr)(name));
|
||||
break;
|
||||
|
||||
case DMENU_CANCEL:
|
||||
return FALSE;
|
||||
|
||||
case DMENU_SET_VARIABLE:
|
||||
variable_set((char *)tmp->ptr);
|
||||
msgInfo("Setting option %s", tmp->ptr);
|
||||
break;
|
||||
|
||||
case DMENU_SET_FLAG:
|
||||
*((unsigned int *)tmp->ptr) |= tmp->parm;
|
||||
break;
|
||||
|
||||
case DMENU_NOP:
|
||||
break;
|
||||
|
||||
default:
|
||||
msgFatal("Don't know how to deal with menu type %d", tmp->type);
|
||||
}
|
||||
return failed;
|
||||
}
|
||||
|
||||
Boolean
|
||||
decode_and_dispatch_multiple(DMenu *menu, char *names)
|
||||
{
|
||||
DMenuItem *tmp;
|
||||
int errors = 0;
|
||||
|
||||
string_prune(names);
|
||||
names = string_skipwhite(names);
|
||||
while (names) {
|
||||
char *cp;
|
||||
|
||||
cp = index(names, '\n');
|
||||
if (cp)
|
||||
*cp++ = 0;
|
||||
/* Were no options actually selected? */
|
||||
if (!*names)
|
||||
return FALSE;
|
||||
if ((tmp = decode(menu, names)) != NULL) {
|
||||
if (dispatch(tmp, names))
|
||||
++errors;
|
||||
}
|
||||
else
|
||||
msgFatal("Couldn't find a handler for item `%s' in menu `%s'!",
|
||||
names, menu->title);
|
||||
names = cp;
|
||||
}
|
||||
return errors ? TRUE : FALSE;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last program in the `sysinstall' line - the next
|
||||
* generation being essentially a complete rewrite.
|
||||
*
|
||||
* $Id: dist.c,v 1.1 1995/05/04 19:48:10 jkh Exp $
|
||||
* $Id: dist.c,v 1.2 1995/05/08 21:39:34 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -45,6 +45,11 @@
|
||||
|
||||
unsigned int Dists;
|
||||
unsigned int SrcDists;
|
||||
unsigned int XF86Dists;
|
||||
unsigned int XF86ServerDists;
|
||||
unsigned int XF86FontDists;
|
||||
|
||||
static int distSetXF86(char *str);
|
||||
|
||||
int
|
||||
distSetDeveloper(char *str)
|
||||
@ -59,6 +64,7 @@ distSetXDeveloper(char *str)
|
||||
{
|
||||
Dists = _DIST_XDEVELOPER;
|
||||
SrcDists = DIST_SRC_ALL;
|
||||
distSetXF86(NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -73,6 +79,7 @@ int
|
||||
distSetXUser(char *str)
|
||||
{
|
||||
Dists = _DIST_XUSER;
|
||||
distSetXF86(NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -88,37 +95,121 @@ distSetEverything(char *str)
|
||||
{
|
||||
Dists = DIST_ALL;
|
||||
SrcDists = DIST_SRC_ALL;
|
||||
distSetXF86(NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct {
|
||||
int
|
||||
distSetSrc(char *str)
|
||||
{
|
||||
extern DMenu MenuSrcDistributions;
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max;
|
||||
dmenuOpen(&MenuSrcDistributions, &choice, &scroll, &curr, &max);
|
||||
if (SrcDists)
|
||||
Dists |= DIST_SRC;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
distSetXF86(char *str)
|
||||
{
|
||||
extern DMenu MenuXF86;
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max;
|
||||
dmenuOpen(&MenuXF86, &choice, &scroll, &curr, &max);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct _dist {
|
||||
char *my_name;
|
||||
unsigned int my_bit;
|
||||
} DistTable[] = {
|
||||
{ "bin", DIST_BIN },
|
||||
{ "games", DIST_GAMES },
|
||||
{ "manpages", DIST_MANPAGES },
|
||||
{ "proflibs", DIST_PROFLIBS },
|
||||
{ "dict", DIST_DICT },
|
||||
{ "src", DIST_SRC },
|
||||
{ "des", DIST_DES },
|
||||
{ "compat1x", DIST_COMPAT1X },
|
||||
{ "xf86311l", DIST_XFREE86 },
|
||||
{ NULL, 0 },
|
||||
{ "bin", DIST_BIN },
|
||||
{ "games", DIST_GAMES },
|
||||
{ "manpages", DIST_MANPAGES },
|
||||
{ "proflibs", DIST_PROFLIBS },
|
||||
{ "dict", DIST_DICT },
|
||||
{ "src", DIST_SRC },
|
||||
{ "des", DIST_DES },
|
||||
{ "compat1x", DIST_COMPAT1X },
|
||||
{ "xf86311", DIST_XF86 },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
Boolean
|
||||
static struct _dist SrcDistTable[] = {
|
||||
{ "base", DIST_SRC_BASE },
|
||||
{ "gnu", DIST_SRC_GNU },
|
||||
{ "etc", DIST_SRC_ETC },
|
||||
{ "games", DIST_SRC_GAMES },
|
||||
{ "include", DIST_SRC_INCLUDE},
|
||||
{ "lib", DIST_SRC_LIB },
|
||||
{ "libexec", DIST_SRC_LIBEXEC},
|
||||
{ "lkm", DIST_SRC_LKM },
|
||||
{ "release", DIST_SRC_RELEASE},
|
||||
{ "sbin", DIST_SRC_SBIN },
|
||||
{ "share", DIST_SRC_SHARE },
|
||||
{ "sys", DIST_SRC_SYS },
|
||||
{ "ubin", DIST_SRC_UBIN },
|
||||
{ "usbin", DIST_SRC_USBIN },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
static struct _dist XFree86DistTable[] = {
|
||||
{ "bin", DIST_XF86_BIN },
|
||||
{ "lib", DIST_XF86_LIB },
|
||||
{ "doc", DIST_XF86_DOC },
|
||||
{ "man", DIST_XF86_MAN },
|
||||
{ "prog", DIST_XF86_PROG },
|
||||
{ "link", DIST_XF86_LINK },
|
||||
{ "pex", DIST_XF86_PEX },
|
||||
{ "lbx", DIST_XF86_LBX },
|
||||
{ "xicf", DIST_XF86_XINIT },
|
||||
{ "xdmcf", DIST_XF86_XDMCF },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
static struct _dist XFree86ServerDistTable[] = {
|
||||
{ "8514", DIST_XF86_SERVER_8514 },
|
||||
{ "AGX", DIST_XF86_SERVER_AGX },
|
||||
{ "Mch3", DIST_XF86_SERVER_MACH32 },
|
||||
{ "Mch8", DIST_XF86_SERVER_MACH8 },
|
||||
{ "Mono", DIST_XF86_SERVER_MONO },
|
||||
{ "P9K", DIST_XF86_SERVER_P9000 },
|
||||
{ "S3", DIST_XF86_SERVER_S3 },
|
||||
{ "SVGA", DIST_XF86_SERVER_SVGA },
|
||||
{ "VGA16", DIST_XF86_SERVER_VGA16 },
|
||||
{ "W32", DIST_XF86_SERVER_W32 },
|
||||
{ "nest", DIST_XF86_SERVER_NEST },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
static struct _dist XFree86FontDistTable[] = {
|
||||
{ "fnts", DIST_XF86_FONTS_MISC },
|
||||
{ "f100", DIST_XF86_FONTS_100 },
|
||||
{ "fscl", DIST_XF86_FONTS_SCALE },
|
||||
{ "fnon", DIST_XF86_FONTS_NON },
|
||||
{ "fsrv", DIST_XF86_FONTS_SERVER },
|
||||
};
|
||||
|
||||
static Boolean
|
||||
dist_extract(char *name)
|
||||
{
|
||||
int fd;
|
||||
|
||||
if (!strcmp(name, "src")) {
|
||||
}
|
||||
else if (!strcmp(name, "xf86311l")) {
|
||||
}
|
||||
else {
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
distExtractAll(void)
|
||||
{
|
||||
int i, fd;
|
||||
int i;
|
||||
|
||||
while (Dists) {
|
||||
for (i = 0; DistTable[i].my_name; i++) {
|
||||
|
82
release/sysinstall/dist.h
Normal file
82
release/sysinstall/dist.h
Normal file
@ -0,0 +1,82 @@
|
||||
#ifndef _DIST_H_INCLUDE
|
||||
#define _DIST_H_INCLUDE
|
||||
|
||||
/* Bitfields for distributions - hope we never have more than 32! :-) */
|
||||
#define DIST_BIN 0x0001
|
||||
#define DIST_GAMES 0x0002
|
||||
#define DIST_MANPAGES 0x0004
|
||||
#define DIST_PROFLIBS 0x0008
|
||||
#define DIST_DICT 0x0010
|
||||
#define DIST_SRC 0x0020
|
||||
#define DIST_DES 0x0040
|
||||
#define DIST_INFO 0x0080
|
||||
#define DIST_COMPAT1X 0x0100
|
||||
#define DIST_XF86 0x0200
|
||||
#define DIST_COMMERCIAL 0x0400
|
||||
#define DIST_ALL 0x0FFF
|
||||
|
||||
/* Canned distribution sets */
|
||||
#define _DIST_DEVELOPER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_PROFLIBS | DIST_SRC)
|
||||
|
||||
#define _DIST_XDEVELOPER \
|
||||
(_DIST_DEVELOPER | DIST_XF86)
|
||||
|
||||
#define _DIST_USER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_COMPAT1X)
|
||||
|
||||
#define _DIST_XUSER \
|
||||
(_DIST_USER | DIST_XF86)
|
||||
|
||||
|
||||
/* Subtypes for SRC distribution */
|
||||
#define DIST_SRC_BASE 0x0001
|
||||
#define DIST_SRC_GNU 0x0002
|
||||
#define DIST_SRC_ETC 0x0004
|
||||
#define DIST_SRC_GAMES 0x0008
|
||||
#define DIST_SRC_INCLUDE 0x0010
|
||||
#define DIST_SRC_LIB 0x0020
|
||||
#define DIST_SRC_LIBEXEC 0x0040
|
||||
#define DIST_SRC_LKM 0x0080
|
||||
#define DIST_SRC_RELEASE 0x0100
|
||||
#define DIST_SRC_SBIN 0x0200
|
||||
#define DIST_SRC_SHARE 0x0400
|
||||
#define DIST_SRC_SYS 0x0800
|
||||
#define DIST_SRC_UBIN 0x1000
|
||||
#define DIST_SRC_USBIN 0x2000
|
||||
#define DIST_SRC_XF86 0x4000
|
||||
#define DIST_SRC_ALL 0xFFFF
|
||||
|
||||
/* Subtypes for XFree86 distribution */
|
||||
#define DIST_XF86_BIN 0x0001
|
||||
#define DIST_XF86_LIB 0x0004
|
||||
#define DIST_XF86_DOC 0x0008
|
||||
#define DIST_XF86_MAN 0x0010
|
||||
#define DIST_XF86_PROG 0x0020
|
||||
#define DIST_XF86_LINK 0x0040
|
||||
#define DIST_XF86_PEX 0x0080
|
||||
#define DIST_XF86_LBX 0x0100
|
||||
#define DIST_XF86_SERVER 0x0200
|
||||
#define DIST_XF86_SERVER_8514 0x0001
|
||||
#define DIST_XF86_SERVER_AGX 0x0002
|
||||
#define DIST_XF86_SERVER_MACH32 0x0004
|
||||
#define DIST_XF86_SERVER_MACH8 0x0008
|
||||
#define DIST_XF86_SERVER_MONO 0x0010
|
||||
#define DIST_XF86_SERVER_P9000 0x0020
|
||||
#define DIST_XF86_SERVER_S3 0x0040
|
||||
#define DIST_XF86_SERVER_SVGA 0x0080
|
||||
#define DIST_XF86_SERVER_VGA16 0x0100
|
||||
#define DIST_XF86_SERVER_W32 0x0200
|
||||
#define DIST_XF86_SERVER_NEST 0x0400
|
||||
#define DIST_XF86_XINIT 0x0400
|
||||
#define DIST_XF86_XDMCF 0x0800
|
||||
#define DIST_XF86_FONTS 0x1000
|
||||
#define DIST_XF86_FONTS_MISC 0x0001
|
||||
#define DIST_XF86_FONTS_100 0x0002
|
||||
#define DIST_XF86_FONTS_SCALE 0x0004
|
||||
#define DIST_XF86_FONTS_NON 0x0008
|
||||
#define DIST_XF86_FONTS_SERVER 0x0010
|
||||
#define DIST_XF86_ALL 0xFFFF
|
||||
|
||||
#endif
|
||||
/* _DIST_H_INCLUDE */
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated for what's essentially a complete rewrite.
|
||||
*
|
||||
* $Id: dmenu.c,v 1.3 1995/04/29 19:33:00 jkh Exp $
|
||||
* $Id: dmenu.c,v 1.4 1995/05/01 21:56:20 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -117,15 +117,19 @@ dmenuOpen(DMenu *menu, int *choice, int *scroll, int *curr, int *max)
|
||||
}
|
||||
dialog_clear();
|
||||
if (!rval) {
|
||||
if (menu->options & DMENU_MULTIPLE_TYPE)
|
||||
tmp = &(menu->items[0]);
|
||||
if (menu->options & DMENU_MULTIPLE_TYPE) {
|
||||
if (menu->options & DMENU_CALL_FIRST)
|
||||
tmp = &(menu->items[0]);
|
||||
else {
|
||||
if (decode_and_dispatch_multiple(menu, result) ||
|
||||
menu->options & DMENU_SELECTION_RETURNS) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (tmp = menu->items; tmp->title; tmp++)
|
||||
if (!strcmp(result,
|
||||
(*tmp->title == '*') ? tmp->title + 1 :
|
||||
tmp->title))
|
||||
break;
|
||||
if (!tmp->title)
|
||||
if ((tmp = decode(menu, result)) == NULL)
|
||||
msgFatal("Menu item `%s' not found??", result);
|
||||
}
|
||||
}
|
||||
@ -135,61 +139,7 @@ dmenuOpen(DMenu *menu, int *choice, int *scroll, int *curr, int *max)
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
switch (tmp->type) {
|
||||
/* User whapped ESC twice and wants a sub-shell */
|
||||
case DMENU_SHELL_ESCAPE:
|
||||
systemShellEscape();
|
||||
break;
|
||||
|
||||
/* We want to simply display a file */
|
||||
case DMENU_DISPLAY_FILE:
|
||||
systemDisplayFile((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* It's a sub-menu; recurse on it */
|
||||
case DMENU_SUBMENU: {
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max = 0;
|
||||
dmenuOpen((DMenu *)tmp->ptr, &choice, &scroll, &curr, &max);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Execute it as a system command */
|
||||
case DMENU_SYSTEM_COMMAND:
|
||||
(void)systemExecute((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* Same as above, but execute it in a prgbox */
|
||||
case DMENU_SYSTEM_COMMAND_BOX:
|
||||
use_helpfile(NULL);
|
||||
use_helpline("Select OK to dismiss this dialog");
|
||||
dialog_prgbox(tmp->title, (char *)tmp->ptr, 22, 76, 1, 1);
|
||||
dialog_clear();
|
||||
break;
|
||||
|
||||
case DMENU_CALL:
|
||||
if (((int (*)())tmp->ptr)(result)) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case DMENU_CANCEL:
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
|
||||
case DMENU_SET_VARIABLE:
|
||||
variable_set((char *)tmp->ptr);
|
||||
msgInfo("Setting option %s", tmp->ptr);
|
||||
break;
|
||||
|
||||
default:
|
||||
msgFatal("Don't know how to deal with menu type %d", tmp->type);
|
||||
}
|
||||
|
||||
/* Did the user want to make this a single-selection menu? */
|
||||
if (menu->options & DMENU_SELECTION_RETURNS) {
|
||||
if (dispatch(tmp) || menu->options & DMENU_SELECTION_RETURNS) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last program in the `sysinstall' line - the next
|
||||
* generation being essentially a complete rewrite.
|
||||
*
|
||||
* $Id: menus.c,v 1.8 1995/05/05 23:47:43 jkh Exp $
|
||||
* $Id: menus.c,v 1.9 1995/05/08 10:20:54 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -57,6 +57,12 @@ extern DMenu MenuMedia;
|
||||
extern DMenu MenuInstallType;
|
||||
extern DMenu MenuInstallOptions;
|
||||
extern DMenu MenuDistributions;
|
||||
extern DMenu MenuXF86Select;
|
||||
extern DMenu MenuXF86SelectCore;
|
||||
extern DMenu MenuXF86SelectServer;
|
||||
extern DMenu MenuXF86SelectFonts;
|
||||
extern DMenu MenuXF86;
|
||||
extern DMenu MenuInstallFtpOptions;
|
||||
|
||||
/* The initial installation menu */
|
||||
DMenu MenuInitial = {
|
||||
@ -69,13 +75,13 @@ option by pressing enter. If you'd like a shell, press ESC", /* prompt */
|
||||
"Press F1 for usage instructions", /* help line */
|
||||
"usage.hlp", /* help file */
|
||||
{ { "Usage", "Quick start - How to use this menu system.", /* U */
|
||||
DMENU_DISPLAY_FILE, (void *)"usage.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"usage.hlp", 0, 0 },
|
||||
{ "Doc", "More detailed documentation on FreeBSD.", /* D */
|
||||
DMENU_SUBMENU, (void *)&MenuDocumentation, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuDocumentation, 0, 0 },
|
||||
{ "Lang", "Select natural language options.", /* L */
|
||||
DMENU_SUBMENU, (void *)&MenuLanguage, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuLanguage, 0, 0 },
|
||||
{ "Install", "Begin installation", /* I */
|
||||
DMENU_CALL, (void *)installCustom, 0 },
|
||||
DMENU_CALL, (void *)installCustom, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -92,18 +98,19 @@ answers in the FAQ.",
|
||||
"Confused? Press F1 for help.",
|
||||
"usage.hlp", /* help file */
|
||||
{ { "README", "Read this for a general description of FreeBSD", /* R */
|
||||
DMENU_DISPLAY_FILE, (void *)"readme.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"readme.hlp", 0, 0 },
|
||||
{ "Hardware", "The FreeBSD survival guide for PC hardware.", /* H */
|
||||
DMENU_DISPLAY_FILE, (void *)"hardware.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"hardware.hlp", 0, 0 },
|
||||
{ "Install", "A step-by-step guide to installing FreeBSD.", /* I */
|
||||
DMENU_DISPLAY_FILE, (void *)"install.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"install.hlp", 0, 0 },
|
||||
{ "FAQ", "Frequently Asked Questions about FreeBSD.", /* F */
|
||||
DMENU_DISPLAY_FILE, (void *)"faq.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"faq.hlp", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
/* The language selection menu */
|
||||
/*
|
||||
* The language selection menu.
|
||||
*
|
||||
* Note: The RADIO menus use a slightly different syntax. If an item
|
||||
* name starts with `*', it's considered to be "ON" by default,
|
||||
* otherwise off.
|
||||
@ -116,31 +123,32 @@ While almost all of the system's documentation is still written\n\
|
||||
in english (and may never be translated), there are a few guides\n\
|
||||
and types of system documentation that may be written in your\n\
|
||||
preferred language. When such are found, they will be used instead\n\
|
||||
of the english versions.", /* prompt */
|
||||
of the english versions. This feature is nonetheless considered\n\
|
||||
to be in experimental status at this time.", /* prompt */
|
||||
"Press F1 for more information", /* help line */
|
||||
"language.hlp", /* help file */
|
||||
{ { "Danish", "Danish language and character set (ISO-8859-1)", /* D */
|
||||
DMENU_CALL, (void *)lang_set_Danish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Danish, 0, 0 },
|
||||
{ "Dutch", "Dutch language and character set (ISO-8859-1)", /* D */
|
||||
DMENU_CALL, (void *)lang_set_Dutch, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Dutch, 0, 0 },
|
||||
{ "English", "English language (system default)", /* E */
|
||||
DMENU_CALL, (void *)lang_set_English, 0 },
|
||||
DMENU_CALL, (void *)lang_set_English, 0, 0 },
|
||||
{ "French", "French language and character set (ISO-8859-1)", /* F */
|
||||
DMENU_CALL, (void *)lang_set_French, 0 },
|
||||
DMENU_CALL, (void *)lang_set_French, 0, 0 },
|
||||
{ "German", "German language and character set (ISO-8859-1)", /* G */
|
||||
DMENU_CALL, (void *)lang_set_German, 0 },
|
||||
DMENU_CALL, (void *)lang_set_German, 0, 0 },
|
||||
{ "Italian", "Italian language and character set (ISO-8859-1)", /* I */
|
||||
DMENU_CALL, (void *)lang_set_Italian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Italian, 0, 0 },
|
||||
{ "Japanese", "Japanese language and default character set (romaji)",/* J */
|
||||
DMENU_CALL, (void *)lang_set_Japanese, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Japanese, 0, 0 },
|
||||
{ "Norwegian", "Norwegian language and character set (ISO-8859-1)", /* N */
|
||||
DMENU_CALL, (void *)lang_set_Norwegian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Norwegian, 0, 0 },
|
||||
{ "Russian", "Russian language and character set (cp866-8x14)", /* R */
|
||||
DMENU_CALL, (void *)lang_set_Russian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Russian, 0, 0 },
|
||||
{ "Spanish", "Spanish language and character set (ISO-8859-1)", /* S */
|
||||
DMENU_CALL, (void *)lang_set_Spanish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Spanish, 0, 0 },
|
||||
{ "Swedish", "Swedish language and character set (ISO-8859-1)", /* S */
|
||||
DMENU_CALL, (void *)lang_set_Swedish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Swedish, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -150,20 +158,20 @@ DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
|
||||
"FreeBSD can be installed directly from a CDROM containing a valid\n\
|
||||
FreeBSD 2.0.5 distribution. If you're seeing this menu, it's because\n\
|
||||
your CDROM drive was not properly auto-detected, or you did not launch\n\
|
||||
this installation from the CD under DOS or Windows. If you think you're\n\
|
||||
this installation from the CD under DOS or Windows. If you think you are\n
|
||||
seeing this dialog in error, you may wish to reboot FreeBSD with the\n\
|
||||
-c boot flag (.. boot: /kernel -c) and check that your hardware and\n
|
||||
the kernel agree on reasonable values.",
|
||||
-c boot flag (.. boot: /kernel -c) and check that your hardware and\n\
|
||||
the kernel agree on reasonable values.",
|
||||
"Press F1 for more information on CDROM support",
|
||||
"media_cdrom.hlp",
|
||||
{ { "Matsushita", "Panasonic \"Sound Blaster\" CDROM.",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/matcd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/matcd0a", 0, 0 },
|
||||
{ "Mitsumi", "Mitsumi FX-001 series drive (not IDE)",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/mcd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/mcd0a", 0, 0 },
|
||||
{ "SCSI", "SCSI CDROM drive attached to supported SCSI controller",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/cd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/cd0a", 0, 0 },
|
||||
{ "Sony", "Sony CDU31/33A or compatible CDROM drive",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/scd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/scd0a", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -179,59 +187,59 @@ If the first site selected doesn't respond, try one of the alternates.",
|
||||
"Select a site that's close!",
|
||||
"media_ftp.hlp",
|
||||
{ { "Primary", "ftp.freebsd.org",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Secondary", "freefall.cdrom.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://freefall.cdrom.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://freefall.cdrom.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Australia", "ftp.physics.usyd.edu.au",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.physics.usyd.edu.au/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.physics.usyd.edu.au/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Finland", "nic.funet.fi",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://nic.funet.fi/pub/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://nic.funet.fi/pub/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "France", "ftp.ibp.fr",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ibp.fr/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ibp.fr/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Germany", "ftp.uni-duisburg.de",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.uni-duisburg.de/pub/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.uni-duisburg.de/pub/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Israel", "orgchem.weizmann.ac.il",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://orgchem.weizmann.ac.il/pub/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://orgchem.weizmann.ac.il/pub/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan", "ftp.sra.co.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.sra.co.jp/pub/os/FreeBSD/distribution/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.sra.co.jp/pub/os/FreeBSD/distribution/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-2", "ftp.mei.co.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.mei.co.jp/free/PC-UNIX/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.mei.co.jp/free/PC-UNIX/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-3", "ftp.waseda.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.waseda.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.waseda.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-4", "ftp.pu-toyama.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.pu-toyama.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.pu-toyama.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-5", "ftpsv1.u-aizu.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftpsv1.u-aizu.ac.jp/pub/os/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftpsv1.u-aizu.ac.jp/pub/os/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-6", "tutserver.tutcc.tut.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://tutserver.tutcc.tut.ac.jp/FreeBSD/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://tutserver.tutcc.tut.ac.jp/FreeBSD/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-7", "ftp.ee.uec.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ee.uec.ac.jp/pub/os/FreeBSD.other/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ee.uec.ac.jp/pub/os/FreeBSD.other/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Korea", "ftp.cau.ac.kr",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.cau.ac.kr/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.cau.ac.kr/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Netherlands", "ftp.nl.net",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nl.net/pub/os/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nl.net/pub/os/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Russia", "ftp.kiae.su",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.kiae.su/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.kiae.su/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Sweden", "ftp.luth.se",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.luth.se/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.luth.se/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Taiwan", "netbsd.csie.nctu.edu.tw",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://netbsd.csie.nctu.edu.tw/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://netbsd.csie.nctu.edu.tw/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Thailand", "ftp.nectec.or.th",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nectec.or.th/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nectec.or.th/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK", "ftp.demon.co.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.demon.co.uk/pub/BSD/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.demon.co.uk/pub/BSD/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK-2", "src.doc.ic.ac.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://src.doc.ic.ac.uk/packages/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://src.doc.ic.ac.uk/packages/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK-3", "unix.hensa.ac.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA", "ref.tfs.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ref.tfs.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ref.tfs.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-2", "ftp.dataplex.net",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.dataplex.net/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.dataplex.net/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-3", "kryten.atinc.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://kryten.atinc.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://kryten.atinc.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-4", "ftp.neosoft.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ NULL } }
|
||||
};
|
||||
|
||||
@ -243,22 +251,21 @@ DMENU_NORMAL_TYPE,
|
||||
media, ranging from floppies to the Internet. If you're installing\n\
|
||||
FreeBSD from a supported CDROM drive then this is generally the best\n\
|
||||
method to use unless you have some overriding reason for using another\n\
|
||||
method. Please also note that the DES distribution is NOT available on \n\
|
||||
CDROM due to U.S. export restrictions.",
|
||||
method.",
|
||||
"Press F1 for more information on the various media types",
|
||||
"media.hlp",
|
||||
{ { "CDROM", "Install from a FreeBSD CDROM",
|
||||
DMENU_CALL, (void *)mediaSetCDROM, 0 },
|
||||
{ "FLOPPY", "Install from a floppy disk set",
|
||||
DMENU_CALL, (void *)mediaSetFloppy, 0 },
|
||||
DMENU_CALL, (void *)mediaSetCDROM, 0, 0 },
|
||||
{ "Floppy", "Install from a floppy disk set",
|
||||
DMENU_CALL, (void *)mediaSetFloppy, 0, 0 },
|
||||
{ "DOS", "Install from a DOS partition",
|
||||
DMENU_CALL, (void *)mediaSetDOS, 0 },
|
||||
{ "TAPE", "Install from SCSI or QIC tape",
|
||||
DMENU_CALL, (void *)mediaSetTape, 0 },
|
||||
DMENU_CALL, (void *)mediaSetDOS, 0, 0 },
|
||||
{ "Tape", "Install from SCSI or QIC tape",
|
||||
DMENU_CALL, (void *)mediaSetTape, 0, 0 },
|
||||
{ "FTP", "Install from an Internet FTP server",
|
||||
DMENU_CALL, (void *)mediaSetFTP, 0 },
|
||||
{ "FILESYSTEM", "Install from a UFS or NFS mounted distribution",
|
||||
DMENU_CALL, (void *)mediaSetFS, 0 },
|
||||
DMENU_CALL, (void *)mediaSetFTP, 0, 0 },
|
||||
{ "File System", "Install from a UFS or NFS mounted distribution",
|
||||
DMENU_CALL, (void *)mediaSetFS, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -266,26 +273,26 @@ CDROM due to U.S. export restrictions.",
|
||||
DMenu MenuInstallType = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Type",
|
||||
"As a convenience, we provide several `canned' installation types. \
|
||||
These pick what we consider to be the most reasonable defaults for the \
|
||||
type of system in question. If you would prefer to pick and choose \
|
||||
"As a convenience, we provide several `canned' installation types.\n\
|
||||
These pick what we consider to be the most reasonable defaults for the\n\
|
||||
type of system in question. If you would prefer to pick and choose\n\
|
||||
the list of distributions yourself, simply select `custom'.",
|
||||
"Press F1 for more information on the various distributions",
|
||||
"dist_types.hlp",
|
||||
{ { "Developer", "Includes full sources, binaries and doc but no games.",
|
||||
DMENU_CALL, (void *)distSetDeveloper, 0 },
|
||||
DMENU_CALL, (void *)distSetDeveloper, 0, 0 },
|
||||
{ "X-Developer", "Same as above, but includes XFree86.",
|
||||
DMENU_CALL, (void *)distSetXDeveloper, 0 },
|
||||
DMENU_CALL, (void *)distSetXDeveloper, 0, 0 },
|
||||
{ "User", "General user. Binaries and doc but no sources.",
|
||||
DMENU_CALL, (void *)distSetUser, 0 },
|
||||
DMENU_CALL, (void *)distSetUser, 0, 0 },
|
||||
{ "X-User", "Same as above, but includes XFree86.",
|
||||
DMENU_CALL, (void *)distSetXUser, 0 },
|
||||
DMENU_CALL, (void *)distSetXUser, 0, 0 },
|
||||
{ "Minimal", "The smallest configuration possible.",
|
||||
DMENU_CALL, (void *)distSetMinimum, 0 },
|
||||
DMENU_CALL, (void *)distSetMinimum, 0, 0 },
|
||||
{ "Everything", "The entire source and binary distribution.",
|
||||
DMENU_CALL, (void *)distSetEverything, 0 },
|
||||
DMENU_CALL, (void *)distSetEverything, 0, 0 },
|
||||
{ "Custom", "Specify your own distribution set",
|
||||
DMENU_SUBMENU, (void *)&MenuDistributions, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuDistributions, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -296,27 +303,188 @@ DMENU_MULTIPLE_TYPE,
|
||||
"Press F1 for a more complete description of these distributions.",
|
||||
"distribution_types.hlp",
|
||||
{ { "*bin", "Binary base distribution (required)",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_BIN, 0 },
|
||||
{ "commercial", "Commercial demos and shareware",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_COMMERCIAL, 0 },
|
||||
{ "compat1x", "FreeBSD 1.x binary compatability package",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_COMPAT1X, 0 },
|
||||
{ "DES", "DES encryption code and sources",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_DES, 0 },
|
||||
{ "dict", "Spelling checker disctionary files",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_DICT, 0 },
|
||||
{ "games", "Games and other amusements (non-commercial)",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_GAMES, 0 },
|
||||
{ "info", "GNU info files",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
{ "man", "System manual pages - strongly recommended",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_INFO, 0 },
|
||||
{ "*man", "System manual pages - strongly recommended",
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_MANPAGES, 0 },
|
||||
{ "proflibs", "Profiled versions of the libraries",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_PROFLIBS, 0 },
|
||||
{ "src", "Sources for everything but DES",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
{ "XFree86", "The XFree86 3.1.1 distribution",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_CALL, (void *)distSetSrc, 0 },
|
||||
{ "XFree86", "The XFree86 3.1.1L distribution",
|
||||
DMENU_SUBMENU, (void *)&MenuXF86, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuSrcDistributions = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"Select the sub-components of src you wish to install.",
|
||||
"Please check off those portions of the FreeBSD source tree\n\
|
||||
you wish to install. A brief description of each source\n\
|
||||
hierarchy is contained in parenthesis below.",
|
||||
"Press F1 for a more complete description of distributions.",
|
||||
"distribution_types.hlp",
|
||||
{ { "base", "Base src directory (top-level files in /usr/src)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_BASE, 0 },
|
||||
{ "gnu", "/usr/src/gnu (user software from the GNU Project)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_GNU, 0 },
|
||||
{ "etc", "/usr/src/etc (miscellaneous system files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_ETC, 0 },
|
||||
{ "games", "/usr/src/games (games)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_GAMES, 0 },
|
||||
{ "include", "/usr/src/include (header files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_INCLUDE, 0 },
|
||||
{ "lib", "/usr/src/lib (system libraries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LIB, 0 },
|
||||
{ "libexec", "/usr/src/libexec (various system programs)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LIBEXEC, 0 },
|
||||
{ "lkm", "/usr/src/lkm (Loadable Kernel Modules)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LKM, 0 },
|
||||
{ "release", "/usr/src/release (release-generation tools)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_RELEASE, 0 },
|
||||
{ "sbin", "/usr/src/sbin (system binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SBIN, 0 },
|
||||
{ "share", "/usr/src/share (documents and shared files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SHARE, 0 },
|
||||
{ "sys", "/usr/src/sys (FreeBSD kernel)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SYS, 0 },
|
||||
{ "ubin", "/usr/src/usr.bin (user binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_UBIN, 0 },
|
||||
{ "usbin", "/usr/src/usr.sbin (aux system binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_USBIN, 0 },
|
||||
{ "XFree86", "XFree86 3.1.1L source + contrib distribution",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_XF86, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86 = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"XFree86 3.1.1u1 Distribution",
|
||||
"Welcome to the XFree86 3.1.1u1 distribution from\n\
|
||||
The XFree86 Project, Inc. Recommended sequence: Select\n\
|
||||
desired release components, configure, start it up (optional!)",
|
||||
"Press F1 to read the XFree86 release notes for FreeBSD",
|
||||
"XFree86.hlp",
|
||||
{ { "Select", "Select and load components of the XFree86 distribution",
|
||||
DMENU_SUBMENU, &MenuXF86Select, 0, 0 },
|
||||
{ "Configure", "Configure an installed XFree86 distribution",
|
||||
DMENU_SYSTEM_COMMAND, "PATH=/usr/bin:/bin:/usr/X11R6/bin xf86config",
|
||||
0, 0 },
|
||||
{ "Start", "Try to start the server up",
|
||||
DMENU_SYSTEM_COMMAND, "PATH=/usr/bin:/bin:/usr/X11R6/bin startx",
|
||||
0, 0 },
|
||||
{ NULL } }
|
||||
};
|
||||
|
||||
DMenu MenuXF86Select = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"XFree86 3.1.1 \"Late\" Distribution",
|
||||
"Please select the components you need from the XFree86 3.1.1\n\
|
||||
distribution. Select what you need from the basic components set\n\
|
||||
and at least one entry from the Server menu and the Font set menu\n",
|
||||
"Press F1 for a sample sequence",
|
||||
"XF86Select.hlp",
|
||||
{ { "Core", "Basic component menu (required)",
|
||||
DMENU_SUBMENU, &MenuXF86SelectCore, 0, 0 },
|
||||
{ "Server", "X server menu",
|
||||
DMENU_SUBMENU, &MenuXF86SelectServer, 0, 0 },
|
||||
{ "Fonts", "Font set menu",
|
||||
DMENU_SUBMENU, &MenuXF86SelectFonts, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectCore = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"XFree86 3.1.1 base distribution types",
|
||||
"Please check off the primary XFree86 components you wish.\n\
|
||||
Those deemed most generally useful are already checked.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*bin", "X client applications and shared libs [4MB].",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_BIN, 0 },
|
||||
{ "*lib", "Data files needed at runtime [0.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_LIB, 0 },
|
||||
{ "xicf", "Customizable xinit runtime configuration file [0.1MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_XINIT, 0 },
|
||||
{ "xdcf", "Customizable xdm runtime configuration file [0.1MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_XDMCF, 0 },
|
||||
{ "doc", "READMEs and XFree86 specific man pages [0.5MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_DOC, 0 },
|
||||
{ "*man", "Man pages (except XFree86 specific ones in etc) [1.2MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_MAN, 0 },
|
||||
{ "prog", "Programmer's header and library files [4MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_PROG, 0 },
|
||||
{ "link", "X Server reconfiguration kit [7.8MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_LINK, 0 },
|
||||
{ "pex", "PEX fonts and shared libs needed by PEX applications [0.5MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_PEX, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectFonts = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"Font distribution selection.",
|
||||
"Please check off the individual font distributions you wish to\n\
|
||||
install. At the minimum, you should certainly install the standard\n\
|
||||
75 DPI and misc fonts if you're also installing a server.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*fnts", "Standard 75 DPI and miscellaneous fonts [3.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_MISC, 0 },
|
||||
{ "f100", "100 DPI fonts [1.8MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_100, 0 },
|
||||
{ "fscl", "Speedo and Type scalable fonts [1.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_SCALE, 0 },
|
||||
{ "non", "Japanese, Chinese and other non-english fonts [3.3MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_NON, 0 },
|
||||
{ "server", "Font server [0.3MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_SERVER, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectServer = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"X Server selection.",
|
||||
"Please check off the types of X servers you wish to\n\
|
||||
install. If you are unsure as which server will work\n\
|
||||
for your graphics card, it is recommended that try the\n\
|
||||
SVGA or VGA16 servers (the VGA16 and Mono servers are also\n\
|
||||
particularly well-suited to most LCD displays).",
|
||||
"xservers.hlp",
|
||||
"Press F1 for more information on the various X server types",
|
||||
{ { "*SVGA", "Standard VGA or Super VGA display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_SVGA, 0 },
|
||||
{ "VGA16", "Standard 16 color VGA display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_VGA16, 0 },
|
||||
{ "Mono", "Standard Monochrome display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MONO, 0 },
|
||||
{ "8514", "8-bit (256 color) IBM 8514 or compatible card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_8514, 0 },
|
||||
{ "AGX", "8-bit AGX card",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_AGX, 0 },
|
||||
{ "Mch3", "8 and 16-bit (65K color) for ATI Mach32 card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MACH32, 0 },
|
||||
{ "Mch8", "8-bit ATI Mach8 card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MACH8, 0 },
|
||||
{ "P9K", "8, 16, and 24-bit color for Weitek P9000 based boards",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_P9000, 0 },
|
||||
{ "S3", "8, 16 and 24-bit color for S3 based boards",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_S3, 0 },
|
||||
{ "W32", "8-bit Color for ET4000/W32, /W32i and /W32p cards.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_W32, 0 },
|
||||
{ "nest", "A nested server for testing purposes",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_NEST, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -339,10 +507,38 @@ manager later.",
|
||||
DMenu MenuInstallOptions = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Options",
|
||||
"blah blah",
|
||||
"This menu controls how the FreeBSD installation will deal with various\n\
|
||||
error conditions, should they arise, and the degree to which you, the\n\
|
||||
user, will be prompted for options.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { NULL } },
|
||||
{ { "Ftp Options", "Ftp options menu",
|
||||
DMENU_SUBMENU, (void *)&MenuInstallFtpOptions, 0, 0 },
|
||||
{ "NFS Secure", "NFS server talks only on a secure port",
|
||||
DMENU_SET_VARIABLE, (void *)"nfsServerSecure=yes", 0, 0 },
|
||||
{ "NFS Slow", "User is using a slow PC or ethernet card",
|
||||
DMENU_SET_VARIABLE, (void *)"nfsSlowPC=yes", 0, 0 },
|
||||
{ "Extra Debugging", "Toggle the extra debugging flag",
|
||||
DMENU_SET_VARIABLE, (void *)"debug=yes", 0, 0 },
|
||||
{ "No Debugging", "Turn the extra debugging flag off",
|
||||
DMENU_SET_VARIABLE, (void *)"debug=no", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuInstallFtpOptions = {
|
||||
DMENU_RADIO_TYPE,
|
||||
"Choose Ftp Options",
|
||||
"In case of ftp failure, how would you like this installation\n\
|
||||
to deal with it? You have one of several choices:",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*Ftp Retry", "On transfer failure, retry same host",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=loop", 0, 0 },
|
||||
{ "Ftp Reselect", "On transfer failure, ask for another host",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=reselect", 0, 0 },
|
||||
{ "Ftp Abort", "On transfer failure, abort installation",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=abort", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
/* The main installation menu */
|
||||
@ -350,20 +546,21 @@ DMenu MenuInstall = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Options", /* title */
|
||||
"Before installation can continue, you need to specify a few items\n\
|
||||
of information regarding the location of the distribution and the kind\n\
|
||||
of installation you want to have (and where). There are also a number\n\
|
||||
of options you can specify in the Options menu. If you do not wish to\n\
|
||||
install FreeBSD at this time, you may select Cancel to leave this menu",
|
||||
of information regarding the type of distribution you wish to have\n\
|
||||
and from where you wish to install it. There are also a number\n\
|
||||
of options you can specify in the Options menu which will determine\n\
|
||||
how . If you do not wish to install FreeBSD at this time, you may\n\
|
||||
select Cancel to leave this menu.",
|
||||
"You may also wish to read the install guide - press F1 to do so",
|
||||
"install.hlp",
|
||||
{ { "Media", "Choose Installation media type", /* M */
|
||||
DMENU_SUBMENU, (void *)&MenuMedia, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuMedia, 0, 0 },
|
||||
{ "Type", "Choose the type of installation you want", /* T */
|
||||
DMENU_SUBMENU, (void *)&MenuInstallType, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuInstallType, 0, 0 },
|
||||
{ "Options", "Specify installation options", /* O */
|
||||
DMENU_SUBMENU, (void *)&MenuInstallOptions, 0 },
|
||||
{ "Proceed", "Proceed with installation", /* P */
|
||||
DMENU_CANCEL, (void *)NULL, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuInstallOptions, 0, 0},
|
||||
{ "Proceed", "Proceed with installation", /* P */
|
||||
DMENU_CANCEL, (void *)NULL, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated to essentially a complete rewrite.
|
||||
*
|
||||
* $Id: sysinstall.h,v 1.13 1995/05/08 10:20:56 jkh Exp $
|
||||
* $Id: sysinstall.h,v 1.14 1995/05/08 21:39:40 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -50,6 +50,7 @@
|
||||
#include <unistd.h>
|
||||
#include <dialog.h>
|
||||
#include "libdisk.h"
|
||||
#include "dist.h"
|
||||
|
||||
/*** Defines ***/
|
||||
|
||||
@ -58,49 +59,7 @@
|
||||
#define DMENU_RADIO_TYPE 0x2 /* Radio dialog menu */
|
||||
#define DMENU_MULTIPLE_TYPE 0x4 /* Multiple choice menu */
|
||||
#define DMENU_SELECTION_RETURNS 0x8 /* Select item then exit */
|
||||
|
||||
/* Bitfields for distributions - hope we never have more than 32! :-) */
|
||||
#define DIST_BIN 0x1
|
||||
#define DIST_GAMES 0x2
|
||||
#define DIST_MANPAGES 0x4
|
||||
#define DIST_PROFLIBS 0x8
|
||||
#define DIST_DICT 0x10
|
||||
#define DIST_SRC 0x20
|
||||
#define DIST_DES 0x40
|
||||
#define DIST_COMPAT1X 0x80
|
||||
#define DIST_XFREE86 0x100
|
||||
#define DIST_ALL 0xFFF
|
||||
|
||||
/* Canned distribution sets */
|
||||
#define _DIST_DEVELOPER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_PROFLIBS | DIST_SRC)
|
||||
|
||||
#define _DIST_XDEVELOPER \
|
||||
(_DIST_DEVELOPER | DIST_XFREE86)
|
||||
|
||||
#define _DIST_USER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_COMPAT1X)
|
||||
|
||||
#define _DIST_XUSER \
|
||||
(_DIST_USER | DIST_XFREE86)
|
||||
|
||||
|
||||
/* Subtypes for SRC distribution */
|
||||
#define DIST_SRC_BASE 0x1
|
||||
#define DIST_SRC_GNU 0x2
|
||||
#define DIST_SRC_ETC 0x4
|
||||
#define DIST_SRC_GAMES 0x8
|
||||
#define DIST_SRC_INCLUDE 0x10
|
||||
#define DIST_SRC_LIB 0x20
|
||||
#define DIST_SRC_LIBEXEC 0x40
|
||||
#define DIST_SRC_LKM 0x80
|
||||
#define DIST_SRC_RELEASE 0x100
|
||||
#define DIST_SRC_SBIN 0x200
|
||||
#define DIST_SRC_SHARE 0x400
|
||||
#define DIST_SRC_SYS 0x800
|
||||
#define DIST_SRC_UBIN 0x1000
|
||||
#define DIST_SRC_USBIN 0x2000
|
||||
#define DIST_SRC_ALL 0xFFFF
|
||||
#define DMENU_CALL_FIRST 0x10 /* In multiple, use one handler */
|
||||
|
||||
/* variable limits */
|
||||
#define VAR_NAME_MAX 128
|
||||
@ -109,9 +68,6 @@
|
||||
/* device limits */
|
||||
#define DEV_NAME_MAX 128
|
||||
|
||||
/* handy */
|
||||
#define ONE_MEG 1048576
|
||||
|
||||
|
||||
/*** Types ***/
|
||||
typedef unsigned int Boolean;
|
||||
@ -123,6 +79,7 @@ typedef enum {
|
||||
DMENU_SYSTEM_COMMAND, /* Run shell commmand */
|
||||
DMENU_SYSTEM_COMMAND_BOX, /* Same as above, but in prgbox */
|
||||
DMENU_SET_VARIABLE, /* Set an environment/system var */
|
||||
DMENU_SET_FLAG, /* Set flag in an unsigned int */
|
||||
DMENU_CALL, /* Call back a C function */
|
||||
DMENU_CANCEL, /* Cancel out of this menu */
|
||||
DMENU_NOP, /* Do nothing special for item */
|
||||
@ -133,6 +90,7 @@ typedef struct _dmenuItem {
|
||||
char *prompt; /* Our prompt */
|
||||
DMenuItemType type; /* What type of item we are */
|
||||
void *ptr; /* Generic data ptr */
|
||||
u_long parm; /* Parameter for above */
|
||||
Boolean disabled; /* Are we temporarily disabled? */
|
||||
} DMenuItem;
|
||||
|
||||
@ -200,6 +158,9 @@ extern Boolean OnVTY; /* On a syscons VTY? */
|
||||
extern Variable *VarHead; /* The head of the variable chain */
|
||||
extern unsigned int Dists; /* Which distributions we want */
|
||||
extern unsigned int SrcDists; /* Which src distributions we want */
|
||||
extern unsigned int XF86Dists;/* Which XFree86 dists we want */
|
||||
extern unsigned int XF86ServerDists; /* The XFree86 servers we want */
|
||||
extern unsigned int XF86FontDists; /* The XFree86 fonts we want */
|
||||
extern struct disk *Disks[]; /* The disks we're working on */
|
||||
|
||||
/*** Prototypes ***/
|
||||
@ -210,6 +171,11 @@ extern void command_sort(void);
|
||||
extern void command_execute(void);
|
||||
extern void command_add(char *key, char *fmt, ...);
|
||||
|
||||
/* decode.c */
|
||||
extern DMenuItem *decode(DMenu *menu, char *name);
|
||||
extern Boolean dispatch(DMenuItem *tmp, char *name);
|
||||
extern Boolean decode_and_dispatch_multiple(DMenu *menu, char *names);
|
||||
|
||||
/* devices.c */
|
||||
extern struct disk *device_slice_disk(struct disk *d);
|
||||
extern DMenu *device_create_disk_menu(DMenu *menu, Device **rdevs, int (*hook)());
|
||||
@ -230,6 +196,8 @@ extern int distSetUser(char *str);
|
||||
extern int distSetXUser(char *str);
|
||||
extern int distSetMinimum(char *str);
|
||||
extern int distSetEverything(char *str);
|
||||
extern int distSetSrc(char *str);
|
||||
extern void distExtractAll(void);
|
||||
|
||||
/* dmenu.c */
|
||||
extern void dmenuOpen(DMenu *menu, int *choice, int *scroll,
|
||||
@ -257,17 +225,17 @@ extern void lang_set_Spanish(char *str);
|
||||
extern void lang_set_Swedish(char *str);
|
||||
|
||||
/* makedevs.c (auto-generated) */
|
||||
extern const char termcap_vt100[];
|
||||
extern const char termcap_cons25[];
|
||||
extern const char termcap_cons25_m[];
|
||||
extern const char termcap_cons25r[];
|
||||
extern const char termcap_cons25r_m[];
|
||||
extern const char termcap_cons25l1[];
|
||||
extern const char termcap_cons25l1_m[];
|
||||
extern const u_char font_iso_8x14[];
|
||||
extern const u_char font_cp850_8x14[];
|
||||
extern const u_char font_koi8_r_8x14[];
|
||||
extern const u_char koi8_r2cp866[];
|
||||
extern const char termcap_vt100[];
|
||||
extern const char termcap_cons25[];
|
||||
extern const char termcap_cons25_m[];
|
||||
extern const char termcap_cons25r[];
|
||||
extern const char termcap_cons25r_m[];
|
||||
extern const char termcap_cons25l1[];
|
||||
extern const char termcap_cons25l1_m[];
|
||||
extern const u_char font_iso_8x14[];
|
||||
extern const u_char font_cp850_8x14[];
|
||||
extern const u_char font_koi8_r_8x14[];
|
||||
extern const u_char koi8_r2cp866[];
|
||||
|
||||
/* media.c */
|
||||
extern int mediaSetCDROM(char *str);
|
||||
|
@ -8,7 +8,7 @@ SRCS= globals.c main.c dmenu.c menus.c \
|
||||
misc.c msg.c system.c install.c \
|
||||
termcap.c makedevs.c media.c variable.c \
|
||||
devices.c dist.c lang.c wizard.c \
|
||||
disks.c command.c
|
||||
disks.c command.c decode.c
|
||||
|
||||
CFLAGS += -Wall -g -I${.CURDIR}/../libdisk
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated for what's essentially a complete rewrite.
|
||||
*
|
||||
* $Id: dmenu.c,v 1.3 1995/04/29 19:33:00 jkh Exp $
|
||||
* $Id: dmenu.c,v 1.4 1995/05/01 21:56:20 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -117,15 +117,19 @@ dmenuOpen(DMenu *menu, int *choice, int *scroll, int *curr, int *max)
|
||||
}
|
||||
dialog_clear();
|
||||
if (!rval) {
|
||||
if (menu->options & DMENU_MULTIPLE_TYPE)
|
||||
tmp = &(menu->items[0]);
|
||||
if (menu->options & DMENU_MULTIPLE_TYPE) {
|
||||
if (menu->options & DMENU_CALL_FIRST)
|
||||
tmp = &(menu->items[0]);
|
||||
else {
|
||||
if (decode_and_dispatch_multiple(menu, result) ||
|
||||
menu->options & DMENU_SELECTION_RETURNS) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (tmp = menu->items; tmp->title; tmp++)
|
||||
if (!strcmp(result,
|
||||
(*tmp->title == '*') ? tmp->title + 1 :
|
||||
tmp->title))
|
||||
break;
|
||||
if (!tmp->title)
|
||||
if ((tmp = decode(menu, result)) == NULL)
|
||||
msgFatal("Menu item `%s' not found??", result);
|
||||
}
|
||||
}
|
||||
@ -135,61 +139,7 @@ dmenuOpen(DMenu *menu, int *choice, int *scroll, int *curr, int *max)
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
switch (tmp->type) {
|
||||
/* User whapped ESC twice and wants a sub-shell */
|
||||
case DMENU_SHELL_ESCAPE:
|
||||
systemShellEscape();
|
||||
break;
|
||||
|
||||
/* We want to simply display a file */
|
||||
case DMENU_DISPLAY_FILE:
|
||||
systemDisplayFile((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* It's a sub-menu; recurse on it */
|
||||
case DMENU_SUBMENU: {
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max = 0;
|
||||
dmenuOpen((DMenu *)tmp->ptr, &choice, &scroll, &curr, &max);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Execute it as a system command */
|
||||
case DMENU_SYSTEM_COMMAND:
|
||||
(void)systemExecute((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* Same as above, but execute it in a prgbox */
|
||||
case DMENU_SYSTEM_COMMAND_BOX:
|
||||
use_helpfile(NULL);
|
||||
use_helpline("Select OK to dismiss this dialog");
|
||||
dialog_prgbox(tmp->title, (char *)tmp->ptr, 22, 76, 1, 1);
|
||||
dialog_clear();
|
||||
break;
|
||||
|
||||
case DMENU_CALL:
|
||||
if (((int (*)())tmp->ptr)(result)) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case DMENU_CANCEL:
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
|
||||
case DMENU_SET_VARIABLE:
|
||||
variable_set((char *)tmp->ptr);
|
||||
msgInfo("Setting option %s", tmp->ptr);
|
||||
break;
|
||||
|
||||
default:
|
||||
msgFatal("Don't know how to deal with menu type %d", tmp->type);
|
||||
}
|
||||
|
||||
/* Did the user want to make this a single-selection menu? */
|
||||
if (menu->options & DMENU_SELECTION_RETURNS) {
|
||||
if (dispatch(tmp) || menu->options & DMENU_SELECTION_RETURNS) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last program in the `sysinstall' line - the next
|
||||
* generation being essentially a complete rewrite.
|
||||
*
|
||||
* $Id: menus.c,v 1.8 1995/05/05 23:47:43 jkh Exp $
|
||||
* $Id: menus.c,v 1.9 1995/05/08 10:20:54 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -57,6 +57,12 @@ extern DMenu MenuMedia;
|
||||
extern DMenu MenuInstallType;
|
||||
extern DMenu MenuInstallOptions;
|
||||
extern DMenu MenuDistributions;
|
||||
extern DMenu MenuXF86Select;
|
||||
extern DMenu MenuXF86SelectCore;
|
||||
extern DMenu MenuXF86SelectServer;
|
||||
extern DMenu MenuXF86SelectFonts;
|
||||
extern DMenu MenuXF86;
|
||||
extern DMenu MenuInstallFtpOptions;
|
||||
|
||||
/* The initial installation menu */
|
||||
DMenu MenuInitial = {
|
||||
@ -69,13 +75,13 @@ option by pressing enter. If you'd like a shell, press ESC", /* prompt */
|
||||
"Press F1 for usage instructions", /* help line */
|
||||
"usage.hlp", /* help file */
|
||||
{ { "Usage", "Quick start - How to use this menu system.", /* U */
|
||||
DMENU_DISPLAY_FILE, (void *)"usage.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"usage.hlp", 0, 0 },
|
||||
{ "Doc", "More detailed documentation on FreeBSD.", /* D */
|
||||
DMENU_SUBMENU, (void *)&MenuDocumentation, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuDocumentation, 0, 0 },
|
||||
{ "Lang", "Select natural language options.", /* L */
|
||||
DMENU_SUBMENU, (void *)&MenuLanguage, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuLanguage, 0, 0 },
|
||||
{ "Install", "Begin installation", /* I */
|
||||
DMENU_CALL, (void *)installCustom, 0 },
|
||||
DMENU_CALL, (void *)installCustom, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -92,18 +98,19 @@ answers in the FAQ.",
|
||||
"Confused? Press F1 for help.",
|
||||
"usage.hlp", /* help file */
|
||||
{ { "README", "Read this for a general description of FreeBSD", /* R */
|
||||
DMENU_DISPLAY_FILE, (void *)"readme.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"readme.hlp", 0, 0 },
|
||||
{ "Hardware", "The FreeBSD survival guide for PC hardware.", /* H */
|
||||
DMENU_DISPLAY_FILE, (void *)"hardware.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"hardware.hlp", 0, 0 },
|
||||
{ "Install", "A step-by-step guide to installing FreeBSD.", /* I */
|
||||
DMENU_DISPLAY_FILE, (void *)"install.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"install.hlp", 0, 0 },
|
||||
{ "FAQ", "Frequently Asked Questions about FreeBSD.", /* F */
|
||||
DMENU_DISPLAY_FILE, (void *)"faq.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"faq.hlp", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
/* The language selection menu */
|
||||
/*
|
||||
* The language selection menu.
|
||||
*
|
||||
* Note: The RADIO menus use a slightly different syntax. If an item
|
||||
* name starts with `*', it's considered to be "ON" by default,
|
||||
* otherwise off.
|
||||
@ -116,31 +123,32 @@ While almost all of the system's documentation is still written\n\
|
||||
in english (and may never be translated), there are a few guides\n\
|
||||
and types of system documentation that may be written in your\n\
|
||||
preferred language. When such are found, they will be used instead\n\
|
||||
of the english versions.", /* prompt */
|
||||
of the english versions. This feature is nonetheless considered\n\
|
||||
to be in experimental status at this time.", /* prompt */
|
||||
"Press F1 for more information", /* help line */
|
||||
"language.hlp", /* help file */
|
||||
{ { "Danish", "Danish language and character set (ISO-8859-1)", /* D */
|
||||
DMENU_CALL, (void *)lang_set_Danish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Danish, 0, 0 },
|
||||
{ "Dutch", "Dutch language and character set (ISO-8859-1)", /* D */
|
||||
DMENU_CALL, (void *)lang_set_Dutch, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Dutch, 0, 0 },
|
||||
{ "English", "English language (system default)", /* E */
|
||||
DMENU_CALL, (void *)lang_set_English, 0 },
|
||||
DMENU_CALL, (void *)lang_set_English, 0, 0 },
|
||||
{ "French", "French language and character set (ISO-8859-1)", /* F */
|
||||
DMENU_CALL, (void *)lang_set_French, 0 },
|
||||
DMENU_CALL, (void *)lang_set_French, 0, 0 },
|
||||
{ "German", "German language and character set (ISO-8859-1)", /* G */
|
||||
DMENU_CALL, (void *)lang_set_German, 0 },
|
||||
DMENU_CALL, (void *)lang_set_German, 0, 0 },
|
||||
{ "Italian", "Italian language and character set (ISO-8859-1)", /* I */
|
||||
DMENU_CALL, (void *)lang_set_Italian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Italian, 0, 0 },
|
||||
{ "Japanese", "Japanese language and default character set (romaji)",/* J */
|
||||
DMENU_CALL, (void *)lang_set_Japanese, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Japanese, 0, 0 },
|
||||
{ "Norwegian", "Norwegian language and character set (ISO-8859-1)", /* N */
|
||||
DMENU_CALL, (void *)lang_set_Norwegian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Norwegian, 0, 0 },
|
||||
{ "Russian", "Russian language and character set (cp866-8x14)", /* R */
|
||||
DMENU_CALL, (void *)lang_set_Russian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Russian, 0, 0 },
|
||||
{ "Spanish", "Spanish language and character set (ISO-8859-1)", /* S */
|
||||
DMENU_CALL, (void *)lang_set_Spanish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Spanish, 0, 0 },
|
||||
{ "Swedish", "Swedish language and character set (ISO-8859-1)", /* S */
|
||||
DMENU_CALL, (void *)lang_set_Swedish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Swedish, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -150,20 +158,20 @@ DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
|
||||
"FreeBSD can be installed directly from a CDROM containing a valid\n\
|
||||
FreeBSD 2.0.5 distribution. If you're seeing this menu, it's because\n\
|
||||
your CDROM drive was not properly auto-detected, or you did not launch\n\
|
||||
this installation from the CD under DOS or Windows. If you think you're\n\
|
||||
this installation from the CD under DOS or Windows. If you think you are\n
|
||||
seeing this dialog in error, you may wish to reboot FreeBSD with the\n\
|
||||
-c boot flag (.. boot: /kernel -c) and check that your hardware and\n
|
||||
the kernel agree on reasonable values.",
|
||||
-c boot flag (.. boot: /kernel -c) and check that your hardware and\n\
|
||||
the kernel agree on reasonable values.",
|
||||
"Press F1 for more information on CDROM support",
|
||||
"media_cdrom.hlp",
|
||||
{ { "Matsushita", "Panasonic \"Sound Blaster\" CDROM.",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/matcd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/matcd0a", 0, 0 },
|
||||
{ "Mitsumi", "Mitsumi FX-001 series drive (not IDE)",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/mcd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/mcd0a", 0, 0 },
|
||||
{ "SCSI", "SCSI CDROM drive attached to supported SCSI controller",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/cd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/cd0a", 0, 0 },
|
||||
{ "Sony", "Sony CDU31/33A or compatible CDROM drive",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/scd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/scd0a", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -179,59 +187,59 @@ If the first site selected doesn't respond, try one of the alternates.",
|
||||
"Select a site that's close!",
|
||||
"media_ftp.hlp",
|
||||
{ { "Primary", "ftp.freebsd.org",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Secondary", "freefall.cdrom.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://freefall.cdrom.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://freefall.cdrom.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Australia", "ftp.physics.usyd.edu.au",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.physics.usyd.edu.au/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.physics.usyd.edu.au/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Finland", "nic.funet.fi",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://nic.funet.fi/pub/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://nic.funet.fi/pub/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "France", "ftp.ibp.fr",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ibp.fr/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ibp.fr/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Germany", "ftp.uni-duisburg.de",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.uni-duisburg.de/pub/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.uni-duisburg.de/pub/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Israel", "orgchem.weizmann.ac.il",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://orgchem.weizmann.ac.il/pub/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://orgchem.weizmann.ac.il/pub/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan", "ftp.sra.co.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.sra.co.jp/pub/os/FreeBSD/distribution/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.sra.co.jp/pub/os/FreeBSD/distribution/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-2", "ftp.mei.co.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.mei.co.jp/free/PC-UNIX/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.mei.co.jp/free/PC-UNIX/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-3", "ftp.waseda.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.waseda.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.waseda.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-4", "ftp.pu-toyama.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.pu-toyama.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.pu-toyama.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-5", "ftpsv1.u-aizu.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftpsv1.u-aizu.ac.jp/pub/os/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftpsv1.u-aizu.ac.jp/pub/os/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-6", "tutserver.tutcc.tut.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://tutserver.tutcc.tut.ac.jp/FreeBSD/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://tutserver.tutcc.tut.ac.jp/FreeBSD/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-7", "ftp.ee.uec.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ee.uec.ac.jp/pub/os/FreeBSD.other/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ee.uec.ac.jp/pub/os/FreeBSD.other/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Korea", "ftp.cau.ac.kr",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.cau.ac.kr/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.cau.ac.kr/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Netherlands", "ftp.nl.net",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nl.net/pub/os/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nl.net/pub/os/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Russia", "ftp.kiae.su",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.kiae.su/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.kiae.su/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Sweden", "ftp.luth.se",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.luth.se/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.luth.se/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Taiwan", "netbsd.csie.nctu.edu.tw",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://netbsd.csie.nctu.edu.tw/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://netbsd.csie.nctu.edu.tw/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Thailand", "ftp.nectec.or.th",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nectec.or.th/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nectec.or.th/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK", "ftp.demon.co.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.demon.co.uk/pub/BSD/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.demon.co.uk/pub/BSD/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK-2", "src.doc.ic.ac.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://src.doc.ic.ac.uk/packages/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://src.doc.ic.ac.uk/packages/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK-3", "unix.hensa.ac.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA", "ref.tfs.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ref.tfs.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ref.tfs.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-2", "ftp.dataplex.net",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.dataplex.net/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.dataplex.net/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-3", "kryten.atinc.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://kryten.atinc.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://kryten.atinc.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-4", "ftp.neosoft.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ NULL } }
|
||||
};
|
||||
|
||||
@ -243,22 +251,21 @@ DMENU_NORMAL_TYPE,
|
||||
media, ranging from floppies to the Internet. If you're installing\n\
|
||||
FreeBSD from a supported CDROM drive then this is generally the best\n\
|
||||
method to use unless you have some overriding reason for using another\n\
|
||||
method. Please also note that the DES distribution is NOT available on \n\
|
||||
CDROM due to U.S. export restrictions.",
|
||||
method.",
|
||||
"Press F1 for more information on the various media types",
|
||||
"media.hlp",
|
||||
{ { "CDROM", "Install from a FreeBSD CDROM",
|
||||
DMENU_CALL, (void *)mediaSetCDROM, 0 },
|
||||
{ "FLOPPY", "Install from a floppy disk set",
|
||||
DMENU_CALL, (void *)mediaSetFloppy, 0 },
|
||||
DMENU_CALL, (void *)mediaSetCDROM, 0, 0 },
|
||||
{ "Floppy", "Install from a floppy disk set",
|
||||
DMENU_CALL, (void *)mediaSetFloppy, 0, 0 },
|
||||
{ "DOS", "Install from a DOS partition",
|
||||
DMENU_CALL, (void *)mediaSetDOS, 0 },
|
||||
{ "TAPE", "Install from SCSI or QIC tape",
|
||||
DMENU_CALL, (void *)mediaSetTape, 0 },
|
||||
DMENU_CALL, (void *)mediaSetDOS, 0, 0 },
|
||||
{ "Tape", "Install from SCSI or QIC tape",
|
||||
DMENU_CALL, (void *)mediaSetTape, 0, 0 },
|
||||
{ "FTP", "Install from an Internet FTP server",
|
||||
DMENU_CALL, (void *)mediaSetFTP, 0 },
|
||||
{ "FILESYSTEM", "Install from a UFS or NFS mounted distribution",
|
||||
DMENU_CALL, (void *)mediaSetFS, 0 },
|
||||
DMENU_CALL, (void *)mediaSetFTP, 0, 0 },
|
||||
{ "File System", "Install from a UFS or NFS mounted distribution",
|
||||
DMENU_CALL, (void *)mediaSetFS, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -266,26 +273,26 @@ CDROM due to U.S. export restrictions.",
|
||||
DMenu MenuInstallType = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Type",
|
||||
"As a convenience, we provide several `canned' installation types. \
|
||||
These pick what we consider to be the most reasonable defaults for the \
|
||||
type of system in question. If you would prefer to pick and choose \
|
||||
"As a convenience, we provide several `canned' installation types.\n\
|
||||
These pick what we consider to be the most reasonable defaults for the\n\
|
||||
type of system in question. If you would prefer to pick and choose\n\
|
||||
the list of distributions yourself, simply select `custom'.",
|
||||
"Press F1 for more information on the various distributions",
|
||||
"dist_types.hlp",
|
||||
{ { "Developer", "Includes full sources, binaries and doc but no games.",
|
||||
DMENU_CALL, (void *)distSetDeveloper, 0 },
|
||||
DMENU_CALL, (void *)distSetDeveloper, 0, 0 },
|
||||
{ "X-Developer", "Same as above, but includes XFree86.",
|
||||
DMENU_CALL, (void *)distSetXDeveloper, 0 },
|
||||
DMENU_CALL, (void *)distSetXDeveloper, 0, 0 },
|
||||
{ "User", "General user. Binaries and doc but no sources.",
|
||||
DMENU_CALL, (void *)distSetUser, 0 },
|
||||
DMENU_CALL, (void *)distSetUser, 0, 0 },
|
||||
{ "X-User", "Same as above, but includes XFree86.",
|
||||
DMENU_CALL, (void *)distSetXUser, 0 },
|
||||
DMENU_CALL, (void *)distSetXUser, 0, 0 },
|
||||
{ "Minimal", "The smallest configuration possible.",
|
||||
DMENU_CALL, (void *)distSetMinimum, 0 },
|
||||
DMENU_CALL, (void *)distSetMinimum, 0, 0 },
|
||||
{ "Everything", "The entire source and binary distribution.",
|
||||
DMENU_CALL, (void *)distSetEverything, 0 },
|
||||
DMENU_CALL, (void *)distSetEverything, 0, 0 },
|
||||
{ "Custom", "Specify your own distribution set",
|
||||
DMENU_SUBMENU, (void *)&MenuDistributions, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuDistributions, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -296,27 +303,188 @@ DMENU_MULTIPLE_TYPE,
|
||||
"Press F1 for a more complete description of these distributions.",
|
||||
"distribution_types.hlp",
|
||||
{ { "*bin", "Binary base distribution (required)",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_BIN, 0 },
|
||||
{ "commercial", "Commercial demos and shareware",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_COMMERCIAL, 0 },
|
||||
{ "compat1x", "FreeBSD 1.x binary compatability package",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_COMPAT1X, 0 },
|
||||
{ "DES", "DES encryption code and sources",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_DES, 0 },
|
||||
{ "dict", "Spelling checker disctionary files",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_DICT, 0 },
|
||||
{ "games", "Games and other amusements (non-commercial)",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_GAMES, 0 },
|
||||
{ "info", "GNU info files",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
{ "man", "System manual pages - strongly recommended",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_INFO, 0 },
|
||||
{ "*man", "System manual pages - strongly recommended",
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_MANPAGES, 0 },
|
||||
{ "proflibs", "Profiled versions of the libraries",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_PROFLIBS, 0 },
|
||||
{ "src", "Sources for everything but DES",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
{ "XFree86", "The XFree86 3.1.1 distribution",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_CALL, (void *)distSetSrc, 0 },
|
||||
{ "XFree86", "The XFree86 3.1.1L distribution",
|
||||
DMENU_SUBMENU, (void *)&MenuXF86, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuSrcDistributions = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"Select the sub-components of src you wish to install.",
|
||||
"Please check off those portions of the FreeBSD source tree\n\
|
||||
you wish to install. A brief description of each source\n\
|
||||
hierarchy is contained in parenthesis below.",
|
||||
"Press F1 for a more complete description of distributions.",
|
||||
"distribution_types.hlp",
|
||||
{ { "base", "Base src directory (top-level files in /usr/src)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_BASE, 0 },
|
||||
{ "gnu", "/usr/src/gnu (user software from the GNU Project)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_GNU, 0 },
|
||||
{ "etc", "/usr/src/etc (miscellaneous system files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_ETC, 0 },
|
||||
{ "games", "/usr/src/games (games)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_GAMES, 0 },
|
||||
{ "include", "/usr/src/include (header files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_INCLUDE, 0 },
|
||||
{ "lib", "/usr/src/lib (system libraries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LIB, 0 },
|
||||
{ "libexec", "/usr/src/libexec (various system programs)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LIBEXEC, 0 },
|
||||
{ "lkm", "/usr/src/lkm (Loadable Kernel Modules)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LKM, 0 },
|
||||
{ "release", "/usr/src/release (release-generation tools)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_RELEASE, 0 },
|
||||
{ "sbin", "/usr/src/sbin (system binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SBIN, 0 },
|
||||
{ "share", "/usr/src/share (documents and shared files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SHARE, 0 },
|
||||
{ "sys", "/usr/src/sys (FreeBSD kernel)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SYS, 0 },
|
||||
{ "ubin", "/usr/src/usr.bin (user binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_UBIN, 0 },
|
||||
{ "usbin", "/usr/src/usr.sbin (aux system binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_USBIN, 0 },
|
||||
{ "XFree86", "XFree86 3.1.1L source + contrib distribution",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_XF86, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86 = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"XFree86 3.1.1u1 Distribution",
|
||||
"Welcome to the XFree86 3.1.1u1 distribution from\n\
|
||||
The XFree86 Project, Inc. Recommended sequence: Select\n\
|
||||
desired release components, configure, start it up (optional!)",
|
||||
"Press F1 to read the XFree86 release notes for FreeBSD",
|
||||
"XFree86.hlp",
|
||||
{ { "Select", "Select and load components of the XFree86 distribution",
|
||||
DMENU_SUBMENU, &MenuXF86Select, 0, 0 },
|
||||
{ "Configure", "Configure an installed XFree86 distribution",
|
||||
DMENU_SYSTEM_COMMAND, "PATH=/usr/bin:/bin:/usr/X11R6/bin xf86config",
|
||||
0, 0 },
|
||||
{ "Start", "Try to start the server up",
|
||||
DMENU_SYSTEM_COMMAND, "PATH=/usr/bin:/bin:/usr/X11R6/bin startx",
|
||||
0, 0 },
|
||||
{ NULL } }
|
||||
};
|
||||
|
||||
DMenu MenuXF86Select = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"XFree86 3.1.1 \"Late\" Distribution",
|
||||
"Please select the components you need from the XFree86 3.1.1\n\
|
||||
distribution. Select what you need from the basic components set\n\
|
||||
and at least one entry from the Server menu and the Font set menu\n",
|
||||
"Press F1 for a sample sequence",
|
||||
"XF86Select.hlp",
|
||||
{ { "Core", "Basic component menu (required)",
|
||||
DMENU_SUBMENU, &MenuXF86SelectCore, 0, 0 },
|
||||
{ "Server", "X server menu",
|
||||
DMENU_SUBMENU, &MenuXF86SelectServer, 0, 0 },
|
||||
{ "Fonts", "Font set menu",
|
||||
DMENU_SUBMENU, &MenuXF86SelectFonts, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectCore = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"XFree86 3.1.1 base distribution types",
|
||||
"Please check off the primary XFree86 components you wish.\n\
|
||||
Those deemed most generally useful are already checked.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*bin", "X client applications and shared libs [4MB].",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_BIN, 0 },
|
||||
{ "*lib", "Data files needed at runtime [0.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_LIB, 0 },
|
||||
{ "xicf", "Customizable xinit runtime configuration file [0.1MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_XINIT, 0 },
|
||||
{ "xdcf", "Customizable xdm runtime configuration file [0.1MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_XDMCF, 0 },
|
||||
{ "doc", "READMEs and XFree86 specific man pages [0.5MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_DOC, 0 },
|
||||
{ "*man", "Man pages (except XFree86 specific ones in etc) [1.2MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_MAN, 0 },
|
||||
{ "prog", "Programmer's header and library files [4MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_PROG, 0 },
|
||||
{ "link", "X Server reconfiguration kit [7.8MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_LINK, 0 },
|
||||
{ "pex", "PEX fonts and shared libs needed by PEX applications [0.5MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_PEX, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectFonts = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"Font distribution selection.",
|
||||
"Please check off the individual font distributions you wish to\n\
|
||||
install. At the minimum, you should certainly install the standard\n\
|
||||
75 DPI and misc fonts if you're also installing a server.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*fnts", "Standard 75 DPI and miscellaneous fonts [3.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_MISC, 0 },
|
||||
{ "f100", "100 DPI fonts [1.8MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_100, 0 },
|
||||
{ "fscl", "Speedo and Type scalable fonts [1.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_SCALE, 0 },
|
||||
{ "non", "Japanese, Chinese and other non-english fonts [3.3MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_NON, 0 },
|
||||
{ "server", "Font server [0.3MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_SERVER, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectServer = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"X Server selection.",
|
||||
"Please check off the types of X servers you wish to\n\
|
||||
install. If you are unsure as which server will work\n\
|
||||
for your graphics card, it is recommended that try the\n\
|
||||
SVGA or VGA16 servers (the VGA16 and Mono servers are also\n\
|
||||
particularly well-suited to most LCD displays).",
|
||||
"xservers.hlp",
|
||||
"Press F1 for more information on the various X server types",
|
||||
{ { "*SVGA", "Standard VGA or Super VGA display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_SVGA, 0 },
|
||||
{ "VGA16", "Standard 16 color VGA display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_VGA16, 0 },
|
||||
{ "Mono", "Standard Monochrome display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MONO, 0 },
|
||||
{ "8514", "8-bit (256 color) IBM 8514 or compatible card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_8514, 0 },
|
||||
{ "AGX", "8-bit AGX card",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_AGX, 0 },
|
||||
{ "Mch3", "8 and 16-bit (65K color) for ATI Mach32 card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MACH32, 0 },
|
||||
{ "Mch8", "8-bit ATI Mach8 card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MACH8, 0 },
|
||||
{ "P9K", "8, 16, and 24-bit color for Weitek P9000 based boards",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_P9000, 0 },
|
||||
{ "S3", "8, 16 and 24-bit color for S3 based boards",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_S3, 0 },
|
||||
{ "W32", "8-bit Color for ET4000/W32, /W32i and /W32p cards.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_W32, 0 },
|
||||
{ "nest", "A nested server for testing purposes",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_NEST, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -339,10 +507,38 @@ manager later.",
|
||||
DMenu MenuInstallOptions = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Options",
|
||||
"blah blah",
|
||||
"This menu controls how the FreeBSD installation will deal with various\n\
|
||||
error conditions, should they arise, and the degree to which you, the\n\
|
||||
user, will be prompted for options.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { NULL } },
|
||||
{ { "Ftp Options", "Ftp options menu",
|
||||
DMENU_SUBMENU, (void *)&MenuInstallFtpOptions, 0, 0 },
|
||||
{ "NFS Secure", "NFS server talks only on a secure port",
|
||||
DMENU_SET_VARIABLE, (void *)"nfsServerSecure=yes", 0, 0 },
|
||||
{ "NFS Slow", "User is using a slow PC or ethernet card",
|
||||
DMENU_SET_VARIABLE, (void *)"nfsSlowPC=yes", 0, 0 },
|
||||
{ "Extra Debugging", "Toggle the extra debugging flag",
|
||||
DMENU_SET_VARIABLE, (void *)"debug=yes", 0, 0 },
|
||||
{ "No Debugging", "Turn the extra debugging flag off",
|
||||
DMENU_SET_VARIABLE, (void *)"debug=no", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuInstallFtpOptions = {
|
||||
DMENU_RADIO_TYPE,
|
||||
"Choose Ftp Options",
|
||||
"In case of ftp failure, how would you like this installation\n\
|
||||
to deal with it? You have one of several choices:",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*Ftp Retry", "On transfer failure, retry same host",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=loop", 0, 0 },
|
||||
{ "Ftp Reselect", "On transfer failure, ask for another host",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=reselect", 0, 0 },
|
||||
{ "Ftp Abort", "On transfer failure, abort installation",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=abort", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
/* The main installation menu */
|
||||
@ -350,20 +546,21 @@ DMenu MenuInstall = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Options", /* title */
|
||||
"Before installation can continue, you need to specify a few items\n\
|
||||
of information regarding the location of the distribution and the kind\n\
|
||||
of installation you want to have (and where). There are also a number\n\
|
||||
of options you can specify in the Options menu. If you do not wish to\n\
|
||||
install FreeBSD at this time, you may select Cancel to leave this menu",
|
||||
of information regarding the type of distribution you wish to have\n\
|
||||
and from where you wish to install it. There are also a number\n\
|
||||
of options you can specify in the Options menu which will determine\n\
|
||||
how . If you do not wish to install FreeBSD at this time, you may\n\
|
||||
select Cancel to leave this menu.",
|
||||
"You may also wish to read the install guide - press F1 to do so",
|
||||
"install.hlp",
|
||||
{ { "Media", "Choose Installation media type", /* M */
|
||||
DMENU_SUBMENU, (void *)&MenuMedia, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuMedia, 0, 0 },
|
||||
{ "Type", "Choose the type of installation you want", /* T */
|
||||
DMENU_SUBMENU, (void *)&MenuInstallType, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuInstallType, 0, 0 },
|
||||
{ "Options", "Specify installation options", /* O */
|
||||
DMENU_SUBMENU, (void *)&MenuInstallOptions, 0 },
|
||||
{ "Proceed", "Proceed with installation", /* P */
|
||||
DMENU_CANCEL, (void *)NULL, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuInstallOptions, 0, 0},
|
||||
{ "Proceed", "Proceed with installation", /* P */
|
||||
DMENU_CANCEL, (void *)NULL, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated to essentially a complete rewrite.
|
||||
*
|
||||
* $Id: sysinstall.h,v 1.13 1995/05/08 10:20:56 jkh Exp $
|
||||
* $Id: sysinstall.h,v 1.14 1995/05/08 21:39:40 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -50,6 +50,7 @@
|
||||
#include <unistd.h>
|
||||
#include <dialog.h>
|
||||
#include "libdisk.h"
|
||||
#include "dist.h"
|
||||
|
||||
/*** Defines ***/
|
||||
|
||||
@ -58,49 +59,7 @@
|
||||
#define DMENU_RADIO_TYPE 0x2 /* Radio dialog menu */
|
||||
#define DMENU_MULTIPLE_TYPE 0x4 /* Multiple choice menu */
|
||||
#define DMENU_SELECTION_RETURNS 0x8 /* Select item then exit */
|
||||
|
||||
/* Bitfields for distributions - hope we never have more than 32! :-) */
|
||||
#define DIST_BIN 0x1
|
||||
#define DIST_GAMES 0x2
|
||||
#define DIST_MANPAGES 0x4
|
||||
#define DIST_PROFLIBS 0x8
|
||||
#define DIST_DICT 0x10
|
||||
#define DIST_SRC 0x20
|
||||
#define DIST_DES 0x40
|
||||
#define DIST_COMPAT1X 0x80
|
||||
#define DIST_XFREE86 0x100
|
||||
#define DIST_ALL 0xFFF
|
||||
|
||||
/* Canned distribution sets */
|
||||
#define _DIST_DEVELOPER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_PROFLIBS | DIST_SRC)
|
||||
|
||||
#define _DIST_XDEVELOPER \
|
||||
(_DIST_DEVELOPER | DIST_XFREE86)
|
||||
|
||||
#define _DIST_USER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_COMPAT1X)
|
||||
|
||||
#define _DIST_XUSER \
|
||||
(_DIST_USER | DIST_XFREE86)
|
||||
|
||||
|
||||
/* Subtypes for SRC distribution */
|
||||
#define DIST_SRC_BASE 0x1
|
||||
#define DIST_SRC_GNU 0x2
|
||||
#define DIST_SRC_ETC 0x4
|
||||
#define DIST_SRC_GAMES 0x8
|
||||
#define DIST_SRC_INCLUDE 0x10
|
||||
#define DIST_SRC_LIB 0x20
|
||||
#define DIST_SRC_LIBEXEC 0x40
|
||||
#define DIST_SRC_LKM 0x80
|
||||
#define DIST_SRC_RELEASE 0x100
|
||||
#define DIST_SRC_SBIN 0x200
|
||||
#define DIST_SRC_SHARE 0x400
|
||||
#define DIST_SRC_SYS 0x800
|
||||
#define DIST_SRC_UBIN 0x1000
|
||||
#define DIST_SRC_USBIN 0x2000
|
||||
#define DIST_SRC_ALL 0xFFFF
|
||||
#define DMENU_CALL_FIRST 0x10 /* In multiple, use one handler */
|
||||
|
||||
/* variable limits */
|
||||
#define VAR_NAME_MAX 128
|
||||
@ -109,9 +68,6 @@
|
||||
/* device limits */
|
||||
#define DEV_NAME_MAX 128
|
||||
|
||||
/* handy */
|
||||
#define ONE_MEG 1048576
|
||||
|
||||
|
||||
/*** Types ***/
|
||||
typedef unsigned int Boolean;
|
||||
@ -123,6 +79,7 @@ typedef enum {
|
||||
DMENU_SYSTEM_COMMAND, /* Run shell commmand */
|
||||
DMENU_SYSTEM_COMMAND_BOX, /* Same as above, but in prgbox */
|
||||
DMENU_SET_VARIABLE, /* Set an environment/system var */
|
||||
DMENU_SET_FLAG, /* Set flag in an unsigned int */
|
||||
DMENU_CALL, /* Call back a C function */
|
||||
DMENU_CANCEL, /* Cancel out of this menu */
|
||||
DMENU_NOP, /* Do nothing special for item */
|
||||
@ -133,6 +90,7 @@ typedef struct _dmenuItem {
|
||||
char *prompt; /* Our prompt */
|
||||
DMenuItemType type; /* What type of item we are */
|
||||
void *ptr; /* Generic data ptr */
|
||||
u_long parm; /* Parameter for above */
|
||||
Boolean disabled; /* Are we temporarily disabled? */
|
||||
} DMenuItem;
|
||||
|
||||
@ -200,6 +158,9 @@ extern Boolean OnVTY; /* On a syscons VTY? */
|
||||
extern Variable *VarHead; /* The head of the variable chain */
|
||||
extern unsigned int Dists; /* Which distributions we want */
|
||||
extern unsigned int SrcDists; /* Which src distributions we want */
|
||||
extern unsigned int XF86Dists;/* Which XFree86 dists we want */
|
||||
extern unsigned int XF86ServerDists; /* The XFree86 servers we want */
|
||||
extern unsigned int XF86FontDists; /* The XFree86 fonts we want */
|
||||
extern struct disk *Disks[]; /* The disks we're working on */
|
||||
|
||||
/*** Prototypes ***/
|
||||
@ -210,6 +171,11 @@ extern void command_sort(void);
|
||||
extern void command_execute(void);
|
||||
extern void command_add(char *key, char *fmt, ...);
|
||||
|
||||
/* decode.c */
|
||||
extern DMenuItem *decode(DMenu *menu, char *name);
|
||||
extern Boolean dispatch(DMenuItem *tmp, char *name);
|
||||
extern Boolean decode_and_dispatch_multiple(DMenu *menu, char *names);
|
||||
|
||||
/* devices.c */
|
||||
extern struct disk *device_slice_disk(struct disk *d);
|
||||
extern DMenu *device_create_disk_menu(DMenu *menu, Device **rdevs, int (*hook)());
|
||||
@ -230,6 +196,8 @@ extern int distSetUser(char *str);
|
||||
extern int distSetXUser(char *str);
|
||||
extern int distSetMinimum(char *str);
|
||||
extern int distSetEverything(char *str);
|
||||
extern int distSetSrc(char *str);
|
||||
extern void distExtractAll(void);
|
||||
|
||||
/* dmenu.c */
|
||||
extern void dmenuOpen(DMenu *menu, int *choice, int *scroll,
|
||||
@ -257,17 +225,17 @@ extern void lang_set_Spanish(char *str);
|
||||
extern void lang_set_Swedish(char *str);
|
||||
|
||||
/* makedevs.c (auto-generated) */
|
||||
extern const char termcap_vt100[];
|
||||
extern const char termcap_cons25[];
|
||||
extern const char termcap_cons25_m[];
|
||||
extern const char termcap_cons25r[];
|
||||
extern const char termcap_cons25r_m[];
|
||||
extern const char termcap_cons25l1[];
|
||||
extern const char termcap_cons25l1_m[];
|
||||
extern const u_char font_iso_8x14[];
|
||||
extern const u_char font_cp850_8x14[];
|
||||
extern const u_char font_koi8_r_8x14[];
|
||||
extern const u_char koi8_r2cp866[];
|
||||
extern const char termcap_vt100[];
|
||||
extern const char termcap_cons25[];
|
||||
extern const char termcap_cons25_m[];
|
||||
extern const char termcap_cons25r[];
|
||||
extern const char termcap_cons25r_m[];
|
||||
extern const char termcap_cons25l1[];
|
||||
extern const char termcap_cons25l1_m[];
|
||||
extern const u_char font_iso_8x14[];
|
||||
extern const u_char font_cp850_8x14[];
|
||||
extern const u_char font_koi8_r_8x14[];
|
||||
extern const u_char koi8_r2cp866[];
|
||||
|
||||
/* media.c */
|
||||
extern int mediaSetCDROM(char *str);
|
||||
|
@ -8,7 +8,7 @@ SRCS= globals.c main.c dmenu.c menus.c \
|
||||
misc.c msg.c system.c install.c \
|
||||
termcap.c makedevs.c media.c variable.c \
|
||||
devices.c dist.c lang.c wizard.c \
|
||||
disks.c command.c
|
||||
disks.c command.c decode.c
|
||||
|
||||
CFLAGS += -Wall -g -I${.CURDIR}/../libdisk
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last program in the `sysinstall' line - the next
|
||||
* generation being essentially a complete rewrite.
|
||||
*
|
||||
* $Id: dist.c,v 1.1 1995/05/04 19:48:10 jkh Exp $
|
||||
* $Id: dist.c,v 1.2 1995/05/08 21:39:34 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -45,6 +45,11 @@
|
||||
|
||||
unsigned int Dists;
|
||||
unsigned int SrcDists;
|
||||
unsigned int XF86Dists;
|
||||
unsigned int XF86ServerDists;
|
||||
unsigned int XF86FontDists;
|
||||
|
||||
static int distSetXF86(char *str);
|
||||
|
||||
int
|
||||
distSetDeveloper(char *str)
|
||||
@ -59,6 +64,7 @@ distSetXDeveloper(char *str)
|
||||
{
|
||||
Dists = _DIST_XDEVELOPER;
|
||||
SrcDists = DIST_SRC_ALL;
|
||||
distSetXF86(NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -73,6 +79,7 @@ int
|
||||
distSetXUser(char *str)
|
||||
{
|
||||
Dists = _DIST_XUSER;
|
||||
distSetXF86(NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -88,37 +95,121 @@ distSetEverything(char *str)
|
||||
{
|
||||
Dists = DIST_ALL;
|
||||
SrcDists = DIST_SRC_ALL;
|
||||
distSetXF86(NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct {
|
||||
int
|
||||
distSetSrc(char *str)
|
||||
{
|
||||
extern DMenu MenuSrcDistributions;
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max;
|
||||
dmenuOpen(&MenuSrcDistributions, &choice, &scroll, &curr, &max);
|
||||
if (SrcDists)
|
||||
Dists |= DIST_SRC;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
distSetXF86(char *str)
|
||||
{
|
||||
extern DMenu MenuXF86;
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max;
|
||||
dmenuOpen(&MenuXF86, &choice, &scroll, &curr, &max);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct _dist {
|
||||
char *my_name;
|
||||
unsigned int my_bit;
|
||||
} DistTable[] = {
|
||||
{ "bin", DIST_BIN },
|
||||
{ "games", DIST_GAMES },
|
||||
{ "manpages", DIST_MANPAGES },
|
||||
{ "proflibs", DIST_PROFLIBS },
|
||||
{ "dict", DIST_DICT },
|
||||
{ "src", DIST_SRC },
|
||||
{ "des", DIST_DES },
|
||||
{ "compat1x", DIST_COMPAT1X },
|
||||
{ "xf86311l", DIST_XFREE86 },
|
||||
{ NULL, 0 },
|
||||
{ "bin", DIST_BIN },
|
||||
{ "games", DIST_GAMES },
|
||||
{ "manpages", DIST_MANPAGES },
|
||||
{ "proflibs", DIST_PROFLIBS },
|
||||
{ "dict", DIST_DICT },
|
||||
{ "src", DIST_SRC },
|
||||
{ "des", DIST_DES },
|
||||
{ "compat1x", DIST_COMPAT1X },
|
||||
{ "xf86311", DIST_XF86 },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
Boolean
|
||||
static struct _dist SrcDistTable[] = {
|
||||
{ "base", DIST_SRC_BASE },
|
||||
{ "gnu", DIST_SRC_GNU },
|
||||
{ "etc", DIST_SRC_ETC },
|
||||
{ "games", DIST_SRC_GAMES },
|
||||
{ "include", DIST_SRC_INCLUDE},
|
||||
{ "lib", DIST_SRC_LIB },
|
||||
{ "libexec", DIST_SRC_LIBEXEC},
|
||||
{ "lkm", DIST_SRC_LKM },
|
||||
{ "release", DIST_SRC_RELEASE},
|
||||
{ "sbin", DIST_SRC_SBIN },
|
||||
{ "share", DIST_SRC_SHARE },
|
||||
{ "sys", DIST_SRC_SYS },
|
||||
{ "ubin", DIST_SRC_UBIN },
|
||||
{ "usbin", DIST_SRC_USBIN },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
static struct _dist XFree86DistTable[] = {
|
||||
{ "bin", DIST_XF86_BIN },
|
||||
{ "lib", DIST_XF86_LIB },
|
||||
{ "doc", DIST_XF86_DOC },
|
||||
{ "man", DIST_XF86_MAN },
|
||||
{ "prog", DIST_XF86_PROG },
|
||||
{ "link", DIST_XF86_LINK },
|
||||
{ "pex", DIST_XF86_PEX },
|
||||
{ "lbx", DIST_XF86_LBX },
|
||||
{ "xicf", DIST_XF86_XINIT },
|
||||
{ "xdmcf", DIST_XF86_XDMCF },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
static struct _dist XFree86ServerDistTable[] = {
|
||||
{ "8514", DIST_XF86_SERVER_8514 },
|
||||
{ "AGX", DIST_XF86_SERVER_AGX },
|
||||
{ "Mch3", DIST_XF86_SERVER_MACH32 },
|
||||
{ "Mch8", DIST_XF86_SERVER_MACH8 },
|
||||
{ "Mono", DIST_XF86_SERVER_MONO },
|
||||
{ "P9K", DIST_XF86_SERVER_P9000 },
|
||||
{ "S3", DIST_XF86_SERVER_S3 },
|
||||
{ "SVGA", DIST_XF86_SERVER_SVGA },
|
||||
{ "VGA16", DIST_XF86_SERVER_VGA16 },
|
||||
{ "W32", DIST_XF86_SERVER_W32 },
|
||||
{ "nest", DIST_XF86_SERVER_NEST },
|
||||
{ NULL, 0 },
|
||||
};
|
||||
|
||||
static struct _dist XFree86FontDistTable[] = {
|
||||
{ "fnts", DIST_XF86_FONTS_MISC },
|
||||
{ "f100", DIST_XF86_FONTS_100 },
|
||||
{ "fscl", DIST_XF86_FONTS_SCALE },
|
||||
{ "fnon", DIST_XF86_FONTS_NON },
|
||||
{ "fsrv", DIST_XF86_FONTS_SERVER },
|
||||
};
|
||||
|
||||
static Boolean
|
||||
dist_extract(char *name)
|
||||
{
|
||||
int fd;
|
||||
|
||||
if (!strcmp(name, "src")) {
|
||||
}
|
||||
else if (!strcmp(name, "xf86311l")) {
|
||||
}
|
||||
else {
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
distExtractAll(void)
|
||||
{
|
||||
int i, fd;
|
||||
int i;
|
||||
|
||||
while (Dists) {
|
||||
for (i = 0; DistTable[i].my_name; i++) {
|
||||
|
82
usr.sbin/sysinstall/dist.h
Normal file
82
usr.sbin/sysinstall/dist.h
Normal file
@ -0,0 +1,82 @@
|
||||
#ifndef _DIST_H_INCLUDE
|
||||
#define _DIST_H_INCLUDE
|
||||
|
||||
/* Bitfields for distributions - hope we never have more than 32! :-) */
|
||||
#define DIST_BIN 0x0001
|
||||
#define DIST_GAMES 0x0002
|
||||
#define DIST_MANPAGES 0x0004
|
||||
#define DIST_PROFLIBS 0x0008
|
||||
#define DIST_DICT 0x0010
|
||||
#define DIST_SRC 0x0020
|
||||
#define DIST_DES 0x0040
|
||||
#define DIST_INFO 0x0080
|
||||
#define DIST_COMPAT1X 0x0100
|
||||
#define DIST_XF86 0x0200
|
||||
#define DIST_COMMERCIAL 0x0400
|
||||
#define DIST_ALL 0x0FFF
|
||||
|
||||
/* Canned distribution sets */
|
||||
#define _DIST_DEVELOPER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_PROFLIBS | DIST_SRC)
|
||||
|
||||
#define _DIST_XDEVELOPER \
|
||||
(_DIST_DEVELOPER | DIST_XF86)
|
||||
|
||||
#define _DIST_USER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_COMPAT1X)
|
||||
|
||||
#define _DIST_XUSER \
|
||||
(_DIST_USER | DIST_XF86)
|
||||
|
||||
|
||||
/* Subtypes for SRC distribution */
|
||||
#define DIST_SRC_BASE 0x0001
|
||||
#define DIST_SRC_GNU 0x0002
|
||||
#define DIST_SRC_ETC 0x0004
|
||||
#define DIST_SRC_GAMES 0x0008
|
||||
#define DIST_SRC_INCLUDE 0x0010
|
||||
#define DIST_SRC_LIB 0x0020
|
||||
#define DIST_SRC_LIBEXEC 0x0040
|
||||
#define DIST_SRC_LKM 0x0080
|
||||
#define DIST_SRC_RELEASE 0x0100
|
||||
#define DIST_SRC_SBIN 0x0200
|
||||
#define DIST_SRC_SHARE 0x0400
|
||||
#define DIST_SRC_SYS 0x0800
|
||||
#define DIST_SRC_UBIN 0x1000
|
||||
#define DIST_SRC_USBIN 0x2000
|
||||
#define DIST_SRC_XF86 0x4000
|
||||
#define DIST_SRC_ALL 0xFFFF
|
||||
|
||||
/* Subtypes for XFree86 distribution */
|
||||
#define DIST_XF86_BIN 0x0001
|
||||
#define DIST_XF86_LIB 0x0004
|
||||
#define DIST_XF86_DOC 0x0008
|
||||
#define DIST_XF86_MAN 0x0010
|
||||
#define DIST_XF86_PROG 0x0020
|
||||
#define DIST_XF86_LINK 0x0040
|
||||
#define DIST_XF86_PEX 0x0080
|
||||
#define DIST_XF86_LBX 0x0100
|
||||
#define DIST_XF86_SERVER 0x0200
|
||||
#define DIST_XF86_SERVER_8514 0x0001
|
||||
#define DIST_XF86_SERVER_AGX 0x0002
|
||||
#define DIST_XF86_SERVER_MACH32 0x0004
|
||||
#define DIST_XF86_SERVER_MACH8 0x0008
|
||||
#define DIST_XF86_SERVER_MONO 0x0010
|
||||
#define DIST_XF86_SERVER_P9000 0x0020
|
||||
#define DIST_XF86_SERVER_S3 0x0040
|
||||
#define DIST_XF86_SERVER_SVGA 0x0080
|
||||
#define DIST_XF86_SERVER_VGA16 0x0100
|
||||
#define DIST_XF86_SERVER_W32 0x0200
|
||||
#define DIST_XF86_SERVER_NEST 0x0400
|
||||
#define DIST_XF86_XINIT 0x0400
|
||||
#define DIST_XF86_XDMCF 0x0800
|
||||
#define DIST_XF86_FONTS 0x1000
|
||||
#define DIST_XF86_FONTS_MISC 0x0001
|
||||
#define DIST_XF86_FONTS_100 0x0002
|
||||
#define DIST_XF86_FONTS_SCALE 0x0004
|
||||
#define DIST_XF86_FONTS_NON 0x0008
|
||||
#define DIST_XF86_FONTS_SERVER 0x0010
|
||||
#define DIST_XF86_ALL 0xFFFF
|
||||
|
||||
#endif
|
||||
/* _DIST_H_INCLUDE */
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated for what's essentially a complete rewrite.
|
||||
*
|
||||
* $Id: dmenu.c,v 1.3 1995/04/29 19:33:00 jkh Exp $
|
||||
* $Id: dmenu.c,v 1.4 1995/05/01 21:56:20 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -117,15 +117,19 @@ dmenuOpen(DMenu *menu, int *choice, int *scroll, int *curr, int *max)
|
||||
}
|
||||
dialog_clear();
|
||||
if (!rval) {
|
||||
if (menu->options & DMENU_MULTIPLE_TYPE)
|
||||
tmp = &(menu->items[0]);
|
||||
if (menu->options & DMENU_MULTIPLE_TYPE) {
|
||||
if (menu->options & DMENU_CALL_FIRST)
|
||||
tmp = &(menu->items[0]);
|
||||
else {
|
||||
if (decode_and_dispatch_multiple(menu, result) ||
|
||||
menu->options & DMENU_SELECTION_RETURNS) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (tmp = menu->items; tmp->title; tmp++)
|
||||
if (!strcmp(result,
|
||||
(*tmp->title == '*') ? tmp->title + 1 :
|
||||
tmp->title))
|
||||
break;
|
||||
if (!tmp->title)
|
||||
if ((tmp = decode(menu, result)) == NULL)
|
||||
msgFatal("Menu item `%s' not found??", result);
|
||||
}
|
||||
}
|
||||
@ -135,61 +139,7 @@ dmenuOpen(DMenu *menu, int *choice, int *scroll, int *curr, int *max)
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
switch (tmp->type) {
|
||||
/* User whapped ESC twice and wants a sub-shell */
|
||||
case DMENU_SHELL_ESCAPE:
|
||||
systemShellEscape();
|
||||
break;
|
||||
|
||||
/* We want to simply display a file */
|
||||
case DMENU_DISPLAY_FILE:
|
||||
systemDisplayFile((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* It's a sub-menu; recurse on it */
|
||||
case DMENU_SUBMENU: {
|
||||
int choice, scroll, curr, max;
|
||||
|
||||
choice = scroll = curr = max = 0;
|
||||
dmenuOpen((DMenu *)tmp->ptr, &choice, &scroll, &curr, &max);
|
||||
break;
|
||||
}
|
||||
|
||||
/* Execute it as a system command */
|
||||
case DMENU_SYSTEM_COMMAND:
|
||||
(void)systemExecute((char *)tmp->ptr);
|
||||
break;
|
||||
|
||||
/* Same as above, but execute it in a prgbox */
|
||||
case DMENU_SYSTEM_COMMAND_BOX:
|
||||
use_helpfile(NULL);
|
||||
use_helpline("Select OK to dismiss this dialog");
|
||||
dialog_prgbox(tmp->title, (char *)tmp->ptr, 22, 76, 1, 1);
|
||||
dialog_clear();
|
||||
break;
|
||||
|
||||
case DMENU_CALL:
|
||||
if (((int (*)())tmp->ptr)(result)) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
case DMENU_CANCEL:
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
|
||||
case DMENU_SET_VARIABLE:
|
||||
variable_set((char *)tmp->ptr);
|
||||
msgInfo("Setting option %s", tmp->ptr);
|
||||
break;
|
||||
|
||||
default:
|
||||
msgFatal("Don't know how to deal with menu type %d", tmp->type);
|
||||
}
|
||||
|
||||
/* Did the user want to make this a single-selection menu? */
|
||||
if (menu->options & DMENU_SELECTION_RETURNS) {
|
||||
if (dispatch(tmp) || menu->options & DMENU_SELECTION_RETURNS) {
|
||||
items_free(nitems, curr, max);
|
||||
return;
|
||||
}
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last program in the `sysinstall' line - the next
|
||||
* generation being essentially a complete rewrite.
|
||||
*
|
||||
* $Id: menus.c,v 1.8 1995/05/05 23:47:43 jkh Exp $
|
||||
* $Id: menus.c,v 1.9 1995/05/08 10:20:54 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -57,6 +57,12 @@ extern DMenu MenuMedia;
|
||||
extern DMenu MenuInstallType;
|
||||
extern DMenu MenuInstallOptions;
|
||||
extern DMenu MenuDistributions;
|
||||
extern DMenu MenuXF86Select;
|
||||
extern DMenu MenuXF86SelectCore;
|
||||
extern DMenu MenuXF86SelectServer;
|
||||
extern DMenu MenuXF86SelectFonts;
|
||||
extern DMenu MenuXF86;
|
||||
extern DMenu MenuInstallFtpOptions;
|
||||
|
||||
/* The initial installation menu */
|
||||
DMenu MenuInitial = {
|
||||
@ -69,13 +75,13 @@ option by pressing enter. If you'd like a shell, press ESC", /* prompt */
|
||||
"Press F1 for usage instructions", /* help line */
|
||||
"usage.hlp", /* help file */
|
||||
{ { "Usage", "Quick start - How to use this menu system.", /* U */
|
||||
DMENU_DISPLAY_FILE, (void *)"usage.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"usage.hlp", 0, 0 },
|
||||
{ "Doc", "More detailed documentation on FreeBSD.", /* D */
|
||||
DMENU_SUBMENU, (void *)&MenuDocumentation, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuDocumentation, 0, 0 },
|
||||
{ "Lang", "Select natural language options.", /* L */
|
||||
DMENU_SUBMENU, (void *)&MenuLanguage, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuLanguage, 0, 0 },
|
||||
{ "Install", "Begin installation", /* I */
|
||||
DMENU_CALL, (void *)installCustom, 0 },
|
||||
DMENU_CALL, (void *)installCustom, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -92,18 +98,19 @@ answers in the FAQ.",
|
||||
"Confused? Press F1 for help.",
|
||||
"usage.hlp", /* help file */
|
||||
{ { "README", "Read this for a general description of FreeBSD", /* R */
|
||||
DMENU_DISPLAY_FILE, (void *)"readme.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"readme.hlp", 0, 0 },
|
||||
{ "Hardware", "The FreeBSD survival guide for PC hardware.", /* H */
|
||||
DMENU_DISPLAY_FILE, (void *)"hardware.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"hardware.hlp", 0, 0 },
|
||||
{ "Install", "A step-by-step guide to installing FreeBSD.", /* I */
|
||||
DMENU_DISPLAY_FILE, (void *)"install.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"install.hlp", 0, 0 },
|
||||
{ "FAQ", "Frequently Asked Questions about FreeBSD.", /* F */
|
||||
DMENU_DISPLAY_FILE, (void *)"faq.hlp", 0 },
|
||||
DMENU_DISPLAY_FILE, (void *)"faq.hlp", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
/* The language selection menu */
|
||||
/*
|
||||
* The language selection menu.
|
||||
*
|
||||
* Note: The RADIO menus use a slightly different syntax. If an item
|
||||
* name starts with `*', it's considered to be "ON" by default,
|
||||
* otherwise off.
|
||||
@ -116,31 +123,32 @@ While almost all of the system's documentation is still written\n\
|
||||
in english (and may never be translated), there are a few guides\n\
|
||||
and types of system documentation that may be written in your\n\
|
||||
preferred language. When such are found, they will be used instead\n\
|
||||
of the english versions.", /* prompt */
|
||||
of the english versions. This feature is nonetheless considered\n\
|
||||
to be in experimental status at this time.", /* prompt */
|
||||
"Press F1 for more information", /* help line */
|
||||
"language.hlp", /* help file */
|
||||
{ { "Danish", "Danish language and character set (ISO-8859-1)", /* D */
|
||||
DMENU_CALL, (void *)lang_set_Danish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Danish, 0, 0 },
|
||||
{ "Dutch", "Dutch language and character set (ISO-8859-1)", /* D */
|
||||
DMENU_CALL, (void *)lang_set_Dutch, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Dutch, 0, 0 },
|
||||
{ "English", "English language (system default)", /* E */
|
||||
DMENU_CALL, (void *)lang_set_English, 0 },
|
||||
DMENU_CALL, (void *)lang_set_English, 0, 0 },
|
||||
{ "French", "French language and character set (ISO-8859-1)", /* F */
|
||||
DMENU_CALL, (void *)lang_set_French, 0 },
|
||||
DMENU_CALL, (void *)lang_set_French, 0, 0 },
|
||||
{ "German", "German language and character set (ISO-8859-1)", /* G */
|
||||
DMENU_CALL, (void *)lang_set_German, 0 },
|
||||
DMENU_CALL, (void *)lang_set_German, 0, 0 },
|
||||
{ "Italian", "Italian language and character set (ISO-8859-1)", /* I */
|
||||
DMENU_CALL, (void *)lang_set_Italian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Italian, 0, 0 },
|
||||
{ "Japanese", "Japanese language and default character set (romaji)",/* J */
|
||||
DMENU_CALL, (void *)lang_set_Japanese, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Japanese, 0, 0 },
|
||||
{ "Norwegian", "Norwegian language and character set (ISO-8859-1)", /* N */
|
||||
DMENU_CALL, (void *)lang_set_Norwegian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Norwegian, 0, 0 },
|
||||
{ "Russian", "Russian language and character set (cp866-8x14)", /* R */
|
||||
DMENU_CALL, (void *)lang_set_Russian, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Russian, 0, 0 },
|
||||
{ "Spanish", "Spanish language and character set (ISO-8859-1)", /* S */
|
||||
DMENU_CALL, (void *)lang_set_Spanish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Spanish, 0, 0 },
|
||||
{ "Swedish", "Swedish language and character set (ISO-8859-1)", /* S */
|
||||
DMENU_CALL, (void *)lang_set_Swedish, 0 },
|
||||
DMENU_CALL, (void *)lang_set_Swedish, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -150,20 +158,20 @@ DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
|
||||
"FreeBSD can be installed directly from a CDROM containing a valid\n\
|
||||
FreeBSD 2.0.5 distribution. If you're seeing this menu, it's because\n\
|
||||
your CDROM drive was not properly auto-detected, or you did not launch\n\
|
||||
this installation from the CD under DOS or Windows. If you think you're\n\
|
||||
this installation from the CD under DOS or Windows. If you think you are\n
|
||||
seeing this dialog in error, you may wish to reboot FreeBSD with the\n\
|
||||
-c boot flag (.. boot: /kernel -c) and check that your hardware and\n
|
||||
the kernel agree on reasonable values.",
|
||||
-c boot flag (.. boot: /kernel -c) and check that your hardware and\n\
|
||||
the kernel agree on reasonable values.",
|
||||
"Press F1 for more information on CDROM support",
|
||||
"media_cdrom.hlp",
|
||||
{ { "Matsushita", "Panasonic \"Sound Blaster\" CDROM.",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/matcd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/matcd0a", 0, 0 },
|
||||
{ "Mitsumi", "Mitsumi FX-001 series drive (not IDE)",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/mcd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/mcd0a", 0, 0 },
|
||||
{ "SCSI", "SCSI CDROM drive attached to supported SCSI controller",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/cd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/cd0a", 0, 0 },
|
||||
{ "Sony", "Sony CDU31/33A or compatible CDROM drive",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/scd0a", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=/dev/scd0a", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -179,59 +187,59 @@ If the first site selected doesn't respond, try one of the alternates.",
|
||||
"Select a site that's close!",
|
||||
"media_ftp.hlp",
|
||||
{ { "Primary", "ftp.freebsd.org",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Secondary", "freefall.cdrom.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://freefall.cdrom.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://freefall.cdrom.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Australia", "ftp.physics.usyd.edu.au",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.physics.usyd.edu.au/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.physics.usyd.edu.au/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Finland", "nic.funet.fi",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://nic.funet.fi/pub/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://nic.funet.fi/pub/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "France", "ftp.ibp.fr",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ibp.fr/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ibp.fr/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Germany", "ftp.uni-duisburg.de",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.uni-duisburg.de/pub/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.uni-duisburg.de/pub/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Israel", "orgchem.weizmann.ac.il",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://orgchem.weizmann.ac.il/pub/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://orgchem.weizmann.ac.il/pub/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan", "ftp.sra.co.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.sra.co.jp/pub/os/FreeBSD/distribution/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.sra.co.jp/pub/os/FreeBSD/distribution/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-2", "ftp.mei.co.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.mei.co.jp/free/PC-UNIX/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.mei.co.jp/free/PC-UNIX/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-3", "ftp.waseda.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.waseda.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.waseda.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-4", "ftp.pu-toyama.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.pu-toyama.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.pu-toyama.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-5", "ftpsv1.u-aizu.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftpsv1.u-aizu.ac.jp/pub/os/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftpsv1.u-aizu.ac.jp/pub/os/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-6", "tutserver.tutcc.tut.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://tutserver.tutcc.tut.ac.jp/FreeBSD/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://tutserver.tutcc.tut.ac.jp/FreeBSD/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Japan-7", "ftp.ee.uec.ac.jp",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ee.uec.ac.jp/pub/os/FreeBSD.other/FreeBSD-2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.ee.uec.ac.jp/pub/os/FreeBSD.other/FreeBSD-2.0.5-ALPHA", 0, 0 },
|
||||
{ "Korea", "ftp.cau.ac.kr",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.cau.ac.kr/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.cau.ac.kr/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Netherlands", "ftp.nl.net",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nl.net/pub/os/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nl.net/pub/os/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Russia", "ftp.kiae.su",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.kiae.su/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.kiae.su/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Sweden", "ftp.luth.se",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.luth.se/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.luth.se/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Taiwan", "netbsd.csie.nctu.edu.tw",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://netbsd.csie.nctu.edu.tw/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://netbsd.csie.nctu.edu.tw/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "Thailand", "ftp.nectec.or.th",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nectec.or.th/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.nectec.or.th/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK", "ftp.demon.co.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.demon.co.uk/pub/BSD/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.demon.co.uk/pub/BSD/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK-2", "src.doc.ic.ac.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://src.doc.ic.ac.uk/packages/unix/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://src.doc.ic.ac.uk/packages/unix/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "UK-3", "unix.hensa.ac.uk",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://unix.hensa.ac.uk/pub/walnut.creek/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA", "ref.tfs.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ref.tfs.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ref.tfs.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-2", "ftp.dataplex.net",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.dataplex.net/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.dataplex.net/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-3", "kryten.atinc.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://kryten.atinc.com/pub/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://kryten.atinc.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ "USA-4", "ftp.neosoft.com",
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0 },
|
||||
DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0, 0 },
|
||||
{ NULL } }
|
||||
};
|
||||
|
||||
@ -243,22 +251,21 @@ DMENU_NORMAL_TYPE,
|
||||
media, ranging from floppies to the Internet. If you're installing\n\
|
||||
FreeBSD from a supported CDROM drive then this is generally the best\n\
|
||||
method to use unless you have some overriding reason for using another\n\
|
||||
method. Please also note that the DES distribution is NOT available on \n\
|
||||
CDROM due to U.S. export restrictions.",
|
||||
method.",
|
||||
"Press F1 for more information on the various media types",
|
||||
"media.hlp",
|
||||
{ { "CDROM", "Install from a FreeBSD CDROM",
|
||||
DMENU_CALL, (void *)mediaSetCDROM, 0 },
|
||||
{ "FLOPPY", "Install from a floppy disk set",
|
||||
DMENU_CALL, (void *)mediaSetFloppy, 0 },
|
||||
DMENU_CALL, (void *)mediaSetCDROM, 0, 0 },
|
||||
{ "Floppy", "Install from a floppy disk set",
|
||||
DMENU_CALL, (void *)mediaSetFloppy, 0, 0 },
|
||||
{ "DOS", "Install from a DOS partition",
|
||||
DMENU_CALL, (void *)mediaSetDOS, 0 },
|
||||
{ "TAPE", "Install from SCSI or QIC tape",
|
||||
DMENU_CALL, (void *)mediaSetTape, 0 },
|
||||
DMENU_CALL, (void *)mediaSetDOS, 0, 0 },
|
||||
{ "Tape", "Install from SCSI or QIC tape",
|
||||
DMENU_CALL, (void *)mediaSetTape, 0, 0 },
|
||||
{ "FTP", "Install from an Internet FTP server",
|
||||
DMENU_CALL, (void *)mediaSetFTP, 0 },
|
||||
{ "FILESYSTEM", "Install from a UFS or NFS mounted distribution",
|
||||
DMENU_CALL, (void *)mediaSetFS, 0 },
|
||||
DMENU_CALL, (void *)mediaSetFTP, 0, 0 },
|
||||
{ "File System", "Install from a UFS or NFS mounted distribution",
|
||||
DMENU_CALL, (void *)mediaSetFS, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -266,26 +273,26 @@ CDROM due to U.S. export restrictions.",
|
||||
DMenu MenuInstallType = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Type",
|
||||
"As a convenience, we provide several `canned' installation types. \
|
||||
These pick what we consider to be the most reasonable defaults for the \
|
||||
type of system in question. If you would prefer to pick and choose \
|
||||
"As a convenience, we provide several `canned' installation types.\n\
|
||||
These pick what we consider to be the most reasonable defaults for the\n\
|
||||
type of system in question. If you would prefer to pick and choose\n\
|
||||
the list of distributions yourself, simply select `custom'.",
|
||||
"Press F1 for more information on the various distributions",
|
||||
"dist_types.hlp",
|
||||
{ { "Developer", "Includes full sources, binaries and doc but no games.",
|
||||
DMENU_CALL, (void *)distSetDeveloper, 0 },
|
||||
DMENU_CALL, (void *)distSetDeveloper, 0, 0 },
|
||||
{ "X-Developer", "Same as above, but includes XFree86.",
|
||||
DMENU_CALL, (void *)distSetXDeveloper, 0 },
|
||||
DMENU_CALL, (void *)distSetXDeveloper, 0, 0 },
|
||||
{ "User", "General user. Binaries and doc but no sources.",
|
||||
DMENU_CALL, (void *)distSetUser, 0 },
|
||||
DMENU_CALL, (void *)distSetUser, 0, 0 },
|
||||
{ "X-User", "Same as above, but includes XFree86.",
|
||||
DMENU_CALL, (void *)distSetXUser, 0 },
|
||||
DMENU_CALL, (void *)distSetXUser, 0, 0 },
|
||||
{ "Minimal", "The smallest configuration possible.",
|
||||
DMENU_CALL, (void *)distSetMinimum, 0 },
|
||||
DMENU_CALL, (void *)distSetMinimum, 0, 0 },
|
||||
{ "Everything", "The entire source and binary distribution.",
|
||||
DMENU_CALL, (void *)distSetEverything, 0 },
|
||||
DMENU_CALL, (void *)distSetEverything, 0, 0 },
|
||||
{ "Custom", "Specify your own distribution set",
|
||||
DMENU_SUBMENU, (void *)&MenuDistributions, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuDistributions, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -296,27 +303,188 @@ DMENU_MULTIPLE_TYPE,
|
||||
"Press F1 for a more complete description of these distributions.",
|
||||
"distribution_types.hlp",
|
||||
{ { "*bin", "Binary base distribution (required)",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_BIN, 0 },
|
||||
{ "commercial", "Commercial demos and shareware",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_COMMERCIAL, 0 },
|
||||
{ "compat1x", "FreeBSD 1.x binary compatability package",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_COMPAT1X, 0 },
|
||||
{ "DES", "DES encryption code and sources",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_DES, 0 },
|
||||
{ "dict", "Spelling checker disctionary files",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_DICT, 0 },
|
||||
{ "games", "Games and other amusements (non-commercial)",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_GAMES, 0 },
|
||||
{ "info", "GNU info files",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
{ "man", "System manual pages - strongly recommended",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_INFO, 0 },
|
||||
{ "*man", "System manual pages - strongly recommended",
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_MANPAGES, 0 },
|
||||
{ "proflibs", "Profiled versions of the libraries",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_SET_FLAG, (void *)&Dists, DIST_PROFLIBS, 0 },
|
||||
{ "src", "Sources for everything but DES",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
{ "XFree86", "The XFree86 3.1.1 distribution",
|
||||
DMENU_NOP, NULL, 0 },
|
||||
DMENU_CALL, (void *)distSetSrc, 0 },
|
||||
{ "XFree86", "The XFree86 3.1.1L distribution",
|
||||
DMENU_SUBMENU, (void *)&MenuXF86, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuSrcDistributions = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"Select the sub-components of src you wish to install.",
|
||||
"Please check off those portions of the FreeBSD source tree\n\
|
||||
you wish to install. A brief description of each source\n\
|
||||
hierarchy is contained in parenthesis below.",
|
||||
"Press F1 for a more complete description of distributions.",
|
||||
"distribution_types.hlp",
|
||||
{ { "base", "Base src directory (top-level files in /usr/src)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_BASE, 0 },
|
||||
{ "gnu", "/usr/src/gnu (user software from the GNU Project)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_GNU, 0 },
|
||||
{ "etc", "/usr/src/etc (miscellaneous system files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_ETC, 0 },
|
||||
{ "games", "/usr/src/games (games)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_GAMES, 0 },
|
||||
{ "include", "/usr/src/include (header files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_INCLUDE, 0 },
|
||||
{ "lib", "/usr/src/lib (system libraries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LIB, 0 },
|
||||
{ "libexec", "/usr/src/libexec (various system programs)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LIBEXEC, 0 },
|
||||
{ "lkm", "/usr/src/lkm (Loadable Kernel Modules)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_LKM, 0 },
|
||||
{ "release", "/usr/src/release (release-generation tools)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_RELEASE, 0 },
|
||||
{ "sbin", "/usr/src/sbin (system binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SBIN, 0 },
|
||||
{ "share", "/usr/src/share (documents and shared files)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SHARE, 0 },
|
||||
{ "sys", "/usr/src/sys (FreeBSD kernel)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_SYS, 0 },
|
||||
{ "ubin", "/usr/src/usr.bin (user binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_UBIN, 0 },
|
||||
{ "usbin", "/usr/src/usr.sbin (aux system binaries)",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_USBIN, 0 },
|
||||
{ "XFree86", "XFree86 3.1.1L source + contrib distribution",
|
||||
DMENU_SET_FLAG, (void *)&SrcDists, DIST_SRC_XF86, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86 = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"XFree86 3.1.1u1 Distribution",
|
||||
"Welcome to the XFree86 3.1.1u1 distribution from\n\
|
||||
The XFree86 Project, Inc. Recommended sequence: Select\n\
|
||||
desired release components, configure, start it up (optional!)",
|
||||
"Press F1 to read the XFree86 release notes for FreeBSD",
|
||||
"XFree86.hlp",
|
||||
{ { "Select", "Select and load components of the XFree86 distribution",
|
||||
DMENU_SUBMENU, &MenuXF86Select, 0, 0 },
|
||||
{ "Configure", "Configure an installed XFree86 distribution",
|
||||
DMENU_SYSTEM_COMMAND, "PATH=/usr/bin:/bin:/usr/X11R6/bin xf86config",
|
||||
0, 0 },
|
||||
{ "Start", "Try to start the server up",
|
||||
DMENU_SYSTEM_COMMAND, "PATH=/usr/bin:/bin:/usr/X11R6/bin startx",
|
||||
0, 0 },
|
||||
{ NULL } }
|
||||
};
|
||||
|
||||
DMenu MenuXF86Select = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"XFree86 3.1.1 \"Late\" Distribution",
|
||||
"Please select the components you need from the XFree86 3.1.1\n\
|
||||
distribution. Select what you need from the basic components set\n\
|
||||
and at least one entry from the Server menu and the Font set menu\n",
|
||||
"Press F1 for a sample sequence",
|
||||
"XF86Select.hlp",
|
||||
{ { "Core", "Basic component menu (required)",
|
||||
DMENU_SUBMENU, &MenuXF86SelectCore, 0, 0 },
|
||||
{ "Server", "X server menu",
|
||||
DMENU_SUBMENU, &MenuXF86SelectServer, 0, 0 },
|
||||
{ "Fonts", "Font set menu",
|
||||
DMENU_SUBMENU, &MenuXF86SelectFonts, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectCore = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"XFree86 3.1.1 base distribution types",
|
||||
"Please check off the primary XFree86 components you wish.\n\
|
||||
Those deemed most generally useful are already checked.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*bin", "X client applications and shared libs [4MB].",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_BIN, 0 },
|
||||
{ "*lib", "Data files needed at runtime [0.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_LIB, 0 },
|
||||
{ "xicf", "Customizable xinit runtime configuration file [0.1MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_XINIT, 0 },
|
||||
{ "xdcf", "Customizable xdm runtime configuration file [0.1MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_XDMCF, 0 },
|
||||
{ "doc", "READMEs and XFree86 specific man pages [0.5MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_DOC, 0 },
|
||||
{ "*man", "Man pages (except XFree86 specific ones in etc) [1.2MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_MAN, 0 },
|
||||
{ "prog", "Programmer's header and library files [4MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_PROG, 0 },
|
||||
{ "link", "X Server reconfiguration kit [7.8MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_LINK, 0 },
|
||||
{ "pex", "PEX fonts and shared libs needed by PEX applications [0.5MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86Dists, DIST_XF86_PEX, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectFonts = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"Font distribution selection.",
|
||||
"Please check off the individual font distributions you wish to\n\
|
||||
install. At the minimum, you should certainly install the standard\n\
|
||||
75 DPI and misc fonts if you're also installing a server.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*fnts", "Standard 75 DPI and miscellaneous fonts [3.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_MISC, 0 },
|
||||
{ "f100", "100 DPI fonts [1.8MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_100, 0 },
|
||||
{ "fscl", "Speedo and Type scalable fonts [1.6MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_SCALE, 0 },
|
||||
{ "non", "Japanese, Chinese and other non-english fonts [3.3MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_NON, 0 },
|
||||
{ "server", "Font server [0.3MB]",
|
||||
DMENU_SET_FLAG, (void *)&XF86FontDists, DIST_XF86_FONTS_SERVER, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuXF86SelectServer = {
|
||||
DMENU_MULTIPLE_TYPE,
|
||||
"X Server selection.",
|
||||
"Please check off the types of X servers you wish to\n\
|
||||
install. If you are unsure as which server will work\n\
|
||||
for your graphics card, it is recommended that try the\n\
|
||||
SVGA or VGA16 servers (the VGA16 and Mono servers are also\n\
|
||||
particularly well-suited to most LCD displays).",
|
||||
"xservers.hlp",
|
||||
"Press F1 for more information on the various X server types",
|
||||
{ { "*SVGA", "Standard VGA or Super VGA display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_SVGA, 0 },
|
||||
{ "VGA16", "Standard 16 color VGA display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_VGA16, 0 },
|
||||
{ "Mono", "Standard Monochrome display",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MONO, 0 },
|
||||
{ "8514", "8-bit (256 color) IBM 8514 or compatible card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_8514, 0 },
|
||||
{ "AGX", "8-bit AGX card",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_AGX, 0 },
|
||||
{ "Mch3", "8 and 16-bit (65K color) for ATI Mach32 card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MACH32, 0 },
|
||||
{ "Mch8", "8-bit ATI Mach8 card.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_MACH8, 0 },
|
||||
{ "P9K", "8, 16, and 24-bit color for Weitek P9000 based boards",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_P9000, 0 },
|
||||
{ "S3", "8, 16 and 24-bit color for S3 based boards",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_S3, 0 },
|
||||
{ "W32", "8-bit Color for ET4000/W32, /W32i and /W32p cards.",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_W32, 0 },
|
||||
{ "nest", "A nested server for testing purposes",
|
||||
DMENU_SET_FLAG, (void *)&XF86ServerDists, DIST_XF86_SERVER_NEST, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
@ -339,10 +507,38 @@ manager later.",
|
||||
DMenu MenuInstallOptions = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Options",
|
||||
"blah blah",
|
||||
"This menu controls how the FreeBSD installation will deal with various\n\
|
||||
error conditions, should they arise, and the degree to which you, the\n\
|
||||
user, will be prompted for options.",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { NULL } },
|
||||
{ { "Ftp Options", "Ftp options menu",
|
||||
DMENU_SUBMENU, (void *)&MenuInstallFtpOptions, 0, 0 },
|
||||
{ "NFS Secure", "NFS server talks only on a secure port",
|
||||
DMENU_SET_VARIABLE, (void *)"nfsServerSecure=yes", 0, 0 },
|
||||
{ "NFS Slow", "User is using a slow PC or ethernet card",
|
||||
DMENU_SET_VARIABLE, (void *)"nfsSlowPC=yes", 0, 0 },
|
||||
{ "Extra Debugging", "Toggle the extra debugging flag",
|
||||
DMENU_SET_VARIABLE, (void *)"debug=yes", 0, 0 },
|
||||
{ "No Debugging", "Turn the extra debugging flag off",
|
||||
DMENU_SET_VARIABLE, (void *)"debug=no", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
DMenu MenuInstallFtpOptions = {
|
||||
DMENU_RADIO_TYPE,
|
||||
"Choose Ftp Options",
|
||||
"In case of ftp failure, how would you like this installation\n\
|
||||
to deal with it? You have one of several choices:",
|
||||
NULL,
|
||||
NULL,
|
||||
{ { "*Ftp Retry", "On transfer failure, retry same host",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=loop", 0, 0 },
|
||||
{ "Ftp Reselect", "On transfer failure, ask for another host",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=reselect", 0, 0 },
|
||||
{ "Ftp Abort", "On transfer failure, abort installation",
|
||||
DMENU_SET_VARIABLE, (void *)"ftpRetryType=abort", 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
/* The main installation menu */
|
||||
@ -350,20 +546,21 @@ DMenu MenuInstall = {
|
||||
DMENU_NORMAL_TYPE,
|
||||
"Choose Installation Options", /* title */
|
||||
"Before installation can continue, you need to specify a few items\n\
|
||||
of information regarding the location of the distribution and the kind\n\
|
||||
of installation you want to have (and where). There are also a number\n\
|
||||
of options you can specify in the Options menu. If you do not wish to\n\
|
||||
install FreeBSD at this time, you may select Cancel to leave this menu",
|
||||
of information regarding the type of distribution you wish to have\n\
|
||||
and from where you wish to install it. There are also a number\n\
|
||||
of options you can specify in the Options menu which will determine\n\
|
||||
how . If you do not wish to install FreeBSD at this time, you may\n\
|
||||
select Cancel to leave this menu.",
|
||||
"You may also wish to read the install guide - press F1 to do so",
|
||||
"install.hlp",
|
||||
{ { "Media", "Choose Installation media type", /* M */
|
||||
DMENU_SUBMENU, (void *)&MenuMedia, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuMedia, 0, 0 },
|
||||
{ "Type", "Choose the type of installation you want", /* T */
|
||||
DMENU_SUBMENU, (void *)&MenuInstallType, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuInstallType, 0, 0 },
|
||||
{ "Options", "Specify installation options", /* O */
|
||||
DMENU_SUBMENU, (void *)&MenuInstallOptions, 0 },
|
||||
{ "Proceed", "Proceed with installation", /* P */
|
||||
DMENU_CANCEL, (void *)NULL, 0 },
|
||||
DMENU_SUBMENU, (void *)&MenuInstallOptions, 0, 0},
|
||||
{ "Proceed", "Proceed with installation", /* P */
|
||||
DMENU_CANCEL, (void *)NULL, 0, 0 },
|
||||
{ NULL } },
|
||||
};
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
* This is probably the last attempt in the `sysinstall' line, the next
|
||||
* generation being slated to essentially a complete rewrite.
|
||||
*
|
||||
* $Id: sysinstall.h,v 1.13 1995/05/08 10:20:56 jkh Exp $
|
||||
* $Id: sysinstall.h,v 1.14 1995/05/08 21:39:40 jkh Exp $
|
||||
*
|
||||
* Copyright (c) 1995
|
||||
* Jordan Hubbard. All rights reserved.
|
||||
@ -50,6 +50,7 @@
|
||||
#include <unistd.h>
|
||||
#include <dialog.h>
|
||||
#include "libdisk.h"
|
||||
#include "dist.h"
|
||||
|
||||
/*** Defines ***/
|
||||
|
||||
@ -58,49 +59,7 @@
|
||||
#define DMENU_RADIO_TYPE 0x2 /* Radio dialog menu */
|
||||
#define DMENU_MULTIPLE_TYPE 0x4 /* Multiple choice menu */
|
||||
#define DMENU_SELECTION_RETURNS 0x8 /* Select item then exit */
|
||||
|
||||
/* Bitfields for distributions - hope we never have more than 32! :-) */
|
||||
#define DIST_BIN 0x1
|
||||
#define DIST_GAMES 0x2
|
||||
#define DIST_MANPAGES 0x4
|
||||
#define DIST_PROFLIBS 0x8
|
||||
#define DIST_DICT 0x10
|
||||
#define DIST_SRC 0x20
|
||||
#define DIST_DES 0x40
|
||||
#define DIST_COMPAT1X 0x80
|
||||
#define DIST_XFREE86 0x100
|
||||
#define DIST_ALL 0xFFF
|
||||
|
||||
/* Canned distribution sets */
|
||||
#define _DIST_DEVELOPER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_PROFLIBS | DIST_SRC)
|
||||
|
||||
#define _DIST_XDEVELOPER \
|
||||
(_DIST_DEVELOPER | DIST_XFREE86)
|
||||
|
||||
#define _DIST_USER \
|
||||
(DIST_BIN | DIST_MANPAGES | DIST_DICT | DIST_COMPAT1X)
|
||||
|
||||
#define _DIST_XUSER \
|
||||
(_DIST_USER | DIST_XFREE86)
|
||||
|
||||
|
||||
/* Subtypes for SRC distribution */
|
||||
#define DIST_SRC_BASE 0x1
|
||||
#define DIST_SRC_GNU 0x2
|
||||
#define DIST_SRC_ETC 0x4
|
||||
#define DIST_SRC_GAMES 0x8
|
||||
#define DIST_SRC_INCLUDE 0x10
|
||||
#define DIST_SRC_LIB 0x20
|
||||
#define DIST_SRC_LIBEXEC 0x40
|
||||
#define DIST_SRC_LKM 0x80
|
||||
#define DIST_SRC_RELEASE 0x100
|
||||
#define DIST_SRC_SBIN 0x200
|
||||
#define DIST_SRC_SHARE 0x400
|
||||
#define DIST_SRC_SYS 0x800
|
||||
#define DIST_SRC_UBIN 0x1000
|
||||
#define DIST_SRC_USBIN 0x2000
|
||||
#define DIST_SRC_ALL 0xFFFF
|
||||
#define DMENU_CALL_FIRST 0x10 /* In multiple, use one handler */
|
||||
|
||||
/* variable limits */
|
||||
#define VAR_NAME_MAX 128
|
||||
@ -109,9 +68,6 @@
|
||||
/* device limits */
|
||||
#define DEV_NAME_MAX 128
|
||||
|
||||
/* handy */
|
||||
#define ONE_MEG 1048576
|
||||
|
||||
|
||||
/*** Types ***/
|
||||
typedef unsigned int Boolean;
|
||||
@ -123,6 +79,7 @@ typedef enum {
|
||||
DMENU_SYSTEM_COMMAND, /* Run shell commmand */
|
||||
DMENU_SYSTEM_COMMAND_BOX, /* Same as above, but in prgbox */
|
||||
DMENU_SET_VARIABLE, /* Set an environment/system var */
|
||||
DMENU_SET_FLAG, /* Set flag in an unsigned int */
|
||||
DMENU_CALL, /* Call back a C function */
|
||||
DMENU_CANCEL, /* Cancel out of this menu */
|
||||
DMENU_NOP, /* Do nothing special for item */
|
||||
@ -133,6 +90,7 @@ typedef struct _dmenuItem {
|
||||
char *prompt; /* Our prompt */
|
||||
DMenuItemType type; /* What type of item we are */
|
||||
void *ptr; /* Generic data ptr */
|
||||
u_long parm; /* Parameter for above */
|
||||
Boolean disabled; /* Are we temporarily disabled? */
|
||||
} DMenuItem;
|
||||
|
||||
@ -200,6 +158,9 @@ extern Boolean OnVTY; /* On a syscons VTY? */
|
||||
extern Variable *VarHead; /* The head of the variable chain */
|
||||
extern unsigned int Dists; /* Which distributions we want */
|
||||
extern unsigned int SrcDists; /* Which src distributions we want */
|
||||
extern unsigned int XF86Dists;/* Which XFree86 dists we want */
|
||||
extern unsigned int XF86ServerDists; /* The XFree86 servers we want */
|
||||
extern unsigned int XF86FontDists; /* The XFree86 fonts we want */
|
||||
extern struct disk *Disks[]; /* The disks we're working on */
|
||||
|
||||
/*** Prototypes ***/
|
||||
@ -210,6 +171,11 @@ extern void command_sort(void);
|
||||
extern void command_execute(void);
|
||||
extern void command_add(char *key, char *fmt, ...);
|
||||
|
||||
/* decode.c */
|
||||
extern DMenuItem *decode(DMenu *menu, char *name);
|
||||
extern Boolean dispatch(DMenuItem *tmp, char *name);
|
||||
extern Boolean decode_and_dispatch_multiple(DMenu *menu, char *names);
|
||||
|
||||
/* devices.c */
|
||||
extern struct disk *device_slice_disk(struct disk *d);
|
||||
extern DMenu *device_create_disk_menu(DMenu *menu, Device **rdevs, int (*hook)());
|
||||
@ -230,6 +196,8 @@ extern int distSetUser(char *str);
|
||||
extern int distSetXUser(char *str);
|
||||
extern int distSetMinimum(char *str);
|
||||
extern int distSetEverything(char *str);
|
||||
extern int distSetSrc(char *str);
|
||||
extern void distExtractAll(void);
|
||||
|
||||
/* dmenu.c */
|
||||
extern void dmenuOpen(DMenu *menu, int *choice, int *scroll,
|
||||
@ -257,17 +225,17 @@ extern void lang_set_Spanish(char *str);
|
||||
extern void lang_set_Swedish(char *str);
|
||||
|
||||
/* makedevs.c (auto-generated) */
|
||||
extern const char termcap_vt100[];
|
||||
extern const char termcap_cons25[];
|
||||
extern const char termcap_cons25_m[];
|
||||
extern const char termcap_cons25r[];
|
||||
extern const char termcap_cons25r_m[];
|
||||
extern const char termcap_cons25l1[];
|
||||
extern const char termcap_cons25l1_m[];
|
||||
extern const u_char font_iso_8x14[];
|
||||
extern const u_char font_cp850_8x14[];
|
||||
extern const u_char font_koi8_r_8x14[];
|
||||
extern const u_char koi8_r2cp866[];
|
||||
extern const char termcap_vt100[];
|
||||
extern const char termcap_cons25[];
|
||||
extern const char termcap_cons25_m[];
|
||||
extern const char termcap_cons25r[];
|
||||
extern const char termcap_cons25r_m[];
|
||||
extern const char termcap_cons25l1[];
|
||||
extern const char termcap_cons25l1_m[];
|
||||
extern const u_char font_iso_8x14[];
|
||||
extern const u_char font_cp850_8x14[];
|
||||
extern const u_char font_koi8_r_8x14[];
|
||||
extern const u_char koi8_r2cp866[];
|
||||
|
||||
/* media.c */
|
||||
extern int mediaSetCDROM(char *str);
|
||||
|
Loading…
Reference in New Issue
Block a user