.B /dev/iol
.B /dev/iow
.B /dev/irqalloc
-.B /dev/mordor
.SH DESCRIPTION
This device presents textual information about PC hardware and allows
user-level control of the I/O ports on x86-class and DEC Alpha machines.
I/O ports.
The port accessed is determined by the byte offset of the
file descriptor.
-.PP
-Reads and writes to
-.IR mordor
-will inevitably cause the front to fall off.
.SH EXAMPLE
The following code reads from an x86 byte I/O port.
.IP
See
.IR swap (8).
.PP
+Reads and writes to
+.IR mordor
+will inevitably cause the front to fall off.
+.PP
The other files served by the
.I cons
device are all single numbers:
return n;
}
-static long
-mordorread(Chan*, void*, long, vlong)
-{
- error("one does not simply read from mordor");
- return 0;
-}
-
-static long
-mordorwrite(Chan*, void*, long, vlong)
-{
- error("one does not simply write into mordor");
- return 0;
-}
-
void
archinit(void)
{
addarchfile("cputype", 0444, cputyperead, nil);
addarchfile("archctl", 0664, archctlread, archctlwrite);
- addarchfile("mordor", 0666, mordorread, mordorwrite);
}
/*
Qtime,
Quser,
Qzero,
+ Qmordor,
Qconfig,
};
"user", {Quser}, 0, 0666,
"zero", {Qzero}, 0, 0444,
"config", {Qconfig}, 0, 0444,
+ "mordor", {Qmordor}, 0, 0666,
};
int
case Qzero:
memset(buf, 0, n);
return n;
+
+ case Qmordor:
+ error("one does not simply read from mordor");
+ return 0;
case Qosversion:
snprint(tmp, sizeof tmp, "2000");
buf[n-1] = 0;
kstrdup(&sysname, buf);
break;
+
+ case Qmordor:
+ error("one does not simply write to mordor");
+ return 0;
default:
print("conswrite: %#llux\n", c->qid.path);