1a74702c6SGeorge Wang/* Copyright (c) 2017 - 2022 LiteSpeed Technologies Inc. See LICENSE. */ 250aadb33SDmitri Tikhonov/* 350aadb33SDmitri Tikhonov * Stream/crypto handshake adapter for the client side. 450aadb33SDmitri Tikhonov */ 550aadb33SDmitri Tikhonov 650aadb33SDmitri Tikhonov#ifndef LSQUIC_CHSK_STREAM_H 750aadb33SDmitri Tikhonov#define LSQUIC_CHSK_STREAM_H 1 850aadb33SDmitri Tikhonov 950aadb33SDmitri Tikhonovstruct lsquic_conn; 1050aadb33SDmitri Tikhonovstruct lsquic_mm; 1150aadb33SDmitri Tikhonovstruct ver_neg; 1250aadb33SDmitri Tikhonov 1350aadb33SDmitri Tikhonovstruct client_hsk_ctx { 1450aadb33SDmitri Tikhonov struct lsquic_conn *lconn; 1550aadb33SDmitri Tikhonov struct lsquic_mm *mm; 1650aadb33SDmitri Tikhonov const struct ver_neg *ver_neg; 1750aadb33SDmitri Tikhonov unsigned char *buf_in; /* Server response may have to be buffered */ 1850aadb33SDmitri Tikhonov unsigned buf_sz, /* Total number of bytes in `buf_in' */ 1950aadb33SDmitri Tikhonov buf_off; /* Number of bytes read into `buf_in' */ 2050aadb33SDmitri Tikhonov}; 2150aadb33SDmitri Tikhonov 2250aadb33SDmitri Tikhonovextern const struct lsquic_stream_if lsquic_client_hsk_stream_if; 2350aadb33SDmitri Tikhonov 2450aadb33SDmitri Tikhonov#endif 25