Module msquic

Source
Expand description

re-export msquic type

Modules§

ffi

Structs§

AllowedCipherSuiteFlags
Set of allowed TLS cipher suites.
Api
Entry point for some global MsQuic APIs.
BufferRef
Buffer with same abi as ffi type.
CertificateFile
CertificateFileProtected
CertificateHash
CertificateHashStore
CertificateHashStoreFlags
Modifies the default credential configuration.
CertificatePkcs12
Configuration
Specifies how to configure a connection.
Connection
A single QUIC connection.
ConnectionRef
Same as the owned type but does not own the handle. Only used in callback wrapping where handle should not be closed by default.
ConnectionShutdownFlags
Controls connection shutdown behavior.
CredentialConfig
CredentialFlags
Modifies the default credential configuration.
HandshakeInfo
Listener
A single server listener
ListenerRef
Same as the owned type but does not own the handle. Only used in callback wrapping where handle should not be closed by default.
NewConnectionInfo
QuicListenerStatistics
A helper struct for accessing listener statistics.
QuicPerformanceCounters
A helper struct for accessing performance counters.
QuicTlsSecrets
ReceiveFlags
Registration
The execution context for processing connections on the application’s behalf.
RegistrationConfig
Specifies the configuration for a new registration.
SchannelContextAttributeExW
SchannelContextAttributeW
SchannelCredentialAttributeW
SendFlags
Controls stream and datagram send behavior.
Settings
Settings for MsQuic Wrapping QUIC_SETTINGS ffi type.
Status
Quic status used in non-ffi code. Internal representation matches the os platfrom type. Used for all non-ffi error return and callback status code fields.
Stream
A single QUIC stream on a parent connection.
StreamOpenFlags
Controls stream open behavior.
StreamRef
Same as the owned type but does not own the handle. Only used in callback wrapping where handle should not be closed by default.
StreamShutdownFlags
Controls stream shutdown behavior.
StreamStartFlags
Controls stream start behavior.
TicketKeyConfig
Key information for TLS session ticket encryption.

Enums§

ConnectionEvent
Connection callback events. TODO: derive Debug once all enums are safe.
Credential
Type of credentials used for a connection.
DatagramSendState
ExecutionProfile
Configures how to process a registration’s workload.
ListenerEvent
Listener event converted from ffi type.
ServerResumptionLevel
Type of resumption behavior on the server side.
StatusCode
Enum of quic status codes.
StreamEvent
Stream callback events
TlsProvider
The different possible TLS providers used by MsQuic.

Constants§

