summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/exec/libcsupport/src/utsname.c31
-rw-r--r--c/src/exec/posix/src/utsname.c31
-rw-r--r--c/src/lib/libc/utsname.c31
-rw-r--r--cpukit/libcsupport/src/utsname.c31
4 files changed, 48 insertions, 76 deletions
diff --git a/c/src/exec/libcsupport/src/utsname.c b/c/src/exec/libcsupport/src/utsname.c
index 7cd9fae002..7da5f9380d 100644
--- a/c/src/exec/libcsupport/src/utsname.c
+++ b/c/src/exec/libcsupport/src/utsname.c
@@ -5,10 +5,15 @@
#include <stdio.h>
#include <string.h>
+#include <errno.h>
#include <sys/utsname.h>
+
#include <rtems/system.h>
#include <rtems/score/object.h>
+#include <rtems/sptables.h>
+
+#include <rtems/posix/seterr.h>
/*PAGE
*
@@ -27,30 +32,18 @@ int uname(
machine = sun4m
*/
+ if ( !name )
+ set_errno_and_return_minus_one( EFAULT );
+
strcpy( name->sysname, "RTEMS" );
- sprintf( name->nodename, "Node %d\n", _Objects_Local_node );
+ sprintf( name->nodename, "Node %d", _Objects_Local_node );
- /* XXX release string is in BAD format for this routine!!! */
- strcpy( name->release, "4.0.0+" );
-
- /* XXX does this have any meaning for RTEMS */
-
- strcpy( name->release, "" );
+ strcpy( name->release, RTEMS_VERSION );
+ strcpy( name->version, "" );
+
sprintf( name->machine, "%s/%s", CPU_NAME, CPU_MODEL_NAME );
return 0;
}
-
-/*PAGE
- *
- * 4.5.2 Get Process Times, P1003.1b-1993, p. 92
- */
-
-clock_t times(
- struct tms *buffer
-)
-{
- return POSIX_NOT_IMPLEMENTED();
-}
diff --git a/c/src/exec/posix/src/utsname.c b/c/src/exec/posix/src/utsname.c
index 7cd9fae002..7da5f9380d 100644
--- a/c/src/exec/posix/src/utsname.c
+++ b/c/src/exec/posix/src/utsname.c
@@ -5,10 +5,15 @@
#include <stdio.h>
#include <string.h>
+#include <errno.h>
#include <sys/utsname.h>
+
#include <rtems/system.h>
#include <rtems/score/object.h>
+#include <rtems/sptables.h>
+
+#include <rtems/posix/seterr.h>
/*PAGE
*
@@ -27,30 +32,18 @@ int uname(
machine = sun4m
*/
+ if ( !name )
+ set_errno_and_return_minus_one( EFAULT );
+
strcpy( name->sysname, "RTEMS" );
- sprintf( name->nodename, "Node %d\n", _Objects_Local_node );
+ sprintf( name->nodename, "Node %d", _Objects_Local_node );
- /* XXX release string is in BAD format for this routine!!! */
- strcpy( name->release, "4.0.0+" );
-
- /* XXX does this have any meaning for RTEMS */
-
- strcpy( name->release, "" );
+ strcpy( name->release, RTEMS_VERSION );
+ strcpy( name->version, "" );
+
sprintf( name->machine, "%s/%s", CPU_NAME, CPU_MODEL_NAME );
return 0;
}
-
-/*PAGE
- *
- * 4.5.2 Get Process Times, P1003.1b-1993, p. 92
- */
-
-clock_t times(
- struct tms *buffer
-)
-{
- return POSIX_NOT_IMPLEMENTED();
-}
diff --git a/c/src/lib/libc/utsname.c b/c/src/lib/libc/utsname.c
index 7cd9fae002..7da5f9380d 100644
--- a/c/src/lib/libc/utsname.c
+++ b/c/src/lib/libc/utsname.c
@@ -5,10 +5,15 @@
#include <stdio.h>
#include <string.h>
+#include <errno.h>
#include <sys/utsname.h>
+
#include <rtems/system.h>
#include <rtems/score/object.h>
+#include <rtems/sptables.h>
+
+#include <rtems/posix/seterr.h>
/*PAGE
*
@@ -27,30 +32,18 @@ int uname(
machine = sun4m
*/
+ if ( !name )
+ set_errno_and_return_minus_one( EFAULT );
+
strcpy( name->sysname, "RTEMS" );
- sprintf( name->nodename, "Node %d\n", _Objects_Local_node );
+ sprintf( name->nodename, "Node %d", _Objects_Local_node );
- /* XXX release string is in BAD format for this routine!!! */
- strcpy( name->release, "4.0.0+" );
-
- /* XXX does this have any meaning for RTEMS */
-
- strcpy( name->release, "" );
+ strcpy( name->release, RTEMS_VERSION );
+ strcpy( name->version, "" );
+
sprintf( name->machine, "%s/%s", CPU_NAME, CPU_MODEL_NAME );
return 0;
}
-
-/*PAGE
- *
- * 4.5.2 Get Process Times, P1003.1b-1993, p. 92
- */
-
-clock_t times(
- struct tms *buffer
-)
-{
- return POSIX_NOT_IMPLEMENTED();
-}
diff --git a/cpukit/libcsupport/src/utsname.c b/cpukit/libcsupport/src/utsname.c
index 7cd9fae002..7da5f9380d 100644
--- a/cpukit/libcsupport/src/utsname.c
+++ b/cpukit/libcsupport/src/utsname.c
@@ -5,10 +5,15 @@
#include <stdio.h>
#include <string.h>
+#include <errno.h>
#include <sys/utsname.h>
+
#include <rtems/system.h>
#include <rtems/score/object.h>
+#include <rtems/sptables.h>
+
+#include <rtems/posix/seterr.h>
/*PAGE
*
@@ -27,30 +32,18 @@ int uname(
machine = sun4m
*/
+ if ( !name )
+ set_errno_and_return_minus_one( EFAULT );
+
strcpy( name->sysname, "RTEMS" );
- sprintf( name->nodename, "Node %d\n", _Objects_Local_node );
+ sprintf( name->nodename, "Node %d", _Objects_Local_node );
- /* XXX release string is in BAD format for this routine!!! */
- strcpy( name->release, "4.0.0+" );
-
- /* XXX does this have any meaning for RTEMS */
-
- strcpy( name->release, "" );
+ strcpy( name->release, RTEMS_VERSION );
+ strcpy( name->version, "" );
+
sprintf( name->machine, "%s/%s", CPU_NAME, CPU_MODEL_NAME );
return 0;
}
-
-/*PAGE
- *
- * 4.5.2 Get Process Times, P1003.1b-1993, p. 92
- */
-
-clock_t times(
- struct tms *buffer
-)
-{
- return POSIX_NOT_IMPLEMENTED();
-}