aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorHugo Landau <hlandau@openssl.org>2024-01-22 11:42:41 +0000
committerHugo Landau <hlandau@openssl.org>2024-02-08 16:49:43 +0000
commitd51398b9984d31eab275250a650c2621f3ebdf0d (patch)
tree6177d033870a61499a7af3a138e75eb4abc90dc6 /include
parenta8e32a6b2c7745c1a046bc99c13755ae8fe409a1 (diff)
downloadopenssl-d51398b9984d31eab275250a650c2621f3ebdf0d.tar.gz
QUIC: Add documentation for tuning API
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23360)
Diffstat (limited to 'include')
-rw-r--r--include/openssl/ssl.h.in41
1 files changed, 41 insertions, 0 deletions
diff --git a/include/openssl/ssl.h.in b/include/openssl/ssl.h.in
index 8f1aff9fc0..9855a3836c 100644
--- a/include/openssl/ssl.h.in
+++ b/include/openssl/ssl.h.in
@@ -2366,6 +2366,47 @@ __owur int SSL_get_conn_close_info(SSL *ssl,
SSL_CONN_CLOSE_INFO *info,
size_t info_len);
+# define SSL_VALUE_CLASS_GENERIC 0
+# define SSL_VALUE_CLASS_FEATURE_REQUEST 1
+# define SSL_VALUE_CLASS_FEATURE_PEER_REQUEST 2
+# define SSL_VALUE_CLASS_FEATURE_NEGOTIATED 3
+
+# define SSL_VALUE_NONE 0
+# define SSL_VALUE_QUIC_STREAM_BIDI_LOCAL_AVAIL 1
+# define SSL_VALUE_QUIC_STREAM_BIDI_REMOTE_AVAIL 2
+# define SSL_VALUE_QUIC_STREAM_UNI_LOCAL_AVAIL 3
+# define SSL_VALUE_QUIC_STREAM_UNI_REMOTE_AVAIL 4
+# define SSL_VALUE_QUIC_IDLE_TIMEOUT 0x8000
+
+int SSL_get_value_uint(SSL *s, uint32_t class_, uint32_t id, uint64_t *v);
+int SSL_set_value_uint(SSL *s, uint32_t class_, uint32_t id, uint64_t v);
+
+# define SSL_get_generic_value_uint(ssl, id, v) \
+ SSL_get_value_uint((ssl), SSL_VALUE_CLASS_GENERIC, (id), (v))
+# define SSL_set_generic_value_uint(ssl, id, v) \
+ SSL_set_value_uint((ssl), SSL_VALUE_CLASS_GENERIC, (id), (v))
+# define SSL_get_feature_request_uint(ssl, id, v) \
+ SSL_get_value_uint((ssl), SSL_VALUE_CLASS_FEATURE_REQUEST, (id), (v))
+# define SSL_set_feature_request_uint(ssl, id, v) \
+ SSL_set_value_uint((ssl), SSL_VALUE_CLASS_FEATURE_REQUEST, (id), (v))
+# define SSL_get_feature_peer_request_uint(ssl, id, v) \
+ SSL_get_value_uint((ssl), SSL_VALUE_CLASS_FEATURE_PEER_REQUEST, (id), (v))
+# define SSL_get_feature_negotiated_uint(ssl, id, v) \
+ SSL_get_value_uint((ssl), SSL_VALUE_CLASS_FEATURE_NEGOTIATED, (id), (v))
+
+# define SSL_get_quic_stream_bidi_local_avail(ssl, value) \
+ SSL_get_generic_value_uint((ssl), SSL_VALUE_QUIC_STREAM_BIDI_LOCAL_AVAIL, \
+ (value))
+# define SSL_get_quic_stream_bidi_remote_avail(ssl, value) \
+ SSL_get_generic_value_uint((ssl), SSL_VALUE_QUIC_STREAM_BIDI_REMOTE_AVAIL, \
+ (value))
+# define SSL_get_quic_stream_uni_local_avail(ssl, value) \
+ SSL_get_generic_value_uint((ssl), SSL_VALUE_QUIC_STREAM_UNI_LOCAL_AVAIL, \
+ (value))
+# define SSL_get_quic_stream_uni_remote_avail(ssl, value) \
+ SSL_get_generic_value_uint((ssl), SSL_VALUE_QUIC_STREAM_UNI_REMOTE_AVAIL, \
+ (value))
+
# ifndef OPENSSL_NO_DEPRECATED_1_1_0
# define SSL_cache_hit(s) SSL_session_reused(s)
# endif