{-# OPTIONS_GHC -optc-D__USE_GNU #-}
{-# LINE 1 "Foundation/System/Bindings/Linux.hsc" #-}
{-# OPTIONS_HADDOCK hide #-}
module Foundation.System.Bindings.Linux
where
import Basement.Compat.Base
import Basement.Compat.C.Types
import Foundation.System.Bindings.PosixDef
type CInotifyFlags = CInt
type CInotifyMask = CInt
type CWatchDescriptor = CInt
sysLinux_O_TMPFILE
:: COpenFlags
{-# LINE 35 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_O_TMPFILE = (4259840)
{-# LINE 36 "Foundation/System/Bindings/Linux.hsc" #-}
{-# LINE 39 "Foundation/System/Bindings/Linux.hsc" #-}
{-# LINE 41 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_NONBLOCK :: CInotifyFlags
sysLinux_IN_NONBLOCK = (2048)
{-# LINE 43 "Foundation/System/Bindings/Linux.hsc" #-}
{-# LINE 44 "Foundation/System/Bindings/Linux.hsc" #-}
{-# LINE 46 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_CLOEXEC :: CInotifyFlags
sysLinux_IN_CLOEXEC = (524288)
{-# LINE 48 "Foundation/System/Bindings/Linux.hsc" #-}
{-# LINE 49 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_ACCESS
, sysLinux_IN_ATTRIB
, sysLinux_IN_CLOSE_WRITE
, sysLinux_IN_CLOSE_NOWRITE
, sysLinux_IN_CREATE
, sysLinux_IN_DELETE
, sysLinux_IN_DELETE_SELF
, sysLinux_IN_MODIFY
, sysLinux_IN_MOVE_SELF
, sysLinux_IN_MOVED_FROM
, sysLinux_IN_MOVED_TO :: CInotifyMask
sysLinux_IN_ACCESS = (1)
{-# LINE 62 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_ATTRIB = (4)
{-# LINE 63 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_CLOSE_WRITE = (8)
{-# LINE 64 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_CLOSE_NOWRITE = (16)
{-# LINE 65 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_CREATE = (256)
{-# LINE 66 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_DELETE = (512)
{-# LINE 67 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_DELETE_SELF = (1024)
{-# LINE 68 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_MODIFY = (2)
{-# LINE 69 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_MOVE_SELF = (2048)
{-# LINE 70 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_MOVED_FROM = (64)
{-# LINE 71 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_MOVED_TO = (128)
{-# LINE 72 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_OPEN
, sysLinux_IN_DONT_FOLLOW
, sysLinux_IN_MASK_ADD
, sysLinux_IN_ONESHOT
, sysLinux_IN_ONLYDIR :: CInotifyMask
sysLinux_IN_OPEN = (32)
{-# LINE 80 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_DONT_FOLLOW = (33554432)
{-# LINE 81 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_MASK_ADD = (536870912)
{-# LINE 82 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_ONESHOT = (2147483648)
{-# LINE 83 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_ONLYDIR = (16777216)
{-# LINE 84 "Foundation/System/Bindings/Linux.hsc" #-}
{-# LINE 86 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_EXCL_UNLINK :: CInotifyMask
sysLinux_IN_EXCL_UNLINK = (67108864)
{-# LINE 88 "Foundation/System/Bindings/Linux.hsc" #-}
{-# LINE 89 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_IGNORED
, sysLinux_IN_ISDIR
, sysLinux_IN_Q_OVERFLOW
, sysLinux_IN_UNMOUNT :: CInotifyMask
sysLinux_IN_IGNORED = (32768)
{-# LINE 96 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_ISDIR = (1073741824)
{-# LINE 97 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_Q_OVERFLOW = (16384)
{-# LINE 98 "Foundation/System/Bindings/Linux.hsc" #-}
sysLinux_IN_UNMOUNT = (8192)
{-# LINE 99 "Foundation/System/Bindings/Linux.hsc" #-}
cinotifyEventSize :: CSize
cinotifyEventSize = 16
foreign import ccall unsafe "inotify_init1"
sysLinuxInotifyInit :: CInotifyFlags -> IO CFd
foreign import ccall unsafe "inotify_add_watch"
sysLinuxInotifyAddWatch :: CFd -> Ptr CChar -> CInotifyMask -> IO CWatchDescriptor
foreign import ccall unsafe "inotify_rm_watch"
sysLinuxInotifyRmWatch :: CFd -> CWatchDescriptor -> IO Int