Hyman Rosen wrote in news:1066243458.911546@master.nyc.kbcfp.com: > Larry Kilgallen wrote: >>>Do Byte ordering functions (htonl, htons, ntohl, ntohs) exist in Ada? >> Your question seems to me to indicate you are trying to program in C >> using an Ada compiler. > > So what's the Ada way of writing portable code that > writes out and reads in 16-bit and 32-bit integers > for an external data source that has a defined byte > ordering? > To quote from the Ada Language Reference Manual section 13.5: For every specific record subtype S, the following attribute is defined: S�Bit_Order Denotes the bit ordering for the type of S. The value of this attribute is of type System.Bit_Order. Bit_Order may be specified for specific record types via an attribute_definition_clause; the expression of such a clause shall be static. A bit ordering is a method of interpreting the meaning of the storage place attributes. High_Order_First (known in the vernacular as big endian) means that the first bit of a storage element (bit 0) is the most significant bit (interpreting the sequence of bits that represent a component as an unsigned integer value). Low_Order_First (known in the vernacular as little endian) means the opposite: the first bit is the least significant. Jim Rogers