| /* | 
 |  * This file is part of the UCB release of Plan 9. It is subject to the license | 
 |  * terms in the LICENSE file found in the top-level directory of this | 
 |  * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No | 
 |  * part of the UCB release of Plan 9, including this file, may be copied, | 
 |  * modified, propagated, or distributed except according to the terms contained | 
 |  * in the LICENSE file. | 
 |  */ | 
 | #include <stdlib.h> | 
 |  | 
 | #include <iplib/iplib.h> | 
 | #include <parlib/parlib.h> | 
 | #include <signal.h> | 
 | #include <stdio.h> | 
 | #include <unistd.h> | 
 |  | 
 | void hnputv(void *p, uint64_t v) | 
 | { | 
 | 	uint8_t *a; | 
 |  | 
 | 	a = p; | 
 | 	a[0] = v >> 56; | 
 | 	a[1] = v >> 48; | 
 | 	a[2] = v >> 40; | 
 | 	a[3] = v >> 32; | 
 | 	a[4] = v >> 24; | 
 | 	a[5] = v >> 16; | 
 | 	a[6] = v >> 8; | 
 | 	a[7] = v; | 
 | } | 
 |  | 
 | void hnputl(void *p, unsigned int v) | 
 | { | 
 | 	uint8_t *a; | 
 |  | 
 | 	a = p; | 
 | 	a[0] = v >> 24; | 
 | 	a[1] = v >> 16; | 
 | 	a[2] = v >> 8; | 
 | 	a[3] = v; | 
 | } | 
 |  | 
 | void hnputs(void *p, uint16_t v) | 
 | { | 
 | 	uint8_t *a; | 
 |  | 
 | 	a = p; | 
 | 	a[0] = v >> 8; | 
 | 	a[1] = v; | 
 | } | 
 |  | 
 | uint64_t nhgetv(void *p) | 
 | { | 
 | 	uint8_t *a; | 
 | 	uint64_t v; | 
 |  | 
 | 	a = p; | 
 | 	v = (uint64_t)a[0] << 56; | 
 | 	v |= (uint64_t)a[1] << 48; | 
 | 	v |= (uint64_t)a[2] << 40; | 
 | 	v |= (uint64_t)a[3] << 32; | 
 | 	v |= a[4] << 24; | 
 | 	v |= a[5] << 16; | 
 | 	v |= a[6] << 8; | 
 | 	v |= a[7] << 0; | 
 | 	return v; | 
 | } | 
 |  | 
 | unsigned int nhgetl(void *p) | 
 | { | 
 | 	uint8_t *a; | 
 |  | 
 | 	a = p; | 
 | 	return (a[0] << 24) | (a[1] << 16) | (a[2] << 8) | (a[3] << 0); | 
 | } | 
 |  | 
 | uint16_t nhgets(void *p) | 
 | { | 
 | 	uint8_t *a; | 
 |  | 
 | 	a = p; | 
 | 	return (a[0] << 8) | (a[1] << 0); | 
 | } |