Add `mediaOpen' function. This function mounts selected media device.

For example, you can dynamically generate and load configuration file
depending on the hardware configuration with the following template:

	mediaSetCDROM
	mediaOpen
	command='/dist/rescue/sh /dist/scripts/install.sh'
	system
	mediaClose
	configFile=/tmp/generated.cfg
	loadConfig

Now we have full access to files on the media before installation begins.
This commit is contained in:
Jung-uk Kim 2006-01-27 21:00:31 +00:00
parent 96ba6a6eb2
commit 910d8ea0aa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=154925
7 changed files with 36 additions and 0 deletions

View File

@ -45,6 +45,7 @@
static int dispatch_shutdown(dialogMenuItem *unused);
static int dispatch_systemExecute(dialogMenuItem *unused);
static int dispatch_msgConfirm(dialogMenuItem *unused);
static int dispatch_mediaOpen(dialogMenuItem *unused);
static int dispatch_mediaClose(dialogMenuItem *unused);
static struct _word {
@ -91,6 +92,7 @@ static struct _word {
{ "installVarDefaults", installVarDefaults },
{ "loadConfig", dispatch_load_file },
{ "loadFloppyConfig", dispatch_load_floppy },
{ "mediaOpen", dispatch_mediaOpen },
{ "mediaClose", dispatch_mediaClose },
{ "mediaSetCDROM", mediaSetCDROM },
{ "mediaSetFloppy", mediaSetFloppy },
@ -203,6 +205,12 @@ dispatch_msgConfirm(dialogMenuItem *unused)
return DITEM_FAILURE;
}
static int
dispatch_mediaOpen(dialogMenuItem *unused)
{
return mediaOpen();
}
static int
dispatch_mediaClose(dialogMenuItem *unused)
{

View File

@ -629,6 +629,11 @@ configuration file from another.
.It configFile
The fully qualified pathname of the file to load.
.El
.It mediaOpen
If a media device is set, mount it.
.Pp
.Sy Variables :
None
.It mediaClose
If a media device is open, close it.
.Pp

View File

@ -702,6 +702,7 @@ extern u_char default_scrnmap[];
/* media.c */
extern char *cpioVerbosity(void);
extern int mediaOpen(void);
extern void mediaClose(void);
extern int mediaTimeout(void);
extern int mediaSetCDROM(dialogMenuItem *self);

View File

@ -45,6 +45,7 @@
static int dispatch_shutdown(dialogMenuItem *unused);
static int dispatch_systemExecute(dialogMenuItem *unused);
static int dispatch_msgConfirm(dialogMenuItem *unused);
static int dispatch_mediaOpen(dialogMenuItem *unused);
static int dispatch_mediaClose(dialogMenuItem *unused);
static struct _word {
@ -91,6 +92,7 @@ static struct _word {
{ "installVarDefaults", installVarDefaults },
{ "loadConfig", dispatch_load_file },
{ "loadFloppyConfig", dispatch_load_floppy },
{ "mediaOpen", dispatch_mediaOpen },
{ "mediaClose", dispatch_mediaClose },
{ "mediaSetCDROM", mediaSetCDROM },
{ "mediaSetFloppy", mediaSetFloppy },
@ -203,6 +205,12 @@ dispatch_msgConfirm(dialogMenuItem *unused)
return DITEM_FAILURE;
}
static int
dispatch_mediaOpen(dialogMenuItem *unused)
{
return mediaOpen();
}
static int
dispatch_mediaClose(dialogMenuItem *unused)
{

View File

@ -122,6 +122,14 @@ cpioVerbosity()
return "";
}
int
mediaOpen(void)
{
if (!mediaDevice || !mediaVerify() || !DEVICE_INIT(mediaDevice))
return DITEM_FAILURE;
return DITEM_SUCCESS;
}
void
mediaClose(void)
{

View File

@ -629,6 +629,11 @@ configuration file from another.
.It configFile
The fully qualified pathname of the file to load.
.El
.It mediaOpen
If a media device is set, mount it.
.Pp
.Sy Variables :
None
.It mediaClose
If a media device is open, close it.
.Pp

View File

@ -702,6 +702,7 @@ extern u_char default_scrnmap[];
/* media.c */
extern char *cpioVerbosity(void);
extern int mediaOpen(void);
extern void mediaClose(void);
extern int mediaTimeout(void);
extern int mediaSetCDROM(dialogMenuItem *self);