|
|
1.1 root 1: /*
2: * vio.c
3: *
4: * Usage: vio a1 a2 a3
5: *
6: */
7: #include <stdio.h>
8: #include <sys/param.h>
9:
10: char * cmd;
11:
12: main(argc, argv)
13: int argc;
14: char ** argv;
15: {
16: int a1, a2, a3, res;
17: extern int errno;
18:
19: cmd = argv[0];
20: if (argc != 4)
21: usage();
22:
23: a1 = htoi(argv[1]);
24: a2 = htoi(argv[2]);
25: a3 = htoi(argv[3]);
26:
27: res = cohcall(COH_VIO, a1, a2, a3);
28: if (errno)
29: perror("vio");
30: else
31: printf("%s(%x, %x, %x) = %x\n", cmd, a1, a2, a3, res);
32: }
33:
34: usage()
35: {
36: fprintf(stderr, "Usage: %s a1 a2 a3\n", cmd);
37: exit(1);
38: }
39:
40: int
41: htoi(s)
42: char *s;
43: {
44: int ret;
45:
46: sscanf(s, "%x", &ret);
47: return ret;
48: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.