17dd7cddfSDavid du Colombier #include <u.h>
27dd7cddfSDavid du Colombier #include <libc.h>
37dd7cddfSDavid du Colombier #include <bio.h>
47dd7cddfSDavid du Colombier
5*9a747e4fSDavid du Colombier #include "pci.h"
67dd7cddfSDavid du Colombier #include "vga.h"
77dd7cddfSDavid du Colombier
87dd7cddfSDavid du Colombier int vflag, Vflag;
97dd7cddfSDavid du Colombier
107dd7cddfSDavid du Colombier void
error(char * format,...)117dd7cddfSDavid du Colombier error(char* format, ...)
127dd7cddfSDavid du Colombier {
1359cc4ca5SDavid du Colombier char buf[512], *out;
147dd7cddfSDavid du Colombier va_list arg;
157dd7cddfSDavid du Colombier int n;
167dd7cddfSDavid du Colombier
177dd7cddfSDavid du Colombier sequencer(0, 1);
187dd7cddfSDavid du Colombier n = sprint(buf, "%s: ", argv0);
197dd7cddfSDavid du Colombier va_start(arg, format);
20*9a747e4fSDavid du Colombier out = vseprint(buf+n, buf+sizeof(buf)-n, format, arg);
217dd7cddfSDavid du Colombier va_end(arg);
227dd7cddfSDavid du Colombier if(vflag)
23*9a747e4fSDavid du Colombier Bprint(&stdout, "%s", buf+n);
247dd7cddfSDavid du Colombier Bflush(&stdout);
2559cc4ca5SDavid du Colombier write(2, buf, out-buf);
267dd7cddfSDavid du Colombier exits("error");
277dd7cddfSDavid du Colombier }
287dd7cddfSDavid du Colombier
297dd7cddfSDavid du Colombier void
trace(char * format,...)307dd7cddfSDavid du Colombier trace(char* format, ...)
317dd7cddfSDavid du Colombier {
327dd7cddfSDavid du Colombier char buf[512];
337dd7cddfSDavid du Colombier va_list arg;
347dd7cddfSDavid du Colombier
357dd7cddfSDavid du Colombier if(vflag || Vflag){
367dd7cddfSDavid du Colombier if(curprintindex){
377dd7cddfSDavid du Colombier curprintindex = 0;
387dd7cddfSDavid du Colombier Bprint(&stdout, "\n");
397dd7cddfSDavid du Colombier }
407dd7cddfSDavid du Colombier va_start(arg, format);
41*9a747e4fSDavid du Colombier vseprint(buf, buf+sizeof(buf), format, arg);
427dd7cddfSDavid du Colombier va_end(arg);
43*9a747e4fSDavid du Colombier Bprint(&stdout, "%s", buf);
447dd7cddfSDavid du Colombier if(Vflag)
45*9a747e4fSDavid du Colombier print("%s", buf);
467dd7cddfSDavid du Colombier }
477dd7cddfSDavid du Colombier }
48