1 #include <u.h> 2 #include <libc.h> 3 #include <bio.h> 4 #include <mach.h> 5 #include "debug.h" 6 7 static uchar reverse(uchar c)8reverse(uchar c) 9 { 10 uchar rc; 11 int i, j, ns; 12 13 rc = 0; 14 for(i = 0, j = 1; i < 8; i++, j <<= 1){ 15 ns = (7 - 2*i); 16 if( ns < 0){ 17 ns = -ns; 18 rc |= (c&j) >> ns; 19 } 20 else 21 rc |= (c&j) << ns; 22 } 23 return rc; 24 } 25 26 27 void main(int,char * [])28main(int , char *[]) 29 { 30 int i; 31 32 print("/* Generated automatically, *DO NOT EDIT* */\n\n"); 33 print("#include <u.h>\n"); 34 print("#include <libc.h>\n\n"); 35 print("uchar rtab[256]=\n"); 36 print("{\n\t"); 37 for(i = 0; i < 256; i++){ 38 print("%#2.2ux, ", reverse(i)); 39 if(i != 0 && (i + 1) % 8 == 0) 40 print("\n\t"); 41 } 42 print("\n};"); 43 exits(nil); 44 } 45 46