diff options
author | ray <ray@FreeBSD.org> | 2014-05-06 13:52:13 +0000 |
---|---|---|
committer | ray <ray@FreeBSD.org> | 2014-05-06 13:52:13 +0000 |
commit | 39b4e3c4c297cc1ebdd19c6c0e7ecec10bbde74a (patch) | |
tree | 6610a556e39b60e9e69dbcd19697cc2cfa744a84 | |
parent | e5fc359e0ddfe0c461e95a10944a4b31cb6def66 (diff) | |
download | FreeBSD-src-39b4e3c4c297cc1ebdd19c6c0e7ecec10bbde74a.zip FreeBSD-src-39b4e3c4c297cc1ebdd19c6c0e7ecec10bbde74a.tar.gz |
Implement KDMKTONE ioctl.
Submitted by: Matthew D.Fuller <fullermd@over-yonder.net> (original version)
MFC: 7 days
PR: kern/189170
Sponsored by: The FreeBSD Foundation
-rw-r--r-- | sys/dev/vt/vt_core.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 4d2149a..759564a 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -1732,9 +1732,17 @@ skip_thunk: td->td_frame->tf_rflags &= ~PSL_IOPL; #endif return (0); - case KDMKTONE: /* sound the bell */ - /* TODO */ + case KDMKTONE: { /* sound the bell */ + int freq, period; + + freq = 1193182 / ((*(int*)data) & 0xffff); + period = (((*(int*)data)>>16) & 0xffff) * hz / 1000; + if(*(int*)data) + sysbeep(freq, period); + else + vtterm_bell(tm); return (0); + } case KIOCSOUND: /* make tone (*data) hz */ /* TODO */ return (0); |