added qse_initnwadwithip4ad(), qse_initnwadwithip6ad()

added SocketAddress::ipaddrToStrBuf()
This commit is contained in:
2018-10-31 08:19:59 +00:00
parent 7143a8ec8e
commit b01cf731ca
4 changed files with 87 additions and 0 deletions

View File

@ -300,6 +300,54 @@ qse_mchar_t* SocketAddress::toStrBuf (qse_mchar_t* buf, qse_size_t len) const QS
return buf;
}
qse_mchar_t* SocketAddress::ip4addrToStrBuf (const qse_ip4ad_t* ipaddr, qse_mchar_t* buf, qse_size_t len)
{
qse_nwad_t nwad;
qse_initnwadwithip4ad (&nwad, 0, ipaddr);
qse_nwadtombs (&nwad, buf, len, QSE_NWADTOMBS_ALL);
return buf;
}
qse_mchar_t* SocketAddress::ip4addrToStrBuf (qse_uint32_t ipaddr, qse_mchar_t* buf, qse_size_t len)
{
qse_nwad_t nwad;
qse_initnwadwithip4ad (&nwad, 0, (qse_ip4ad_t*)&ipaddr);
qse_nwadtombs (&nwad, buf, len, QSE_NWADTOMBS_ALL);
return buf;
}
qse_mchar_t* SocketAddress::ip6addrToStrBuf (const qse_ip6ad_t* ipaddr, qse_mchar_t* buf, qse_size_t len)
{
qse_nwad_t nwad;
qse_initnwadwithip6ad (&nwad, 0, ipaddr, 0);
qse_nwadtombs (&nwad, buf, len, QSE_NWADTOMBS_ALL);
return buf;
}
qse_wchar_t* SocketAddress::ip4addrToStrBuf (const qse_ip4ad_t* ipaddr, qse_wchar_t* buf, qse_size_t len)
{
qse_nwad_t nwad;
qse_initnwadwithip4ad (&nwad, 0, ipaddr);
qse_nwadtowcs (&nwad, buf, len, QSE_NWADTOWCS_ALL);
return buf;
}
qse_wchar_t* SocketAddress::ip4addrToStrBuf (qse_uint32_t ipaddr, qse_wchar_t* buf, qse_size_t len)
{
qse_nwad_t nwad;
qse_initnwadwithip4ad (&nwad, 0, (qse_ip4ad_t*)&ipaddr);
qse_nwadtowcs (&nwad, buf, len, QSE_NWADTOWCS_ALL);
return buf;
}
qse_wchar_t* SocketAddress::ip6addrToStrBuf (const qse_ip6ad_t* ipaddr, qse_wchar_t* buf, qse_size_t len)
{
qse_nwad_t nwad;
qse_initnwadwithip6ad (&nwad, 0, ipaddr, 0);
qse_nwadtowcs (&nwad, buf, len, QSE_NWADTOWCS_ALL);
return buf;
}
/////////////////////////////////
QSE_END_NAMESPACE(QSE)
/////////////////////////////////

View File

@ -34,6 +34,24 @@
#include "../cmn/mem-prv.h"
void qse_initnwadwithip4ad (qse_nwad_t* nwad, qse_uint16_t port, const qse_ip4ad_t* ipad)
{
QSE_MEMSET (nwad, 0, QSE_SIZEOF(*nwad));
nwad->type = QSE_NWAD_IN4;
nwad->u.in4.port = port;
nwad->u.in4.addr = *ipad;
};
void qse_initnwadwithip6ad (qse_nwad_t* nwad, qse_uint16_t port, const qse_ip6ad_t* ipad, qse_uint32_t scopeid)
{
QSE_MEMSET (nwad, 0, QSE_SIZEOF(*nwad));
nwad->type = QSE_NWAD_IN6;
nwad->u.in6.port = port;
nwad->u.in6.addr = *ipad;
nwad->u.in6.scope = scopeid;
}
int qse_nwadequal (const qse_nwad_t* x, const qse_nwad_t* y)
{
if (x->type != y->type) return 0;