Example #1
0
void CWin32Socket::SendTo(TWin32Message& aMessage)
	{
	__ASSERT_DEBUG((iSendMessage == NULL) && (iBytesSent == 0), Panic(EWinSockPrtCWin32SocketMultipleSendToRequests));
	iSendMessage = &aMessage;
	WSP_LOG(WspLog::Printf(_L("CWin32Socket::SendTo: this: 0x%x, bytes to send: %d"), this, iSendMessage->ReadBuffer().Length()));
	TPtrC8 bufPtr(iSendMessage->ReadBuffer());
	iSendBuffer.buf = reinterpret_cast<char*>(const_cast<TUint8*>(bufPtr.Ptr()));
	iSendBuffer.len = bufPtr.Length();
	iSendOverlapped.hEvent = (void*) this;
	TInetAddr address;
	address.Copy(iSendMessage->WriteBuffer());
	SOCKADDR_IN winSockAddress;
	ConvertAddress(address, winSockAddress);
	DWORD numberOfBytesSent;
	TInt ret = WSASendTo(iSocket, &iSendBuffer, 1, &numberOfBytesSent, 0, (LPSOCKADDR)&winSockAddress, sizeof(struct sockaddr_in), &iSendOverlapped, &SendToCompletion);
	if (ret == SOCKET_ERROR)
		{
		TInt err = WSAGetLastError();
		if (err != WSA_IO_PENDING)
			{
			WSP_LOG(WspLog::Printf(_L("\tsocket error: %d"), err));
			Complete(iSendMessage, MapWinSockError(err));
			}
		}
	}
void CEtelContextNotificationRequest::PrintContextConfig(
    const TContextConfig& aContextConfig)
    {
    LOG(Log::Printf(_L("** Context config data **")));

    RPacketContext::TContextConfigGPRS tempConfig;

    aContextConfig.GetContextConfig(tempConfig);

    RPacketContext::TProtocolAddress pdpAddress;
    aContextConfig.GetPdpAddress(pdpAddress);

    TInetAddr pdpAddr;
    pdpAddr.Copy(pdpAddress);

    TBuf<RPacketContext::KMaxPDPAddressLength> outBuf;
    pdpAddr.Output(outBuf);

    switch(tempConfig.iPdpType)
        {
        case RPacketContext::EPdpTypeIPv4:
            {
            LOG(Log::Printf(_L("\tPdpType: IPv4")));
            break;
            }
        case RPacketContext::EPdpTypeIPv6:
            {
            LOG(Log::Printf(_L("\tPdpType: IPv6")));
            break;
            }
        case RPacketContext::EPdpTypeX25:
            {
            LOG(Log::Printf(_L("\tPdpType: X25")));
            break;
            }
        default:
            {
            LOG(Log::Printf(_L("\tPdpType: UNRECOGNIZED")));
            break;
            }
        }

    LOG(Log::Printf(_L8("\tAccess Point Name: <%s>"), 
        tempConfig.iAccessPointName.PtrZ()));
    LOG(Log::Printf(_L("\tPdpAddress: <%s>"), 
        outBuf.PtrZ()));

    if((tempConfig.iPdpCompression == RPacketContext::KPdpDataCompression) &&
       (tempConfig.iPdpCompression == RPacketContext::KPdpHeaderCompression))
        {
        LOG(Log::Printf(_L("\tCompression: Header+Data")));
        }
    else if((tempConfig.iPdpCompression == 
        RPacketContext::KPdpDataCompression))
        {
        LOG(Log::Printf(_L("\tCompression: Data")));
        }
    else if((tempConfig.iPdpCompression == 
        RPacketContext::KPdpHeaderCompression))
        {
        LOG(Log::Printf(_L("\tCompression: Header")));
        }
    else if(tempConfig.iPdpCompression == 0)
        {
        LOG(Log::Printf(_L("\tCompression: None")));
        }
    else
        {
        LOG(Log::Printf(_L("\tCompression: UNRECOGNIZED")));
        }

    switch(tempConfig.iAnonymousAccessReqd)
        {
        case RPacketContext::ENotApplicable:
            {
            LOG(Log::Printf(
                _L("\tAnonymous access required: ENotApplicable")));
            break;
            }
        case RPacketContext::ERequired:
            {
            LOG(Log::Printf(_L("\tAnonymous access required: ERequired")));
            break;
            }
        case RPacketContext::ENotRequired:
            {
            LOG(Log::Printf(
                _L("\tAnonymous access required: ENotRequired")));
            break;
            }
        default:
            {
            LOG(Log::Printf(
                _L("\tAnonymous access required: UNRECOGNIZED")));
            break;
            }
        }
    }