summaryrefslogtreecommitdiffstats
path: root/usr.sbin/sade
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-05-21 15:40:54 +0000
committerjkh <jkh@FreeBSD.org>1995-05-21 15:40:54 +0000
commit4a787e15cb0d283d322b339da109669d726aca89 (patch)
treee10f963b1e89963fb5b2b5292efe83d3145698d9 /usr.sbin/sade
parent0fff99e87d8ae6d88b00b11970270a81ea9636a1 (diff)
downloadFreeBSD-src-4a787e15cb0d283d322b339da109669d726aca89.zip
FreeBSD-src-4a787e15cb0d283d322b339da109669d726aca89.tar.gz
1. Start syncing up the network strategy code so that folks like Poul and
Justin can see it. 2. Attempt to fix the redisplay problems in label.c some more. Not clearing the screen each time is certainly faster, but it's causing all sorts of problems.
Diffstat (limited to 'usr.sbin/sade')
-rw-r--r--usr.sbin/sade/devices.c6
-rw-r--r--usr.sbin/sade/install.c49
-rw-r--r--usr.sbin/sade/label.c4
-rw-r--r--usr.sbin/sade/menus.c143
-rw-r--r--usr.sbin/sade/sade.h16
5 files changed, 138 insertions, 80 deletions
diff --git a/usr.sbin/sade/devices.c b/usr.sbin/sade/devices.c
index 529eba5..5d103df 100644
--- a/usr.sbin/sade/devices.c
+++ b/usr.sbin/sade/devices.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: devices.c,v 1.24 1995/05/20 15:49:53 jkh Exp $
+ * $Id: devices.c,v 1.25 1995/05/20 16:22:41 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -236,7 +236,7 @@ deviceGetAll(void)
close(fd);
/* The only network devices that have fds associated are serial ones */
deviceRegister("ppp0", device_names[i].description, strdup(try),
- DEVICE_TYPE_NETWORK, TRUE, mediaInitNetwork, mediaGetNetwork, mediaCloseNetwork, NULL);
+ DEVICE_TYPE_NETWORK, TRUE, mediaInitNetwork, NULL, mediaCloseNetwork, NULL);
msgDebug("Found a device of type network named: %s\n", device_names[i].name);
}
break;
@@ -270,7 +270,7 @@ deviceGetAll(void)
|| !strncmp(ifptr->ifr_name, "lo0", 3))
continue;
deviceRegister(ifptr->ifr_name, ifptr->ifr_name, ifptr->ifr_name,
- DEVICE_TYPE_NETWORK, TRUE, mediaInitNetwork, mediaGetNetwork, mediaCloseNetwork, NULL);
+ DEVICE_TYPE_NETWORK, TRUE, mediaInitNetwork, NULL, mediaCloseNetwork, NULL);
msgDebug("Found a device of type network named: %s\n", ifptr->ifr_name);
close(s);
if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c
index ec1d092..db8ecf1 100644
--- a/usr.sbin/sade/install.c
+++ b/usr.sbin/sade/install.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: install.c,v 1.44 1995/05/20 23:33:13 phk Exp $
+ * $Id: install.c,v 1.45 1995/05/21 01:56:01 phk Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -56,25 +56,6 @@ static void cpio_extract(void);
static void install_configuration_files(void);
static void do_final_setup(void);
-static Boolean
-preInstallCheck(void)
-{
- if (!getenv(DISK_PARTITIONED)) {
- msgConfirm("You need to partition your disk before you can proceed with\nthe installation.");
-
- return FALSE;
- }
- if (!getenv(DISK_LABELLED)) {
- msgConfirm("You need to assign disk labels before you can proceed with\nthe installation.");
- return FALSE;
- }
- if (!Dists) {
- msgConfirm("You haven't told me what distributions to load yet!\nPlease select a distribution from the Distributions menu.");
- return FALSE;
- }
- return TRUE;
-}
-
static void
installInitial(void)
{
@@ -89,6 +70,16 @@ installInitial(void)
if (alreadyDone)
return;
+ if (!getenv(DISK_PARTITIONED)) {
+ msgConfirm("You need to partition your disk before you can proceed with\nthe installation.");
+ return;
+ }
+ if (!getenv(DISK_LABELLED)) {
+ msgConfirm("You need to assign disk labels before you can proceed with\nthe installation.");
+ return;
+ }
+
+ /* Figure out what kind of MBR the user wants */
dmenuOpenSimple(&MenuMBRType);
mbrContents = NULL;
cp = getenv("bootManager");
@@ -99,9 +90,8 @@ installInitial(void)
mbrContents = mbr;
}
- /* If things aren't kosher, or we refuse to proceed, bail. */
- if (!preInstallCheck()
- || msgYesNo("Last Chance! Are you SURE you want continue the installation?\n\nIf you're running this on an existing system, we STRONGLY\nencourage you to make proper backups before proceeding.\nWe take no responsibility for lost disk contents!"))
+ /* If we refuse to proceed, bail. */
+ if (msgYesNo("Last Chance! Are you SURE you want continue the installation?\n\nIf you're running this on an existing system, we STRONGLY\nencourage you to make proper backups before proceeding.\nWe take no responsibility for lost disk contents!"))
return;
devs = deviceFind(NULL, DEVICE_TYPE_DISK);
@@ -158,12 +148,23 @@ installFinal(void)
alreadyDone = TRUE;
}
+/*
+ * What happens when we select "GO". This is broken into a 3 stage installation so that
+ * the user can do a full installation but come back here again to load more distributions,
+ * perhaps from a different media type. This would allow, for example, the user to load the
+ * majority of the system from CDROM and then use ftp to load just the DES dist.
+ */
int
installCommit(char *str)
{
- installInitial();
+ if (!Dists) {
+ msgConfirm("You haven't told me what distributions to load yet!\nPlease select a distribution from the Distributions menu.");
+ return 0;
+ }
if (!mediaVerify())
return 0;
+
+ installInitial();
distExtractAll();
installFinal();
return 0;
diff --git a/usr.sbin/sade/label.c b/usr.sbin/sade/label.c
index 0410186..d840353 100644
--- a/usr.sbin/sade/label.c
+++ b/usr.sbin/sade/label.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: label.c,v 1.16 1995/05/21 06:12:43 phk Exp $
+ * $Id: label.c,v 1.17 1995/05/21 10:16:10 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -210,9 +210,9 @@ get_mountpoint(struct chunk *old)
char *val;
PartInfo *tmp;
+ dialog_clear(); clear();
val = msgGetInput(old && old->private ? ((PartInfo *)old->private)->mountpoint : NULL,
"Please specify a mount point for the partition");
- clear();
if (!val)
return NULL;
diff --git a/usr.sbin/sade/menus.c b/usr.sbin/sade/menus.c
index 7fd3aed..d8f046c 100644
--- a/usr.sbin/sade/menus.c
+++ b/usr.sbin/sade/menus.c
@@ -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.21 1995/05/20 13:36:44 jkh Exp $
+ * $Id: menus.c,v 1.22 1995/05/20 20:30:11 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -168,8 +168,23 @@ procedure (available on the FreeBSD CDROM or the net under the\n\
tools/dos directory) or have otherwise prepared a set of diskettes\n\
for each distribution that properly contains all the components of\n\
the distribution plus the extraction and checksumming scripts.",
- "Please select which floppy drive you want to use",
- NULL,
+ "Press F1 to read the installation guide",
+ "install.hlp",
+ { { NULL } },
+};
+
+DMenu MenuMediaDOS = {
+ DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
+ "Choose a DOS partition",
+"FreeBSD can be installed directly from a DOS partition,\n\
+assuming of course that you've copied the relevant distributions\n\
+into your DOS partition before starting this installation. If\n\
+such is not the case, then you should reboot DOS at this time\n\
+and copy the distributions you want to install into a subdirectory\n\
+on one of your DOS partitions. Otherwise, please select the\n\
+DOS partition containing the FreeBSD distribution files.",
+ "Press F1 to read the installation guide",
+ "install.hlp",
{ { NULL } },
};
@@ -184,64 +199,97 @@ available from the Primary site.\n\n\
If the first site selected doesn't respond, try one of the alternates.\n\
You may also wish to investigate the Ftp options menu in case of trouble.",
"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, 0 },
- { "Secondary", "freefall.cdrom.com",
- DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://freefall.cdrom.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
+ "install.hlp",
+ { { "Primary Site", "ftp.freebsd.org",
+ DMENU_SET_VARIABLE, (void *)"ftp=ftp://ftp.freebsd.org/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
+ { "Secondary Site", "freefall.cdrom.com",
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=ftp://ftp.uni-duisburg.de/pub/unix/FreeBSD/2.0.5-ALPHA", 0, },
{ "Israel", "orgchem.weizmann.ac.il",
- DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://orgchem.weizmann.ac.il/pub/FreeBSD-2.0.5-ALPHA", 0, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 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, 0 },
- { "Japan-3", "ftp.waseda.ac.jp",
- 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, 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, 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, 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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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 *)"ftp=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 *)"ftp=ftp://ftp.waseda.ac.jp/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
+ { "Japan #4", "ftp.pu-toyama.ac.jp",
+ DMENU_SET_VARIABLE, (void *)"ftp=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 *)"ftp=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 *)"ftp=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 *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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, 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, 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, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=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 *)"ftp=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 *)"ftp=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, 0 },
- { "USA-2", "ftp.dataplex.net",
- 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, 0 },
- { "USA-4", "ftp.neosoft.com",
- DMENU_SET_VARIABLE, (void *)"mediaDevice=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0, 0 },
+ DMENU_SET_VARIABLE, (void *)"ftp=ftp://ref.tfs.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
+ { "USA #2", "ftp.dataplex.net",
+ DMENU_SET_VARIABLE, (void *)"ftp=ftp://ftp.dataplex.net/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
+ { "USA #3", "kryten.atinc.com",
+ DMENU_SET_VARIABLE, (void *)"ftp=ftp://kryten.atinc.com/pub/FreeBSD/2.0.5-ALPHA", 0, 0 },
+ { "USA #4", "ftp.neosoft.com",
+ DMENU_SET_VARIABLE, (void *)"ftp=ftp://ftp.neosoft.com/systems/FreeBSD/2.0.5-ALPHA", 0, 0 },
{ NULL } }
};
+DMenu MenuMediaTape = {
+ DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
+ "Choose a tape drive type",
+ "FreeBSD can be installed from tape drive, though this installation\n\
+method requires a certain amount of temporary storage in addition\n\
+to the space required by the distribution itself (tape drives make\n\
+poor random-access devices, so we extract _everything_ on the tape\n\
+in one pass). If you have sufficient space for this, then you should\n\
+select one of the following tape devices detected on your system.",
+ "Press F1 to read the installation guide",
+ "install.hlp",
+ { { NULL } },
+};
+
+DMenu MenuNetworkDevice = {
+ DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
+ "Choose a network interface type",
+ "FreeBSD can be installed directly over a network, using NFS\n\
+or FTP. If you're using an ethernet card to talk to the world\n\
+then setup is pretty straight-forward. If you are using PPP over\n\
+a serial device (cuaa0 or cuaa1) then you may need to dial your service\n\
+provider using a special PPP utility we provide for that purpose.\n\
+You can also install over your parallel port using a special \"laplink\"\n\
+cable, though this only works if you have another FreeBSD machine running\n\
+a fairly recent (2.0R or later) release to talk to.\n\n\
+To use PPP, select one of the serial devices, otherwise select lp0\n\
+for the parallel port or one of the ethernet controllers (if you have one)\n\
+for an ethernet installation.",
+ "Press F1 to read PPP user manual",
+ "ppp.0",
+ { { NULL } },
+};
+
/* The media selection menu */
DMenu MenuMedia = {
DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
@@ -533,8 +581,11 @@ When you're done setting options, please select Cancel.",
DMenu MenuOptionsFTP = {
DMENU_NORMAL_TYPE | DMENU_SELECTION_RETURNS,
"Choose FTP Options",
- "In case of ftp failure, how would you like this installation\n\
-to deal with it? You have several choices:",
+ "Please indicate how you would like FTP to deal with potential error\n\
+conditions, the default behavior being to Abort on transfer errors. If you\n\
+are behind an IP firewall, you will also probably wish to select passive\n\
+mode transfers (it's generally OK to set this in any case as almost all\n\
+servers support it, firewall or no).",
NULL,
NULL,
{ { "FTP Retry", "On transfer failure, retry same host",
diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h
index dd6d2fd..4813cae 100644
--- a/usr.sbin/sade/sade.h
+++ b/usr.sbin/sade/sade.h
@@ -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.24 1995/05/20 11:10:35 jkh Exp $
+ * $Id: sysinstall.h,v 1.25 1995/05/20 20:30:12 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -200,8 +200,11 @@ extern DMenu MenuOptionsLanguage; /* Language options menu */
extern DMenu MenuOptionsFTP; /* FTP options menu */
extern DMenu MenuMedia; /* Media type menu */
extern DMenu MenuMediaCDROM; /* CDROM media menu */
+extern DMenu MenuMediaDOS; /* DOS media menu */
extern DMenu MenuMediaFloppy; /* Floppy media menu */
extern DMenu MenuMediaFTP; /* FTP media menu */
+extern DMenu MenuMediaTape; /* Tape media menu */
+extern DMenu MenuNetworkDevice; /* Network device menu */
extern DMenu MenuInstall; /* Installation menu */
extern DMenu MenuInstallType; /* Installation type menu */
extern DMenu MenuDistributions; /* Distribution menu */
@@ -299,9 +302,9 @@ extern int mediaSetDOS(char *str);
extern int mediaSetTape(char *str);
extern int mediaSetFTP(char *str);
extern int mediaSetFS(char *str);
-extern FILE *mediaOpen(char *parent, char *me);
+extern int mediaOpen(char *parent, char *me);
extern Boolean mediaGetType(void);
-extern Boolean mediaExtractDist(FILE *fp);
+extern Boolean mediaExtractDist(char *dir, int fd);
extern Boolean mediaVerify(void);
extern void mediaClose(void);
@@ -316,13 +319,15 @@ extern Boolean mediaGetCDROM(char *dist);
extern Boolean mediaGetDOS(char *dist);
extern Boolean mediaInitTape(Device *dev);
extern Boolean mediaGetTape(char *dist);
+extern Boolean mediaInitFTP(Device *dev);
extern Boolean mediaInitNetwork(Device *dev);
-extern Boolean mediaGetNetwork(char *dist);
+extern Boolean mediaGetFTP(char *dist);
extern void mediaCloseTape(Device *dev);
extern void mediaCloseCDROM(Device *dev);
extern void mediaCloseDOS(Device *dev);
-extern void mediaCloseNetwork(Device *dev);
+extern void mediaCloseFTP(Device *dev);
extern void mediaCloseFloppy(Device *dev);
+extern void mediaCloseNetwork(Device *dev);
/* misc.c */
extern Boolean file_readable(char *fname);
@@ -369,6 +374,7 @@ extern int vsystem(char *fmt, ...);
/* tcpip.c */
extern int tcpOpenDialog(char *);
+extern Device *tcpDeviceSelect(void);
/* termcap.c */
extern int set_termcap(void);
OpenPOWER on IntegriCloud