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
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
c'APR_NOFILE = 0
c'APR_NOFILE :: (Num a) => a
c'APR_REG = 1
c'APR_REG :: (Num a) => a
c'APR_DIR = 2
c'APR_DIR :: (Num a) => a
c'APR_CHR = 3
c'APR_CHR :: (Num a) => a
c'APR_BLK = 4
c'APR_BLK :: (Num a) => a
c'APR_PIPE = 5
c'APR_PIPE :: (Num a) => a
c'APR_LNK = 6
c'APR_LNK :: (Num a) => a
c'APR_SOCK = 7
c'APR_SOCK :: (Num a) => a
c'APR_UNKFILE = 127
c'APR_UNKFILE :: (Num a) => a
c'APR_FPROT_USETID = 32768
c'APR_FPROT_USETID :: (Num a) => a
c'APR_FPROT_UREAD = 1024
c'APR_FPROT_UREAD :: (Num a) => a
c'APR_FPROT_UWRITE = 512
c'APR_FPROT_UWRITE :: (Num a) => a
c'APR_FPROT_UEXECUTE = 256
c'APR_FPROT_UEXECUTE :: (Num a) => a
c'APR_FPROT_GSETID = 16384
c'APR_FPROT_GSETID :: (Num a) => a
c'APR_FPROT_GREAD = 64
c'APR_FPROT_GREAD :: (Num a) => a
c'APR_FPROT_GWRITE = 32
c'APR_FPROT_GWRITE :: (Num a) => a
c'APR_FPROT_GEXECUTE = 16
c'APR_FPROT_GEXECUTE :: (Num a) => a
c'APR_FPROT_WSTICKY = 8192
c'APR_FPROT_WSTICKY :: (Num a) => a
c'APR_FPROT_WREAD = 4
c'APR_FPROT_WREAD :: (Num a) => a
c'APR_FPROT_WWRITE = 2
c'APR_FPROT_WWRITE :: (Num a) => a
c'APR_FPROT_WEXECUTE = 1
c'APR_FPROT_WEXECUTE :: (Num a) => a
c'APR_FPROT_OS_DEFAULT = 4095
c'APR_FPROT_OS_DEFAULT :: (Num a) => a
c'APR_FPROT_FILE_SOURCE_PERMS = 4096
c'APR_FPROT_FILE_SOURCE_PERMS :: (Num a) => a
c'APR_USETID = 32768
c'APR_USETID :: (Num a) => a
c'APR_UREAD = 1024
c'APR_UREAD :: (Num a) => a
c'APR_UWRITE = 512
c'APR_UWRITE :: (Num a) => a
c'APR_UEXECUTE = 256
c'APR_UEXECUTE :: (Num a) => a
c'APR_GSETID = 16384
c'APR_GSETID :: (Num a) => a
c'APR_GREAD = 64
c'APR_GREAD :: (Num a) => a
c'APR_GWRITE = 32
c'APR_GWRITE :: (Num a) => a
c'APR_GEXECUTE = 16
c'APR_GEXECUTE :: (Num a) => a
c'APR_WSTICKY = 8192
c'APR_WSTICKY :: (Num a) => a
c'APR_WREAD = 4
c'APR_WREAD :: (Num a) => a
c'APR_WWRITE = 2
c'APR_WWRITE :: (Num a) => a
c'APR_WEXECUTE = 1
c'APR_WEXECUTE :: (Num a) => a
c'APR_OS_DEFAULT = 4095
c'APR_OS_DEFAULT :: (Num a) => a
c'APR_FILE_SOURCE_PERMS = 4096
c'APR_FILE_SOURCE_PERMS :: (Num a) => a
data C'apr_dir_t = C'apr_dir_t
type C'apr_fileperms_t = CInt
type C'apr_dev_t = Word64
c'APR_FINFO_LINK = 1
c'APR_FINFO_LINK :: (Num a) => a
c'APR_FINFO_MTIME = 16
c'APR_FINFO_MTIME :: (Num a) => a
c'APR_FINFO_CTIME = 32
c'APR_FINFO_CTIME :: (Num a) => a
c'APR_FINFO_ATIME = 64
c'APR_FINFO_ATIME :: (Num a) => a
c'APR_FINFO_SIZE = 256
c'APR_FINFO_SIZE :: (Num a) => a
c'APR_FINFO_CSIZE = 512
c'APR_FINFO_CSIZE :: (Num a) => a
c'APR_FINFO_DEV = 4096
c'APR_FINFO_DEV :: (Num a) => a
c'APR_FINFO_INODE = 8192
c'APR_FINFO_INODE :: (Num a) => a
c'APR_FINFO_TYPE = 32768
c'APR_FINFO_TYPE :: (Num a) => a
c'APR_FINFO_USER = 65536
c'APR_FINFO_USER :: (Num a) => a
c'APR_FINFO_GROUP = 131072
c'APR_FINFO_GROUP :: (Num a) => a
c'APR_FINFO_UPROT = 1048576
c'APR_FINFO_UPROT :: (Num a) => a
c'APR_FINFO_GPROT = 2097152
c'APR_FINFO_GPROT :: (Num a) => a
c'APR_FINFO_WPROT = 4194304
c'APR_FINFO_WPROT :: (Num a) => a
c'APR_FINFO_ICASE = 16777216
c'APR_FINFO_ICASE :: (Num a) => a
c'APR_FINFO_NAME = 33554432
c'APR_FINFO_NAME :: (Num a) => a
c'APR_FINFO_MIN = 33136
c'APR_FINFO_MIN :: (Num a) => a
c'APR_FINFO_IDENT = 12288
c'APR_FINFO_IDENT :: (Num a) => a
c'APR_FINFO_OWNER = 196608
c'APR_FINFO_OWNER :: (Num a) => a
c'APR_FINFO_PROT = 7340032
c'APR_FINFO_PROT :: (Num a) => a
c'APR_FINFO_NORM = 7582064
c'APR_FINFO_NORM :: (Num a) => a
c'APR_FINFO_DIRENT = 33554432
c'APR_FINFO_DIRENT :: (Num a) => a
data C'apr_finfo_t = C'apr_finfo_t{
c'apr_finfo_t'pool :: Ptr C'apr_pool_t
,
c'apr_finfo_t'valid :: C'apr_int32_t
,
c'apr_finfo_t'protection :: C'apr_fileperms_t
,
c'apr_finfo_t'filetype :: C'apr_filetype_e
,
c'apr_finfo_t'user :: C'apr_uid_t
,
c'apr_finfo_t'group :: C'apr_gid_t
,
c'apr_finfo_t'inode :: C'apr_ino_t
,
c'apr_finfo_t'device :: C'apr_dev_t
,
c'apr_finfo_t'nlink :: C'apr_int32_t
,
c'apr_finfo_t'size :: C'apr_off_t
,
c'apr_finfo_t'csize :: C'apr_off_t
,
c'apr_finfo_t'atime :: C'apr_time_t
,
c'apr_finfo_t'mtime :: C'apr_time_t
,
c'apr_finfo_t'ctime :: C'apr_time_t
,
c'apr_finfo_t'fname :: Ptr CChar
,
c'apr_finfo_t'name :: Ptr CChar
,
c'apr_finfo_t'filehand :: Ptr C'apr_file_t
} 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 ()
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)
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)
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)
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)
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)
c'APR_FILEPATH_NOTABOVEROOT = 1
c'APR_FILEPATH_NOTABOVEROOT :: (Num a) => a
c'APR_FILEPATH_SECUREROOTTEST = 2
c'APR_FILEPATH_SECUREROOTTEST :: (Num a) => a
c'APR_FILEPATH_SECUREROOT = 3
c'APR_FILEPATH_SECUREROOT :: (Num a) => a
c'APR_FILEPATH_NOTRELATIVE = 4
c'APR_FILEPATH_NOTRELATIVE :: (Num a) => a
c'APR_FILEPATH_NOTABSOLUTE = 8
c'APR_FILEPATH_NOTABSOLUTE :: (Num a) => a
c'APR_FILEPATH_NATIVE = 16
c'APR_FILEPATH_NATIVE :: (Num a) => a
c'APR_FILEPATH_TRUENAME = 32
c'APR_FILEPATH_TRUENAME :: (Num a) => a
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)
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)
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)
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)
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)
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)
c'APR_FILEPATH_ENCODING_UNKNOWN = 0
c'APR_FILEPATH_ENCODING_UNKNOWN :: (Num a) => a
c'APR_FILEPATH_ENCODING_LOCALE = 1
c'APR_FILEPATH_ENCODING_LOCALE :: (Num a) => a
c'APR_FILEPATH_ENCODING_UTF8 = 2
c'APR_FILEPATH_ENCODING_UTF8 :: (Num a) => a
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)