summaryrefslogtreecommitdiffstats
path: root/loader/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'loader/net.c')
-rw-r--r--loader/net.c47
1 files changed, 47 insertions, 0 deletions
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);