diff options
| author | drochner <drochner@NetBSD.org> | 1999-02-12 10:56:18 +0000 |
|---|---|---|
| committer | drochner <drochner@NetBSD.org> | 1999-02-12 10:56:18 +0000 |
| commit | ccc6fbda81c4f53faec43b8d9769848e68df9acf (patch) | |
| tree | 002c3346a42eb5bc43930139a505bd25a682fa57 /sys/lib | |
| parent | 836a31546303af0e7ab74ff2631a2bfe2426a00d (diff) | |
Add some #ifdef SUPPORT_LINUX code which specifies a BOOTP tag to pass
a command line for that kernel.
Minor sizeof() sanity.
Diffstat (limited to 'sys/lib')
| -rw-r--r-- | sys/lib/libsa/bootp.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/lib/libsa/bootp.c b/sys/lib/libsa/bootp.c index df3f0128bd4..03b791bc095 100644 --- a/sys/lib/libsa/bootp.c +++ b/sys/lib/libsa/bootp.c @@ -1,4 +1,4 @@ -/* $NetBSD: bootp.c,v 1.15 1998/04/24 18:50:23 drochner Exp $ */ +/* $NetBSD: bootp.c,v 1.16 1999/02/12 10:56:18 drochner Exp $ */ /* * Copyright (c) 1992 Regents of the University of California. @@ -55,6 +55,12 @@ #include "bootp.h" struct in_addr servip; +#ifdef SUPPORT_LINUX +char linuxcmdline[256]; +#ifndef TAG_LINUX_CMDLINE +#define TAG_LINUX_CMDLINE 123 +#endif +#endif static n_long nmask, smask; @@ -353,7 +359,7 @@ vend_rfc1048(cp, len) } if (tag == TAG_SWAPSERVER) { /* let it override bp_siaddr */ - bcopy(cp, &rootip.s_addr, sizeof(swapip.s_addr)); + bcopy(cp, &rootip.s_addr, sizeof(rootip.s_addr)); } if (tag == TAG_ROOTPATH) { strncpy(rootpath, (char *)cp, sizeof(rootpath)); @@ -374,6 +380,12 @@ vend_rfc1048(cp, len) sizeof(dhcp_serverip.s_addr)); } #endif +#ifdef SUPPORT_LINUX + if (tag == TAG_LINUX_CMDLINE) { + strncpy(linuxcmdline, (char *)cp, sizeof(linuxcmdline)); + linuxcmdline[size] = '\0'; + } +#endif cp += size; } return (0); |
