SILC_GET16_MSB

NAME

    #define SILC_GET16_MSB(dest, src)

DESCRIPTION

Return two 8-bit bytes, most significant bytes first.

SOURCE

#if (defined(SILC_I386) || defined(SILC_X86_64)) && defined(__GNUC__)
#define SILC_GET16_MSB(l, cp)                           \
asm volatile ("movw (%1), %w0; rolw $8, %w0"            \
              : "=q" (l) : "q" (cp) : "memory", "cc");
#else
#define SILC_GET16_MSB(l, cp)                           \
do {                                                    \
  (l) = ((SilcUInt32)(SilcUInt8)(cp)[0] << 8)           \
    | ((SilcUInt32)(SilcUInt8)(cp)[1]);                 \
} while(0)
#endif /* (SILC_I386 || SILC_X86_64) && __GNUC__ */