Exemple #1
0
u_result SocketAddress::setAddressFromString(const char * address_string,  SocketAddress::address_type_t type)
{
    int ans = 0;
    int prevPort = getPort();
    switch (type) {
        case ADDRESS_TYPE_INET:
            reinterpret_cast<sockaddr_storage *>(_platform_data)->ss_family = AF_INET;
            ans = _inet_pton(AF_INET, 
                            address_string, 
                            &reinterpret_cast<sockaddr_in *>(_platform_data)->sin_addr);
        break;


        case ADDRESS_TYPE_INET6:
            
            reinterpret_cast<sockaddr_storage *>(_platform_data)->ss_family = AF_INET6;
            ans = _inet_pton(AF_INET6, 
                            address_string, 
                            &reinterpret_cast<sockaddr_in6  *>(_platform_data)->sin6_addr);
        break;

        default:
            return RESULT_INVALID_DATA;

    }
    setPort(prevPort);

    return ans<=0?RESULT_INVALID_DATA:RESULT_OK;
}
Exemple #2
0
bool CAddress::FromString(const std::string& Str)
{
	if(Str.find(".") != string::npos)
		m_eAF = IPv4;
	else if(Str.find(":") != string::npos)
		m_eAF = IPv6;
	else
		return false;
	return _inet_pton(AF(), Str.c_str(), m_IP) == 1;
}
Exemple #3
0
		address_v6(const std::string& str) 
		{
			len_ = size();
			_inet_pton(AF_INET6, str.c_str(), &ip_[0]);
		}
Exemple #4
0
gboolean
ws_inet_pton6(const gchar *src, struct e_in6_addr *dst)
{
    return _inet_pton(AF_INET6, src, dst);
}
Exemple #5
0
gboolean
ws_inet_pton4(const gchar *src, guint32 *dst)
{
    return _inet_pton(AF_INET, src, dst);
}