00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "machine.h"
00027 #include "Endian.h"
00028
00029 #ifdef MACHINE_ENDIAN_LITTLE
00030
00031 #ifndef ENDIAN_MACRO
00032 u32 endian_ToAlien32(u32 v)
00033 {
00034 u32 ret=0L;
00035
00036
00037 ret=(v>>24)|((v>>16)&0xff)|((v>>8)&0xff)|(v&0xff);
00038
00039 return(ret);
00040 }
00041
00042 u32 endian_FromAlien32(u32 v)
00043 {
00044 u32 ret=0L;
00045
00046
00047 ret=(v>>24)|((v>>16)&0xff)|((v>>8)&0xff)|(v&0xff);
00048
00049 return(ret);
00050 }
00051
00052 u16 endian_ToAlien16(u32 v)
00053 {
00054 u16 ret=0L;
00055
00056
00057 ret=((v>>8)|(v&0xff);
00058
00059 return(ret);
00060 }
00061
00062 u16 endian_FromAlien16(u16 v)
00063 {
00064 u16 ret=0L;
00065
00066
00067 ret=((v>>8)|(v&0xff);
00068
00069 return(ret);
00070 }
00071 #endif
00072
00073 #endif
00074
00076
00077 #ifdef MACHINE_ENDIAN_BIG
00078
00079 u32 endian_ToAlien32(u32 v)
00080 {
00081 u32 ret=0L;
00082
00083
00084 ret=(v>>24)|((v>>16)&0xff)|((v>>8)&0xff)|(v&0xff);
00085
00086 return(ret);
00087 }
00088
00089 u32 endian_FromAlien32(u32 v)
00090 {
00091 u32 ret=0L;
00092
00093
00094 ret=(v>>24)|((v>>16)&0xff)|((v>>8)&0xff)|(v&0xff);
00095
00096 return(ret);
00097 }
00098
00099 u16 endian_ToAlien16(u32 v)
00100 {
00101 u16 ret=0L;
00102
00103
00104 ret=((v>>8)|(v&0xff);
00105
00106 return(ret);
00107 }
00108
00109 u16 endian_FromAlien16(u16 v)
00110 {
00111 u16 ret=0L;
00112
00113
00114 ret=((v>>8)|(v&0xff);
00115
00116 return(ret);
00117 }
00118
00119 #endif