Minix1.5/amoeba/kernel/byteorder.h
/*
* set of macros to do inplace byteorder changes
* The dec_* routines decode a short (_s) or long (_l) from little endian(_le)
* or bigendian(_be) to native format.
* The enc_* are similar for native to net format
*/
/* littleendian version for ibm pc */
#define dec_s_le(s) /* nothing */
#define dec_s_be(s) (*(s))=((((*(s))>>8)&0xFF)|(((*(s))&0xFF)<<8))
#define dec_l_le(l) /* nothing */
#define dec_l_be(l) (*(l))=((((*(l))>>24)&0xFF)|(((*(l))>>8)&0xFF00)|(((*(l))<<8)&0xFF0000)|(((*(l))<<24)&0xFF000000))
#define enc_s_le(s) /* nothing */
#define enc_s_be(s) dec_s_be(s)
#define enc_l_le(l) /* nothing */
#define enc_l_be(l) dec_l_be(l)