Blame


1 0c98da8b 2005-07-13 devnull #include <u.h>
2 0c98da8b 2005-07-13 devnull #include <libc.h>
3 0c98da8b 2005-07-13 devnull #include <bio.h>
4 0c98da8b 2005-07-13 devnull #include <diskfs.h>
5 0c98da8b 2005-07-13 devnull
6 0c98da8b 2005-07-13 devnull void
7 0c98da8b 2005-07-13 devnull blockdump(Block *bb, char *desc)
8 0c98da8b 2005-07-13 devnull {
9 0c98da8b 2005-07-13 devnull uchar *p, *ep;
10 0c98da8b 2005-07-13 devnull int i;
11 0c98da8b 2005-07-13 devnull Biobuf b;
12 0c98da8b 2005-07-13 devnull
13 0c98da8b 2005-07-13 devnull Binit(&b, 2, OWRITE);
14 0c98da8b 2005-07-13 devnull
15 0c98da8b 2005-07-13 devnull Bprint(&b, "%s\n", desc);
16 0c98da8b 2005-07-13 devnull
17 0c98da8b 2005-07-13 devnull p = bb->data;
18 0c98da8b 2005-07-13 devnull ep = bb->data + bb->len;
19 0c98da8b 2005-07-13 devnull
20 0c98da8b 2005-07-13 devnull while(p < ep){
21 0c98da8b 2005-07-13 devnull for(i=0; i<16; i++){
22 0c98da8b 2005-07-13 devnull if(p+i < ep)
23 0c98da8b 2005-07-13 devnull Bprint(&b, "%.2ux ", p[i]);
24 0c98da8b 2005-07-13 devnull else
25 0c98da8b 2005-07-13 devnull Bprint(&b, " ");
26 0c98da8b 2005-07-13 devnull if(i==7)
27 0c98da8b 2005-07-13 devnull Bprint(&b, "- ");
28 0c98da8b 2005-07-13 devnull }
29 0c98da8b 2005-07-13 devnull Bprint(&b, " ");
30 0c98da8b 2005-07-13 devnull for(i=0; i<16; i++){
31 0c98da8b 2005-07-13 devnull if(p+i < ep)
32 0c98da8b 2005-07-13 devnull Bprint(&b, "%c", p[i] >= 0x20 && p[i] <= 0x7F ? p[i] : '.');
33 0c98da8b 2005-07-13 devnull else
34 0c98da8b 2005-07-13 devnull Bprint(&b, " ");
35 0c98da8b 2005-07-13 devnull }
36 0c98da8b 2005-07-13 devnull p += 16;
37 0c98da8b 2005-07-13 devnull Bprint(&b, "\n");
38 0c98da8b 2005-07-13 devnull }
39 5957fc1e 2007-05-28 devnull Bterm(&b);
40 0c98da8b 2005-07-13 devnull }
41 0c98da8b 2005-07-13 devnull
42 0c98da8b 2005-07-13 devnull void
43 0c98da8b 2005-07-13 devnull blockput(Block *b)
44 0c98da8b 2005-07-13 devnull {
45 0c98da8b 2005-07-13 devnull if(b == nil)
46 0c98da8b 2005-07-13 devnull return;
47 0c98da8b 2005-07-13 devnull if(!b->_close){
48 0c98da8b 2005-07-13 devnull fprint(2, "no blockPut\n");
49 fa325e9b 2020-01-10 cross abort();
50 0c98da8b 2005-07-13 devnull }
51 0c98da8b 2005-07-13 devnull (*b->_close)(b);
52 0c98da8b 2005-07-13 devnull }