Rev | Line | |
---|
[17] | 1 | /* -*- mode: C; tab-width:8; c-basic-offset:8 -*- |
---|
| 2 | * vi:set ts=8: |
---|
| 3 | * |
---|
| 4 | * ac_endian.h |
---|
| 5 | * |
---|
| 6 | * This file contains macros and prototypes for endian management. |
---|
| 7 | */ |
---|
| 8 | |
---|
| 9 | #include "al_siteconfig.h" |
---|
| 10 | |
---|
| 11 | #include <AL/al.h> |
---|
| 12 | |
---|
| 13 | #define ac_swap16(D) ((ALushort) (((D)<<8) | ((D)>>8))) |
---|
| 14 | #define ac_swap32(D) (ALuint) ((((D)<<24) | (((D)<<8)&0x00FF0000) | (((D)>>8)&0x0000FF00) | ((D)>>24))) |
---|
| 15 | |
---|
| 16 | ALubyte *cp16le(ALubyte *rawdata, ALushort *reader16); |
---|
| 17 | ALubyte *cp32le(ALubyte *rawdata, ALuint *reader32); |
---|
| 18 | |
---|
| 19 | #ifdef WORDS_BIGENDIAN |
---|
| 20 | #define swap16le(x) ac_swap16(x) |
---|
| 21 | #define swap32le(x) ac_swap32(x) |
---|
| 22 | #define swap16be(x) (x) |
---|
| 23 | #define swap32be(x) (x) |
---|
| 24 | #else |
---|
| 25 | #define swap16le(x) (x) |
---|
| 26 | #define swap32le(x) (x) |
---|
| 27 | #define swap16be(x) ac_swap16(x) |
---|
| 28 | #define swap32be(x) ac_swap32(x) |
---|
| 29 | |
---|
| 30 | #endif /* __big_endian */ |
---|
Note: See
TracBrowser
for help on using the repository browser.