Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / _OSSOCK.cs / 2 / _OSSOCK.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net {
using System.Net.Sockets;
using System.Runtime.InteropServices;
//
// Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP.
//
[StructLayout(LayoutKind.Sequential)]
internal struct IPMulticastRequest {
internal int MulticastAddress; // IP multicast address of group
internal int InterfaceAddress; // local IP address of interface
internal static readonly int Size = Marshal.SizeOf(typeof(IPMulticastRequest));
}
[StructLayout(LayoutKind.Sequential)]
internal struct Linger {
internal short OnOff; // option on/off
internal short Time; // linger time
}
[StructLayout(LayoutKind.Sequential)]
internal struct WSABuffer {
internal int Length; // Length of Buffer
internal IntPtr Pointer;// Pointer to Buffer
}
[StructLayout(LayoutKind.Sequential)]
internal class TransmitFileBuffers {
internal IntPtr preBuffer;// Pointer to Buffer
internal int preBufferLength; // Length of Buffer
internal IntPtr postBuffer;// Pointer to Buffer
internal int postBufferLength; // Length of Buffer
}
[StructLayout(LayoutKind.Sequential)]
internal struct WSAData {
internal short wVersion;
internal short wHighVersion;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=257)]
internal string szDescription;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=129)]
internal string szSystemStatus;
internal short iMaxSockets;
internal short iMaxUdpDg;
internal IntPtr lpVendorInfo;
}
// data structures and types needed for getaddrinfo calls.
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
internal unsafe struct AddressInfo {
internal AddressInfoHints ai_flags;
internal AddressFamily ai_family;
internal SocketType ai_socktype;
internal ProtocolFamily ai_protocol;
internal int ai_addrlen;
internal sbyte* ai_canonname; // Ptr to the cannonical name - check for NULL
internal byte* ai_addr; // Ptr to the sockaddr structure
internal AddressInfo* ai_next; // Ptr to the next AddressInfo structure
}
[Flags]
internal enum AddressInfoHints {
AI_PASSIVE = 0x01, /* Socket address will be used in bind() call */
AI_CANONNAME = 0x02, /* Return canonical name in first ai_canonname */
AI_NUMERICHOST = 0x04, /* Nodename must be a numeric address string */
}
[Flags]
internal enum NameInfoFlags {
NI_NOFQDN = 0x01, /* Only return nodename portion for local hosts */
NI_NUMERICHOST = 0x02, /* Return numeric form of the host's address */
NI_NAMEREQD = 0x04, /* Error if the host's name not in DNS */
NI_NUMERICSERV = 0x08, /* Return numeric form of the service (port #) */
NI_DGRAM = 0x10, /* Service is a datagram service */
}
// Argument structure for IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP.
[StructLayout(LayoutKind.Sequential)]
internal struct IPv6MulticastRequest {
[MarshalAs(UnmanagedType.ByValArray,SizeConst=16)]
internal byte[] MulticastAddress; // IP address of group
internal int InterfaceIndex; // local interface index
internal static readonly int Size = Marshal.SizeOf(typeof(IPv6MulticastRequest));
}
//
// used as last parameter to WSASocket call
//
[Flags]
internal enum SocketConstructorFlags {
WSA_FLAG_OVERLAPPED = 0x01,
WSA_FLAG_MULTIPOINT_C_ROOT = 0x02,
WSA_FLAG_MULTIPOINT_C_LEAF = 0x04,
WSA_FLAG_MULTIPOINT_D_ROOT = 0x08,
WSA_FLAG_MULTIPOINT_D_LEAF = 0x10,
}
} // namespace System.Net
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlValueConverter.cs
- StringUtil.cs
- __ComObject.cs
- MostlySingletonList.cs
- EpmSyndicationContentSerializer.cs
- TimestampInformation.cs
- InputBuffer.cs
- StreamGeometry.cs
- DoubleLink.cs
- ListMarkerLine.cs
- SessionStateUtil.cs
- ModifiableIteratorCollection.cs
- nulltextnavigator.cs
- StartUpEventArgs.cs
- BoundConstants.cs
- DataPagerFieldCommandEventArgs.cs
- InteropBitmapSource.cs
- XmlArrayItemAttribute.cs
- DrawListViewColumnHeaderEventArgs.cs
- Stacktrace.cs
- ISessionStateStore.cs
- SchemaComplexType.cs
- QuinticEase.cs
- ExpressionEvaluator.cs
- VectorCollectionValueSerializer.cs
- SecurityTokenResolver.cs
- TextEffect.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- CalendarDay.cs
- OleDbDataAdapter.cs
- DbDataReader.cs
- Rectangle.cs
- SiteOfOriginPart.cs
- MainMenu.cs
- MultiTrigger.cs
- DurableEnlistmentState.cs
- FrameworkContextData.cs
- PerformanceCounter.cs
- SmiRecordBuffer.cs
- WebMethodAttribute.cs
- TextDecoration.cs
- WebServicesDescriptionAttribute.cs
- ExpressionPrefixAttribute.cs
- TransportOutputChannel.cs
- ContextStaticAttribute.cs
- XmlCharType.cs
- WSTrustFeb2005.cs
- OdbcEnvironmentHandle.cs
- StreamInfo.cs
- OleCmdHelper.cs
- ItemContainerGenerator.cs
- RubberbandSelector.cs
- HwndSourceParameters.cs
- ExtensionQuery.cs
- ResolveNameEventArgs.cs
- SafeTokenHandle.cs
- ProfilePropertySettingsCollection.cs
- WinInet.cs
- HiddenFieldPageStatePersister.cs
- RNGCryptoServiceProvider.cs
- UserControl.cs
- EDesignUtil.cs
- ScrollChrome.cs
- AsnEncodedData.cs
- ReferencedAssemblyResolver.cs
- ProtectedProviderSettings.cs
- DescendantBaseQuery.cs
- StringDictionary.cs
- RoleService.cs
- OleDbParameterCollection.cs
- RsaEndpointIdentity.cs
- BaseCodePageEncoding.cs
- MenuAutomationPeer.cs
- SafeHandles.cs
- PasswordTextNavigator.cs
- OraclePermissionAttribute.cs
- EnumerableRowCollection.cs
- TableStyle.cs
- OleCmdHelper.cs
- DictionaryManager.cs
- HostedHttpContext.cs
- UrlMappingsModule.cs
- WpfSharedXamlSchemaContext.cs
- PositiveTimeSpanValidatorAttribute.cs
- GenerateTemporaryAssemblyTask.cs
- StreamUpdate.cs
- _NestedMultipleAsyncResult.cs
- Logging.cs
- ZoneMembershipCondition.cs
- DataServiceContext.cs
- SchemaObjectWriter.cs
- DynamicMethod.cs
- EntityPropertyMappingAttribute.cs
- HexParser.cs
- versioninfo.cs
- Pair.cs
- IsolatedStorageFile.cs
- ComPlusServiceLoader.cs
- ConnectionsZoneDesigner.cs
- DynamicValidatorEventArgs.cs