"Fossies" - the Fresh Open Source Software Archive

Member "xorg-server-1.20.5/hw/xfree86/os-support/bsd/bsd_bell.c" (30 May 2019, 2543 Bytes) of package /linux/misc/xorg-server-1.20.5.tar.bz2:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "bsd_bell.c" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * Copyright 1992 by Rich Murphey <Rich@Rice.edu>
    3  * Copyright 1993 by David Dawes <dawes@xfree86.org>
    4  *
    5  * Permission to use, copy, modify, distribute, and sell this software and its
    6  * documentation for any purpose is hereby granted without fee, provided that
    7  * the above copyright notice appear in all copies and that both that
    8  * copyright notice and this permission notice appear in supporting
    9  * documentation, and that the names of Rich Murphey and David Dawes
   10  * not be used in advertising or publicity pertaining to distribution of
   11  * the software without specific, written prior permission.  Rich Murphey and
   12  * David Dawes make no representations about the suitability of this
   13  * software for any purpose.  It is provided "as is" without express or
   14  * implied warranty.
   15  *
   16  * RICH MURPHEY AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO
   17  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
   18  * FITNESS, IN NO EVENT SHALL RICH MURPHEY OR DAVID DAWES BE LIABLE FOR
   19  * ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
   20  * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
   21  * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
   22  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   23  *
   24  */
   25 
   26 #ifdef HAVE_XORG_CONFIG_H
   27 #include <xorg-config.h>
   28 #endif
   29 
   30 #if defined (SYSCONS_SUPPORT)
   31 #include <sys/kbio.h>
   32 #endif
   33 
   34 #include <termios.h>
   35 
   36 #include "xf86.h"
   37 #include "xf86Priv.h"
   38 #include "xf86_OSlib.h"
   39 
   40 void
   41 xf86OSRingBell(int loudness, int pitch, int duration)
   42 {
   43 #ifdef WSCONS_SUPPORT
   44     struct wskbd_bell_data wsb;
   45 #endif
   46 
   47     if (loudness && pitch) {
   48 #ifdef PCCONS_SUPPORT
   49         int data[2];
   50 #endif
   51 
   52         switch (xf86Info.consType) {
   53 
   54 #ifdef PCCONS_SUPPORT
   55         case PCCONS:
   56             data[0] = pitch;
   57             data[1] = (duration * loudness) / 50;
   58             ioctl(xf86Info.consoleFd, CONSOLE_X_BELL, data);
   59             break;
   60 #endif
   61 #if defined (SYSCONS_SUPPORT) || defined (PCVT_SUPPORT)
   62         case SYSCONS:
   63         case PCVT:
   64             ioctl(xf86Info.consoleFd, KDMKTONE,
   65                   ((1193190 / pitch) & 0xffff) |
   66                   (((unsigned long) duration * loudness / 50) << 16));
   67             break;
   68 #endif
   69 #if defined (WSCONS_SUPPORT)
   70         case WSCONS:
   71             wsb.which = WSKBD_BELL_DOALL;
   72             wsb.pitch = pitch;
   73             wsb.period = duration;
   74             wsb.volume = loudness;
   75             ioctl(xf86Info.consoleFd, WSKBDIO_COMPLEXBELL, &wsb);
   76             break;
   77 #endif
   78         }
   79     }
   80 }