Safe Haskell | None |
---|---|
Language | Haskell2010 |
Internal module, not subject to PVP.
Synopsis
- newtype ConstPtr a = ConstPtr {
- unConstPtr :: Ptr a
- type ConstCString = ConstPtr CChar
- data ClientConfig
- data ClientConfigBuilder
- clientConfigBuilderNewCustom :: ConstPtr (ConstPtr SupportedCipherSuite) -> CSize -> ConstPtr TLSVersion -> CSize -> Ptr (Ptr ClientConfigBuilder) -> IO Result
- clientConfigBuilderFree :: Ptr ClientConfigBuilder -> IO ()
- clientConfigBuilderBuild :: Ptr ClientConfigBuilder -> IO (ConstPtr ClientConfig)
- clientConfigFree :: FinalizerPtr ClientConfig
- clientConfigBuilderSetALPNProtocols :: Ptr ClientConfigBuilder -> ConstPtr SliceBytes -> CSize -> IO Result
- clientConfigBuilderSetEnableSNI :: Ptr ClientConfigBuilder -> CBool -> IO ()
- clientConfigBuilderSetCertifiedKey :: Ptr ClientConfigBuilder -> ConstPtr (ConstPtr CertifiedKey) -> CSize -> IO Result
- clientConfigBuilderLoadRootsFromFile :: Ptr ClientConfigBuilder -> ConstCString -> IO Result
- clientConfigBuilderUseRoots :: Ptr ClientConfigBuilder -> ConstPtr RootCertStore -> IO Result
- clientConnectionNew :: ConstPtr ClientConfig -> ConstCString -> Ptr (Ptr Connection) -> IO Result
- serverConnectionNew :: ConstPtr ServerConfig -> Ptr (Ptr Connection) -> IO Result
- data ServerConfig
- data ServerConfigBuilder
- serverConfigBuilderNewCustom :: ConstPtr (ConstPtr SupportedCipherSuite) -> CSize -> ConstPtr TLSVersion -> CSize -> Ptr (Ptr ServerConfigBuilder) -> IO Result
- serverConfigBuilderFree :: Ptr ServerConfigBuilder -> IO ()
- serverConfigBuilderBuild :: Ptr ServerConfigBuilder -> IO (ConstPtr ServerConfig)
- serverConfigFree :: FinalizerPtr ServerConfig
- serverConfigBuilderSetALPNProtocols :: Ptr ServerConfigBuilder -> ConstPtr SliceBytes -> CSize -> IO Result
- serverConfigBuilderSetIgnoreClientOrder :: Ptr ServerConfigBuilder -> CBool -> IO Result
- serverConfigBuilderSetCertifiedKeys :: Ptr ServerConfigBuilder -> ConstPtr (ConstPtr CertifiedKey) -> CSize -> IO Result
- data ClientCertVerifier
- clientCertVerifierNew :: ConstPtr RootCertStore -> IO (ConstPtr ClientCertVerifier)
- clientCertVerifierFree :: ConstPtr ClientCertVerifier -> IO ()
- serverConfigBuilderSetClientVerifier :: Ptr ServerConfigBuilder -> ConstPtr ClientCertVerifier -> IO ()
- data ClientCertVerifierOptional
- clientCertVerifierOptionalNew :: ConstPtr RootCertStore -> IO (ConstPtr ClientCertVerifierOptional)
- clientCertVerifierOptionalFree :: ConstPtr ClientCertVerifierOptional -> IO ()
- serverConfigBuilderSetClientVerifierOptional :: Ptr ServerConfigBuilder -> ConstPtr ClientCertVerifierOptional -> IO ()
- data CertifiedKey
- certifiedKeyBuild :: ConstPtr Word8 -> CSize -> ConstPtr Word8 -> CSize -> Ptr (ConstPtr CertifiedKey) -> IO Result
- certifiedKeyFree :: ConstPtr CertifiedKey -> IO ()
- data Certificate
- certificateGetDER :: ConstPtr Certificate -> Ptr (ConstPtr Word8) -> Ptr CSize -> IO Result
- data Connection
- connectionFree :: Ptr Connection -> IO ()
- type ReadCallback = Ptr Userdata -> Ptr Word8 -> CSize -> Ptr CSize -> IO IOResult
- mkReadCallback :: ReadCallback -> IO (FunPtr ReadCallback)
- connectionWantsRead :: ConstPtr Connection -> IO CBool
- connectionRead :: Ptr Connection -> Ptr Word8 -> CSize -> Ptr CSize -> IO Result
- connectionReadTls :: Ptr Connection -> FunPtr ReadCallback -> Ptr Userdata -> Ptr CSize -> IO IOResult
- type WriteCallback = Ptr Userdata -> ConstPtr Word8 -> CSize -> Ptr CSize -> IO IOResult
- mkWriteCallback :: WriteCallback -> IO (FunPtr WriteCallback)
- connectionWantsWrite :: ConstPtr Connection -> IO CBool
- connectionWrite :: Ptr Connection -> Ptr Word8 -> CSize -> Ptr CSize -> IO Result
- connectionWriteTls :: Ptr Connection -> FunPtr WriteCallback -> Ptr Userdata -> Ptr CSize -> IO IOResult
- connectionProcessNewPackets :: Ptr Connection -> IO Result
- connectionIsHandshaking :: ConstPtr Connection -> IO CBool
- connectionSendCloseNotify :: Ptr Connection -> IO ()
- connectionSetBufferLimit :: Ptr Connection -> CSize -> IO ()
- connectionGetALPNProtocol :: ConstPtr Connection -> Ptr (ConstPtr Word8) -> Ptr CSize -> IO ()
- connectionGetProtocolVersion :: ConstPtr Connection -> IO TLSVersion
- connectionGetNegotiatedCipherSuite :: ConstPtr Connection -> IO (ConstPtr SupportedCipherSuite)
- serverConnectionGetSNIHostname :: ConstPtr Connection -> Ptr Word8 -> CSize -> Ptr CSize -> IO Result
- connectionGetPeerCertificate :: ConstPtr Connection -> CSize -> IO (ConstPtr Certificate)
- connectionSetLogCallback :: Ptr Connection -> FunPtr LogCallback -> IO ()
- type LogCallback = Ptr Userdata -> ConstPtr LogParams -> IO ()
- mkLogCallback :: LogCallback -> IO (FunPtr LogCallback)
- data LogParams = LogParams {}
- newtype LogLevel = LogLevel CSize
- data Str = Str CString CSize
- data SliceBytes = SliceBytes (Ptr Word8) CSize
- hsVersion :: Ptr Str -> IO ()
- data Userdata
- newtype Result = Result Word32
- resultIsCertError :: Result -> CBool
- errorMsg :: Result -> CString -> CSize -> Ptr CSize -> IO ()
- resultOk :: Result
- resultInsufficientSize :: Result
- newtype IOResult = IOResult CInt
- ioResultOk :: IOResult
- ioResultErr :: IOResult
- data SupportedCipherSuite
- allCipherSuites :: ConstPtr (Ptr SupportedCipherSuite)
- allCipherSuitesLen :: CSize
- defaultCipherSuites :: ConstPtr (ConstPtr SupportedCipherSuite)
- defaultCipherSuitesLen :: CSize
- supportedCipherSuiteGetSuite :: ConstPtr SupportedCipherSuite -> Word16
- hsSupportedCipherSuiteGetName :: ConstPtr SupportedCipherSuite -> Ptr Str -> IO ()
- newtype TLSVersion = TLSVersion {}
- pattern TLS12 :: TLSVersion
- pattern TLS13 :: TLSVersion
- allVersions :: ConstPtr TLSVersion
- allVersionsLen :: CSize
- defaultVersions :: ConstPtr TLSVersion
- defaultVersionsLen :: CSize
- data RootCertStore
- rootCertStoreNew :: IO (Ptr RootCertStore)
- rootCertStoreAddPEM :: Ptr RootCertStore -> ConstPtr Word8 -> CSize -> CBool -> IO Result
- rootCertStoreFree :: Ptr RootCertStore -> IO ()
Documentation
ConstPtr | |
|
Instances
Storable (ConstPtr a) Source # | |
Defined in Rustls.Internal.FFI | |
Show (ConstPtr a) Source # | |
Eq (ConstPtr a) Source # | |
type ConstCString = ConstPtr CChar Source #
Client
Config
data ClientConfig Source #
data ClientConfigBuilder Source #
clientConfigBuilderNewCustom :: ConstPtr (ConstPtr SupportedCipherSuite) -> CSize -> ConstPtr TLSVersion -> CSize -> Ptr (Ptr ClientConfigBuilder) -> IO Result Source #
clientConfigBuilderFree :: Ptr ClientConfigBuilder -> IO () Source #
clientConfigBuilderSetALPNProtocols :: Ptr ClientConfigBuilder -> ConstPtr SliceBytes -> CSize -> IO Result Source #
clientConfigBuilderSetEnableSNI :: Ptr ClientConfigBuilder -> CBool -> IO () Source #
clientConfigBuilderSetCertifiedKey :: Ptr ClientConfigBuilder -> ConstPtr (ConstPtr CertifiedKey) -> CSize -> IO Result Source #
clientConfigBuilderLoadRootsFromFile :: Ptr ClientConfigBuilder -> ConstCString -> IO Result Source #
clientConfigBuilderUseRoots :: Ptr ClientConfigBuilder -> ConstPtr RootCertStore -> IO Result Source #
Connection
:: ConstPtr ClientConfig | |
-> ConstCString | Hostname. |
-> Ptr (Ptr Connection) | |
-> IO Result |
serverConnectionNew :: ConstPtr ServerConfig -> Ptr (Ptr Connection) -> IO Result Source #
Server
Config
data ServerConfig Source #
data ServerConfigBuilder Source #
serverConfigBuilderNewCustom :: ConstPtr (ConstPtr SupportedCipherSuite) -> CSize -> ConstPtr TLSVersion -> CSize -> Ptr (Ptr ServerConfigBuilder) -> IO Result Source #
serverConfigBuilderFree :: Ptr ServerConfigBuilder -> IO () Source #
serverConfigBuilderSetALPNProtocols :: Ptr ServerConfigBuilder -> ConstPtr SliceBytes -> CSize -> IO Result Source #
serverConfigBuilderSetCertifiedKeys :: Ptr ServerConfigBuilder -> ConstPtr (ConstPtr CertifiedKey) -> CSize -> IO Result Source #
data ClientCertVerifier Source #
serverConfigBuilderSetClientVerifier :: Ptr ServerConfigBuilder -> ConstPtr ClientCertVerifier -> IO () Source #
clientCertVerifierOptionalNew :: ConstPtr RootCertStore -> IO (ConstPtr ClientCertVerifierOptional) Source #
serverConfigBuilderSetClientVerifierOptional :: Ptr ServerConfigBuilder -> ConstPtr ClientCertVerifierOptional -> IO () Source #
Certificate stuff
data CertifiedKey Source #
certifiedKeyBuild :: ConstPtr Word8 -> CSize -> ConstPtr Word8 -> CSize -> Ptr (ConstPtr CertifiedKey) -> IO Result Source #
certifiedKeyFree :: ConstPtr CertifiedKey -> IO () Source #
data Certificate Source #
certificateGetDER :: ConstPtr Certificate -> Ptr (ConstPtr Word8) -> Ptr CSize -> IO Result Source #
Connection
data Connection Source #
connectionFree :: Ptr Connection -> IO () Source #
Read/write
Read
mkReadCallback :: ReadCallback -> IO (FunPtr ReadCallback) Source #
connectionReadTls :: Ptr Connection -> FunPtr ReadCallback -> Ptr Userdata -> Ptr CSize -> IO IOResult Source #
Write
mkWriteCallback :: WriteCallback -> IO (FunPtr WriteCallback) Source #
connectionWriteTls :: Ptr Connection -> FunPtr WriteCallback -> Ptr Userdata -> Ptr CSize -> IO IOResult Source #
Misc
connectionSendCloseNotify :: Ptr Connection -> IO () Source #
connectionSetBufferLimit :: Ptr Connection -> CSize -> IO () Source #
connectionGetALPNProtocol :: ConstPtr Connection -> Ptr (ConstPtr Word8) -> Ptr CSize -> IO () Source #
connectionGetNegotiatedCipherSuite :: ConstPtr Connection -> IO (ConstPtr SupportedCipherSuite) Source #
serverConnectionGetSNIHostname :: ConstPtr Connection -> Ptr Word8 -> CSize -> Ptr CSize -> IO Result Source #
Logging
connectionSetLogCallback :: Ptr Connection -> FunPtr LogCallback -> IO () Source #
mkLogCallback :: LogCallback -> IO (FunPtr LogCallback) Source #
Instances
Generic LogParams Source # | |
GStorable LogParams Source # | |
type Rep LogParams Source # | |
Defined in Rustls.Internal.FFI type Rep LogParams = D1 ('MetaData "LogParams" "Rustls.Internal.FFI" "rustls-0.0.1.0-inplace" 'False) (C1 ('MetaCons "LogParams" 'PrefixI 'True) (S1 ('MetaSel ('Just "rustlsLogParamsLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 LogLevel) :*: S1 ('MetaSel ('Just "rustlsLogParamsMessage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Str))) |
Instances
Storable LogLevel Source # | |
Defined in Rustls.Internal.FFI | |
Show LogLevel Source # | |
Eq LogLevel Source # | |
Misc
Instances
Generic Str Source # | |
GStorable Str Source # | |
type Rep Str Source # | |
Defined in Rustls.Internal.FFI type Rep Str = D1 ('MetaData "Str" "Rustls.Internal.FFI" "rustls-0.0.1.0-inplace" 'False) (C1 ('MetaCons "Str" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CString) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CSize))) |
data SliceBytes Source #
Instances
Generic SliceBytes Source # | |
Defined in Rustls.Internal.FFI type Rep SliceBytes :: Type -> Type # from :: SliceBytes -> Rep SliceBytes x # to :: Rep SliceBytes x -> SliceBytes # | |
GStorable SliceBytes Source # | |
Defined in Rustls.Internal.FFI gsizeOf :: SliceBytes -> Int # galignment :: SliceBytes -> Int # gpeekByteOff :: Ptr b -> Int -> IO SliceBytes # gpokeByteOff :: Ptr b -> Int -> SliceBytes -> IO () # | |
type Rep SliceBytes Source # | |
Defined in Rustls.Internal.FFI type Rep SliceBytes = D1 ('MetaData "SliceBytes" "Rustls.Internal.FFI" "rustls-0.0.1.0-inplace" 'False) (C1 ('MetaCons "SliceBytes" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Ptr Word8)) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 CSize))) |
Result
resultIsCertError :: Result -> CBool Source #
Some values
IOResult
TLS params
data SupportedCipherSuite Source #
hsSupportedCipherSuiteGetName :: ConstPtr SupportedCipherSuite -> Ptr Str -> IO () Source #
newtype TLSVersion Source #
A TLS protocol version supported by Rustls.
Instances
pattern TLS12 :: TLSVersion Source #
pattern TLS13 :: TLSVersion Source #
Root cert store
data RootCertStore Source #
rootCertStoreFree :: Ptr RootCertStore -> IO () Source #