TSoInetIfQuery Class Reference

#include <in_sock.h>

class TSoInetIfQuery

Detailed Description

Interface query.

Used with interface query options: Only GetOption for KSolInetIfQuery is supported. It returns information about the selected interface. The option name determines the input field in the TSoInetIfQuery, which is used as a key for locating the interface.

Returns, KErrNotFound, if interface is not found

Returns, KErrNone, if interface is located, and fills fields from the interface with following logic

  • iDstAddr: not touched, left as is

  • iSrcAddr is result of the Select Source Address algorithm for the interface using the iDstAddr as input. If there is no valid source address, the value will be KAFUnspec.

  • iIndex is loaded with the interface index of the interface

  • iName is loaded from the name of the interface

  • iIsUp is set 1, if interface has CNifIfBase pointer attached, and 0 otherwise.

For example, if QueryByDstAddr for specified destination address results iIsUp == 1, then there is an interface and route for that destination. iIsUp == 0, means that trying to connect to the address will most likely activate a netdial/interface link startup phase.

Member Attribute Documentation

iDstAddr

TInetAddr iDstAddr
Destination address.
  • input: If the option is KSoInetIfQueryByDstAddr, select interface by finding a route for this address; otherwise, ignored.

  • output: not changed.

Note:

On returning interface information, regardless of the option used, the content of this is used to select a matching source address (iSrcAddr).

iIndex

TUint32 iIndex

Interface Index.

  • input: If the option is KSoInetIfQueryByIndex, select interface by this interface index; otherwise, ignored.

  • output: The interface index the located interface. (always same as iZone[0] in 7.0s).

iIsUp

TUint iIsUp
Flag that is set to 1 if the network interface is attached.
  • input: ignored

  • output: set as indicated.

iName

TName iName
Interface name.
  • input: If the option is KSoInetIfQueryByName, select interface by this name; otherwise, ignored.

  • output: The name of the located interface.

iSrcAddr

TInetAddr iSrcAddr
Source address.
  • input: If the option is KSoInetIfQueryBySrcAddr, select interface by source address; otherwise, ignored.

  • output: The result of the source address selection algorithm based on the content of the iDstAddr.

iZone

Scope Id Vector (iZone[0] = Interface Index, iZone[1] = IAP ID, iZone[15] = Network ID).
  • input: ignored

  • output: The scope id vector
    Since
    7.0s