From 6a81b8274f1259a1a03189de0ff8841ff1e1d96a Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Wed, 20 Jun 2001 13:15:44 +0000 Subject: patches for s390 --- loader/loader.c | 6 ++++++ loader/net.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) (limited to 'loader') diff --git a/loader/loader.c b/loader/loader.c index a3759dc33..de1f31812 100644 --- a/loader/loader.c +++ b/loader/loader.c @@ -1378,13 +1378,16 @@ static char * doMountImage(char * location, while (step != STEP_DONE) { switch (step) { case STEP_LANG: +#if !defined (__s390__) && !defined (__s390x__) chooseLanguage(lang, flags); +#endif defaultLang = 0; step = STEP_KBD; dir = 1; break; case STEP_KBD: +#if !defined (__s390__) && !defined (__s390x__) rc = chooseKeyboard (keymap, kbdtype, flags); if (rc == LOADER_NOOP) { @@ -1399,9 +1402,12 @@ static char * doMountImage(char * location, step = STEP_LANG; dir = -1; } else { +#endif step = STEP_METHOD; dir = 1; +#if !defined (__s390__) && !defined (__s390x__) } +#endif break; case STEP_METHOD: diff --git a/loader/net.c b/loader/net.c index d1bdff79b..c147ba00b 100644 --- a/loader/net.c +++ b/loader/net.c @@ -296,7 +296,9 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg, int flags) { struct in_addr addr; char dhcpChoice; char * chptr; + char * env; +#if !defined(__s390__) && !defined(__s390x__) text = newtTextboxReflowed(-1, -1, _("Please enter the IP configuration for this machine. Each " "item should be entered as an IP address in dotted-decimal " @@ -437,6 +439,49 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg, int flags) { } } while (i != 2); +#else /* s390 now */ + + /* quick and dirty hack by opaukstadt@millenux.com for s390 */ + /* ctc stores remoteip in broadcast-field until pump.h is changed */ + memset(&newCfg, 0, sizeof(newCfg)); + strcpy(newCfg.dev.device, device); + newCfg.isDynamic = 0; + env = getenv("IPADDR"); + if (env) { + inet_aton(env, &newCfg.dev.ip); + newCfg.dev.set |= PUMP_INTFINFO_HAS_IP; + } + env = getenv("NETMASK"); + if (env) { + inet_aton(env, &newCfg.dev.netmask); + newCfg.dev.set |= PUMP_INTFINFO_HAS_NETMASK; + } + env = getenv("GATEWAY"); + if (env) { + inet_aton(env, &newCfg.dev.gateway); + newCfg.dev.set |= PUMP_NETINFO_HAS_GATEWAY; + } + env = getenv("NETWORK"); + if (env) { + inet_aton(env, &newCfg.dev.network); + newCfg.dev.set |= PUMP_INTFINFO_HAS_NETWORK; + } + if (!strncmp(newCfg.dev.device, "ctc", 3)) { + env = getenv("REMIP"); + if (env) { + inet_aton(env, &newCfg.dev.broadcast); + newCfg.dev.set |= PUMP_INTFINFO_HAS_BROADCAST; + } + } else { + env = getenv("BROADCAST"); + if (env) { + inet_aton(env, &newCfg.dev.broadcast); + newCfg.dev.set |= PUMP_INTFINFO_HAS_BROADCAST; + } + } +#endif + + #ifdef __STANDALONE__ if (!newCfg.isDynamic) #endif @@ -459,7 +504,9 @@ int readNetConfig(char * device, struct networkDeviceConfig * cfg, int flags) { } } +#if !defined(__s390__) && !defined(__s390__) newtPopWindow(); +#endif if (!FL_TESTING(flags)) { configureNetwork(cfg); -- cgit