module Bindings.Uname ( Utsname , uname , sysname , nodename , release , version , machine ) where #include import Foreign import Foreign.C foreign import ccall unsafe "sys/utsname.h uname" uname :: Ptr Utsname -> IO CInt data Utsname instance Storable Utsname where sizeOf = const #size struct utsname alignment = sizeOf poke = error "Storable Utsname: peek: unsupported operation" peek = error "Storable Utsname: poke: unsupported operation" sysname :: Ptr Utsname -> IO CString sysname = (#peek struct utsname, sysname) nodename :: Ptr Utsname -> IO CString nodename = (#peek struct utsname, nodename) release :: Ptr Utsname -> IO CString release = (#peek struct utsname, release) version :: Ptr Utsname -> IO CString version = (#peek struct utsname, version) machine :: Ptr Utsname -> IO CString machine = (#peek struct utsname, machine)