summaryrefslogtreecommitdiff
path: root/sys/compat/linux/common/linux_oldselect.c
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>1995-08-21 03:42:09 +0000
committermycroft <mycroft@NetBSD.org>1995-08-21 03:42:09 +0000
commit9a0cd13442e836cec074fa530b4a63c2e8a1e431 (patch)
treeaf42bac9cb4a748a8f03f2d3bed2394e1de0a94b /sys/compat/linux/common/linux_oldselect.c
parente7749341ad5d3712d52f579b4bba9525ee829884 (diff)
Implement the old and older uname(2) calls.
Diffstat (limited to 'sys/compat/linux/common/linux_oldselect.c')
-rw-r--r--sys/compat/linux/common/linux_oldselect.c88
1 files changed, 75 insertions, 13 deletions
diff --git a/sys/compat/linux/common/linux_oldselect.c b/sys/compat/linux/common/linux_oldselect.c
index 933750f4431..4baf6ef8070 100644
--- a/sys/compat/linux/common/linux_oldselect.c
+++ b/sys/compat/linux/common/linux_oldselect.c
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_oldselect.c,v 1.14 1995/08/16 04:50:17 mycroft Exp $ */
+/* $NetBSD: linux_oldselect.c,v 1.15 1995/08/21 03:42:09 mycroft Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
@@ -350,29 +350,91 @@ linux_uname(p, uap, retval)
} */ *uap;
register_t *retval;
{
- extern char ostype[], osrelease[], version[], hostname[], domainname[];
- extern char machine[];
- struct linux_utsname tluts;
+ extern char ostype[], hostname[], osrelease[], version[], machine[],
+ domainname[];
+ struct linux_utsname luts;
int len;
char *cp;
- strncpy(tluts.l_sysname, ostype, sizeof (tluts.l_sysname));
- strncpy(tluts.l_nodename, hostname, sizeof (tluts.l_nodename));
- strncpy(tluts.l_release, osrelease, sizeof (tluts.l_release));
- strncpy(tluts.l_machine, machine, sizeof (tluts.l_machine));
- strncpy(tluts.l_domainname, domainname, sizeof (tluts.l_domainname));
- strncpy(tluts.l_version, version, sizeof (tluts.l_version));
+ strncpy(luts.l_sysname, ostype, sizeof(luts.l_sysname));
+ strncpy(luts.l_nodename, hostname, sizeof(luts.l_nodename));
+ strncpy(luts.l_release, osrelease, sizeof(luts.l_release));
+ strncpy(luts.l_version, version, sizeof(luts.l_version));
+ strncpy(luts.l_machine, machine, sizeof(luts.l_machine));
+ strncpy(luts.l_domainname, domainname, sizeof(luts.l_domainname));
/* This part taken from the the uname() in libc */
- len = sizeof (tluts.l_version);
- for (cp = tluts.l_version; len--; ++cp)
+ len = sizeof(luts.l_version);
+ for (cp = luts.l_version; len--; ++cp)
if (*cp == '\n' || *cp == '\t')
if (len > 1)
*cp = ' ';
else
*cp = '\0';
- return copyout(&tluts, SCARG(uap, up), sizeof tluts);
+ return copyout(&luts, SCARG(uap, up), sizeof(luts));
+}
+
+int
+linux_olduname(p, uap, retval)
+ struct proc *p;
+ struct linux_uname_args /* {
+ syscallarg(struct linux_oldutsname *) up;
+ } */ *uap;
+ register_t *retval;
+{
+ extern char ostype[], hostname[], osrelease[], version[], machine[];
+ struct linux_oldutsname luts;
+ int len;
+ char *cp;
+
+ strncpy(luts.l_sysname, ostype, sizeof(luts.l_sysname));
+ strncpy(luts.l_nodename, hostname, sizeof(luts.l_nodename));
+ strncpy(luts.l_release, osrelease, sizeof(luts.l_release));
+ strncpy(luts.l_version, version, sizeof(luts.l_version));
+ strncpy(luts.l_machine, machine, sizeof(luts.l_machine));
+
+ /* This part taken from the the uname() in libc */
+ len = sizeof(luts.l_version);
+ for (cp = luts.l_version; len--; ++cp)
+ if (*cp == '\n' || *cp == '\t')
+ if (len > 1)
+ *cp = ' ';
+ else
+ *cp = '\0';
+
+ return copyout(&luts, SCARG(uap, up), sizeof(luts));
+}
+
+int
+linux_oldolduname(p, uap, retval)
+ struct proc *p;
+ struct linux_uname_args /* {
+ syscallarg(struct linux_oldoldutsname *) up;
+ } */ *uap;
+ register_t *retval;
+{
+ extern char ostype[], hostname[], osrelease[], version[], machine[];
+ struct linux_oldoldutsname luts;
+ int len;
+ char *cp;
+
+ strncpy(luts.l_sysname, ostype, sizeof(luts.l_sysname));
+ strncpy(luts.l_nodename, hostname, sizeof(luts.l_nodename));
+ strncpy(luts.l_release, osrelease, sizeof(luts.l_release));
+ strncpy(luts.l_version, version, sizeof(luts.l_version));
+ strncpy(luts.l_machine, machine, sizeof(luts.l_machine));
+
+ /* This part taken from the the uname() in libc */
+ len = sizeof(luts.l_version);
+ for (cp = luts.l_version; len--; ++cp)
+ if (*cp == '\n' || *cp == '\t')
+ if (len > 1)
+ *cp = ' ';
+ else
+ *cp = '\0';
+
+ return copyout(&luts, SCARG(uap, up), sizeof(luts));
}
/*