diff options
author | kuriyama <kuriyama@FreeBSD.org> | 1999-02-13 11:32:00 +0000 |
---|---|---|
committer | kuriyama <kuriyama@FreeBSD.org> | 1999-02-13 11:32:00 +0000 |
commit | 3cc41826ab6506e9c9133d85220a0f94cf4d6d61 (patch) | |
tree | ffbf059cf57bd485d0aac2620206d1c31f6649fa | |
parent | 1cddd2160576125f9b7544f0af72ccb52afa4513 (diff) | |
download | FreeBSD-src-3cc41826ab6506e9c9133d85220a0f94cf4d6d61.zip FreeBSD-src-3cc41826ab6506e9c9133d85220a0f94cf4d6d61.tar.gz |
Add "beep" ioctl. (#10 is reserved for PIOCSVIR)
Obtained from: PAO3
Reviewed by: -current list
-rw-r--r-- | sys/pccard/cardinfo.h | 1 | ||||
-rw-r--r-- | sys/pccard/driver.h | 2 | ||||
-rw-r--r-- | sys/pccard/pccard.c | 7 | ||||
-rw-r--r-- | sys/pccard/pccard_beep.c | 8 |
4 files changed, 14 insertions, 4 deletions
diff --git a/sys/pccard/cardinfo.h b/sys/pccard/cardinfo.h index ba98283..045665a 100644 --- a/sys/pccard/cardinfo.h +++ b/sys/pccard/cardinfo.h @@ -45,6 +45,7 @@ #define PIOCRWFLAG _IOW('P', 7, int) /* Set flags for drv use */ #define PIOCRWMEM _IOWR('P', 8, unsigned long) /* Set mem for drv use */ #define PIOCSPOW _IOW('P', 9, struct power) /* Set power structure */ +#define PIOCSBEEP _IOW('P', 11, int) /* Select Beep */ /* * Debug codes. */ diff --git a/sys/pccard/driver.h b/sys/pccard/driver.h index bbb255e..09acc50 100644 --- a/sys/pccard/driver.h +++ b/sys/pccard/driver.h @@ -23,6 +23,6 @@ void pccard_insert_beep __P((void)); void pccard_remove_beep __P((void)); void pccard_success_beep __P((void)); void pccard_failure_beep __P((void)); -void pccard_beep_select __P((enum beepstate)); +int pccard_beep_select __P((enum beepstate)); #endif /* !_PCCARD_DRIVER_H_ */ diff --git a/sys/pccard/pccard.c b/sys/pccard/pccard.c index 05aa241..5783bac 100644 --- a/sys/pccard/pccard.c +++ b/sys/pccard/pccard.c @@ -28,7 +28,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: pccard.c,v 1.69 1999/01/27 10:10:03 bde Exp $ + * $Id: pccard.c,v 1.70 1999/01/27 23:45:40 dillon Exp $ */ #include "opt_devfs.h" @@ -1026,6 +1026,11 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, struct proc *p) else pccard_failure_beep(); return err; + case PIOCSBEEP: + if (pccard_beep_select(*(int *)data)) { + return EINVAL; + } + break; } return(0); } diff --git a/sys/pccard/pccard_beep.c b/sys/pccard/pccard_beep.c index 63c6098..5c1ceb7 100644 --- a/sys/pccard/pccard_beep.c +++ b/sys/pccard/pccard_beep.c @@ -64,7 +64,11 @@ void pccard_failure_beep(void) sysbeep(PCCARD_BEEP_PITCH2, PCCARD_BEEP_DURATION2); } -void pccard_beep_select(enum beepstate state) +int pccard_beep_select(enum beepstate state) { - allow_beep = state; + if (state == BEEP_ON || state == BEEP_OFF) { + allow_beep = state; + return 0; + } + return 1; } |