本文整理汇总了C++中TInetAddr::Family方法的典型用法代码示例。如果您正苦于以下问题:C++ TInetAddr::Family方法的具体用法?C++ TInetAddr::Family怎么用?C++ TInetAddr::Family使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TInetAddr
的用法示例。
在下文中一共展示了TInetAddr::Family方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Bind
int CTcpSock::Bind(TInetAddr &ia)
{
TInt ret;
ret = iSocket.Open(ts->cts->iSockServer->iSocketServer, ia.Family(),
KSockStream, KProtocolInetTcp);
if (KErrNone != ret) {
DEBUG_WARNING("bind: Open (ret=%d)\n", ret);
goto error;
}
ret = iSocket.SetOpt(KSoReuseAddr, KSolInetIp, 1);
if (KErrNone != ret) {
DEBUG_WARNING("SetOpt ReuseAddr: ret=%d\n", ret);
}
ret = iSocket.Bind(ia);
if (KErrNone != ret) {
DEBUG_WARNING("bind: Bind (ret=%d)\n", ret);
goto error;
}
error:
return kerr2errno(ret);
}
示例2: Open
int CTcpConn::Open(TInetAddr &ia)
{
TInt ret;
if (rconnection) {
DEBUG_INFO("TCP Socket Open: Using RConnection=%p\n",
rconnection);
ret = iSocket.Open(iSockServer->iSocketServer, ia.Family(),
KSockStream, KProtocolInetTcp,
*rconnection);
}
else {
ret = iSocket.Open(iSockServer->iSocketServer, ia.Family(),
KSockStream, KProtocolInetTcp);
}
return kerr2errno(ret);
}
示例3: qt_QHostAddressFromTInetAddr
QHostAddress qt_QHostAddressFromTInetAddr(const TInetAddr& addr)
{
if (addr.IsV4Mapped() || addr.Family() == KAfInet) {
//convert v4 host address
return QHostAddress(addr.Address());
} else {
//convert v6 host address
return QHostAddress((quint8 *)(addr.Ip6Address().u.iAddr8));
}
}
示例4: qt_QHostAddressFromTInetAddr
//TODO: share this, at least QHostInfo needs to do the same thing
static QHostAddress qt_QHostAddressFromTInetAddr(const TInetAddr& addr)
{
//TODO: do we want to call v4 mapped addresses v4 or v6 outside of this file?
if (addr.IsV4Mapped() || addr.Family() == KAfInet) {
//convert v4 host address
return QHostAddress(addr.Address());
} else {
//convert v6 host address
return QHostAddress((quint8 *)(addr.Ip6Address().u.iAddr8));
}
}
示例5: SetAddr
// -----------------------------------------------------------------------------
// CLocalAddrResolver::SetAddr
// -----------------------------------------------------------------------------
//
void CLocalAddrResolver::SetAddr( TInetAddr& aTarget, TInetAddr& aSource )
{
if ( aSource.Family() == KAfInet6 )
{
if(!aSource.IsLinkLocal())
{
aTarget = aSource;
aTarget.SetScope(0);
}
}
else
{
aTarget = aSource;
aTarget.SetScope(0);
}
}
示例6: ILibSocketWrapper_getsockname
int ILibSocketWrapper_getsockname(int socketObject, struct sockaddr* local, int* length)
{
struct sockaddr_in* localAddr = (struct sockaddr_in*)local;
RSocket *s = (RSocket*)SocketArray[socketObject];
TInetAddr sockAddr;
// get the local name
s->LocalName(sockAddr);
// convert from Symbian
localAddr->sin_family = sockAddr.Family();
localAddr->sin_port = sockAddr.Port();
localAddr->sin_addr.s_addr = ntohl(sockAddr.Address());
return 0;
}
示例7: FetchCandidateL
// ---------------------------------------------------------------------------
// CNATFWStunConnectionHandler::FetchCandidateL
// ---------------------------------------------------------------------------
//
void CNATFWStunConnectionHandler::FetchCandidateL( TUint aStreamId,
TUint /*aRtoValue*/, TUint /*aAddrFamily*/,
const TInetAddr& aBaseAddr )
{
__STUNPLUGIN( "CNATFWStunConnectionHandler::FetchCandidateL start" )
// Store data in array
TStreamData streamData;
streamData.iStreamId = aStreamId;
CNATFWCandidate* newCandidate = CNATFWCandidate::NewLC();
TInetAddr publicAddr;
if ( KAfInet6 == aBaseAddr.Family() )
{
const TIp6Addr KIp6Addr = {{{1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,1}}};
publicAddr.SetAddress( KIp6Addr );
}
else
{
publicAddr.SetAddress( INET_ADDR( 1,2,3,4 ) );
}
// Set candidate parameters
newCandidate->SetStreamId( aStreamId );
newCandidate->SetType( CNATFWCandidate::EServerReflexive );
newCandidate->SetTransportAddrL( publicAddr );
newCandidate->SetTransportProtocol( KProtocolInetUdp );
TConnectionData connData;
connData.iLocalCandidate = newCandidate;
streamData.iConnArray.AppendL( connData );
iStreamArray.AppendL( streamData );
TCallBackCmd cmd
= TCallBackCmd( aStreamId, EFetchCandidate, 0, newCandidate );
iCallBackCmds.AppendL( cmd );
CleanupStack::Pop( newCandidate );
if ( !IsActive() )
{
After( KWaitTime );
}
// wait MNcmConnectionObserver::ConnectionNotify
__STUNPLUGIN( "CNATFWStunConnectionHandler::FetchCandidateL end" )
}
示例8: Connect
int CPjSSLSocket::Connect(CPjSSLSocket_cb cb, void *key,
const TInetAddr &local_addr,
const TInetAddr &rem_addr,
const TDesC8 &servername,
const TDesC8 &ciphers)
{
pj_status_t status;
PJ_ASSERT_RETURN(state_ == SSL_STATE_NULL, PJ_EINVALIDOP);
status = pj_sock_socket(rem_addr.Family(), pj_SOCK_STREAM(), 0, &sock_);
if (status != PJ_SUCCESS)
return status;
// Apply QoS
status = pj_sock_apply_qos2(sock_, qos_type_, &qos_params_,
2, THIS_FILE, NULL);
RSocket &rSock = ((CPjSocket*)sock_)->Socket();
local_addr_ = local_addr;
if (!local_addr_.IsUnspecified()) {
TInt err = rSock.Bind(local_addr_);
if (err != KErrNone)
return PJ_RETURN_OS_ERROR(err);
}
cb_ = cb;
key_ = key;
rem_addr_ = rem_addr;
/* Note: the following members only keep the pointer, not the data */
servername_.Set(servername);
ciphers_.Set(ciphers);
rSock.Connect(rem_addr_, iStatus);
SetActive();
state_ = SSL_STATE_CONNECTING;
rSock.LocalName(local_addr_);
return PJ_EPENDING;
}
示例9: SetAddressesIfNotSet
// -----------------------------------------------------------------------------
// CMceLocalAddrResolver::SetAddressesIfNotSet
// -----------------------------------------------------------------------------
//
void CMceLocalAddrResolver::SetAddressesIfNotSet( const TInetAddr& aAddr )
{
if ( aAddr.Family() == KAfInet )
{
if ( iAddr.IsUnspecified() )
{
iAddr = aAddr;
}
iIPv4Addr = aAddr;
}
else
{
iAddr = aAddr;
}
if ( iIPv4Addr.IsUnspecified() && iAddr.IsV4Mapped() )
{
iIPv4Addr = iAddr;
iIPv4Addr.ConvertToV4();
}
}
示例10: BuildUdpEncExtensionData
// ---------------------------------------------------------------------------
// This static method builds a generic PFKEY API extension data for IPSEC.
// This data contains all parameters needed by the IPSEC to do UDP
// encapsulation/decpsulation for ESP packet. Generic extension data format is
// LID format begining with four bytes extension header. Extension header
// consists two bytes extension length and two bytes extension ID. LID format
// consists from one byte length, one byte ID and parameter data.
// Buffer format: HL,HID,LID,LID,...LID
// Generic extension data buffer handling macros are defined in pfkeyext.h
// (common macros with IPSEC)
// ---------------------------------------------------------------------------
//
EXPORT_C void PFKeyExtDataUtil::BuildUdpEncExtensionData( TDes8& aExtData,
TUint32 aNAT_D_Flags,
TBool aNATDetected,
TBool aNokiaNATProbeUsed,
TUint16 aUdpEncapsPort,
TUint16 aKeepAliveTimeout,
const TInetAddr& aDestinAddr,
const TInetAddr& aOriginalAddr )
{
if ( aNAT_D_Flags )
{
aUdpEncapsPort = FLOATED_IKE_PORT; // for IETF specified ESP UDP encapsulation
if ( ( aNAT_D_Flags & LOCAL_END_NAT ) == 0 )
{
aKeepAliveTimeout = 0; // Local end is not behind NAT, no keepalive needed
}
}
else
{
//
// Nokia specific NAT traversal info (=ESP UDP tunneling)
// If aNATDetected is true connection is over NAT:ted
// network (=local end behind NAT). UDP encapsulation shall
// then be done using configured port iEspUdpPort. If that
// value is undefined default port 9872 shall be used then.
// If aNATDetected is false and aNokiaNATProbeUsed is true
// the NAT probe procedure has confirmed that there is no
// NAT device between. ESP UDP encapsulation port is zeroed
// then to avoid unnecessary ESP UDP encapsulation.
// If aNokiaNATProbeUsed is false ESP UDP encapsulation is done
// without probing, if any aUdpEncapsPort is defined
//
if ( !aNATDetected && aNokiaNATProbeUsed )
{
aUdpEncapsPort = 0;
}
}
if ( aUdpEncapsPort == 0 )
{
aExtData.SetLength(0); // No extension data needed
return;
}
TPfkeyGenExtension NatExtension( aExtData, ESP_UDP_ENCAPSULATION_EXT );
NatExtension.StoreParameter( UDP_ENCAPSULATION_PORT,
2,
(TUint8*)&aUdpEncapsPort );
if ( aKeepAliveTimeout )
{
NatExtension.StoreParameter( NAT_KEEPALIVE_TIMEOUT,
2,
(TUint8*)&aKeepAliveTimeout );
}
if ( aNAT_D_Flags & REMOTE_END_NAT )
{
NatExtension.StoreParameter( DESTINATION_ADDRESS,
sizeof(TInetAddr),
(TUint8*)&aDestinAddr );
}
if ( aOriginalAddr.Family() != KAFUnspec )
{
NatExtension.StoreParameter( PEER_ORIGINAL_ADDRESS,
sizeof(TInetAddr),
(TUint8*)&aOriginalAddr );
}
}