Mercurial > ecos
view packages/services/gfx/mw/current/include/microwin/swap.h @ 208:e0c0827131d1 ecos
Merge from eCos master repository on 2002-05-20-20:11:54-BST
| author | jlarmour |
|---|---|
| date | Mon, 20 May 2002 22:19:26 +0000 |
| parents | |
| children |
line wrap: on
line source
/* * Copyright (c) 2001 Greg Haerr <greg@censoft.com> * * Byte and word swapping header file for big/little endian mapping */ #ifdef __ECOS // FIXME! #define wswap(x) (x) #define dwswap(x) (x) #define dwread(addr) (*(unsigned long *)(addr)) #else #include <endian.h> #include <byteswap.h> #if __BYTE_ORDER == __BIG_ENDIAN #define wswap(x) bswap_16(x) #define dwswap(x) bswap_32(x) /* read little endian format from buffer*/ #define dwread(addr) ((*(unsigned char *)(addr)) | \ (*(unsigned char *)(addr+1) << 8) | \ (*(unsigned char *)(addr+2) << 16) | \ (*(unsigned char *)(addr+3) << 24)) #else /* little endian - no action required*/ #define wswap(x) (x) #define dwswap(x) (x) #define dwread(addr) (*(unsigned long *)(addr)) #endif #endif
