packages feed

bindings-uname (empty) → 0.1

raw patch · 3 files changed

+87/−0 lines, 3 filesdep +basesetup-changed

Dependencies added: base

Files

+ Bindings/Uname.hsc view
@@ -0,0 +1,54 @@+module Bindings.Uname+    ( Utsname+    , uname++    , sysname+    , nodename+    , release+    , version+    , machine+    )+    where++#include <sys/utsname.h>++import Foreign+import Foreign.C++-- | @'uname' name@ stores nul-terminated strings of information+--   identifying the current system info to the structure referenced+--   by name.+--+--   > import Foreign.C+--   > import Foreign.Marshal+--   >+--   > sysName :: IO String+--   > sysName = alloca $ \ ptr ->+--   >           do throwErrnoIfMinus1_ "uname" $ uname ptr+--   >              peekCString $ sysname ptr+--+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 -> CString+sysname = (#ptr struct utsname, sysname)++nodename :: Ptr Utsname -> CString+nodename = (#ptr struct utsname, nodename)++release :: Ptr Utsname -> CString+release = (#ptr struct utsname, release)++version :: Ptr Utsname -> CString+version = (#ptr struct utsname, version)++machine :: Ptr Utsname -> CString+machine = (#ptr struct utsname, machine)
+ Setup.lhs view
@@ -0,0 +1,3 @@+#!/usr/bin/env runhaskell+> import Distribution.Simple+> main = defaultMainWithHooks simpleUserHooks
+ bindings-uname.cabal view
@@ -0,0 +1,30 @@+Name:                bindings-uname+Version:             0.1+Synopsis:            Low-level binding to POSIX uname(3)+Description:+        This is a low-level binding to POSIX uname(3)+        function. Perhaps it shoule be part of unix package.+Category:            FFI, System+License:             PublicDomain+Author:              PHO <pho at cielonegro.org>+Maintainer:          PHO <pho at cielonegro.org>+Stability:           Experimental+Cabal-Version:       >= 1.6+Build-Type:          Simple++Source-Repository head+    Type: git+    Location: git://git.cielonegro.org/bindings-uname++Library+    Build-Depends:+        base < 5++    Exposed-Modules:+        Bindings.Uname++    Extensions:+        EmptyDataDecls, ForeignFunctionInterface++    GHC-Options:+        -Wall