#include #include module Bindings.APR.Tables where #strict_import import Bindings.APR import Bindings.APR.Pools #opaque_t apr_table_t #starttype struct apr_array_header_t # field pool , Ptr # field elt_size, CInt # field nelts , CInt # field nalloc , CInt # field elts , Ptr CChar #stoptype #starttype struct apr_table_entry_t # field key, Ptr CChar # field val, Ptr CChar # field key_checksum, #stoptype #ccall apr_table_elts , Ptr -> IO (Ptr ) #ccall apr_is_empty_table, Ptr -> IO CInt #ccall apr_is_empty_array, Ptr -> IO CInt #ccall apr_array_make , Ptr -> CInt -> CInt -> IO (Ptr ) #ccall apr_array_push , Ptr -> IO (Ptr ()) -- It's impossible to wrap around APR_ARRAY_IDX and APR_ARRAY_PUSH as -- they take C types as their arguments. #ccall apr_array_pop , Ptr -> IO (Ptr ()) #ccall apr_array_clear , Ptr -> IO () #ccall apr_array_cat , Ptr -> Ptr -> IO () #ccall apr_array_copy , Ptr -> Ptr -> IO (Ptr ) #ccall apr_array_copy_hdr, Ptr -> Ptr -> IO (Ptr ) #ccall apr_array_append , Ptr -> Ptr -> Ptr -> IO (Ptr ) #ccall apr_array_pstrcat , Ptr -> Ptr -> CChar -> IO (Ptr CChar) #ccall apr_table_make , Ptr -> CInt -> IO (Ptr ) #ccall apr_table_copy , Ptr -> Ptr -> IO (Ptr ) #ccall apr_table_clone , Ptr -> Ptr -> IO (Ptr ) #ccall apr_table_clear , Ptr -> IO () #ccall apr_table_get , Ptr -> Ptr CChar -> IO (Ptr CChar) #ccall apr_table_set , Ptr -> Ptr CChar -> Ptr CChar -> IO () #ccall apr_table_setn , Ptr -> Ptr CChar -> Ptr CChar -> IO () #ccall apr_table_unset , Ptr -> Ptr CChar -> Ptr CChar -> IO () #ccall apr_table_merge , Ptr -> Ptr CChar -> Ptr CChar -> IO () #ccall apr_table_mergen, Ptr -> Ptr CChar -> Ptr CChar -> IO () #ccall apr_table_add , Ptr -> Ptr CChar -> Ptr CChar -> IO () #ccall apr_table_addn , Ptr -> Ptr CChar -> Ptr CChar -> IO () #ccall apr_table_overlay, Ptr -> Ptr -> Ptr -> IO (Ptr ) #callback apr_table_do_callback_fn_t, Ptr () -> Ptr CChar -> Ptr CChar -> IO CInt -- It's impossible to wrap around apr_table_do and apr_table_vdo as -- they take varargs. #num APR_OVERLAP_TABLES_SET #num APR_OVERLAP_TABLES_MERGE #ccall apr_table_overlap , Ptr -> Ptr -> CUInt -> IO () #ccall apr_table_compress, Ptr -> CUInt -> IO ()