123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- #ifndef OSSL_QUIC_PORT_H
- # define OSSL_QUIC_PORT_H
- # include <openssl/ssl.h>
- # include "internal/quic_types.h"
- # include "internal/quic_reactor.h"
- # include "internal/quic_demux.h"
- # include "internal/quic_predef.h"
- # include "internal/thread_arch.h"
- # ifndef OPENSSL_NO_QUIC
- typedef struct quic_port_args_st {
-
- QUIC_ENGINE *engine;
-
- SSL_CTX *channel_ctx;
-
- int is_multi_conn;
- } QUIC_PORT_ARGS;
- QUIC_PORT *ossl_quic_port_new(const QUIC_PORT_ARGS *args);
- void ossl_quic_port_free(QUIC_PORT *port);
- QUIC_CHANNEL *ossl_quic_port_create_outgoing(QUIC_PORT *port, SSL *tls);
- QUIC_CHANNEL *ossl_quic_port_create_incoming(QUIC_PORT *port, SSL *tls);
- BIO *ossl_quic_port_get_net_rbio(QUIC_PORT *port);
- BIO *ossl_quic_port_get_net_wbio(QUIC_PORT *port);
- int ossl_quic_port_set_net_rbio(QUIC_PORT *port, BIO *net_rbio);
- int ossl_quic_port_set_net_wbio(QUIC_PORT *port, BIO *net_wbio);
- int ossl_quic_port_update_poll_descriptors(QUIC_PORT *port);
- QUIC_ENGINE *ossl_quic_port_get0_engine(QUIC_PORT *port);
- QUIC_REACTOR *ossl_quic_port_get0_reactor(QUIC_PORT *port);
- QUIC_DEMUX *ossl_quic_port_get0_demux(QUIC_PORT *port);
- CRYPTO_MUTEX *ossl_quic_port_get0_mutex(QUIC_PORT *port);
- OSSL_TIME ossl_quic_port_get_time(QUIC_PORT *port);
- int ossl_quic_port_get_rx_short_dcid_len(const QUIC_PORT *port);
- int ossl_quic_port_get_tx_init_dcid_len(const QUIC_PORT *port);
- int ossl_quic_port_is_running(const QUIC_PORT *port);
- void ossl_quic_port_restore_err_state(const QUIC_PORT *port);
- void ossl_quic_port_subtick(QUIC_PORT *port, QUIC_TICK_RESULT *r,
- uint32_t flags);
- void ossl_quic_port_raise_net_error(QUIC_PORT *port,
- QUIC_CHANNEL *triggering_ch);
- # endif
- #endif
|