blob: 421e249f3b45f5f799a3dfb8c8e13b5dc23e5abb [file] [log] [blame]
/*
* 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);
}