请教这两个宏的意思

请问这两个宏的意思看了半天不是很懂,不知道有什么含义#define Swap16IfLE(s)((CARD16) ((((s) & 0xff)

请问这两个宏的意思
看了半天不是很懂,不知道有什么含义

#define Swap16IfLE(s)    ((CARD16) ((((s) & 0xff) << 8) | (((s) >> 8) & 0xff)))
#define Swap32IfLE(l)    ((CARD32) ((((l) & 0xff000000) >> 24) | (((l) & 0x00ff0000) >> 8)  | \
 (((l) & 0x0000ff00) << 8)  | (((l) & 0x000000ff) << 24)))

谢谢
[解决办法]
字节序转换
s = 0x1122 调用Swap16IfLE(s)之后, s = 0x2211
l = 0x11223344 调用Swap32IfLE(l)之后, l = 0x44332211