]> git.lizzy.rs Git - plan9front.git/blob - sys/src/cmd/scram.c
kernel: keep segment locked for data2txt
[plan9front.git] / sys / src / cmd / scram.c
1 #include <u.h>
2 #include </386/include/ureg.h>
3 #include <libc.h>
4
5 struct Ureg u;
6 int fd;
7
8 void
9 apm(void)
10 {
11         seek(fd, 0, 0);
12         if(write(fd, &u, sizeof u) < 0)
13                 sysfatal("write: %r");
14         seek(fd, 0, 0);
15         if(read(fd, &u, sizeof u) < 0)
16                 sysfatal("read: %r");
17         if(u.flags & 1)
18                 sysfatal("apm: %lux", (u.ax>>8) & 0xFF);
19 }
20
21 void
22 main()
23 {
24         if((fd = open("/dev/apm", ORDWR)) < 0)
25                 if((fd = open("#P/apm", ORDWR)) < 0)
26                         sysfatal("open: %r");
27
28         u.ax = 0x530E;
29         u.bx = 0x0000;
30         u.cx = 0x0102;
31         apm();
32         u.ax = 0x5307;
33         u.bx = 0x0001;
34         u.cx = 0x0003;
35         apm();
36 }