1 /* 2 * types-i386.h 3 * 4 * i386 ASM macros for endian conversion 5 */ 6 7 #ifndef TYPES_I386_H 8 #define TYPES_I386_H 9 10 /* $Id: types-i386.h,v 1.1 1999/12/07 02:01:14 nyef Exp $ */ 11 12 #define byteswap16(val) ({ u32 x = val; asm("xchgb %b0,%h0": "=q" (x): "0" (x)); x; }) 13 14 /* FIXME: okay, I lied about the i386 bit, you need a 486 to use this */ 15 #define byteswap32(val) ({ u16 x = val; asm("bswap %0": "=r" (x): "0" (x)); x; }) 16 17 #endif /* TYPES_I386_H */ 18 19 /* 20 * $Log: types-i386.h,v $ 21 * Revision 1.1 1999/12/07 02:01:14 nyef 22 * Initial revision 23 * 24 */ 25