Forward-declare SSL_CLIENT_HELLO.

Change-Id: I6b5be7ccdabec943fc836cbb67d73d3551cb149d
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/49845
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/include/openssl/base.h b/include/openssl/base.h
index 01a7e07..9c45ee6 100644
--- a/include/openssl/base.h
+++ b/include/openssl/base.h
@@ -434,6 +434,7 @@
 typedef struct srtp_protection_profile_st SRTP_PROTECTION_PROFILE;
 typedef struct ssl_cipher_st SSL_CIPHER;
 typedef struct ssl_ctx_st SSL_CTX;
+typedef struct ssl_early_callback_ctx SSL_CLIENT_HELLO;
 typedef struct ssl_ech_keys_st SSL_ECH_KEYS;
 typedef struct ssl_method_st SSL_METHOD;
 typedef struct ssl_private_key_method_st SSL_PRIVATE_KEY_METHOD;
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 5965cb4..f421538 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -4158,7 +4158,7 @@
 // callbacks that are called very early on during the server handshake. At this
 // point, much of the SSL* hasn't been filled out and only the ClientHello can
 // be depended on.
-typedef struct ssl_early_callback_ctx {
+struct ssl_early_callback_ctx {
   SSL *ssl;
   const uint8_t *client_hello;
   size_t client_hello_len;
@@ -4173,7 +4173,7 @@
   size_t compression_methods_len;
   const uint8_t *extensions;
   size_t extensions_len;
-} SSL_CLIENT_HELLO;
+} /* SSL_CLIENT_HELLO */;
 
 // ssl_select_cert_result_t enumerates the possible results from selecting a
 // certificate with |select_certificate_cb|.