17dd7cddfSDavid du Colombier #include <u.h> 27dd7cddfSDavid du Colombier #include <libc.h> 37dd7cddfSDavid du Colombier #include <ip.h> 47dd7cddfSDavid du Colombier 5*5fbedc1bSDavid du Colombier void hnputv(void * p,uvlong v)6*5fbedc1bSDavid du Colombierhnputv(void *p, uvlong v) 7*5fbedc1bSDavid du Colombier { 8*5fbedc1bSDavid du Colombier uchar *a; 9*5fbedc1bSDavid du Colombier 10*5fbedc1bSDavid du Colombier a = p; 11*5fbedc1bSDavid du Colombier a[0] = v>>56; 12*5fbedc1bSDavid du Colombier a[1] = v>>48; 13*5fbedc1bSDavid du Colombier a[2] = v>>40; 14*5fbedc1bSDavid du Colombier a[3] = v>>32; 15*5fbedc1bSDavid du Colombier a[4] = v>>24; 16*5fbedc1bSDavid du Colombier a[5] = v>>16; 17*5fbedc1bSDavid du Colombier a[6] = v>>8; 18*5fbedc1bSDavid du Colombier a[7] = v; 19*5fbedc1bSDavid du Colombier } 207dd7cddfSDavid du Colombier 217dd7cddfSDavid du Colombier void hnputl(void * p,uint v)227dd7cddfSDavid du Colombierhnputl(void *p, uint v) 237dd7cddfSDavid du Colombier { 247dd7cddfSDavid du Colombier uchar *a; 257dd7cddfSDavid du Colombier 267dd7cddfSDavid du Colombier a = p; 277dd7cddfSDavid du Colombier a[0] = v>>24; 287dd7cddfSDavid du Colombier a[1] = v>>16; 297dd7cddfSDavid du Colombier a[2] = v>>8; 307dd7cddfSDavid du Colombier a[3] = v; 317dd7cddfSDavid du Colombier } 327dd7cddfSDavid du Colombier 337dd7cddfSDavid du Colombier void hnputs(void * p,ushort v)347dd7cddfSDavid du Colombierhnputs(void *p, ushort v) 357dd7cddfSDavid du Colombier { 367dd7cddfSDavid du Colombier uchar *a; 377dd7cddfSDavid du Colombier 387dd7cddfSDavid du Colombier a = p; 397dd7cddfSDavid du Colombier a[0] = v>>8; 407dd7cddfSDavid du Colombier a[1] = v; 417dd7cddfSDavid du Colombier } 427dd7cddfSDavid du Colombier 43*5fbedc1bSDavid du Colombier uvlong nhgetv(void * p)44*5fbedc1bSDavid du Colombiernhgetv(void *p) 45*5fbedc1bSDavid du Colombier { 46*5fbedc1bSDavid du Colombier uchar *a; 47*5fbedc1bSDavid du Colombier uvlong v; 48*5fbedc1bSDavid du Colombier 49*5fbedc1bSDavid du Colombier a = p; 50*5fbedc1bSDavid du Colombier v = (uvlong)a[0]<<56; 51*5fbedc1bSDavid du Colombier v |= (uvlong)a[1]<<48; 52*5fbedc1bSDavid du Colombier v |= (uvlong)a[2]<<40; 53*5fbedc1bSDavid du Colombier v |= (uvlong)a[3]<<32; 54*5fbedc1bSDavid du Colombier v |= a[4]<<24; 55*5fbedc1bSDavid du Colombier v |= a[5]<<16; 56*5fbedc1bSDavid du Colombier v |= a[6]<<8; 57*5fbedc1bSDavid du Colombier v |= a[7]<<0; 58*5fbedc1bSDavid du Colombier return v; 59*5fbedc1bSDavid du Colombier } 60*5fbedc1bSDavid du Colombier 617dd7cddfSDavid du Colombier uint nhgetl(void * p)627dd7cddfSDavid du Colombiernhgetl(void *p) 637dd7cddfSDavid du Colombier { 647dd7cddfSDavid du Colombier uchar *a; 657dd7cddfSDavid du Colombier 667dd7cddfSDavid du Colombier a = p; 677dd7cddfSDavid du Colombier return (a[0]<<24)|(a[1]<<16)|(a[2]<<8)|(a[3]<<0); 687dd7cddfSDavid du Colombier } 697dd7cddfSDavid du Colombier 707dd7cddfSDavid du Colombier ushort nhgets(void * p)717dd7cddfSDavid du Colombiernhgets(void *p) 727dd7cddfSDavid du Colombier { 737dd7cddfSDavid du Colombier uchar *a; 747dd7cddfSDavid du Colombier 757dd7cddfSDavid du Colombier a = p; 767dd7cddfSDavid du Colombier return (a[0]<<8)|(a[1]<<0); 777dd7cddfSDavid du Colombier } 78