31#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
32#include <in_sock_internal.h>
154#ifdef SYMBIAN_DNS_PUNYCODE
158const TUint KSolInetDns = 0x208;
194#define INET_ADDR(a,b,c,d) (TUint32)((((TUint32)(a))<<24)|((b)<<16)|((c)<<8)|(d))
317 IMPORT_C TInt
Scope()
const;
368const TIp6Addr KInet6AddrLoop = {{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}}};
429 IMPORT_C
TInetAddr(TUint32 aAddr, TUint aPort);
443 IMPORT_C TBool
Match(
const TInetAddr& aNet, TInt aPrefixLen)
const;
474 IMPORT_C
void SetScope(TUint32 aScope);
477 IMPORT_C
void Init(TUint aFamily);
784#ifdef SYMBIAN_TCPIPDHCP_UPDATE
1364 IMPORT_C
void SetAddress(
const TDesC8 &aAddr);
1366 IMPORT_C TPtrC8
Address()
const;
1471#ifdef SYMBIAN_DNS_PUNYCODE
1476const TUint KSoDnsEnableIdn = 0x602;
1647#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
1653const TUint KSoTcpMaxRecvWin = 0x316;
1659const TUint KSoTcpRecvWinAuto = 0x317;
This class specialises the generic socket server address class TSockAddr for the TCP/IP protocol fami...
IMPORT_C void SetFlowLabel(TInt aLabel)
Sets the Flow Label.
TBool IsWildAddr() const
Tests if the IP address is unspecified.
IMPORT_C void SetV4CompatAddress(TUint32 aAddr)
Creates an IPv4-compatible IPv6 address.
IMPORT_C void ConvertToV4()
Converts an IPv4-mapped or IPv4-comptatible address to IPv4.
IMPORT_C TBool IsSiteLocal() const
Tests if IP address is site-local address.
IMPORT_C const TIp6Addr & Ip6Address() const
Gets the IPv6 address.
IMPORT_C void NetMask(const TInetAddr &aAddr)
Sets the IP address to a mask suitable for extracting the network number part of the IP address (depr...
IMPORT_C void Prefix(const TInetAddr &aAddr, TInt aPrefixLen)
Creates an IPv6 address with the specified number of left-most bits copied from another address,...
IMPORT_C void SubNet(const TInetAddr &aAddr, const TInetAddr &aMask)
Sets the IP address to the network number and subnet parts of the IP address (that is,...
IMPORT_C TInt Input(const TDesC &aBuf)
Sets the IP address from a string containing a representation of an IP address, such as might be ente...
IMPORT_C TBool Match(const TInetAddr &aHost) const
Tests the IP address value with that in another TInetAddr.
IMPORT_C void SetScope(TUint32 aScope)
Sets the scope id value.
IMPORT_C void OutputWithScope(TDes &aBuf) const
Writes the IP address into a string and appends the scope id.
IMPORT_C TInt FlowLabel() const
Gets the Flow Label.
TBool IsWildPort() const
Tests if the port is zero.
SInet6Addr * AddrPtr() const
Returns a pointer to KAfInet6 content format.
IMPORT_C void ConvertToV4Compat()
Converts an IPv4 address to an IPv4-compatible IPv6 address.
IMPORT_C TBool IsLoopback() const
Tests if the IP address is a loopback address.
IMPORT_C TBool IsUnspecified() const
Tests if the IP address is unspecified.
static TInt AddrLen()
Returns the size of the KAfInet6 content format.
IMPORT_C void SubNetBroadcast(const TInetAddr &aAddr, const TInetAddr &aMask)
Sets the IP address to be suitable for a subnet-directed broadcast address.
TBool IsBroadcast() const
Tests if the IP address is a limited broadcast address (255.255.255.255).
TBool IsClassA() const
Tests if the IP address is Class A.
IMPORT_C void Output(TDes &aBuf) const
Writes the IP address into a string.
IMPORT_C TBool IsV4Mapped() const
Tests if this address is an IPv4-mapped address.
IMPORT_C TBool IsMulticast() const
Tests if the IP address is a multicast address.
IMPORT_C void Init(TUint aFamily)
Initialises the object properly according to the address family passed in.
IMPORT_C void NetBroadcast(const TInetAddr &aAddr)
Sets the IP address to be suitable for a network-directed broadcast address (deprecated).
TBool IsClassC() const
Tests if the IP address is Class C.
IMPORT_C void SetAddress(TUint32 aAddr)
Sets the IPv4 address value.
IMPORT_C void ConvertToV4Mapped()
Converts an IPv4 address to an IPv4-mapped IPv6 address.
IMPORT_C void SetV4MappedAddress(TUint32 aAddr)
Creates an IPv4-mapped IPv6 address.
static TInetAddr & Cast(const TSockAddr &aAddr)
Casts a TSockAddr to a TInetAddr reference.
IMPORT_C TBool IsLinkLocal() const
Tests if IP address is link-local address.
IMPORT_C TBool IsUnicast() const
Tests if address is unicast address.
IMPORT_C TUint32 Scope() const
Gets the scope id value.
TBool IsClassB() const
Tests if the IP address is Class B.
IMPORT_C TInetAddr()
Constructs a basic TInetAddr object.
IMPORT_C void Net(const TInetAddr &aAddr)
Obtains a network mask corresponding to the class of the IP address, using the NetMask() function,...
SInetAddr * Addr4Ptr() const
Returns a pointer to KAfInet content format
IMPORT_C TBool CmpAddr(const TInetAddr &aAddr) const
Compares IP address and port values with those in another TInetAddr.
IMPORT_C void PrefixMask(TInt aPrefixLen)
Creates an IPv6 address with the specified number of left-most bits set to 1, and the rest set to 0.
IMPORT_C TBool IsV4Compat() const
Tests if this address is an IPv4-compatible address.
IMPORT_C TUint32 Address() const
Gets the IPv4 address value.
The 128 bits of IPv6 or IPv4 address stored in network byte order.
IMPORT_C TBool IsV4Mapped() const
Tests if this address is an IPv4-mapped address.
IMPORT_C TBool IsEqual(const TIp6Addr &aAddr) const
Tests if two addresses are equal.
IMPORT_C TBool IsV4Compat() const
Tests if this address is an IPv4-compatible address.
IMPORT_C TBool IsUnspecified() const
Tests if the address is IPv6 unspecified.
IMPORT_C TBool IsLinkLocal() const
Tests if the address is an IPv6 link-local address.
IMPORT_C TBool IsUnicast() const
Tests if the address is IPv6 unicast.
IMPORT_C TInt Scope() const
Return the scope level of the addres.
IMPORT_C TBool IsLoopback() const
Tests if the address is IPv6 loopback.
IMPORT_C TInt Match(const TIp6Addr &aAddr) const
Compares two raw IPv6 addresses from left to right and returns the number of bits that match.
IMPORT_C TBool IsMulticast() const
Tests if the IPv6 address is multicast.
IMPORT_C TBool IsSiteLocal() const
Tests if this address is an IPv6 site-local address (fec0::/10).
TUint iInterface
Interface Index.
TIp6Addr iAddr
IPv6 or IPv4 multicast address.
IMPORT_C static const TLinkAddr & Cast(const TSockAddr &aAddr)
This function will cast the address to a TLinkAddr.
IMPORT_C void SetAddress(const TDesC8 &aAddr)
Assigns a string of octets as the address.
IMPORT_C TPtrC8 Address() const
Returns the current stored address as a pointer to string of octets.
IMPORT_C TLinkAddr()
Default constructor initialises the address to be zero-filled.
Extension for TSoInetInterfaceInfo.
TUint iDoId
Address action.
TUint iDoState
Interface state action.
TUint iDoProxy
Confiture address as Proxy.
TUint iAlias
Primary or alias modifier.
TUint iDelete
Add or delete modifier.
TUint iDoPrefix
Prefix action (only for IPv6 addresses).
TUint iDoAnycast
Configure address as Anycast.
Access to route cache TPckgBuf<TSoInetCachedRouteInfo>, set iDstAddr for required address With a leve...
TUint32 iIndex
Interface Index.
TInetAddr iSrcAddr
Source address.
TUint iIsUp
Flag that is set to 1 if the network interface is attached.
TName iName
Interface name.
TInetScopeIds iZone
Scope Id Vector (iZone[0] = Interface Index, iZone[1] = IAP ID, iZone[15] = Network ID).
TInetAddr iDstAddr
Destination address.
Used when listing interfaces with socket option.
TInetAddr iNameSer2
IP secondary name server (if any).
TInetAddr iNetMask
IP netmask.
TInt iSpeedMetric
An approximation of the interface speed in Kbps.
TSockAddr iHwAddr
Hardware address.
TName iName
Interface name.
TInetAddr iBrdAddr
IP broadcast address.
TInetAddr iNameSer1
IP primary name server (if any).
TInetAddr iAddress
Interface IP address.
TInt iMtu
Maximum transmission unit (bytes)
TIfStatus iState
Interface state.
TName iTag
Ignored since 7.0.
TUint iFeatures
Feature flags.
TInetAddr iDefGate
IP default gateway or peer address (if known).
Error information for TCP/IP protocols.
TInt iStatus
The error code returned by the last ESOCK API function called.
TInt iErrCode
The value of the Code field of the last ICMP message.
TInetAddr iDstAddr
A TInetAddr with the IP address and port set to the destination address and port of the failed datagr...
TInetAddr iSrcAddr
A TInetAddr with the IP address and port set to the source address and port of the failed datagram.
TInt iErrType
The value of the Type field of the last ICMP message.
TInetAddr iErrAddr
A TInetAddr with the IP address set to the address of the host that generated the error.
Route information structure.
TRouteType iType
Route type.
TInetAddr iDstAddr
IP address of the destination network or host.
IMPORT_C TInt GetLinkAddr(TLinkAddr &aInfo) const
TInetAddr iNetMask
Destination mask of network.
TInetAddr iIfAddr
IP address of the interface used for this route.
TInt iMetric
Route preference, with a smaller value indicating a preferred route.
TRouteState iState
Route state.
TInetAddr iGateway
IP address of the gateway, or link-layer address for neighbour cache entries.
Represents an end point address.
IMPORT_C TUint Family() const
Gets the address family and thereby the type of address.
IMPORT_C TUint Port() const
Gets the port value.
TUint8 * UserPtr() const
Gets an offset to place data after the base class data.
TDes8 TDes
Defines a build-independent modifiable descriptor.
TDesC8 TDesC
Defines a build-independent non-modifiable descriptor.
const TUint KSocketInternalOptionBit
const TUint KSoHeaderIncluded
Assume that the IP header is included in all data written by the client.
const TUint32 KInetAddrLinkLocalNetMask
Link-local net mask.
const TUint KInetMinAutoPort
Minimum value of an automatically allocated port.
const TUint KInetPortAny
Any port flag (0).
const TInt KErrUrgentData
Urgent data error.
const TUint KSoKeepInterfaceUp
Controls whether the interface flow counter is affected by this socket.
const TUint KProtocolInet6Ipip
IPv6 inside IP (v4 or v6).
const TUint KSoTcpNoDelay
Send data at once if there is an established connection, without waiting for the maximum segment size...
const TUint KSoTcpSendWinSize
The maximum number of bytes that can be queued for sending.
const TUint KSoNoSourceAddressSelect
Enable use of 0 as a source address.
const TUint KSoIpOptions
Data to place in IP Options field of sent datagrams.
const TInt KSoInetDeleteRoute
Deletes the specified route from the routing table.
TRouteState
Identifies the state of a route held in an entry in the IP routing table.
@ ERtPending
Route is neighbour cache entry, ARP or Neighbor discovery is in progress.
@ ERtReady
The interface for the route is up and ready.
const TUint KSoIpTOS
Type of Service field of outgoing datagrams.
const TIp6Addr KInet6AddrLoop
Loopback address (::1).
const TInt KIp6AddrScopeNodeLocal
Node-local scope level (RFC-2373 2.7).
const TUint KSoInetIfQueryByName
Get information for the interface specified by the Interface Name (iName) field of the passed package...
const TUint KSoTcpReadUrgentData
Read out-of-band urgent data.
const TUint KSoInetResetInterface
Resets interface to initial state.
const TUint KSoTcpRcvAtMark
True if the data stream has been read up to the point where urgent data is available,...
const TInt KIp6AddrScopeSiteLocal
Site-local scope level (RFC-2373 2.7).
const TUint KSolInetIfCtrl
Interface control socket options level.
const TUint KSoInetStartInterface
Restart interface, auto-reconfigure.
const TIp6Addr KInet6AddrNone
No address (all 0s).
const TUint KSoUdpSynchronousSend
Setting this option causes the UDP send operation to block when dynamic interface setup is in progres...
const TUint KSoReuseAddr
Allow a socket to be bound to an local address that is already in use.
const TUint KInetMaxAutoPort
Maximum value of an automatically allocated port.
const TUint KSolInetDnsCtrl
DNS control socket options level.
const TInt KErrNetUnreach
Network could not be reached.
TNameRecordFlags
Flags returned from DNS records.
@ EDnsNoRoute
Answer does not have a route set.
@ EDnsServer
Answer is from a DNS server.
@ EDnsAlias
Name is an Alias.
@ EDnsCache
Answer is from the resolver cache.
@ EDnsHostName
Answer is host name for this host.
@ EDnsAuthoritive
Answer is authoritive.
@ EDnsHostsFile
Answer is from hosts file.
const TUint32 KInetAddrIdValA
const TUint32 KInetAddrIdMaskB
const TUint KSoIp6LeaveGroup
Leave multicast group.
const TUint KSoIp6JoinGroup
Join multicast group.
const TInt KErrHostUnreach
Host could not be reached.
const TInt KInetAddrShiftC
Number of bits to right-shift a Class C address to obtain the network number.
const TUint KSoTcpRecvWinSize
The maximum number of bytes that can be buffered for receiving.
const TInt KIp6AddrScopeGlobal
Global scope level (RFC-2373 2.7).
const TUint KProtocolInet6Icmp
Identifies the ICMPv6 protocol.
const TUint KSoInetIfQueryBySrcAddr
Get information for the interface specified by the source address (iSrcAddr) field of the passed pack...
const TUint KSoTcpKeepAlive
On the time-out expiring without an acknowledgement being received, send a packet designed to force a...
const TUint KSoIp6UnicastHops
Hop limit for outgoing datagrams: same as KSoIpTTL.
const TUint KSoTcpAsync2MslWait
If address reuse is allowed, and a connection already exists between the requested local and remote a...
const TUint KSoFlowClosing
Internal flow option called when the flow is about to be closed.
const TUint KSoTcpOobInline
Receive out-of-band data in the normal data stream.
const TUint KSolInetIp
IP socket options level.
const TUint KSoInetIfQueryByDstAddr
Get information for the interface specified by the destination address (iDstAddr) field of the passed...
const TUint KProtocolInetUdp
Identifies the UDP protocol.
const TUint KSolInetIfQuery
Interface query socket options level.
const TUint32 KInetAddrMaskAll
All addresses mask (0.0.0.0).
const TInt KSoInetNextRoute
Return the next route in an enumeration started by setting the option KSoInetEnumRoutes.
const TUint KSoTcpReadBytesPending
The number of bytes currently available for reading (the same value as is obtained using KSOReadBytes...
const TUint KSoTcpNumSockets
The number of current TCP sockets.
const TUint32 KInetAddrNetMaskC
Class C net mask (255.255.255.0).
const TUint32 KInetAddrIdMaskC
const TUint KSoIp6MulticastHops
Hop limit for multicast packets.
const TUint32 KInetAddrNetMaskA
Class A net mask (255.0.0.0).
const TUint KSOTcpDebugMode
Not supported.
const TUint KInetPortNone
No port flag (0).
const TUint KSoInetCreateIPv4LLOnInterface
Trigger link local creation.
const TUint KSoIp6InterfaceUnicastHops
Hop limit for outgoing datagrams: similar to KSoIp6UnicastHops except any socket option to override t...
const TUint KSoTcpSendBytesPending
The number of bytes currently queued for sending.
const TInt KSoInetEnumInterfaces
Begin enumeration of network interfaces.
const TUint KSoNoInterfaceError
Do not set socket into error state if currently connected interface reports an error.
const TInt KInetAddrShiftA
Number of bits to right-shift a Class A address to obtain the network number.
const TInt KIp6AddrScopeNetwork
Network scope level (non-standard value, used internally)
TIfStatus
Describes the state of an interface.
@ EIfPending
The interface has been initiated, but is not yet available.
@ EIfBusy
The interface is up, but flowed off.
@ EIfUp
The interface is up and available.
@ EIfDown
The interface is down.
const TUint KSoInetIfQueryByIndex
Get information for the interface specified by the Interface Index (iIndex) field of the passed packa...
const TUint32 KInetAddrIdMaskD
const TUint KIpDontRoute
Don't route the packet.
const TUint32 KInetAddrNone
No address flag (0.0.0.0).
const TUint32 KInetAddrLinkLocalNet
Link-local net number.
const TUint32 KInetAddrGroupAllHosts
All hosts address (224.0.0.1).
const TInt KIp6AddrScopeLinkLocal
Link-local scope level (RFC-2373 2.7).
const TUint32 KInetAddrBroadcast
Broadcast address (255.255.255.255).
const TUint KProtocolInet6Ip
Identifies the IP (v6) protocol module.
#define INET_ADDR(a, b, c, d)
Forms a 32-bit integer IPv4 address from the normal dotted-decimal representation.
const TUint KSoUdpAddressSet
Modifies address flag of UDP.
const TUint KSoUdpReceiveICMPError
Inform client of error if ICMP error packets received.
const TUint32 KInetAddrAll
All addresses mask (255.255.255.255).
const TUint KIpDontFragment
Don't fragment the packet.
const TUint KSoInetChangeInterface
Configure the interface details, if it exists.
const TUint KSoRawMode
Include IP header in data returned to client.
const TUint KSoUserSocket
Modify socket visibility.
const TInt KSoInetEnumRoutes
Begin enumeration of routes.
const TUint32 KInetAddrIdValC
const TUint KSolInetUdp
UDP socket options level.
const TUint32 KInetAddrAny
Any address flag (0.0.0.0).
const TUint KSoDnsCacheFlush
No longer supported.
const TUint KIoctlTcpNotifyDataSent
Complete the ioctl request when the data has been sent.
const TUint KProtocolUnknown
Unknown Protocol ID.
const TInt KIp6AddrScopeOrganization
Organisation-local scope level (RFC-2373 2.7).
const TUint32 KInetAddrGroupUnspec
Group address range start.
const TUint32 KInetAddrIdMaskE
const TInt KInetAddrMaxBits
Maximum IPv4 address length (bits).
const TUint KProtocolInetIcmp
Identifies the ICMP protocol.
const TUint KProtocolInetTcp
Identifies the TCP protocol.
const TUint32 KInetAddrIdValE
const TUint KSoIpTTL
Time to Live field of outgoing datagrams.
const TUint KSoInetLastError
Retrieve last error information.
const TUint KSoTcpListening
The socket has been set to listen (through RSocket::Listen()).
const TUint KSoDnsCacheEnable
No longer supported.
const TUint KAfInet
Identifies the TCP/IP protocol family and v4 address family.
const TInt KInetAddrShiftB
Number of bits to right-shift a Class B address to obtain the network number.
const TUint32 KInetAddrIdValD
const TUint KSoIp6MulticastLoop
Enable/disable loopback of the multicast packets.
const TUint KIpHeaderIncluded
Packet includes IP or IPv6 header.
const TUint KAfInet6
Identifies the TCP/IP v6 address family.
const TUint KSolInetTcp
TCP socket options level.
const TUint32 KInetAddrHostMaskA
Class A host mask (0.255.255.255).
const TUint32 KInetAddrIdValB
const TUint32 KInetAddrMaskHost
All bits mask (255.255.255.255).
const TUint32 KInetAddrHostMaskB
Class B host mask (0.0.255.255).
const TUint KSoInterfaceIndex
Set or get interface index of the socket.
TUint32 TInetScopeIds[16]
Scope Id vector (member of TSoInetIfQuery).
const TInt KInet6AddrMaxBits
Maximum IPv6 address length (bits).
const TInt KSoInetNextInterface
Return details of the next interface in an enumeration started by setting the option KSoInetEnumInter...
const TIp6Addr KInet6AddrLinkLocal
Link-local address (prefix fe80::).
const TInt KSoInetAddRoute
Adds the specified route to the routing table.
TRouteType
Identifies the type of creator of an entry in the IP routing table.
@ ERtNormal
Normal route entry.
@ ERtIcmpAdd
Route is ARP or neighbor cache entry.
const TUint32 KInetAddrLoop
Loopback address (127.0.0.1).
const TUint KSoIp6MulticastIf
Interface for outgoing multicast packets.
const TInt KSoInetConfigInterface
Configures the interface.
const TUint32 KInetAddrNetMaskB
Class B net mask (255.255.0.0).
const TInt KSoInetCachedRouteByDest
No longer supported.
const TInt KErrNoProtocolOpt
Protocol could not be reached.
const TUint KProtocolInetIp
Identifies the IP (v4) protocol module.
const TInt KSoInetChangeRoute
Modifies the specified route in the routing table.
const TUint KSoTcpPeekUrgentData
Peeks for urgent data.
const TUint KSolInetRtCtrl
Route control socket options level.
const TUint KSoTcpMaxSegSize
The maximum TCP segment size (bytes).
const TUint KIoctlInetLastError
An Ioctl corresponding to the socket option KSoInetLastError.
const TUint KSoTcpNextSendUrgentData
The next send operation will mark the last byte sent as urgent data.
const TUint32 KInetAddrHostMaskC
Class C host mask (0.0.0.255).
const TUint KSolInetIcmp
ICMP socket option level (no options).
const TUint KSoInetDeleteInterface
Deletes the interface.
const TUint32 KInetAddrIdMaskA
IPv4 and IPv6 socket address.
TIp6Addr iAddr
16 bytes of IP6/IP4 address (128 bits)
TUint32 iFlow
4 bytes of Flow Id
TUint32 iScope
4 bytes of Scope Id.
TUint32 iAddr
Plain IPv4 address.