# Byte Order > Platform [byte order][endianness].
## Usage ```javascript var BYTE_ORDER = require( '@stdlib/os/byte-order' ); ``` #### BYTE_ORDER Platform byte order. ```javascript console.log( BYTE_ORDER ); // => ```
## Notes - The following values are possible: - `'little-endian'` - `'big-endian'` - `'mixed-endian'` (also known as "middle-endian") - `'unknown'`
## Examples ```javascript 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 ```c #include "stdlib/os/byte_order.h" ``` #### STDLIB_OS_ORDER_LITTLE_ENDIAN Macro for an arbitrary constant indicating little-endian order. ```c #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. ```c #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. ```c #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 ```c #include "stdlib/os/byte_order.h" #include 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 ```text Usage: byte-order [options] Options: -h, --help Print this message. -V, --version Print the package version. ```
### Examples ```bash $ byte-order ```