ref: 7b65afc1ad13f3859eca6eadaa2c45d864320304
dir: /util.c/
#include <u.h> #include <libc.h> #include <bio.h> #include "dat.h" #include "fns.h" int write1u(u8int *d, u8int v) { d[0] = v; return 1; } int write2u(u8int *d, u16int v) { d[0] = (v >> 8) & 0xFF; d[1] = (v >> 0) & 0xFF; return 2; } int write4u(u8int *d, u32int v) { d[0] = (v >> 24) & 0xFF; d[1] = (v >> 16) & 0xFF; d[2] = (v >> 8) & 0xFF; d[3] = (v >> 0) & 0xFF; return 4; } int write8u(u8int *d, u64int v) { d[0] = (v >> 56) & 0xFF; d[1] = (v >> 48) & 0xFF; d[2] = (v >> 40) & 0xFF; d[3] = (v >> 32) & 0xFF; d[4] = (v >> 24) & 0xFF; d[5] = (v >> 16) & 0xFF; d[6] = (v >> 8) & 0xFF; d[7] = (v >> 0) & 0xFF; return 8; } int write1s(u8int *d, s8int v) { s8int *s = (s8int *)d; s[0] = v; return 1; } int write2s(u8int *d, s16int v) { s8int *s = (s8int *)d; s[0] = (v >> 8) & 0xFF; s[1] = (v >> 0) & 0xFF; return 2; } int write4s(u8int *d, s32int v) { s8int *s = (s8int *)d; s[0] = (v >> 24) & 0xFF; s[1] = (v >> 16) & 0xFF; s[2] = (v >> 8) & 0xFF; s[3] = (v >> 0) & 0xFF; return 4; } int write8s(u8int *d, s64int v) { s8int *s = (s8int *)d; s[0] = (v >> 56) & 0xFF; s[1] = (v >> 48) & 0xFF; s[2] = (v >> 40) & 0xFF; s[3] = (v >> 32) & 0xFF; s[4] = (v >> 24) & 0xFF; s[5] = (v >> 16) & 0xFF; s[6] = (v >> 8) & 0xFF; s[7] = (v >> 0) & 0xFF; return 8; } u8int read1u(u8int *d) { u8int v = 0; v |= ((u8int)d[0]) << 0; return v; } u16int read2u(u8int *d) { u16int v = 0; v |= ((u16int)d[0]) << 8; v |= ((u16int)d[1]) << 0; return v; } u32int read4u(u8int *d) { u32int v = 0; v |= ((u32int)d[0]) << 24; v |= ((u32int)d[1]) << 16; v |= ((u32int)d[2]) << 8; v |= ((u32int)d[3]) << 0; return v; } u64int read8u(u8int *d) { u64int v = 0; v |= ((u64int)d[0]) << 56; v |= ((u64int)d[1]) << 48; v |= ((u64int)d[2]) << 40; v |= ((u64int)d[3]) << 32; v |= ((u64int)d[4]) << 24; v |= ((u64int)d[5]) << 16; v |= ((u64int)d[6]) << 8; v |= ((u64int)d[7]) << 0; return v; } s8int read1s(u8int *d) { s8int v = 0; v |= ((s8int)d[0]) << 0; return v; } s16int read2s(u8int *d) { s16int v = 0; v |= ((s16int)d[0]) << 8; v |= ((s16int)d[1]) << 0; return v; } s32int read4s(u8int *d) { s32int v = 0; v |= ((s32int)d[0]) << 24; v |= ((s32int)d[1]) << 16; v |= ((s32int)d[2]) << 8; v |= ((s32int)d[3]) << 0; return v; } s64int read8s(u8int *d) { s64int v = 0; v |= ((s64int)d[0]) << 56; v |= ((s64int)d[1]) << 48; v |= ((s64int)d[2]) << 40; v |= ((s64int)d[3]) << 32; v |= ((s64int)d[4]) << 24; v |= ((s64int)d[5]) << 16; v |= ((s64int)d[6]) << 8; v |= ((s64int)d[7]) << 0; return v; }