|
|
||
|---|---|---|
| .. | ||
| bin | ||
| docs | ||
| etc | ||
| include/stdlib/os | ||
| lib | ||
| manifest.json | ||
| package.json | ||
| README.md | ||
Byte Order
Platform byte order.
Usage
var BYTE_ORDER = require( '@stdlib/os/byte-order' );
BYTE_ORDER
Platform byte order.
console.log( BYTE_ORDER );
// => <string>
Notes
-
The following values are possible:
'little-endian''big-endian''mixed-endian'(also known as "middle-endian")'unknown'
Examples
var BYTE_ORDER = require( '@stdlib/os/byte-order' );
if ( BYTE_ORDER === 'little-endian' ) {
console.log( 'Least significant byte comes first...' );
} else if ( BYTE_ORDER === 'big-endian' ) {
console.log( 'Most significant byte comes first...' );
} else {
console.log( 'This is uncommon...' );
}
C APIs
Usage
#include "stdlib/os/byte_order.h"
STDLIB_OS_ORDER_LITTLE_ENDIAN
Macro for an arbitrary constant indicating little-endian order.
#if defined(STDLIB_OS_BYTE_ORDER) && STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_LITTLE_ENDIAN
// Do something for little-endian...
#endif
If compiled on an unrecognized/unsupported platform, the macro is not defined.
STDLIB_OS_ORDER_BIG_ENDIAN
Macro for an arbitrary constant indicating big-endian order.
#if defined(STDLIB_OS_BYTE_ORDER) && STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_BIG_ENDIAN
// Do something for big-endian...
#endif
If compiled on an unrecognized/unsupported platform, the macro is not defined.
STDLIB_OS_BYTE_ORDER
Macro which equals either STDLIB_OS_ORDER_LITTLE_ENDIAN or STDLIB_OS_ORDER_BIG_ENDIAN (or host defined) depending on the resolved platform byte order.
#if defined(STDLIB_OS_BYTE_ORDER)
#if STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_LITTLE_ENDIAN
// Do something for little-endian...
#elif STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_BIG_ENDIAN
// Do something for big-endian...
#endif
#endif
If compiled on an unrecognized/unsupported platform, the macro is not defined.
Examples
#include "stdlib/os/byte_order.h"
#include <stdio.h>
int main() {
#if defined(STDLIB_OS_BYTE_ORDER)
#if STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_LITTLE_ENDIAN
printf( "Platform is little-endian...\n" );
#elif STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_BIG_ENDIAN
printf( "Platform is big-endian...\n" );
#else
printf( "Platform endianness is either mixed-endian or unknown...\n" )
#endif
#endif
}
CLI
Usage
Usage: byte-order [options]
Options:
-h, --help Print this message.
-V, --version Print the package version.
Examples
$ byte-order