Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.programming > #2503
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Newsgroups | comp.programming |
| Subject | Re: little-endian |
| Date | 2012-11-18 21:33 +1300 |
| Message-ID | <agrkq0F2uveU3@mid.individual.net> (permalink) |
| References | (7 earlier) <agqab0F2uveU1@mid.individual.net> <7otfa8pfb07sn1ao039nlfc9cr351h2vtr@4ax.com> <k892t5$p77$1@news.albasani.net> <agquqgF2uveU2@mid.individual.net> <1d8xuw93lwnxy.14j0ojrkbbe4e$.dlg@40tude.net> |
On 11/18/12 21:13, Dmitry A. Kazakov wrote: > On Sun, 18 Nov 2012 15:17:51 +1300, Ian Collins wrote: > >> On 11/18/12 11:22, BGB wrote: >>>> Some more valid criticisms of the hton*/ntoh* functions are that they >>>> only support one byte order on the "network" side, support only a >>>> couple of sizes, and only support unsigned values. >> >> long long version are a simple extension. > > Nope. Well the machine I'm typing this on has ntohll and htonll. > It could be middle-endian. On the wire? >> The signed or unsigned nature >> of the type isn't relevant for byte ordering. > > How so? Byte ordering is about encoding things into a byte stream. Signed > integers must be encoded too. Bytes are bytes, whether they represent a signed or unsigned (or even floating point) type is irrelevant. If it were, there would be a bigger common set of byte order reversal functions. >>> far more common I think is to implement file-readers more like: >>> int MyFile_ReadInt32LE(FILE *fd) >> >> The reason for using the common byte ordering functions is to avoid >> having to care about the ordering on the wire (or in a file). > > There are far more types of objects than unsigned integers. When > implementing an application protocol on top of some octet or bit stream > these must be encoded and decoded (serialized/deserialozed) too. There is > nothing special in unsigned integers. Did I say there was? > Usage of functions like hton* should be depreciated unless the protocol > specification explicitly states that the given unsigned integer object is > in the "network" format as implemented by hton*. Which oddly enough, they often are. The whole point of "network byte ordering" is to provide a common standard representation. > It is always cleaner to provide a fair implementation of the protocol, > which could be done in a portable way as BGB described. Which is really the > recommended way. A rare exception might be when you have a library that > already implements the protocol layer of interest completely. It's good to know I've been doing things wrong all these years.... -- Ian Collins
Back to comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
little-endian bob <bob@coolfone.comze.com> - 2012-11-15 13:45 -0800
Re: little-endian JJ <jaejunks@glegooilma-swapit.com> - 2012-11-15 23:33 +0000
Re: little-endian bob <bob@coolfone.comze.com> - 2012-11-16 10:38 -0800
Re: little-endian "Pascal J. Bourguignon" <pjb@informatimago.com> - 2012-11-16 23:32 +0100
Re: little-endian BGB <cr88192@hotmail.com> - 2012-11-16 21:17 -0600
Re: little-endian "Pascal J. Bourguignon" <pjb@informatimago.com> - 2012-11-17 10:26 +0100
Re: little-endian "BartC" <bc@freeuk.com> - 2012-11-17 11:38 +0000
Re: little-endian "Pascal J. Bourguignon" <pjb@informatimago.com> - 2012-11-17 13:56 +0100
Re: little-endian BGB <cr88192@hotmail.com> - 2012-11-17 11:58 -0600
Re: little-endian Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-11-17 19:35 +0000
Re: little-endian "BartC" <bc@freeuk.com> - 2012-11-17 19:50 +0000
Re: little-endian BGB <cr88192@hotmail.com> - 2012-11-17 11:30 -0600
Re: little-endian Ian Collins <ian-news@hotmail.com> - 2012-11-18 09:28 +1300
Re: little-endian Robert Wessel <robertwessel2@yahoo.com> - 2012-11-17 14:48 -0600
Re: little-endian BGB <cr88192@hotmail.com> - 2012-11-17 16:22 -0600
Re: little-endian Ian Collins <ian-news@hotmail.com> - 2012-11-18 15:17 +1300
Re: little-endian "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-11-18 09:13 +0100
Re: little-endian Ian Collins <ian-news@hotmail.com> - 2012-11-18 21:33 +1300
Re: little-endian "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-11-18 10:15 +0100
Re: little-endian BGB <cr88192@hotmail.com> - 2012-11-18 03:03 -0600
Re: little-endian "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-11-18 10:29 +0100
Re: little-endian BGB <cr88192@hotmail.com> - 2012-11-18 12:50 -0600
Re: little-endian Robin Vowels <robin.vowels@gmail.com> - 2012-11-22 04:49 -0800
Re: little-endian Jongware <jongware@no-spam.plz> - 2012-11-23 15:22 +0100
Re: little-endian pacman@kosh.dhis.org (Alan Curry) - 2012-11-25 19:39 +0000
Re: little-endian Jongware <jongware@no-spam.plz> - 2012-11-26 12:01 +0100
Re: little-endian "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-11-26 14:02 +0100
Re: little-endian Jongware <jongware@no-spam.plz> - 2012-11-26 15:34 +0100
Re: little-endian "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2012-11-26 17:03 +0100
Re: little-endian Robert Wessel <robertwessel2@yahoo.com> - 2012-11-26 17:44 -0600
Re: little-endian Robin Vowels <robin.vowels@gmail.com> - 2012-11-28 23:43 -0800
Re: little-endian Robert Wessel <robertwessel2@yahoo.com> - 2012-11-29 22:46 -0600
Re: little-endian BGB <cr88192@hotmail.com> - 2012-11-26 08:30 -0600
Re: little-endian Robin Vowels <robin.vowels@gmail.com> - 2012-11-28 23:45 -0800
csiph-web