Skip to content
IS_LITTLE_ENDIAN

IS_LITTLE_ENDIAN

IS_LITTLE_ENDIAN

Description

Compile-time endianness detection.

Success

Evaluates to 1 for little-endian systems, 0 for big-endian.

Failure

Function cannot fail - evaluated at compile time.

Usage example (Cross-references)

Usage examples (Cross-references)
        // if native endianness provided, then deduce endianness and set correspondingly
        if (fmt_info->endian == ENDIAN_NATIVE) {
            fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
        }
        // if native endianness provided, then deduce endianness and set correspondingly
        if (fmt_info->endian == ENDIAN_NATIVE) {
            fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
        }
        // if native endianness provided, then deduce endianness and set correspondingly
        if (fmt_info->endian == ENDIAN_NATIVE) {
            fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
        }
        // Resolve native endianness if specified.
        if (fmt_info->endian == ENDIAN_NATIVE) {
            fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
        }
        // Resolve native endianness if specified.
        if (fmt_info->endian == ENDIAN_NATIVE) {
            fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
        }
        // Resolve native endianness if specified.
        if (fmt_info->endian == ENDIAN_NATIVE) {
            fmt_info->endian = IS_LITTLE_ENDIAN() ? ENDIAN_LITTLE : ENDIAN_BIG;
        }
    ///
    /// TAGS: Endianness, Conversion, 16-bit
    #define FROM_BIG_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS2(x) : (x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 32-bit
    #define FROM_BIG_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS4(x) : (x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 64-bit
    #define FROM_BIG_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS8(x) : (x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 16-bit
    #define FROM_LITTLE_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS2(x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 32-bit
    #define FROM_LITTLE_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS4(x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 64-bit
    #define FROM_LITTLE_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS8(x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 16-bit
    #define TO_LITTLE_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS2(x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 32-bit
    #define TO_LITTLE_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS4(x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 64-bit
    #define TO_LITTLE_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? (x) : INVERT_ENDIANNESS8(x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 16-bit
    #define TO_BIG_ENDIAN2(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS2(x) : (x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 32-bit
    #define TO_BIG_ENDIAN4(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS4(x) : (x))
    
    ///
    ///
    /// TAGS: Endianness, Conversion, 64-bit
    #define TO_BIG_ENDIAN8(x) (IS_LITTLE_ENDIAN() ? INVERT_ENDIANNESS8(x) : (x))
    
    ///
Last updated on