ADDRESS_FAMILY_INET
ADDRESS_FAMILY_INET6
ADDRESS_FAMILY_UNSPEC
CIPHER_ALGORITHM_AES_128
CIPHER_ALGORITHM_AES_256
CIPHER_ALGORITHM_CHACHA20
CIPHER_ALGORITHM_NONE
CIPHER_SUITE_TLS_AES_128_GCM_SHA256
CIPHER_SUITE_TLS_AES_256_GCM_SHA384
CIPHER_SUITE_TLS_CHACHA20_POLY1305_SHA256
CONN_DISABLE_1RTT_ENCRYPTION
HASH_ALGORITHM_NONE
HASH_ALGORITHM_SHA_256
HASH_ALGORITHM_SHA_384
KEY_EXCHANGE_ALGORITHM_NONE
LOAD_BALANCING_DISABLED
LOAD_BALANCING_SERVER_ID_IP
PARAM_CONFIGURATION_SCHANNEL_CREDENTIAL_ATTRIBUTE_W
PARAM_CONFIGURATION_SETTINGS
PARAM_CONFIGURATION_TICKET_KEYS
PARAM_CONFIGURATION_VERSION_SETTINGS
PARAM_CONN_CLOSE_REASON_PHRASE
PARAM_CONN_DATAGRAM_RECEIVE_ENABLED
PARAM_CONN_DATAGRAM_SEND_ENABLED
PARAM_CONN_IDEAL_PROCESSOR
PARAM_CONN_INITIAL_DCID_PREFIX
PARAM_CONN_LOCAL_ADDRESS
PARAM_CONN_LOCAL_BIDI_STREAM_COUNT
PARAM_CONN_LOCAL_INTERFACE
PARAM_CONN_LOCAL_UNIDI_STREAM_COUNT
PARAM_CONN_MAX_STREAM_IDS
PARAM_CONN_PEER_CERTIFICATE_VALID
PARAM_CONN_QUIC_VERSION
PARAM_CONN_REMOTE_ADDRESS
PARAM_CONN_RESUMPTION_TICKET
PARAM_CONN_SETTINGS
PARAM_CONN_SHARE_UDP_BINDING
PARAM_CONN_STATISTICS
PARAM_CONN_STATISTICS_PLAT
PARAM_CONN_STATISTICS_V2
PARAM_CONN_STATISTICS_V2_PLAT
PARAM_CONN_STREAM_SCHEDULING_SCHEME
PARAM_CONN_TLS_SECRETS
PARAM_CONN_VERSION_SETTINGS
PARAM_GLOBAL_DATAPATH_PROCESSORS
PARAM_GLOBAL_GLOBAL_SETTINGS
PARAM_GLOBAL_LIBRARY_GIT_HASH
PARAM_GLOBAL_LOAD_BALACING_MODE
PARAM_GLOBAL_PERF_COUNTERS
PARAM_GLOBAL_RETRY_MEMORY_PERCENT
PARAM_GLOBAL_SETTINGS
PARAM_GLOBAL_SUPPORTED_VERSIONS
PARAM_GLOBAL_VERSION
PARAM_GLOBAL_VERSION_SETTINGS
PARAM_LISTENER_CIBIR_ID
PARAM_LISTENER_LOCAL_ADDRESS
PARAM_LISTENER_STATS
PARAM_STREAM_0RTT_LENGTH
PARAM_STREAM_ID
PARAM_STREAM_IDEAL_SEND_BUFFER_SIZE
PARAM_STREAM_PRIORITY
PARAM_TLS_HANDSHAKE_INFO
PARAM_TLS_NEGOTIATED_ALPN
PARAM_TLS_SCHANNEL_CONTEXT_ATTRIBUTE_EX_W
PARAM_TLS_SCHANNEL_CONTEXT_ATTRIBUTE_W
PARAM_TLS_SCHANNEL_SECURITY_CONTEXT_TOKEN
QUIC_TLS_SECRETS_MAX_SECRET_LEN
SEND_RESUMPTION_FLAG_FINAL
SEND_RESUMPTION_FLAG_NONE
STREAM_SCHEDULING_SCHEME_COUNT
STREAM_SCHEDULING_SCHEME_FIFO
STREAM_SCHEDULING_SCHEME_ROUND_ROBIN
TLS_ALERT_CODE_ACCESS_DENIED
TLS_ALERT_CODE_BAD_CERTIFICATE
TLS_ALERT_CODE_CERTIFICATE_EXPIRED
TLS_ALERT_CODE_CERTIFICATE_REQUIRED
TLS_ALERT_CODE_CERTIFICATE_REVOKED
TLS_ALERT_CODE_CERTIFICATE_UNKNOWN
TLS_ALERT_CODE_ILLEGAL_PARAMETER
TLS_ALERT_CODE_INSUFFICIENT_SECURITY
TLS_ALERT_CODE_INTERNAL_ERROR
TLS_ALERT_CODE_SUCCESS
TLS_ALERT_CODE_UNEXPECTED_MESSAGE
TLS_ALERT_CODE_UNKNOWN_CA
TLS_ALERT_CODE_UNSUPPORTED_CERTIFICATE
TLS_ALERT_CODE_USER_CANCELED
TLS_PROTOCOL_1_3
TLS_PROTOCOL_UNKNOWN

Type Aliases§

AddressFamily
Family of an IP address.
BOOLEAN
C-style bool.
CipherAlgorithm
CipherSuite
HashAlgorithm
KeyExchangeAlgorithm
ListenerCallback
Listener callback. msquic may execute listener callback in parallel, so Fn is used for immutability.
LoadBalancingMode
Represents how load balancing is performed.
SendResumptionFlags
Modifies the behavior when sending resumption data.
StreamCallback
Stream callback. msquic never executes stream callback on the same stream in parallel.
StreamSchedulingScheme
Controls the connection’s scheduling behavior for streams.
TlsAlertCode
Represents different TLS alert codes.
TlsProtocolVersion
u62
Unsigned 62-bit integer.

Unions§

Addr
Generic representation of IPv4 or IPv6 addresses.