home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.2 (Developer) / NS_dev_3.2.iso / NextDeveloper / Headers / bsd / dev / m68k / evsio.h < prev    next >
Text File  |  1993-10-19  |  5KB  |  130 lines

  1. /******************************************************************************
  2.     evsio.h
  3.     Ioctl calls for the events status driver
  4.     Leovitch 09Dec88
  5.     
  6.     Copyright 1988 NeXT, Inc.
  7.     
  8.     Modified:
  9.     
  10.     24Aug89 Ted  ANSI prototyping.
  11.     07Mar90 Ted  Added Morris' new EVSIOCADS ioctl.
  12.     22May90 Ted  Added wait cursor-related ioctls.
  13.     22Dec90 Ted  Added EVSIOSADB and EVSIOCADB, autodim brightness ioctls.
  14.     11Oct91 mpaque Added status and autodim control ioctls. 
  15. ******************************************************************************/
  16.  
  17. #ifndef _M68K_DEV_EVSIO_
  18. #define _M68K_DEV_EVSIO_
  19.  
  20. #import <sys/ioctl.h>
  21. /*
  22.  * We have both client and server API definitions for event structures.
  23.  * What's actually used in these ioctl() calls are common to both sides.
  24.  * Other things may differ.  When we build the Kit wrapper around these ioctls,
  25.  * in the hope that they will go away in Release 4.0, we need to use the client
  26.  * event API.  Hence this switch...
  27.  */
  28. #if !defined(_DO_NOT_IMPORT_EVENTS_)
  29. #import <bsd/dev/m68k/event.h>
  30. #endif
  31. #import <bsd/dev/ev_types.h>    /* Public type definitions. */
  32.  
  33. /* For backwards source compatability */
  34. #ifndef MAXMOUSESCALINGS
  35. /* Maximum length of SetMouseScaling arrays */
  36. #define MAXMOUSESCALINGS NX_MAXMOUSESCALINGS
  37. #endif MAXMOUSESCALINGS
  38.  
  39. struct evsioPoint {
  40.     short x, y;
  41. };
  42.  
  43. /* Data structures for private low level API */
  44. struct evsioLLEvent {
  45.     int type;
  46.     struct evsioPoint location;
  47.     NXEventData data;
  48. };
  49.  
  50. typedef struct evsioLLEvent _NXLLEvent;
  51.  
  52. /*
  53.  * Glue for the current ioctl call implementation of NXEventSystemInfo.
  54.  * THIS WILL GO AWAY
  55.  */
  56. struct _NXEventSystemInfo_ioctl
  57. {
  58.     int            flavor;    /* Flavor of info request */
  59.     NXEventSystemInfoType    data;    /* Address of data in user space */
  60.     unsigned int        size;    /* Size of data in ints */
  61. };
  62.  
  63.  
  64. /* General ioctls - PRIVATE API */
  65.  
  66. #define EVSIOLLPE _IOW('e', 2, struct evsioLLEvent) /* Low-level Post Event */
  67.  
  68. /* Post Event for ptr device.  This should update the cursor position. */
  69. #define EVSIOPTRLLPE _IOW('e', 3, struct evsioLLEvent)
  70.  
  71. /* Keyboard-related ioctls */
  72.  
  73. #define EVSIOSKR  _IOW('e', 10, int)    /* SetKeyRepeat */
  74. #define EVSIOCKR  _IOR('e', 11, int)    /* CurrentKeyRepeat */
  75. #define EVSIOSIKR _IOW('e', 12, int)    /* SetInitialKeyRepeat */
  76. #define EVSIOCIKR _IOR('e', 13, int)    /* CurrentInitialKeyRepeat */
  77. #define EVSIOSKM  _IOW('e', 14, struct evsioKeymapping)
  78.                     /* SetKeyMapping */
  79. #define    EVSIOCKM  _IOWR('e', 15, struct evsioKeymapping)
  80.                     /* CurrentKeyMapping */
  81. #define    EVSIOCKML _IOR('e', 16, int)    /* CurrentKeyMappingLength */
  82. #define EVSIORKBD _IO('e', 17)        /* ResetKeyboard */
  83.  
  84. /* WaitCursor-related ioctls */
  85.  
  86. #define EVSIOSWT _IOW('e', 40, int)    /* SetWaitThreshold */
  87. #define EVSIOCWT _IOR('e', 41, int)    /* CurrentWaitThreshold */
  88. #define EVSIOSWS _IOW('e', 42, int)    /* SetWaitSustain */
  89. #define EVSIOCWS _IOR('e', 43, int)    /* CurrentWaitSustain */
  90. #define EVSIOSWFR _IOW('e', 44, int)    /* SetWaitFrameRate */
  91. #define EVSIOCWFR _IOR('e', 45, int)    /* CurrentWaitFrameRate */
  92.  
  93. /* Mouse-related ioctls */
  94.  
  95. #define    EVSIOSCT  _IOW('e', 70, int)    /* SetClickTime */
  96. #define    EVSIOCCT  _IOR('e', 71, int)    /* CurrentClickTime */
  97. #define    EVSIOSCS  _IOW('e', 72, struct evsioPoint) /* SetClickSpace */
  98. #define    EVSIOCCS  _IOR('e', 73, struct evsioPoint) /* CurrentClickSpace */
  99. #define    EVSIOSMS  _IOW('e', 74, struct evsioMouseScaling) /* SetMouseScaling */
  100. #define    EVSIOCMS  _IOR('e', 75, struct evsioMouseScaling) /* CurrentMouseScaling */
  101. #define EVSIORMS  _IO('e', 76)        /* ResetMouse */
  102. #define EVSIOSADT _IOW('e', 77, int)    /* SetAutoDimTime */
  103. #define EVSIOCADT _IOR('e', 78, int)    /* CurrentAutoDimTime */
  104. #define EVSIOSMH  _IOW('e', 79, int)    /* SetMouseHandedness */
  105. #define EVSIOCMH  _IOR('e', 80, int)    /* CurrentMouseHandedness */
  106. #define EVSIOSMBT _IOW('e', 81, int)    /* SetMouseButtonsTied */
  107. #define EVSIOCMBT _IOR('e', 82, int)    /* CurrentMouseButtonsTied */
  108. #define EVSIOCADS _IOR('e', 83, int)    /* AutoDimmed */
  109. #define EVSIOGADT _IOR('e', 84, int)    /* GetAutoDimTime */
  110. #define EVSIOGDADT _IOR('e', 85, int)    /* GetDeltaAutoDimTime */
  111. #define EVSIOSADS _IOW('e', 86, int)    /* Force AutoDimmed on or off */
  112.  
  113. /* Device control ioctls.  Note that these set the current value
  114.    but do not affect parameter RAM.  */
  115.  
  116. #define EVSIOSB      _IOW('e', 100, int)    /* Set Brightness */
  117. #define EVSIOCB      _IOR('e', 101, int)    /* Current Brightness */
  118. #define EVSIOSA      _IOW('e', 102, int)    /* Set Attenuation */
  119. #define EVSIOCA   _IOR('e', 103, int)    /* Current Attenuation */
  120. #define EVSIOSADB _IOW('e', 104, int)    /* Set AutoDim Brightness */
  121. #define EVSIOCADB _IOR('e', 105, int)    /* Current AutoDim Brightness */
  122.  
  123. /*
  124.  * Device status ioctl.  This will go away in the next major release, with the 
  125.  * rest of these ioctls.
  126.  */
  127. #define    EVSIOINFO  _IOWR('e', 106, struct _NXEventSystemInfo_ioctl)
  128.  
  129. #endif _M68K_DEV_EVSIO_
  130.