161 references to SocketOptionName
Microsoft.Diagnostics.NETCore.Client (1)
DiagnosticsIpc\IpcServerTransport.cs (1)
272
_backlog = backlog != MaxAllowedConnections ? backlog : (int)
SocketOptionName
.MaxConnections;
netstandard (1)
netstandard.cs (1)
1277
[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Net.Sockets.
SocketOptionName
))]
System (1)
src\runtime\src\libraries\shims\System\ref\System.cs (1)
767
[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Net.Sockets.
SocketOptionName
))]
System.Net.Ping (1)
System\Net\NetworkInformation\Ping.RawSocket.cs (1)
92
socket.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.HeaderIncluded, 1);
System.Net.Requests (3)
System\Net\HttpWebRequest.cs (3)
1808
socket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.KeepAlive, true);
1809
socket.SetSocketOption(SocketOptionLevel.Tcp,
SocketOptionName
.TcpKeepAliveTime, keepAlive.Time);
1810
socket.SetSocketOption(SocketOptionLevel.Tcp,
SocketOptionName
.TcpKeepAliveInterval, keepAlive.Interval);
System.Net.Sockets (154)
_generated\0\LibraryImports.g.cs (6)
737
internal static unsafe partial global::Interop.Error GetSockOpt(global::System.Runtime.InteropServices.SafeHandle socket, global::System.Net.Sockets.SocketOptionLevel optionLevel, global::System.Net.Sockets.
SocketOptionName
optionName, byte* optionValue, int* optionLen)
762
static extern unsafe global::Interop.Error __PInvoke(nint __socket_native, global::System.Net.Sockets.SocketOptionLevel __optionLevel_native, global::System.Net.Sockets.
SocketOptionName
__optionName_native, byte* __optionValue_native, int* __optionLen_native);
771
internal static unsafe extern partial global::Interop.Error GetSockOpt(nint socket, global::System.Net.Sockets.SocketOptionLevel optionLevel, global::System.Net.Sockets.
SocketOptionName
optionName, byte* optionValue, int* optionLen);
1582
internal static unsafe partial global::Interop.Error SetSockOpt(global::System.Runtime.InteropServices.SafeHandle socket, global::System.Net.Sockets.SocketOptionLevel optionLevel, global::System.Net.Sockets.
SocketOptionName
optionName, byte* optionValue, int optionLen)
1607
static extern unsafe global::Interop.Error __PInvoke(nint __socket_native, global::System.Net.Sockets.SocketOptionLevel __optionLevel_native, global::System.Net.Sockets.
SocketOptionName
__optionName_native, byte* __optionValue_native, int __optionLen_native);
1616
internal static unsafe extern partial global::Interop.Error SetSockOpt(nint socket, global::System.Net.Sockets.SocketOptionLevel optionLevel, global::System.Net.Sockets.
SocketOptionName
optionName, byte* optionValue, int optionLen);
src\runtime\src\libraries\Common\src\Interop\Unix\System.Native\Interop.GetSockOpt.cs (2)
13
internal static unsafe partial Error GetSockOpt(SafeHandle socket, SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte* optionValue, int* optionLen);
16
internal static unsafe partial Error GetSockOpt(IntPtr socket, SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte* optionValue, int* optionLen);
src\runtime\src\libraries\Common\src\Interop\Unix\System.Native\Interop.SetSockOpt.cs (2)
13
internal static unsafe partial Error SetSockOpt(SafeHandle socket, SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte* optionValue, int optionLen);
16
internal static unsafe partial Error SetSockOpt(IntPtr socket, SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte* optionValue, int optionLen);
System\Net\Sockets\NetworkStream.cs (4)
123
int timeout = (int)_streamSocket.GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveTimeout)!;
150
int timeout = (int)_streamSocket.GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendTimeout)!;
699
_streamSocket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendTimeout, timeout, silent);
708
_streamSocket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveTimeout, timeout, silent);
System\Net\Sockets\SafeSocketHandle.Unix.cs (1)
225
Interop.Error err = Interop.Sys.GetSockOpt(handle, SocketOptionLevel.Socket,
SocketOptionName
.Type, (byte*)&type, &optLen);
System\Net\Sockets\SafeSocketHandle.Unix.OptionTracking.cs (31)
17
internal void TrackSocketOption(SocketOptionLevel level,
SocketOptionName
name)
70
(
SocketOptionName
name, SocketOptionLevel level) = ToSocketOptions(tracked);
102
(
SocketOptionName
name, SocketOptionLevel level) = ToSocketOptions(tracked);
146
private static TrackableSocketOptions ToTrackableSocketOptions(
SocketOptionName
name, SocketOptionLevel level)
179
private static (
SocketOptionName
, SocketOptionLevel) ToSocketOptions(TrackableSocketOptions options) =>
182
TrackableSocketOptions.IP_TOS => ((
SocketOptionName
)3, SocketOptionLevel.IP),
183
TrackableSocketOptions.IP_TTL => ((
SocketOptionName
)4, SocketOptionLevel.IP),
184
TrackableSocketOptions.IPV6_PROTECTION_LEVEL => ((
SocketOptionName
)23, SocketOptionLevel.IPv6),
185
TrackableSocketOptions.IPV6_V6ONLY => ((
SocketOptionName
)27, SocketOptionLevel.IPv6),
186
TrackableSocketOptions.TCP_NODELAY => ((
SocketOptionName
)1, SocketOptionLevel.Tcp),
187
TrackableSocketOptions.TCP_EXPEDITED_1122 => ((
SocketOptionName
)2, SocketOptionLevel.Tcp),
188
TrackableSocketOptions.TCP_KEEPALIVE => ((
SocketOptionName
)3, SocketOptionLevel.Tcp),
189
TrackableSocketOptions.TCP_FASTOPEN => ((
SocketOptionName
)15, SocketOptionLevel.Tcp),
190
TrackableSocketOptions.TCP_KEEPCNT => ((
SocketOptionName
)16, SocketOptionLevel.Tcp),
191
TrackableSocketOptions.TCP_KEEPINTVL => ((
SocketOptionName
)17, SocketOptionLevel.Tcp),
192
TrackableSocketOptions.SO_DEBUG => ((
SocketOptionName
)1, SocketOptionLevel.Socket),
193
TrackableSocketOptions.SO_ACCEPTCONN => ((
SocketOptionName
)2, SocketOptionLevel.Socket),
194
TrackableSocketOptions.SO_REUSEADDR => ((
SocketOptionName
)4, SocketOptionLevel.Socket),
195
TrackableSocketOptions.SO_KEEPALIVE => ((
SocketOptionName
)8, SocketOptionLevel.Socket),
196
TrackableSocketOptions.SO_DONTROUTE => ((
SocketOptionName
)16, SocketOptionLevel.Socket),
197
TrackableSocketOptions.SO_USELOOPBACK => ((
SocketOptionName
)64, SocketOptionLevel.Socket),
198
TrackableSocketOptions.SO_LINGER => ((
SocketOptionName
)128, SocketOptionLevel.Socket),
199
TrackableSocketOptions.SO_OOBINLINE => ((
SocketOptionName
)256, SocketOptionLevel.Socket),
200
TrackableSocketOptions.SO_DONTLINGER => ((
SocketOptionName
)(-129), SocketOptionLevel.Socket),
201
TrackableSocketOptions.SO_EXCLUSIVEADDRUSE => ((
SocketOptionName
)(-5), SocketOptionLevel.Socket),
202
TrackableSocketOptions.SO_SNDBUF => ((
SocketOptionName
)4097, SocketOptionLevel.Socket),
203
TrackableSocketOptions.SO_RCVBUF => ((
SocketOptionName
)4098, SocketOptionLevel.Socket),
204
TrackableSocketOptions.SO_SNDLOWAT => ((
SocketOptionName
)4099, SocketOptionLevel.Socket),
205
TrackableSocketOptions.SO_RCVLOWAT => ((
SocketOptionName
)4100, SocketOptionLevel.Socket),
206
TrackableSocketOptions.SO_SNDTIMEO => ((
SocketOptionName
)4101, SocketOptionLevel.Socket),
207
TrackableSocketOptions.SO_RCVTIMEO => ((
SocketOptionName
)4102, SocketOptionLevel.Socket),
System\Net\Sockets\Socket.cs (57)
502
return (int)GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ExclusiveAddressUse)! != 0 ? true : false;
510
SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ExclusiveAddressUse, value ? 1 : 0);
518
return (int)GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveBuffer)!;
524
SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveBuffer, value);
532
return (int)GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendBuffer)!;
539
SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendBuffer, value);
548
return (int)GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveTimeout)!;
559
SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveTimeout, value);
568
return (int)GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendTimeout)!;
580
SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendTimeout, value);
591
return (LingerOption?)GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.Linger);
597
SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.Linger, value!);
605
return (int)GetSocketOption(SocketOptionLevel.Tcp,
SocketOptionName
.NoDelay)! != 0 ? true : false;
609
SetSocketOption(SocketOptionLevel.Tcp,
SocketOptionName
.NoDelay, value ? 1 : 0);
619
return (short)(int)GetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.IpTimeToLive)!;
623
return (short)(int)GetSocketOption(SocketOptionLevel.IPv6,
SocketOptionName
.IpTimeToLive)!;
639
SetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.IpTimeToLive, value);
644
SetSocketOption(SocketOptionLevel.IPv6,
SocketOptionName
.IpTimeToLive, value);
661
return (int)GetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.DontFragment)! != 0 ? true : false;
675
SetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.DontFragment, value ? 1 : 0);
694
return (int)GetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.MulticastLoopback)! != 0 ? true : false;
698
return (int)GetSocketOption(SocketOptionLevel.IPv6,
SocketOptionName
.MulticastLoopback)! != 0 ? true : false;
711
SetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.MulticastLoopback, value ? 1 : 0);
716
SetSocketOption(SocketOptionLevel.IPv6,
SocketOptionName
.MulticastLoopback, value ? 1 : 0);
733
return (int)GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.Broadcast)! != 0 ? true : false;
738
SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.Broadcast, value ? 1 : 0);
758
return ((int)GetSocketOption(SocketOptionLevel.IPv6,
SocketOptionName
.IPv6Only)! == 0);
769
SetSocketOption(SocketOptionLevel.IPv6,
SocketOptionName
.IPv6Only, value ? 0 : 1);
2087
public void SetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName, int optionValue)
2095
public void SetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte[] optionValue)
2114
public void SetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName, bool optionValue)
2120
public void SetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName, object optionValue)
2127
if (optionLevel == SocketOptionLevel.Socket && optionName ==
SocketOptionName
.Linger)
2140
else if (optionLevel == SocketOptionLevel.IP && (optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership))
2149
else if (optionLevel == SocketOptionLevel.IPv6 && (optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership))
2173
/// The <see cref="SetRawSocketOption"/> should be used only when <see cref="SocketOptionLevel"/> and <see cref="
SocketOptionName
"/>
2191
public object? GetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName)
2194
if (optionLevel == SocketOptionLevel.Socket && optionName ==
SocketOptionName
.Linger)
2198
else if (optionLevel == SocketOptionLevel.IP && (optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership))
2202
else if (optionLevel == SocketOptionLevel.IPv6 && (optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership))
2228
public void GetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte[] optionValue)
2251
public byte[] GetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName, int optionLength)
2293
/// The <see cref="GetRawSocketOption"/> should be used only when <see cref="SocketOptionLevel"/> and <see cref="
SocketOptionName
"/>
3476
SocketOptionName
.ReceiveTimeout,
3589
SetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.PacketInformation, true);
3600
SetSocketOption(SocketOptionLevel.IPv6,
SocketOptionName
.PacketInformation, true);
3607
internal void SetSocketOption(SocketOptionLevel optionLevel,
SocketOptionName
optionName, int optionValue, bool silent)
3610
if (OperatingSystem.IsWasi() && optionName ==
SocketOptionName
.PacketInformation)
3640
if (optionName ==
SocketOptionName
.PacketInformation && optionValue == 0 &&
3658
private void SetMulticastOption(
SocketOptionName
optionName, MulticastOption MR)
3672
private void SetIPv6MulticastOption(
SocketOptionName
optionName, IPv6MulticastOption MR)
3718
private MulticastOption? GetMulticastOpt(
SocketOptionName
optionName)
3735
private IPv6MulticastOption? GetIPv6MulticastOpt(
SocketOptionName
optionName)
System\Net\Sockets\SocketPal.Unix.cs (33)
78
error = Interop.Sys.SetSockOpt(fd, SocketOptionLevel.IPv6,
SocketOptionName
.IPv6Only, (byte*)&on, sizeof(int));
1421
private static SocketError GetErrorAndTrackSetting(SafeSocketHandle handle, SocketOptionLevel optionLevel,
SocketOptionName
optionName, Interop.Error err)
1431
public static unsafe SocketError SetSockOpt(SafeSocketHandle handle, SocketOptionLevel optionLevel,
SocketOptionName
optionName, int optionValue)
1437
if (optionName ==
SocketOptionName
.ReceiveTimeout)
1443
else if (optionName ==
SocketOptionName
.SendTimeout)
1452
if (optionName ==
SocketOptionName
.MulticastInterface)
1476
if (optionLevel == SocketOptionLevel.IPv6 && optionName ==
SocketOptionName
.IPv6Only)
1502
public static unsafe SocketError SetSockOpt(SafeSocketHandle handle, SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte[] optionValue)
1532
public static unsafe SocketError SetMulticastOption(SafeSocketHandle handle,
SocketOptionName
optionName, MulticastOption optionValue)
1534
Debug.Assert(optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership, $"Unexpected optionName: {optionName}");
1536
Interop.Sys.MulticastOption optName = optionName ==
SocketOptionName
.AddMembership ?
1555
public static unsafe SocketError SetIPv6MulticastOption(SafeSocketHandle handle,
SocketOptionName
optionName, IPv6MulticastOption optionValue)
1557
Debug.Assert(optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership, $"Unexpected optionName={optionName}");
1559
Interop.Sys.MulticastOption optName = optionName ==
SocketOptionName
.AddMembership ?
1580
return GetErrorAndTrackSetting(handle, SocketOptionLevel.Socket,
SocketOptionName
.Linger, err);
1589
socket.SetSocketOption(SocketOptionLevel.IP,
SocketOptionName
.PacketInformation, true);
1600
public static unsafe SocketError GetSockOpt(SafeSocketHandle handle, SocketOptionLevel optionLevel,
SocketOptionName
optionName, out int optionValue)
1604
if (optionName ==
SocketOptionName
.ReceiveTimeout)
1609
else if (optionName ==
SocketOptionName
.SendTimeout)
1616
if (optionName ==
SocketOptionName
.Error)
1643
public static unsafe SocketError GetSockOpt(SafeSocketHandle handle, SocketOptionLevel optionLevel,
SocketOptionName
optionName, byte[] optionValue, ref int optionLength)
1653
else if (optionName ==
SocketOptionName
.Error && optionValue.Length >= sizeof(int))
1703
public static unsafe SocketError GetMulticastOption(SafeSocketHandle handle,
SocketOptionName
optionName, out MulticastOption? optionValue)
1705
Debug.Assert(optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership, $"Unexpected optionName={optionName}");
1707
Interop.Sys.MulticastOption optName = optionName ==
SocketOptionName
.AddMembership ?
1728
public static unsafe SocketError GetIPv6MulticastOption(SafeSocketHandle handle,
SocketOptionName
optionName, out IPv6MulticastOption? optionValue)
1730
Debug.Assert(optionName ==
SocketOptionName
.AddMembership || optionName ==
SocketOptionName
.DropMembership, $"Unexpected optionName={optionName}");
1732
Interop.Sys.MulticastOption optName = optionName ==
SocketOptionName
.AddMembership ?
2191
SocketError errorCode = GetSockOpt(handle, SocketOptionLevel.Socket,
SocketOptionName
.Error, out int optionValue);
System\Net\Sockets\TCPClient.cs (8)
305
get { return (int)Client.GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveBuffer)!; }
306
set { Client.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveBuffer, value); }
312
get { return (int)Client.GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendBuffer)!; }
313
set { Client.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendBuffer, value); }
322
return (int)Client.GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveTimeout)!;
327
Client.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.ReceiveTimeout, value);
337
return (int)Client.GetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendTimeout)!;
342
Client.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.SendTimeout, value);
System\Net\Sockets\TCPListener.cs (1)
129
Start((int)
SocketOptionName
.MaxConnections);
System\Net\Sockets\UDPClient.cs (9)
267
_clientSocket.SetSocketOption(SocketOptionLevel.Socket,
SocketOptionName
.Broadcast, 1);
414
SocketOptionName
.AddMembership,
421
SocketOptionName
.AddMembership,
437
SocketOptionName
.AddMembership,
457
SocketOptionName
.AddMembership,
478
SocketOptionName
.MulticastTimeToLive,
498
SocketOptionName
.DropMembership,
505
SocketOptionName
.DropMembership,
525
SocketOptionName
.DropMembership,