libretls-0.0.0.0: libtls bindings

Safe HaskellNone
LanguageHaskell2010

Network.Libre.TLS.FFI.Internal

Synopsis

Documentation

newtype CastedStablePtr a Source #

Constructors

CastedStablePtr (Ptr ()) 

newtype TlsReadCallback b Source #

Constructors

TLSReadCB (TLSPtr -> Ptr Word8 -> CSize -> CastedStablePtr b -> IO CSsize) 

newtype TLSPtr Source #

Constructors

TheTLSPTR (Ptr LibTLSContext) 

newtype LibreFD Source #

Constructors

LibreFD 

Fields

newtype LibreSocket Source #

Constructors

LibreSocket 

Fields

newtype FilePathPtr Source #

Constructors

FilePathPtr CString 

tls_accept_cbs_c :: TLSPtr -> Ptr TLSPtr -> FunPtr (TlsReadCallback a) -> FunPtr (TlsWriteCallback a) -> Ptr a -> IO CInt Source #

tls_accept_cbs(struct tls *_ctx, struct tls **_cctx, tls_read_cb _read_cb, tls_write_cb _write_cb, void *_cb_arg) -> int ;

tls_accept_fds_c :: TLSPtr -> Ptr TLSPtr -> LibreFD -> LibreFD -> IO CInt Source #

tls_accept_fds(struct tls *_ctx, struct tls **_cctx, int _fd_read, int _fd_write)-> int ;

tls_accept_socket_c :: TLSPtr -> Ptr (Ptr LibTLSContext) -> LibreSocket -> IO CInt Source #

tls_accept_socket(struct tls *_ctx, struct tls **_cctx, int _socket)-> int ;

allocate_fresh_tls_client_context_c :: IO TLSPtr Source #

tls_client(void)-> struct tls *;

tls_close_c :: TLSPtr -> IO CInt Source #

tls_close(struct tls *_ctx)-> int ;

tls_config_add_keypair_file_c :: TLSConfigPtr -> FilePathPtr -> FilePathPtr -> IO CInt Source #

tls_config_add_keypair_file(struct tls_config *_config, const char *_cert_file, const char*_key_file ) -> int ;

tls_config_add_keypair_mem_c :: TLSConfigPtr -> Ptr Word8 -> CSize -> Ptr Word8 -> CSize -> IO CInt Source #

tls_config_add_keypair_mem(struct tls_config *_config, const uint8_t *_cert, size_t _cert_len, const uint8_t *_key, size_t _key_len) -> int ;

tls_config_add_keypair_ocsp_file_c :: TLSConfigPtr -> FilePathPtr -> FilePathPtr -> FilePathPtr -> IO CInt Source #

tls_config_add_keypair_ocsp_file(struct tls_config *_config, const char *_cert_file, const char *_key_file, const char *_ocsp_staple_file) -> int ;

tls_config_add_keypair_ocsp_mem_c :: TLSConfigPtr -> Ptr Word8 -> CSize -> Ptr Word8 -> CSize -> Ptr Word8 -> CSize -> IO CInt Source #

tls_config_add_keypair_ocsp_mem(struct tls_config *_config, const uint8_t *_cert, size_t _cert_len, const uint8_t *_key, size_t _key_len, const uint8_t *_staple, size_t _staple_len) -> int ;

tls_config_add_ticket_key_c :: TLSPtr -> Word32 -> Ptr Word8 -> CSize -> IO Int Source #

tls_config_add_ticket_key(struct tls_config *_config, uint32_t _keyrev, unsigned char *_key, size_t _keylen) -> int ;

tls_config_clear_keys_c :: TLSConfigPtr -> IO () Source #

tls_config_clear_keys(struct tls_config *_config)-> void ;

tls_config_free_c :: TLSConfigPtr -> IO () Source #

tls_config_error(struct tls_config *_config) -> const char *;

tls_config_insecure_noverifycert_foot_gun_testingOnly_c :: TLSConfigPtr -> IO () Source #

these given foot gun at the end in mutually inconsistent styles because you shouldn't use them outside of testing

tls_config_new_c :: IO TLSConfigPtr Source #

tls_config_new(void) -> struct tls_config * ;

tls_config_ocsp_require_stapling_c :: TLSConfigPtr -> IO () Source #

tls_config_ocsp_require_stapling(struct tls_config *_config)-> void ;

tls_config_parse_protocols_c :: CString -> CString -> IO CInt Source #

tls_config_parse_protocols(uint32_t *_protocols, const char *_protostr) -> int ;

tls_config_prefer_ciphers_client_c :: TLSConfigPtr -> IO () Source #

tls_config_prefer_ciphers_client(struct tls_config *_config)-> void ;

tls_config_prefer_ciphers_server_c :: TLSConfigPtr -> IO () Source #

tls_config_prefer_ciphers_server(struct tls_config *_config)-> void ;

tls_config_set_alpn_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_alpn(struct tls_config *_config, const char *_alpn) -> int ;

tls_config_set_ca_file_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_ca_file(struct tls_config *_config, const char *_ca_file) -> int ;

tls_config_set_ca_mem_c :: TLSConfigPtr -> Ptr Word8 -> CSize -> IO CInt Source #

tls_config_set_ca_mem(struct tls_config *_config, const uint8_t *_ca, size_t _len) -> int ;

tls_config_set_ca_path_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_ca_path(struct tls_config *_config, const char *_ca_path) -> int ;

tls_config_set_cert_file_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_cert_file(struct tls_config *_config, const char *_cert_file) -> int ;

tls_config_set_cert_mem_c :: TLSConfigPtr -> Ptr Word8 -> CSize -> IO CInt Source #

tls_config_set_cert_mem(struct tls_config *_config, const uint8_t *_cert, size_t _len) -> int ;

tls_config_set_ciphers_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_ciphers(struct tls_config *_config, const char *_ciphers) -> int ;

tls_config_set_dheparams_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_dheparams(struct tls_config *_config, const char *_params) -> int ;

tls_config_set_ecdhecurve_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_ecdhecurve(struct tls_config *_config, const char *_curve) -> int ;

tls_config_set_key_file_c :: TLSConfigPtr -> CString -> IO CInt Source #

tls_config_set_ecdhecurves(struct tls_config *_config, const char *_curves) -> int ;

tls_config_set_key_mem_c :: TLSConfigPtr -> Ptr CChar -> CSize -> IO CInt Source #

tls_config_set_key_mem(struct tls_config *_config, const uint8_t *_key, size_t _len) -> int ;

tls_config_set_keypair_file_c :: TLSConfigPtr -> CString -> CString -> IO CInt Source #

tls_config_set_keypair_file(struct tls_config *_config, const char *_cert_file, const char *_key_file) -> int ;