Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Konverzija tipova: IP Helper - Statičke rute

[es] :: C/C++ programiranje :: Konverzija tipova: IP Helper - Statičke rute

[ Pregleda: 2125 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

abraksas

Član broj: 14071
Poruke: 43
194.247.208.*



Profil

icon Konverzija tipova: IP Helper - Statičke rute18.12.2007. u 08:08 - pre 198 meseci
Pokušavam da napišem malu aplikaciju za Windows CE, koja bi trebala da "nadomesti" nedostatak -p parametra kod route komande u WinCe-u.
Kad god uređaj ode u Suspend mode, statička ruta nestane iz tabele rutiranja.
Zamisao je da ovaj programčić u određenom vremenskom intervalu proverava da li potrebna ruta postoji, pa ako ne postoji da je doda.
Za dodavanje rute na raspolaganju je IP Helper funkcija CreateIpForwardEntry. Parametry structure s kojom ova funkcija radi zahtevaju da se IP adrese odredišta, subnet maske i gateway-a unesu u host order formatu, tj. u hex reprezentaciji obrnutog redosleda. Tako bi, npr. adresa 192.168.0.1 u ovoj reprezentaciji izgledala 192.168.0.1 -> 1.0.168.192 -> 0x0100A8C0.
Moj problem je da konvertujem ip iz tekstualnog formata (TCHAR [16]) u odredišni format.

Može pomoć?

Hvala unapred.
 
Odgovor na temu

mulaz
Ljubljana

Član broj: 47602
Poruke: 2239
212.235.186.*

Jabber: mulaz@elitesecurity.org
Sajt: www.mulaz.org


+184 Profil

icon Re: Konverzija tipova: IP Helper - Statičke rute18.12.2007. u 08:37 - pre 198 meseci
sigurno moze bolje.. ali mozes i tako:
imas recimo ip 192.168.0.1
citas ip od pocetka do prve tacke, prebrojis koliko char-a je (znaci 1 9 2 . ) (oduzmes 1 zbog tacke) i onda racunas. Recimo da je broj char-a (brojka) jednak n, onda racunas prvi_char*10^n + drugi char*10^(n-1) ... i prestanes kad je n manji od nula (znaci 10^0=1 je zadnja operacija koja se izbrsi)
i opet citas dalje brojke do sledece tacke

onda racunas zadnju hex vrednost, znaci prvi broj treba da pomeris za 6 hexadecimalnih mesta u levo, znaci 192*16^6 + 168*16^4 + 0*16^2 + 1*16^0 i dobijes oni vrednost dole (ako je ispises kao hex, znaci u printf ide %x ili %X, a mozes i direktno da radis sa tim brojem)
Bolje ispasti glup nego iz aviona
http://www.mulaz.org/
 
Odgovor na temu

[es] :: C/C++ programiranje :: Konverzija tipova: IP Helper - Statičke rute

[ Pregleda: 2125 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.