0 | module System.Posix.File.FileDesc
3 | import Derive.Prelude
6 | %language ElabReflection
16 | %runElab derive "Fd" [Show,Eq,Ord]
19 | 0 FileDesc : Type -> Type
20 | FileDesc a = Cast a Fd
23 | Cast Bits32 Fd where cast = MkFd
26 | fileDesc : FileDesc a => a -> Bits32
27 | fileDesc = fd . cast
29 | public export %inline
31 | sizeof_ = sizeof Bits32
35 | deref p = MkFd <$> deref p
39 | setPtr p = setPtr p . fd
43 | data StdIO : Type where
48 | %runElab derive "StdIO" [Show,Eq,Ord]
52 | cast = MkFd . cast . conIndexStdIO