Home | History | Annotate | Line # | Download | only in dev
      1 /* $NetBSD: spkrvar.h,v 1.10 2021/04/03 04:10:30 isaki Exp $ */
      2 
      3 #ifndef _SYS_DEV_SPKRVAR_H
      4 #define _SYS_DEV_SPKRVAR_H
      5 
      6 #include <sys/module.h>
      7 
      8 struct spkr_softc {
      9 	device_t sc_dev;
     10 	device_t sc_wsbelldev;
     11 	int sc_octave;	/* currently selected octave */
     12 	int sc_whole;	/* whole-note time at current tempo, in ticks */
     13 	int sc_value;	/* whole divisor for note time, quarter note = 1 */
     14 	int sc_fill;	/* controls spacing of notes */
     15 	bool sc_octtrack;	/* octave-tracking on? */
     16 	bool sc_octprefix;	/* override current octave-tracking state? */
     17 	char *sc_inbuf;
     18 
     19 	/* attachment-specific hooks */
     20 	void (*sc_tone)(device_t, u_int, u_int);
     21 	u_int sc_vol;	/* volume - only for audio skpr */
     22 };
     23 
     24 void spkr_attach(device_t, void (*)(device_t, u_int, u_int));
     25 
     26 int spkr_detach(device_t, int);
     27 
     28 int spkr_rescan(device_t, const char *, const int *);
     29 
     30 int spkr_childdet(device_t, device_t);
     31 
     32 #endif /* _SYS_DEV_SPKRVAR_H */
     33