Alternativni UNIX systemy - BSD

Ing. Pavel PaJaSoft Janoušek PaJaSoft na FoNet.Cz
Pondělí Leden 15 09:40:14 CET 2007


Dalibor Straka <mailto:dast na panelnet.cz> wrote:
> Ne, protokol jasne specifikuje jakou endianitu mit musi.
> 	All integer members in messages are encoded as a 4-byte
> big-endian
> 	number.

	No protokol možná jo, ale tak buď použij SDK k tomu protokolu (který
Ti tu zprávu pro aktuálně běžící HW platformu sám rozkóduje), které si má
ruznorodost HW architektur ošéfovat samo nebo se nemůžeš spolehnout na nic a
poskládat si to zcela sám... - on opravdu neexistuje v jazyce C datový typ s
přesně definovanou šířkou slova 32 bitů. Pokud se domníváš, že je to int,
tak tě ubezpečuji, že je to ten nejvariabilnější datový typ v C co
znám...:-)

> Aha, to me zajima. Nekde nemusi byt uint32_t? Ze sitovych paketu ctu

	Samozřejmě...! uint32_t je user defined datový typ, který s normou
jazyka (pokud do toho nezahrnujeme i základní množinu funkcí, maker atd.)
nemá naprosto nic společného.

> pomoci ntohl(). Pri nejhorsim mohu kdykoliv nahradit prave
> ntohl a htonl
> svymi vytvory ;-).

	To už jsi na dobré cestě... - projdi si veškeré konverzní funkce
okolo IP, protože na podobné nuance narazilo už spousta lidí před tebou a
proto jsou tyto konverze ve specifikaci... (a tedy de-facto nromované a na
téměř všech architekturách podporované (případně emulované)).

-------------------------------------------------------------------
Ing. Pavel Janousek (PaJaSoft)             FoNet, spol. s r. o.
Technicka podpora, Intranet/Internet     Sokolova 67, 619 00 Brno
E-mail: mailto:Janousek na FoNet.Cz         Tel.: +420  5  4324 4749
WWW:    http://WWW.FoNet.Cz/           E-mail: mailto:Info na FoNet.Cz
-------------------------------------------------------------------  



Další informace o konferenci Linux