#define put_uint16(a,v) do {(a)[0]=((v)&0xff00)>>8; (a)[1]=(v)&0xff;} while(0)
#define put_uint8(a,v) do {(a)[0]=((v)&0xff);} while(0)
#define put_uint16(a,v) do {(a)[0]=((v)&0xff00)>>8; (a)[1]=(v)&0xff;} while(0)
#define put_uint8(a,v) do {(a)[0]=((v)&0xff);} while(0)