|
|
1.1 root 1: /*
2: * O R D E R . H
3: *
4: * Used to re-arrange shorts and longs to or from a specific byte ordering.
5: * The hfirst macros are for high-order byte first; the lfirst macros are
6: * for low-order byte first.
7: *
8: * IMPORTANT: The definitions of order_hfirst and order_lfirst may have to be
9: * exchanged, depending on the native byte ordering of the machine.
10: *
11: */
12:
13: #define hfirst_short(x) ((short)order_hfirst((x), sizeof(short)))
14: #define lfirst_short(x) ((short)order_lfirst((x), sizeof(short)))
15:
16: #define hfirst_long(x) ((long)order_hfirst((x), sizeof(long)))
17: #define lfirst_long(x) ((long)order_lfirst((x), sizeof(long)))
18:
19: #define order_hfirst(x,size) switch_order((long)(x), size)
20: #define order_lfirst(x,size) (long)(x)
21:
22: long switch_order();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.