
Types (structs, unions and typedefs)
====================================
.. type:: ngtcp2_conn *(*ngtcp2_crypto_get_conn)( ngtcp2_crypto_conn_ref *conn_ref)

    
    :type:`ngtcp2_crypto_get_conn` is a callback function to get a
    pointer to :type:`ngtcp2_conn` from *conn_ref*.  The implementation
    must return non-NULL :type:`ngtcp2_conn` object.
.. type:: ngtcp2_crypto_conn_ref

    
    :type:`ngtcp2_crypto_conn_ref` is a structure to get a pointer to
    :type:`ngtcp2_conn`.  It is meant to be set to TLS native handle as
    an application specific data (e.g. SSL_set_app_data in quictls).

    .. member::   ngtcp2_crypto_get_conn get_conn

        :member:`get_conn` is a callback function to get a pointer to
        :type:`ngtcp2_conn` object.
    .. member::   void *user_data

        :member:`user_data` is a pointer to arbitrary user data.

.. type:: ngtcp2_crypto_picotls_ctx

    
    :type:`ngtcp2_crypto_picotls_ctx` contains per-connection state of
    Picotls object, and must be set to
    `ngtcp2_conn_set_tls_native_handle`.

    .. member::   ptls_t *ptls

        :member:`ptls` is a pointer to ptls_t object.
    .. member::   ptls_handshake_properties_t handshake_properties

        :member:`handshake_properties` is a set of configurations used
        during this particular TLS handshake.

.. type:: ngtcp2_crypto_ossl_ctx

    
    :type:`ngtcp2_crypto_ossl_ctx` contains per-connection state, and
    must be set to `ngtcp2_conn_set_tls_native_handle`.


