diff options
Diffstat (limited to 'release/sysinstall/sysinstall.h')
| -rw-r--r-- | release/sysinstall/sysinstall.h | 79 |
1 files changed, 63 insertions, 16 deletions
diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h index 1b318f457b8f..525afd108510 100644 --- a/release/sysinstall/sysinstall.h +++ b/release/sysinstall/sysinstall.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.2 1995/04/27 18:03:55 jkh Exp $ + * $Id: sysinstall.h,v 1.3 1995/04/29 19:33:05 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -50,13 +50,23 @@ #include <unistd.h> #include <dialog.h> +/*** Defines ***/ + /* Bitfields for menu options */ #define DMENU_NORMAL_TYPE 0x1 /* Normal dialog menu */ #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 */ -/* Types */ +/* variable limits */ +#define VAR_NAME_MAX 128 +#define VAR_VALUE_MAX 1024 + +/* device limits */ +#define DEV_NAME_MAX 128 + + +/*** Types ***/ typedef unsigned int Boolean; typedef enum { @@ -68,6 +78,7 @@ typedef enum { DMENU_SET_VARIABLE, /* Set an environment/system var */ DMENU_CALL, /* Call back a C function */ DMENU_CANCEL, /* Cancel out of this menu */ + DMENU_NOP, /* Do nothing special for item */ } DMenuItemType; typedef struct _dmenuItem { @@ -75,7 +86,7 @@ typedef struct _dmenuItem { char *prompt; /* Our prompt */ DMenuItemType type; /* What type of item we are */ void *ptr; /* Generic data ptr */ - int disabled; /* Are we temporarily disabled? */ + Boolean disabled; /* Are we temporarily disabled? */ } DMenuItem; typedef struct _dmenu { @@ -90,11 +101,29 @@ typedef struct _dmenu { /* A sysconfig variable */ typedef struct _variable { struct _variable *next; - char value[1024]; + char name[VAR_NAME_MAX]; + char value[VAR_VALUE_MAX]; } Variable; - -/* Externs */ +typedef enum { + DEVICE_TYPE_ANY, + DEVICE_TYPE_DISK, + DEVICE_TYPE_FLOPPY, + DEVICE_TYPE_NETWORK, + DEVICE_TYPE_CDROM, + DEVICE_TYPE_TAPE, + DEVICE_TYPE_SERIAL, + DEVICE_TYPE_PARALLEL, +} DeviceType; + +/* A "device" from sysinstall's point of view */ +typedef struct _device { + char name[DEV_NAME_MAX]; + DeviceType type; +} Device; + + +/*** Externs ***/ extern int CpioFD; /* The file descriptor for our CPIO floppy */ extern int DebugFD; /* Where diagnostic output goes */ extern Boolean OnCDROM; /* Are we running off of a CDROM? */ @@ -106,15 +135,21 @@ extern Variable *VarHead; /* The head of the variable chain */ extern DMenu MenuDocumenation, MenuInitial, MenuLanguage; -/* Prototypes */ +/*** Prototypes ***/ /* globals.c */ extern void globalsInit(void); /* install.c */ -extern int installCustom(void); -extern int installExpress(void); -extern int installMaint(void); +extern int installCustom(char *str); +extern int installExpress(char *str); +extern int installMaint(char *str); +extern int installSetDeveloper(char *str); +extern int installSetXDeveloper(char *str); +extern int installSetUser(char *str); +extern int installSetXUser(char *str); +extern int installSetMinimum(char *str); +extern int installSetEverything(char *str); /* system.c */ extern void systemInitialize(int argc, char **argv); @@ -123,6 +158,7 @@ extern void systemWelcome(void); extern int systemExecute(char *cmd); extern int systemShellEscape(void); extern int systemDisplayFile(char *file); +extern char *systemHelpFile(char *file, char *buf); /* dmenu.c */ extern void dmenuOpen(DMenu *menu, int *choice, int *scroll, @@ -135,6 +171,7 @@ extern char *string_concat(char *p1, char *p2); extern char *string_prune(char *str); extern char *string_skipwhite(char *str); extern void safe_free(void *ptr); +extern void *safe_malloc(size_t size); extern char **item_add(char **list, char *item, int *curr, int *max); extern char **item_add_pair(char **list, char *item1, char *item2, int *curr, int *max); @@ -148,14 +185,24 @@ extern void msgInfo(char *fmt, ...); extern void msgWarn(char *fmt, ...); extern void msgError(char *fmt, ...); extern void msgFatal(char *fmt, ...); +extern void msgConfirm(char *fmt, ...); +extern int msgYesNo(char *fmt, ...); /* media.c */ -extern int mediaSetCDROM(void); -extern int mediaSetFloppy(void); -extern int mediaSetDOS(void); -extern int mediaSetTape(void); -extern int mediaSetFTP(void); -extern int mediaSetFS(void); +extern int mediaSetCDROM(char *str); +extern int mediaSetFloppy(char *str); +extern int mediaSetDOS(char *str); +extern int mediaSetTape(char *str); +extern int mediaSetFTP(char *str); +extern int mediaSetFS(char *str); + +/* devices.c */ +extern Device *device_get_all(DeviceType type, int *ndevs); +extern int device_slice_disk(char *disk); + +/* variables.c */ +extern void variable_set(char *var); +extern void variable_set2(char *name, char *value); #endif /* _SYSINSTALL_H_INCLUDE */ |
