wsbellvar.h revision 1.3.4.2 1 1.3.4.2 skrll /* $NetBSD: wsbellvar.h,v 1.3.4.2 2017/08/28 17:52:31 skrll Exp $ */
2 1.3.4.2 skrll /*-
3 1.3.4.2 skrll * Copyright (c) 2017 Nathanial Sloss <nathanialsloss (at) yahoo.com.au>
4 1.3.4.2 skrll * All rights reserved.
5 1.3.4.2 skrll *
6 1.3.4.2 skrll * Redistribution and use in source and binary forms, with or without
7 1.3.4.2 skrll * modification, are permitted provided that the following conditions
8 1.3.4.2 skrll * are met:
9 1.3.4.2 skrll * 1. Redistributions of source code must retain the above copyright
10 1.3.4.2 skrll * notice, this list of conditions and the following disclaimer.
11 1.3.4.2 skrll * 2. Redistributions in binary form must reproduce the above copyright
12 1.3.4.2 skrll * notice, this list of conditions and the following disclaimer in the
13 1.3.4.2 skrll * documentation and/or other materials provided with the distribution.
14 1.3.4.2 skrll *
15 1.3.4.2 skrll * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
16 1.3.4.2 skrll * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
17 1.3.4.2 skrll * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 1.3.4.2 skrll * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
19 1.3.4.2 skrll * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 1.3.4.2 skrll * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 1.3.4.2 skrll * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 1.3.4.2 skrll * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 1.3.4.2 skrll * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 1.3.4.2 skrll * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 1.3.4.2 skrll * POSSIBILITY OF SUCH DAMAGE.
26 1.3.4.2 skrll */
27 1.3.4.2 skrll
28 1.3.4.2 skrll #include "locators.h"
29 1.3.4.2 skrll #include <dev/wscons/wseventvar.h>
30 1.3.4.2 skrll #include <dev/wscons/wsmuxvar.h>
31 1.3.4.2 skrll
32 1.3.4.2 skrll #define wsbelldevcf_mux cf_loc[WSBELLDEVCF_MUX]
33 1.3.4.2 skrll
34 1.3.4.2 skrll struct vbell_args {
35 1.3.4.2 skrll u_int pitch;
36 1.3.4.2 skrll u_int period;
37 1.3.4.2 skrll u_int volume;
38 1.3.4.2 skrll };
39 1.3.4.2 skrll
40 1.3.4.2 skrll struct wsbell_softc {
41 1.3.4.2 skrll struct wsevsrc sc_base;
42 1.3.4.2 skrll dev_t sc_spkr; /* our spkr device */
43 1.3.4.2 skrll struct wskbd_bell_data sc_bell_data;
44 1.3.4.2 skrll
45 1.3.4.2 skrll void *sc_accesscookie;
46 1.3.4.2 skrll
47 1.3.4.2 skrll int sc_refcnt;
48 1.3.4.2 skrll bool sc_dying; /* device is being detached */
49 1.3.4.2 skrll
50 1.3.4.2 skrll lwp_t *sc_bellthread;
51 1.3.4.2 skrll kmutex_t sc_bellock;
52 1.3.4.2 skrll kcondvar_t sc_bellcv;
53 1.3.4.2 skrll
54 1.3.4.2 skrll struct vbell_args sc_bell_args;
55 1.3.4.2 skrll };
56 1.3.4.2 skrll
57 1.3.4.2 skrll /*
58 1.3.4.2 skrll * Autoconfiguration helper functions.
59 1.3.4.2 skrll */
60 1.3.4.2 skrll int wsbelldevprint(void *, const char *);
61