From 8fdf06004aeace978405b325a10d8a19a6f84614 Mon Sep 17 00:00:00 2001 From: James Davidson Date: Wed, 26 Aug 2026 11:04:43 +0800 Subject: [PATCH 1/3] Fix generate-dotnet.ps1 Also update to use latest ClangSharp tool version --- scripts/generate-dotnet.ps1 | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/generate-dotnet.ps1 b/scripts/generate-dotnet.ps1 index 0a1ed5d7f9..0bf1effe48 100644 --- a/scripts/generate-dotnet.ps1 +++ b/scripts/generate-dotnet.ps1 @@ -18,14 +18,14 @@ $ToolPath = Join-Path $RootDir build dotnetgenerator if (Test-Path $ToolPath) { Remove-Item $ToolPath -Recurse -Force | Out-Null } -dotnet tool install ClangSharpPInvokeGenerator --version 13.0.0-beta1 --tool-path $ToolPath +dotnet tool install ClangSharpPInvokeGenerator --version 21.1.8.4 --tool-path $ToolPath $MsQuicHeader = Join-Path $RootDir src inc msquic.h $MsQuicGeneratedSource = Join-Path $RootDir src cs lib msquic_generated.cs $LicenseHeader = Join-Path $RootDir src cs LicenseHeader.txt -$ToolExe = Join-Path $ToolPath ClangSharpPInvokeGenerator.exe +$ToolCmd = Join-Path $ToolPath ClangSharpPInvokeGenerator.cmd $Arguments = @( "-f $MsQuicHeader", # Header to parse @@ -33,10 +33,10 @@ $Arguments = @( "-o $MsQuicGeneratedSource", # Output file "-m MsQuic", # Class to place global functions and definitions in "-l msquic", # Library to import for functions - "-c exclude-enum-operators", # Exclude enum operators from generated + "-g enum-operators=false", # Exclude enum operators from generated "-r _SOCKADDR_INET=QuicAddr", # Remap _SOCKADDR_INET to QuicAddr - "-c generate-macro-bindings", # Generate values for macros (Such as status codes) - "-h $LicenseHeader", # Add license header to file + "-g macro-bindings", # Generate values for macros (Such as status codes) + "-hf $LicenseHeader", # Add license header to file "-e QUIC_UINT62_MAX", # Exclude QUIC_UINT62_MAX from generator "-e MsQuicOpen2", # Exclude MsQuicOpen2 macro from generator "-e QUIC_API_VERSION_1", # Exclude v1 API define @@ -53,7 +53,7 @@ $Arguments = @( $FullArgs = $Arguments -join " " -Invoke-Expression "$ToolExe $FullArgs" +Invoke-Expression "$ToolCmd $FullArgs" (Get-Content $MsQuicGeneratedSource) ` -replace '\(anonymous struct.+\)\"', "(anonymous struct)`"" ` From 267b4e68f57ec7c10736b8be798909ebaca7759e Mon Sep 17 00:00:00 2001 From: James Davidson Date: Sat, 29 Aug 2026 05:49:41 +0800 Subject: [PATCH 2/3] Update generated binding files --- src/cs/lib/msquic.csproj | 4 +- src/cs/lib/msquic_generated.cs | 597 ++++++++++++++++++++------------- 2 files changed, 371 insertions(+), 230 deletions(-) diff --git a/src/cs/lib/msquic.csproj b/src/cs/lib/msquic.csproj index 39391ced8e..6a507f7231 100644 --- a/src/cs/lib/msquic.csproj +++ b/src/cs/lib/msquic.csproj @@ -1,14 +1,14 @@ - net6.0;netstandard2.0;netstandard2.1 + net8.0;net10.0 true enable Microsoft.Quic - 9.0 + 12.0 diff --git a/src/cs/lib/msquic_generated.cs b/src/cs/lib/msquic_generated.cs index 73f7059ff6..4302f5bca4 100644 --- a/src/cs/lib/msquic_generated.cs +++ b/src/cs/lib/msquic_generated.cs @@ -14,6 +14,9 @@ using MemoryMarshal = System.Runtime.InteropServices.MemoryMarshal; #endif +using System; +using System.Diagnostics.CodeAnalysis; +using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Microsoft.Quic @@ -221,7 +224,7 @@ internal enum QUIC_GLOBAL_EXECUTION_CONFIG_FLAGS AFFINITIZE = 0x0020, } - internal unsafe partial struct QUIC_GLOBAL_EXECUTION_CONFIG + internal partial struct QUIC_GLOBAL_EXECUTION_CONFIG { internal QUIC_GLOBAL_EXECUTION_CONFIG_FLAGS Flags; @@ -231,8 +234,25 @@ internal unsafe partial struct QUIC_GLOBAL_EXECUTION_CONFIG [NativeTypeName("uint32_t")] internal uint ProcessorCount; - [NativeTypeName("uint16_t [1]")] - internal fixed ushort ProcessorList[1]; + [NativeTypeName("uint16_t[1]")] + internal _ProcessorList_e__FixedBuffer ProcessorList; + + internal partial struct _ProcessorList_e__FixedBuffer + { + internal ushort e0; + + [UnscopedRef] + internal ref ushort this[int index] + { + get + { + return ref Unsafe.Add(ref e0, index); + } + } + + [UnscopedRef] + internal Span AsSpan(int length) => MemoryMarshal.CreateSpan(ref e0, length); + } } internal unsafe partial struct QUIC_EXECUTION_CONFIG @@ -248,6 +268,15 @@ internal partial struct QUIC_EXECUTION { } + internal unsafe partial struct QUIC_XDP_MAP_CONFIG + { + [NativeTypeName("uint32_t")] + internal uint InterfaceIndex; + + [NativeTypeName("QUIC_XDP_MAP_HANDLE")] + internal void* MapHandle; + } + internal unsafe partial struct QUIC_REGISTRATION_CONFIG { [NativeTypeName("const char *")] @@ -256,21 +285,39 @@ internal unsafe partial struct QUIC_REGISTRATION_CONFIG internal QUIC_EXECUTION_PROFILE ExecutionProfile; } - internal unsafe partial struct QUIC_CERTIFICATE_HASH + internal partial struct QUIC_CERTIFICATE_HASH { - [NativeTypeName("uint8_t [20]")] - internal fixed byte ShaHash[20]; + [NativeTypeName("uint8_t[20]")] + internal _ShaHash_e__FixedBuffer ShaHash; + + [InlineArray(20)] + internal partial struct _ShaHash_e__FixedBuffer + { + internal byte e0; + } } - internal unsafe partial struct QUIC_CERTIFICATE_HASH_STORE + internal partial struct QUIC_CERTIFICATE_HASH_STORE { internal QUIC_CERTIFICATE_HASH_STORE_FLAGS Flags; - [NativeTypeName("uint8_t [20]")] - internal fixed byte ShaHash[20]; + [NativeTypeName("uint8_t[20]")] + internal _ShaHash_e__FixedBuffer ShaHash; + + [NativeTypeName("char[128]")] + internal _StoreName_e__FixedBuffer StoreName; + + [InlineArray(20)] + internal partial struct _ShaHash_e__FixedBuffer + { + internal byte e0; + } - [NativeTypeName("char [128]")] - internal fixed sbyte StoreName[128]; + [InlineArray(128)] + internal partial struct _StoreName_e__FixedBuffer + { + internal sbyte e0; + } } internal unsafe partial struct QUIC_CERTIFICATE_FILE @@ -312,7 +359,7 @@ internal unsafe partial struct QUIC_CREDENTIAL_CONFIG internal QUIC_CREDENTIAL_FLAGS Flags; - [NativeTypeName("QUIC_CREDENTIAL_CONFIG::(anonymous union)")] + [NativeTypeName("__AnonymousRecord_msquic_L423_C5")] internal _Anonymous_e__Union Anonymous; [NativeTypeName("const char *")] @@ -328,51 +375,57 @@ internal unsafe partial struct QUIC_CREDENTIAL_CONFIG [NativeTypeName("const char *")] internal sbyte* CaCertificateFile; + [UnscopedRef] internal ref QUIC_CERTIFICATE_HASH* CertificateHash { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref this, 1)).Anonymous.CertificateHash; + return ref Anonymous.CertificateHash; } } + [UnscopedRef] internal ref QUIC_CERTIFICATE_HASH_STORE* CertificateHashStore { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref this, 1)).Anonymous.CertificateHashStore; + return ref Anonymous.CertificateHashStore; } } + [UnscopedRef] internal ref void* CertificateContext { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref this, 1)).Anonymous.CertificateContext; + return ref Anonymous.CertificateContext; } } + [UnscopedRef] internal ref QUIC_CERTIFICATE_FILE* CertificateFile { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref this, 1)).Anonymous.CertificateFile; + return ref Anonymous.CertificateFile; } } + [UnscopedRef] internal ref QUIC_CERTIFICATE_FILE_PROTECTED* CertificateFileProtected { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref this, 1)).Anonymous.CertificateFileProtected; + return ref Anonymous.CertificateFileProtected; } } + [UnscopedRef] internal ref QUIC_CERTIFICATE_PKCS12* CertificatePkcs12 { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref this, 1)).Anonymous.CertificatePkcs12; + return ref Anonymous.CertificatePkcs12; } } @@ -400,16 +453,28 @@ internal unsafe partial struct _Anonymous_e__Union } } - internal unsafe partial struct QUIC_TICKET_KEY_CONFIG + internal partial struct QUIC_TICKET_KEY_CONFIG { - [NativeTypeName("uint8_t [16]")] - internal fixed byte Id[16]; + [NativeTypeName("uint8_t[16]")] + internal _Id_e__FixedBuffer Id; - [NativeTypeName("uint8_t [64]")] - internal fixed byte Material[64]; + [NativeTypeName("uint8_t[64]")] + internal _Material_e__FixedBuffer Material; [NativeTypeName("uint8_t")] internal byte MaterialLength; + + [InlineArray(16)] + internal partial struct _Id_e__FixedBuffer + { + internal byte e0; + } + + [InlineArray(64)] + internal partial struct _Material_e__FixedBuffer + { + internal byte e0; + } } internal unsafe partial struct QUIC_BUFFER @@ -545,7 +610,7 @@ internal partial struct QUIC_STATISTICS [NativeTypeName("uint32_t : 1")] internal uint VersionNegotiation { - get + readonly get { return _bitfield & 0x1u; } @@ -559,7 +624,7 @@ internal uint VersionNegotiation [NativeTypeName("uint32_t : 1")] internal uint StatelessRetry { - get + readonly get { return (_bitfield >> 1) & 0x1u; } @@ -573,7 +638,7 @@ internal uint StatelessRetry [NativeTypeName("uint32_t : 1")] internal uint ResumptionAttempted { - get + readonly get { return (_bitfield >> 2) & 0x1u; } @@ -587,7 +652,7 @@ internal uint ResumptionAttempted [NativeTypeName("uint32_t : 1")] internal uint ResumptionSucceeded { - get + readonly get { return (_bitfield >> 3) & 0x1u; } @@ -607,19 +672,19 @@ internal uint ResumptionSucceeded [NativeTypeName("uint32_t")] internal uint MaxRtt; - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L562_C5")] internal _Timing_e__Struct Timing; - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L567_C5")] internal _Handshake_e__Struct Handshake; - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L572_C5")] internal _Send_e__Struct Send; - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L583_C5")] internal _Recv_e__Struct Recv; - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L593_C5")] internal _Misc_e__Struct Misc; internal partial struct _Timing_e__Struct @@ -720,7 +785,7 @@ internal partial struct QUIC_STATISTICS_V2 [NativeTypeName("uint32_t : 1")] internal uint VersionNegotiation { - get + readonly get { return _bitfield & 0x1u; } @@ -734,7 +799,7 @@ internal uint VersionNegotiation [NativeTypeName("uint32_t : 1")] internal uint StatelessRetry { - get + readonly get { return (_bitfield >> 1) & 0x1u; } @@ -748,7 +813,7 @@ internal uint StatelessRetry [NativeTypeName("uint32_t : 1")] internal uint ResumptionAttempted { - get + readonly get { return (_bitfield >> 2) & 0x1u; } @@ -762,7 +827,7 @@ internal uint ResumptionAttempted [NativeTypeName("uint32_t : 1")] internal uint ResumptionSucceeded { - get + readonly get { return (_bitfield >> 3) & 0x1u; } @@ -776,7 +841,7 @@ internal uint ResumptionSucceeded [NativeTypeName("uint32_t : 1")] internal uint GreaseBitNegotiated { - get + readonly get { return (_bitfield >> 4) & 0x1u; } @@ -790,7 +855,7 @@ internal uint GreaseBitNegotiated [NativeTypeName("uint32_t : 1")] internal uint EcnCapable { - get + readonly get { return (_bitfield >> 5) & 0x1u; } @@ -804,7 +869,7 @@ internal uint EcnCapable [NativeTypeName("uint32_t : 1")] internal uint EncryptionOffloaded { - get + readonly get { return (_bitfield >> 6) & 0x1u; } @@ -818,7 +883,7 @@ internal uint EncryptionOffloaded [NativeTypeName("uint32_t : 25")] internal uint RESERVED { - get + readonly get { return (_bitfield >> 7) & 0x1FFFFFFu; } @@ -1020,7 +1085,7 @@ internal unsafe partial struct QUIC_VERSION_SETTINGS internal partial struct QUIC_GLOBAL_SETTINGS { - [NativeTypeName("QUIC_GLOBAL_SETTINGS::(anonymous union)")] + [NativeTypeName("__AnonymousRecord_msquic_L740_C5")] internal _Anonymous_e__Union Anonymous; [NativeTypeName("uint16_t")] @@ -1032,19 +1097,21 @@ internal partial struct QUIC_GLOBAL_SETTINGS [NativeTypeName("uint32_t")] internal uint FixedServerID; + [UnscopedRef] internal ref ulong IsSetFlags { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.IsSetFlags, 1)); + return ref Anonymous.IsSetFlags; } } + [UnscopedRef] internal ref _Anonymous_e__Union._IsSet_e__Struct IsSet { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.IsSet, 1)); + return ref Anonymous.IsSet; } } @@ -1056,7 +1123,7 @@ internal partial struct _Anonymous_e__Union internal ulong IsSetFlags; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L742_C9")] internal _IsSet_e__Struct IsSet; internal partial struct _IsSet_e__Struct @@ -1066,7 +1133,7 @@ internal partial struct _IsSet_e__Struct [NativeTypeName("uint64_t : 1")] internal ulong RetryMemoryLimit { - get + readonly get { return _bitfield & 0x1UL; } @@ -1080,7 +1147,7 @@ internal ulong RetryMemoryLimit [NativeTypeName("uint64_t : 1")] internal ulong LoadBalancingMode { - get + readonly get { return (_bitfield >> 1) & 0x1UL; } @@ -1094,7 +1161,7 @@ internal ulong LoadBalancingMode [NativeTypeName("uint64_t : 1")] internal ulong FixedServerID { - get + readonly get { return (_bitfield >> 2) & 0x1UL; } @@ -1108,7 +1175,7 @@ internal ulong FixedServerID [NativeTypeName("uint64_t : 61")] internal ulong RESERVED { - get + readonly get { return (_bitfield >> 3) & 0x1FFFFFFFUL; } @@ -1124,7 +1191,7 @@ internal ulong RESERVED internal partial struct QUIC_SETTINGS { - [NativeTypeName("QUIC_SETTINGS::(anonymous union)")] + [NativeTypeName("__AnonymousRecord_msquic_L756_C5")] internal _Anonymous1_e__Union Anonymous1; [NativeTypeName("uint64_t")] @@ -1204,7 +1271,7 @@ internal partial struct QUIC_SETTINGS [NativeTypeName("uint8_t : 1")] internal byte SendBufferingEnabled { - get + readonly get { return (byte)(_bitfield & 0x1u); } @@ -1218,7 +1285,7 @@ internal byte SendBufferingEnabled [NativeTypeName("uint8_t : 1")] internal byte PacingEnabled { - get + readonly get { return (byte)((_bitfield >> 1) & 0x1u); } @@ -1232,7 +1299,7 @@ internal byte PacingEnabled [NativeTypeName("uint8_t : 1")] internal byte MigrationEnabled { - get + readonly get { return (byte)((_bitfield >> 2) & 0x1u); } @@ -1246,7 +1313,7 @@ internal byte MigrationEnabled [NativeTypeName("uint8_t : 1")] internal byte DatagramReceiveEnabled { - get + readonly get { return (byte)((_bitfield >> 3) & 0x1u); } @@ -1260,7 +1327,7 @@ internal byte DatagramReceiveEnabled [NativeTypeName("uint8_t : 2")] internal byte ServerResumptionLevel { - get + readonly get { return (byte)((_bitfield >> 4) & 0x3u); } @@ -1274,7 +1341,7 @@ internal byte ServerResumptionLevel [NativeTypeName("uint8_t : 1")] internal byte GreaseQuicBitEnabled { - get + readonly get { return (byte)((_bitfield >> 6) & 0x1u); } @@ -1288,7 +1355,7 @@ internal byte GreaseQuicBitEnabled [NativeTypeName("uint8_t : 1")] internal byte EcnEnabled { - get + readonly get { return (byte)((_bitfield >> 7) & 0x1u); } @@ -1308,7 +1375,7 @@ internal byte EcnEnabled [NativeTypeName("uint32_t")] internal uint DestCidUpdateIdleTimeoutMs; - [NativeTypeName("QUIC_SETTINGS::(anonymous union)")] + [NativeTypeName("__AnonymousRecord_msquic_L847_C5")] internal _Anonymous2_e__Union Anonymous2; [NativeTypeName("uint32_t")] @@ -1320,33 +1387,36 @@ internal byte EcnEnabled [NativeTypeName("uint32_t")] internal uint StreamRecvWindowUnidiDefault; + [UnscopedRef] internal ref ulong IsSetFlags { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous1.IsSetFlags, 1)); + return ref Anonymous1.IsSetFlags; } } + [UnscopedRef] internal ref _Anonymous1_e__Union._IsSet_e__Struct IsSet { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous1.IsSet, 1)); + return ref Anonymous1.IsSet; } } + [UnscopedRef] internal ref ulong Flags { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous2.Flags, 1)); + return ref Anonymous2.Flags; } } internal ulong HyStartEnabled { - get + readonly get { return Anonymous2.Anonymous.HyStartEnabled; } @@ -1359,7 +1429,7 @@ internal ulong HyStartEnabled internal ulong EncryptionOffloadAllowed { - get + readonly get { return Anonymous2.Anonymous.EncryptionOffloadAllowed; } @@ -1372,7 +1442,7 @@ internal ulong EncryptionOffloadAllowed internal ulong ReliableResetEnabled { - get + readonly get { return Anonymous2.Anonymous.ReliableResetEnabled; } @@ -1385,7 +1455,7 @@ internal ulong ReliableResetEnabled internal ulong OneWayDelayEnabled { - get + readonly get { return Anonymous2.Anonymous.OneWayDelayEnabled; } @@ -1398,7 +1468,7 @@ internal ulong OneWayDelayEnabled internal ulong NetStatsEventEnabled { - get + readonly get { return Anonymous2.Anonymous.NetStatsEventEnabled; } @@ -1411,7 +1481,7 @@ internal ulong NetStatsEventEnabled internal ulong StreamMultiReceiveEnabled { - get + readonly get { return Anonymous2.Anonymous.StreamMultiReceiveEnabled; } @@ -1424,7 +1494,7 @@ internal ulong StreamMultiReceiveEnabled internal ulong XdpEnabled { - get + readonly get { return Anonymous2.Anonymous.XdpEnabled; } @@ -1437,7 +1507,7 @@ internal ulong XdpEnabled internal ulong QTIPEnabled { - get + readonly get { return Anonymous2.Anonymous.QTIPEnabled; } @@ -1450,7 +1520,7 @@ internal ulong QTIPEnabled internal ulong ReservedRioEnabled { - get + readonly get { return Anonymous2.Anonymous.ReservedRioEnabled; } @@ -1463,7 +1533,7 @@ internal ulong ReservedRioEnabled internal ulong ReservedFlags { - get + readonly get { return Anonymous2.Anonymous.ReservedFlags; } @@ -1482,7 +1552,7 @@ internal partial struct _Anonymous1_e__Union internal ulong IsSetFlags; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L758_C9")] internal _IsSet_e__Struct IsSet; internal partial struct _IsSet_e__Struct @@ -1492,7 +1562,7 @@ internal partial struct _IsSet_e__Struct [NativeTypeName("uint64_t : 1")] internal ulong MaxBytesPerKey { - get + readonly get { return _bitfield & 0x1UL; } @@ -1506,7 +1576,7 @@ internal ulong MaxBytesPerKey [NativeTypeName("uint64_t : 1")] internal ulong HandshakeIdleTimeoutMs { - get + readonly get { return (_bitfield >> 1) & 0x1UL; } @@ -1520,7 +1590,7 @@ internal ulong HandshakeIdleTimeoutMs [NativeTypeName("uint64_t : 1")] internal ulong IdleTimeoutMs { - get + readonly get { return (_bitfield >> 2) & 0x1UL; } @@ -1534,7 +1604,7 @@ internal ulong IdleTimeoutMs [NativeTypeName("uint64_t : 1")] internal ulong MtuDiscoverySearchCompleteTimeoutUs { - get + readonly get { return (_bitfield >> 3) & 0x1UL; } @@ -1548,7 +1618,7 @@ internal ulong MtuDiscoverySearchCompleteTimeoutUs [NativeTypeName("uint64_t : 1")] internal ulong TlsClientMaxSendBuffer { - get + readonly get { return (_bitfield >> 4) & 0x1UL; } @@ -1562,7 +1632,7 @@ internal ulong TlsClientMaxSendBuffer [NativeTypeName("uint64_t : 1")] internal ulong TlsServerMaxSendBuffer { - get + readonly get { return (_bitfield >> 5) & 0x1UL; } @@ -1576,7 +1646,7 @@ internal ulong TlsServerMaxSendBuffer [NativeTypeName("uint64_t : 1")] internal ulong StreamRecvWindowDefault { - get + readonly get { return (_bitfield >> 6) & 0x1UL; } @@ -1590,7 +1660,7 @@ internal ulong StreamRecvWindowDefault [NativeTypeName("uint64_t : 1")] internal ulong StreamRecvBufferDefault { - get + readonly get { return (_bitfield >> 7) & 0x1UL; } @@ -1604,7 +1674,7 @@ internal ulong StreamRecvBufferDefault [NativeTypeName("uint64_t : 1")] internal ulong ConnFlowControlWindow { - get + readonly get { return (_bitfield >> 8) & 0x1UL; } @@ -1618,7 +1688,7 @@ internal ulong ConnFlowControlWindow [NativeTypeName("uint64_t : 1")] internal ulong MaxWorkerQueueDelayUs { - get + readonly get { return (_bitfield >> 9) & 0x1UL; } @@ -1632,7 +1702,7 @@ internal ulong MaxWorkerQueueDelayUs [NativeTypeName("uint64_t : 1")] internal ulong MaxStatelessOperations { - get + readonly get { return (_bitfield >> 10) & 0x1UL; } @@ -1646,7 +1716,7 @@ internal ulong MaxStatelessOperations [NativeTypeName("uint64_t : 1")] internal ulong InitialWindowPackets { - get + readonly get { return (_bitfield >> 11) & 0x1UL; } @@ -1660,7 +1730,7 @@ internal ulong InitialWindowPackets [NativeTypeName("uint64_t : 1")] internal ulong SendIdleTimeoutMs { - get + readonly get { return (_bitfield >> 12) & 0x1UL; } @@ -1674,7 +1744,7 @@ internal ulong SendIdleTimeoutMs [NativeTypeName("uint64_t : 1")] internal ulong InitialRttMs { - get + readonly get { return (_bitfield >> 13) & 0x1UL; } @@ -1688,7 +1758,7 @@ internal ulong InitialRttMs [NativeTypeName("uint64_t : 1")] internal ulong MaxAckDelayMs { - get + readonly get { return (_bitfield >> 14) & 0x1UL; } @@ -1702,7 +1772,7 @@ internal ulong MaxAckDelayMs [NativeTypeName("uint64_t : 1")] internal ulong DisconnectTimeoutMs { - get + readonly get { return (_bitfield >> 15) & 0x1UL; } @@ -1716,7 +1786,7 @@ internal ulong DisconnectTimeoutMs [NativeTypeName("uint64_t : 1")] internal ulong KeepAliveIntervalMs { - get + readonly get { return (_bitfield >> 16) & 0x1UL; } @@ -1730,7 +1800,7 @@ internal ulong KeepAliveIntervalMs [NativeTypeName("uint64_t : 1")] internal ulong CongestionControlAlgorithm { - get + readonly get { return (_bitfield >> 17) & 0x1UL; } @@ -1744,7 +1814,7 @@ internal ulong CongestionControlAlgorithm [NativeTypeName("uint64_t : 1")] internal ulong PeerBidiStreamCount { - get + readonly get { return (_bitfield >> 18) & 0x1UL; } @@ -1758,7 +1828,7 @@ internal ulong PeerBidiStreamCount [NativeTypeName("uint64_t : 1")] internal ulong PeerUnidiStreamCount { - get + readonly get { return (_bitfield >> 19) & 0x1UL; } @@ -1772,7 +1842,7 @@ internal ulong PeerUnidiStreamCount [NativeTypeName("uint64_t : 1")] internal ulong MaxBindingStatelessOperations { - get + readonly get { return (_bitfield >> 20) & 0x1UL; } @@ -1786,7 +1856,7 @@ internal ulong MaxBindingStatelessOperations [NativeTypeName("uint64_t : 1")] internal ulong StatelessOperationExpirationMs { - get + readonly get { return (_bitfield >> 21) & 0x1UL; } @@ -1800,7 +1870,7 @@ internal ulong StatelessOperationExpirationMs [NativeTypeName("uint64_t : 1")] internal ulong MinimumMtu { - get + readonly get { return (_bitfield >> 22) & 0x1UL; } @@ -1814,7 +1884,7 @@ internal ulong MinimumMtu [NativeTypeName("uint64_t : 1")] internal ulong MaximumMtu { - get + readonly get { return (_bitfield >> 23) & 0x1UL; } @@ -1828,7 +1898,7 @@ internal ulong MaximumMtu [NativeTypeName("uint64_t : 1")] internal ulong SendBufferingEnabled { - get + readonly get { return (_bitfield >> 24) & 0x1UL; } @@ -1842,7 +1912,7 @@ internal ulong SendBufferingEnabled [NativeTypeName("uint64_t : 1")] internal ulong PacingEnabled { - get + readonly get { return (_bitfield >> 25) & 0x1UL; } @@ -1856,7 +1926,7 @@ internal ulong PacingEnabled [NativeTypeName("uint64_t : 1")] internal ulong MigrationEnabled { - get + readonly get { return (_bitfield >> 26) & 0x1UL; } @@ -1870,7 +1940,7 @@ internal ulong MigrationEnabled [NativeTypeName("uint64_t : 1")] internal ulong DatagramReceiveEnabled { - get + readonly get { return (_bitfield >> 27) & 0x1UL; } @@ -1884,7 +1954,7 @@ internal ulong DatagramReceiveEnabled [NativeTypeName("uint64_t : 1")] internal ulong ServerResumptionLevel { - get + readonly get { return (_bitfield >> 28) & 0x1UL; } @@ -1898,7 +1968,7 @@ internal ulong ServerResumptionLevel [NativeTypeName("uint64_t : 1")] internal ulong MaxOperationsPerDrain { - get + readonly get { return (_bitfield >> 29) & 0x1UL; } @@ -1912,7 +1982,7 @@ internal ulong MaxOperationsPerDrain [NativeTypeName("uint64_t : 1")] internal ulong MtuDiscoveryMissingProbeCount { - get + readonly get { return (_bitfield >> 30) & 0x1UL; } @@ -1926,7 +1996,7 @@ internal ulong MtuDiscoveryMissingProbeCount [NativeTypeName("uint64_t : 1")] internal ulong DestCidUpdateIdleTimeoutMs { - get + readonly get { return (_bitfield >> 31) & 0x1UL; } @@ -1940,7 +2010,7 @@ internal ulong DestCidUpdateIdleTimeoutMs [NativeTypeName("uint64_t : 1")] internal ulong GreaseQuicBitEnabled { - get + readonly get { return (_bitfield >> 32) & 0x1UL; } @@ -1954,7 +2024,7 @@ internal ulong GreaseQuicBitEnabled [NativeTypeName("uint64_t : 1")] internal ulong EcnEnabled { - get + readonly get { return (_bitfield >> 33) & 0x1UL; } @@ -1968,7 +2038,7 @@ internal ulong EcnEnabled [NativeTypeName("uint64_t : 1")] internal ulong HyStartEnabled { - get + readonly get { return (_bitfield >> 34) & 0x1UL; } @@ -1982,7 +2052,7 @@ internal ulong HyStartEnabled [NativeTypeName("uint64_t : 1")] internal ulong StreamRecvWindowBidiLocalDefault { - get + readonly get { return (_bitfield >> 35) & 0x1UL; } @@ -1996,7 +2066,7 @@ internal ulong StreamRecvWindowBidiLocalDefault [NativeTypeName("uint64_t : 1")] internal ulong StreamRecvWindowBidiRemoteDefault { - get + readonly get { return (_bitfield >> 36) & 0x1UL; } @@ -2010,7 +2080,7 @@ internal ulong StreamRecvWindowBidiRemoteDefault [NativeTypeName("uint64_t : 1")] internal ulong StreamRecvWindowUnidiDefault { - get + readonly get { return (_bitfield >> 37) & 0x1UL; } @@ -2024,7 +2094,7 @@ internal ulong StreamRecvWindowUnidiDefault [NativeTypeName("uint64_t : 1")] internal ulong EncryptionOffloadAllowed { - get + readonly get { return (_bitfield >> 38) & 0x1UL; } @@ -2038,7 +2108,7 @@ internal ulong EncryptionOffloadAllowed [NativeTypeName("uint64_t : 1")] internal ulong ReliableResetEnabled { - get + readonly get { return (_bitfield >> 39) & 0x1UL; } @@ -2052,7 +2122,7 @@ internal ulong ReliableResetEnabled [NativeTypeName("uint64_t : 1")] internal ulong OneWayDelayEnabled { - get + readonly get { return (_bitfield >> 40) & 0x1UL; } @@ -2066,7 +2136,7 @@ internal ulong OneWayDelayEnabled [NativeTypeName("uint64_t : 1")] internal ulong NetStatsEventEnabled { - get + readonly get { return (_bitfield >> 41) & 0x1UL; } @@ -2080,7 +2150,7 @@ internal ulong NetStatsEventEnabled [NativeTypeName("uint64_t : 1")] internal ulong StreamMultiReceiveEnabled { - get + readonly get { return (_bitfield >> 42) & 0x1UL; } @@ -2094,7 +2164,7 @@ internal ulong StreamMultiReceiveEnabled [NativeTypeName("uint64_t : 1")] internal ulong XdpEnabled { - get + readonly get { return (_bitfield >> 43) & 0x1UL; } @@ -2108,7 +2178,7 @@ internal ulong XdpEnabled [NativeTypeName("uint64_t : 1")] internal ulong QTIPEnabled { - get + readonly get { return (_bitfield >> 44) & 0x1UL; } @@ -2122,7 +2192,7 @@ internal ulong QTIPEnabled [NativeTypeName("uint64_t : 1")] internal ulong ReservedRioEnabled { - get + readonly get { return (_bitfield >> 45) & 0x1UL; } @@ -2136,7 +2206,7 @@ internal ulong ReservedRioEnabled [NativeTypeName("uint64_t : 18")] internal ulong RESERVED { - get + readonly get { return (_bitfield >> 46) & 0x3FFFFUL; } @@ -2157,7 +2227,7 @@ internal partial struct _Anonymous2_e__Union internal ulong Flags; [FieldOffset(0)] - [NativeTypeName("QUIC_SETTINGS::(anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L849_C9")] internal _Anonymous_e__Struct Anonymous; internal partial struct _Anonymous_e__Struct @@ -2167,7 +2237,7 @@ internal partial struct _Anonymous_e__Struct [NativeTypeName("uint64_t : 1")] internal ulong HyStartEnabled { - get + readonly get { return _bitfield & 0x1UL; } @@ -2181,7 +2251,7 @@ internal ulong HyStartEnabled [NativeTypeName("uint64_t : 1")] internal ulong EncryptionOffloadAllowed { - get + readonly get { return (_bitfield >> 1) & 0x1UL; } @@ -2195,7 +2265,7 @@ internal ulong EncryptionOffloadAllowed [NativeTypeName("uint64_t : 1")] internal ulong ReliableResetEnabled { - get + readonly get { return (_bitfield >> 2) & 0x1UL; } @@ -2209,7 +2279,7 @@ internal ulong ReliableResetEnabled [NativeTypeName("uint64_t : 1")] internal ulong OneWayDelayEnabled { - get + readonly get { return (_bitfield >> 3) & 0x1UL; } @@ -2223,7 +2293,7 @@ internal ulong OneWayDelayEnabled [NativeTypeName("uint64_t : 1")] internal ulong NetStatsEventEnabled { - get + readonly get { return (_bitfield >> 4) & 0x1UL; } @@ -2237,7 +2307,7 @@ internal ulong NetStatsEventEnabled [NativeTypeName("uint64_t : 1")] internal ulong StreamMultiReceiveEnabled { - get + readonly get { return (_bitfield >> 5) & 0x1UL; } @@ -2251,7 +2321,7 @@ internal ulong StreamMultiReceiveEnabled [NativeTypeName("uint64_t : 1")] internal ulong XdpEnabled { - get + readonly get { return (_bitfield >> 6) & 0x1UL; } @@ -2265,7 +2335,7 @@ internal ulong XdpEnabled [NativeTypeName("uint64_t : 1")] internal ulong QTIPEnabled { - get + readonly get { return (_bitfield >> 7) & 0x1UL; } @@ -2279,7 +2349,7 @@ internal ulong QTIPEnabled [NativeTypeName("uint64_t : 1")] internal ulong ReservedRioEnabled { - get + readonly get { return (_bitfield >> 8) & 0x1UL; } @@ -2293,7 +2363,7 @@ internal ulong ReservedRioEnabled [NativeTypeName("uint64_t : 55")] internal ulong ReservedFlags { - get + readonly get { return (_bitfield >> 9) & 0x7FFFFFUL; } @@ -2307,31 +2377,31 @@ internal ulong ReservedFlags } } - internal unsafe partial struct QUIC_TLS_SECRETS + internal partial struct QUIC_TLS_SECRETS { [NativeTypeName("uint8_t")] internal byte SecretLength; - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L880_C5")] internal _IsSet_e__Struct IsSet; - [NativeTypeName("uint8_t [32]")] - internal fixed byte ClientRandom[32]; + [NativeTypeName("uint8_t[32]")] + internal _ClientRandom_e__FixedBuffer ClientRandom; - [NativeTypeName("uint8_t [64]")] - internal fixed byte ClientEarlyTrafficSecret[64]; + [NativeTypeName("uint8_t[64]")] + internal _ClientEarlyTrafficSecret_e__FixedBuffer ClientEarlyTrafficSecret; - [NativeTypeName("uint8_t [64]")] - internal fixed byte ClientHandshakeTrafficSecret[64]; + [NativeTypeName("uint8_t[64]")] + internal _ClientHandshakeTrafficSecret_e__FixedBuffer ClientHandshakeTrafficSecret; - [NativeTypeName("uint8_t [64]")] - internal fixed byte ServerHandshakeTrafficSecret[64]; + [NativeTypeName("uint8_t[64]")] + internal _ServerHandshakeTrafficSecret_e__FixedBuffer ServerHandshakeTrafficSecret; - [NativeTypeName("uint8_t [64]")] - internal fixed byte ClientTrafficSecret0[64]; + [NativeTypeName("uint8_t[64]")] + internal _ClientTrafficSecret0_e__FixedBuffer ClientTrafficSecret0; - [NativeTypeName("uint8_t [64]")] - internal fixed byte ServerTrafficSecret0[64]; + [NativeTypeName("uint8_t[64]")] + internal _ServerTrafficSecret0_e__FixedBuffer ServerTrafficSecret0; internal partial struct _IsSet_e__Struct { @@ -2340,7 +2410,7 @@ internal partial struct _IsSet_e__Struct [NativeTypeName("uint8_t : 1")] internal byte ClientRandom { - get + readonly get { return (byte)(_bitfield & 0x1u); } @@ -2354,7 +2424,7 @@ internal byte ClientRandom [NativeTypeName("uint8_t : 1")] internal byte ClientEarlyTrafficSecret { - get + readonly get { return (byte)((_bitfield >> 1) & 0x1u); } @@ -2368,7 +2438,7 @@ internal byte ClientEarlyTrafficSecret [NativeTypeName("uint8_t : 1")] internal byte ClientHandshakeTrafficSecret { - get + readonly get { return (byte)((_bitfield >> 2) & 0x1u); } @@ -2382,7 +2452,7 @@ internal byte ClientHandshakeTrafficSecret [NativeTypeName("uint8_t : 1")] internal byte ServerHandshakeTrafficSecret { - get + readonly get { return (byte)((_bitfield >> 3) & 0x1u); } @@ -2396,7 +2466,7 @@ internal byte ServerHandshakeTrafficSecret [NativeTypeName("uint8_t : 1")] internal byte ClientTrafficSecret0 { - get + readonly get { return (byte)((_bitfield >> 4) & 0x1u); } @@ -2410,7 +2480,7 @@ internal byte ClientTrafficSecret0 [NativeTypeName("uint8_t : 1")] internal byte ServerTrafficSecret0 { - get + readonly get { return (byte)((_bitfield >> 5) & 0x1u); } @@ -2421,6 +2491,42 @@ internal byte ServerTrafficSecret0 } } } + + [InlineArray(32)] + internal partial struct _ClientRandom_e__FixedBuffer + { + internal byte e0; + } + + [InlineArray(64)] + internal partial struct _ClientEarlyTrafficSecret_e__FixedBuffer + { + internal byte e0; + } + + [InlineArray(64)] + internal partial struct _ClientHandshakeTrafficSecret_e__FixedBuffer + { + internal byte e0; + } + + [InlineArray(64)] + internal partial struct _ServerHandshakeTrafficSecret_e__FixedBuffer + { + internal byte e0; + } + + [InlineArray(64)] + internal partial struct _ClientTrafficSecret0_e__FixedBuffer + { + internal byte e0; + } + + [InlineArray(64)] + internal partial struct _ServerTrafficSecret0_e__FixedBuffer + { + internal byte e0; + } } internal partial struct QUIC_STREAM_STATISTICS @@ -2511,30 +2617,33 @@ internal partial struct QUIC_LISTENER_EVENT { internal QUIC_LISTENER_EVENT_TYPE Type; - [NativeTypeName("QUIC_LISTENER_EVENT::(anonymous union)")] + [NativeTypeName("__AnonymousRecord_msquic_L1253_C5")] internal _Anonymous_e__Union Anonymous; + [UnscopedRef] internal ref _Anonymous_e__Union._NEW_CONNECTION_e__Struct NEW_CONNECTION { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.NEW_CONNECTION, 1)); + return ref Anonymous.NEW_CONNECTION; } } + [UnscopedRef] internal ref _Anonymous_e__Union._STOP_COMPLETE_e__Struct STOP_COMPLETE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.STOP_COMPLETE, 1)); + return ref Anonymous.STOP_COMPLETE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._DOS_MODE_CHANGED_e__Struct DOS_MODE_CHANGED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.DOS_MODE_CHANGED, 1)); + return ref Anonymous.DOS_MODE_CHANGED; } } @@ -2542,15 +2651,15 @@ internal ref _Anonymous_e__Union._DOS_MODE_CHANGED_e__Struct DOS_MODE_CHANGED internal partial struct _Anonymous_e__Union { [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1254_C9")] internal _NEW_CONNECTION_e__Struct NEW_CONNECTION; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1258_C9")] internal _STOP_COMPLETE_e__Struct STOP_COMPLETE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1262_C9")] internal _DOS_MODE_CHANGED_e__Struct DOS_MODE_CHANGED; internal unsafe partial struct _NEW_CONNECTION_e__Struct @@ -2569,7 +2678,7 @@ internal partial struct _STOP_COMPLETE_e__Struct [NativeTypeName("BOOLEAN : 1")] internal byte AppCloseInProgress { - get + readonly get { return (byte)(_bitfield & 0x1u); } @@ -2583,7 +2692,7 @@ internal byte AppCloseInProgress [NativeTypeName("BOOLEAN : 7")] internal byte RESERVED { - get + readonly get { return (byte)((_bitfield >> 1) & 0x7Fu); } @@ -2602,7 +2711,7 @@ internal partial struct _DOS_MODE_CHANGED_e__Struct [NativeTypeName("BOOLEAN : 1")] internal byte DosModeEnabled { - get + readonly get { return (byte)(_bitfield & 0x1u); } @@ -2616,7 +2725,7 @@ internal byte DosModeEnabled [NativeTypeName("BOOLEAN : 7")] internal byte RESERVED { - get + readonly get { return (byte)((_bitfield >> 1) & 0x7Fu); } @@ -2657,158 +2766,177 @@ internal partial struct QUIC_CONNECTION_EVENT { internal QUIC_CONNECTION_EVENT_TYPE Type; - [NativeTypeName("QUIC_CONNECTION_EVENT::(anonymous union)")] + [NativeTypeName("__AnonymousRecord_msquic_L1365_C5")] internal _Anonymous_e__Union Anonymous; + [UnscopedRef] internal ref _Anonymous_e__Union._CONNECTED_e__Struct CONNECTED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.CONNECTED, 1)); + return ref Anonymous.CONNECTED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._SHUTDOWN_INITIATED_BY_TRANSPORT_e__Struct SHUTDOWN_INITIATED_BY_TRANSPORT { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.SHUTDOWN_INITIATED_BY_TRANSPORT, 1)); + return ref Anonymous.SHUTDOWN_INITIATED_BY_TRANSPORT; } } + [UnscopedRef] internal ref _Anonymous_e__Union._SHUTDOWN_INITIATED_BY_PEER_e__Struct SHUTDOWN_INITIATED_BY_PEER { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.SHUTDOWN_INITIATED_BY_PEER, 1)); + return ref Anonymous.SHUTDOWN_INITIATED_BY_PEER; } } + [UnscopedRef] internal ref _Anonymous_e__Union._SHUTDOWN_COMPLETE_e__Struct SHUTDOWN_COMPLETE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.SHUTDOWN_COMPLETE, 1)); + return ref Anonymous.SHUTDOWN_COMPLETE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._LOCAL_ADDRESS_CHANGED_e__Struct LOCAL_ADDRESS_CHANGED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.LOCAL_ADDRESS_CHANGED, 1)); + return ref Anonymous.LOCAL_ADDRESS_CHANGED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._PEER_ADDRESS_CHANGED_e__Struct PEER_ADDRESS_CHANGED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.PEER_ADDRESS_CHANGED, 1)); + return ref Anonymous.PEER_ADDRESS_CHANGED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._PEER_STREAM_STARTED_e__Struct PEER_STREAM_STARTED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.PEER_STREAM_STARTED, 1)); + return ref Anonymous.PEER_STREAM_STARTED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._STREAMS_AVAILABLE_e__Struct STREAMS_AVAILABLE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.STREAMS_AVAILABLE, 1)); + return ref Anonymous.STREAMS_AVAILABLE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._PEER_NEEDS_STREAMS_e__Struct PEER_NEEDS_STREAMS { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.PEER_NEEDS_STREAMS, 1)); + return ref Anonymous.PEER_NEEDS_STREAMS; } } + [UnscopedRef] internal ref _Anonymous_e__Union._IDEAL_PROCESSOR_CHANGED_e__Struct IDEAL_PROCESSOR_CHANGED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.IDEAL_PROCESSOR_CHANGED, 1)); + return ref Anonymous.IDEAL_PROCESSOR_CHANGED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._DATAGRAM_STATE_CHANGED_e__Struct DATAGRAM_STATE_CHANGED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.DATAGRAM_STATE_CHANGED, 1)); + return ref Anonymous.DATAGRAM_STATE_CHANGED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._DATAGRAM_RECEIVED_e__Struct DATAGRAM_RECEIVED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.DATAGRAM_RECEIVED, 1)); + return ref Anonymous.DATAGRAM_RECEIVED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._DATAGRAM_SEND_STATE_CHANGED_e__Struct DATAGRAM_SEND_STATE_CHANGED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.DATAGRAM_SEND_STATE_CHANGED, 1)); + return ref Anonymous.DATAGRAM_SEND_STATE_CHANGED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._RESUMED_e__Struct RESUMED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.RESUMED, 1)); + return ref Anonymous.RESUMED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._RESUMPTION_TICKET_RECEIVED_e__Struct RESUMPTION_TICKET_RECEIVED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.RESUMPTION_TICKET_RECEIVED, 1)); + return ref Anonymous.RESUMPTION_TICKET_RECEIVED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._PEER_CERTIFICATE_RECEIVED_e__Struct PEER_CERTIFICATE_RECEIVED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.PEER_CERTIFICATE_RECEIVED, 1)); + return ref Anonymous.PEER_CERTIFICATE_RECEIVED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._RELIABLE_RESET_NEGOTIATED_e__Struct RELIABLE_RESET_NEGOTIATED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.RELIABLE_RESET_NEGOTIATED, 1)); + return ref Anonymous.RELIABLE_RESET_NEGOTIATED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._ONE_WAY_DELAY_NEGOTIATED_e__Struct ONE_WAY_DELAY_NEGOTIATED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.ONE_WAY_DELAY_NEGOTIATED, 1)); + return ref Anonymous.ONE_WAY_DELAY_NEGOTIATED; } } + [UnscopedRef] internal ref QUIC_NETWORK_STATISTICS NETWORK_STATISTICS { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.NETWORK_STATISTICS, 1)); + return ref Anonymous.NETWORK_STATISTICS; } } @@ -2816,75 +2944,75 @@ internal ref QUIC_NETWORK_STATISTICS NETWORK_STATISTICS internal partial struct _Anonymous_e__Union { [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1366_C9")] internal _CONNECTED_e__Struct CONNECTED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1373_C9")] internal _SHUTDOWN_INITIATED_BY_TRANSPORT_e__Struct SHUTDOWN_INITIATED_BY_TRANSPORT; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1377_C9")] internal _SHUTDOWN_INITIATED_BY_PEER_e__Struct SHUTDOWN_INITIATED_BY_PEER; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1380_C9")] internal _SHUTDOWN_COMPLETE_e__Struct SHUTDOWN_COMPLETE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1385_C9")] internal _LOCAL_ADDRESS_CHANGED_e__Struct LOCAL_ADDRESS_CHANGED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1388_C9")] internal _PEER_ADDRESS_CHANGED_e__Struct PEER_ADDRESS_CHANGED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1391_C9")] internal _PEER_STREAM_STARTED_e__Struct PEER_STREAM_STARTED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1395_C9")] internal _STREAMS_AVAILABLE_e__Struct STREAMS_AVAILABLE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1399_C9")] internal _PEER_NEEDS_STREAMS_e__Struct PEER_NEEDS_STREAMS; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1402_C9")] internal _IDEAL_PROCESSOR_CHANGED_e__Struct IDEAL_PROCESSOR_CHANGED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1406_C9")] internal _DATAGRAM_STATE_CHANGED_e__Struct DATAGRAM_STATE_CHANGED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1410_C9")] internal _DATAGRAM_RECEIVED_e__Struct DATAGRAM_RECEIVED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1414_C9")] internal _DATAGRAM_SEND_STATE_CHANGED_e__Struct DATAGRAM_SEND_STATE_CHANGED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1418_C9")] internal _RESUMED_e__Struct RESUMED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1422_C9")] internal _RESUMPTION_TICKET_RECEIVED_e__Struct RESUMPTION_TICKET_RECEIVED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1428_C9")] internal _PEER_CERTIFICATE_RECEIVED_e__Struct PEER_CERTIFICATE_RECEIVED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1435_C9")] internal _RELIABLE_RESET_NEGOTIATED_e__Struct RELIABLE_RESET_NEGOTIATED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1438_C9")] internal _ONE_WAY_DELAY_NEGOTIATED_e__Struct ONE_WAY_DELAY_NEGOTIATED; [FieldOffset(0)] @@ -2924,7 +3052,7 @@ internal partial struct _SHUTDOWN_COMPLETE_e__Struct [NativeTypeName("BOOLEAN : 1")] internal byte HandshakeCompleted { - get + readonly get { return (byte)(_bitfield & 0x1u); } @@ -2938,7 +3066,7 @@ internal byte HandshakeCompleted [NativeTypeName("BOOLEAN : 1")] internal byte PeerAcknowledgedShutdown { - get + readonly get { return (byte)((_bitfield >> 1) & 0x1u); } @@ -2952,7 +3080,7 @@ internal byte PeerAcknowledgedShutdown [NativeTypeName("BOOLEAN : 1")] internal byte AppCloseInProgress { - get + readonly get { return (byte)((_bitfield >> 2) & 0x1u); } @@ -3102,86 +3230,96 @@ internal partial struct QUIC_STREAM_EVENT { internal QUIC_STREAM_EVENT_TYPE Type; - [NativeTypeName("QUIC_STREAM_EVENT::(anonymous union)")] + [NativeTypeName("__AnonymousRecord_msquic_L1604_C5")] internal _Anonymous_e__Union Anonymous; + [UnscopedRef] internal ref _Anonymous_e__Union._START_COMPLETE_e__Struct START_COMPLETE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.START_COMPLETE, 1)); + return ref Anonymous.START_COMPLETE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._RECEIVE_e__Struct RECEIVE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.RECEIVE, 1)); + return ref Anonymous.RECEIVE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._SEND_COMPLETE_e__Struct SEND_COMPLETE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.SEND_COMPLETE, 1)); + return ref Anonymous.SEND_COMPLETE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._PEER_SEND_ABORTED_e__Struct PEER_SEND_ABORTED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.PEER_SEND_ABORTED, 1)); + return ref Anonymous.PEER_SEND_ABORTED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._PEER_RECEIVE_ABORTED_e__Struct PEER_RECEIVE_ABORTED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.PEER_RECEIVE_ABORTED, 1)); + return ref Anonymous.PEER_RECEIVE_ABORTED; } } + [UnscopedRef] internal ref _Anonymous_e__Union._SEND_SHUTDOWN_COMPLETE_e__Struct SEND_SHUTDOWN_COMPLETE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.SEND_SHUTDOWN_COMPLETE, 1)); + return ref Anonymous.SEND_SHUTDOWN_COMPLETE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._SHUTDOWN_COMPLETE_e__Struct SHUTDOWN_COMPLETE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.SHUTDOWN_COMPLETE, 1)); + return ref Anonymous.SHUTDOWN_COMPLETE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._IDEAL_SEND_BUFFER_SIZE_e__Struct IDEAL_SEND_BUFFER_SIZE { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.IDEAL_SEND_BUFFER_SIZE, 1)); + return ref Anonymous.IDEAL_SEND_BUFFER_SIZE; } } + [UnscopedRef] internal ref _Anonymous_e__Union._CANCEL_ON_LOSS_e__Struct CANCEL_ON_LOSS { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.CANCEL_ON_LOSS, 1)); + return ref Anonymous.CANCEL_ON_LOSS; } } + [UnscopedRef] internal ref _Anonymous_e__Union._RECEIVE_BUFFER_NEEDED_e__Struct RECEIVE_BUFFER_NEEDED { get { - return ref MemoryMarshal.GetReference(MemoryMarshal.CreateSpan(ref Anonymous.RECEIVE_BUFFER_NEEDED, 1)); + return ref Anonymous.RECEIVE_BUFFER_NEEDED; } } @@ -3189,43 +3327,43 @@ internal ref _Anonymous_e__Union._RECEIVE_BUFFER_NEEDED_e__Struct RECEIVE_BUFFER internal partial struct _Anonymous_e__Union { [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1605_C9")] internal _START_COMPLETE_e__Struct START_COMPLETE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1611_C9")] internal _RECEIVE_e__Struct RECEIVE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1620_C9")] internal _SEND_COMPLETE_e__Struct SEND_COMPLETE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1624_C9")] internal _PEER_SEND_ABORTED_e__Struct PEER_SEND_ABORTED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1627_C9")] internal _PEER_RECEIVE_ABORTED_e__Struct PEER_RECEIVE_ABORTED; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1630_C9")] internal _SEND_SHUTDOWN_COMPLETE_e__Struct SEND_SHUTDOWN_COMPLETE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1633_C9")] internal _SHUTDOWN_COMPLETE_e__Struct SHUTDOWN_COMPLETE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1642_C9")] internal _IDEAL_SEND_BUFFER_SIZE_e__Struct IDEAL_SEND_BUFFER_SIZE; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1645_C9")] internal _CANCEL_ON_LOSS_e__Struct CANCEL_ON_LOSS; [FieldOffset(0)] - [NativeTypeName("struct (anonymous struct)")] + [NativeTypeName("__AnonymousRecord_msquic_L1649_C9")] internal _RECEIVE_BUFFER_NEEDED_e__Struct RECEIVE_BUFFER_NEEDED; internal partial struct _START_COMPLETE_e__Struct @@ -3241,7 +3379,7 @@ internal partial struct _START_COMPLETE_e__Struct [NativeTypeName("BOOLEAN : 1")] internal byte PeerAccepted { - get + readonly get { return (byte)(_bitfield & 0x1u); } @@ -3255,7 +3393,7 @@ internal byte PeerAccepted [NativeTypeName("BOOLEAN : 7")] internal byte RESERVED { - get + readonly get { return (byte)((_bitfield >> 1) & 0x7Fu); } @@ -3320,7 +3458,7 @@ internal partial struct _SHUTDOWN_COMPLETE_e__Struct [NativeTypeName("BOOLEAN : 1")] internal byte AppCloseInProgress { - get + readonly get { return (byte)(_bitfield & 0x1u); } @@ -3334,7 +3472,7 @@ internal byte AppCloseInProgress [NativeTypeName("BOOLEAN : 1")] internal byte ConnectionShutdownByApp { - get + readonly get { return (byte)((_bitfield >> 1) & 0x1u); } @@ -3348,7 +3486,7 @@ internal byte ConnectionShutdownByApp [NativeTypeName("BOOLEAN : 1")] internal byte ConnectionClosedRemotely { - get + readonly get { return (byte)((_bitfield >> 2) & 0x1u); } @@ -3362,7 +3500,7 @@ internal byte ConnectionClosedRemotely [NativeTypeName("BOOLEAN : 5")] internal byte RESERVED { - get + readonly get { return (byte)((_bitfield >> 3) & 0x1Fu); } @@ -3660,6 +3798,9 @@ internal static unsafe partial class MsQuic [NativeTypeName("#define QUIC_PARAM_GLOBAL_STATELESS_RETRY_CONFIG 0x0100000D")] internal const uint QUIC_PARAM_GLOBAL_STATELESS_RETRY_CONFIG = 0x0100000D; + [NativeTypeName("#define QUIC_PARAM_GLOBAL_XDP_MAP_CONFIG 0x0100000E")] + internal const uint QUIC_PARAM_GLOBAL_XDP_MAP_CONFIG = 0x0100000E; + [NativeTypeName("#define QUIC_PARAM_CONFIGURATION_SETTINGS 0x03000000")] internal const uint QUIC_PARAM_CONFIGURATION_SETTINGS = 0x03000000; From 51a977e55c8b901f9ddb1b659fb6be8b70af7662 Mon Sep 17 00:00:00 2001 From: James Davidson Date: Tue, 1 Sep 2026 09:26:40 +0800 Subject: [PATCH 3/3] Sync up generated binding again --- src/cs/lib/msquic_generated.cs | 102 ++++++++++++++++++++------------- 1 file changed, 61 insertions(+), 41 deletions(-) diff --git a/src/cs/lib/msquic_generated.cs b/src/cs/lib/msquic_generated.cs index 735163d453..841c1489f9 100644 --- a/src/cs/lib/msquic_generated.cs +++ b/src/cs/lib/msquic_generated.cs @@ -1077,6 +1077,8 @@ internal enum QUIC_PERFORMANCE_COUNTERS SEND_STATELESS_RETRY, CONN_LOAD_REJECT, LISTEN_QUEUE_DEPTH, + ENCRYPT_DURATION_US, + DECRYPT_DURATION_US, MAX, } @@ -1103,7 +1105,7 @@ internal unsafe partial struct QUIC_VERSION_SETTINGS internal partial struct QUIC_GLOBAL_SETTINGS { - [NativeTypeName("__AnonymousRecord_msquic_L740_C5")] + [NativeTypeName("__AnonymousRecord_msquic_L756_C5")] internal _Anonymous_e__Union Anonymous; [NativeTypeName("uint16_t")] @@ -1141,7 +1143,7 @@ internal partial struct _Anonymous_e__Union internal ulong IsSetFlags; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L742_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L758_C9")] internal _IsSet_e__Struct IsSet; internal partial struct _IsSet_e__Struct @@ -1209,7 +1211,7 @@ readonly get internal partial struct QUIC_SETTINGS { - [NativeTypeName("__AnonymousRecord_msquic_L756_C5")] + [NativeTypeName("__AnonymousRecord_msquic_L772_C5")] internal _Anonymous1_e__Union Anonymous1; [NativeTypeName("uint64_t")] @@ -1393,7 +1395,7 @@ readonly get [NativeTypeName("uint32_t")] internal uint DestCidUpdateIdleTimeoutMs; - [NativeTypeName("__AnonymousRecord_msquic_L847_C5")] + [NativeTypeName("__AnonymousRecord_msquic_L863_C5")] internal _Anonymous2_e__Union Anonymous2; [NativeTypeName("uint32_t")] @@ -1570,7 +1572,7 @@ internal partial struct _Anonymous1_e__Union internal ulong IsSetFlags; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L758_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L774_C9")] internal _IsSet_e__Struct IsSet; internal partial struct _IsSet_e__Struct @@ -2245,7 +2247,7 @@ internal partial struct _Anonymous2_e__Union internal ulong Flags; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L849_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L865_C9")] internal _Anonymous_e__Struct Anonymous; internal partial struct _Anonymous_e__Struct @@ -2400,7 +2402,7 @@ internal partial struct QUIC_TLS_SECRETS [NativeTypeName("uint8_t")] internal byte SecretLength; - [NativeTypeName("__AnonymousRecord_msquic_L880_C5")] + [NativeTypeName("__AnonymousRecord_msquic_L896_C5")] internal _IsSet_e__Struct IsSet; [NativeTypeName("uint8_t[32]")] @@ -2635,7 +2637,7 @@ internal partial struct QUIC_LISTENER_EVENT { internal QUIC_LISTENER_EVENT_TYPE Type; - [NativeTypeName("__AnonymousRecord_msquic_L1253_C5")] + [NativeTypeName("__AnonymousRecord_msquic_L1269_C5")] internal _Anonymous_e__Union Anonymous; [UnscopedRef] @@ -2669,15 +2671,15 @@ internal ref _Anonymous_e__Union._DOS_MODE_CHANGED_e__Struct DOS_MODE_CHANGED internal partial struct _Anonymous_e__Union { [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1254_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1270_C9")] internal _NEW_CONNECTION_e__Struct NEW_CONNECTION; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1258_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1274_C9")] internal _STOP_COMPLETE_e__Struct STOP_COMPLETE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1262_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1278_C9")] internal _DOS_MODE_CHANGED_e__Struct DOS_MODE_CHANGED; internal unsafe partial struct _NEW_CONNECTION_e__Struct @@ -2784,7 +2786,7 @@ internal partial struct QUIC_CONNECTION_EVENT { internal QUIC_CONNECTION_EVENT_TYPE Type; - [NativeTypeName("__AnonymousRecord_msquic_L1365_C5")] + [NativeTypeName("__AnonymousRecord_msquic_L1381_C5")] internal _Anonymous_e__Union Anonymous; [UnscopedRef] @@ -2962,75 +2964,75 @@ internal ref QUIC_NETWORK_STATISTICS NETWORK_STATISTICS internal partial struct _Anonymous_e__Union { [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1366_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1382_C9")] internal _CONNECTED_e__Struct CONNECTED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1373_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1389_C9")] internal _SHUTDOWN_INITIATED_BY_TRANSPORT_e__Struct SHUTDOWN_INITIATED_BY_TRANSPORT; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1377_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1393_C9")] internal _SHUTDOWN_INITIATED_BY_PEER_e__Struct SHUTDOWN_INITIATED_BY_PEER; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1380_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1396_C9")] internal _SHUTDOWN_COMPLETE_e__Struct SHUTDOWN_COMPLETE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1385_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1401_C9")] internal _LOCAL_ADDRESS_CHANGED_e__Struct LOCAL_ADDRESS_CHANGED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1388_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1404_C9")] internal _PEER_ADDRESS_CHANGED_e__Struct PEER_ADDRESS_CHANGED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1391_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1407_C9")] internal _PEER_STREAM_STARTED_e__Struct PEER_STREAM_STARTED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1395_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1411_C9")] internal _STREAMS_AVAILABLE_e__Struct STREAMS_AVAILABLE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1399_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1415_C9")] internal _PEER_NEEDS_STREAMS_e__Struct PEER_NEEDS_STREAMS; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1402_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1418_C9")] internal _IDEAL_PROCESSOR_CHANGED_e__Struct IDEAL_PROCESSOR_CHANGED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1406_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1422_C9")] internal _DATAGRAM_STATE_CHANGED_e__Struct DATAGRAM_STATE_CHANGED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1410_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1426_C9")] internal _DATAGRAM_RECEIVED_e__Struct DATAGRAM_RECEIVED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1414_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1430_C9")] internal _DATAGRAM_SEND_STATE_CHANGED_e__Struct DATAGRAM_SEND_STATE_CHANGED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1418_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1434_C9")] internal _RESUMED_e__Struct RESUMED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1422_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1438_C9")] internal _RESUMPTION_TICKET_RECEIVED_e__Struct RESUMPTION_TICKET_RECEIVED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1428_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1444_C9")] internal _PEER_CERTIFICATE_RECEIVED_e__Struct PEER_CERTIFICATE_RECEIVED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1435_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1451_C9")] internal _RELIABLE_RESET_NEGOTIATED_e__Struct RELIABLE_RESET_NEGOTIATED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1438_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1454_C9")] internal _ONE_WAY_DELAY_NEGOTIATED_e__Struct ONE_WAY_DELAY_NEGOTIATED; [FieldOffset(0)] @@ -3228,6 +3230,21 @@ internal partial struct _ONE_WAY_DELAY_NEGOTIATED_e__Struct } } + internal unsafe partial struct QUIC_KEYING_MATERIAL_CONFIG + { + [NativeTypeName("const char *")] + internal sbyte* Label; + + [NativeTypeName("uint32_t")] + internal uint ContextLength; + + [NativeTypeName("const uint8_t *")] + internal byte* Context; + + [NativeTypeName("uint32_t")] + internal uint OutputLength; + } + internal enum QUIC_STREAM_EVENT_TYPE { START_COMPLETE = 0, @@ -3248,7 +3265,7 @@ internal partial struct QUIC_STREAM_EVENT { internal QUIC_STREAM_EVENT_TYPE Type; - [NativeTypeName("__AnonymousRecord_msquic_L1604_C5")] + [NativeTypeName("__AnonymousRecord_msquic_L1644_C5")] internal _Anonymous_e__Union Anonymous; [UnscopedRef] @@ -3345,43 +3362,43 @@ internal ref _Anonymous_e__Union._RECEIVE_BUFFER_NEEDED_e__Struct RECEIVE_BUFFER internal partial struct _Anonymous_e__Union { [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1605_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1645_C9")] internal _START_COMPLETE_e__Struct START_COMPLETE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1611_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1651_C9")] internal _RECEIVE_e__Struct RECEIVE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1620_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1660_C9")] internal _SEND_COMPLETE_e__Struct SEND_COMPLETE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1624_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1664_C9")] internal _PEER_SEND_ABORTED_e__Struct PEER_SEND_ABORTED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1627_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1667_C9")] internal _PEER_RECEIVE_ABORTED_e__Struct PEER_RECEIVE_ABORTED; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1630_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1670_C9")] internal _SEND_SHUTDOWN_COMPLETE_e__Struct SEND_SHUTDOWN_COMPLETE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1633_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1673_C9")] internal _SHUTDOWN_COMPLETE_e__Struct SHUTDOWN_COMPLETE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1642_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1682_C9")] internal _IDEAL_SEND_BUFFER_SIZE_e__Struct IDEAL_SEND_BUFFER_SIZE; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1645_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1685_C9")] internal _CANCEL_ON_LOSS_e__Struct CANCEL_ON_LOSS; [FieldOffset(0)] - [NativeTypeName("__AnonymousRecord_msquic_L1649_C9")] + [NativeTypeName("__AnonymousRecord_msquic_L1689_C9")] internal _RECEIVE_BUFFER_NEEDED_e__Struct RECEIVE_BUFFER_NEEDED; internal partial struct _START_COMPLETE_e__Struct @@ -3715,6 +3732,9 @@ internal unsafe partial struct QUIC_API_TABLE [NativeTypeName("QUIC_REGISTRATION_CLOSE2_FN")] internal delegate* unmanaged[Cdecl], void*, void> RegistrationClose2; + + [NativeTypeName("QUIC_CONNECTION_EXPORT_KEYING_MATERIAL_FN")] + internal delegate* unmanaged[Cdecl] ConnectionExportKeyingMaterial; } internal static unsafe partial class MsQuic