Annotation of OSKit-Mach/oskit/pc/osenv_bell.c, revision 1.1

1.1     ! root        1: /* Support for minimal console's bell using PC speaker.
        !             2:    This replaces the default oskit function that busy-waits.  */
        !             3: 
        !             4: #include <oskit/machine/pc/direct_cons.h>
        !             5: #include <oskit/machine/pc/speaker.h>
        !             6: 
        !             7: #include "time_out.h"
        !             8: 
        !             9: #define BELL_FREQUENCY 750     /* Hz */
        !            10: #define        BELL_DURATION   (hz>>3) /* 1/8th second duration */
        !            11: 
        !            12: /* This is the private timer used to turn off the speaker.  */
        !            13: static timer_elt_data_t bell_timer = { fcn: (int (*)()) &pc_speaker_off };
        !            14: 
        !            15: void
        !            16: direct_cons_bell (void)
        !            17: {
        !            18:   /* Cancel the timeout for a bell we are already ringing.  */
        !            19:   if (reset_timeout (&bell_timer))
        !            20:     /* Turn the speaker off for an instant to distinguish this bell
        !            21:        from the next.  */
        !            22:     pc_speaker_off ();
        !            23: 
        !            24:   /* Turn the speaker on and set the timeout to turn it off.  */
        !            25:   pc_speaker_on (BELL_FREQUENCY);
        !            26:   set_timeout (&bell_timer, BELL_DURATION);
        !            27: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.