|
Original Symbian headers
Selected EUSER, Window Server, networking, graphics and device declarations
|
Go to the source code of this file.
Classes | |
| struct | SInetAddr |
| IPv4 socket address. More... | |
| class | TIp6Addr |
| The 128 bits of IPv6 or IPv4 address stored in network byte order. More... | |
| struct | SInet6Addr |
| IPv4 and IPv6 socket address. More... | |
| class | TInetAddr |
| This class specialises the generic socket server address class TSockAddr for the TCP/IP protocol family. More... | |
| class | TSoInetInterfaceInfo |
| Used when listing interfaces with socket option. More... | |
| class | TSoInet6InterfaceInfo |
| Extension for TSoInetInterfaceInfo. More... | |
| class | TSoInetIfQuery |
| Interface query. More... | |
| class | TLinkAddr |
| class | TSoInetRouteInfo |
| Route information structure. More... | |
| class | TSoInetCachedRouteInfo |
| Access to route cache TPckgBuf<TSoInetCachedRouteInfo>, set iDstAddr for required address With a level of KSolInetRtCtrl. More... | |
| class | TSoInetLastErr |
| Error information for TCP/IP protocols. More... | |
| class | TIp6Mreq |
| TIp6Mreq. More... | |
Variables | |
TCP/IP Protocol and address family | |
The TCP/IP stack supports two different address formats in the TInetAddr: KAfInet for plain IPv4 addresses (for backward compatibility), and KAfInet6 for both IPv6 and IPv4 addresses. Only the KAfInet is used as a protocol family constant for the TCP/IP protocol family, when sockets are opened (RSocket::Open() and RHostResolver::Open() ). KAfInet6 is only address family, and can only appear as a family constant in TSockAddr class.
| |
| const TUint | KAfInet = 0x0800 |
| Identifies the TCP/IP protocol family and v4 address family. | |
| const TUint | KAfInet6 = 0x0806 |
| Identifies the TCP/IP v6 address family. | |
IP protocol IDs | |
| const TUint | KProtocolInetIcmp = 1 |
| Identifies the ICMP protocol. | |
| const TUint | KProtocolInetTcp = 6 |
| Identifies the TCP protocol. | |
| const TUint | KProtocolInetUdp = 17 |
| Identifies the UDP protocol. | |
| const TUint | KProtocolInet6Ipip = 41 |
| IPv6 inside IP (v4 or v6). | |
| const TUint | KProtocolInet6Icmp = 58 |
| Identifies the ICMPv6 protocol. | |
Internal Protocol IDs | |
Internal protocol id's do not appear in real packets. An internal id only identifies a protocol instance. | |
| const TUint | KProtocolInetIp = 0x100 |
| Identifies the IP (v4) protocol module. | |
| const TUint | KProtocolInet6Ip = 0xF00 |
| Identifies the IP (v6) protocol module. | |
| const TUint | KProtocolUnknown = 0xdead |
| Unknown Protocol ID. | |
Socket option/ioctl levels | |
| const TUint | KSolInetIcmp = 0x101 |
| ICMP socket option level (no options). | |
| const TUint | KSolInetTcp = 0x106 |
| TCP socket options level. | |
| const TUint | KSolInetUdp = 0x111 |
| UDP socket options level. | |
| const TUint | KSolInetIp = 0x100 |
| IP socket options level. | |
| const TUint | KSolInetIfCtrl = 0x201 |
| Interface control socket options level. | |
| const TUint | KSolInetRtCtrl = 0x202 |
| Route control socket options level. | |
| const TUint | KSolInetDnsCtrl = 0x204 |
| DNS control socket options level. | |
| const TUint | KSolInetIfQuery = 0x206 |
| Interface query socket options level. | |
| const TInt | KInetAddrMaxBits = 32 |
| Maximum IPv4 address length (bits). | |
| const TInt | KInet6AddrMaxBits = 128 |
| Maximum IPv6 address length (bits). | |
Port constants | |
| const TUint | KInetPortAny = 0x0000 |
| Any port flag (0). | |
| const TUint | KInetPortNone = 0x0000 |
| No port flag (0). | |
| const TUint | KInetMinAutoPort = 32768 |
| Minimum value of an automatically allocated port. | |
| const TUint | KInetMaxAutoPort = 60999 |
| Maximum value of an automatically allocated port. | |
IPv6 address constants.. | |
| |
| const TInt | KIp6AddrScopeNodeLocal = 0x01 |
| Node-local scope level (RFC-2373 2.7). | |
| const TInt | KIp6AddrScopeLinkLocal = 0x02 |
| Link-local scope level (RFC-2373 2.7). | |
| const TInt | KIp6AddrScopeSiteLocal = 0x05 |
| Site-local scope level (RFC-2373 2.7). | |
| const TInt | KIp6AddrScopeOrganization = 0x08 |
| Organisation-local scope level (RFC-2373 2.7). | |
| const TInt | KIp6AddrScopeGlobal = 0x0E |
| Global scope level (RFC-2373 2.7). | |
| const TInt | KIp6AddrScopeNetwork = 0x10 |
| Network scope level (non-standard value, used internally) | |
| const TIp6Addr | KInet6AddrNone = {{{0}}} |
| No address (all 0s). | |
| const TIp6Addr | KInet6AddrLoop = {{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}}} |
| Loopback address (::1). | |
| const TIp6Addr | KInet6AddrLinkLocal = {{{0xfe, 0x80, }}} |
| Link-local address (prefix fe80::). | |
Send/Recv flags (datagram sockets only) | |
| const TUint | KIpDontFragment = 0x010000 |
| Don't fragment the packet. | |
| const TUint | KIpHeaderIncluded = 0x020000 |
| Packet includes IP or IPv6 header. | |
| const TUint | KIpDontRoute = 0x040000 |
| Don't route the packet. | |
TCP socket options | |
Level: KSolInetTcp | |
| const TUint | KIoctlTcpNotifyDataSent = 0x300 |
| Complete the ioctl request when the data has been sent. | |
| const TUint | KSoTcpSendWinSize = 0x301 |
| The maximum number of bytes that can be queued for sending. | |
| const TUint | KSoTcpRecvWinSize = 0x302 |
| The maximum number of bytes that can be buffered for receiving. | |
| const TUint | KSoTcpMaxSegSize = 0x303 |
| The maximum TCP segment size (bytes). | |
| const TUint | KSoTcpNoDelay = 0x304 |
| Send data at once if there is an established connection, without waiting for the maximum segment size to be reached. | |
| const TUint | KSoTcpKeepAlive = 0x305 |
| On the time-out expiring without an acknowledgement being received, send a packet designed to force a response if the peer is up and reachable. | |
| const TUint | KSoTcpAsync2MslWait = 0x306 |
| If address reuse is allowed, and a connection already exists between the requested local and remote addresses, wait for the address to become available. | |
| const TUint | KSoTcpSendBytesPending = 0x307 |
| The number of bytes currently queued for sending. | |
| const TUint | KSoTcpReadBytesPending = 0x308 |
| The number of bytes currently available for reading (the same value as is obtained using KSOReadBytesPending). | |
| const TUint | KSoTcpListening = 0x309 |
| The socket has been set to listen (through RSocket::Listen()). | |
| const TUint | KSoTcpNumSockets = 0x310 |
| The number of current TCP sockets. | |
| const TUint | KSoTcpReadUrgentData = 0x311 |
| Read out-of-band urgent data. | |
| const TUint | KSoTcpPeekUrgentData = 0x312 |
| Peeks for urgent data. | |
| const TUint | KSoTcpRcvAtMark = 0x313 |
| True if the data stream has been read up to the point where urgent data is available, otherwise false. | |
| const TUint | KSoTcpNextSendUrgentData = 0x314 |
| The next send operation will mark the last byte sent as urgent data. | |
| const TUint | KSoTcpOobInline = 0x315 |
| Receive out-of-band data in the normal data stream. | |
| const TUint | KSOTcpDebugMode = 0x11110000 |
| Not supported. | |
IPv6 and IPv4 socket options | |
Level: KSolInetIp | |
| const TUint | KSoIpOptions = 0x401 |
| Data to place in IP Options field of sent datagrams. | |
| const TUint | KSoRawMode = 0x402 |
| Include IP header in data returned to client. | |
| const TUint | KSoHeaderIncluded = 0x403 |
| Assume that the IP header is included in all data written by the client. | |
| const TUint | KSoIpTOS = 0x404 |
| Type of Service field of outgoing datagrams. | |
| const TUint | KSoIpTTL = 0x405 |
| Time to Live field of outgoing datagrams. | |
| const TUint | KSoReuseAddr = 0x406 |
| Allow a socket to be bound to an local address that is already in use. | |
| const TUint | KSoNoInterfaceError = 0x407 |
| Do not set socket into error state if currently connected interface reports an error. | |
| const TUint | KSoUserSocket = 0x408 |
| Modify socket visibility. | |
| const TUint | KSoInterfaceIndex = 0x409 |
| Set or get interface index of the socket. | |
| const TUint | KSoKeepInterfaceUp = 0x40a |
| Controls whether the interface flow counter is affected by this socket. | |
| const TUint | KSoNoSourceAddressSelect = 0x40b |
| Enable use of 0 as a source address. | |
| const TUint | KSoInetLastError = 0x200 |
| Retrieve last error information. | |
| const TUint | KIoctlInetLastError = 0x200 |
| An Ioctl corresponding to the socket option KSoInetLastError. | |
| const TUint | KSoIp6UnicastHops = 0x465 |
| Hop limit for outgoing datagrams: same as KSoIpTTL. | |
| const TUint | KSoIp6MulticastIf = 0x46a |
| Interface for outgoing multicast packets. | |
| const TUint | KSoIp6MulticastHops = 0x46b |
| Hop limit for multicast packets. | |
| const TUint | KSoIp6MulticastLoop = 0x46c |
| Enable/disable loopback of the multicast packets. | |
| const TUint | KSoIp6JoinGroup = 0x46d |
| Join multicast group. | |
| const TUint | KSoIp6LeaveGroup = 0x46e |
| Leave multicast group. | |
| const TUint | KSoIp6InterfaceUnicastHops = 0x46f |
| Hop limit for outgoing datagrams: similar to KSoIp6UnicastHops except any socket option to override the current setting is ignored. | |
UDP options | |
Level: KSolInetUdp | |
| const TUint | KSoUdpReceiveICMPError = 0x500 |
| Inform client of error if ICMP error packets received. | |
| const TUint | KSoUdpAddressSet = 0x502 |
| Modifies address flag of UDP. | |
| const TUint | KSoUdpSynchronousSend = 0x560 |
| Setting this option causes the UDP send operation to block when dynamic interface setup is in progress, or when local flow control within the stack would otherwise cause the packet to be dropped. | |
TCP/IP specific Socket provider options | |
Level: #KSOLProvider | |
| const TUint | KSoFlowClosing = 0x600 | KSocketInternalOptionBit |
| Internal flow option called when the flow is about to be closed. | |
Extended error codes | |
| const TInt | KErrNetUnreach = -190 |
| Network could not be reached. | |
| const TInt | KErrHostUnreach = -191 |
| Host could not be reached. | |
| const TInt | KErrNoProtocolOpt = -192 |
| Protocol could not be reached. | |
| const TInt | KErrUrgentData = -193 |
| Urgent data error. | |
IPv4 address constants and definitions | |
| #define | INET_ADDR(a, b, c, d) (TUint32)((((TUint32)(a))<<24)|((b)<<16)|((c)<<8)|(d)) |
| Forms a 32-bit integer IPv4 address from the normal dotted-decimal representation. | |
| enum | TInetAddrClass { EInetClassUnknown = 0 , EInetClassA , EInetClassB , EInetClassC , EInetClassD , EInetClassE , EInetMulticast = EInetClassD , EInetExperimental = EInetClassE } |
| const TUint32 | KInetAddrAny = INET_ADDR(0,0,0,0) |
| Any address flag (0.0.0.0). | |
| const TUint32 | KInetAddrNone = INET_ADDR(0,0,0,0) |
| No address flag (0.0.0.0). | |
| const TUint32 | KInetAddrAll = INET_ADDR(255,255,255,255) |
| All addresses mask (255.255.255.255). | |
| const TUint32 | KInetAddrBroadcast = INET_ADDR(255,255,255,255) |
| Broadcast address (255.255.255.255). | |
| const TUint32 | KInetAddrLoop = INET_ADDR(127,0,0,1) |
| Loopback address (127.0.0.1). | |
| const TUint32 | KInetAddrGroupUnspec = INET_ADDR(224,0,0,0) |
| Group address range start. | |
| const TUint32 | KInetAddrGroupAllHosts = INET_ADDR(224,0,0,1) |
| All hosts address (224.0.0.1). | |
| const TUint32 | KInetAddrLinkLocalNet = INET_ADDR(169,254,0,0) |
| Link-local net number. | |
| const TUint32 | KInetAddrLinkLocalNetMask = INET_ADDR(255,255,0,0) |
| Link-local net mask. | |
| const TUint32 | KInetAddrMaskAll = INET_ADDR(0,0,0,0) |
| All addresses mask (0.0.0.0). | |
| const TUint32 | KInetAddrMaskHost = INET_ADDR(255,255,255,255) |
| All bits mask (255.255.255.255). | |
| const TUint32 | KInetAddrNetMaskA = INET_ADDR(255,0,0,0) |
| Class A net mask (255.0.0.0). | |
| const TUint32 | KInetAddrHostMaskA = ~KInetAddrNetMaskA |
| Class A host mask (0.255.255.255). | |
| const TInt | KInetAddrShiftA = 24 |
| Number of bits to right-shift a Class A address to obtain the network number. | |
| const TUint32 | KInetAddrNetMaskB = INET_ADDR(255,255,0,0) |
| Class B net mask (255.255.0.0). | |
| const TUint32 | KInetAddrHostMaskB = ~KInetAddrNetMaskB |
| Class B host mask (0.0.255.255). | |
| const TInt | KInetAddrShiftB = 16 |
| Number of bits to right-shift a Class B address to obtain the network number. | |
| const TUint32 | KInetAddrNetMaskC = INET_ADDR(255,255,255,0) |
| Class C net mask (255.255.255.0). | |
| const TUint32 | KInetAddrHostMaskC = ~KInetAddrNetMaskC |
| Class C host mask (0.0.0.255). | |
| const TInt | KInetAddrShiftC = 8 |
| Number of bits to right-shift a Class C address to obtain the network number. | |
| const TUint32 | KInetAddrIdMaskA = 0x80000000 |
| const TUint32 | KInetAddrIdValA = 0x00000000 |
| const TUint32 | KInetAddrIdMaskB = 0xc0000000 |
| const TUint32 | KInetAddrIdValB = 0x80000000 |
| const TUint32 | KInetAddrIdMaskC = 0xe0000000 |
| const TUint32 | KInetAddrIdValC = 0xc0000000 |
| const TUint32 | KInetAddrIdMaskD = 0xf0000000 |
| const TUint32 | KInetAddrIdValD = 0xe0000000 |
| const TUint32 | KInetAddrIdMaskE = 0xf8000000 |
| const TUint32 | KInetAddrIdValE = 0xf0000000 |
Interface control socket options | |
Level: KSolInetIfCtrl Enumerating & Configuring Interfaces using TSoInetInterfaceInfo and TSoInet6InterfaceInfo. | |
| enum | TIfStatus { EIfPending , EIfUp , EIfBusy , EIfDown } |
| Describes the state of an interface. More... | |
| const TInt | KSoInetEnumInterfaces = 0x211 |
| Begin enumeration of network interfaces. | |
| const TInt | KSoInetNextInterface = 0x212 |
| Return details of the next interface in an enumeration started by setting the option KSoInetEnumInterfaces. | |
| const TInt | KSoInetConfigInterface = 0x213 |
| Configures the interface. | |
| const TUint | KSoInetDeleteInterface = 0x214 |
| Deletes the interface. | |
| const TUint | KSoInetChangeInterface = 0x215 |
| Configure the interface details, if it exists. | |
| const TUint | KSoInetResetInterface = 0x216 |
| Resets interface to initial state. | |
| const TUint | KSoInetStartInterface = 0x217 |
| Restart interface, auto-reconfigure. | |
| const TUint | KSoInetCreateIPv4LLOnInterface = 0x226 |
| Trigger link local creation. | |
Route control socket options | |
Level: KSolInetRtCtrl Enumerating & Configuring Routes using TSoInetRouteInfo. | |
| enum | TRouteState { ERtNone , ERtPending , ERtBusy , ERtReady , ERtDown } |
| Identifies the state of a route held in an entry in the IP routing table. More... | |
| enum | TRouteType { ERtNormal , ERtUser , ERtIcmpAdd , ERtIcmpDel } |
| Identifies the type of creator of an entry in the IP routing table. More... | |
| const TInt | KSoInetEnumRoutes = 0x221 |
| Begin enumeration of routes. | |
| const TInt | KSoInetNextRoute = 0x222 |
| Return the next route in an enumeration started by setting the option KSoInetEnumRoutes. | |
| const TInt | KSoInetAddRoute = 0x223 |
| Adds the specified route to the routing table. | |
| const TInt | KSoInetDeleteRoute = 0x224 |
| Deletes the specified route from the routing table. | |
| const TInt | KSoInetChangeRoute = 0x225 |
| Modifies the specified route in the routing table. | |
| const TInt | KSoInetCachedRouteByDest = 0x225 |
| No longer supported. | |
DNS definitions | |
| enum | TNameRecordFlags { EDnsAlias =0x00000001 , EDnsAuthoritive =0x00000002 , EDnsHostsFile =0x00000004 , EDnsServer =0x00000008 , EDnsHostName =0x00000010 , EDnsCache =0x00000020 , EDnsNoRoute =0x00000040 } |
| Flags returned from DNS records. More... | |
| const TUint | KSoDnsCacheEnable = 0x600 |
| No longer supported. | |
| const TUint | KSoDnsCacheFlush = 0x601 |
| No longer supported. | |
Interface query socket options | |
Level: KSolInetIfQuery Querying information about interfaces using TSoInetIfQuery.
| |
| typedef TUint32 | TInetScopeIds[16] |
| Scope Id vector (member of TSoInetIfQuery). | |
| const TUint | KSoInetIfQueryByDstAddr = 0x1 |
| Get information for the interface specified by the destination address (iDstAddr) field of the passed packaged TSoInetIfQuery. | |
| const TUint | KSoInetIfQueryBySrcAddr = 0x2 |
| Get information for the interface specified by the source address (iSrcAddr) field of the passed packaged TSoInetIfQuery. | |
| const TUint | KSoInetIfQueryByIndex = 0x3 |
| Get information for the interface specified by the Interface Index (iIndex) field of the passed packaged TSoInetIfQuery. | |
| const TUint | KSoInetIfQueryByName = 0x4 |
| Get information for the interface specified by the Interface Name (iName) field of the passed packaged TSoInetIfQuery. | |
Definition in file in_sock.h.
| #define INET_ADDR | ( | a, | |
| b, | |||
| c, | |||
| d | |||
| ) | (TUint32)((((TUint32)(a))<<24)|((b)<<16)|((c)<<8)|(d)) |
Forms a 32-bit integer IPv4 address from the normal dotted-decimal representation.
The four arguments are the four parts of the IPv4 address.
Example:
| typedef TUint32 TInetScopeIds[16] |
| enum TIfStatus |
Describes the state of an interface.
It is used as a data member of TSoInetInterfaceInfo.
| Enumerator | |
|---|---|
| EIfPending | The interface has been initiated, but is not yet available. |
| EIfUp | The interface is up and available. |
| EIfBusy | The interface is up, but flowed off. |
| EIfDown | The interface is down. |
| enum TInetAddrClass |
| enum TNameRecordFlags |
Flags returned from DNS records.
Provides flag bitmasks that are used to describe properties of results of DNS queries via RHostResolver.
| enum TRouteState |
Identifies the state of a route held in an entry in the IP routing table.
It is used as a data member of TSoInetRouteInfo.
| Enumerator | |
|---|---|
| ERtNone | Unused. |
| ERtPending | Route is neighbour cache entry, ARP or Neighbor discovery is in progress. |
| ERtBusy | Unused. |
| ERtReady | The interface for the route is up and ready. |
| ERtDown | Unused. |
| enum TRouteType |
Identifies the type of creator of an entry in the IP routing table.
It is used as a data member of TSoInetRouteInfo.
| Enumerator | |
|---|---|
| ERtNormal | Normal route entry. |
| ERtUser | Unused. |
| ERtIcmpAdd | Route is ARP or neighbor cache entry. |
| ERtIcmpDel | Unused. |
| const TUint KAfInet = 0x0800 |
| const TUint KAfInet6 = 0x0806 |
| const TInt KErrHostUnreach = -191 |
| const TInt KErrNetUnreach = -190 |
| const TInt KErrNoProtocolOpt = -192 |
| const TIp6Addr KInet6AddrLinkLocal = {{{0xfe, 0x80, }}} |
| const TIp6Addr KInet6AddrLoop = {{{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}}} |
| const TInt KInet6AddrMaxBits = 128 |
| const TIp6Addr KInet6AddrNone = {{{0}}} |
| const TUint32 KInetAddrAll = INET_ADDR(255,255,255,255) |
| const TUint32 KInetAddrAny = INET_ADDR(0,0,0,0) |
| const TUint32 KInetAddrBroadcast = INET_ADDR(255,255,255,255) |
| const TUint32 KInetAddrGroupAllHosts = INET_ADDR(224,0,0,1) |
| const TUint32 KInetAddrGroupUnspec = INET_ADDR(224,0,0,0) |
| const TUint32 KInetAddrHostMaskA = ~KInetAddrNetMaskA |
| const TUint32 KInetAddrHostMaskB = ~KInetAddrNetMaskB |
| const TUint32 KInetAddrHostMaskC = ~KInetAddrNetMaskC |
| const TUint32 KInetAddrLinkLocalNet = INET_ADDR(169,254,0,0) |
| const TUint32 KInetAddrLinkLocalNetMask = INET_ADDR(255,255,0,0) |
| const TUint32 KInetAddrLoop = INET_ADDR(127,0,0,1) |
| const TUint32 KInetAddrMaskAll = INET_ADDR(0,0,0,0) |
| const TUint32 KInetAddrMaskHost = INET_ADDR(255,255,255,255) |
| const TInt KInetAddrMaxBits = 32 |
| const TUint32 KInetAddrNetMaskA = INET_ADDR(255,0,0,0) |
| const TUint32 KInetAddrNetMaskB = INET_ADDR(255,255,0,0) |
| const TUint32 KInetAddrNetMaskC = INET_ADDR(255,255,255,0) |
| const TUint32 KInetAddrNone = INET_ADDR(0,0,0,0) |
| const TInt KInetAddrShiftA = 24 |
| const TInt KInetAddrShiftB = 16 |
| const TInt KInetAddrShiftC = 8 |
| const TUint KInetMaxAutoPort = 60999 |
| const TUint KInetMinAutoPort = 32768 |
| const TUint KIoctlInetLastError = 0x200 |
| const TUint KIoctlTcpNotifyDataSent = 0x300 |
| const TInt KIp6AddrScopeGlobal = 0x0E |
| const TInt KIp6AddrScopeLinkLocal = 0x02 |
| const TInt KIp6AddrScopeNetwork = 0x10 |
| const TInt KIp6AddrScopeNodeLocal = 0x01 |
| const TInt KIp6AddrScopeOrganization = 0x08 |
| const TInt KIp6AddrScopeSiteLocal = 0x05 |
| const TUint KIpDontFragment = 0x010000 |
Don't fragment the packet.
If the packet would require fragmentation due to a small maximum transmission unit size (MTU), the packet is dropped and an ICMP error message is generated: for ICMPv4 type=3 and code=4 (#KInet4ICMP_Unreachable); and for ICMPv6 type=2 and code=0 (#KInet6ICMP_PacketTooBig).
Application must enable KSoInetLastError to detect this situation.
| const TUint KIpDontRoute = 0x040000 |
| const TUint KIpHeaderIncluded = 0x020000 |
Packet includes IP or IPv6 header.
When reading, the returned buffer starts with the received IP header, which can be either IPv6 (TInet6HeaderIP4) or IPv4 (TInet6HeaderIP).
When writing buffers, the buffer must start with the IP header and it must be complete. The stack does not provide any defaults.
| const TUint KProtocolInet6Icmp = 58 |
Identifies the ICMPv6 protocol.
| const TUint KProtocolInet6Ip = 0xF00 |
Identifies the IP (v6) protocol module.
| const TUint KProtocolInet6Ipip = 41 |
| const TUint KProtocolInetIcmp = 1 |
Identifies the ICMP protocol.
| const TUint KProtocolInetIp = 0x100 |
Identifies the IP (v4) protocol module.
| const TUint KProtocolInetTcp = 6 |
Identifies the TCP protocol.
| const TUint KProtocolInetUdp = 17 |
Identifies the UDP protocol.
| const TUint KProtocolUnknown = 0xdead |
Unknown Protocol ID.
| const TUint KSoDnsCacheEnable = 0x600 |
| const TUint KSoDnsCacheFlush = 0x601 |
| const TUint KSoFlowClosing = 0x600 | KSocketInternalOptionBit |
Internal flow option called when the flow is about to be closed.
This option is only for the outbound flow hooks, which are attached to the TCIP/IP stack. The stack generates a call, just before the flow context associated with service access point (SAP) provider is about to be closed. If a hook has stored some socket specific state information into the flow context, then this option event may be of some use to it.
| const TUint KSoHeaderIncluded = 0x403 |
Assume that the IP header is included in all data written by the client.
KSoRawMode must be set before this is allowed.
Option data type is TInt. Values are: 0. Disable; 1. Enable
The default is disabled.
| const TInt KSoInetAddRoute = 0x223 |
Adds the specified route to the routing table.
Option data type is TSoInetRouteInfo. The interface is defined by the TSoInetRouteInfo::iIfAddr and must exist.
This option can only be used with RSocket::SetOpt().
| const TInt KSoInetCachedRouteByDest = 0x225 |
| const TUint KSoInetChangeInterface = 0x215 |
Configure the interface details, if it exists.
Option data type is TSoInet6InterfaceInfo.
The interface is specified by setting the TSoInetInterfaceInfo::iName,
| const TInt KSoInetChangeRoute = 0x225 |
Modifies the specified route in the routing table.
The destination, netmask and gateway settings must be the same in the new route as in the old.
Option data type is TSoInetRouteInfo. The interface is defined by the TSoInetRouteInfo::iIfAddr and must exist.
This option can only be used with RSocket::SetOpt().
| const TInt KSoInetConfigInterface = 0x213 |
Configures the interface.
This option is for use with RSocket::SetOpt() only.
Option data type is TSoInet6InterfaceInfo.
The interface is specified by setting the TSoInetInterfaceInfo::iName,
| const TUint KSoInetCreateIPv4LLOnInterface = 0x226 |
Trigger link local creation.
Option data type is TSoInet6InterfaceInfo.
The interface is specified by setting the TSoInetInterfaceInfo::iName and any state change required. Called by a configuration deamon to trigger IPv4 zeroconf and link local creation if no address server is found. Does nothing if EV4LLConfigDaemonControlled option is not specified for interface.
| const TUint KSoInetDeleteInterface = 0x214 |
Deletes the interface.
This option is for use with RSocket::SetOpt() only.
Option data type is TSoInet6InterfaceInfo.
The interface is specified by setting the TSoInetInterfaceInfo::iName,
| const TInt KSoInetDeleteRoute = 0x224 |
Deletes the specified route from the routing table.
The route is identified by destination, netmask and gateway, These must exactly match the old route to be deleted.
Option data type is TSoInetRouteInfo. The interface is defined by the TSoInetRouteInfo::iIfAddr and must exist.
This option can only be used with RSocket::SetOpt().
| const TInt KSoInetEnumInterfaces = 0x211 |
Begin enumeration of network interfaces.
This option should be set before enumerating interfaces with KSoInetNextInterface.
This option is for use with RSocket::SetOpt() only.
| const TInt KSoInetEnumRoutes = 0x221 |
Begin enumeration of routes.
This option can only be used with RSocket::SetOpt().
This option should be set before enumerating routes with KSoInetNextRoute.
| const TUint KSoInetIfQueryByDstAddr = 0x1 |
Get information for the interface specified by the destination address (iDstAddr) field of the passed packaged TSoInetIfQuery.
This allows the caller to find out what interface would be used (without invoking a dial-up process) for the specified destination. A path for this destination is open, if GetOpt() returns KErrNone, iSrcAddr is not KAFUnspec, and iIsUp == 1.
| const TUint KSoInetIfQueryByIndex = 0x3 |
Get information for the interface specified by the Interface Index (iIndex) field of the passed packaged TSoInetIfQuery.
| const TUint KSoInetIfQueryByName = 0x4 |
Get information for the interface specified by the Interface Name (iName) field of the passed packaged TSoInetIfQuery.
| const TUint KSoInetIfQueryBySrcAddr = 0x2 |
Get information for the interface specified by the source address (iSrcAddr) field of the passed packaged TSoInetIfQuery.
If there are multiple interfaces with the same source address, then the first matching interface is returned.
| const TUint KSoInetLastError = 0x200 |
Retrieve last error information.
This option is for use with GetOpt() only.
Option data type is TSoInetLastErr.
| const TInt KSoInetNextInterface = 0x212 |
Return details of the next interface in an enumeration started by setting the option KSoInetEnumInterfaces.
This option is for use with RSocket::GetOpt() only.
Option data type is TSoInetInterfaceInfo.
| const TInt KSoInetNextRoute = 0x222 |
Return the next route in an enumeration started by setting the option KSoInetEnumRoutes.
Option data type is TSoInetRouteInfo.
This option can only be used with RSocket::GetOpt().
| const TUint KSoInetResetInterface = 0x216 |
Resets interface to initial state.
Delete all configuration (routes and addresses) from the interface. Any sockets (flows) currently using this interface, are set to holding state (KSoNoInterfaceError is not required).
The interface reconfigures, if the NIF driver calls CProtocolBase::StartSending(), or if KSoInetStartInterface socket option is used.
Option data type is TSoInet6InterfaceInfo.
The interface is specified by setting the TSoInetInterfaceInfo::iName, No other fields are used.
| const TUint KSoInetStartInterface = 0x217 |
Restart interface, auto-reconfigure.
Option data type is TSoInet6InterfaceInfo.
The interface is specified by setting the TSoInetInterfaceInfo::iName, No other fields are used. The selected interface is autoconfigured using the information supplied by the attached network driver.
Should normally only be called after KSoInetResetInterface.
| const TUint KSoInterfaceIndex = 0x409 |
Set or get interface index of the socket.
Gets the current interface index of the socket. Returns the value used in the last set.
If interface index has not been set by this option, then value is determined as follows:
Option data type is TUint32.
| const TUint KSoIp6InterfaceUnicastHops = 0x46f |
Hop limit for outgoing datagrams: similar to KSoIp6UnicastHops except any socket option to override the current setting is ignored.
The value returned is either the value of the associated interface or the TCP/IP 6 stack default if no interface has been selected yet.
Option data type is TInt. Values are [0..255]. Value cannot be modified, only queried.
| const TUint KSoIp6JoinGroup = 0x46d |
| const TUint KSoIp6LeaveGroup = 0x46e |
| const TUint KSoIp6MulticastHops = 0x46b |
| const TUint KSoIp6MulticastIf = 0x46a |
| const TUint KSoIp6MulticastLoop = 0x46c |
Enable/disable loopback of the multicast packets.
When enabled, multicast packets sent to this socket are internally looped back (in addition to sending them onto the interface). Another or same application listening the group and port, receives copies of the transmitted packets.
When disabled, an application on this host listening the same group and port, does not receive multicast packets originating from this socket (unless the interface or link echoes them back to the TCP/IP stack).
Option data type is TInt. Values are 1=enable; 0=disable. The default is 1.
| const TUint KSoIp6UnicastHops = 0x465 |
Hop limit for outgoing datagrams: same as KSoIpTTL.
Option data type is TInt. Values are [-1,,255]. The -1 resets to the configured default value.
| const TUint KSoIpOptions = 0x401 |
| const TUint KSoIpTOS = 0x404 |
Type of Service field of outgoing datagrams.
For IPv6, there is no Type of Service field, so this option sets the Traffic Class.
Option data type is TInt. Values are 0-255. Because Explicit Congestion Notification [RFC3168] uses bits 6 & 7 in the IP field, modifying the two least significant bits is not allowed with TCP. SetOpt processing silently ignores any modifications on these bits when using TCP socket.
The default value is 0.
| const TUint KSoIpTTL = 0x405 |
Time to Live field of outgoing datagrams.
This is same as KSoIp6UnicastHops.
Option data type is TInt. Values are [-1,,255]. The -1 resets to the configured default value.
There are separate configured default values for the link local and other destinations. Both defaults can be configured by the TCPIP.INI parameters maxttl and linklocalttl, The compiled defaults are #KTcpipIni_Maxttl and #KTcpipIni_LinkLocalttl.
| const TUint KSoKeepInterfaceUp = 0x40a |
Controls whether the interface flow counter is affected by this socket.
This counter is used in determining when the interface can be brought down.
Option data type is TInt. Values are: 0=Don't count, 1= count flow against interface flow count.
The default can be changed by the TCPIP.INI parameter keepinterfaceup, and the compiled default is #KTcpipIni_KeepInterfaceUp.
| const TUint KSolInetDnsCtrl = 0x204 |
| const TUint KSolInetIcmp = 0x101 |
| const TUint KSolInetIfCtrl = 0x201 |
| const TUint KSolInetIfQuery = 0x206 |
| const TUint KSolInetRtCtrl = 0x202 |
| const TUint KSoNoInterfaceError = 0x407 |
Do not set socket into error state if currently connected interface reports an error.
For example, this could be enabled for a unconnected datagram socket. Unconnected datagram sockets are connected to the interface of the last sent packet. If multiple interfaces are present, erroring the socket might not be the desired action if just one interface gives an error.
Another use case would be a connected socket (TCP), which does not get error even if interface goes down, and comes up with the same source address after a while.
Option data type is TInt. Values are: 0 = Disable, 1 = Enable.
The default can be changed by the TCPIP.INI parameter noiferror, and the compiled default is #KTcpipIni_Noiferror..
| const TUint KSoNoSourceAddressSelect = 0x40b |
| const TUint KSoRawMode = 0x402 |
Include IP header in data returned to client.
IPv4 packets are returned as is with all headers in network byte order (until v7.0, this returned IPv4 headers in host order). See TInet6HeaderIP4 and TInet6HeaderIP for the header layout.
The default is disabled.
Option data type is TInt. Values are: 0 = Disable, 1 = Enable.
| const TUint KSoReuseAddr = 0x406 |
| const TUint KSoTcpAsync2MslWait = 0x306 |
If address reuse is allowed, and a connection already exists between the requested local and remote addresses, wait for the address to become available.
The default is disabled.
Option data type is TInt.
Values are: 0 = Disable, 1 = Enable.
| const TUint KSOTcpDebugMode = 0x11110000 |
| const TUint KSoTcpKeepAlive = 0x305 |
| const TUint KSoTcpListening = 0x309 |
The socket has been set to listen (through RSocket::Listen()).
Option data type is TInt.
Values are: 0. Not listening, 1. Listening
This option can only be used with RSocket::GetOpt(), not RSocket::SetOpt().
| const TUint KSoTcpMaxSegSize = 0x303 |
| const TUint KSoTcpNextSendUrgentData = 0x314 |
| const TUint KSoTcpNoDelay = 0x304 |
| const TUint KSoTcpNumSockets = 0x310 |
The number of current TCP sockets.
Option data type is TInt.
This option can only be used with RSocket::GetOpt(), not RSocket::SetOpt().
| const TUint KSoTcpOobInline = 0x315 |
| const TUint KSoTcpPeekUrgentData = 0x312 |
Peeks for urgent data.
The behaviour is the same as KSoTcpReadUrgentData, but the urgent data is not removed.
Option data type is TInt.
This option can only be used with RSocket::GetOpt(), not RSocket::SetOpt().
| const TUint KSoTcpRcvAtMark = 0x313 |
True if the data stream has been read up to the point where urgent data is available, otherwise false.
Option data type is TInt.
This option can only be used with RSocket::GetOpt(), not RSocket::SetOpt().
| const TUint KSoTcpReadBytesPending = 0x308 |
The number of bytes currently available for reading (the same value as is obtained using KSOReadBytesPending).
Option data type is TInt.
This option can only be used with RSocket::GetOpt(), not RSocket::SetOpt().
| const TUint KSoTcpReadUrgentData = 0x311 |
Read out-of-band urgent data.
KErrNotFound is returned if there is no data waiting and no urgent data pointer has been received.
KErrWouldBlock is returned if and urgent is available but data needs to be read from the current stream to match the urgent data mark.
Option data type is TInt.
This option can only be used with RSocket::GetOpt(), not RSocket::SetOpt().
| const TUint KSoTcpRecvWinSize = 0x302 |
| const TUint KSoTcpSendBytesPending = 0x307 |
The number of bytes currently queued for sending.
Option data type is TInt.
This option can only be used with RSocket::GetOpt(), not RSocket::SetOpt().
| const TUint KSoTcpSendWinSize = 0x301 |
| const TUint KSoUdpAddressSet = 0x502 |
Modifies address flag of UDP.
Flag is used to control whether the socket is bound to IP address or not. Binding to specific address and then clearing this flag makes possible to receive packets sent to broadcast address but still to have a specific bound address for outgoing packets.
| const TUint KSoUdpReceiveICMPError = 0x500 |
| const TUint KSoUdpSynchronousSend = 0x560 |
| const TUint KSoUserSocket = 0x408 |
Modify socket visibility.
Background internet services that have sockets open count as active user and prevents the TCPIP from shutting down. By this socket option, such a process can make selected sockets to be excluded from the count.
Option data type is TInt. By setting the value to 0, the socket is not counted as active user. The value 1 makes it visible again.
The option has no effect if the visibility state already matches the parameter.
By default, all sockets are initially visible.