summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNik Clayton <nik@FreeBSD.org>2001-05-26 12:01:45 +0000
committerNik Clayton <nik@FreeBSD.org>2001-05-26 12:01:45 +0000
commitb8d2ae3da8b990453bee125a62522a59e624e9f6 (patch)
treed5e7da1c9283c2bfed32214fa7becabcc1ba4b38
parent1c5a293e07003923a7da2e7a01396a311a83f7b3 (diff)
Notes
-rw-r--r--sys/dev/syscons/syscons.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 8be79b7cb7fb..30feb6401932 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -835,6 +835,24 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
splx(s);
return 0;
+ case CONS_SCRSHOT: /* get a screen shot */
+ {
+ scrshot_t *ptr = (scrshot_t*)data;
+ s = spltty();
+ if (ISGRAPHSC(scp)) {
+ splx(s);
+ return EOPNOTSUPP;
+ }
+ if (scp->xsize != ptr->xsize || scp->ysize != ptr->ysize) {
+ splx(s);
+ return EINVAL;
+ }
+ copyout ((void*)scp->vtb.vtb_buffer, ptr->buf,
+ ptr->xsize * ptr->ysize * sizeof(u_int16_t));
+ splx(s);
+ return 0;
+ }
+
case VT_SETMODE: /* set screen switcher mode */
{
struct vt_mode *mode;