home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / utils / console / svgatext.3 / svgatext / SVGATextMode-1.3 / XFREE / os-support / xf86_OSlib.h < prev   
Encoding:
C/C++ Source or Header  |  1995-10-29  |  17.3 KB  |  771 lines

  1. /* $XConsortium: xf86_OSlib.h,v 1.7 95/01/16 13:17:55 kaleb Exp $ */
  2. /* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/xf86_OSlib.h,v 3.18 1995/07/01 10:49:57 dawes Exp $ */
  3. /*
  4.  * Copyright 1990, 1991 by Thomas Roell, Dinkelscherben, Germany
  5.  * Copyright 1992 by David Dawes <dawes@XFree86.org>
  6.  * Copyright 1992 by Jim Tsillas <jtsilla@damon.ccs.northeastern.edu>
  7.  * Copyright 1992 by Rich Murphey <Rich@Rice.edu>
  8.  * Copyright 1992 by Robert Baron <Robert.Baron@ernst.mach.cs.cmu.edu>
  9.  * Copyright 1992 by Orest Zborowski <obz@eskimo.com>
  10.  * Copyright 1993 by Vrije Universiteit, The Netherlands
  11.  * Copyright 1993 by David Wexelblat <dwex@XFree86.org>
  12.  * Copyright 1994 by Holger Veit <veit@gmd.de>
  13.  * Copyright 1994, 1995 by The XFree86 Project, Inc
  14.  *
  15.  * Permission to use, copy, modify, distribute, and sell this software and its
  16.  * documentation for any purpose is hereby granted without fee, provided that
  17.  * the above copyright notice appear in all copies and that both that
  18.  * copyright notice and this permission notice appear in supporting
  19.  * documentation, and that the names of the above listed copyright holders 
  20.  * not be used in advertising or publicity pertaining to distribution of 
  21.  * the software without specific, written prior permission.  The above listed
  22.  * copyright holders make no representations about the suitability of this 
  23.  * software for any purpose.  It is provided "as is" without express or 
  24.  * implied warranty.
  25.  *
  26.  * THE ABOVE LISTED COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD 
  27.  * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 
  28.  * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDERS BE 
  29.  * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY 
  30.  * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
  31.  * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 
  32.  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  33.  *
  34.  */
  35.  
  36. #ifndef _XF86_OSLIB_H
  37. #define _XF86_OSLIB_H
  38.  
  39. #include <X11/Xos.h>
  40. #include <X11/Xfuncproto.h>
  41.  
  42. #ifdef __EMX__
  43. #define NO_INLINE
  44. #endif
  45. #include "compiler.h"
  46.  
  47. #if defined(MACH386) || defined(__OSF__)
  48. # undef NULL
  49. #endif /* MACH386 || __OSF__ */
  50.  
  51. #include <stdio.h>
  52. #include <ctype.h>
  53.  
  54. /**************************************************************************/
  55. /* SYSV386 (SVR3, SVR4)                                                   */
  56. /**************************************************************************/
  57. #if defined(SYSV) || defined(SVR4)
  58. # if defined(sun) && defined(i386) && defined(SVR4)
  59. #  /* Fix for Solaris ANSI compilation */
  60. #  define __EXTENSIONS__
  61. # endif
  62. # include <sys/ioctl.h>
  63. # include <signal.h>
  64. # include <termio.h>
  65. # include <sys/stat.h>
  66. # include <sys/types.h>
  67. # if defined(SCO) || defined(ISC)
  68. # include <sys/param.h>
  69. # endif
  70.  
  71. # include <errno.h>
  72.  
  73. # if defined(_NEED_SYSI86)
  74. #  include <sys/immu.h>
  75. #  if !(defined (sun) && defined (i386) && defined (SVR4))
  76. #    include <sys/region.h>
  77. #  endif
  78. #  include <sys/proc.h>
  79. #  include <sys/tss.h>
  80. #  include <sys/sysi86.h>
  81. #  if defined(SVR4) && !defined(sun)
  82. #   include <sys/seg.h>
  83. #  endif /* SVR4 && !sun */
  84. #  include <sys/v86.h>
  85. #  if defined(sun) && defined (i386) && defined (SVR4)
  86. #    include <sys/psw.h>
  87. #  endif
  88. # endif /* _NEED_SYSI86 */
  89.  
  90. #if defined(HAS_SVR3_MMAPDRV)
  91. # include <sys/sysmacros.h>
  92. # if !defined(_NEED_SYSI86)
  93. #  include <sys/immu.h>
  94. #  include <sys/region.h>
  95. # endif
  96. # include <sys/mmap.h>        /* MMAP driver header */
  97. #endif
  98.  
  99. # define HAS_USL_VTS
  100. # if !defined(sun)
  101. #  include <sys/emap.h>
  102. # endif
  103. # if defined(SCO)
  104. #  include <sys/vtkd.h>
  105. #  include <sys/console.h>
  106. #  include <sys/keyboard.h>
  107. #  include <sys/vid.h>
  108. #  define LED_CAP 0x01
  109. #  define LED_NUM 0x02
  110. #  define LED_SCR 0x04
  111. # else /* SCO */
  112. #  include <sys/at_ansi.h>
  113. #  include <sys/kd.h>
  114. #  include <sys/vt.h>
  115. # endif /* SCO */
  116.  
  117. # if !defined(VT_ACKACQ)
  118. #  define VT_ACKACQ 2
  119. # endif /* !VT_ACKACQ */
  120.  
  121. # if defined(SCO)
  122. #  include <sys/sysmacros.h>
  123. # endif /* SCO */
  124.  
  125. # ifdef SVR4
  126. #  include <sys/mman.h>
  127. #  if !(defined(sun) && defined (i386) && defined (SVR4))
  128. #    define DEV_MEM "/dev/pmem"
  129. #  endif
  130. #  define CLEARDTR_SUPPORT
  131. # endif /* SVR4 */
  132.  
  133. # if defined(sun) && defined (i386) && defined (SVR4)
  134. #  define USE_VT_SYSREQ
  135. #  define VT_SYSREQ_DEFAULT TRUE
  136. # endif
  137.  
  138. # if defined(ATT) && !defined(i386)
  139. #  define i386 /* note defined in ANSI C mode */
  140. # endif /* ATT && !i386 */
  141.  
  142. # if (defined(ATT) || defined(SVR4)) && !(defined(sun) && defined (i386) && defined (SVR4))
  143. #  define XQUEUE
  144. #  include <sys/xque.h>
  145. # endif /* ATT || SVR4 */
  146.  
  147. /* Hack on SVR3 and SVR4 to avoid linking in Xenix or BSD support */
  148. #if defined (sun) && defined (i386) && defined (SVR4)
  149. extern int xf86_solx86usleep(unsigned long);
  150. # define usleep(usec) xf86_solx86usleep(usec) 
  151. #else
  152. # define usleep(usec) syscall(3112, (usec) / 1000 + 1)
  153. #endif /* sun && i386 && SVR4 */
  154.  
  155. # ifdef SYSV
  156. #  if !defined(ISC) || defined(ISC202) || defined(ISC22)
  157. #   define NEED_STRERROR
  158. #  endif
  159. # endif
  160.  
  161. #ifndef NULL
  162. # define NULL 0
  163. #endif
  164.  
  165. #endif /* SYSV || SVR4 */
  166.  
  167. /**************************************************************************/
  168. /* Linux                                                                  */
  169. /**************************************************************************/
  170. #if defined(linux)
  171. # include <sys/ioctl.h>
  172. # include <signal.h>
  173. # include <termio.h>
  174.  
  175. # include <errno.h>
  176. extern int errno;
  177.  
  178. # include <sys/stat.h>
  179.  
  180. # define HAS_USL_VTS
  181. # include <sys/mman.h>
  182. # include <sys/kd.h>
  183. # include <sys/vt.h>
  184. # define LDGMAP GIO_SCRNMAP
  185. # define LDSMAP PIO_SCRNMAP
  186. # define LDNMAP LDSMAP
  187.  
  188. # define CLEARDTR_SUPPORT
  189. # define USE_VT_SYSREQ
  190.  
  191. #endif /* linux */
  192.  
  193. /**************************************************************************/
  194. /* LynxOS AT                                                              */
  195. /**************************************************************************/
  196. #if defined(Lynx)
  197.  
  198. # include <termio.h>
  199. # include <sys/ioctl.h>
  200. # include <sys/param.h>
  201. # include <signal.h>
  202. # include <sys/kd.h>
  203. # include <sys/vt.h>
  204. # include <sys/stat.h>
  205.  
  206. # include <errno.h>
  207. extern int errno;
  208.  
  209. /* smem_create et.al. to access physical memory */ 
  210. # include <smem.h>
  211.  
  212. /* keyboard types */
  213. # define KB_84        1
  214. # define KB_101     2
  215. # define KB_OTHER    3
  216.  
  217. /* atc drivers ignores argument to VT_RELDISP ioctl */
  218. # define VT_ACKACQ    2
  219.  
  220. #endif /* Lynx */
  221.  
  222. /**************************************************************************/
  223. /* 386BSD and derivatives,  BSD/386                                       */
  224. /**************************************************************************/
  225.  
  226. #if defined(__386BSD__) && (defined(__FreeBSD__) || defined(__NetBSD__))
  227. # undef __386BSD__
  228. #endif
  229.  
  230. #ifdef CSRG_BASED
  231. # include <sys/ioctl.h>
  232. # include <signal.h>
  233.  
  234. # include <termios.h>
  235. # define termio termios
  236.  
  237. # include <errno.h>
  238. extern int errno;
  239.  
  240. # if !defined(LINKKIT)
  241.   /* Don't need this stuff for the Link Kit */
  242. #  if defined(__bsdi__)
  243. #   include <i386/isa/pcconsioctl.h>
  244. #   define CONSOLE_X_MODE_ON PCCONIOCRAW
  245. #   define CONSOLE_X_MODE_OFF PCCONIOCCOOK
  246. #   define CONSOLE_X_BELL PCCONIOCBEEP
  247. #  else /* __bsdi__ */
  248. #   ifdef CODRV_SUPPORT
  249. #    define COMPAT_CO011
  250. #    if defined(__FreeBSD__) || defined(__NetBSD__)
  251. #     include <machine/ioctl_pc.h>
  252. #    else
  253. #     include <sys/ioctl_pc.h>
  254. #    endif /* __FreeBSD__ || __NetBSD__ */
  255. #   endif /* CODRV_SUPPORT */
  256. #   ifdef SYSCONS_SUPPORT
  257. #    define COMPAT_SYSCONS
  258. #    if defined(__FreeBSD__) || defined(__NetBSD__)
  259. #     include <machine/console.h>
  260. #    else
  261. #     include <sys/console.h>
  262. #    endif /* __FreeBSD__ || __NetBSD__ */
  263. #   endif /* SYSCONS_SUPPORT */
  264. #   if defined(PCVT_SUPPORT)
  265. #    if !defined(SYSCONS_SUPPORT)
  266.       /* no syscons, so include pcvt specific header file */
  267. #     if defined(__FreeBSD__) || defined(__NetBSD__)
  268. #      include <machine/pcvt_ioctl.h>
  269. #     else
  270. #      include <sys/pcvt_ioctl.h>
  271. #     endif /* __FreeBSD__ || __NetBSD__ */
  272. #    else /* pcvt and syscons: hard-code the ID magic */
  273. #     define VGAPCVTID _IOWR('V',113, struct pcvtid)
  274.       struct pcvtid {
  275.     char name[16];
  276.     int rmajor, rminor;
  277.       };
  278. #    endif /* PCVT_SUPPORT && SYSCONS_SUPPORT */
  279. #   endif /* PCVT_SUPPORT */
  280.     /* Include these definitions in case ioctl_pc.h didn't get included */
  281. #   ifndef CONSOLE_X_MODE_ON
  282. #    define CONSOLE_X_MODE_ON _IO('t',121)
  283. #   endif
  284. #   ifndef CONSOLE_X_MODE_OFF
  285. #    define CONSOLE_X_MODE_OFF _IO('t',122)
  286. #   endif
  287. #   ifndef CONSOLE_X_BELL
  288. #    define CONSOLE_X_BELL _IOW('t',123,int[2])
  289. #   endif
  290. #  endif /* __bsdi__ */
  291. # endif /* !LINKKIT */
  292.  
  293. # include <sys/types.h>
  294. # include <sys/mman.h>
  295. # include <sys/stat.h>
  296.  
  297. # if defined(__bsdi__)
  298. #  include <i386/isa/vgaioctl.h>
  299. # endif /* __bsdi__ */
  300.  
  301. # define CLEARDTR_SUPPORT
  302.  
  303. # if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT)
  304. #  define USE_VT_SYSREQ
  305. # endif
  306.  
  307. # ifndef NULL
  308. #   define NULL 0
  309. # endif
  310.  
  311. #endif /* CSRG_BASED */
  312.  
  313. /**************************************************************************/
  314. /* Mach and OSF/1                                                         */
  315. /**************************************************************************/
  316. #if defined(MACH386) || defined(__OSF__)
  317. # include <sys/ioctl.h>
  318.  
  319. # include <signal.h>
  320.  
  321. # include <errno.h>
  322. extern int errno;
  323.  
  324. # if defined(__OSF__)
  325. #  include <sys/param.h>
  326. #  include <machine/kd.h>
  327. # else /* __OSF__ */
  328. #  if !defined(__STDC__)
  329. #   define __STDC__ 1
  330. #   include <i386at/kd.h>
  331. #   include <i386at/kd_queue.h>
  332. #   undef __STDC__
  333. #  else /* !__STDC__ */
  334. #   include <i386at/kd.h>
  335. #   include <i386at/kd_queue.h>
  336. #  endif /* !__STDC__ */
  337. #  include <sys/file.h>
  338. #  define SEEK_SET L_SET
  339. # endif /* __OSF__ */
  340.  
  341. # ifdef MACH386
  342. #  define NEED_STRERROR
  343. # endif
  344.  
  345. # include <sys/mman.h>
  346. # include <sys/stat.h>
  347. # define MOUSE_PROTOCOL_IN_KERNEL
  348.  
  349. #endif /* MACH386 || __OSF__ */
  350.  
  351. /**************************************************************************/
  352. /* Minix                                                                  */
  353. /**************************************************************************/
  354. #if defined(MINIX)
  355. # include <sys/ioctl.h>
  356. # include <signal.h>
  357.  
  358. # include <termios.h>
  359. # define termio termios
  360.  
  361. # include <errno.h>
  362.  
  363. # include <assert.h>
  364. # include <limits.h>
  365. # include <sys/memio.h>
  366. # include <sys/kbdio.h>
  367.  
  368. # include <sys/stat.h>
  369.  
  370. #endif /* MINIX */
  371.  
  372. /**************************************************************************/
  373. /* Amoeba                                                                 */
  374. /**************************************************************************/
  375. #if defined(AMOEBA)
  376. # define port am_port_t
  377. # include <amoeba.h>
  378. # include <cmdreg.h>
  379. # include <stderr.h>
  380. # include <ampolicy.h>
  381. # include <proc.h>
  382. # include <signal.h>
  383. # include <server/iop/iop.h>
  384. # include <errno.h>
  385. # undef port
  386.  
  387. # undef _POSIX_SOURCE    /* to get the BSD-compatible symbols */
  388. # include <sys/stat.h>
  389.  
  390.   /* keyboard types */
  391. # define KB_84                   1
  392. # define KB_101                  2
  393. # define KB_OTHER                3
  394.  
  395. extern capability iopcap;
  396. # define MOUSE_PROTOCOL_IN_KERNEL
  397.  
  398. #endif /* AMOEBA */
  399.  
  400. /**************************************************************************/
  401. /* OS/2                                                                   */
  402. /**************************************************************************/
  403. /* currently OS/2 with EMX/GCC compiler only */
  404. #if defined(__EMX__)
  405. # include <signal.h>
  406. # include <errno.h>
  407. # include <sys/stat.h>
  408.  
  409. /* I would have liked to have this included here always, but
  410.  * it causes clashes for BYTE and BOOL with Xmd.h, which is too dangerous. 
  411.  * So I'll include it in place where I know it does no harm.
  412.  */
  413. #if defined(I_NEED_OS2_H)
  414. # undef BOOL
  415. # undef BYTE
  416. # include <os2.h>
  417. #endif
  418.  
  419.   /* keyboard types */
  420. # define KB_84                   1
  421. # define KB_101                  2
  422. /* could detect more keyboards */
  423. # define KB_OTHER                3
  424.  
  425.   /* LEDs */
  426. #  define LED_CAP 0x40
  427. #  define LED_NUM 0x20
  428. #  define LED_SCR 0x10
  429.  
  430.   /* mouse driver */
  431. # define OSMOUSE_ONLY
  432. # define MOUSE_PROTOCOL_IN_KERNEL
  433.  
  434. #endif
  435.  
  436. /**************************************************************************/
  437. /* Generic                                                                */
  438. /**************************************************************************/
  439.  
  440. /* 
  441.  * Hack originally for ISC 2.2 POSIX headers, but may apply elsewhere,
  442.  * and it's safe, so just do it.
  443.  */
  444. #if !defined(O_NDELAY) && defined(O_NONBLOCK)
  445. # define O_NDELAY O_NONBLOCK
  446. #endif /* !O_NDELAY && O_NONBLOCK */
  447.  
  448. #if !defined(MAXHOSTNAMELEN)
  449. # define MAXHOSTNAMELEN 32
  450. #endif /* !MAXHOSTNAMELEN */
  451.  
  452. #if !defined(X_NOT_POSIX)
  453. # if defined(_POSIX_SOURCE)
  454. #  include <limits.h>
  455. # else
  456. #  define _POSIX_SOURCE
  457. #  include <limits.h>
  458. #  undef _POSIX_SOURCE
  459. # endif /* _POSIX_SOURCE */
  460. #endif /* !X_NOT_POSIX */
  461. #if !defined(PATH_MAX)
  462. # if defined(MAXPATHLEN)
  463. #  define PATH_MAX MAXPATHLEN
  464. # else
  465. #  define PATH_MAX 1024
  466. # endif /* MAXPATHLEN */
  467. #endif /* !PATH_MAX */
  468.  
  469. #ifdef NEED_STRERROR
  470. # ifndef strerror
  471. extern char *sys_errlist[];
  472. extern int sys_nerr;
  473. #  define strerror(n) \
  474.      ((n) >= 0 && (n) < sys_nerr) ? sys_errlist[n] : "unknown error"
  475. # endif /* !strerror */
  476. #endif /* NEED_STRERROR */
  477.  
  478. #ifndef VT_SYSREQ_DEFAULT
  479. #define VT_SYSREQ_DEFAULT FALSE
  480. #endif
  481.  
  482. #ifdef OSMOUSE_ONLY
  483. # ifndef MOUSE_PROTOCOL_IN_KERNEL
  484. #  define MOUSE_PROTOCOL_IN_KERNEL
  485. # endif
  486. #endif
  487.  
  488. /* The Region arg to xf86[Un]Map* */
  489. #define NUM_REGIONS 3
  490. #define VGA_REGION 0
  491. #define LINEAR_REGION 1
  492. #define EXTENDED_REGION 2
  493.  
  494. #ifndef NO_OSLIB_PROTOTYPES
  495. /*
  496.  * This is to prevent re-entrancy to FatalError() when aborting.
  497.  * Anything that can be called as a result of AbortDDX() should use this
  498.  * instead of FatalError(). (xf86Exiting gets set to TRUE the first time
  499.  * AbortDDX() is called.)
  500.  */
  501.  
  502. extern Bool xf86Exiting;
  503.  
  504. #define xf86FatalError(a, b) \
  505.     if (xf86Exiting) { \
  506.         ErrorF(a, b); \
  507.         return; \
  508.     } else FatalError(a, b)
  509.  
  510. /***************************************************************************/
  511. /* Prototypes                                                              */
  512. /***************************************************************************/
  513.  
  514. #include <X11/Xfuncproto.h>
  515.  
  516. _XFUNCPROTOBEGIN
  517.  
  518. /* xf86_Util.c */
  519. extern int StrCaseCmp(
  520. #if NeedFunctionPrototypes
  521.     char *,
  522.     char *
  523. #endif
  524. );
  525.  
  526. /* OS-support layer */
  527. extern void xf86OpenConsole(
  528. #if NeedFunctionPrototypes
  529.     void
  530. #endif
  531. );
  532. extern void xf86CloseConsole(
  533. #if NeedFunctionPrototypes
  534.     void
  535. #endif
  536. );
  537. extern Bool xf86VTSwitchPending(
  538. #if NeedFunctionPrototypes
  539.     void
  540. #endif
  541. );
  542. extern Bool xf86VTSwitchAway(
  543. #if NeedFunctionPrototypes
  544.     void
  545. #endif
  546. );
  547. extern Bool xf86VTSwitchTo(
  548. #if NeedFunctionPrototypes
  549.     void
  550. #endif
  551. );
  552. extern Bool xf86LinearVidMem(
  553. #if NeedFunctionPrototypes
  554.     void
  555. #endif
  556. );
  557. extern pointer xf86MapVidMem(
  558. #if NeedFunctionPrototypes
  559.     int,
  560.     int,
  561.     pointer,
  562.     unsigned long
  563. #endif
  564. );
  565. extern void xf86UnMapVidMem(
  566. #if NeedFunctionPrototypes
  567.     int,
  568.     int,
  569.     pointer,
  570.     unsigned long
  571. #endif
  572. );
  573. extern void xf86MapDisplay(
  574. #if NeedFunctionPrototypes
  575.     int,
  576.     int
  577. #endif
  578. );
  579. extern void xf86UnMapDisplay(
  580. #if NeedFunctionPrototypes
  581.     int,
  582.     int
  583. #endif
  584. );
  585. extern int xf86ReadBIOS(
  586. #if NeedFunctionPrototypes
  587.     unsigned long,
  588.     unsigned long,
  589.     unsigned char *,
  590.     int
  591. #endif
  592. );
  593. extern void xf86ClearIOPortList(
  594. #if NeedFunctionPrototypes
  595.     int
  596. #endif
  597. );
  598. extern void xf86AddIOPorts(
  599. #if NeedFunctionPrototypes
  600.     int,
  601.     int,
  602.     unsigned *
  603. #endif
  604. );
  605. void xf86EnableIOPorts(
  606. #if NeedFunctionPrototypes
  607.     int
  608. #endif
  609. );
  610. void xf86DisableIOPorts(
  611. #if NeedFunctionPrototypes
  612.     int
  613. #endif
  614. );
  615. void xf86DisableIOPrivs(
  616. #if NeedFunctionPrototypes
  617.     void
  618. #endif
  619. );
  620. extern Bool xf86DisableInterrupts(
  621. #if NeedFunctionPrototypes
  622.     void
  623. #endif
  624. );
  625. extern void xf86EnableInterrupts(
  626. #if NeedFunctionPrototypes
  627.     void
  628. #endif
  629. );
  630. extern int xf86ProcessArgument(
  631. #if NeedFunctionPrototypes
  632.     int,
  633.     char **,
  634.     int
  635. #endif
  636. );
  637. extern void xf86UseMsg(
  638. #if NeedFunctionPrototypes
  639.     void
  640. #endif
  641. );
  642. extern void xf86SoundKbdBell(
  643. #if NeedFunctionPrototypes
  644.     int,
  645.     int,
  646.     int
  647. #endif
  648. );
  649. extern void xf86SetKbdLeds(
  650. #if NeedFunctionPrototypes
  651.     int
  652. #endif
  653. );
  654. extern int xf86GetKbdLeds(
  655. #if NeedFunctionPrototypes
  656.     void
  657. #endif
  658. );
  659. extern void xf86SetKbdRepeat(
  660. #if NeedFunctionPrototypes
  661.     char
  662. #endif
  663. );
  664. extern void xf86KbdInit(
  665. #if NeedFunctionPrototypes
  666.     void
  667. #endif
  668. );
  669. extern int xf86KbdOn(
  670. #if NeedFunctionPrototypes
  671.     void
  672. #endif
  673. );
  674. extern int xf86KbdOff(
  675. #if NeedFunctionPrototypes
  676.     void
  677. #endif
  678. );
  679. extern void xf86KbdEvents(
  680. #if NeedFunctionPrototypes
  681.     void
  682. #endif
  683. );
  684. extern void xf86SetMouseSpeed(
  685. #if NeedFunctionPrototypes
  686.     int,
  687.     int,
  688.     unsigned
  689. #endif
  690. );
  691. extern void xf86MouseInit(
  692. #if NeedFunctionPrototypes
  693.     void
  694. #endif
  695. );
  696. extern int xf86MouseOn(
  697. #if NeedFunctionPrototypes
  698.     void
  699. #endif
  700. );
  701. extern int xf86MouseOff(
  702. #if NeedFunctionPrototypes
  703.     Bool
  704. #endif
  705. );
  706. extern void xf86MouseEvents(
  707. #if NeedFunctionPrototypes
  708.     void
  709. #endif
  710. );
  711. extern int  xf86XqueKbdProc(
  712. #if NeedFunctionPrototypes
  713.     DevicePtr,
  714.     int
  715. #endif
  716. );
  717. extern int  xf86XqueMseProc(
  718. #if NeedFunctionPrototypes
  719.     DevicePtr,
  720.     int
  721. #endif
  722. );
  723. extern void xf86XqueEvents(
  724. #if NeedFunctionPrototypes
  725.     void
  726. #endif
  727. );
  728.  
  729.  
  730. /* These are privates */
  731. extern void xf86InitPortLists(
  732. #if NeedFunctionPrototypes
  733.     unsigned **,
  734.     int *,
  735.     Bool *,
  736.     Bool *,
  737.     int
  738. #endif
  739. );
  740. extern Bool xf86CheckPorts(
  741. #if NeedFunctionPrototypes
  742.     unsigned,
  743.     unsigned **,
  744.     int *,
  745.     Bool *,
  746.     int
  747. #endif
  748. );
  749. extern int  xf86OsMouseProc(
  750. #if NeedFunctionPrototypes
  751.     DevicePtr,
  752.     int
  753. #endif
  754. );
  755. extern void xf86OsMouseEvents(
  756. #if NeedFunctionPrototypes
  757.     void
  758. #endif
  759. );
  760. extern void xf86OsMouseOption(
  761. #if NeedFunctionPrototypes
  762.     int,
  763.     pointer /* gets cast to LexPtr later, saves include file hassles */
  764. #endif
  765. );
  766.  
  767. _XFUNCPROTOEND
  768. #endif /* NO_OSLIB_PROTOTYPES */
  769.  
  770. #endif /* _XF86_OSLIB_H */
  771.