0 | module System.Posix.Dir
3 | import System.Posix.Dir.Prim as P
5 | import public Data.Buffer.Core
6 | import public Data.ByteString
7 | import public Data.C.Integer
8 | import public System.Posix.Dir.Dir
9 | import public System.Posix.Errno
10 | import public System.Posix.File
15 | ELift1 World f => Resource f Dir where
16 | cleanup d = lift1 $
closedir' d
27 | mkdir : Has Errno es => EIO1 f => (pth : String) -> Mode -> f es ()
28 | mkdir pth m = elift1 (P.mkdir pth m)
32 | opendir : Has Errno es => EIO1 f => String -> f es Dir
33 | opendir s = elift1 (P.opendir s)
37 | fdopendir : FileDesc a => Has Errno es => EIO1 f => a -> f es Dir
38 | fdopendir v = elift1 (P.fdopendir v)
42 | rewinddir : HasIO io => Dir -> io ()
43 | rewinddir = primIO . P.rewinddir
47 | closedir : Has Errno es => EIO1 f => Dir -> f es ()
48 | closedir d = elift1 (P.closedir d)
52 | readdir : (0 r : Type) -> FromBuf r => Has Errno es => EIO1 f => Dir -> f es (ReadRes r)
53 | readdir r d = elift1 (P.readdir r d)
57 | getcwd : (0 r : Type) -> FromBuf r => Has Errno es => EIO1 f => f es r
58 | getcwd r = elift1 (P.getcwd r)
62 | chdir : Has Errno es => EIO1 f => String -> f es ()
63 | chdir s = elift1 (P.chdir s)
67 | chroot : Has Errno es => EIO1 f => String -> f es ()
68 | chroot s = elift1 (P.chroot s)