#include "Konwersja.h"

CString CKonwersja::IPToName(CString ip)
{
	CString wynik;
	struct in_addr addr;

	WSADATA wsaData;
	WORD wersja = MAKEWORD( 2, 0 );
	int blad = WSAStartup(wersja, &wsaData );
	if(blad != 0)
	{
		MessageBox(0,L"Błąd wczytywania biblioteki gniazda",L"",MB_OK);
	}

	char szAddr[16] = {'\0'};
	wcstombs(szAddr,ip,15);

	addr.s_addr = inet_addr(szAddr);
	hostent* pInfoKomputer=gethostbyaddr((char *) &addr, 4, AF_INET);
	
	wchar_t wName[128] = {'\0'};
	mbstowcs(wName,pInfoKomputer->h_name,127);

	wynik.AppendFormat(L"%s", wName);

	return wynik;
}

CString CKonwersja::NameToIP(CString name)
{

	CString wynik;
	struct in_addr addr;

	WSADATA wsaData;
	WORD wersja = MAKEWORD( 2, 0 );
	int blad = WSAStartup(wersja, &wsaData );
	if(blad != 0)
	{
		MessageBox(0,L"Błąd wczytywania biblioteki gniazda",L"",MB_OK);
	}

	char szName[128] = {'\0'};
	wcstombs(szName,name,127);

	hostent* pInfoKomputer = gethostbyname(szName);

	addr.s_addr = *(u_long *) pInfoKomputer->h_addr_list[0];
	char * adres = inet_ntoa(addr);

	wchar_t wAdres[16] = {'\0'};
	mbstowcs(wAdres,adres,1024);
	wynik.AppendFormat(L"%s",wAdres);

	return wynik;
}