curl-1.3.8: Haskell binding to libcurl

Portabilityportable
Stabilityprovisional
MaintainerSigbjorn Finne <sof@galois.com>
Safe HaskellNone

Network.Curl.Types

Description

Basic set of types for the Haskell curl binding, including the Curl handle type which holds the C library stateful connection handle along with a set of cleanup actions tht should be performed upon shutting down the curl session.

Synopsis

Documentation

type CurlH = Ptr Curl_

type Port = Long

type Long = Word32

type LLong = Word64

data Slist_

data Curl

curlPrim :: Curl -> (IORef OptionMap -> CurlH -> IO a) -> IO a

Execute a primitve curl operation. NOTE: See warnings about the use of withForeginPtr.

mkCurl :: CurlH -> IO Curl

Allocates a Haskell handle from a C handle.

mkCurlWithCleanup :: CurlH -> OptionMap -> IO Curl

Allocates a Haskell handle from a C handle.

type OptionMap = IntMap (IO ())

updateCleanup :: IORef OptionMap -> Int -> IO () -> IO ()