kernel/drivers/speaker.h (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
/*!
* Driver for speakers.
*/
#ifndef SPEAKER_H
#define SPEAKER_H
#include <stdint.h>
/*!
* Interface for a speaker driver.
*/
typedef struct {
/*!
* Initializes the speaker.
* \return 1 on success, 0 on failure
*/
int (*init)(void);
/*!
* Sets the current frequency of the speaker.
* \param freq Frequency to by output by the speaker.
* \param volume Volume of the sound.
* \return 1 on success, 0 on failure.
*/
int (*make_sound)(uint32_t freq, uint32_t volume);
/*!
* Mutes the speaker.
* \return 1 on success, 0 on failure.
*/
int (*mute)();
} SPEAKER_DRIVER;
//! Driver for the bios speaker.
extern SPEAKER_DRIVER bios_sp;
#endif