{-# LINE 1 "Bindings/APR/File/Info.hsc" #-}

{-# LINE 2 "Bindings/APR/File/Info.hsc" #-}

{-# LINE 3 "Bindings/APR/File/Info.hsc" #-}

module Bindings.APR.File.Info where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 6 "Bindings/APR/File/Info.hsc" #-}
import Bindings.APR
import Bindings.APR.ErrNo
import Bindings.APR.File.Types
import Bindings.APR.Pools
import Bindings.APR.Tables
import Bindings.APR.Time
import Bindings.APR.User

type C'apr_filetype_e = CUInt

{-# LINE 15 "Bindings/APR/File/Info.hsc" #-}
c'APR_NOFILE = 0
c'APR_NOFILE :: (Num a) => a

{-# LINE 16 "Bindings/APR/File/Info.hsc" #-}
c'APR_REG = 1
c'APR_REG :: (Num a) => a

{-# LINE 17 "Bindings/APR/File/Info.hsc" #-}
c'APR_DIR = 2
c'APR_DIR :: (Num a) => a

{-# LINE 18 "Bindings/APR/File/Info.hsc" #-}
c'APR_CHR = 3
c'APR_CHR :: (Num a) => a

{-# LINE 19 "Bindings/APR/File/Info.hsc" #-}
c'APR_BLK = 4
c'APR_BLK :: (Num a) => a

{-# LINE 20 "Bindings/APR/File/Info.hsc" #-}
c'APR_PIPE = 5
c'APR_PIPE :: (Num a) => a

{-# LINE 21 "Bindings/APR/File/Info.hsc" #-}
c'APR_LNK = 6
c'APR_LNK :: (Num a) => a

{-# LINE 22 "Bindings/APR/File/Info.hsc" #-}
c'APR_SOCK = 7
c'APR_SOCK :: (Num a) => a

{-# LINE 23 "Bindings/APR/File/Info.hsc" #-}
c'APR_UNKFILE = 127
c'APR_UNKFILE :: (Num a) => a

{-# LINE 24 "Bindings/APR/File/Info.hsc" #-}

c'APR_FPROT_USETID = 32768
c'APR_FPROT_USETID :: (Num a) => a

{-# LINE 26 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_UREAD = 1024
c'APR_FPROT_UREAD :: (Num a) => a

{-# LINE 27 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_UWRITE = 512
c'APR_FPROT_UWRITE :: (Num a) => a

{-# LINE 28 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_UEXECUTE = 256
c'APR_FPROT_UEXECUTE :: (Num a) => a

{-# LINE 29 "Bindings/APR/File/Info.hsc" #-}

c'APR_FPROT_GSETID = 16384
c'APR_FPROT_GSETID :: (Num a) => a

{-# LINE 31 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_GREAD = 64
c'APR_FPROT_GREAD :: (Num a) => a

{-# LINE 32 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_GWRITE = 32
c'APR_FPROT_GWRITE :: (Num a) => a

{-# LINE 33 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_GEXECUTE = 16
c'APR_FPROT_GEXECUTE :: (Num a) => a

{-# LINE 34 "Bindings/APR/File/Info.hsc" #-}

c'APR_FPROT_WSTICKY = 8192
c'APR_FPROT_WSTICKY :: (Num a) => a

{-# LINE 36 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_WREAD = 4
c'APR_FPROT_WREAD :: (Num a) => a

{-# LINE 37 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_WWRITE = 2
c'APR_FPROT_WWRITE :: (Num a) => a

{-# LINE 38 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_WEXECUTE = 1
c'APR_FPROT_WEXECUTE :: (Num a) => a

{-# LINE 39 "Bindings/APR/File/Info.hsc" #-}

c'APR_FPROT_OS_DEFAULT = 4095
c'APR_FPROT_OS_DEFAULT :: (Num a) => a

{-# LINE 41 "Bindings/APR/File/Info.hsc" #-}
c'APR_FPROT_FILE_SOURCE_PERMS = 4096
c'APR_FPROT_FILE_SOURCE_PERMS :: (Num a) => a

{-# LINE 42 "Bindings/APR/File/Info.hsc" #-}

c'APR_USETID = 32768
c'APR_USETID :: (Num a) => a

{-# LINE 44 "Bindings/APR/File/Info.hsc" #-}
c'APR_UREAD = 1024
c'APR_UREAD :: (Num a) => a

{-# LINE 45 "Bindings/APR/File/Info.hsc" #-}
c'APR_UWRITE = 512
c'APR_UWRITE :: (Num a) => a

{-# LINE 46 "Bindings/APR/File/Info.hsc" #-}
c'APR_UEXECUTE = 256
c'APR_UEXECUTE :: (Num a) => a

{-# LINE 47 "Bindings/APR/File/Info.hsc" #-}
c'APR_GSETID = 16384
c'APR_GSETID :: (Num a) => a

{-# LINE 48 "Bindings/APR/File/Info.hsc" #-}
c'APR_GREAD = 64
c'APR_GREAD :: (Num a) => a

{-# LINE 49 "Bindings/APR/File/Info.hsc" #-}
c'APR_GWRITE = 32
c'APR_GWRITE :: (Num a) => a

{-# LINE 50 "Bindings/APR/File/Info.hsc" #-}
c'APR_GEXECUTE = 16
c'APR_GEXECUTE :: (Num a) => a

{-# LINE 51 "Bindings/APR/File/Info.hsc" #-}
c'APR_WSTICKY = 8192
c'APR_WSTICKY :: (Num a) => a

{-# LINE 52 "Bindings/APR/File/Info.hsc" #-}
c'APR_WREAD = 4
c'APR_WREAD :: (Num a) => a

{-# LINE 53 "Bindings/APR/File/Info.hsc" #-}
c'APR_WWRITE = 2
c'APR_WWRITE :: (Num a) => a

{-# LINE 54 "Bindings/APR/File/Info.hsc" #-}
c'APR_WEXECUTE = 1
c'APR_WEXECUTE :: (Num a) => a

{-# LINE 55 "Bindings/APR/File/Info.hsc" #-}
c'APR_OS_DEFAULT = 4095
c'APR_OS_DEFAULT :: (Num a) => a

{-# LINE 56 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILE_SOURCE_PERMS = 4096
c'APR_FILE_SOURCE_PERMS :: (Num a) => a

{-# LINE 57 "Bindings/APR/File/Info.hsc" #-}

data C'apr_dir_t = C'apr_dir_t

{-# LINE 59 "Bindings/APR/File/Info.hsc" #-}
type C'apr_fileperms_t = CInt

{-# LINE 60 "Bindings/APR/File/Info.hsc" #-}
type C'apr_dev_t = Word64

{-# LINE 61 "Bindings/APR/File/Info.hsc" #-}

c'APR_FINFO_LINK = 1
c'APR_FINFO_LINK :: (Num a) => a

{-# LINE 63 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_MTIME = 16
c'APR_FINFO_MTIME :: (Num a) => a

{-# LINE 64 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_CTIME = 32
c'APR_FINFO_CTIME :: (Num a) => a

{-# LINE 65 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_ATIME = 64
c'APR_FINFO_ATIME :: (Num a) => a

{-# LINE 66 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_SIZE = 256
c'APR_FINFO_SIZE :: (Num a) => a

{-# LINE 67 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_CSIZE = 512
c'APR_FINFO_CSIZE :: (Num a) => a

{-# LINE 68 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_DEV = 4096
c'APR_FINFO_DEV :: (Num a) => a

{-# LINE 69 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_INODE = 8192
c'APR_FINFO_INODE :: (Num a) => a

{-# LINE 70 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_TYPE = 32768
c'APR_FINFO_TYPE :: (Num a) => a

{-# LINE 71 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_USER = 65536
c'APR_FINFO_USER :: (Num a) => a

{-# LINE 72 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_GROUP = 131072
c'APR_FINFO_GROUP :: (Num a) => a

{-# LINE 73 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_UPROT = 1048576
c'APR_FINFO_UPROT :: (Num a) => a

{-# LINE 74 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_GPROT = 2097152
c'APR_FINFO_GPROT :: (Num a) => a

{-# LINE 75 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_WPROT = 4194304
c'APR_FINFO_WPROT :: (Num a) => a

{-# LINE 76 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_ICASE = 16777216
c'APR_FINFO_ICASE :: (Num a) => a

{-# LINE 77 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_NAME = 33554432
c'APR_FINFO_NAME :: (Num a) => a

{-# LINE 78 "Bindings/APR/File/Info.hsc" #-}

c'APR_FINFO_MIN = 33136
c'APR_FINFO_MIN :: (Num a) => a

{-# LINE 80 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_IDENT = 12288
c'APR_FINFO_IDENT :: (Num a) => a

{-# LINE 81 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_OWNER = 196608
c'APR_FINFO_OWNER :: (Num a) => a

{-# LINE 82 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_PROT = 7340032
c'APR_FINFO_PROT :: (Num a) => a

{-# LINE 83 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_NORM = 7582064
c'APR_FINFO_NORM :: (Num a) => a

{-# LINE 84 "Bindings/APR/File/Info.hsc" #-}
c'APR_FINFO_DIRENT = 33554432
c'APR_FINFO_DIRENT :: (Num a) => a

{-# LINE 85 "Bindings/APR/File/Info.hsc" #-}

data C'apr_finfo_t = C'apr_finfo_t{
{-# LINE 87 "Bindings/APR/File/Info.hsc" #-}

  c'apr_finfo_t'pool :: Ptr C'apr_pool_t
{-# LINE 88 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'valid :: C'apr_int32_t
{-# LINE 89 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'protection :: C'apr_fileperms_t
{-# LINE 90 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'filetype :: C'apr_filetype_e
{-# LINE 91 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'user :: C'apr_uid_t
{-# LINE 92 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'group :: C'apr_gid_t
{-# LINE 93 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'inode :: C'apr_ino_t
{-# LINE 94 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'device :: C'apr_dev_t
{-# LINE 95 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'nlink :: C'apr_int32_t
{-# LINE 96 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'size :: C'apr_off_t
{-# LINE 97 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'csize :: C'apr_off_t
{-# LINE 98 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'atime :: C'apr_time_t
{-# LINE 99 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'mtime :: C'apr_time_t
{-# LINE 100 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'ctime :: C'apr_time_t
{-# LINE 101 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'fname :: Ptr CChar
{-# LINE 102 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'name :: Ptr CChar
{-# LINE 103 "Bindings/APR/File/Info.hsc" #-}
,
  c'apr_finfo_t'filehand :: Ptr C'apr_file_t
{-# LINE 104 "Bindings/APR/File/Info.hsc" #-}

 } deriving (Eq,Show)
instance Storable C'apr_finfo_t where
  sizeOf _ = 92
  alignment = sizeOf
  peek p = do
    v0 <- peekByteOff p 0
    v1 <- peekByteOff p 4
    v2 <- peekByteOff p 8
    v3 <- peekByteOff p 12
    v4 <- peekByteOff p 16
    v5 <- peekByteOff p 20
    v6 <- peekByteOff p 24
    v7 <- peekByteOff p 28
    v8 <- peekByteOff p 36
    v9 <- peekByteOff p 40
    v10 <- peekByteOff p 48
    v11 <- peekByteOff p 56
    v12 <- peekByteOff p 64
    v13 <- peekByteOff p 72
    v14 <- peekByteOff p 80
    v15 <- peekByteOff p 84
    v16 <- peekByteOff p 88
    return $ C'apr_finfo_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16
  poke p (C'apr_finfo_t v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16) = do
    pokeByteOff p 0 v0
    pokeByteOff p 4 v1
    pokeByteOff p 8 v2
    pokeByteOff p 12 v3
    pokeByteOff p 16 v4
    pokeByteOff p 20 v5
    pokeByteOff p 24 v6
    pokeByteOff p 28 v7
    pokeByteOff p 36 v8
    pokeByteOff p 40 v9
    pokeByteOff p 48 v10
    pokeByteOff p 56 v11
    pokeByteOff p 64 v12
    pokeByteOff p 72 v13
    pokeByteOff p 80 v14
    pokeByteOff p 84 v15
    pokeByteOff p 88 v16
    return ()

{-# LINE 105 "Bindings/APR/File/Info.hsc" #-}

foreign import ccall "apr_stat" c'apr_stat
  :: Ptr C'apr_finfo_t -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_stat" p'apr_stat
  :: FunPtr (Ptr C'apr_finfo_t -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 107 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_dir_open" c'apr_dir_open
  :: Ptr (Ptr C'apr_dir_t) -> Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_dir_open" p'apr_dir_open
  :: FunPtr (Ptr (Ptr C'apr_dir_t) -> Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 108 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_dir_close" c'apr_dir_close
  :: Ptr C'apr_dir_t -> IO C'apr_status_t
foreign import ccall "&apr_dir_close" p'apr_dir_close
  :: FunPtr (Ptr C'apr_dir_t -> IO C'apr_status_t)

{-# LINE 109 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_dir_read" c'apr_dir_read
  :: Ptr C'apr_finfo_t -> C'apr_int32_t -> Ptr C'apr_dir_t -> IO C'apr_status_t
foreign import ccall "&apr_dir_read" p'apr_dir_read
  :: FunPtr (Ptr C'apr_finfo_t -> C'apr_int32_t -> Ptr C'apr_dir_t -> IO C'apr_status_t)

{-# LINE 110 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_dir_rewind" c'apr_dir_rewind
  :: Ptr C'apr_dir_t -> IO C'apr_status_t
foreign import ccall "&apr_dir_rewind" p'apr_dir_rewind
  :: FunPtr (Ptr C'apr_dir_t -> IO C'apr_status_t)

{-# LINE 111 "Bindings/APR/File/Info.hsc" #-}

c'APR_FILEPATH_NOTABOVEROOT = 1
c'APR_FILEPATH_NOTABOVEROOT :: (Num a) => a

{-# LINE 113 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_SECUREROOTTEST = 2
c'APR_FILEPATH_SECUREROOTTEST :: (Num a) => a

{-# LINE 114 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_SECUREROOT = 3
c'APR_FILEPATH_SECUREROOT :: (Num a) => a

{-# LINE 115 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_NOTRELATIVE = 4
c'APR_FILEPATH_NOTRELATIVE :: (Num a) => a

{-# LINE 116 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_NOTABSOLUTE = 8
c'APR_FILEPATH_NOTABSOLUTE :: (Num a) => a

{-# LINE 117 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_NATIVE = 16
c'APR_FILEPATH_NATIVE :: (Num a) => a

{-# LINE 118 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_TRUENAME = 32
c'APR_FILEPATH_TRUENAME :: (Num a) => a

{-# LINE 119 "Bindings/APR/File/Info.hsc" #-}

foreign import ccall "apr_filepath_root" c'apr_filepath_root
  :: Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_filepath_root" p'apr_filepath_root
  :: FunPtr (Ptr (Ptr CChar) -> Ptr (Ptr CChar) -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 121 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_filepath_merge" c'apr_filepath_merge
  :: Ptr (Ptr CChar) -> Ptr CChar -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_filepath_merge" p'apr_filepath_merge
  :: FunPtr (Ptr (Ptr CChar) -> Ptr CChar -> Ptr CChar -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 122 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_filepath_list_split" c'apr_filepath_list_split
  :: Ptr (Ptr C'apr_array_header_t) -> Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_filepath_list_split" p'apr_filepath_list_split
  :: FunPtr (Ptr (Ptr C'apr_array_header_t) -> Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 123 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_filepath_list_merge" c'apr_filepath_list_merge
  :: Ptr (Ptr CChar) -> Ptr C'apr_array_header_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_filepath_list_merge" p'apr_filepath_list_merge
  :: FunPtr (Ptr (Ptr CChar) -> Ptr C'apr_array_header_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 124 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_filepath_get" c'apr_filepath_get
  :: Ptr (Ptr CChar) -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_filepath_get" p'apr_filepath_get
  :: FunPtr (Ptr (Ptr CChar) -> C'apr_int32_t -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 125 "Bindings/APR/File/Info.hsc" #-}
foreign import ccall "apr_filepath_set" c'apr_filepath_set
  :: Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_filepath_set" p'apr_filepath_set
  :: FunPtr (Ptr CChar -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 126 "Bindings/APR/File/Info.hsc" #-}

c'APR_FILEPATH_ENCODING_UNKNOWN = 0
c'APR_FILEPATH_ENCODING_UNKNOWN :: (Num a) => a

{-# LINE 128 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_ENCODING_LOCALE = 1
c'APR_FILEPATH_ENCODING_LOCALE :: (Num a) => a

{-# LINE 129 "Bindings/APR/File/Info.hsc" #-}
c'APR_FILEPATH_ENCODING_UTF8 = 2
c'APR_FILEPATH_ENCODING_UTF8 :: (Num a) => a

{-# LINE 130 "Bindings/APR/File/Info.hsc" #-}

foreign import ccall "apr_filepath_encoding" c'apr_filepath_encoding
  :: Ptr CInt -> Ptr C'apr_pool_t -> IO C'apr_status_t
foreign import ccall "&apr_filepath_encoding" p'apr_filepath_encoding
  :: FunPtr (Ptr CInt -> Ptr C'apr_pool_t -> IO C'apr_status_t)

{-# LINE 132 "Bindings/APR/File/Info.hsc" #-}