SILC_PUT32_MSB

NAME

    #define SILC_PUT32_MSB(dest, src)

DESCRIPTION

Put four 8-bit bytes, most significant bytes first.

SOURCE

#if (defined(SILC_I486) || defined(SILC_X86_64)) && defined(__GNUC__)
#define SILC_PUT32_MSB(l, cp)                           \
asm volatile ("bswapl %1; movl %1, (%0); bswapl %1"     \
              : : "q" (cp), "q" (l) : "memory", "cc");
#else
#define SILC_PUT32_MSB(l, cp)                   \
do {                                            \
  (cp)[0] = (SilcUInt8)((l) >> 24);             \
  (cp)[1] = (SilcUInt8)((l) >> 16);             \
  (cp)[2] = (SilcUInt8)((l) >> 8);              \
  (cp)[3] = (SilcUInt8)(l);                     \
} while(0)
#endif /* (SILC_I486 || SILC_X86_64) && __GNUC__ */