V8/usr/sys/h/order.h
/*
* O R D E R . H
*
* Used to re-arrange shorts and longs to or from a specific byte ordering.
* The hfirst macros are for high-order byte first; the lfirst macros are
* for low-order byte first.
*
* IMPORTANT: The definitions of order_hfirst and order_lfirst may have to be
* exchanged, depending on the native byte ordering of the machine.
*
*/
#define hfirst_short(x) ((short)order_hfirst((x), sizeof(short)))
#define lfirst_short(x) ((short)order_lfirst((x), sizeof(short)))
#define hfirst_long(x) ((long)order_hfirst((x), sizeof(long)))
#define lfirst_long(x) ((long)order_lfirst((x), sizeof(long)))
#define order_hfirst(x,size) switch_order((long)(x), size)
#define order_lfirst(x,size) (long)(x)
long switch_order();