52 lines · 679 B · C
RawDownload
#include <u.h>#include <libc.h>#include "cec.h" static	int	fd	= -1;extern	char	*svc; voidrawon(void){	if(svc)		return;	if((fd = open("/dev/consctl", OWRITE)) == -1 ||	    write(fd, "rawon", 5) != 5)		fprint(2, "Can't make console raw\n");} voidrawoff(void){	if(svc)		return;	close(fd);} enum {	Perline	= 16,	Perch	= 3,}; char	line[Perch*Perline+1]; static voidformat(uchar *buf, int n, int t){	int i, r; 	for(i = 0; i < n; i++){		r = (i + t) % Perline;		if(r == 0 && i + t > 0)			fprint(2, "%s\n", line);		sprint(line + r*Perch, "%.2x ", buf[i]);	}	if(n % 16 > 0)		fprint(2, "%s\n", line);} voiddump(uchar *p, int n){	format(p, n, 0);}