;; -*- Mode: Irken -*-
(cinclude "sys/utsname.h")
(define (uname)
(let ((utsname (%callocate (struct utsname) 1)))
(%%cexp ((buffer (struct utsname)) -> int) "uname (%0)" utsname)
{sysname= (copy-cstring (%%cexp ((buffer (struct utsname)) -> cstring) "%0->sysname" utsname))
nodename= (copy-cstring (%%cexp ((buffer (struct utsname)) -> cstring) "%0->nodename" utsname))
release= (copy-cstring (%%cexp ((buffer (struct utsname)) -> cstring) "%0->release" utsname))
version= (copy-cstring (%%cexp ((buffer (struct utsname)) -> cstring) "%0->version" utsname))
machine= (copy-cstring (%%cexp ((buffer (struct utsname)) -> cstring) "%0->machine" utsname))
}))