[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 5/5] libc: POSIX: uname()
+ libc: POSIX: uname()
---
src/include/lost/config.h | 9 ++++++
src/modules/include/sys/utsname.h | 52 +++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 0 deletions(-)
create mode 100644 src/modules/include/sys/utsname.h
diff --git a/src/include/lost/config.h b/src/include/lost/config.h
index 67cf7cc..25794af 100644
--- a/src/include/lost/config.h
+++ b/src/include/lost/config.h
@@ -74,5 +74,14 @@
#define CONFIG_LIBC_NO_STUBS
+#define TYNDUR_VERSION "0.2.1"
+#if CONFIG_ARCH == ARCH_I386
+ #define TYNDUR_ARCH "i386"
+#elif CONFIG_ARCH == ARCH_AMD64
+ #define TYNDUR_ARCH "amd64"
+#else
+ #error Unbekannte Architektur
+#endif
+
#endif // _CONFIG_H_
diff --git a/src/modules/include/sys/utsname.h b/src/modules/include/sys/utsname.h
new file mode 100644
index 0000000..7b53d53
--- /dev/null
+++ b/src/modules/include/sys/utsname.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2009 The tyndur Project. All rights reserved.
+ *
+ * This code is derived from software contributed to the tyndur Project
+ * by Kevin Wolf.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef _SYS_UTSNAME_H_
+#define _SYS_UTSNAME_H_
+
+#include <lost/config.h>
+
+struct utsname {
+ char sysname[32];
+ char nodename[32];
+ char release[32];
+ char version[32];
+ char machine[32];
+};
+
+static int uname(struct utsname* utsname)
+{
+ strcpy(utsname->sysname, "tyndur");
+ strcpy(utsname->nodename, "tyndur");
+ strcpy(utsname->release, "Gothmog");
+ strcpy(utsname->version, TYNDUR_VERSION);
+ strcpy(utsname->machine, TYNDUR_ARCH);
+
+ return 0;
+}
+
+#endif
--
1.6.0.2