?PNG
IHDR ? f ??C1 sRGB ?? gAMA ?a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T
Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/user1137782/www/china1.by/classwithtostring.php on line 86
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 213
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 214
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 215
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 216
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 217
Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 218
PK 5[ce@^v v StringDefs.hnu W+A /***********************************************************
Copyright 1987, 1988, 1994, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Digital not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#ifndef _XtStringDefs_h_
#define _XtStringDefs_h_
#ifndef XTSTRINGDEFINES
#define _XtStringDefs_h_Const const
#endif
/* $Xorg: makestrs.c,v 1.6 2001/02/09 02:03:17 xorgcvs Exp $ */
/* This file is automatically generated. */
/* Default ABI version -- Do not edit */
#ifdef XTSTRINGDEFINES
#define XtNaccelerators "accelerators"
#define XtNallowHoriz "allowHoriz"
#define XtNallowVert "allowVert"
#define XtNancestorSensitive "ancestorSensitive"
#define XtNbackground "background"
#define XtNbackgroundPixmap "backgroundPixmap"
#define XtNbitmap "bitmap"
#define XtNborderColor "borderColor"
#define XtNborder "borderColor"
#define XtNborderPixmap "borderPixmap"
#define XtNborderWidth "borderWidth"
#define XtNcallback "callback"
#define XtNchildren "children"
#define XtNcolormap "colormap"
#define XtNdepth "depth"
#define XtNdestroyCallback "destroyCallback"
#define XtNeditType "editType"
#define XtNfile "file"
#define XtNfont "font"
#define XtNforceBars "forceBars"
#define XtNforeground "foreground"
#define XtNfunction "function"
#define XtNheight "height"
#define XtNhighlight "highlight"
#define XtNhSpace "hSpace"
#define XtNindex "index"
#define XtNinitialResourcesPersistent "initialResourcesPersistent"
#define XtNinnerHeight "innerHeight"
#define XtNinnerWidth "innerWidth"
#define XtNinnerWindow "innerWindow"
#define XtNinsertPosition "insertPosition"
#define XtNinternalHeight "internalHeight"
#define XtNinternalWidth "internalWidth"
#define XtNjumpProc "jumpProc"
#define XtNjustify "justify"
#define XtNknobHeight "knobHeight"
#define XtNknobIndent "knobIndent"
#define XtNknobPixel "knobPixel"
#define XtNknobWidth "knobWidth"
#define XtNlabel "label"
#define XtNlength "length"
#define XtNlowerRight "lowerRight"
#define XtNmappedWhenManaged "mappedWhenManaged"
#define XtNmenuEntry "menuEntry"
#define XtNname "name"
#define XtNnotify "notify"
#define XtNnumChildren "numChildren"
#define XtNorientation "orientation"
#define XtNparameter "parameter"
#define XtNpixmap "pixmap"
#define XtNpopupCallback "popupCallback"
#define XtNpopdownCallback "popdownCallback"
#define XtNresize "resize"
#define XtNreverseVideo "reverseVideo"
#define XtNscreen "screen"
#define XtNscrollProc "scrollProc"
#define XtNscrollDCursor "scrollDCursor"
#define XtNscrollHCursor "scrollHCursor"
#define XtNscrollLCursor "scrollLCursor"
#define XtNscrollRCursor "scrollRCursor"
#define XtNscrollUCursor "scrollUCursor"
#define XtNscrollVCursor "scrollVCursor"
#define XtNselection "selection"
#define XtNselectionArray "selectionArray"
#define XtNsensitive "sensitive"
#define XtNshown "shown"
#define XtNspace "space"
#define XtNstring "string"
#define XtNtextOptions "textOptions"
#define XtNtextSink "textSink"
#define XtNtextSource "textSource"
#define XtNthickness "thickness"
#define XtNthumb "thumb"
#define XtNthumbProc "thumbProc"
#define XtNtop "top"
#define XtNtranslations "translations"
#define XtNunrealizeCallback "unrealizeCallback"
#define XtNupdate "update"
#define XtNuseBottom "useBottom"
#define XtNuseRight "useRight"
#define XtNvalue "value"
#define XtNvSpace "vSpace"
#define XtNwidth "width"
#define XtNwindow "window"
#define XtNx "x"
#define XtNy "y"
#define XtCAccelerators "Accelerators"
#define XtCBackground "Background"
#define XtCBitmap "Bitmap"
#define XtCBoolean "Boolean"
#define XtCBorderColor "BorderColor"
#define XtCBorderWidth "BorderWidth"
#define XtCCallback "Callback"
#define XtCColormap "Colormap"
#define XtCColor "Color"
#define XtCCursor "Cursor"
#define XtCDepth "Depth"
#define XtCEditType "EditType"
#define XtCEventBindings "EventBindings"
#define XtCFile "File"
#define XtCFont "Font"
#define XtCForeground "Foreground"
#define XtCFraction "Fraction"
#define XtCFunction "Function"
#define XtCHeight "Height"
#define XtCHSpace "HSpace"
#define XtCIndex "Index"
#define XtCInitialResourcesPersistent "InitialResourcesPersistent"
#define XtCInsertPosition "InsertPosition"
#define XtCInterval "Interval"
#define XtCJustify "Justify"
#define XtCKnobIndent "KnobIndent"
#define XtCKnobPixel "KnobPixel"
#define XtCLabel "Label"
#define XtCLength "Length"
#define XtCMappedWhenManaged "MappedWhenManaged"
#define XtCMargin "Margin"
#define XtCMenuEntry "MenuEntry"
#define XtCNotify "Notify"
#define XtCOrientation "Orientation"
#define XtCParameter "Parameter"
#define XtCPixmap "Pixmap"
#define XtCPosition "Position"
#define XtCReadOnly "ReadOnly"
#define XtCResize "Resize"
#define XtCReverseVideo "ReverseVideo"
#define XtCScreen "Screen"
#define XtCScrollProc "ScrollProc"
#define XtCScrollDCursor "ScrollDCursor"
#define XtCScrollHCursor "ScrollHCursor"
#define XtCScrollLCursor "ScrollLCursor"
#define XtCScrollRCursor "ScrollRCursor"
#define XtCScrollUCursor "ScrollUCursor"
#define XtCScrollVCursor "ScrollVCursor"
#define XtCSelection "Selection"
#define XtCSensitive "Sensitive"
#define XtCSelectionArray "SelectionArray"
#define XtCSpace "Space"
#define XtCString "String"
#define XtCTextOptions "TextOptions"
#define XtCTextPosition "TextPosition"
#define XtCTextSink "TextSink"
#define XtCTextSource "TextSource"
#define XtCThickness "Thickness"
#define XtCThumb "Thumb"
#define XtCTranslations "Translations"
#define XtCValue "Value"
#define XtCVSpace "VSpace"
#define XtCWidth "Width"
#define XtCWindow "Window"
#define XtCX "X"
#define XtCY "Y"
#define XtRAcceleratorTable "AcceleratorTable"
#ifndef XtRAtom
#define XtRAtom "Atom"
#endif
#define XtRBitmap "Bitmap"
#define XtRBool "Bool"
#define XtRBoolean "Boolean"
#define XtRCallback "Callback"
#define XtRCallProc "CallProc"
#define XtRCardinal "Cardinal"
#define XtRColor "Color"
#define XtRColormap "Colormap"
#define XtRCursor "Cursor"
#define XtRDimension "Dimension"
#define XtRDisplay "Display"
#define XtREditMode "EditMode"
#define XtREnum "Enum"
#define XtRFile "File"
#define XtRFloat "Float"
#define XtRFont "Font"
#define XtRFontStruct "FontStruct"
#define XtRFunction "Function"
#define XtRGeometry "Geometry"
#define XtRImmediate "Immediate"
#define XtRInitialState "InitialState"
#define XtRInt "Int"
#define XtRJustify "Justify"
#define XtRLongBoolean "Bool"
#define XtRObject "Object"
#define XtROrientation "Orientation"
#define XtRPixel "Pixel"
#define XtRPixmap "Pixmap"
#define XtRPointer "Pointer"
#define XtRPosition "Position"
#define XtRScreen "Screen"
#define XtRShort "Short"
#define XtRString "String"
#define XtRStringArray "StringArray"
#define XtRStringTable "StringTable"
#define XtRUnsignedChar "UnsignedChar"
#define XtRTranslationTable "TranslationTable"
#define XtRVisual "Visual"
#define XtRWidget "Widget"
#define XtRWidgetClass "WidgetClass"
#define XtRWidgetList "WidgetList"
#define XtRWindow "Window"
#define XtEoff "off"
#define XtEfalse "false"
#define XtEno "no"
#define XtEon "on"
#define XtEtrue "true"
#define XtEyes "yes"
#define XtEvertical "vertical"
#define XtEhorizontal "horizontal"
#define XtEtextRead "read"
#define XtEtextAppend "append"
#define XtEtextEdit "edit"
#define XtExtdefaultbackground "xtdefaultbackground"
#define XtExtdefaultforeground "xtdefaultforeground"
#define XtExtdefaultfont "xtdefaultfont"
#define XtNfontSet "fontSet"
#define XtRFontSet "FontSet"
#define XtCFontSet "FontSet"
#define XtRGravity "Gravity"
#define XtNcreateHook "createHook"
#define XtNchangeHook "changeHook"
#define XtNconfigureHook "configureHook"
#define XtNgeometryHook "geometryHook"
#define XtNdestroyHook "destroyHook"
#define XtNshells "shells"
#define XtNnumShells "numShells"
#define XtRCommandArgArray "CommandArgArray"
#define XtRDirectoryString "DirectoryString"
#define XtREnvironmentArray "EnvironmentArray"
#define XtRRestartStyle "RestartStyle"
#define XtRSmcConn "SmcConn"
#define XtHcreate "Xtcreate"
#define XtHsetValues "XtsetValues"
#define XtHmanageChildren "XtmanageChildren"
#define XtHunmanageChildren "XtunmanageChildren"
#define XtHmanageSet "XtmanageSet"
#define XtHunmanageSet "XtunmanageSet"
#define XtHrealizeWidget "XtrealizeWidget"
#define XtHunrealizeWidget "XtunrealizeWidget"
#define XtHaddCallback "XtaddCallback"
#define XtHaddCallbacks "XtaddCallbacks"
#define XtHremoveCallback "XtremoveCallback"
#define XtHremoveCallbacks "XtremoveCallbacks"
#define XtHremoveAllCallbacks "XtremoveAllCallbacks"
#define XtHaugmentTranslations "XtaugmentTranslations"
#define XtHoverrideTranslations "XtoverrideTranslations"
#define XtHuninstallTranslations "XtuninstallTranslations"
#define XtHsetKeyboardFocus "XtsetKeyboardFocus"
#define XtHsetWMColormapWindows "XtsetWMColormapWindows"
#define XtHsetMappedWhenManaged "XtsetMappedWhenManaged"
#define XtHmapWidget "XtmapWidget"
#define XtHunmapWidget "XtunmapWidget"
#define XtHpopup "Xtpopup"
#define XtHpopupSpringLoaded "XtpopupSpringLoaded"
#define XtHpopdown "Xtpopdown"
#define XtHconfigure "Xtconfigure"
#define XtHpreGeometry "XtpreGeometry"
#define XtHpostGeometry "XtpostGeometry"
#define XtHdestroy "Xtdestroy"
#else
extern _XtStringDefs_h_Const char XtStrings[];
#ifndef XtNaccelerators
#define XtNaccelerators ((char*)&XtStrings[0])
#endif
#ifndef XtNallowHoriz
#define XtNallowHoriz ((char*)&XtStrings[13])
#endif
#ifndef XtNallowVert
#define XtNallowVert ((char*)&XtStrings[24])
#endif
#ifndef XtNancestorSensitive
#define XtNancestorSensitive ((char*)&XtStrings[34])
#endif
#ifndef XtNbackground
#define XtNbackground ((char*)&XtStrings[52])
#endif
#ifndef XtNbackgroundPixmap
#define XtNbackgroundPixmap ((char*)&XtStrings[63])
#endif
#ifndef XtNbitmap
#define XtNbitmap ((char*)&XtStrings[80])
#endif
#ifndef XtNborderColor
#define XtNborderColor ((char*)&XtStrings[87])
#endif
#ifndef XtNborder
#define XtNborder ((char*)&XtStrings[99])
#endif
#ifndef XtNborderPixmap
#define XtNborderPixmap ((char*)&XtStrings[111])
#endif
#ifndef XtNborderWidth
#define XtNborderWidth ((char*)&XtStrings[124])
#endif
#ifndef XtNcallback
#define XtNcallback ((char*)&XtStrings[136])
#endif
#ifndef XtNchildren
#define XtNchildren ((char*)&XtStrings[145])
#endif
#ifndef XtNcolormap
#define XtNcolormap ((char*)&XtStrings[154])
#endif
#ifndef XtNdepth
#define XtNdepth ((char*)&XtStrings[163])
#endif
#ifndef XtNdestroyCallback
#define XtNdestroyCallback ((char*)&XtStrings[169])
#endif
#ifndef XtNeditType
#define XtNeditType ((char*)&XtStrings[185])
#endif
#ifndef XtNfile
#define XtNfile ((char*)&XtStrings[194])
#endif
#ifndef XtNfont
#define XtNfont ((char*)&XtStrings[199])
#endif
#ifndef XtNforceBars
#define XtNforceBars ((char*)&XtStrings[204])
#endif
#ifndef XtNforeground
#define XtNforeground ((char*)&XtStrings[214])
#endif
#ifndef XtNfunction
#define XtNfunction ((char*)&XtStrings[225])
#endif
#ifndef XtNheight
#define XtNheight ((char*)&XtStrings[234])
#endif
#ifndef XtNhighlight
#define XtNhighlight ((char*)&XtStrings[241])
#endif
#ifndef XtNhSpace
#define XtNhSpace ((char*)&XtStrings[251])
#endif
#ifndef XtNindex
#define XtNindex ((char*)&XtStrings[258])
#endif
#ifndef XtNinitialResourcesPersistent
#define XtNinitialResourcesPersistent ((char*)&XtStrings[264])
#endif
#ifndef XtNinnerHeight
#define XtNinnerHeight ((char*)&XtStrings[291])
#endif
#ifndef XtNinnerWidth
#define XtNinnerWidth ((char*)&XtStrings[303])
#endif
#ifndef XtNinnerWindow
#define XtNinnerWindow ((char*)&XtStrings[314])
#endif
#ifndef XtNinsertPosition
#define XtNinsertPosition ((char*)&XtStrings[326])
#endif
#ifndef XtNinternalHeight
#define XtNinternalHeight ((char*)&XtStrings[341])
#endif
#ifndef XtNinternalWidth
#define XtNinternalWidth ((char*)&XtStrings[356])
#endif
#ifndef XtNjumpProc
#define XtNjumpProc ((char*)&XtStrings[370])
#endif
#ifndef XtNjustify
#define XtNjustify ((char*)&XtStrings[379])
#endif
#ifndef XtNknobHeight
#define XtNknobHeight ((char*)&XtStrings[387])
#endif
#ifndef XtNknobIndent
#define XtNknobIndent ((char*)&XtStrings[398])
#endif
#ifndef XtNknobPixel
#define XtNknobPixel ((char*)&XtStrings[409])
#endif
#ifndef XtNknobWidth
#define XtNknobWidth ((char*)&XtStrings[419])
#endif
#ifndef XtNlabel
#define XtNlabel ((char*)&XtStrings[429])
#endif
#ifndef XtNlength
#define XtNlength ((char*)&XtStrings[435])
#endif
#ifndef XtNlowerRight
#define XtNlowerRight ((char*)&XtStrings[442])
#endif
#ifndef XtNmappedWhenManaged
#define XtNmappedWhenManaged ((char*)&XtStrings[453])
#endif
#ifndef XtNmenuEntry
#define XtNmenuEntry ((char*)&XtStrings[471])
#endif
#ifndef XtNname
#define XtNname ((char*)&XtStrings[481])
#endif
#ifndef XtNnotify
#define XtNnotify ((char*)&XtStrings[486])
#endif
#ifndef XtNnumChildren
#define XtNnumChildren ((char*)&XtStrings[493])
#endif
#ifndef XtNorientation
#define XtNorientation ((char*)&XtStrings[505])
#endif
#ifndef XtNparameter
#define XtNparameter ((char*)&XtStrings[517])
#endif
#ifndef XtNpixmap
#define XtNpixmap ((char*)&XtStrings[527])
#endif
#ifndef XtNpopupCallback
#define XtNpopupCallback ((char*)&XtStrings[534])
#endif
#ifndef XtNpopdownCallback
#define XtNpopdownCallback ((char*)&XtStrings[548])
#endif
#ifndef XtNresize
#define XtNresize ((char*)&XtStrings[564])
#endif
#ifndef XtNreverseVideo
#define XtNreverseVideo ((char*)&XtStrings[571])
#endif
#ifndef XtNscreen
#define XtNscreen ((char*)&XtStrings[584])
#endif
#ifndef XtNscrollProc
#define XtNscrollProc ((char*)&XtStrings[591])
#endif
#ifndef XtNscrollDCursor
#define XtNscrollDCursor ((char*)&XtStrings[602])
#endif
#ifndef XtNscrollHCursor
#define XtNscrollHCursor ((char*)&XtStrings[616])
#endif
#ifndef XtNscrollLCursor
#define XtNscrollLCursor ((char*)&XtStrings[630])
#endif
#ifndef XtNscrollRCursor
#define XtNscrollRCursor ((char*)&XtStrings[644])
#endif
#ifndef XtNscrollUCursor
#define XtNscrollUCursor ((char*)&XtStrings[658])
#endif
#ifndef XtNscrollVCursor
#define XtNscrollVCursor ((char*)&XtStrings[672])
#endif
#ifndef XtNselection
#define XtNselection ((char*)&XtStrings[686])
#endif
#ifndef XtNselectionArray
#define XtNselectionArray ((char*)&XtStrings[696])
#endif
#ifndef XtNsensitive
#define XtNsensitive ((char*)&XtStrings[711])
#endif
#ifndef XtNshown
#define XtNshown ((char*)&XtStrings[721])
#endif
#ifndef XtNspace
#define XtNspace ((char*)&XtStrings[727])
#endif
#ifndef XtNstring
#define XtNstring ((char*)&XtStrings[733])
#endif
#ifndef XtNtextOptions
#define XtNtextOptions ((char*)&XtStrings[740])
#endif
#ifndef XtNtextSink
#define XtNtextSink ((char*)&XtStrings[752])
#endif
#ifndef XtNtextSource
#define XtNtextSource ((char*)&XtStrings[761])
#endif
#ifndef XtNthickness
#define XtNthickness ((char*)&XtStrings[772])
#endif
#ifndef XtNthumb
#define XtNthumb ((char*)&XtStrings[782])
#endif
#ifndef XtNthumbProc
#define XtNthumbProc ((char*)&XtStrings[788])
#endif
#ifndef XtNtop
#define XtNtop ((char*)&XtStrings[798])
#endif
#ifndef XtNtranslations
#define XtNtranslations ((char*)&XtStrings[802])
#endif
#ifndef XtNunrealizeCallback
#define XtNunrealizeCallback ((char*)&XtStrings[815])
#endif
#ifndef XtNupdate
#define XtNupdate ((char*)&XtStrings[833])
#endif
#ifndef XtNuseBottom
#define XtNuseBottom ((char*)&XtStrings[840])
#endif
#ifndef XtNuseRight
#define XtNuseRight ((char*)&XtStrings[850])
#endif
#ifndef XtNvalue
#define XtNvalue ((char*)&XtStrings[859])
#endif
#ifndef XtNvSpace
#define XtNvSpace ((char*)&XtStrings[865])
#endif
#ifndef XtNwidth
#define XtNwidth ((char*)&XtStrings[872])
#endif
#ifndef XtNwindow
#define XtNwindow ((char*)&XtStrings[878])
#endif
#ifndef XtNx
#define XtNx ((char*)&XtStrings[885])
#endif
#ifndef XtNy
#define XtNy ((char*)&XtStrings[887])
#endif
#ifndef XtCAccelerators
#define XtCAccelerators ((char*)&XtStrings[889])
#endif
#ifndef XtCBackground
#define XtCBackground ((char*)&XtStrings[902])
#endif
#ifndef XtCBitmap
#define XtCBitmap ((char*)&XtStrings[913])
#endif
#ifndef XtCBoolean
#define XtCBoolean ((char*)&XtStrings[920])
#endif
#ifndef XtCBorderColor
#define XtCBorderColor ((char*)&XtStrings[928])
#endif
#ifndef XtCBorderWidth
#define XtCBorderWidth ((char*)&XtStrings[940])
#endif
#ifndef XtCCallback
#define XtCCallback ((char*)&XtStrings[952])
#endif
#ifndef XtCColormap
#define XtCColormap ((char*)&XtStrings[961])
#endif
#ifndef XtCColor
#define XtCColor ((char*)&XtStrings[970])
#endif
#ifndef XtCCursor
#define XtCCursor ((char*)&XtStrings[976])
#endif
#ifndef XtCDepth
#define XtCDepth ((char*)&XtStrings[983])
#endif
#ifndef XtCEditType
#define XtCEditType ((char*)&XtStrings[989])
#endif
#ifndef XtCEventBindings
#define XtCEventBindings ((char*)&XtStrings[998])
#endif
#ifndef XtCFile
#define XtCFile ((char*)&XtStrings[1012])
#endif
#ifndef XtCFont
#define XtCFont ((char*)&XtStrings[1017])
#endif
#ifndef XtCForeground
#define XtCForeground ((char*)&XtStrings[1022])
#endif
#ifndef XtCFraction
#define XtCFraction ((char*)&XtStrings[1033])
#endif
#ifndef XtCFunction
#define XtCFunction ((char*)&XtStrings[1042])
#endif
#ifndef XtCHeight
#define XtCHeight ((char*)&XtStrings[1051])
#endif
#ifndef XtCHSpace
#define XtCHSpace ((char*)&XtStrings[1058])
#endif
#ifndef XtCIndex
#define XtCIndex ((char*)&XtStrings[1065])
#endif
#ifndef XtCInitialResourcesPersistent
#define XtCInitialResourcesPersistent ((char*)&XtStrings[1071])
#endif
#ifndef XtCInsertPosition
#define XtCInsertPosition ((char*)&XtStrings[1098])
#endif
#ifndef XtCInterval
#define XtCInterval ((char*)&XtStrings[1113])
#endif
#ifndef XtCJustify
#define XtCJustify ((char*)&XtStrings[1122])
#endif
#ifndef XtCKnobIndent
#define XtCKnobIndent ((char*)&XtStrings[1130])
#endif
#ifndef XtCKnobPixel
#define XtCKnobPixel ((char*)&XtStrings[1141])
#endif
#ifndef XtCLabel
#define XtCLabel ((char*)&XtStrings[1151])
#endif
#ifndef XtCLength
#define XtCLength ((char*)&XtStrings[1157])
#endif
#ifndef XtCMappedWhenManaged
#define XtCMappedWhenManaged ((char*)&XtStrings[1164])
#endif
#ifndef XtCMargin
#define XtCMargin ((char*)&XtStrings[1182])
#endif
#ifndef XtCMenuEntry
#define XtCMenuEntry ((char*)&XtStrings[1189])
#endif
#ifndef XtCNotify
#define XtCNotify ((char*)&XtStrings[1199])
#endif
#ifndef XtCOrientation
#define XtCOrientation ((char*)&XtStrings[1206])
#endif
#ifndef XtCParameter
#define XtCParameter ((char*)&XtStrings[1218])
#endif
#ifndef XtCPixmap
#define XtCPixmap ((char*)&XtStrings[1228])
#endif
#ifndef XtCPosition
#define XtCPosition ((char*)&XtStrings[1235])
#endif
#ifndef XtCReadOnly
#define XtCReadOnly ((char*)&XtStrings[1244])
#endif
#ifndef XtCResize
#define XtCResize ((char*)&XtStrings[1253])
#endif
#ifndef XtCReverseVideo
#define XtCReverseVideo ((char*)&XtStrings[1260])
#endif
#ifndef XtCScreen
#define XtCScreen ((char*)&XtStrings[1273])
#endif
#ifndef XtCScrollProc
#define XtCScrollProc ((char*)&XtStrings[1280])
#endif
#ifndef XtCScrollDCursor
#define XtCScrollDCursor ((char*)&XtStrings[1291])
#endif
#ifndef XtCScrollHCursor
#define XtCScrollHCursor ((char*)&XtStrings[1305])
#endif
#ifndef XtCScrollLCursor
#define XtCScrollLCursor ((char*)&XtStrings[1319])
#endif
#ifndef XtCScrollRCursor
#define XtCScrollRCursor ((char*)&XtStrings[1333])
#endif
#ifndef XtCScrollUCursor
#define XtCScrollUCursor ((char*)&XtStrings[1347])
#endif
#ifndef XtCScrollVCursor
#define XtCScrollVCursor ((char*)&XtStrings[1361])
#endif
#ifndef XtCSelection
#define XtCSelection ((char*)&XtStrings[1375])
#endif
#ifndef XtCSensitive
#define XtCSensitive ((char*)&XtStrings[1385])
#endif
#ifndef XtCSelectionArray
#define XtCSelectionArray ((char*)&XtStrings[1395])
#endif
#ifndef XtCSpace
#define XtCSpace ((char*)&XtStrings[1410])
#endif
#ifndef XtCString
#define XtCString ((char*)&XtStrings[1416])
#endif
#ifndef XtCTextOptions
#define XtCTextOptions ((char*)&XtStrings[1423])
#endif
#ifndef XtCTextPosition
#define XtCTextPosition ((char*)&XtStrings[1435])
#endif
#ifndef XtCTextSink
#define XtCTextSink ((char*)&XtStrings[1448])
#endif
#ifndef XtCTextSource
#define XtCTextSource ((char*)&XtStrings[1457])
#endif
#ifndef XtCThickness
#define XtCThickness ((char*)&XtStrings[1468])
#endif
#ifndef XtCThumb
#define XtCThumb ((char*)&XtStrings[1478])
#endif
#ifndef XtCTranslations
#define XtCTranslations ((char*)&XtStrings[1484])
#endif
#ifndef XtCValue
#define XtCValue ((char*)&XtStrings[1497])
#endif
#ifndef XtCVSpace
#define XtCVSpace ((char*)&XtStrings[1503])
#endif
#ifndef XtCWidth
#define XtCWidth ((char*)&XtStrings[1510])
#endif
#ifndef XtCWindow
#define XtCWindow ((char*)&XtStrings[1516])
#endif
#ifndef XtCX
#define XtCX ((char*)&XtStrings[1523])
#endif
#ifndef XtCY
#define XtCY ((char*)&XtStrings[1525])
#endif
#ifndef XtRAcceleratorTable
#define XtRAcceleratorTable ((char*)&XtStrings[1527])
#endif
#ifndef XtRAtom
#define XtRAtom ((char*)&XtStrings[1544])
#endif
#ifndef XtRBitmap
#define XtRBitmap ((char*)&XtStrings[1549])
#endif
#ifndef XtRBool
#define XtRBool ((char*)&XtStrings[1556])
#endif
#ifndef XtRBoolean
#define XtRBoolean ((char*)&XtStrings[1561])
#endif
#ifndef XtRCallback
#define XtRCallback ((char*)&XtStrings[1569])
#endif
#ifndef XtRCallProc
#define XtRCallProc ((char*)&XtStrings[1578])
#endif
#ifndef XtRCardinal
#define XtRCardinal ((char*)&XtStrings[1587])
#endif
#ifndef XtRColor
#define XtRColor ((char*)&XtStrings[1596])
#endif
#ifndef XtRColormap
#define XtRColormap ((char*)&XtStrings[1602])
#endif
#ifndef XtRCursor
#define XtRCursor ((char*)&XtStrings[1611])
#endif
#ifndef XtRDimension
#define XtRDimension ((char*)&XtStrings[1618])
#endif
#ifndef XtRDisplay
#define XtRDisplay ((char*)&XtStrings[1628])
#endif
#ifndef XtREditMode
#define XtREditMode ((char*)&XtStrings[1636])
#endif
#ifndef XtREnum
#define XtREnum ((char*)&XtStrings[1645])
#endif
#ifndef XtRFile
#define XtRFile ((char*)&XtStrings[1650])
#endif
#ifndef XtRFloat
#define XtRFloat ((char*)&XtStrings[1655])
#endif
#ifndef XtRFont
#define XtRFont ((char*)&XtStrings[1661])
#endif
#ifndef XtRFontStruct
#define XtRFontStruct ((char*)&XtStrings[1666])
#endif
#ifndef XtRFunction
#define XtRFunction ((char*)&XtStrings[1677])
#endif
#ifndef XtRGeometry
#define XtRGeometry ((char*)&XtStrings[1686])
#endif
#ifndef XtRImmediate
#define XtRImmediate ((char*)&XtStrings[1695])
#endif
#ifndef XtRInitialState
#define XtRInitialState ((char*)&XtStrings[1705])
#endif
#ifndef XtRInt
#define XtRInt ((char*)&XtStrings[1718])
#endif
#ifndef XtRJustify
#define XtRJustify ((char*)&XtStrings[1722])
#endif
#ifndef XtRLongBoolean
#define XtRLongBoolean ((char*)&XtStrings[1730])
#endif
#ifndef XtRObject
#define XtRObject ((char*)&XtStrings[1735])
#endif
#ifndef XtROrientation
#define XtROrientation ((char*)&XtStrings[1742])
#endif
#ifndef XtRPixel
#define XtRPixel ((char*)&XtStrings[1754])
#endif
#ifndef XtRPixmap
#define XtRPixmap ((char*)&XtStrings[1760])
#endif
#ifndef XtRPointer
#define XtRPointer ((char*)&XtStrings[1767])
#endif
#ifndef XtRPosition
#define XtRPosition ((char*)&XtStrings[1775])
#endif
#ifndef XtRScreen
#define XtRScreen ((char*)&XtStrings[1784])
#endif
#ifndef XtRShort
#define XtRShort ((char*)&XtStrings[1791])
#endif
#ifndef XtRString
#define XtRString ((char*)&XtStrings[1797])
#endif
#ifndef XtRStringArray
#define XtRStringArray ((char*)&XtStrings[1804])
#endif
#ifndef XtRStringTable
#define XtRStringTable ((char*)&XtStrings[1816])
#endif
#ifndef XtRUnsignedChar
#define XtRUnsignedChar ((char*)&XtStrings[1828])
#endif
#ifndef XtRTranslationTable
#define XtRTranslationTable ((char*)&XtStrings[1841])
#endif
#ifndef XtRVisual
#define XtRVisual ((char*)&XtStrings[1858])
#endif
#ifndef XtRWidget
#define XtRWidget ((char*)&XtStrings[1865])
#endif
#ifndef XtRWidgetClass
#define XtRWidgetClass ((char*)&XtStrings[1872])
#endif
#ifndef XtRWidgetList
#define XtRWidgetList ((char*)&XtStrings[1884])
#endif
#ifndef XtRWindow
#define XtRWindow ((char*)&XtStrings[1895])
#endif
#ifndef XtEoff
#define XtEoff ((char*)&XtStrings[1902])
#endif
#ifndef XtEfalse
#define XtEfalse ((char*)&XtStrings[1906])
#endif
#ifndef XtEno
#define XtEno ((char*)&XtStrings[1912])
#endif
#ifndef XtEon
#define XtEon ((char*)&XtStrings[1915])
#endif
#ifndef XtEtrue
#define XtEtrue ((char*)&XtStrings[1918])
#endif
#ifndef XtEyes
#define XtEyes ((char*)&XtStrings[1923])
#endif
#ifndef XtEvertical
#define XtEvertical ((char*)&XtStrings[1927])
#endif
#ifndef XtEhorizontal
#define XtEhorizontal ((char*)&XtStrings[1936])
#endif
#ifndef XtEtextRead
#define XtEtextRead ((char*)&XtStrings[1947])
#endif
#ifndef XtEtextAppend
#define XtEtextAppend ((char*)&XtStrings[1952])
#endif
#ifndef XtEtextEdit
#define XtEtextEdit ((char*)&XtStrings[1959])
#endif
#ifndef XtExtdefaultbackground
#define XtExtdefaultbackground ((char*)&XtStrings[1964])
#endif
#ifndef XtExtdefaultforeground
#define XtExtdefaultforeground ((char*)&XtStrings[1984])
#endif
#ifndef XtExtdefaultfont
#define XtExtdefaultfont ((char*)&XtStrings[2004])
#endif
#ifndef XtNfontSet
#define XtNfontSet ((char*)&XtStrings[2018])
#endif
#ifndef XtRFontSet
#define XtRFontSet ((char*)&XtStrings[2026])
#endif
#ifndef XtCFontSet
#define XtCFontSet ((char*)&XtStrings[2034])
#endif
#ifndef XtRGravity
#define XtRGravity ((char*)&XtStrings[2042])
#endif
#ifndef XtNcreateHook
#define XtNcreateHook ((char*)&XtStrings[2050])
#endif
#ifndef XtNchangeHook
#define XtNchangeHook ((char*)&XtStrings[2061])
#endif
#ifndef XtNconfigureHook
#define XtNconfigureHook ((char*)&XtStrings[2072])
#endif
#ifndef XtNgeometryHook
#define XtNgeometryHook ((char*)&XtStrings[2086])
#endif
#ifndef XtNdestroyHook
#define XtNdestroyHook ((char*)&XtStrings[2099])
#endif
#ifndef XtNshells
#define XtNshells ((char*)&XtStrings[2111])
#endif
#ifndef XtNnumShells
#define XtNnumShells ((char*)&XtStrings[2118])
#endif
#ifndef XtRCommandArgArray
#define XtRCommandArgArray ((char*)&XtStrings[2128])
#endif
#ifndef XtRDirectoryString
#define XtRDirectoryString ((char*)&XtStrings[2144])
#endif
#ifndef XtREnvironmentArray
#define XtREnvironmentArray ((char*)&XtStrings[2160])
#endif
#ifndef XtRRestartStyle
#define XtRRestartStyle ((char*)&XtStrings[2177])
#endif
#ifndef XtRSmcConn
#define XtRSmcConn ((char*)&XtStrings[2190])
#endif
#ifndef XtHcreate
#define XtHcreate ((char*)&XtStrings[2198])
#endif
#ifndef XtHsetValues
#define XtHsetValues ((char*)&XtStrings[2207])
#endif
#ifndef XtHmanageChildren
#define XtHmanageChildren ((char*)&XtStrings[2219])
#endif
#ifndef XtHunmanageChildren
#define XtHunmanageChildren ((char*)&XtStrings[2236])
#endif
#ifndef XtHmanageSet
#define XtHmanageSet ((char*)&XtStrings[2255])
#endif
#ifndef XtHunmanageSet
#define XtHunmanageSet ((char*)&XtStrings[2267])
#endif
#ifndef XtHrealizeWidget
#define XtHrealizeWidget ((char*)&XtStrings[2281])
#endif
#ifndef XtHunrealizeWidget
#define XtHunrealizeWidget ((char*)&XtStrings[2297])
#endif
#ifndef XtHaddCallback
#define XtHaddCallback ((char*)&XtStrings[2315])
#endif
#ifndef XtHaddCallbacks
#define XtHaddCallbacks ((char*)&XtStrings[2329])
#endif
#ifndef XtHremoveCallback
#define XtHremoveCallback ((char*)&XtStrings[2344])
#endif
#ifndef XtHremoveCallbacks
#define XtHremoveCallbacks ((char*)&XtStrings[2361])
#endif
#ifndef XtHremoveAllCallbacks
#define XtHremoveAllCallbacks ((char*)&XtStrings[2379])
#endif
#ifndef XtHaugmentTranslations
#define XtHaugmentTranslations ((char*)&XtStrings[2400])
#endif
#ifndef XtHoverrideTranslations
#define XtHoverrideTranslations ((char*)&XtStrings[2422])
#endif
#ifndef XtHuninstallTranslations
#define XtHuninstallTranslations ((char*)&XtStrings[2445])
#endif
#ifndef XtHsetKeyboardFocus
#define XtHsetKeyboardFocus ((char*)&XtStrings[2469])
#endif
#ifndef XtHsetWMColormapWindows
#define XtHsetWMColormapWindows ((char*)&XtStrings[2488])
#endif
#ifndef XtHsetMappedWhenManaged
#define XtHsetMappedWhenManaged ((char*)&XtStrings[2511])
#endif
#ifndef XtHmapWidget
#define XtHmapWidget ((char*)&XtStrings[2534])
#endif
#ifndef XtHunmapWidget
#define XtHunmapWidget ((char*)&XtStrings[2546])
#endif
#ifndef XtHpopup
#define XtHpopup ((char*)&XtStrings[2560])
#endif
#ifndef XtHpopupSpringLoaded
#define XtHpopupSpringLoaded ((char*)&XtStrings[2568])
#endif
#ifndef XtHpopdown
#define XtHpopdown ((char*)&XtStrings[2588])
#endif
#ifndef XtHconfigure
#define XtHconfigure ((char*)&XtStrings[2598])
#endif
#ifndef XtHpreGeometry
#define XtHpreGeometry ((char*)&XtStrings[2610])
#endif
#ifndef XtHpostGeometry
#define XtHpostGeometry ((char*)&XtStrings[2624])
#endif
#ifndef XtHdestroy
#define XtHdestroy ((char*)&XtStrings[2639])
#endif
#endif /* XTSTRINGDEFINES */
#ifndef XTSTRINGDEFINES
#undef _XtStringDefs_h_Const
#endif
#endif /* _XtStringDefs_h_ */
PK 5[\ extensions/recordstr.hnu W+A #warning "recordstr.h is obsolete and may be removed in the future."
#warning "include for the library interfaces."
#warning "include for the protocol defines."
#include
PK 5[+8 extensions/shmproto.hnu W+A /************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
#ifndef _SHMPROTO_H_
#define _SHMPROTO_H_
#include
#define ShmSeg CARD32
#define Drawable CARD32
#define VisualID CARD32
#define GContext CARD32
#define Pixmap CARD32
#define X_ShmQueryVersion 0
#define X_ShmAttach 1
#define X_ShmDetach 2
#define X_ShmPutImage 3
#define X_ShmGetImage 4
#define X_ShmCreatePixmap 5
#define X_ShmAttachFd 6
#define X_ShmCreateSegment 7
typedef struct _ShmQueryVersion {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmQueryVersion */
CARD16 length B16;
} xShmQueryVersionReq;
#define sz_xShmQueryVersionReq 4
typedef struct {
BYTE type; /* X_Reply */
BOOL sharedPixmaps;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16; /* major version of SHM protocol */
CARD16 minorVersion B16; /* minor version of SHM protocol */
CARD16 uid B16;
CARD16 gid B16;
CARD8 pixmapFormat;
CARD8 pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xShmQueryVersionReply;
#define sz_xShmQueryVersionReply 32
typedef struct _ShmAttach {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmAttach */
CARD16 length B16;
ShmSeg shmseg B32;
CARD32 shmid B32;
BOOL readOnly;
BYTE pad0;
CARD16 pad1 B16;
} xShmAttachReq;
#define sz_xShmAttachReq 16
typedef struct _ShmDetach {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmDetach */
CARD16 length B16;
ShmSeg shmseg B32;
} xShmDetachReq;
#define sz_xShmDetachReq 8
typedef struct _ShmPutImage {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmPutImage */
CARD16 length B16;
Drawable drawable B32;
GContext gc B32;
CARD16 totalWidth B16;
CARD16 totalHeight B16;
CARD16 srcX B16;
CARD16 srcY B16;
CARD16 srcWidth B16;
CARD16 srcHeight B16;
INT16 dstX B16;
INT16 dstY B16;
CARD8 depth;
CARD8 format;
CARD8 sendEvent;
CARD8 bpad;
ShmSeg shmseg B32;
CARD32 offset B32;
} xShmPutImageReq;
#define sz_xShmPutImageReq 40
typedef struct _ShmGetImage {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmGetImage */
CARD16 length B16;
Drawable drawable B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
CARD32 planeMask B32;
CARD8 format;
CARD8 pad0;
CARD8 pad1;
CARD8 pad2;
ShmSeg shmseg B32;
CARD32 offset B32;
} xShmGetImageReq;
#define sz_xShmGetImageReq 32
typedef struct _ShmGetImageReply {
BYTE type; /* X_Reply */
CARD8 depth;
CARD16 sequenceNumber B16;
CARD32 length B32;
VisualID visual B32;
CARD32 size B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xShmGetImageReply;
#define sz_xShmGetImageReply 32
typedef struct _ShmCreatePixmap {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmCreatePixmap */
CARD16 length B16;
Pixmap pid B32;
Drawable drawable B32;
CARD16 width B16;
CARD16 height B16;
CARD8 depth;
CARD8 pad0;
CARD8 pad1;
CARD8 pad2;
ShmSeg shmseg B32;
CARD32 offset B32;
} xShmCreatePixmapReq;
#define sz_xShmCreatePixmapReq 28
typedef struct _ShmCompletion {
BYTE type; /* always eventBase + ShmCompletion */
BYTE bpad0;
CARD16 sequenceNumber B16;
Drawable drawable B32;
CARD16 minorEvent B16;
BYTE majorEvent;
BYTE bpad1;
ShmSeg shmseg B32;
CARD32 offset B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xShmCompletionEvent;
#define sz_xShmCompletionEvent 32
/* Version 1.2 additions */
typedef struct _ShmAttachFd {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmAttachFd */
CARD16 length B16;
ShmSeg shmseg B32;
BOOL readOnly;
BYTE pad0;
CARD16 pad1 B16;
} xShmAttachFdReq;
/* File descriptor is passed with this request */
#define sz_xShmAttachFdReq 12
typedef struct _ShmCreateSegment {
CARD8 reqType; /* always ShmReqCode */
CARD8 shmReqType; /* always X_ShmAttachFd */
CARD16 length B16;
ShmSeg shmseg B32;
CARD32 size B32;
BOOL readOnly;
BYTE pad0;
CARD16 pad1 B16;
} xShmCreateSegmentReq;
#define sz_xShmCreateSegmentReq 16
typedef struct {
CARD8 type; /* must be X_Reply */
CARD8 nfd; /* must be 1 */
CARD16 sequenceNumber B16; /* last sequence number */
CARD32 length B32; /* 0 */
CARD32 pad2 B32; /* unused */
CARD32 pad3 B32; /* unused */
CARD32 pad4 B32; /* unused */
CARD32 pad5 B32; /* unused */
CARD32 pad6 B32; /* unused */
CARD32 pad7 B32; /* unused */
} xShmCreateSegmentReply;
/* File descriptor is passed with this reply */
#define sz_xShmCreateSegmentReply 32
#undef ShmSeg
#undef Drawable
#undef VisualID
#undef GContext
#undef Pixmap
#endif /* _SHMPROTO_H_ */
PK 5[ے% % extensions/shape.hnu W+A /************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
#ifndef _SHAPE_H_
#define _SHAPE_H_
#include
#include
#ifndef _SHAPE_SERVER_
#include
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came frome a SendEvent request */
Display *display; /* Display the event was read from */
Window window; /* window of event */
int kind; /* ShapeBounding or ShapeClip */
int x, y; /* extents of new region */
unsigned width, height;
Time time; /* server timestamp when region changed */
Bool shaped; /* true if the region exists */
} XShapeEvent;
_XFUNCPROTOBEGIN
extern Bool XShapeQueryExtension (
Display* /* display */,
int* /* event_base */,
int* /* error_base */
);
extern Status XShapeQueryVersion (
Display* /* display */,
int* /* major_version */,
int* /* minor_version */
);
extern void XShapeCombineRegion (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
Region /* region */,
int /* op */
);
extern void XShapeCombineRectangles (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
XRectangle* /* rectangles */,
int /* n_rects */,
int /* op */,
int /* ordering */
);
extern void XShapeCombineMask (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
Pixmap /* src */,
int /* op */
);
extern void XShapeCombineShape (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */,
Window /* src */,
int /* src_kind */,
int /* op */
);
extern void XShapeOffsetShape (
Display* /* display */,
Window /* dest */,
int /* dest_kind */,
int /* x_off */,
int /* y_off */
);
extern Status XShapeQueryExtents (
Display* /* display */,
Window /* window */,
Bool* /* bounding_shaped */,
int* /* x_bounding */,
int* /* y_bounding */,
unsigned int* /* w_bounding */,
unsigned int* /* h_bounding */,
Bool* /* clip_shaped */,
int* /* x_clip */,
int* /* y_clip */,
unsigned int* /* w_clip */,
unsigned int* /* h_clip */
);
extern void XShapeSelectInput (
Display* /* display */,
Window /* window */,
unsigned long /* mask */
);
extern unsigned long XShapeInputSelected (
Display* /* display */,
Window /* window */
);
extern XRectangle *XShapeGetRectangles (
Display* /* display */,
Window /* window */,
int /* kind */,
int* /* count */,
int* /* ordering */
);
_XFUNCPROTOEND
#endif /* !_SHAPE_SERVER_ */
#endif /* _SHAPE_H_ */
PK 5[Sx: : extensions/agproto.hnu W+A /*
Copyright 1996, 1998, 2001 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
*/
#ifndef _AGPROTO_H_ /* { */
#define _AGPROTO_H_
#include
#define X_XagQueryVersion 0
#define X_XagCreate 1
#define X_XagDestroy 2
#define X_XagGetAttr 3
#define X_XagQuery 4
#define X_XagCreateAssoc 5
#define X_XagDestroyAssoc 6
#define XAppGroup CARD32
/*
* Redefine some basic types used by structures defined herein. This allows
* both the library and server to view communicated data as 32-bit entities,
* thus preventing problems on 64-bit architectures where libXext sees this
* data as 64 bits and the server sees it as 32 bits.
*/
#define Colormap CARD32
#define VisualID CARD32
#define Window CARD32
typedef struct _XagQueryVersion {
CARD8 reqType; /* always XagReqCode */
CARD8 xagReqType; /* always X_XagQueryVersion */
CARD16 length B16;
CARD16 client_major_version B16;
CARD16 client_minor_version B16;
} xXagQueryVersionReq;
#define sz_xXagQueryVersionReq 8
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
CARD16 server_major_version B16;
CARD16 server_minor_version B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXagQueryVersionReply;
#define sz_xXagQueryVersionReply 32
/* Set AppGroup Attributes masks */
#define XagSingleScreenMask 1 << 0
#define XagDefaultRootMask 1 << XagNdefaultRoot
#define XagRootVisualMask 1 << XagNrootVisual
#define XagDefaultColormapMask 1 << XagNdefaultColormap
#define XagBlackPixelMask 1 << XagNblackPixel
#define XagWhitePixelMask 1 << XagNwhitePixel
#define XagAppGroupLeaderMask 1 << XagNappGroupLeader
typedef struct _XagCreate {
CARD8 reqType; /* always XagReqCode */
CARD8 xagReqType; /* always X_XagCreate */
CARD16 length B16;
XAppGroup app_group B32;
CARD32 attrib_mask B32; /* LISTofVALUE follows */
} xXagCreateReq;
#define sz_xXagCreateReq 12
typedef struct _XagDestroy {
CARD8 reqType; /* always XagReqCode */
CARD8 xagReqType; /* always X_XagDestroy */
CARD16 length B16;
XAppGroup app_group B32;
} xXagDestroyReq;
#define sz_xXagDestroyReq 8
typedef struct _XagGetAttr {
CARD8 reqType; /* always XagReqCode */
CARD8 xagReqType; /* always X_XagGetAttr */
CARD16 length B16;
XAppGroup app_group B32;
} xXagGetAttrReq;
#define sz_xXagGetAttrReq 8
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
Window default_root B32;
VisualID root_visual B32;
Colormap default_colormap B32;
CARD32 black_pixel B32;
CARD32 white_pixel B32;
BOOL single_screen;
BOOL app_group_leader;
CARD16 pad2 B16;
} xXagGetAttrReply;
#define sz_xXagGetAttrReply 32
typedef struct _XagQuery {
CARD8 reqType; /* always XagReqCode */
CARD8 xagReqType; /* always X_XagQuery */
CARD16 length B16;
CARD32 resource B32;
} xXagQueryReq;
#define sz_xXagQueryReq 8
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
XAppGroup app_group B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXagQueryReply;
#define sz_xXagQueryReply 32
typedef struct _XagCreateAssoc {
CARD8 reqType; /* always XagReqCode */
CARD8 xagReqType; /* always X_XagCreateAssoc */
CARD16 length B16;
Window window B32;
CARD16 window_type B16;
CARD16 system_window_len B16; /* LISTofCARD8 follows */
} xXagCreateAssocReq;
#define sz_xXagCreateAssocReq 12
typedef struct _XagDestroyAssoc {
CARD8 reqType; /* always XagReqCode */
CARD8 xagReqType; /* always X_XagDestroyAssoc */
CARD16 length B16;
Window window B32;
} xXagDestroyAssocReq;
#define sz_xXagDestroyAssocReq 8
#undef XAppGroup
/*
* Cancel the previous redefinition of the basic types, thus restoring their
* X.h definitions.
*/
#undef Window
#undef Colormap
#undef VisualID
#endif /* } _AGPROTO_H_ */
PK 5[܍QZ
Z
extensions/xf86bigfproto.hnu W+A /*
* Declarations of request structures for the BIGFONT extension.
*
* Copyright (c) 1999-2000 Bruno Haible
* Copyright (c) 1999-2000 The XFree86 Project, Inc.
*/
/* THIS IS NOT AN X CONSORTIUM STANDARD */
#ifndef _XF86BIGFPROTO_H_
#define _XF86BIGFPROTO_H_
#include
#define XF86BIGFONTNAME "XFree86-Bigfont"
#define XF86BIGFONT_MAJOR_VERSION 1 /* current version numbers */
#define XF86BIGFONT_MINOR_VERSION 1
typedef struct _XF86BigfontQueryVersion {
CARD8 reqType; /* always XF86BigfontReqCode */
CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryVersion */
CARD16 length B16;
} xXF86BigfontQueryVersionReq;
#define sz_xXF86BigfontQueryVersionReq 4
typedef struct {
BYTE type; /* X_Reply */
CARD8 capabilities;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16; /* major version of XFree86-Bigfont */
CARD16 minorVersion B16; /* minor version of XFree86-Bigfont */
CARD32 uid B32;
CARD32 gid B32;
CARD32 signature B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xXF86BigfontQueryVersionReply;
#define sz_xXF86BigfontQueryVersionReply 32
/* Bit masks that can be set in the capabilities */
#define XF86Bigfont_CAP_LocalShm 1
typedef struct _XF86BigfontQueryFont {
CARD8 reqType; /* always XF86BigfontReqCode */
CARD8 xf86bigfontReqType; /* always X_XF86BigfontQueryFont */
CARD16 length B16;
CARD32 id B32;
CARD32 flags B32;
} xXF86BigfontQueryFontReq;
#define sz_xXF86BigfontQueryFontReq 12
typedef struct {
BYTE type; /* X_Reply */
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
xCharInfo minBounds;
#ifndef WORD64
CARD32 walign1 B32;
#endif
xCharInfo maxBounds;
#ifndef WORD64
CARD32 walign2 B32;
#endif
CARD16 minCharOrByte2 B16;
CARD16 maxCharOrByte2 B16;
CARD16 defaultChar B16;
CARD16 nFontProps B16;
CARD8 drawDirection;
CARD8 minByte1;
CARD8 maxByte1;
BOOL allCharsExist;
INT16 fontAscent B16;
INT16 fontDescent B16;
CARD32 nCharInfos B32;
CARD32 nUniqCharInfos B32;
CARD32 shmid B32;
CARD32 shmsegoffset B32;
/* followed by nFontProps xFontProp structures */
/* and if nCharInfos > 0 && shmid == -1,
followed by nUniqCharInfos xCharInfo structures
and then by nCharInfos CARD16 indices (each >= 0, < nUniqCharInfos)
and then, if nCharInfos is odd, one more CARD16 for padding. */
} xXF86BigfontQueryFontReply;
#define sz_xXF86BigfontQueryFontReply 72
/* Bit masks that can be set in the flags */
#define XF86Bigfont_FLAGS_Shm 1
#endif /* _XF86BIGFPROTO_H_ */
PK 5[MAJ J extensions/Xdbe.hnu W+A /******************************************************************************
*
* Copyright (c) 1994, 1995 Hewlett-Packard Company
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of the Hewlett-Packard
* Company shall not be used in advertising or otherwise to promote the
* sale, use or other dealings in this Software without prior written
* authorization from the Hewlett-Packard Company.
*
* Header file for Xlib-related DBE
*
*****************************************************************************/
#ifndef XDBE_H
#define XDBE_H
#include
#include
typedef struct
{
VisualID visual; /* one visual ID that supports double-buffering */
int depth; /* depth of visual in bits */
int perflevel; /* performance level of visual */
}
XdbeVisualInfo;
typedef struct
{
int count; /* number of items in visual_depth */
XdbeVisualInfo *visinfo; /* list of visuals & depths for scrn */
}
XdbeScreenVisualInfo;
typedef Drawable XdbeBackBuffer;
typedef unsigned char XdbeSwapAction;
typedef struct
{
Window swap_window; /* window for which to swap buffers */
XdbeSwapAction swap_action; /* swap action to use for swap_window */
}
XdbeSwapInfo;
typedef struct
{
Window window; /* window that buffer belongs to */
}
XdbeBackBufferAttributes;
typedef struct
{
int type;
Display *display; /* display the event was read from */
XdbeBackBuffer buffer; /* resource id */
unsigned long serial; /* serial number of failed request */
unsigned char error_code; /* error base + XdbeBadBuffer */
unsigned char request_code; /* major opcode of failed request */
unsigned char minor_code; /* minor opcode of failed request */
}
XdbeBufferError;
/* _XFUNCPROTOBEGIN and _XFUNCPROTOEND are defined as noops
* (for non-C++ builds) in X11/Xfuncproto.h.
*/
_XFUNCPROTOBEGIN
extern Status XdbeQueryExtension(
Display* /* dpy */,
int* /* major_version_return */,
int* /* minor_version_return */
);
extern XdbeBackBuffer XdbeAllocateBackBufferName(
Display* /* dpy */,
Window /* window */,
XdbeSwapAction /* swap_action */
);
extern Status XdbeDeallocateBackBufferName(
Display* /* dpy */,
XdbeBackBuffer /* buffer */
);
extern Status XdbeSwapBuffers(
Display* /* dpy */,
XdbeSwapInfo* /* swap_info */,
int /* num_windows */
);
extern Status XdbeBeginIdiom(
Display* /* dpy */
);
extern Status XdbeEndIdiom(
Display* /* dpy */
);
extern XdbeScreenVisualInfo *XdbeGetVisualInfo(
Display* /* dpy */,
Drawable* /* screen_specifiers */,
int* /* num_screens */
);
extern void XdbeFreeVisualInfo(
XdbeScreenVisualInfo* /* visual_info */
);
extern XdbeBackBufferAttributes *XdbeGetBackBufferAttributes(
Display* /* dpy */,
XdbeBackBuffer /* buffer */
);
_XFUNCPROTOEND
#endif /* XDBE_H */
PK 5[L@[ [ extensions/presentproto.hnu W+A /*
* Copyright © 2013 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifndef _PRESENT_PROTO_H_
#define _PRESENT_PROTO_H_
#include
#define Window CARD32
#define Pixmap CARD32
#define Region CARD32
#define XSyncFence CARD32
#define EventID CARD32
typedef struct {
Window window B32;
CARD32 serial B32;
} xPresentNotify;
#define sz_xPresentNotify 8
typedef struct {
CARD8 reqType;
CARD8 presentReqType;
CARD16 length B16;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
} xPresentQueryVersionReq;
#define sz_xPresentQueryVersionReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xPresentQueryVersionReply;
#define sz_xPresentQueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 presentReqType;
CARD16 length B16;
Window window B32;
Pixmap pixmap B32;
CARD32 serial B32;
Region valid B32;
Region update B32;
INT16 x_off B16;
INT16 y_off B16;
CARD32 target_crtc B32;
XSyncFence wait_fence B32;
XSyncFence idle_fence B32;
CARD32 options B32;
CARD32 pad1 B32;
CARD64 target_msc;
CARD64 divisor;
CARD64 remainder;
/* followed by a LISTofPRESENTNOTIFY */
} xPresentPixmapReq;
#define sz_xPresentPixmapReq 72
typedef struct {
CARD8 reqType;
CARD8 presentReqType;
CARD16 length B16;
Window window B32;
CARD32 serial B32;
CARD32 pad0 B32;
CARD64 target_msc;
CARD64 divisor;
CARD64 remainder;
} xPresentNotifyMSCReq;
#define sz_xPresentNotifyMSCReq 40
typedef struct {
CARD8 reqType;
CARD8 presentReqType;
CARD16 length B16;
CARD32 eid B32;
CARD32 window B32;
CARD32 eventMask B32;
} xPresentSelectInputReq;
#define sz_xPresentSelectInputReq 16
typedef struct {
CARD8 reqType;
CARD8 presentReqType;
CARD16 length B16;
CARD32 target B32;
} xPresentQueryCapabilitiesReq;
#define sz_xPresentQueryCapabilitiesReq 8
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 capabilities B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xPresentQueryCapabilitiesReply;
#define sz_xPresentQueryCapabilitiesReply 32
/*
* Events
*
* All Present events are X Generic Events
*/
typedef struct {
CARD8 type;
CARD8 extension;
CARD16 sequenceNumber B16;
CARD32 length;
CARD16 evtype B16;
CARD16 pad2;
CARD32 eid B32;
CARD32 window B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
INT16 off_x B16;
INT16 off_y B16;
CARD16 pixmap_width B16;
CARD16 pixmap_height B16;
CARD32 pixmap_flags B32;
} xPresentConfigureNotify;
#define sz_xPresentConfigureNotify 40
typedef struct {
CARD8 type;
CARD8 extension;
CARD16 sequenceNumber B16;
CARD32 length;
CARD16 evtype B16;
CARD8 kind;
CARD8 mode;
CARD32 eid B32;
Window window B32;
CARD32 serial B32;
CARD64 ust;
CARD64 msc;
} xPresentCompleteNotify;
#define sz_xPresentCompleteNotify 40
typedef struct {
CARD8 type;
CARD8 extension;
CARD16 sequenceNumber B16;
CARD32 length;
CARD16 evtype B16;
CARD16 pad2 B16;
CARD32 eid B32;
Window window B32;
CARD32 serial B32;
Pixmap pixmap B32;
CARD32 idle_fence B32;
} xPresentIdleNotify;
#define sz_xPresentIdleNotify 32
typedef struct {
CARD8 type;
CARD8 extension;
CARD16 sequenceNumber B16;
CARD32 length;
CARD16 evtype B16;
CARD8 update_window;
CARD8 pad1;
CARD32 eid B32;
Window event_window B32;
Window window B32;
Pixmap pixmap B32;
CARD32 serial B32;
/* 32-byte boundary */
Region valid_region B32;
Region update_region B32;
xRectangle valid_rect;
xRectangle update_rect;
INT16 x_off B16;
INT16 y_off B16;
CARD32 target_crtc B32;
XSyncFence wait_fence B32;
XSyncFence idle_fence B32;
CARD32 options B32;
CARD32 pad2 B32;
CARD64 target_msc;
CARD64 divisor;
CARD64 remainder;
} xPresentRedirectNotify;
#define sz_xPresentRedirectNotify 104
#undef Window
#undef Pixmap
#undef Region
#undef XSyncFence
#undef EventID
#endif
PK 5[q(, extensions/XI2proto.hnu W+A /*
* Copyright © 2009 Red Hat, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
*/
/* Conventions for this file:
* Names:
* structs: always typedef'd, prefixed with xXI, CamelCase
* struct members: lower_case_with_underscores
* Exceptions: reqType, ReqType, repType, RepType, sequenceNumber are
* named as such for historical reasons.
* request opcodes: X_XIRequestName as CamelCase
* defines: defines used in client applications must go in XI2.h
* defines used only in protocol handling: XISOMENAME
*
* Data types: unless there is a historical name for a datatype (e.g.
* Window), use stdint types specifying the size of the datatype.
* historical data type names must be defined and undefined at the top and
* end of the file.
*
* General:
* spaces, not tabs.
* structs specific to a request or reply added before the request
* definition. structs used in more than one request, reply or event
* appended to the common structs section before the definition of the
* first request.
* members of structs vertically aligned on column 16 if datatypes permit.
* otherwise alingned on next available 8n column.
*/
/**
* Protocol definitions for the XI2 protocol.
* This file should not be included by clients that merely use XI2, but do not
* need the wire protocol. Such clients should include XI2.h, or the matching
* header from the library.
*
*/
#ifndef _XI2PROTO_H_
#define _XI2PROTO_H_
#include
#include
#include
#include
/* make sure types have right sizes for protocol structures. */
#define Window uint32_t
#define Time uint32_t
#define Atom uint32_t
#define Cursor uint32_t
#define Barrier uint32_t
/**
* XI2 Request opcodes
*/
#define X_XIQueryPointer 40
#define X_XIWarpPointer 41
#define X_XIChangeCursor 42
#define X_XIChangeHierarchy 43
#define X_XISetClientPointer 44
#define X_XIGetClientPointer 45
#define X_XISelectEvents 46
#define X_XIQueryVersion 47
#define X_XIQueryDevice 48
#define X_XISetFocus 49
#define X_XIGetFocus 50
#define X_XIGrabDevice 51
#define X_XIUngrabDevice 52
#define X_XIAllowEvents 53
#define X_XIPassiveGrabDevice 54
#define X_XIPassiveUngrabDevice 55
#define X_XIListProperties 56
#define X_XIChangeProperty 57
#define X_XIDeleteProperty 58
#define X_XIGetProperty 59
#define X_XIGetSelectedEvents 60
#define X_XIBarrierReleasePointer 61
/** Number of XI requests */
#define XI2REQUESTS (X_XIBarrierReleasePointer - X_XIQueryPointer + 1)
/** Number of XI2 events */
#define XI2EVENTS (XI_LASTEVENT + 1)
/*************************************************************************************
* *
* COMMON STRUCTS *
* *
*************************************************************************************/
/** Fixed point 16.16 */
typedef int32_t FP1616;
/** Fixed point 32.32 */
typedef struct {
int32_t integral;
uint32_t frac;
} FP3232;
/**
* Struct to describe a device.
*
* For a MasterPointer or a MasterKeyboard, 'attachment' specifies the
* paired master device.
* For a SlaveKeyboard or SlavePointer, 'attachment' specifies the master
* device this device is attached to.
* For a FloatingSlave, 'attachment' is undefined.
*/
typedef struct {
uint16_t deviceid;
uint16_t use; /**< ::XIMasterPointer, ::XIMasterKeyboard,
::XISlavePointer, ::XISlaveKeyboard,
::XIFloatingSlave */
uint16_t attachment; /**< Current attachment or pairing.*/
uint16_t num_classes; /**< Number of classes following this struct. */
uint16_t name_len; /**< Length of name in bytes. */
uint8_t enabled; /**< TRUE if device is enabled. */
uint8_t pad;
} xXIDeviceInfo;
/**
* Default template for a device class.
* A device class is equivalent to a device's capabilities. Multiple classes
* are supported per device.
*/
typedef struct {
uint16_t type; /**< One of *class */
uint16_t length; /**< Length in 4 byte units */
uint16_t sourceid; /**< source device for this class */
uint16_t pad;
} xXIAnyInfo;
/**
* Denotes button capability on a device.
* Struct is followed by num_buttons * Atom that names the buttons in the
* device-native setup (i.e. ignoring button mappings).
*/
typedef struct {
uint16_t type; /**< Always ButtonClass */
uint16_t length; /**< Length in 4 byte units */
uint16_t sourceid; /**< source device for this class */
uint16_t num_buttons; /**< Number of buttons provided */
} xXIButtonInfo;
/**
* Denotes key capability on a device.
* Struct is followed by num_keys * CARD32 that lists the keycodes available
* on the device.
*/
typedef struct {
uint16_t type; /**< Always KeyClass */
uint16_t length; /**< Length in 4 byte units */
uint16_t sourceid; /**< source device for this class */
uint16_t num_keycodes; /**< Number of keys provided */
} xXIKeyInfo;
/**
* Denotes an valuator capability on a device.
* One XIValuatorInfo describes exactly one valuator (axis) on the device.
*/
typedef struct {
uint16_t type; /**< Always ValuatorClass */
uint16_t length; /**< Length in 4 byte units */
uint16_t sourceid; /**< source device for this class */
uint16_t number; /**< Valuator number */
Atom label; /**< Axis label */
FP3232 min; /**< Min value */
FP3232 max; /**< Max value */
FP3232 value; /**< Last published value */
uint32_t resolution; /**< Resolutions in units/m */
uint8_t mode; /**< ModeRelative or ModeAbsolute */
uint8_t pad1;
uint16_t pad2;
} xXIValuatorInfo;
/***
* Denotes a scroll valuator on a device.
* One XIScrollInfo describes exactly one scroll valuator that must have a
* XIValuatorInfo struct.
*/
typedef struct {
uint16_t type; /**< Always ValuatorClass */
uint16_t length; /**< Length in 4 byte units */
uint16_t sourceid; /**< source device for this class */
uint16_t number; /**< Valuator number */
uint16_t scroll_type; /**< ::XIScrollTypeVertical, ::XIScrollTypeHorizontal */
uint16_t pad0;
uint32_t flags; /**< ::XIScrollFlagEmulate, ::XIScrollFlagPreferred */
FP3232 increment; /**< Increment for one unit of scrolling */
} xXIScrollInfo;
/**
* Denotes multitouch capability on a device.
*/
typedef struct {
uint16_t type; /**< Always TouchClass */
uint16_t length; /**< Length in 4 byte units */
uint16_t sourceid; /**< source device for this class */
uint8_t mode; /**< DirectTouch or DependentTouch */
uint8_t num_touches; /**< Maximum number of touches (0==unlimited) */
} xXITouchInfo;
/**
* Used to select for events on a given window.
* Struct is followed by (mask_len * CARD8), with each bit set representing
* the event mask for the given type. A mask bit represents an event type if
* (mask == (1 << type)).
*/
typedef struct {
uint16_t deviceid; /**< Device id to select for */
uint16_t mask_len; /**< Length of mask in 4 byte units */
} xXIEventMask;
/**
* XKB modifier information.
* The effective modifier is a binary mask of base, latched, and locked
* modifiers.
*/
typedef struct
{
uint32_t base_mods; /**< Logically pressed modifiers */
uint32_t latched_mods; /**< Logically latched modifiers */
uint32_t locked_mods; /**< Logically locked modifiers */
uint32_t effective_mods; /**< Effective modifiers */
} xXIModifierInfo;
/**
* XKB group information.
* The effective group is the mathematical sum of base, latched, and locked
* group after group wrapping is taken into account.
*/
typedef struct
{
uint8_t base_group; /**< Logically "pressed" group */
uint8_t latched_group; /**< Logically latched group */
uint8_t locked_group; /**< Logically locked group */
uint8_t effective_group; /**< Effective group */
} xXIGroupInfo;
/*************************************************************************************
* *
* REQUESTS *
* *
*************************************************************************************/
/**
* Query the server for the supported X Input extension version.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XIQueryVersion */
uint16_t length; /**< Length in 4 byte units */
uint16_t major_version;
uint16_t minor_version;
} xXIQueryVersionReq;
#define sz_xXIQueryVersionReq 8
typedef struct {
uint8_t repType; /**< ::X_Reply */
uint8_t RepType; /**< Always ::X_XIQueryVersion */
uint16_t sequenceNumber;
uint32_t length;
uint16_t major_version;
uint16_t minor_version;
uint32_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
} xXIQueryVersionReply;
#define sz_xXIQueryVersionReply 32
/**
* Query the server for information about a specific device or all input
* devices.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XIQueryDevice */
uint16_t length; /**< Length in 4 byte units */
uint16_t deviceid;
uint16_t pad;
} xXIQueryDeviceReq;
#define sz_xXIQueryDeviceReq 8
typedef struct {
uint8_t repType; /**< ::X_Reply */
uint8_t RepType; /**< Always ::X_XIQueryDevice */
uint16_t sequenceNumber;
uint32_t length;
uint16_t num_devices;
uint16_t pad0;
uint32_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
} xXIQueryDeviceReply;
#define sz_xXIQueryDeviceReply 32
/**
* Select for events on a given window.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XISelectEvents */
uint16_t length; /**< Length in 4 byte units */
Window win;
uint16_t num_masks;
uint16_t pad;
} xXISelectEventsReq;
#define sz_xXISelectEventsReq 12
/**
* Query for selected events on a given window.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XIGetSelectedEvents */
uint16_t length; /**< Length in 4 byte units */
Window win;
} xXIGetSelectedEventsReq;
#define sz_xXIGetSelectedEventsReq 8
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always ::X_XIGetSelectedEvents */
uint16_t sequenceNumber;
uint32_t length;
uint16_t num_masks; /**< Number of xXIEventMask structs
trailing the reply */
uint16_t pad0;
uint32_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
} xXIGetSelectedEventsReply;
#define sz_xXIGetSelectedEventsReply 32
/**
* Query the given device's screen/window coordinates.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XIQueryPointer */
uint16_t length; /**< Length in 4 byte units */
Window win;
uint16_t deviceid;
uint16_t pad1;
} xXIQueryPointerReq;
#define sz_xXIQueryPointerReq 12
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always ::X_XIQueryPointer */
uint16_t sequenceNumber;
uint32_t length;
Window root;
Window child;
FP1616 root_x;
FP1616 root_y;
FP1616 win_x;
FP1616 win_y;
uint8_t same_screen;
uint8_t pad0;
uint16_t buttons_len;
xXIModifierInfo mods;
xXIGroupInfo group;
} xXIQueryPointerReply;
#define sz_xXIQueryPointerReply 56
/**
* Warp the given device's pointer to the specified position.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XIWarpPointer */
uint16_t length; /**< Length in 4 byte units */
Window src_win;
Window dst_win;
FP1616 src_x;
FP1616 src_y;
uint16_t src_width;
uint16_t src_height;
FP1616 dst_x;
FP1616 dst_y;
uint16_t deviceid;
uint16_t pad1;
} xXIWarpPointerReq;
#define sz_xXIWarpPointerReq 36
/**
* Change the given device's sprite to the given cursor.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XIChangeCursor */
uint16_t length; /**< Length in 4 byte units */
Window win;
Cursor cursor;
uint16_t deviceid;
uint16_t pad1;
} xXIChangeCursorReq;
#define sz_xXIChangeCursorReq 16
/**
* Modify the device hierarchy.
*/
typedef struct {
uint8_t reqType; /**< Input extension major code */
uint8_t ReqType; /**< Always ::X_XIChangeHierarchy */
uint16_t length; /**< Length in 4 byte units */
uint8_t num_changes;
uint8_t pad0;
uint16_t pad1;
} xXIChangeHierarchyReq;
#define sz_xXIChangeHierarchyReq 8
/**
* Generic header for any hierarchy change.
*/
typedef struct {
uint16_t type;
uint16_t length; /**< Length in 4 byte units */
} xXIAnyHierarchyChangeInfo;
/**
* Create a new master device.
* Name of new master follows struct (4-byte padded)
*/
typedef struct {
uint16_t type; /**< Always ::XIAddMaster */
uint16_t length; /**< 2 + (namelen + padding)/4 */
uint16_t name_len;
uint8_t send_core;
uint8_t enable;
} xXIAddMasterInfo;
/**
* Delete a master device. Will automatically delete the master device paired
* with the given master device.
*/
typedef struct {
uint16_t type; /**< Always ::XIRemoveMaster */
uint16_t length; /**< 3 */
uint16_t deviceid;
uint8_t return_mode; /**< ::XIAttachToMaster, ::XIFloating */
uint8_t pad;
uint16_t return_pointer; /**< Pointer to attach slave ptr devices to */
uint16_t return_keyboard; /**< keyboard to attach slave keybd devices to*/
} xXIRemoveMasterInfo;
/**
* Attach an SD to a new device.
* NewMaster has to be of same type (pointer->pointer, keyboard->keyboard);
*/
typedef struct {
uint16_t type; /**< Always ::XIAttachSlave */
uint16_t length; /**< 2 */
uint16_t deviceid;
uint16_t new_master; /**< id of new master device */
} xXIAttachSlaveInfo;
/**
* Detach an SD from its current master device.
*/
typedef struct {
uint16_t type; /**< Always ::XIDetachSlave */
uint16_t length; /**< 2 */
uint16_t deviceid;
uint16_t pad;
} xXIDetachSlaveInfo;
/**
* Set the window/client's ClientPointer.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XISetClientPointer */
uint16_t length; /**< Length in 4 byte units */
Window win;
uint16_t deviceid;
uint16_t pad1;
} xXISetClientPointerReq;
#define sz_xXISetClientPointerReq 12
/**
* Query the given window/client's ClientPointer setting.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_GetClientPointer */
uint16_t length; /**< Length in 4 byte units */
Window win;
} xXIGetClientPointerReq;
#define sz_xXIGetClientPointerReq 8
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always ::X_GetClientPointer */
uint16_t sequenceNumber;
uint32_t length;
BOOL set; /**< client pointer is set? */
uint8_t pad0;
uint16_t deviceid;
uint32_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
} xXIGetClientPointerReply;
#define sz_xXIGetClientPointerReply 32
/**
* Set the input focus to the specified window.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XISetFocus */
uint16_t length; /**< Length in 4 byte units */
Window focus;
Time time;
uint16_t deviceid;
uint16_t pad0;
} xXISetFocusReq;
#define sz_xXISetFocusReq 16
/**
* Query the current input focus.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIGetDeviceFocus */
uint16_t length; /**< Length in 4 byte units */
uint16_t deviceid;
uint16_t pad0;
} xXIGetFocusReq;
#define sz_xXIGetFocusReq 8
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always ::X_XIGetFocus */
uint16_t sequenceNumber;
uint32_t length;
Window focus;
uint32_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
} xXIGetFocusReply;
#define sz_xXIGetFocusReply 32
/**
* Grab the given device.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIGrabDevice */
uint16_t length; /**< Length in 4 byte units */
Window grab_window;
Time time;
Cursor cursor;
uint16_t deviceid;
uint8_t grab_mode;
uint8_t paired_device_mode;
uint8_t owner_events;
uint8_t pad;
uint16_t mask_len;
} xXIGrabDeviceReq;
#define sz_xXIGrabDeviceReq 24
/**
* Return codes from a XIPassiveGrabDevice request.
*/
typedef struct {
uint32_t modifiers; /**< Modifier state */
uint8_t status; /**< Grab status code */
uint8_t pad0;
uint16_t pad1;
} xXIGrabModifierInfo;
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always ::X_XIGrabDevice */
uint16_t sequenceNumber;
uint32_t length;
uint8_t status;
uint8_t pad0;
uint16_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
uint32_t pad6;
} xXIGrabDeviceReply;
#define sz_xXIGrabDeviceReply 32
/**
* Ungrab the specified device.
*
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIUngrabDevice */
uint16_t length; /**< Length in 4 byte units */
Time time;
uint16_t deviceid;
uint16_t pad;
} xXIUngrabDeviceReq;
#define sz_xXIUngrabDeviceReq 12
/**
* Allow or replay events on the specified grabbed device.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIAllowEvents */
uint16_t length; /**< Length in 4 byte units */
Time time;
uint16_t deviceid;
uint8_t mode;
uint8_t pad;
} xXIAllowEventsReq;
#define sz_xXIAllowEventsReq 12
/**
* Allow or replay events on the specified grabbed device.
* Since XI 2.2
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIAllowEvents */
uint16_t length; /**< Length in 4 byte units */
Time time;
uint16_t deviceid;
uint8_t mode;
uint8_t pad;
uint32_t touchid; /**< Since XI 2.2 */
Window grab_window; /**< Since XI 2.2 */
} xXI2_2AllowEventsReq;
#define sz_xXI2_2AllowEventsReq 20
/**
* Passively grab the device.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIPassiveGrabDevice */
uint16_t length; /**< Length in 4 byte units */
Time time;
Window grab_window;
Cursor cursor;
uint32_t detail;
uint16_t deviceid;
uint16_t num_modifiers;
uint16_t mask_len;
uint8_t grab_type;
uint8_t grab_mode;
uint8_t paired_device_mode;
uint8_t owner_events;
uint16_t pad1;
} xXIPassiveGrabDeviceReq;
#define sz_xXIPassiveGrabDeviceReq 32
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always ::X_XIPassiveGrabDevice */
uint16_t sequenceNumber;
uint32_t length;
uint16_t num_modifiers;
uint16_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
uint32_t pad6;
} xXIPassiveGrabDeviceReply;
#define sz_xXIPassiveGrabDeviceReply 32
/**
* Delete a passive grab for the given device.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIPassiveUngrabDevice */
uint16_t length; /**< Length in 4 byte units */
Window grab_window;
uint32_t detail;
uint16_t deviceid;
uint16_t num_modifiers;
uint8_t grab_type;
uint8_t pad0;
uint16_t pad1;
} xXIPassiveUngrabDeviceReq;
#define sz_xXIPassiveUngrabDeviceReq 20
/**
* List all device properties on the specified device.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIListProperties */
uint16_t length; /**< Length in 4 byte units */
uint16_t deviceid;
uint16_t pad;
} xXIListPropertiesReq;
#define sz_xXIListPropertiesReq 8
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always ::X_XIListProperties */
uint16_t sequenceNumber;
uint32_t length;
uint16_t num_properties;
uint16_t pad0;
uint32_t pad1;
uint32_t pad2;
uint32_t pad3;
uint32_t pad4;
uint32_t pad5;
} xXIListPropertiesReply;
#define sz_xXIListPropertiesReply 32
/**
* Change a property on the specified device.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always ::X_XIChangeProperty */
uint16_t length; /**< Length in 4 byte units */
uint16_t deviceid;
uint8_t mode;
uint8_t format;
Atom property;
Atom type;
uint32_t num_items;
} xXIChangePropertyReq;
#define sz_xXIChangePropertyReq 20
/**
* Delete the specified property.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always X_XIDeleteProperty */
uint16_t length; /**< Length in 4 byte units */
uint16_t deviceid;
uint16_t pad0;
Atom property;
} xXIDeletePropertyReq;
#define sz_xXIDeletePropertyReq 12
/**
* Query the specified property's values.
*/
typedef struct {
uint8_t reqType;
uint8_t ReqType; /**< Always X_XIGetProperty */
uint16_t length; /**< Length in 4 byte units */
uint16_t deviceid;
#if defined(__cplusplus) || defined(c_plusplus)
uint8_t c_delete;
#else
uint8_t delete;
#endif
uint8_t pad0;
Atom property;
Atom type;
uint32_t offset;
uint32_t len;
} xXIGetPropertyReq;
#define sz_xXIGetPropertyReq 24
typedef struct {
uint8_t repType; /**< Input extension major opcode */
uint8_t RepType; /**< Always X_XIGetProperty */
uint16_t sequenceNumber;
uint32_t length;
Atom type;
uint32_t bytes_after;
uint32_t num_items;
uint8_t format;
uint8_t pad0;
uint16_t pad1;
uint32_t pad2;
uint32_t pad3;
} xXIGetPropertyReply;
#define sz_xXIGetPropertyReply 32
typedef struct {
uint16_t deviceid;
uint16_t pad;
Barrier barrier;
uint32_t eventid;
} xXIBarrierReleasePointerInfo;
typedef struct {
uint8_t reqType; /**< Input extension major opcode */
uint8_t ReqType; /**< Always X_XIBarrierReleasePointer */
uint16_t length;
uint32_t num_barriers;
/* array of xXIBarrierReleasePointerInfo */
} xXIBarrierReleasePointerReq;
#define sz_xXIBarrierReleasePointerReq 8
/*************************************************************************************
* *
* EVENTS *
* *
*************************************************************************************/
/**
* Generic XI2 event header. All XI2 events use the same header.
*/
typedef struct
{
uint8_t type;
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length;
uint16_t evtype;
uint16_t deviceid;
Time time;
} xXIGenericDeviceEvent;
/**
* Device hierarchy information.
*/
typedef struct
{
uint16_t deviceid;
uint16_t attachment; /**< ID of master or paired device */
uint8_t use; /**< ::XIMasterKeyboard,
::XIMasterPointer,
::XISlaveKeyboard,
::XISlavePointer,
::XIFloatingSlave */
BOOL enabled; /**< TRUE if the device is enabled */
uint16_t pad;
uint32_t flags; /**< ::XIMasterAdded, ::XIMasterRemoved,
::XISlaveAttached, ::XISlaveDetached,
::XISlaveAdded, ::XISlaveRemoved,
::XIDeviceEnabled, ::XIDeviceDisabled */
} xXIHierarchyInfo;
/**
* The device hierarchy has been modified. This event includes the device
* hierarchy after the modification has been applied.
*/
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte units */
uint16_t evtype; /**< ::XI_Hierarchy */
uint16_t deviceid;
Time time;
uint32_t flags; /**< ::XIMasterAdded, ::XIMasterDeleted,
::XISlaveAttached, ::XISlaveDetached,
::XISlaveAdded, ::XISlaveRemoved,
::XIDeviceEnabled, ::XIDeviceDisabled */
uint16_t num_info;
uint16_t pad0;
uint32_t pad1;
uint32_t pad2;
} xXIHierarchyEvent;
/**
* A device has changed capabilities.
*/
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte units */
uint16_t evtype; /**< XI_DeviceChanged */
uint16_t deviceid; /**< Device that has changed */
Time time;
uint16_t num_classes; /**< Number of classes that have changed */
uint16_t sourceid; /**< Source of the new classes */
uint8_t reason; /**< ::XISlaveSwitch, ::XIDeviceChange */
uint8_t pad0;
uint16_t pad1;
uint32_t pad2;
uint32_t pad3;
} xXIDeviceChangedEvent;
/**
* The owner of a touch stream has passed on ownership to another client.
*/
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte units */
uint16_t evtype; /**< XI_TouchOwnership */
uint16_t deviceid; /**< Device that has changed */
Time time;
uint32_t touchid;
Window root;
Window event;
Window child;
/* └──────── 32 byte boundary ────────┘ */
uint16_t sourceid;
uint16_t pad0;
uint32_t flags;
uint32_t pad1;
uint32_t pad2;
} xXITouchOwnershipEvent;
/**
* Default input event for pointer, keyboard or touch input.
*/
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte uints */
uint16_t evtype;
uint16_t deviceid;
Time time;
uint32_t detail; /**< Keycode or button */
Window root;
Window event;
Window child;
/* └──────── 32 byte boundary ────────┘ */
FP1616 root_x; /**< Always screen coords, 16.16 fixed point */
FP1616 root_y;
FP1616 event_x; /**< Always screen coords, 16.16 fixed point */
FP1616 event_y;
uint16_t buttons_len; /**< Len of button flags in 4 b units */
uint16_t valuators_len; /**< Len of val. flags in 4 b units */
uint16_t sourceid; /**< The source device */
uint16_t pad0;
uint32_t flags; /**< ::XIKeyRepeat */
xXIModifierInfo mods;
xXIGroupInfo group;
} xXIDeviceEvent;
/**
* Sent when an input event is generated. RawEvents include valuator
* information in both device-specific data (i.e. unaccelerated) and
* processed data (i.e. accelerated, if applicable).
*/
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte uints */
uint16_t evtype; /**< ::XI_RawEvent */
uint16_t deviceid;
Time time;
uint32_t detail;
uint16_t sourceid; /**< The source device (XI 2.1) */
uint16_t valuators_len; /**< Length of trailing valuator
mask in 4 byte units */
uint32_t flags; /**< ::XIKeyRepeat */
uint32_t pad2;
} xXIRawEvent;
/**
* Note that the layout of root, event, child, root_x, root_y, event_x,
* event_y must be identical to the xXIDeviceEvent.
*/
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte uints */
uint16_t evtype; /**< ::XI_Enter */
uint16_t deviceid;
Time time;
uint16_t sourceid;
uint8_t mode;
uint8_t detail;
Window root;
Window event;
Window child;
/* └──────── 32 byte boundary ────────┘ */
FP1616 root_x;
FP1616 root_y;
FP1616 event_x;
FP1616 event_y;
BOOL same_screen;
BOOL focus;
uint16_t buttons_len; /**< Length of trailing button mask
in 4 byte units */
xXIModifierInfo mods;
xXIGroupInfo group;
} xXIEnterEvent;
typedef xXIEnterEvent xXILeaveEvent;
typedef xXIEnterEvent xXIFocusInEvent;
typedef xXIEnterEvent xXIFocusOutEvent;
/**
* Sent when a device property is created, modified or deleted. Does not
* include property data, the client is required to query the data.
*/
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte units */
uint16_t evtype; /**< ::XI_PropertyEvent */
uint16_t deviceid;
Time time;
Atom property;
uint8_t what; /**< ::XIPropertyDeleted,
::XIPropertyCreated,
::XIPropertyMotified */
uint8_t pad0;
uint16_t pad1;
uint32_t pad2;
uint32_t pad3;
} xXIPropertyEvent;
typedef struct
{
uint8_t type; /**< Always GenericEvent */
uint8_t extension; /**< XI extension offset */
uint16_t sequenceNumber;
uint32_t length; /**< Length in 4 byte units */
uint16_t evtype; /**< ::XI_BarrierHit or ::XI_BarrierLeave */
uint16_t deviceid;
Time time;
uint32_t eventid;
Window root;
Window event;
Barrier barrier;
/* └──────── 32 byte boundary ────────┘ */
uint32_t dtime;
uint32_t flags; /**< ::XIBarrierPointerReleased
::XIBarrierDeviceIsGrabbed */
uint16_t sourceid;
int16_t pad;
FP1616 root_x;
FP1616 root_y;
FP3232 dx;
FP3232 dy;
} xXIBarrierEvent;
typedef xXIBarrierEvent xXIBarrierHitEvent;
typedef xXIBarrierEvent xXIBarrierPointerReleasedEvent;
typedef xXIBarrierEvent xXIBarrierLeaveEvent;
#undef Window
#undef Time
#undef Atom
#undef Cursor
#undef Barrier
#endif /* _XI2PROTO_H_ */
PK 5[݇m3 3 extensions/xf86dgaproto.hnu W+A /*
Copyright (c) 1995 Jon Tombs
Copyright (c) 1995 XFree86 Inc.
*/
#ifndef _XF86DGAPROTO_H_
#define _XF86DGAPROTO_H_
#include
#include
#define XF86DGANAME "XFree86-DGA"
#define XDGA_MAJOR_VERSION 2 /* current version numbers */
#define XDGA_MINOR_VERSION 0
typedef struct _XDGAQueryVersion {
CARD8 reqType; /* always DGAReqCode */
CARD8 dgaReqType; /* always X_DGAQueryVersion */
CARD16 length B16;
} xXDGAQueryVersionReq;
#define sz_xXDGAQueryVersionReq 4
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16; /* major version of DGA protocol */
CARD16 minorVersion B16; /* minor version of DGA protocol */
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXDGAQueryVersionReply;
#define sz_xXDGAQueryVersionReply 32
typedef struct _XDGAQueryModes {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
} xXDGAQueryModesReq;
#define sz_xXDGAQueryModesReq 8
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 number B32; /* number of modes available */
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXDGAQueryModesReply;
#define sz_xXDGAQueryModesReply 32
typedef struct _XDGASetMode {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD32 mode B32; /* mode number to init */
CARD32 pid B32; /* Pixmap descriptor */
} xXDGASetModeReq;
#define sz_xXDGASetModeReq 16
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 offset B32; /* offset into framebuffer map */
CARD32 flags B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xXDGASetModeReply;
#define sz_xXDGASetModeReply 32
typedef struct {
CARD8 byte_order;
CARD8 depth;
CARD16 num B16;
CARD16 bpp B16;
CARD16 name_size B16;
CARD32 vsync_num B32;
CARD32 vsync_den B32;
CARD32 flags B32;
CARD16 image_width B16;
CARD16 image_height B16;
CARD16 pixmap_width B16;
CARD16 pixmap_height B16;
CARD32 bytes_per_scanline B32;
CARD32 red_mask B32;
CARD32 green_mask B32;
CARD32 blue_mask B32;
CARD16 visual_class B16;
CARD16 pad1 B16;
CARD16 viewport_width B16;
CARD16 viewport_height B16;
CARD16 viewport_xstep B16;
CARD16 viewport_ystep B16;
CARD16 viewport_xmax B16;
CARD16 viewport_ymax B16;
CARD32 viewport_flags B32;
CARD32 reserved1 B32;
CARD32 reserved2 B32;
} xXDGAModeInfo;
#define sz_xXDGAModeInfo 72
typedef struct _XDGAOpenFramebuffer {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
} xXDGAOpenFramebufferReq;
#define sz_xXDGAOpenFramebufferReq 8
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequenceNumber B16;
CARD32 length B32; /* device name size if there is one */
CARD32 mem1 B32; /* physical memory */
CARD32 mem2 B32; /* spillover for _alpha_ */
CARD32 size B32; /* size of map in bytes */
CARD32 offset B32; /* optional offset into device */
CARD32 extra B32; /* extra info associated with the map */
CARD32 pad2 B32;
} xXDGAOpenFramebufferReply;
#define sz_xXDGAOpenFramebufferReply 32
typedef struct _XDGACloseFramebuffer {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
} xXDGACloseFramebufferReq;
#define sz_xXDGACloseFramebufferReq 8
typedef struct _XDGASetViewport {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD16 x B16;
CARD16 y B16;
CARD32 flags B32;
} xXDGASetViewportReq;
#define sz_xXDGASetViewportReq 16
typedef struct _XDGAInstallColormap {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD32 cmap B32;
} xXDGAInstallColormapReq;
#define sz_xXDGAInstallColormapReq 12
typedef struct _XDGASelectInput {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD32 mask B32;
} xXDGASelectInputReq;
#define sz_xXDGASelectInputReq 12
typedef struct _XDGAFillRectangle {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD16 x B16;
CARD16 y B16;
CARD16 width B16;
CARD16 height B16;
CARD32 color B32;
} xXDGAFillRectangleReq;
#define sz_xXDGAFillRectangleReq 20
typedef struct _XDGACopyArea {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD16 srcx B16;
CARD16 srcy B16;
CARD16 width B16;
CARD16 height B16;
CARD16 dstx B16;
CARD16 dsty B16;
} xXDGACopyAreaReq;
#define sz_xXDGACopyAreaReq 20
typedef struct _XDGACopyTransparentArea {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD16 srcx B16;
CARD16 srcy B16;
CARD16 width B16;
CARD16 height B16;
CARD16 dstx B16;
CARD16 dsty B16;
CARD32 key B32;
} xXDGACopyTransparentAreaReq;
#define sz_xXDGACopyTransparentAreaReq 24
typedef struct _XDGAGetViewportStatus {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
} xXDGAGetViewportStatusReq;
#define sz_xXDGAGetViewportStatusReq 8
typedef struct {
BYTE type;
BOOL pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 status B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXDGAGetViewportStatusReply;
#define sz_xXDGAGetViewportStatusReply 32
typedef struct _XDGASync {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
} xXDGASyncReq;
#define sz_xXDGASyncReq 8
typedef struct {
BYTE type;
BOOL pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xXDGASyncReply;
#define sz_xXDGASyncReply 32
typedef struct _XDGASetClientVersion {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD16 major B16;
CARD16 minor B16;
} xXDGASetClientVersionReq;
#define sz_xXDGASetClientVersionReq 8
typedef struct {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD16 x B16;
CARD16 y B16;
CARD32 flags B32;
} xXDGAChangePixmapModeReq;
#define sz_xXDGAChangePixmapModeReq 16
typedef struct {
BYTE type;
BOOL pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 x B16;
CARD16 y B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xXDGAChangePixmapModeReply;
#define sz_xXDGAChangePixmapModeReply 32
typedef struct _XDGACreateColormap {
CARD8 reqType;
CARD8 dgaReqType;
CARD16 length B16;
CARD32 screen B32;
CARD32 id B32;
CARD32 mode B32;
CARD8 alloc;
CARD8 pad1;
CARD16 pad2;
} xXDGACreateColormapReq;
#define sz_xXDGACreateColormapReq 20
typedef struct {
union {
struct {
BYTE type;
BYTE detail;
CARD16 sequenceNumber B16;
} u;
struct {
CARD32 pad0 B32;
CARD32 time B32;
INT16 dx B16;
INT16 dy B16;
INT16 screen B16;
CARD16 state B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} event;
} u;
} dgaEvent;
#endif /* _XF86DGAPROTO_H_ */
PK 5[
extensions/multibufconst.hnu W+A /*
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
#ifndef _MULTIBUFCONST_H_
#define _MULTIBUFCONST_H_
#define MULTIBUFFER_PROTOCOL_NAME "Multi-Buffering"
#define MULTIBUFFER_MAJOR_VERSION 1 /* current version numbers */
#define MULTIBUFFER_MINOR_VERSION 1 /* has ClearImageBufferArea */
/*
* update_action field
*/
#define MultibufferUpdateActionUndefined 0
#define MultibufferUpdateActionBackground 1
#define MultibufferUpdateActionUntouched 2
#define MultibufferUpdateActionCopied 3
/*
* update_hint field
*/
#define MultibufferUpdateHintFrequent 0
#define MultibufferUpdateHintIntermittent 1
#define MultibufferUpdateHintStatic 2
/*
* valuemask fields
*/
#define MultibufferWindowUpdateHint (1L << 0)
#define MultibufferBufferEventMask (1L << 0)
/*
* mono vs. stereo and left vs. right
*/
#define MultibufferModeMono 0
#define MultibufferModeStereo 1
#define MultibufferSideMono 0
#define MultibufferSideLeft 1
#define MultibufferSideRight 2
/*
* clobber state
*/
#define MultibufferUnclobbered 0
#define MultibufferPartiallyClobbered 1
#define MultibufferFullyClobbered 2
/*
* event stuff
*/
#define MultibufferClobberNotifyMask 0x02000000
#define MultibufferUpdateNotifyMask 0x04000000
#define MultibufferClobberNotify 0
#define MultibufferUpdateNotify 1
#define MultibufferNumberEvents (MultibufferUpdateNotify + 1)
#define MultibufferBadBuffer 0
#define MultibufferNumberErrors (MultibufferBadBuffer + 1)
#endif /* _MULTIBUFCONST_H_ */
PK 5[x;V extensions/recordconst.hnu W+A /***************************************************************************
* Copyright 1995 Network Computing Devices
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of Network Computing Devices
* not be used in advertising or publicity pertaining to distribution
* of the software without specific, written prior permission.
*
* NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
**************************************************************************/
#ifndef _RECORDCONST_H_
#define _RECORDCONST_H_
#define RECORD_NAME "RECORD"
#define RECORD_MAJOR_VERSION 1
#define RECORD_MINOR_VERSION 13
#define RECORD_LOWEST_MAJOR_VERSION 1
#define RECORD_LOWEST_MINOR_VERSION 12
#define XRecordBadContext 0 /* Not a valid RC */
#define RecordNumErrors (XRecordBadContext + 1)
#define RecordNumEvents 0L
/*
* Constants for arguments of various requests
*/
#define XRecordFromServerTime 0x01
#define XRecordFromClientTime 0x02
#define XRecordFromClientSequence 0x04
#define XRecordCurrentClients 1
#define XRecordFutureClients 2
#define XRecordAllClients 3
#define XRecordFromServer 0
#define XRecordFromClient 1
#define XRecordClientStarted 2
#define XRecordClientDied 3
#define XRecordStartOfData 4
#define XRecordEndOfData 5
#endif /* _RECORD_H_ */
PK 5[]Yig g extensions/randrproto.hnu W+A /*
* Copyright © 2000 Compaq Computer Corporation
* Copyright © 2002 Hewlett-Packard Company
* Copyright © 2006 Intel Corporation
* Copyright © 2008 Red Hat, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*
* Author: Jim Gettys, Hewlett-Packard Company, Inc.
* Keith Packard, Intel Corporation
*/
/* note that RANDR 1.0 is incompatible with version 0.0, or 0.1 */
/* V1.0 removes depth switching from the protocol */
#ifndef _XRANDRP_H_
#define _XRANDRP_H_
#include
#include
#define Window CARD32
#define Drawable CARD32
#define Font CARD32
#define Pixmap CARD32
#define Cursor CARD32
#define Colormap CARD32
#define GContext CARD32
#define Atom CARD32
#define Time CARD32
#define KeyCode CARD8
#define KeySym CARD32
#define RROutput CARD32
#define RRMode CARD32
#define RRCrtc CARD32
#define RRProvider CARD32
#define RRModeFlags CARD32
#define Atom CARD32
#define Rotation CARD16
#define SizeID CARD16
#define SubpixelOrder CARD16
/*
* data structures
*/
typedef struct {
CARD16 widthInPixels B16;
CARD16 heightInPixels B16;
CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16;
} xScreenSizes;
#define sz_xScreenSizes 8
/*
* requests and replies
*/
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
} xRRQueryVersionReq;
#define sz_xRRQueryVersionReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRQueryVersionReply;
#define sz_xRRQueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenInfoReq;
#define sz_xRRGetScreenInfoReq 8
/*
* the xRRScreenInfoReply structure is followed by:
*
* the size information
*/
typedef struct {
BYTE type; /* X_Reply */
BYTE setOfRotations;
CARD16 sequenceNumber B16;
CARD32 length B32;
Window root B32;
Time timestamp B32;
Time configTimestamp B32;
CARD16 nSizes B16;
SizeID sizeID B16;
Rotation rotation B16;
CARD16 rate B16;
CARD16 nrateEnts B16;
CARD16 pad B16;
} xRRGetScreenInfoReply;
#define sz_xRRGetScreenInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Drawable drawable B32;
Time timestamp B32;
Time configTimestamp B32;
SizeID sizeID B16;
Rotation rotation B16;
} xRR1_0SetScreenConfigReq;
#define sz_xRR1_0SetScreenConfigReq 20
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Drawable drawable B32;
Time timestamp B32;
Time configTimestamp B32;
SizeID sizeID B16;
Rotation rotation B16;
CARD16 rate B16;
CARD16 pad B16;
} xRRSetScreenConfigReq;
#define sz_xRRSetScreenConfigReq 24
typedef struct {
BYTE type; /* X_Reply */
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
Time newConfigTimestamp B32;
Window root;
CARD16 subpixelOrder B16;
CARD16 pad4 B16;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRSetScreenConfigReply;
#define sz_xRRSetScreenConfigReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
CARD16 enable B16;
CARD16 pad2 B16;
} xRRSelectInputReq;
#define sz_xRRSelectInputReq 12
/*
* Additions for version 1.2
*/
typedef struct _xRRModeInfo {
RRMode id B32;
CARD16 width B16;
CARD16 height B16;
CARD32 dotClock B32;
CARD16 hSyncStart B16;
CARD16 hSyncEnd B16;
CARD16 hTotal B16;
CARD16 hSkew B16;
CARD16 vSyncStart B16;
CARD16 vSyncEnd B16;
CARD16 vTotal B16;
CARD16 nameLength B16;
RRModeFlags modeFlags B32;
} xRRModeInfo;
#define sz_xRRModeInfo 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenSizeRangeReq;
#define sz_xRRGetScreenSizeRangeReq 8
typedef struct {
BYTE type; /* X_Reply */
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 minWidth B16;
CARD16 minHeight B16;
CARD16 maxWidth B16;
CARD16 maxHeight B16;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetScreenSizeRangeReply;
#define sz_xRRGetScreenSizeRangeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
CARD16 width B16;
CARD16 height B16;
CARD32 widthInMillimeters B32;
CARD32 heightInMillimeters B32;
} xRRSetScreenSizeReq;
#define sz_xRRSetScreenSizeReq 20
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetScreenResourcesReq;
#define sz_xRRGetScreenResourcesReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
Time configTimestamp B32;
CARD16 nCrtcs B16;
CARD16 nOutputs B16;
CARD16 nModes B16;
CARD16 nbytesNames B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xRRGetScreenResourcesReply;
#define sz_xRRGetScreenResourcesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Time configTimestamp B32;
} xRRGetOutputInfoReq;
#define sz_xRRGetOutputInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
RRCrtc crtc B32;
CARD32 mmWidth B32;
CARD32 mmHeight B32;
CARD8 connection;
CARD8 subpixelOrder;
CARD16 nCrtcs B16;
CARD16 nModes B16;
CARD16 nPreferred B16;
CARD16 nClones B16;
CARD16 nameLength B16;
} xRRGetOutputInfoReply;
#define sz_xRRGetOutputInfoReply 36
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
} xRRListOutputPropertiesReq;
#define sz_xRRListOutputPropertiesReq 8
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 nAtoms B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRListOutputPropertiesReply;
#define sz_xRRListOutputPropertiesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
} xRRQueryOutputPropertyReq;
#define sz_xRRQueryOutputPropertyReq 12
typedef struct {
BYTE type;
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
BOOL pending;
BOOL range;
BOOL immutable;
BYTE pad1;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRQueryOutputPropertyReply;
#define sz_xRRQueryOutputPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
BOOL pending;
BOOL range;
CARD16 pad B16;
} xRRConfigureOutputPropertyReq;
#define sz_xRRConfigureOutputPropertyReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
Atom type B32;
CARD8 format;
CARD8 mode;
CARD16 pad;
CARD32 nUnits B32;
} xRRChangeOutputPropertyReq;
#define sz_xRRChangeOutputPropertyReq 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
} xRRDeleteOutputPropertyReq;
#define sz_xRRDeleteOutputPropertyReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
Atom property B32;
Atom type B32;
CARD32 longOffset B32;
CARD32 longLength B32;
#ifdef __cplusplus
BOOL _delete;
#else
BOOL delete;
#endif
BOOL pending;
CARD16 pad1 B16;
} xRRGetOutputPropertyReq;
#define sz_xRRGetOutputPropertyReq 28
typedef struct {
BYTE type;
CARD8 format;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom propertyType B32;
CARD32 bytesAfter B32;
CARD32 nItems B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetOutputPropertyReply;
#define sz_xRRGetOutputPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
xRRModeInfo modeInfo;
} xRRCreateModeReq;
#define sz_xRRCreateModeReq 40
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
RRMode mode B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRCreateModeReply;
#define sz_xRRCreateModeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRMode mode B32;
} xRRDestroyModeReq;
#define sz_xRRDestroyModeReq 8
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
RRMode mode B32;
} xRRAddOutputModeReq;
#define sz_xRRAddOutputModeReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RROutput output B32;
RRMode mode B32;
} xRRDeleteOutputModeReq;
#define sz_xRRDeleteOutputModeReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time configTimestamp B32;
} xRRGetCrtcInfoReq;
#define sz_xRRGetCrtcInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
RRMode mode B32;
Rotation rotation B16;
Rotation rotations B16;
CARD16 nOutput B16;
CARD16 nPossibleOutput B16;
} xRRGetCrtcInfoReply;
#define sz_xRRGetCrtcInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time timestamp B32;
Time configTimestamp B32;
INT16 x B16;
INT16 y B16;
RRMode mode B32;
Rotation rotation B16;
CARD16 pad B16;
} xRRSetCrtcConfigReq;
#define sz_xRRSetCrtcConfigReq 28
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
CARD32 pad1 B32;
CARD32 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRSetCrtcConfigReply;
#define sz_xRRSetCrtcConfigReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcGammaSizeReq;
#define sz_xRRGetCrtcGammaSizeReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 size B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRGetCrtcGammaSizeReply;
#define sz_xRRGetCrtcGammaSizeReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcGammaReq;
#define sz_xRRGetCrtcGammaReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 size B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRGetCrtcGammaReply;
#define sz_xRRGetCrtcGammaReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
CARD16 size B16;
CARD16 pad1 B16;
} xRRSetCrtcGammaReq;
#define sz_xRRSetCrtcGammaReq 12
/*
* Additions for V1.3
*/
typedef xRRGetScreenResourcesReq xRRGetScreenResourcesCurrentReq;
#define sz_xRRGetScreenResourcesCurrentReq sz_xRRGetScreenResourcesReq
typedef xRRGetScreenResourcesReply xRRGetScreenResourcesCurrentReply;
#define sz_xRRGetScreenResourcesCurrentReply sz_xRRGetScreenResourcesReply
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
xRenderTransform transform;
CARD16 nbytesFilter; /* number of bytes in filter name */
CARD16 pad B16;
} xRRSetCrtcTransformReq;
#define sz_xRRSetCrtcTransformReq 48
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetCrtcTransformReq;
#define sz_xRRGetCrtcTransformReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
xRenderTransform pendingTransform;
BYTE hasTransforms;
CARD8 pad0;
CARD16 pad1 B16;
xRenderTransform currentTransform;
CARD32 pad2 B32;
CARD16 pendingNbytesFilter B16; /* number of bytes in filter name */
CARD16 pendingNparamsFilter B16; /* number of filter params */
CARD16 currentNbytesFilter B16; /* number of bytes in filter name */
CARD16 currentNparamsFilter B16; /* number of filter params */
} xRRGetCrtcTransformReply;
#define sz_xRRGetCrtcTransformReply 96
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
RROutput output B32;
} xRRSetOutputPrimaryReq;
#define sz_xRRSetOutputPrimaryReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetOutputPrimaryReq;
#define sz_xRRGetOutputPrimaryReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
RROutput output B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRGetOutputPrimaryReply;
#define sz_xRRGetOutputPrimaryReply 32
/*
* Additions for V1.4
*/
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
} xRRGetProvidersReq;
#define sz_xRRGetProvidersReq 8
typedef struct {
BYTE type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD16 nProviders;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRGetProvidersReply;
#define sz_xRRGetProvidersReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Time configTimestamp B32;
} xRRGetProviderInfoReq;
#define sz_xRRGetProviderInfoReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD32 capabilities B32;
CARD16 nCrtcs B16;
CARD16 nOutputs B16;
CARD16 nAssociatedProviders B16;
CARD16 nameLength B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xRRGetProviderInfoReply;
#define sz_xRRGetProviderInfoReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
RRProvider source_provider B32;
Time configTimestamp B32;
} xRRSetProviderOutputSourceReq;
#define sz_xRRSetProviderOutputSourceReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
RRProvider sink_provider B32;
Time configTimestamp B32;
} xRRSetProviderOffloadSinkReq;
#define sz_xRRSetProviderOffloadSinkReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
} xRRListProviderPropertiesReq;
#define sz_xRRListProviderPropertiesReq 8
typedef struct {
BYTE type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 nAtoms B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRListProviderPropertiesReply;
#define sz_xRRListProviderPropertiesReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
} xRRQueryProviderPropertyReq;
#define sz_xRRQueryProviderPropertyReq 12
typedef struct {
BYTE type;
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
BOOL pending;
BOOL range;
BOOL immutable;
BYTE pad1;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRRQueryProviderPropertyReply;
#define sz_xRRQueryProviderPropertyReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
BOOL pending;
BOOL range;
CARD16 pad B16;
} xRRConfigureProviderPropertyReq;
#define sz_xRRConfigureProviderPropertyReq 16
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
Atom type B32;
CARD8 format;
CARD8 mode;
CARD16 pad;
CARD32 nUnits B32;
} xRRChangeProviderPropertyReq;
#define sz_xRRChangeProviderPropertyReq 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
} xRRDeleteProviderPropertyReq;
#define sz_xRRDeleteProviderPropertyReq 12
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRProvider provider B32;
Atom property B32;
Atom type B32;
CARD32 longOffset B32;
CARD32 longLength B32;
#ifdef __cplusplus
BOOL _delete;
#else
BOOL delete;
#endif
BOOL pending;
CARD16 pad1 B16;
} xRRGetProviderPropertyReq;
#define sz_xRRGetProviderPropertyReq 28
typedef struct {
BYTE type;
CARD8 format;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom propertyType B32;
CARD32 bytesAfter B32;
CARD32 nItems B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetProviderPropertyReply;
#define sz_xRRGetProviderPropertyReply 32
/*
* event
*/
typedef struct {
CARD8 type; /* always evBase + ScreenChangeNotify */
CARD8 rotation; /* new rotation */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time screen was changed */
Time configTimestamp B32; /* time config data was changed */
Window root B32; /* root window */
Window window B32; /* window requesting notification */
SizeID sizeID B16; /* new size ID */
CARD16 subpixelOrder B16; /* subpixel order */
CARD16 widthInPixels B16; /* new size */
CARD16 heightInPixels B16;
CARD16 widthInMillimeters B16;
CARD16 heightInMillimeters B16;
} xRRScreenChangeNotifyEvent;
#define sz_xRRScreenChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_CrtcChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time crtc was changed */
Window window B32; /* window requesting notification */
RRCrtc crtc B32; /* affected CRTC */
RRMode mode B32; /* current mode */
CARD16 rotation B16; /* rotation and reflection */
CARD16 pad1 B16; /* unused */
INT16 x B16; /* new location */
INT16 y B16;
CARD16 width B16; /* new size */
CARD16 height B16;
} xRRCrtcChangeNotifyEvent;
#define sz_xRRCrtcChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_OutputChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time output was changed */
Time configTimestamp B32; /* time config was changed */
Window window B32; /* window requesting notification */
RROutput output B32; /* affected output */
RRCrtc crtc B32; /* current crtc */
RRMode mode B32; /* current mode */
CARD16 rotation B16; /* rotation and reflection */
CARD8 connection; /* connection status */
CARD8 subpixelOrder; /* subpixel order */
} xRROutputChangeNotifyEvent;
#define sz_xRROutputChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_OutputProperty */
CARD16 sequenceNumber B16;
Window window B32; /* window requesting notification */
RROutput output B32; /* affected output */
Atom atom B32; /* property name */
Time timestamp B32; /* time crtc was changed */
CARD8 state; /* NewValue or Deleted */
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRROutputPropertyNotifyEvent;
#define sz_xRROutputPropertyNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ProviderChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time provider was changed */
Window window B32; /* window requesting notification */
RRProvider provider B32; /* affected provider */
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRRProviderChangeNotifyEvent;
#define sz_xRRProviderChangeNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ProviderProperty */
CARD16 sequenceNumber B16;
Window window B32; /* window requesting notification */
RRProvider provider B32; /* affected provider */
Atom atom B32; /* property name */
Time timestamp B32; /* time provider was changed */
CARD8 state; /* NewValue or Deleted */
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xRRProviderPropertyNotifyEvent;
#define sz_xRRProviderPropertyNotifyEvent 32
typedef struct {
CARD8 type; /* always evBase + RRNotify */
CARD8 subCode; /* RRNotify_ResourceChange */
CARD16 sequenceNumber B16;
Time timestamp B32; /* time resource was changed */
Window window B32; /* window requesting notification */
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRResourceChangeNotifyEvent;
#define sz_xRRResourceChangeNotifyEvent 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
} xRRGetPanningReq;
#define sz_xRRGetPanningReq 8
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD16 left B16;
CARD16 top B16;
CARD16 width B16;
CARD16 height B16;
CARD16 track_left B16;
CARD16 track_top B16;
CARD16 track_width B16;
CARD16 track_height B16;
INT16 border_left B16;
INT16 border_top B16;
INT16 border_right B16;
INT16 border_bottom B16;
} xRRGetPanningReply;
#define sz_xRRGetPanningReply 36
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
RRCrtc crtc B32;
Time timestamp B32;
CARD16 left B16;
CARD16 top B16;
CARD16 width B16;
CARD16 height B16;
CARD16 track_left B16;
CARD16 track_top B16;
CARD16 track_width B16;
CARD16 track_height B16;
INT16 border_left B16;
INT16 border_top B16;
INT16 border_right B16;
INT16 border_bottom B16;
} xRRSetPanningReq;
#define sz_xRRSetPanningReq 36
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time newTimestamp B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRRSetPanningReply;
#define sz_xRRSetPanningReply 32
typedef struct {
Atom name B32;
BOOL primary;
BOOL automatic;
CARD16 noutput B16;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
CARD32 widthInMillimeters B32;
CARD32 heightInMillimeters B32;
} xRRMonitorInfo;
#define sz_xRRMonitorInfo 24
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
BOOL get_active;
CARD8 pad;
CARD16 pad2;
} xRRGetMonitorsReq;
#define sz_xRRGetMonitorsReq 12
typedef struct {
BYTE type;
CARD8 status;
CARD16 sequenceNumber B16;
CARD32 length B32;
Time timestamp B32;
CARD32 nmonitors B32;
CARD32 noutputs B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xRRGetMonitorsReply;
#define sz_xRRGetMonitorsReply 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
xRRMonitorInfo monitor;
} xRRSetMonitorReq;
#define sz_xRRSetMonitorReq 32
typedef struct {
CARD8 reqType;
CARD8 randrReqType;
CARD16 length B16;
Window window B32;
Atom name B32;
} xRRDeleteMonitorReq;
#define sz_xRRDeleteMonitorReq 12
#undef RRModeFlags
#undef RRCrtc
#undef RRMode
#undef RROutput
#undef RRMode
#undef RRCrtc
#undef RRProvider
#undef Drawable
#undef Window
#undef Font
#undef Pixmap
#undef Cursor
#undef Colormap
#undef GContext
#undef Atom
#undef Time
#undef KeyCode
#undef KeySym
#undef Rotation
#undef SizeID
#undef SubpixelOrder
#undef Atom
#endif /* _XRANDRP_H_ */
PK 5[U\ extensions/xf86bigfstr.hnu W+A #warning "xf86bigfstr.h is obsolete and may be removed in the future."
#warning "include for the protocol defines."
#include
PK 5[dMG G extensions/dbeproto.hnu W+A /******************************************************************************
*
* Copyright (c) 1994, 1995 Hewlett-Packard Company
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
* IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
* THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of the Hewlett-Packard
* Company shall not be used in advertising or otherwise to promote the
* sale, use or other dealings in this Software without prior written
* authorization from the Hewlett-Packard Company.
*
* Header file for Xlib-related DBE
*
*****************************************************************************/
#ifndef DBE_PROTO_H
#define DBE_PROTO_H
#include
/* Request values used in (S)ProcDbeDispatch() */
#define X_DbeGetVersion 0
#define X_DbeAllocateBackBufferName 1
#define X_DbeDeallocateBackBufferName 2
#define X_DbeSwapBuffers 3
#define X_DbeBeginIdiom 4
#define X_DbeEndIdiom 5
#define X_DbeGetVisualInfo 6
#define X_DbeGetBackBufferAttributes 7
typedef CARD8 xDbeSwapAction;
typedef CARD32 xDbeBackBuffer;
/* TYPEDEFS */
/* Protocol data types */
typedef struct
{
CARD32 window B32; /* window */
xDbeSwapAction swapAction; /* swap action */
CARD8 pad1; /* unused */
CARD16 pad2 B16;
} xDbeSwapInfo;
typedef struct
{
CARD32 visualID B32; /* associated visual */
CARD8 depth; /* depth of visual */
CARD8 perfLevel; /* performance level hint */
CARD16 pad1 B16;
} xDbeVisInfo;
#define sz_xDbeVisInfo 8
typedef struct
{
CARD32 n B32; /* number of visual info items in list */
} xDbeScreenVisInfo; /* followed by n xDbeVisInfo items */
typedef struct
{
CARD32 window B32; /* window */
} xDbeBufferAttributes;
/* Requests and replies */
typedef struct
{
CARD8 reqType; /* major-opcode: always codes->major_opcode */
CARD8 dbeReqType; /* minor-opcode: always X_DbeGetVersion (0) */
CARD16 length B16; /* request length: (2) */
CARD8 majorVersion; /* client-major-version */
CARD8 minorVersion; /* client-minor-version */
CARD16 unused B16; /* unused */
} xDbeGetVersionReq;
#define sz_xDbeGetVersionReq 8
typedef struct
{
BYTE type; /* Reply: X_Reply (1) */
CARD8 unused; /* unused */
CARD16 sequenceNumber B16; /* sequence number */
CARD32 length B32; /* reply length: (0) */
CARD8 majorVersion; /* server-major-version */
CARD8 minorVersion; /* server-minor-version */
CARD16 pad1 B16; /* unused */
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xDbeGetVersionReply;
#define sz_xDbeGetVersionReply 32
typedef struct
{
CARD8 reqType; /* major-opcode: codes->major_opcode */
CARD8 dbeReqType; /* X_DbeAllocateBackBufferName (1) */
CARD16 length B16; /* request length: (4) */
CARD32 window B32; /* window */
xDbeBackBuffer buffer B32; /* back buffer name */
xDbeSwapAction swapAction; /* swap action hint */
CARD8 pad1; /* unused */
CARD16 pad2 B16;
} xDbeAllocateBackBufferNameReq;
#define sz_xDbeAllocateBackBufferNameReq 16
typedef struct
{
CARD8 reqType; /* major-opcode: codes->major_opcode */
CARD8 dbeReqType; /* X_DbeDeallocateBackBufferName (2) */
CARD16 length B16; /* request length: (2) */
xDbeBackBuffer buffer B32; /* back buffer name */
} xDbeDeallocateBackBufferNameReq;
#define sz_xDbeDeallocateBackBufferNameReq 8
typedef struct
{
CARD8 reqType; /* major-opcode: always codes->major_opcode */
CARD8 dbeReqType; /* minor-opcode: always X_DbeSwapBuffers (3) */
CARD16 length B16; /* request length: (2+2n) */
CARD32 n B32; /* n, number of window/swap action pairs */
} xDbeSwapBuffersReq; /* followed by n window/swap action pairs */
#define sz_xDbeSwapBuffersReq 8
typedef struct
{
CARD8 reqType; /* major-opcode: always codes->major_opcode */
CARD8 dbeReqType; /* minor-opcode: always X_DbeBeginIdom (4) */
CARD16 length B16; /* request length: (1) */
} xDbeBeginIdiomReq;
#define sz_xDbeBeginIdiomReq 4
typedef struct
{
CARD8 reqType; /* major-opcode: always codes->major_opcode */
CARD8 dbeReqType; /* minor-opcode: always X_DbeEndIdom (5) */
CARD16 length B16; /* request length: (1) */
} xDbeEndIdiomReq;
#define sz_xDbeEndIdiomReq 4
typedef struct
{
CARD8 reqType; /* always codes->major_opcode */
CARD8 dbeReqType; /* always X_DbeGetVisualInfo (6) */
CARD16 length B16; /* request length: (2+n) */
CARD32 n B32; /* n, number of drawables in list */
} xDbeGetVisualInfoReq; /* followed by n drawables */
#define sz_xDbeGetVisualInfoReq 8
typedef struct
{
BYTE type; /* Reply: X_Reply (1) */
CARD8 unused; /* unused */
CARD16 sequenceNumber B16; /* sequence number */
CARD32 length B32; /* reply length */
CARD32 m; /* m, number of visual infos in list */
CARD32 pad1 B32; /* unused */
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xDbeGetVisualInfoReply; /* followed by m visual infos */
#define sz_xDbeGetVisualInfoReply 32
typedef struct
{
CARD8 reqType; /* always codes->major_opcode */
CARD8 dbeReqType; /* X_DbeGetBackBufferAttributes (7) */
CARD16 length B16; /* request length: (2) */
xDbeBackBuffer buffer B32; /* back buffer name */
} xDbeGetBackBufferAttributesReq;
#define sz_xDbeGetBackBufferAttributesReq 8
typedef struct
{
BYTE type; /* Reply: X_Reply (1) */
CARD8 unused; /* unused */
CARD16 sequenceNumber B16; /* sequence number */
CARD32 length B32; /* reply length: (0) */
CARD32 attributes; /* attributes */
CARD32 pad1 B32; /* unused */
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xDbeGetBackBufferAttributesReply;
#define sz_xDbeGetBackBufferAttributesReply 32
#endif /* DBE_PROTO_H */
PK 5[YNd d extensions/panoramiXproto.hnu W+A /*****************************************************************
Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Digital Equipment Corporation
shall not be used in advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization from Digital
Equipment Corporation.
******************************************************************/
/* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */
#ifndef _PANORAMIXPROTO_H_
#define _PANORAMIXPROTO_H_
#define PANORAMIX_MAJOR_VERSION 1 /* current version number */
#define PANORAMIX_MINOR_VERSION 1
#define PANORAMIX_PROTOCOL_NAME "XINERAMA"
#define X_PanoramiXQueryVersion 0
#define X_PanoramiXGetState 1
#define X_PanoramiXGetScreenCount 2
#define X_PanoramiXGetScreenSize 3
#define X_XineramaIsActive 4
#define X_XineramaQueryScreens 5
typedef struct _PanoramiXQueryVersion {
CARD8 reqType; /* always PanoramiXReqCode */
CARD8 panoramiXReqType; /* always X_PanoramiXQueryVersion */
CARD16 length B16;
CARD8 clientMajor;
CARD8 clientMinor;
CARD16 unused B16;
} xPanoramiXQueryVersionReq;
#define sz_xPanoramiXQueryVersionReq 8
typedef struct {
CARD8 type; /* must be X_Reply */
CARD8 pad1; /* unused */
CARD16 sequenceNumber B16; /* last sequence number */
CARD32 length B32; /* 0 */
CARD16 majorVersion B16;
CARD16 minorVersion B16;
CARD32 pad2 B32; /* unused */
CARD32 pad3 B32; /* unused */
CARD32 pad4 B32; /* unused */
CARD32 pad5 B32; /* unused */
CARD32 pad6 B32; /* unused */
} xPanoramiXQueryVersionReply;
#define sz_xPanoramiXQueryVersionReply 32
typedef struct _PanoramiXGetState {
CARD8 reqType; /* always PanoramiXReqCode */
CARD8 panoramiXReqType; /* always X_PanoramiXGetState */
CARD16 length B16;
CARD32 window B32;
} xPanoramiXGetStateReq;
#define sz_xPanoramiXGetStateReq 8
typedef struct {
BYTE type;
BYTE state;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 window B32;
CARD32 pad1 B32; /* unused */
CARD32 pad2 B32; /* unused */
CARD32 pad3 B32; /* unused */
CARD32 pad4 B32; /* unused */
CARD32 pad5 B32; /* unused */
} xPanoramiXGetStateReply;
#define sz_panoramiXGetStateReply 32
typedef struct _PanoramiXGetScreenCount {
CARD8 reqType; /* always PanoramiXReqCode */
CARD8 panoramiXReqType; /* always X_PanoramiXGetScreenCount */
CARD16 length B16;
CARD32 window B32;
} xPanoramiXGetScreenCountReq;
#define sz_xPanoramiXGetScreenCountReq 8
typedef struct {
BYTE type;
BYTE ScreenCount;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 window B32;
CARD32 pad1 B32; /* unused */
CARD32 pad2 B32; /* unused */
CARD32 pad3 B32; /* unused */
CARD32 pad4 B32; /* unused */
CARD32 pad5 B32; /* unused */
} xPanoramiXGetScreenCountReply;
#define sz_panoramiXGetScreenCountReply 32
typedef struct _PanoramiXGetScreenSize {
CARD8 reqType; /* always PanoramiXReqCode */
CARD8 panoramiXReqType; /* always X_PanoramiXGetState */
CARD16 length B16;
CARD32 window B32;
CARD32 screen B32;
} xPanoramiXGetScreenSizeReq;
#define sz_xPanoramiXGetScreenSizeReq 12
typedef struct {
BYTE type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 width B32;
CARD32 height B32;
CARD32 window B32;
CARD32 screen B32;
CARD32 pad2 B32; /* unused */
CARD32 pad3 B32; /* unused */
} xPanoramiXGetScreenSizeReply;
#define sz_panoramiXGetScreenSizeReply 32
/************ Alternate protocol ******************/
typedef struct {
CARD8 reqType;
CARD8 panoramiXReqType;
CARD16 length B16;
} xXineramaIsActiveReq;
#define sz_xXineramaIsActiveReq 4
typedef struct {
BYTE type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 state B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXineramaIsActiveReply;
#define sz_XineramaIsActiveReply 32
typedef struct {
CARD8 reqType;
CARD8 panoramiXReqType;
CARD16 length B16;
} xXineramaQueryScreensReq;
#define sz_xXineramaQueryScreensReq 4
typedef struct {
BYTE type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 number B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXineramaQueryScreensReply;
#define sz_XineramaQueryScreensReply 32
typedef struct {
INT16 x_org B16;
INT16 y_org B16;
CARD16 width B16;
CARD16 height B16;
} xXineramaScreenInfo;
#define sz_XineramaScreenInfo 8
#endif
PK 5[G extensions/recordproto.hnu W+A /***************************************************************************
* Copyright 1995 Network Computing Devices
*
* Permission to use, copy, modify, distribute, and sell this software and
* its documentation for any purpose is hereby granted without fee, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of Network Computing Devices
* not be used in advertising or publicity pertaining to distribution
* of the software without specific, written prior permission.
*
* NETWORK COMPUTING DEVICES DISCLAIMs ALL WARRANTIES WITH REGARD TO
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES BE LIABLE
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
**************************************************************************/
#ifndef _RECORDPROTO_H_
#define _RECORDPROTO_H_
#include
/* only difference between 1.12 and 1.13 is byte order of device events,
which the library doesn't deal with. */
/*********************************************************
*
* Protocol request constants
*
*/
#define X_RecordQueryVersion 0 /* First request from client */
#define X_RecordCreateContext 1 /* Create client RC */
#define X_RecordRegisterClients 2 /* Add to client RC */
#define X_RecordUnregisterClients 3 /* Delete from client RC */
#define X_RecordGetContext 4 /* Query client RC */
#define X_RecordEnableContext 5 /* Enable interception and reporting */
#define X_RecordDisableContext 6 /* Disable interception and reporting */
#define X_RecordFreeContext 7 /* Free client RC */
#define sz_XRecordRange 32
#define sz_XRecordClientInfo 12
#define sz_XRecordState 16
#define sz_XRecordDatum 32
#define XRecordGlobaldef
#define XRecordGlobalref extern
#define RecordMaxEvent (128L-1L)
#define RecordMinDeviceEvent (2L)
#define RecordMaxDeviceEvent (6L)
#define RecordMaxError (256L-1L)
#define RecordMaxCoreRequest (128L-1L)
#define RecordMaxExtRequest (256L-1L)
#define RecordMinExtRequest (129L-1L)
#define RECORD_RC CARD32
#define RECORD_XIDBASE CARD32
#define RECORD_CLIENTSPEC CARD32
#define RECORD_ELEMENT_HEADER CARD8
typedef RECORD_CLIENTSPEC RecordClientSpec, *RecordClientSpecPtr;
typedef struct
{
CARD8 first;
CARD8 last;
} RECORD_RANGE8;
typedef struct
{
CARD16 first B16;
CARD16 last B16;
} RECORD_RANGE16;
typedef struct
{
RECORD_RANGE8 majorCode;
RECORD_RANGE16 minorCode;
} RECORD_EXTRANGE;
typedef struct
{
RECORD_RANGE8 coreRequests;
RECORD_RANGE8 coreReplies;
RECORD_EXTRANGE extRequests;
RECORD_EXTRANGE extReplies;
RECORD_RANGE8 deliveredEvents;
RECORD_RANGE8 deviceEvents;
RECORD_RANGE8 errors;
BOOL clientStarted;
BOOL clientDied;
} RECORDRANGE;
#define sz_RECORDRANGE 24
/* typedef RECORDRANGE xRecordRange, *xRecordRangePtr;
#define sz_xRecordRange 24 */
/* Cannot have structures within structures going over the wire */
typedef struct
{
CARD8 coreRequestsFirst;
CARD8 coreRequestsLast;
CARD8 coreRepliesFirst;
CARD8 coreRepliesLast;
CARD8 extRequestsMajorFirst;
CARD8 extRequestsMajorLast;
CARD16 extRequestsMinorFirst B16;
CARD16 extRequestsMinorLast B16;
CARD8 extRepliesMajorFirst;
CARD8 extRepliesMajorLast;
CARD16 extRepliesMinorFirst B16;
CARD16 extRepliesMinorLast B16;
CARD8 deliveredEventsFirst;
CARD8 deliveredEventsLast;
CARD8 deviceEventsFirst;
CARD8 deviceEventsLast;
CARD8 errorsFirst;
CARD8 errorsLast;
BOOL clientStarted;
BOOL clientDied;
} xRecordRange;
#define sz_xRecordRange 24
typedef struct
{
RECORD_CLIENTSPEC clientResource B32;
CARD32 nRanges B32;
/* LISTofRECORDRANGE */
} RECORD_CLIENT_INFO;
typedef RECORD_CLIENT_INFO xRecordClientInfo;
/*
* Initialize
*/
typedef struct {
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
CARD16 majorVersion B16;
CARD16 minorVersion B16;
} xRecordQueryVersionReq;
#define sz_xRecordQueryVersionReq 8
typedef struct
{
CARD8 type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16;
CARD16 minorVersion B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRecordQueryVersionReply;
#define sz_xRecordQueryVersionReply 32
/*
* Create RC
*/
typedef struct
{
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
RECORD_RC context B32;
RECORD_ELEMENT_HEADER elementHeader;
CARD8 pad;
CARD16 pad0 B16;
CARD32 nClients B32;
CARD32 nRanges B32;
/* LISTofRECORD_CLIENTSPEC */
/* LISTofRECORDRANGE */
} xRecordCreateContextReq;
#define sz_xRecordCreateContextReq 20
/*
* Add to RC
*/
typedef struct
{
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
RECORD_RC context B32;
RECORD_ELEMENT_HEADER elementHeader;
CARD8 pad;
CARD16 pad0 B16;
CARD32 nClients B32;
CARD32 nRanges B32;
/* LISTofRECORD_CLIENTSPEC */
/* LISTofRECORDRANGE */
} xRecordRegisterClientsReq;
#define sz_xRecordRegisterClientsReq 20
/*
* Delete from RC
*/
typedef struct
{
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
RECORD_RC context B32;
CARD32 nClients B32;
/* LISTofRECORD_CLIENTSPEC */
} xRecordUnregisterClientsReq;
#define sz_xRecordUnregisterClientsReq 12
/*
* Query RC
*/
typedef struct
{
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
RECORD_RC context B32;
} xRecordGetContextReq;
#define sz_xRecordGetContextReq 8
typedef struct
{
CARD8 type;
BOOL enabled;
CARD16 sequenceNumber B16;
CARD32 length B32;
RECORD_ELEMENT_HEADER elementHeader;
CARD8 pad;
CARD16 pad0 B16;
CARD32 nClients B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
/* LISTofCLIENT_INFO */ /* intercepted-clients */
} xRecordGetContextReply;
#define sz_xRecordGetContextReply 32
/*
* Enable data interception
*/
typedef struct
{
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
RECORD_RC context B32;
} xRecordEnableContextReq;
#define sz_xRecordEnableContextReq 8
typedef struct
{
CARD8 type;
CARD8 category;
CARD16 sequenceNumber B16;
CARD32 length B32;
RECORD_ELEMENT_HEADER elementHeader;
BOOL clientSwapped;
CARD16 pad1 B16;
RECORD_XIDBASE idBase B32;
CARD32 serverTime B32;
CARD32 recordedSequenceNumber B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
/* BYTE data; */
} xRecordEnableContextReply;
#define sz_xRecordEnableContextReply 32
/*
* Disable data interception
*/
typedef struct
{
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
RECORD_RC context B32;
} xRecordDisableContextReq;
#define sz_xRecordDisableContextReq 8
/*
* Free RC
*/
typedef struct
{
CARD8 reqType;
CARD8 recordReqType;
CARD16 length B16;
RECORD_RC context B32;
} xRecordFreeContextReq;
#define sz_xRecordFreeContextReq 8
#undef RECORD_RC
#undef RECORD_XIDBASE
#undef RECORD_ELEMENT_HEADER
#undef RECORD_CLIENTSPEC
#endif
PK 5[voK K extensions/shmstr.hnu W+A /************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
/* THIS IS NOT AN X CONSORTIUM STANDARD OR AN X PROJECT TEAM SPECIFICATION */
#ifndef _SHMSTR_H_
#define _SHMSTR_H_
#include
#ifdef _XSHM_SERVER_
#define XSHM_PUT_IMAGE_ARGS \
DrawablePtr /* dst */, \
GCPtr /* pGC */, \
int /* depth */, \
unsigned int /* format */, \
int /* w */, \
int /* h */, \
int /* sx */, \
int /* sy */, \
int /* sw */, \
int /* sh */, \
int /* dx */, \
int /* dy */, \
char * /* data */
#define XSHM_CREATE_PIXMAP_ARGS \
ScreenPtr /* pScreen */, \
int /* width */, \
int /* height */, \
int /* depth */, \
char * /* addr */
typedef struct _ShmFuncs {
PixmapPtr (* CreatePixmap)(XSHM_CREATE_PIXMAP_ARGS);
void (* PutImage)(XSHM_PUT_IMAGE_ARGS);
} ShmFuncs, *ShmFuncsPtr;
#endif
#endif /* _SHMSTR_H_ */
PK 5[Q. . extensions/vldXvMC.hnu W+A /*****************************************************************************
* VLD XvMC Nonstandard extension API.
*
* Copyright (c) 2004 The Unichrome Project. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHOR(S) OR COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
* Author: Thomas Hellström, 2004.
*/
#ifndef _VLDXVMC_H
#define _VLDXVMC_H
#include
#include
/*
* New "Motion compensation type".
*/
#define XVMC_VLD 0x0020000
/*
* Below Flags to be passed in the XvMCMpegControl structure 'flag' field.
*/
#define XVMC_PROGRESSIVE_SEQUENCE 0x00000010
/*
* Zig-Zag Scan / Alternative Scan.
*/
#define XVMC_ZIG_ZAG_SCAN 0x00000000
#define XVMC_ALTERNATE_SCAN 0x00000100
/*
* Frame DCT and frame prediction are used. /
* Field prediction
*/
#define XVMC_PRED_DCT_FRAME 0x00000040
#define XVMC_PRED_DCT_FIELD 0x00000000
/*
* Top / Bottom field first
*/
#define XVMC_TOP_FIELD_FIRST 0x00000080
#define XVMC_BOTTOM_FIELD_FIRST 0x00000000
/*
* Motion vectors coded in intra macroblocks
*/
#define XVMC_CONCEALMENT_MOTION_VECTORS 0x00000200
/*
* Which of two mappings between quantiser_scale_code
* and quantiser_scale shall apply.
*/
#define XVMC_Q_SCALE_TYPE 0x00000400
/*
* Intra VLC Format: Bit = 0, Bit = 1
* Intra blocks B-14 B-15
* Non-intra blocks B-14 B-14
*/
#define XVMC_INTRA_VLC_FORMAT 0x00000800
/*
* Also XVMC_SECOND_FIELD should be set in flags if active.
*/
#define XVMC_I_PICTURE 1
#define XVMC_P_PICTURE 2
#define XVMC_B_PICTURE 3
typedef struct _XvMCMpegControl{
unsigned
BVMV_range, /* Backward vertical motion vector range */
BHMV_range, /* Backward horizontal motion vector range */
FVMV_range, /* Forward vertical motion vector range */
FHMV_range, /* Forward horizontal motion vector range */
picture_structure, /* XVMC_TOP_FIELD, XVMC_BOTTOM_FIELD,
* XVMC_FRAME_PICTURE
*/
intra_dc_precision, /* 0x00 - 0x03 corresponds to 8 to 11 bits prec. */
picture_coding_type,/* XVMC_X_PICTURE */
mpeg_coding, /* XVMC_MPEG_2 */
flags; /* See above */
}XvMCMpegControl;
/*
* The following function is called BEFORE starting sending slices to the
* lib. It grabs the decoder hardware and prepares it for coming slices.
* The function XvMCSyncSurface will release the hardware for other contexts
* in addition to it's current functionality.
*/
extern Status XvMCBeginSurface(Display *display,
XvMCContext *context,
XvMCSurface *target_surface,
XvMCSurface *past_surface,
XvMCSurface *future_surface,
const XvMCMpegControl *control);
/*
* The quantizer matrix structure. This should be filled in by the user and
* uploaded whenever a change is needed. The lib initializes with
* default matrices and will automatically load the hardware with new matrices
* on decoder context switches. To load data, set the corresponding load flag
* to true and fill in the values. The VIA MPEG2 engine only uses the
* intra_quantiser_matrix and the non_intra_quantiser_matrix.
*/
typedef struct _XvMCQMatrix {
int load_intra_quantiser_matrix;
int load_non_intra_quantiser_matrix;
int load_chroma_intra_quantiser_matrix;
int load_chroma_non_intra_quantiser_matrix;
unsigned char intra_quantiser_matrix[64];
unsigned char non_intra_quantiser_matrix[64];
unsigned char chroma_intra_quantiser_matrix[64];
unsigned char chroma_non_intra_quantiser_matrix[64];
} XvMCQMatrix;
/*
* Upload a XvMCQMatrix structure to the clientlib.
* The hardware will start using it the next XvMCBeginSurface.
*/
extern Status XvMCLoadQMatrix(Display *display, XvMCContext *context,
const XvMCQMatrix *qmx);
/*
* Put a slice to the decoder. The hardware will start processing it
* immediately.
*/
extern Status XvMCPutSlice(Display *display,XvMCContext *context,
char *slice, int nBytes);
/*
* Put a slice without the slice start code to the decoder.
* The hardware will start processing it
* immediately. This function is for client optimization.
* XvMCPutSlice(display,context,slice,nBytes) is equivalent to
* XvMCPutSlice2(display,context,slice+4,nBytes-4,slice[3]);
*/
extern Status XvMCPutSlice2(Display *display,XvMCContext *context,
char *slice, int nBytes, int sliceCode);
#endif
PK 5[4c
e e extensions/damagewire.hnu W+A /*
* Copyright © 2003 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _DAMAGEWIRE_H_
#define _DAMAGEWIRE_H_
#define DAMAGE_NAME "DAMAGE"
#define DAMAGE_MAJOR 1
#define DAMAGE_MINOR 1
/************* Version 1 ****************/
/* Constants */
#define XDamageReportRawRectangles 0
#define XDamageReportDeltaRectangles 1
#define XDamageReportBoundingBox 2
#define XDamageReportNonEmpty 3
/* Requests */
#define X_DamageQueryVersion 0
#define X_DamageCreate 1
#define X_DamageDestroy 2
#define X_DamageSubtract 3
#define X_DamageAdd 4
#define XDamageNumberRequests (X_DamageAdd + 1)
/* Events */
#define XDamageNotify 0
#define XDamageNumberEvents (XDamageNotify + 1)
/* Errors */
#define BadDamage 0
#define XDamageNumberErrors (BadDamage + 1)
#endif /* _DAMAGEWIRE_H_ */
PK 5[B2w w extensions/XResproto.hnu W+A /*
Copyright (c) 2002 XFree86 Inc
*/
#ifndef _XRESPROTO_H
#define _XRESPROTO_H
#define XRES_MAJOR_VERSION 1
#define XRES_MINOR_VERSION 2
#define XRES_NAME "X-Resource"
/* v1.0 */
#define X_XResQueryVersion 0
#define X_XResQueryClients 1
#define X_XResQueryClientResources 2
#define X_XResQueryClientPixmapBytes 3
/* Version 1.1 has been accidentally released from the version */
/* control and while it doesn't have differences to version 1.0, the */
/* next version is labeled 1.2 in order to remove the risk of confusion. */
/* v1.2 */
#define X_XResQueryClientIds 4
#define X_XResQueryResourceBytes 5
typedef struct {
CARD32 resource_base;
CARD32 resource_mask;
} xXResClient;
#define sz_xXResClient 8
typedef struct {
CARD32 resource_type;
CARD32 count;
} xXResType;
#define sz_xXResType 8
/* XResQueryVersion */
typedef struct _XResQueryVersion {
CARD8 reqType;
CARD8 XResReqType;
CARD16 length B16;
CARD8 client_major;
CARD8 client_minor;
CARD16 unused B16;
} xXResQueryVersionReq;
#define sz_xXResQueryVersionReq 8
typedef struct {
CARD8 type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 server_major B16;
CARD16 server_minor B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXResQueryVersionReply;
#define sz_xXResQueryVersionReply 32
/* XResQueryClients */
typedef struct _XResQueryClients {
CARD8 reqType;
CARD8 XResReqType;
CARD16 length B16;
} xXResQueryClientsReq;
#define sz_xXResQueryClientsReq 4
typedef struct {
CARD8 type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 num_clients B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXResQueryClientsReply;
#define sz_xXResQueryClientsReply 32
/* XResQueryClientResources */
typedef struct _XResQueryClientResources {
CARD8 reqType;
CARD8 XResReqType;
CARD16 length B16;
CARD32 xid B32;
} xXResQueryClientResourcesReq;
#define sz_xXResQueryClientResourcesReq 8
typedef struct {
CARD8 type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 num_types B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXResQueryClientResourcesReply;
#define sz_xXResQueryClientResourcesReply 32
/* XResQueryClientPixmapBytes */
typedef struct _XResQueryClientPixmapBytes {
CARD8 reqType;
CARD8 XResReqType;
CARD16 length B16;
CARD32 xid B32;
} xXResQueryClientPixmapBytesReq;
#define sz_xXResQueryClientPixmapBytesReq 8
typedef struct {
CARD8 type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 bytes B32;
CARD32 bytes_overflow B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xXResQueryClientPixmapBytesReply;
#define sz_xXResQueryClientPixmapBytesReply 32
/* v1.2 XResQueryClientIds */
#define X_XResClientXIDMask 0x01
#define X_XResLocalClientPIDMask 0x02
typedef struct _XResClientIdSpec {
CARD32 client B32;
CARD32 mask B32;
} xXResClientIdSpec;
#define sz_xXResClientIdSpec 8
typedef struct _XResClientIdValue {
xXResClientIdSpec spec;
CARD32 length B32;
// followed by length CARD32s
} xXResClientIdValue;
#define sz_xResClientIdValue (sz_xXResClientIdSpec + 4)
typedef struct _XResQueryClientIds {
CARD8 reqType;
CARD8 XResReqType;
CARD16 length B16;
CARD32 numSpecs B32;
// followed by numSpecs times XResClientIdSpec
} xXResQueryClientIdsReq;
#define sz_xXResQueryClientIdsReq 8
typedef struct {
CARD8 type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 numIds B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
// followed by numIds times XResClientIdValue
} xXResQueryClientIdsReply;
#define sz_xXResQueryClientIdsReply 32
/* v1.2 XResQueryResourceBytes */
typedef struct _XResResourceIdSpec {
CARD32 resource;
CARD32 type;
} xXResResourceIdSpec;
#define sz_xXResResourceIdSpec 8
typedef struct _XResQueryResourceBytes {
CARD8 reqType;
CARD8 XResReqType;
CARD16 length B16;
CARD32 client B32;
CARD32 numSpecs B32;
// followed by numSpecs times XResResourceIdSpec
} xXResQueryResourceBytesReq;
#define sz_xXResQueryResourceBytesReq 12
typedef struct _XResResourceSizeSpec {
xXResResourceIdSpec spec;
CARD32 bytes B32;
CARD32 refCount B32;
CARD32 useCount B32;
} xXResResourceSizeSpec;
#define sz_xXResResourceSizeSpec (sz_xXResResourceIdSpec + 12)
typedef struct _XResResourceSizeValue {
xXResResourceSizeSpec size;
CARD32 numCrossReferences B32;
// followed by numCrossReferences times XResResourceSizeSpec
} xXResResourceSizeValue;
#define sz_xXResResourceSizeValue (sz_xXResResourceSizeSpec + 4)
typedef struct {
CARD8 type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 numSizes B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
// followed by numSizes times XResResourceSizeValue
} xXResQueryResourceBytesReply;
#define sz_xXResQueryResourceBytesReply 32
#endif /* _XRESPROTO_H */
PK 5[߹ extensions/xf86vmstr.hnu W+A #warning "xf86vmstr.h is obsolete and may be removed in the future."
#warning "include for the protocol defines."
#include
PK 5[*t extensions/bigreqstr.hnu W+A #warning "bigreqstr.h is obsolete and may be removed in the future."
#warning "include for the protocol defines."
#include
PK 5[Wq q extensions/dpms.hnu W+A /*****************************************************************
Copyright (c) 1996 Digital Equipment Corporation, Maynard, Massachusetts.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of Digital Equipment Corporation
shall not be used in advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization from Digital
Equipment Corporation.
******************************************************************/
#ifndef _X11_EXTENSIONS_DPMS_H
#define _X11_EXTENSIONS_DPMS_H 1
#include
#include
#include
#ifndef DPMS_SERVER
_XFUNCPROTOBEGIN
extern Bool DPMSQueryExtension(Display *, int *, int *);
extern Status DPMSGetVersion(Display *, int *, int *);
extern Bool DPMSCapable(Display *);
extern Status DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16);
extern Bool DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *);
extern Status DPMSEnable(Display *);
extern Status DPMSDisable(Display *);
extern Status DPMSForceLevel(Display *, CARD16);
extern Status DPMSInfo(Display *, CARD16 *, BOOL *);
_XFUNCPROTOEND
#endif
#endif /* !_X11_EXTENSIONS_DPMS_H */
PK 5[.\H(G (G extensions/XKBstr.hnu W+A /************************************************************
Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics not be
used in advertising or publicity pertaining to distribution
of the software without specific prior written permission.
Silicon Graphics makes no representation about the suitability
of this software for any purpose. It is provided "as is"
without any express or implied warranty.
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
#ifndef _XKBSTR_H_
#define _XKBSTR_H_
#include
#define XkbCharToInt(v) ((v)&0x80?(int)((v)|(~0xff)):(int)((v)&0x7f))
#define XkbIntTo2Chars(i,h,l) (((h)=((i>>8)&0xff)),((l)=((i)&0xff)))
#if defined(WORD64) && defined(UNSIGNEDBITFIELDS)
#define Xkb2CharsToInt(h,l) ((h)&0x80?(int)(((h)<<8)|(l)|(~0xffff)):\
(int)(((h)<<8)|(l)&0x7fff))
#else
#define Xkb2CharsToInt(h,l) ((short)(((h)<<8)|(l)))
#endif
/*
* Common data structures and access macros
*/
typedef struct _XkbStateRec {
unsigned char group;
unsigned char locked_group;
unsigned short base_group;
unsigned short latched_group;
unsigned char mods;
unsigned char base_mods;
unsigned char latched_mods;
unsigned char locked_mods;
unsigned char compat_state;
unsigned char grab_mods;
unsigned char compat_grab_mods;
unsigned char lookup_mods;
unsigned char compat_lookup_mods;
unsigned short ptr_buttons;
} XkbStateRec,*XkbStatePtr;
#define XkbModLocks(s) ((s)->locked_mods)
#define XkbStateMods(s) ((s)->base_mods|(s)->latched_mods|XkbModLocks(s))
#define XkbGroupLock(s) ((s)->locked_group)
#define XkbStateGroup(s) ((s)->base_group+(s)->latched_group+XkbGroupLock(s))
#define XkbStateFieldFromRec(s) XkbBuildCoreState((s)->lookup_mods,(s)->group)
#define XkbGrabStateFromRec(s) XkbBuildCoreState((s)->grab_mods,(s)->group)
typedef struct _XkbMods {
unsigned char mask; /* effective mods */
unsigned char real_mods;
unsigned short vmods;
} XkbModsRec,*XkbModsPtr;
typedef struct _XkbKTMapEntry {
Bool active;
unsigned char level;
XkbModsRec mods;
} XkbKTMapEntryRec,*XkbKTMapEntryPtr;
typedef struct _XkbKeyType {
XkbModsRec mods;
unsigned char num_levels;
unsigned char map_count;
XkbKTMapEntryPtr map;
XkbModsPtr preserve;
Atom name;
Atom * level_names;
} XkbKeyTypeRec, *XkbKeyTypePtr;
#define XkbNumGroups(g) ((g)&0x0f)
#define XkbOutOfRangeGroupInfo(g) ((g)&0xf0)
#define XkbOutOfRangeGroupAction(g) ((g)&0xc0)
#define XkbOutOfRangeGroupNumber(g) (((g)&0x30)>>4)
#define XkbSetGroupInfo(g,w,n) (((w)&0xc0)|(((n)&3)<<4)|((g)&0x0f))
#define XkbSetNumGroups(g,n) (((g)&0xf0)|((n)&0x0f))
/*
* Structures and access macros used primarily by the server
*/
typedef struct _XkbBehavior {
unsigned char type;
unsigned char data;
} XkbBehavior;
#define XkbAnyActionDataSize 7
typedef struct _XkbAnyAction {
unsigned char type;
unsigned char data[XkbAnyActionDataSize];
} XkbAnyAction;
typedef struct _XkbModAction {
unsigned char type;
unsigned char flags;
unsigned char mask;
unsigned char real_mods;
unsigned char vmods1;
unsigned char vmods2;
} XkbModAction;
#define XkbModActionVMods(a) \
((short)(((a)->vmods1<<8)|((a)->vmods2)))
#define XkbSetModActionVMods(a,v) \
(((a)->vmods1=(((v)>>8)&0xff)),(a)->vmods2=((v)&0xff))
typedef struct _XkbGroupAction {
unsigned char type;
unsigned char flags;
char group_XXX;
} XkbGroupAction;
#define XkbSAGroup(a) (XkbCharToInt((a)->group_XXX))
#define XkbSASetGroup(a,g) ((a)->group_XXX=(g))
typedef struct _XkbISOAction {
unsigned char type;
unsigned char flags;
unsigned char mask;
unsigned char real_mods;
char group_XXX;
unsigned char affect;
unsigned char vmods1;
unsigned char vmods2;
} XkbISOAction;
typedef struct _XkbPtrAction {
unsigned char type;
unsigned char flags;
unsigned char high_XXX;
unsigned char low_XXX;
unsigned char high_YYY;
unsigned char low_YYY;
} XkbPtrAction;
#define XkbPtrActionX(a) (Xkb2CharsToInt((a)->high_XXX,(a)->low_XXX))
#define XkbPtrActionY(a) (Xkb2CharsToInt((a)->high_YYY,(a)->low_YYY))
#define XkbSetPtrActionX(a,x) (XkbIntTo2Chars(x,(a)->high_XXX,(a)->low_XXX))
#define XkbSetPtrActionY(a,y) (XkbIntTo2Chars(y,(a)->high_YYY,(a)->low_YYY))
typedef struct _XkbPtrBtnAction {
unsigned char type;
unsigned char flags;
unsigned char count;
unsigned char button;
} XkbPtrBtnAction;
typedef struct _XkbPtrDfltAction {
unsigned char type;
unsigned char flags;
unsigned char affect;
char valueXXX;
} XkbPtrDfltAction;
#define XkbSAPtrDfltValue(a) (XkbCharToInt((a)->valueXXX))
#define XkbSASetPtrDfltValue(a,c) ((a)->valueXXX= ((c)&0xff))
typedef struct _XkbSwitchScreenAction {
unsigned char type;
unsigned char flags;
char screenXXX;
} XkbSwitchScreenAction;
#define XkbSAScreen(a) (XkbCharToInt((a)->screenXXX))
#define XkbSASetScreen(a,s) ((a)->screenXXX= ((s)&0xff))
typedef struct _XkbCtrlsAction {
unsigned char type;
unsigned char flags;
unsigned char ctrls3;
unsigned char ctrls2;
unsigned char ctrls1;
unsigned char ctrls0;
} XkbCtrlsAction;
#define XkbActionSetCtrls(a,c) (((a)->ctrls3=(((c)>>24)&0xff)),\
((a)->ctrls2=(((c)>>16)&0xff)),\
((a)->ctrls1=(((c)>>8)&0xff)),\
((a)->ctrls0=((c)&0xff)))
#define XkbActionCtrls(a) ((((unsigned int)(a)->ctrls3)<<24)|\
(((unsigned int)(a)->ctrls2)<<16)|\
(((unsigned int)(a)->ctrls1)<<8)|\
((unsigned int)((a)->ctrls0)))
typedef struct _XkbMessageAction {
unsigned char type;
unsigned char flags;
unsigned char message[6];
} XkbMessageAction;
typedef struct _XkbRedirectKeyAction {
unsigned char type;
unsigned char new_key;
unsigned char mods_mask;
unsigned char mods;
unsigned char vmods_mask0;
unsigned char vmods_mask1;
unsigned char vmods0;
unsigned char vmods1;
} XkbRedirectKeyAction;
#define XkbSARedirectVMods(a) ((((unsigned int)(a)->vmods1)<<8)|\
((unsigned int)(a)->vmods0))
#define XkbSARedirectSetVMods(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\
((a)->vmods_mask0=((m)&0xff)))
#define XkbSARedirectVModsMask(a) ((((unsigned int)(a)->vmods_mask1)<<8)|\
((unsigned int)(a)->vmods_mask0))
#define XkbSARedirectSetVModsMask(a,m) (((a)->vmods_mask1=(((m)>>8)&0xff)),\
((a)->vmods_mask0=((m)&0xff)))
typedef struct _XkbDeviceBtnAction {
unsigned char type;
unsigned char flags;
unsigned char count;
unsigned char button;
unsigned char device;
} XkbDeviceBtnAction;
typedef struct _XkbDeviceValuatorAction {
unsigned char type;
unsigned char device;
unsigned char v1_what;
unsigned char v1_ndx;
unsigned char v1_value;
unsigned char v2_what;
unsigned char v2_ndx;
unsigned char v2_value;
} XkbDeviceValuatorAction;
typedef union _XkbAction {
XkbAnyAction any;
XkbModAction mods;
XkbGroupAction group;
XkbISOAction iso;
XkbPtrAction ptr;
XkbPtrBtnAction btn;
XkbPtrDfltAction dflt;
XkbSwitchScreenAction screen;
XkbCtrlsAction ctrls;
XkbMessageAction msg;
XkbRedirectKeyAction redirect;
XkbDeviceBtnAction devbtn;
XkbDeviceValuatorAction devval;
unsigned char type;
} XkbAction;
typedef struct _XkbControls {
unsigned char mk_dflt_btn;
unsigned char num_groups;
unsigned char groups_wrap;
XkbModsRec internal;
XkbModsRec ignore_lock;
unsigned int enabled_ctrls;
unsigned short repeat_delay;
unsigned short repeat_interval;
unsigned short slow_keys_delay;
unsigned short debounce_delay;
unsigned short mk_delay;
unsigned short mk_interval;
unsigned short mk_time_to_max;
unsigned short mk_max_speed;
short mk_curve;
unsigned short ax_options;
unsigned short ax_timeout;
unsigned short axt_opts_mask;
unsigned short axt_opts_values;
unsigned int axt_ctrls_mask;
unsigned int axt_ctrls_values;
unsigned char per_key_repeat[XkbPerKeyBitArraySize];
} XkbControlsRec, *XkbControlsPtr;
#define XkbAX_AnyFeedback(c) ((c)->enabled_ctrls&XkbAccessXFeedbackMask)
#define XkbAX_NeedOption(c,w) ((c)->ax_options&(w))
#define XkbAX_NeedFeedback(c,w) (XkbAX_AnyFeedback(c)&&XkbAX_NeedOption(c,w))
typedef struct _XkbServerMapRec {
unsigned short num_acts;
unsigned short size_acts;
XkbAction *acts;
XkbBehavior *behaviors;
unsigned short *key_acts;
#if defined(__cplusplus) || defined(c_plusplus)
/* explicit is a C++ reserved word */
unsigned char *c_explicit;
#else
unsigned char *explicit;
#endif
unsigned char vmods[XkbNumVirtualMods];
unsigned short *vmodmap;
} XkbServerMapRec, *XkbServerMapPtr;
#define XkbSMKeyActionsPtr(m,k) (&(m)->acts[(m)->key_acts[k]])
/*
* Structures and access macros used primarily by clients
*/
typedef struct _XkbSymMapRec {
unsigned char kt_index[XkbNumKbdGroups];
unsigned char group_info;
unsigned char width;
unsigned short offset;
} XkbSymMapRec, *XkbSymMapPtr;
typedef struct _XkbClientMapRec {
unsigned char size_types;
unsigned char num_types;
XkbKeyTypePtr types;
unsigned short size_syms;
unsigned short num_syms;
KeySym *syms;
XkbSymMapPtr key_sym_map;
unsigned char *modmap;
} XkbClientMapRec, *XkbClientMapPtr;
#define XkbCMKeyGroupInfo(m,k) ((m)->key_sym_map[k].group_info)
#define XkbCMKeyNumGroups(m,k) (XkbNumGroups((m)->key_sym_map[k].group_info))
#define XkbCMKeyGroupWidth(m,k,g) (XkbCMKeyType(m,k,g)->num_levels)
#define XkbCMKeyGroupsWidth(m,k) ((m)->key_sym_map[k].width)
#define XkbCMKeyTypeIndex(m,k,g) ((m)->key_sym_map[k].kt_index[g&0x3])
#define XkbCMKeyType(m,k,g) (&(m)->types[XkbCMKeyTypeIndex(m,k,g)])
#define XkbCMKeyNumSyms(m,k) (XkbCMKeyGroupsWidth(m,k)*XkbCMKeyNumGroups(m,k))
#define XkbCMKeySymsOffset(m,k) ((m)->key_sym_map[k].offset)
#define XkbCMKeySymsPtr(m,k) (&(m)->syms[XkbCMKeySymsOffset(m,k)])
/*
* Compatibility structures and access macros
*/
typedef struct _XkbSymInterpretRec {
KeySym sym;
unsigned char flags;
unsigned char match;
unsigned char mods;
unsigned char virtual_mod;
XkbAnyAction act;
} XkbSymInterpretRec,*XkbSymInterpretPtr;
typedef struct _XkbCompatMapRec {
XkbSymInterpretPtr sym_interpret;
XkbModsRec groups[XkbNumKbdGroups];
unsigned short num_si;
unsigned short size_si;
} XkbCompatMapRec, *XkbCompatMapPtr;
typedef struct _XkbIndicatorMapRec {
unsigned char flags;
unsigned char which_groups;
unsigned char groups;
unsigned char which_mods;
XkbModsRec mods;
unsigned int ctrls;
} XkbIndicatorMapRec, *XkbIndicatorMapPtr;
#define XkbIM_IsAuto(i) ((((i)->flags&XkbIM_NoAutomatic)==0)&&\
(((i)->which_groups&&(i)->groups)||\
((i)->which_mods&&(i)->mods.mask)||\
((i)->ctrls)))
#define XkbIM_InUse(i) (((i)->flags)||((i)->which_groups)||\
((i)->which_mods)||((i)->ctrls))
typedef struct _XkbIndicatorRec {
unsigned long phys_indicators;
XkbIndicatorMapRec maps[XkbNumIndicators];
} XkbIndicatorRec,*XkbIndicatorPtr;
typedef struct _XkbKeyNameRec {
char name[XkbKeyNameLength];
} XkbKeyNameRec,*XkbKeyNamePtr;
typedef struct _XkbKeyAliasRec {
char real[XkbKeyNameLength];
char alias[XkbKeyNameLength];
} XkbKeyAliasRec,*XkbKeyAliasPtr;
/*
* Names for everything
*/
typedef struct _XkbNamesRec {
Atom keycodes;
Atom geometry;
Atom symbols;
Atom types;
Atom compat;
Atom vmods[XkbNumVirtualMods];
Atom indicators[XkbNumIndicators];
Atom groups[XkbNumKbdGroups];
XkbKeyNamePtr keys;
XkbKeyAliasPtr key_aliases;
Atom *radio_groups;
Atom phys_symbols;
unsigned char num_keys;
unsigned char num_key_aliases;
unsigned short num_rg;
} XkbNamesRec,*XkbNamesPtr;
typedef struct _XkbGeometry *XkbGeometryPtr;
/*
* Tie it all together into one big keyboard description
*/
typedef struct _XkbDesc {
struct _XDisplay * dpy;
unsigned short flags;
unsigned short device_spec;
KeyCode min_key_code;
KeyCode max_key_code;
XkbControlsPtr ctrls;
XkbServerMapPtr server;
XkbClientMapPtr map;
XkbIndicatorPtr indicators;
XkbNamesPtr names;
XkbCompatMapPtr compat;
XkbGeometryPtr geom;
} XkbDescRec, *XkbDescPtr;
#define XkbKeyKeyTypeIndex(d,k,g) (XkbCMKeyTypeIndex((d)->map,k,g))
#define XkbKeyKeyType(d,k,g) (XkbCMKeyType((d)->map,k,g))
#define XkbKeyGroupWidth(d,k,g) (XkbCMKeyGroupWidth((d)->map,k,g))
#define XkbKeyGroupsWidth(d,k) (XkbCMKeyGroupsWidth((d)->map,k))
#define XkbKeyGroupInfo(d,k) (XkbCMKeyGroupInfo((d)->map,(k)))
#define XkbKeyNumGroups(d,k) (XkbCMKeyNumGroups((d)->map,(k)))
#define XkbKeyNumSyms(d,k) (XkbCMKeyNumSyms((d)->map,(k)))
#define XkbKeySymsPtr(d,k) (XkbCMKeySymsPtr((d)->map,(k)))
#define XkbKeySym(d,k,n) (XkbKeySymsPtr(d,k)[n])
#define XkbKeySymEntry(d,k,sl,g) \
(XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))))
#define XkbKeyAction(d,k,n) \
(XkbKeyHasActions(d,k)?&XkbKeyActionsPtr(d,k)[n]:NULL)
#define XkbKeyActionEntry(d,k,sl,g) \
(XkbKeyHasActions(d,k)?\
XkbKeyAction(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))):NULL)
#define XkbKeyHasActions(d,k) ((d)->server->key_acts[k]!=0)
#define XkbKeyNumActions(d,k) (XkbKeyHasActions(d,k)?XkbKeyNumSyms(d,k):1)
#define XkbKeyActionsPtr(d,k) (XkbSMKeyActionsPtr((d)->server,k))
#define XkbKeycodeInRange(d,k) (((k)>=(d)->min_key_code)&&\
((k)<=(d)->max_key_code))
#define XkbNumKeys(d) ((d)->max_key_code-(d)->min_key_code+1)
/*
* The following structures can be used to track changes
* to a keyboard device
*/
typedef struct _XkbMapChanges {
unsigned short changed;
KeyCode min_key_code;
KeyCode max_key_code;
unsigned char first_type;
unsigned char num_types;
KeyCode first_key_sym;
unsigned char num_key_syms;
KeyCode first_key_act;
unsigned char num_key_acts;
KeyCode first_key_behavior;
unsigned char num_key_behaviors;
KeyCode first_key_explicit;
unsigned char num_key_explicit;
KeyCode first_modmap_key;
unsigned char num_modmap_keys;
KeyCode first_vmodmap_key;
unsigned char num_vmodmap_keys;
unsigned char pad;
unsigned short vmods;
} XkbMapChangesRec,*XkbMapChangesPtr;
typedef struct _XkbControlsChanges {
unsigned int changed_ctrls;
unsigned int enabled_ctrls_changes;
Bool num_groups_changed;
} XkbControlsChangesRec,*XkbControlsChangesPtr;
typedef struct _XkbIndicatorChanges {
unsigned int state_changes;
unsigned int map_changes;
} XkbIndicatorChangesRec,*XkbIndicatorChangesPtr;
typedef struct _XkbNameChanges {
unsigned int changed;
unsigned char first_type;
unsigned char num_types;
unsigned char first_lvl;
unsigned char num_lvls;
unsigned char num_aliases;
unsigned char num_rg;
unsigned char first_key;
unsigned char num_keys;
unsigned short changed_vmods;
unsigned long changed_indicators;
unsigned char changed_groups;
} XkbNameChangesRec,*XkbNameChangesPtr;
typedef struct _XkbCompatChanges {
unsigned char changed_groups;
unsigned short first_si;
unsigned short num_si;
} XkbCompatChangesRec,*XkbCompatChangesPtr;
typedef struct _XkbChanges {
unsigned short device_spec;
unsigned short state_changes;
XkbMapChangesRec map;
XkbControlsChangesRec ctrls;
XkbIndicatorChangesRec indicators;
XkbNameChangesRec names;
XkbCompatChangesRec compat;
} XkbChangesRec, *XkbChangesPtr;
/*
* These data structures are used to construct a keymap from
* a set of components or to list components in the server
* database.
*/
typedef struct _XkbComponentNames {
char * keymap;
char * keycodes;
char * types;
char * compat;
char * symbols;
char * geometry;
} XkbComponentNamesRec, *XkbComponentNamesPtr;
typedef struct _XkbComponentName {
unsigned short flags;
char * name;
} XkbComponentNameRec,*XkbComponentNamePtr;
typedef struct _XkbComponentList {
int num_keymaps;
int num_keycodes;
int num_types;
int num_compat;
int num_symbols;
int num_geometry;
XkbComponentNamePtr keymaps;
XkbComponentNamePtr keycodes;
XkbComponentNamePtr types;
XkbComponentNamePtr compat;
XkbComponentNamePtr symbols;
XkbComponentNamePtr geometry;
} XkbComponentListRec, *XkbComponentListPtr;
/*
* The following data structures describe and track changes to a
* non-keyboard extension device
*/
typedef struct _XkbDeviceLedInfo {
unsigned short led_class;
unsigned short led_id;
unsigned int phys_indicators;
unsigned int maps_present;
unsigned int names_present;
unsigned int state;
Atom names[XkbNumIndicators];
XkbIndicatorMapRec maps[XkbNumIndicators];
} XkbDeviceLedInfoRec,*XkbDeviceLedInfoPtr;
typedef struct _XkbDeviceInfo {
char * name;
Atom type;
unsigned short device_spec;
Bool has_own_state;
unsigned short supported;
unsigned short unsupported;
unsigned short num_btns;
XkbAction * btn_acts;
unsigned short sz_leds;
unsigned short num_leds;
unsigned short dflt_kbd_fb;
unsigned short dflt_led_fb;
XkbDeviceLedInfoPtr leds;
} XkbDeviceInfoRec,*XkbDeviceInfoPtr;
#define XkbXI_DevHasBtnActs(d) (((d)->num_btns>0)&&((d)->btn_acts!=NULL))
#define XkbXI_LegalDevBtn(d,b) (XkbXI_DevHasBtnActs(d)&&((b)<(d)->num_btns))
#define XkbXI_DevHasLeds(d) (((d)->num_leds>0)&&((d)->leds!=NULL))
typedef struct _XkbDeviceLedChanges {
unsigned short led_class;
unsigned short led_id;
unsigned int defined; /* names or maps changed */
struct _XkbDeviceLedChanges *next;
} XkbDeviceLedChangesRec,*XkbDeviceLedChangesPtr;
typedef struct _XkbDeviceChanges {
unsigned int changed;
unsigned short first_btn;
unsigned short num_btns;
XkbDeviceLedChangesRec leds;
} XkbDeviceChangesRec,*XkbDeviceChangesPtr;
#endif /* _XKBSTR_H_ */
PK 5[
V V extensions/shapeconst.hnu W+A /************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
#ifndef _SHAPECONST_H_
#define _SHAPECONST_H_
/*
* Protocol requests constants and alignment values
* These would really be in SHAPE's X.h and Xproto.h equivalents
*/
#define SHAPENAME "SHAPE"
#define SHAPE_MAJOR_VERSION 1 /* current version numbers */
#define SHAPE_MINOR_VERSION 1
#define ShapeSet 0
#define ShapeUnion 1
#define ShapeIntersect 2
#define ShapeSubtract 3
#define ShapeInvert 4
#define ShapeBounding 0
#define ShapeClip 1
#define ShapeInput 2
#define ShapeNotifyMask (1L << 0)
#define ShapeNotify 0
#define ShapeNumberEvents (ShapeNotify + 1)
#endif /* _SHAPECONST_H_ */
PK 5[ extensions/EVIproto.hnu W+A /************************************************************
Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics not be
used in advertising or publicity pertaining to distribution
of the software without specific prior written permission.
Silicon Graphics makes no representation about the suitability
of this software for any purpose. It is provided "as is"
without any express or implied warranty.
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
#ifndef _EVIPROTO_H_
#define _EVIPROTO_H_
#include
#define X_EVIQueryVersion 0
#define X_EVIGetVisualInfo 1
#define VisualID CARD32
typedef CARD32 VisualID32;
#define sz_VisualID32 4
typedef struct _xExtendedVisualInfo {
VisualID core_visual_id B32;
INT8 screen;
INT8 level;
CARD8 transparency_type;
CARD8 pad0;
CARD32 transparency_value B32;
CARD8 min_hw_colormaps;
CARD8 max_hw_colormaps;
CARD16 num_colormap_conflicts B16;
} xExtendedVisualInfo;
#define sz_xExtendedVisualInfo 16
typedef struct _XEVIQueryVersion {
CARD8 reqType; /* always XEVIReqCode */
CARD8 xeviReqType; /* always X_EVIQueryVersion */
CARD16 length B16;
} xEVIQueryVersionReq;
#define sz_xEVIQueryVersionReq 4
typedef struct {
BYTE type; /* X_Reply */
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16; /* major version of EVI protocol */
CARD16 minorVersion B16; /* minor version of EVI protocol */
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xEVIQueryVersionReply;
#define sz_xEVIQueryVersionReply 32
typedef struct _XEVIGetVisualInfoReq {
CARD8 reqType; /* always XEVIReqCode */
CARD8 xeviReqType; /* always X_EVIGetVisualInfo */
CARD16 length B16;
CARD32 n_visual B32;
} xEVIGetVisualInfoReq;
#define sz_xEVIGetVisualInfoReq 8
typedef struct _XEVIGetVisualInfoReply {
BYTE type; /* X_Reply */
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 n_info B32;
CARD32 n_conflicts B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xEVIGetVisualInfoReply;
#define sz_xEVIGetVisualInfoReply 32
#undef VisualID
#endif /* _EVIPROTO_H_ */
PK 5["n| | extensions/xtestext1.hnu W+A /*
* xtestext1.h
*
* X11 Input Synthesis Extension include file
*/
/*
Copyright 1986, 1987, 1988, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Hewlett-Packard not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
Hewlett-Packard makes no representations about the
suitability of this software for any purpose. It is provided
"as is" without express or implied warranty.
This software is not subject to any license of the American
Telephone and Telegraph Company or of the Regents of the
University of California.
*/
#ifndef _XTESTEXT1_H
#define _XTESTEXT1_H
/*
* the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h
*/
#include
/*
* This is the definition for the input action host format event structure.
* This is the form that a client using this extension will see when
* it receives an input action event.
*/
typedef struct {
int type; /* always XTestInputActionType */
Display *display;
Window window;
CARD8 actions[XTestACTIONS_SIZE];
} XTestInputActionEvent;
/*
* This is the definition for the xTestFakeAck host format event structure.
* This is the form that a client using this extension will see when
* it receives an XTestFakeAck event.
*/
typedef struct {
int type; /* always XTestFakeAckType */
Display *display;
Window window;
} XTestFakeAckEvent;
_XFUNCPROTOBEGIN
int XTestFakeInput(register Display *dpy, char *action_list_addr, int action_list_size, int ack_flag);
int XTestGetInput(register Display *dpy, int action_handling);
int XTestQueryInputSize(register Display *dpy, unsigned long *size_return);
int XTestPressKey(Display *display, int device_id, unsigned long delay, unsigned int keycode, unsigned int key_action);
int XTestPressButton(Display * display, int device_id, unsigned long delay, unsigned int button_number, unsigned int button_action);
int XTestMovePointer(Display *display, int device_id, unsigned long delay[], int x[], int y[], unsigned int count);
int XTestFlush(Display *display);
int XTestStopInput(register Display *dpy);
int XTestReset(register Display *dpy);
_XFUNCPROTOEND
#endif /* _XTESTEXT1_H */
PK 5[%/t extensions/Xcup.hnu W+A /*
Copyright 1987, 1988, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
#ifndef _XCUP_H_
#define _XCUP_H_
#include
#include
_XFUNCPROTOBEGIN
Bool XcupQueryVersion(
Display* /* dpy */,
int* /* major_version */,
int* /* minor_version */
);
Status XcupGetReservedColormapEntries(
Display* /* dpy */,
int /* screen */,
XColor** /* colors_out */,
int* /* ncolors */
);
Status XcupStoreColors(
Display* /* dpy */,
Colormap /* colormap */,
XColor* /* colors */,
int /* ncolors */
);
_XFUNCPROTOEND
#endif /* _XCUP_H_ */
PK 5[-,I I extensions/Xag.hnu W+A /*
Copyright 1996, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
*/
#ifndef _XAG_H_
#define _XAG_H_
#include
#include
#include
_XFUNCPROTOBEGIN
typedef XID XAppGroup;
Bool XagQueryVersion(
Display* /* dpy */,
int* /* major_version */,
int* /* minor_version */
);
Status XagCreateEmbeddedApplicationGroup(
Display* /* dpy */,
VisualID /* root_visual */,
Colormap /* default_colormap */,
unsigned long /* black_pixel */,
unsigned long /* white_pixel */,
XAppGroup* /* app_group_return */
);
Status XagCreateNonembeddedApplicationGroup(
Display* /* dpy */,
XAppGroup* /* app_group_return */
);
Status XagDestroyApplicationGroup(
Display* /* dpy */,
XAppGroup /* app_group */
);
Status XagGetApplicationGroupAttributes(
Display* /* dpy */,
XAppGroup /* app_group */,
...
);
Status XagQueryApplicationGroup(
Display* /* dpy */,
XID /* resource_base */,
XAppGroup* /* app_group_ret */
);
Status XagCreateAssociation(
Display* /* dpy */,
Window* /* window_ret */,
void* /* system_window */
);
Status XagDestroyAssociation(
Display* /* dpy */,
Window /* window */
);
_XFUNCPROTOEND
#endif /* _XAG_H_ */
PK 5[wӎ extensions/evieproto.hnu W+A /************************************************************
Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice (including the next
paragraph) shall be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
************************************************************/
#ifndef _XEVIEPROTO_H_
#define _XEVIEPROTO_H_
#define XEVIENAME "XEVIE"
#define XEVIE_MAJOR_VERSION 1
#define XEVIE_MINOR_VERSION 0
#define X_XevieQueryVersion 0
#define X_XevieStart 1
#define X_XevieEnd 2
#define X_XevieSend 3
#define X_XevieSelectInput 4
#define XevieNumberErrors 0
typedef struct _XevieQueryVersion {
CARD8 reqType;
CARD8 xevieReqType;
CARD16 length B16;
CARD16 client_major_version B16;
CARD16 client_minor_version B16;
} xXevieQueryVersionReq;
#define sz_xXevieQueryVersionReq 8
typedef struct {
BYTE type;
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
CARD16 server_major_version B16;
CARD16 server_minor_version B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXevieQueryVersionReply;
#define sz_xXevieQueryVersionReply 32
typedef struct _XevieStart {
CARD8 reqType;
CARD8 xevieReqType;
CARD16 length B16;
CARD32 screen B32;
} xXevieStartReq;
#define sz_xXevieStartReq 8
typedef struct {
BYTE type;
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xXevieStartReply;
#define sz_xXevieStartReply 32
typedef struct _XevieEnd {
CARD8 reqType;
CARD8 xevieReqType;
CARD16 length B16;
CARD32 cmap B32;
} xXevieEndReq;
#define sz_xXevieEndReq 8
typedef struct {
BYTE type; /* X_Reply */
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xXevieEndReply;
#define sz_xXevieEndReply 32
typedef struct _XevieSend {
CARD8 reqType;
CARD8 xevieReqType;
CARD16 length B16;
xEvent event;
CARD32 dataType B32;
} xXevieSendReq;
#define sz_xXevieSendReq 104
typedef struct {
BYTE type;
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xXevieSendReply;
#define sz_xXevieSendReply 32
typedef struct _XevieSelectInput {
CARD8 reqType;
CARD8 xevieReqType;
CARD16 length B16;
CARD32 event_mask B32;
} xXevieSelectInputReq;
#define sz_xXevieSelectInputReq 8
typedef struct {
BYTE type;
BOOL pad1;
CARD16 sequence_number B16;
CARD32 length B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xXevieSelectInputReply;
#define sz_xXevieSelectInputReply 32
#endif /* } _XEVIEPROTO_H_ */
PK 5[~u" " extensions/dri2proto.hnu W+A /*
* Copyright © 2008 Red Hat, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Soft-
* ware"), to deal in the Software without restriction, including without
* limitation the rights to use, copy, modify, merge, publish, distribute,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, provided that the above copyright
* notice(s) and this permission notice appear in all copies of the Soft-
* ware and that both the above copyright notice(s) and this permission
* notice appear in supporting documentation.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
* ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
* RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
* THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
* QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
* MANCE OF THIS SOFTWARE.
*
* Except as contained in this notice, the name of a copyright holder shall
* not be used in advertising or otherwise to promote the sale, use or
* other dealings in this Software without prior written authorization of
* the copyright holder.
*
* Authors:
* Kristian Høgsberg (krh@redhat.com)
*/
#ifndef _DRI2_PROTO_H_
#define _DRI2_PROTO_H_
#define DRI2_NAME "DRI2"
#define DRI2_MAJOR 1
#define DRI2_MINOR 4
#define DRI2NumberErrors 0
#define DRI2NumberEvents 2
#define DRI2NumberRequests 14
#define X_DRI2QueryVersion 0
#define X_DRI2Connect 1
#define X_DRI2Authenticate 2
#define X_DRI2CreateDrawable 3
#define X_DRI2DestroyDrawable 4
#define X_DRI2GetBuffers 5
#define X_DRI2CopyRegion 6
#define X_DRI2GetBuffersWithFormat 7
#define X_DRI2SwapBuffers 8
#define X_DRI2GetMSC 9
#define X_DRI2WaitMSC 10
#define X_DRI2WaitSBC 11
#define X_DRI2SwapInterval 12
#define X_DRI2GetParam 13
/*
* Events
*/
#define DRI2_BufferSwapComplete 0
#define DRI2_InvalidateBuffers 1
typedef struct {
CARD32 attachment B32;
CARD32 name B32;
CARD32 pitch B32;
CARD32 cpp B32;
CARD32 flags B32;
} xDRI2Buffer;
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
} xDRI2QueryVersionReq;
#define sz_xDRI2QueryVersionReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xDRI2QueryVersionReply;
#define sz_xDRI2QueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 window B32;
CARD32 driverType B32;
} xDRI2ConnectReq;
#define sz_xDRI2ConnectReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 driverNameLength B32;
CARD32 deviceNameLength B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xDRI2ConnectReply;
#define sz_xDRI2ConnectReply 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 window B32;
CARD32 magic B32;
} xDRI2AuthenticateReq;
#define sz_xDRI2AuthenticateReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 authenticated B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xDRI2AuthenticateReply;
#define sz_xDRI2AuthenticateReply 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
} xDRI2CreateDrawableReq;
#define sz_xDRI2CreateDrawableReq 8
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
} xDRI2DestroyDrawableReq;
#define sz_xDRI2DestroyDrawableReq 8
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 count B32;
} xDRI2GetBuffersReq;
#define sz_xDRI2GetBuffersReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 width B32;
CARD32 height B32;
CARD32 count B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xDRI2GetBuffersReply;
#define sz_xDRI2GetBuffersReply 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 region B32;
CARD32 dest B32;
CARD32 src B32;
} xDRI2CopyRegionReq;
#define sz_xDRI2CopyRegionReq 20
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xDRI2CopyRegionReply;
#define sz_xDRI2CopyRegionReply 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 target_msc_hi B32;
CARD32 target_msc_lo B32;
CARD32 divisor_hi B32;
CARD32 divisor_lo B32;
CARD32 remainder_hi B32;
CARD32 remainder_lo B32;
} xDRI2SwapBuffersReq;
#define sz_xDRI2SwapBuffersReq 32
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 swap_hi B32;
CARD32 swap_lo B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xDRI2SwapBuffersReply;
#define sz_xDRI2SwapBuffersReply 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
} xDRI2GetMSCReq;
#define sz_xDRI2GetMSCReq 8
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 target_msc_hi B32;
CARD32 target_msc_lo B32;
CARD32 divisor_hi B32;
CARD32 divisor_lo B32;
CARD32 remainder_hi B32;
CARD32 remainder_lo B32;
} xDRI2WaitMSCReq;
#define sz_xDRI2WaitMSCReq 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 target_sbc_hi B32;
CARD32 target_sbc_lo B32;
} xDRI2WaitSBCReq;
#define sz_xDRI2WaitSBCReq 16
typedef struct {
CARD8 type;
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 ust_hi B32;
CARD32 ust_lo B32;
CARD32 msc_hi B32;
CARD32 msc_lo B32;
CARD32 sbc_hi B32;
CARD32 sbc_lo B32;
} xDRI2MSCReply;
#define sz_xDRI2MSCReply 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 interval B32;
} xDRI2SwapIntervalReq;
#define sz_xDRI2SwapIntervalReq 12
typedef struct {
CARD8 type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD16 event_type B16;
CARD16 pad2;
CARD32 drawable B32;
CARD32 ust_hi B32;
CARD32 ust_lo B32;
CARD32 msc_hi B32;
CARD32 msc_lo B32;
CARD32 sbc_hi B32;
CARD32 sbc_lo B32;
} xDRI2BufferSwapComplete;
#define sz_xDRI2BufferSwapComplete 32
typedef struct {
CARD8 type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD16 event_type B16;
CARD16 pad2;
CARD32 drawable B32;
CARD32 ust_hi B32;
CARD32 ust_lo B32;
CARD32 msc_hi B32;
CARD32 msc_lo B32;
CARD32 sbc B32;
} xDRI2BufferSwapComplete2;
#define sz_xDRI2BufferSwapComplete2 32
typedef struct {
CARD8 type;
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 drawable B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xDRI2InvalidateBuffers;
#define sz_xDRI2InvalidateBuffers 32
typedef struct {
CARD8 reqType;
CARD8 dri2ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 param B32;
} xDRI2GetParamReq;
#define sz_xDRI2GetParamReq 12
typedef struct {
BYTE type; /*X_Reply*/
BOOL is_param_recognized;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 value_hi B32;
CARD32 value_lo B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xDRI2GetParamReply;
#define sz_xDRI2GetParamReply 32
#endif
PK 5[Rc extensions/securproto.hnu W+A /*
Copyright 1996, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from The Open Group.
*/
#ifndef _SECURPROTO_H
#define _SECURPROTO_H
#include
#define X_SecurityQueryVersion 0
#define X_SecurityGenerateAuthorization 1
#define X_SecurityRevokeAuthorization 2
typedef struct {
CARD8 reqType;
CARD8 securityReqType;
CARD16 length B16;
CARD16 majorVersion B16;
CARD16 minorVersion B16;
} xSecurityQueryVersionReq;
#define sz_xSecurityQueryVersionReq 8
typedef struct {
CARD8 type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16;
CARD16 minorVersion B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xSecurityQueryVersionReply;
#define sz_xSecurityQueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 securityReqType;
CARD16 length B16;
CARD16 nbytesAuthProto B16;
CARD16 nbytesAuthData B16;
CARD32 valueMask B32;
/* auth protocol name padded to 4 bytes */
/* auth protocol data padded to 4 bytes */
/* list of CARD32 values, if any */
} xSecurityGenerateAuthorizationReq;
#define sz_xSecurityGenerateAuthorizationReq 12
typedef struct {
CARD8 type;
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 authId B32;
CARD16 dataLength B16;
CARD16 pad1 B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xSecurityGenerateAuthorizationReply;
#define sz_xSecurityGenerateAuthorizationReply 32
typedef struct {
CARD8 reqType;
CARD8 securityReqType;
CARD16 length B16;
CARD32 authId B32;
} xSecurityRevokeAuthorizationReq;
#define sz_xSecurityRevokeAuthorizationReq 8
typedef struct _xSecurityAuthorizationRevokedEvent {
BYTE type;
BYTE detail;
CARD16 sequenceNumber B16;
CARD32 authId B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xSecurityAuthorizationRevokedEvent;
#define sz_xSecurityAuthorizationRevokedEvent 32
#endif /* _SECURPROTO_H */
PK 5[8p p extensions/xtestconst.hnu W+A /*
Copyright 1992, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
#ifndef _XTEST_CONST_H_
#define _XTEST_CONST_H_
#define XTestNumberEvents 0
#define XTestNumberErrors 0
#define XTestCurrentCursor ((Cursor)1)
#define XTestMajorVersion 2
#define XTestMinorVersion 2
#define XTestExtensionName "XTEST"
#endif
PK 5[; extensions/xf86dga1const.hnu W+A /*
Copyright (c) 1995 Jon Tombs
Copyright (c) 1995 XFree86 Inc
*/
/************************************************************************
THIS IS THE OLD DGA API AND IS OBSOLETE. PLEASE DO NOT USE IT ANYMORE
************************************************************************/
#ifndef _XF86DGA1CONST_H_
#define _XF86DGA1CONST_H_
#define X_XF86DGAQueryVersion 0
#define X_XF86DGAGetVideoLL 1
#define X_XF86DGADirectVideo 2
#define X_XF86DGAGetViewPortSize 3
#define X_XF86DGASetViewPort 4
#define X_XF86DGAGetVidPage 5
#define X_XF86DGASetVidPage 6
#define X_XF86DGAInstallColormap 7
#define X_XF86DGAQueryDirectVideo 8
#define X_XF86DGAViewPortChanged 9
#define XF86DGADirectPresent 0x0001
#define XF86DGADirectGraphics 0x0002
#define XF86DGADirectMouse 0x0004
#define XF86DGADirectKeyb 0x0008
#define XF86DGAHasColormap 0x0100
#define XF86DGADirectColormap 0x0200
#endif /* _XF86DGA1CONST_H_ */
PK 5[d extensions/Xge.hnu W+A /*
* Copyright 2007-2008 Peter Hutterer
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*
* Authors: Peter Hutterer, University of South Australia, NICTA
*
*/
/* XGE Client interfaces */
#ifndef _XGE_H_
#define _XGE_H_
#include
#include
_XFUNCPROTOBEGIN
/**
* Generic Event mask.
* To be used whenever a list of masks per extension has to be provided.
*
* But, don't actually use the CARD{8,16,32} types. We can't get them them
* defined here without polluting the namespace.
*/
typedef struct {
unsigned char extension;
unsigned char pad0;
unsigned short pad1;
unsigned int evmask;
} XGenericEventMask;
Bool XGEQueryExtension(Display* dpy, int *event_basep, int *err_basep);
Bool XGEQueryVersion(Display* dpy, int *major, int* minor);
_XFUNCPROTOEND
#endif /* _XGE_H_ */
PK 5[ީ:^ ^ extensions/syncconst.hnu W+A /*
Copyright 1991, 1993, 1994, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/***********************************************************
Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
and Olivetti Research Limited, Cambridge, England.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or Olivetti
not be used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
#ifndef _SYNCCONST_H_
#define _SYNCCONST_H_
#define SYNC_NAME "SYNC"
#define SYNC_MAJOR_VERSION 3
#define SYNC_MINOR_VERSION 1
#define XSyncCounterNotify 0
#define XSyncAlarmNotify 1
#define XSyncAlarmNotifyMask (1L << XSyncAlarmNotify)
#define XSyncNumberEvents 2L
#define XSyncBadCounter 0L
#define XSyncBadAlarm 1L
#define XSyncBadFence 2L
#define XSyncNumberErrors (XSyncBadFence + 1)
/*
* Flags for Alarm Attributes
*/
#define XSyncCACounter (1L<<0)
#define XSyncCAValueType (1L<<1)
#define XSyncCAValue (1L<<2)
#define XSyncCATestType (1L<<3)
#define XSyncCADelta (1L<<4)
#define XSyncCAEvents (1L<<5)
/* The _XSync macros below are for library internal use only. They exist
* so that if we have to make a fix, we can change it in this one place
* and have both the macro and function variants inherit the fix.
*/
#define _XSyncIntToValue(pv, i) ((pv)->hi=((i<0)?~0:0),(pv)->lo=(i))
#define _XSyncIntsToValue(pv, l, h) ((pv)->lo = (l), (pv)->hi = (h))
#define _XSyncValueGreaterThan(a, b)\
((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>(b).lo))
#define _XSyncValueLessThan(a, b)\
((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<(b).lo))
#define _XSyncValueGreaterOrEqual(a, b)\
((a).hi>(b).hi || ((a).hi==(b).hi && (a).lo>=(b).lo))
#define _XSyncValueLessOrEqual(a, b)\
((a).hi<(b).hi || ((a).hi==(b).hi && (a).lo<=(b).lo))
#define _XSyncValueEqual(a, b) ((a).lo==(b).lo && (a).hi==(b).hi)
#define _XSyncValueIsNegative(v) (((v).hi & 0x80000000) ? 1 : 0)
#define _XSyncValueIsZero(a) ((a).lo==0 && (a).hi==0)
#define _XSyncValueIsPositive(v) (((v).hi & 0x80000000) ? 0 : 1)
#define _XSyncValueLow32(v) ((v).lo)
#define _XSyncValueHigh32(v) ((v).hi)
#define _XSyncValueAdd(presult,a,b,poverflow) {\
int t = (a).lo;\
Bool signa = XSyncValueIsNegative(a);\
Bool signb = XSyncValueIsNegative(b);\
((presult)->lo = (a).lo + (b).lo);\
((presult)->hi = (a).hi + (b).hi);\
if (t>(presult)->lo) (presult)->hi++;\
*poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
}
#define _XSyncValueSubtract(presult,a,b,poverflow) {\
int t = (a).lo;\
Bool signa = XSyncValueIsNegative(a);\
Bool signb = XSyncValueIsNegative(b);\
((presult)->lo = (a).lo - (b).lo);\
((presult)->hi = (a).hi - (b).hi);\
if (t<(presult)->lo) (presult)->hi--;\
*poverflow = ((signa == signb) && !(signa == XSyncValueIsNegative(*presult)));\
}
#define _XSyncMaxValue(pv) ((pv)->hi = 0x7fffffff, (pv)->lo = 0xffffffff)
#define _XSyncMinValue(pv) ((pv)->hi = 0x80000000, (pv)->lo = 0)
/*
* These are the publically usable macros. If you want the function version
* of one of these, just #undef the macro to uncover the function.
* (This is the same convention that the ANSI C library uses.)
*/
#define XSyncIntToValue(pv, i) _XSyncIntToValue(pv, i)
#define XSyncIntsToValue(pv, l, h) _XSyncIntsToValue(pv, l, h)
#define XSyncValueGreaterThan(a, b) _XSyncValueGreaterThan(a, b)
#define XSyncValueLessThan(a, b) _XSyncValueLessThan(a, b)
#define XSyncValueGreaterOrEqual(a, b) _XSyncValueGreaterOrEqual(a, b)
#define XSyncValueLessOrEqual(a, b) _XSyncValueLessOrEqual(a, b)
#define XSyncValueEqual(a, b) _XSyncValueEqual(a, b)
#define XSyncValueIsNegative(v) _XSyncValueIsNegative(v)
#define XSyncValueIsZero(a) _XSyncValueIsZero(a)
#define XSyncValueIsPositive(v) _XSyncValueIsPositive(v)
#define XSyncValueLow32(v) _XSyncValueLow32(v)
#define XSyncValueHigh32(v) _XSyncValueHigh32(v)
#define XSyncValueAdd(presult,a,b,poverflow) _XSyncValueAdd(presult,a,b,poverflow)
#define XSyncValueSubtract(presult,a,b,poverflow) _XSyncValueSubtract(presult,a,b,poverflow)
#define XSyncMaxValue(pv) _XSyncMaxValue(pv)
#define XSyncMinValue(pv) _XSyncMinValue(pv)
/*
* Constants for the value_type argument of various requests
*/
typedef enum {
XSyncAbsolute,
XSyncRelative
} XSyncValueType;
/*
* Alarm Test types
*/
typedef enum {
XSyncPositiveTransition,
XSyncNegativeTransition,
XSyncPositiveComparison,
XSyncNegativeComparison
} XSyncTestType;
/*
* Alarm state constants
*/
typedef enum {
XSyncAlarmActive,
XSyncAlarmInactive,
XSyncAlarmDestroyed
} XSyncAlarmState;
typedef XID XSyncCounter;
typedef XID XSyncAlarm;
typedef XID XSyncFence;
typedef struct _XSyncValue {
int hi;
unsigned int lo;
} XSyncValue;
#endif /* _SYNCCONST_H_ */
PK 5[`% extensions/xtestext1proto.hnu W+A /*
* xtestext1.h
*
* X11 Input Synthesis Extension include file
*/
/*
Copyright 1986, 1987, 1988, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
Copyright 1986, 1987, 1988 by Hewlett-Packard Corporation
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Hewlett-Packard not be used in
advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
Hewlett-Packard makes no representations about the
suitability of this software for any purpose. It is provided
"as is" without express or implied warranty.
This software is not subject to any license of the American
Telephone and Telegraph Company or of the Regents of the
University of California.
*/
#ifndef _XTESTEXT1PROTO_H
#define _XTESTEXT1PROTO_H 1
#include
/*
* the typedefs for CARD8, CARD16, and CARD32 are defined in Xmd.h
*/
/*
* XTest request type values
*
* used in the XTest extension protocol requests
*/
#define X_TestFakeInput 1
#define X_TestGetInput 2
#define X_TestStopInput 3
#define X_TestReset 4
#define X_TestQueryInputSize 5
/*
* This defines the maximum size of a list of input actions
* to be sent to the server. It should always be a multiple of
* 4 so that the entire xTestFakeInputReq structure size is a
* multiple of 4.
*/
typedef struct {
CARD8 reqType; /* always XTestReqCode */
CARD8 XTestReqType; /* always X_TestFakeInput */
CARD16 length B16; /* 2 + XTestMAX_ACTION_LIST_SIZE/4 */
CARD32 ack B32;
CARD8 action_list[XTestMAX_ACTION_LIST_SIZE];
} xTestFakeInputReq;
#define sz_xTestFakeInputReq (XTestMAX_ACTION_LIST_SIZE + 8)
typedef struct {
CARD8 reqType; /* always XTestReqCode */
CARD8 XTestReqType; /* always X_TestGetInput */
CARD16 length B16; /* 2 */
CARD32 mode B32;
} xTestGetInputReq;
#define sz_xTestGetInputReq 8
typedef struct {
CARD8 reqType; /* always XTestReqCode */
CARD8 XTestReqType; /* always X_TestStopInput */
CARD16 length B32; /* 1 */
} xTestStopInputReq;
#define sz_xTestStopInputReq 4
typedef struct {
CARD8 reqType; /* always XTestReqCode */
CARD8 XTestReqType; /* always X_TestReset */
CARD16 length B16; /* 1 */
} xTestResetReq;
#define sz_xTestResetReq 4
typedef struct {
CARD8 reqType; /* always XTestReqCode */
CARD8 XTestReqType; /* always X_TestQueryInputSize */
CARD16 length B16; /* 1 */
} xTestQueryInputSizeReq;
#define sz_xTestQueryInputSizeReq 4
/*
* This is the definition of the reply for the xTestQueryInputSize
* request. It should remain the same minimum size as other replies
* (32 bytes).
*/
typedef struct {
CARD8 type; /* always X_Reply */
CARD8 pad1;
CARD16 sequenceNumber B16;
CARD32 length B32; /* always 0 */
CARD32 size_return B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xTestQueryInputSizeReply;
/*
* This is the definition for the input action wire event structure.
* This event is sent to the client when the server has one or
* more user input actions to report to the client. It must
* remain the same size as all other wire events (32 bytes).
*/
typedef struct {
CARD8 type; /* always XTestInputActionType */
CARD8 pad00;
CARD16 sequenceNumber B16;
CARD8 actions[XTestACTIONS_SIZE];
} xTestInputActionEvent;
/*
* This is the definition for the xTestFakeAck wire event structure.
* This event is sent to the client when the server has completely
* processed its input action buffer, and is ready for more.
* It must remain the same size as all other wire events (32 bytes).
*/
typedef struct {
CARD8 type; /* always XTestFakeAckType */
CARD8 pad00;
CARD16 sequenceNumber B16;
CARD32 pad02 B32;
CARD32 pad03 B32;
CARD32 pad04 B32;
CARD32 pad05 B32;
CARD32 pad06 B32;
CARD32 pad07 B32;
CARD32 pad08 B32;
} xTestFakeAckEvent;
/*
* These are the definitions for key/button motion input actions.
*/
typedef struct {
CARD8 header; /* which device, key up/down */
CARD8 keycode; /* which key/button to move */
CARD16 delay_time B16; /* how long to delay (in ms) */
} XTestKeyInfo;
/*
* This is the definition for pointer jump input actions.
*/
typedef struct {
CARD8 header; /* which pointer */
CARD8 pad1; /* unused padding byte */
CARD16 jumpx B16; /* x coord to jump to */
CARD16 jumpy B16; /* y coord to jump to */
CARD16 delay_time B16; /* how long to delay (in ms) */
} XTestJumpInfo;
/*
* These are the definitions for pointer relative motion input
* actions.
*
* The sign bits for the x and y relative motions are contained
* in the header byte. The x and y relative motions are packed
* into one byte to make things fit in 32 bits. If the relative
* motion range is larger than +/-15, use the pointer jump action.
*/
typedef struct {
CARD8 header; /* which pointer */
CARD8 motion_data; /* x,y relative motion */
CARD16 delay_time B16; /* how long to delay (in ms) */
} XTestMotionInfo;
/*
* These are the definitions for a long delay input action. It is
* used when more than XTestSHORT_DELAY_TIME milliseconds of delay
* (approximately one minute) is needed.
*
* The device ID for a delay is always set to XTestDELAY_DEVICE_ID.
* This guarantees that a header byte with a value of 0 is not
* a valid header, so it can be used as a flag to indicate that
* there are no more input actions in an XTestInputAction event.
*/
typedef struct {
CARD8 header; /* always XTestDELAY_DEVICE_ID */
CARD8 pad1; /* unused padding byte */
CARD16 pad2 B16; /* unused padding word */
CARD32 delay_time B32; /* how long to delay (in ms) */
} XTestDelayInfo;
#endif /* _XTESTEXT1PROTO_H */
PK 5[-G}m }m extensions/XKBsrv.hnu W+A /************************************************************
Copyright (c) 1993 by Silicon Graphics Computer Systems, Inc.
Permission to use, copy, modify, and distribute this
software and its documentation for any purpose and without
fee is hereby granted, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics not be
used in advertising or publicity pertaining to distribution
of the software without specific prior written permission.
Silicon Graphics makes no representation about the suitability
of this software for any purpose. It is provided "as is"
without any express or implied warranty.
SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
THE USE OR PERFORMANCE OF THIS SOFTWARE.
********************************************************/
#ifndef _XKBSRV_H_
#define _XKBSRV_H_
#ifdef XKB_IN_SERVER
#define XkbAllocClientMap SrvXkbAllocClientMap
#define XkbAllocServerMap SrvXkbAllocServerMap
#define XkbChangeTypesOfKey SrvXkbChangeTypesOfKey
#define XkbAddKeyType SrvXkbAddKeyType
#define XkbCopyKeyType SrvXkbCopyKeyType
#define XkbCopyKeyTypes SrvXkbCopyKeyTypes
#define XkbFreeClientMap SrvXkbFreeClientMap
#define XkbFreeServerMap SrvXkbFreeServerMap
#define XkbInitCanonicalKeyTypes SrvXkbInitCanonicalKeyTypes
#define XkbKeyTypesForCoreSymbols SrvXkbKeyTypesForCoreSymbols
#define XkbApplyCompatMapToKey SrvXkbApplyCompatMapToKey
#define XkbUpdateMapFromCore SrvXkbUpdateMapFromCore
#define XkbResizeKeyActions SrvXkbResizeKeyActions
#define XkbResizeKeySyms SrvXkbResizeKeySyms
#define XkbResizeKeyType SrvXkbResizeKeyType
#define XkbAllocCompatMap SrvXkbAllocCompatMap
#define XkbAllocControls SrvXkbAllocControls
#define XkbAllocIndicatorMaps SrvXkbAllocIndicatorMaps
#define XkbAllocKeyboard SrvXkbAllocKeyboard
#define XkbAllocNames SrvXkbAllocNames
#define XkbFreeCompatMap SrvXkbFreeCompatMap
#define XkbFreeControls SrvXkbFreeControls
#define XkbFreeIndicatorMaps SrvXkbFreeIndicatorMaps
#define XkbFreeKeyboard SrvXkbFreeKeyboard
#define XkbFreeNames SrvXkbFreeNames
#define XkbAddDeviceLedInfo SrvXkbAddDeviceLedInfo
#define XkbAllocDeviceInfo SrvXkbAllocDeviceInfo
#define XkbFreeDeviceInfo SrvXkbFreeDeviceInfo
#define XkbResizeDeviceButtonActions SrvXkbResizeDeviceButtonActions
#define XkbLatchModifiers SrvXkbLatchModifiers
#define XkbLatchGroup SrvXkbLatchGroup
#define XkbVirtualModsToReal SrvXkbVirtualModsToReal
#define XkbChangeKeycodeRange SrvXkbChangeKeycodeRange
#define XkbApplyVirtualModChanges SrvXkbApplyVirtualModChanges
#define XkbUpdateActionVirtualMods SrvXkbUpdateActionVirtualMods
#define XkbUpdateKeyTypeVirtualMods SrvXkbUpdateKeyTypeVirtualMods
#endif
#include
#include
#include "inputstr.h"
typedef struct _XkbInterest {
DeviceIntPtr dev;
ClientPtr client;
XID resource;
struct _XkbInterest * next;
CARD16 extDevNotifyMask;
CARD16 stateNotifyMask;
CARD16 namesNotifyMask;
CARD32 ctrlsNotifyMask;
CARD8 compatNotifyMask;
BOOL bellNotifyMask;
BOOL actionMessageMask;
CARD16 accessXNotifyMask;
CARD32 iStateNotifyMask;
CARD32 iMapNotifyMask;
CARD16 altSymsNotifyMask;
CARD32 autoCtrls;
CARD32 autoCtrlValues;
} XkbInterestRec,*XkbInterestPtr;
typedef struct _XkbRadioGroup {
CARD8 flags;
CARD8 nMembers;
CARD8 dfltDown;
CARD8 currentDown;
CARD8 members[XkbRGMaxMembers];
} XkbRadioGroupRec, *XkbRadioGroupPtr;
typedef struct _XkbEventCause {
CARD8 kc;
CARD8 event;
CARD8 mjr;
CARD8 mnr;
ClientPtr client;
} XkbEventCauseRec,*XkbEventCausePtr;
#define XkbSetCauseKey(c,k,e) { (c)->kc= (k),(c)->event= (e),\
(c)->mjr= (c)->mnr= 0; \
(c)->client= NULL; }
#define XkbSetCauseReq(c,j,n,cl) { (c)->kc= (c)->event= 0,\
(c)->mjr= (j),(c)->mnr= (n);\
(c)->client= (cl); }
#define XkbSetCauseCoreReq(c,e,cl) XkbSetCauseReq(c,e,0,cl)
#define XkbSetCauseXkbReq(c,e,cl) XkbSetCauseReq(c,XkbReqCode,e,cl)
#define XkbSetCauseUnknown(c) XkbSetCauseKey(c,0,0)
#define _OFF_TIMER 0
#define _KRG_WARN_TIMER 1
#define _KRG_TIMER 2
#define _SK_TIMEOUT_TIMER 3
#define _ALL_TIMEOUT_TIMER 4
#define _BEEP_NONE 0
#define _BEEP_FEATURE_ON 1
#define _BEEP_FEATURE_OFF 2
#define _BEEP_FEATURE_CHANGE 3
#define _BEEP_SLOW_WARN 4
#define _BEEP_SLOW_PRESS 5
#define _BEEP_SLOW_ACCEPT 6
#define _BEEP_SLOW_REJECT 7
#define _BEEP_SLOW_RELEASE 8
#define _BEEP_STICKY_LATCH 9
#define _BEEP_STICKY_LOCK 10
#define _BEEP_STICKY_UNLOCK 11
#define _BEEP_LED_ON 12
#define _BEEP_LED_OFF 13
#define _BEEP_LED_CHANGE 14
#define _BEEP_BOUNCE_REJECT 15
typedef struct _XkbSrvInfo {
XkbStateRec prev_state;
XkbStateRec state;
XkbDescPtr desc;
DeviceIntPtr device;
KbdCtrlProcPtr kbdProc;
XkbRadioGroupPtr radioGroups;
CARD8 nRadioGroups;
CARD8 clearMods;
CARD8 setMods;
INT16 groupChange;
CARD16 dfltPtrDelta;
double mouseKeysCurve;
double mouseKeysCurveFactor;
INT16 mouseKeysDX;
INT16 mouseKeysDY;
CARD8 mouseKeysFlags;
Bool mouseKeysAccel;
CARD8 mouseKeysCounter;
CARD8 lockedPtrButtons;
CARD8 shiftKeyCount;
KeyCode mouseKey;
KeyCode inactiveKey;
KeyCode slowKey;
KeyCode repeatKey;
CARD8 krgTimerActive;
CARD8 beepType;
CARD8 beepCount;
CARD32 flags;
CARD32 lastPtrEventTime;
CARD32 lastShiftEventTime;
OsTimerPtr beepTimer;
OsTimerPtr mouseKeyTimer;
OsTimerPtr slowKeysTimer;
OsTimerPtr bounceKeysTimer;
OsTimerPtr repeatKeyTimer;
OsTimerPtr krgTimer;
} XkbSrvInfoRec, *XkbSrvInfoPtr;
#define XkbSLI_IsDefault (1L<<0)
#define XkbSLI_HasOwnState (1L<<1)
typedef struct _XkbSrvLedInfo {
CARD16 flags;
CARD16 class;
CARD16 id;
union {
KbdFeedbackPtr kf;
LedFeedbackPtr lf;
} fb;
CARD32 physIndicators;
CARD32 autoState;
CARD32 explicitState;
CARD32 effectiveState;
CARD32 mapsPresent;
CARD32 namesPresent;
XkbIndicatorMapPtr maps;
Atom * names;
CARD32 usesBase;
CARD32 usesLatched;
CARD32 usesLocked;
CARD32 usesEffective;
CARD32 usesCompat;
CARD32 usesControls;
CARD32 usedComponents;
} XkbSrvLedInfoRec, *XkbSrvLedInfoPtr;
/*
* Settings for xkbClientFlags field (used by DIX)
* These flags _must_ not overlap with XkbPCF_*
*/
#define _XkbClientInitialized (1<<15)
#define _XkbWantsDetectableAutoRepeat(c)\
((c)->xkbClientFlags&XkbPCF_DetectableAutoRepeatMask)
/*
* Settings for flags field
*/
#define _XkbStateNotifyInProgress (1<<0)
typedef struct
{
ProcessInputProc processInputProc;
ProcessInputProc realInputProc;
DeviceUnwrapProc unwrapProc;
} xkbDeviceInfoRec, *xkbDeviceInfoPtr;
#define WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
device->public.processInputProc = proc; \
oldprocs->processInputProc = \
oldprocs->realInputProc = device->public.realInputProc; \
device->public.realInputProc = proc; \
oldprocs->unwrapProc = device->unwrapProc; \
device->unwrapProc = unwrapproc;
#define COND_WRAP_PROCESS_INPUT_PROC(device, oldprocs, proc, unwrapproc) \
if (device->public.processInputProc == device->public.realInputProc)\
device->public.processInputProc = proc; \
oldprocs->processInputProc = \
oldprocs->realInputProc = device->public.realInputProc; \
device->public.realInputProc = proc; \
oldprocs->unwrapProc = device->unwrapProc; \
device->unwrapProc = unwrapproc;
#define UNWRAP_PROCESS_INPUT_PROC(device, oldprocs) \
device->public.processInputProc = oldprocs->processInputProc; \
device->public.realInputProc = oldprocs->realInputProc; \
device->unwrapProc = oldprocs->unwrapProc;
#define XKBDEVICEINFO(dev) ((xkbDeviceInfoPtr) (dev)->devPrivates[xkbDevicePrivateIndex].ptr)
/***====================================================================***/
/***====================================================================***/
#define XkbAX_KRGMask (XkbSlowKeysMask|XkbBounceKeysMask)
#define XkbAllFilteredEventsMask \
(XkbAccessXKeysMask|XkbRepeatKeysMask|XkbMouseKeysAccelMask|XkbAX_KRGMask)
/***====================================================================***/
extern int XkbReqCode;
extern int XkbEventBase;
extern int XkbKeyboardErrorCode;
extern int XkbDisableLockActions;
extern char * XkbBaseDirectory;
extern char * XkbBinDirectory;
extern char * XkbInitialMap;
extern int _XkbClientMajor;
extern int _XkbClientMinor;
extern unsigned int XkbXIUnsupported;
extern char * XkbModelUsed,*XkbLayoutUsed,*XkbVariantUsed,*XkbOptionsUsed;
extern Bool noXkbExtension;
extern Bool XkbWantRulesProp;
extern pointer XkbLastRepeatEvent;
extern CARD32 xkbDebugFlags;
extern CARD32 xkbDebugCtrls;
#define _XkbAlloc(s) xalloc((s))
#define _XkbCalloc(n,s) Xcalloc((n)*(s))
#define _XkbRealloc(o,s) Xrealloc((o),(s))
#define _XkbTypedAlloc(t) ((t *)xalloc(sizeof(t)))
#define _XkbTypedCalloc(n,t) ((t *)Xcalloc((n)*sizeof(t)))
#define _XkbTypedRealloc(o,n,t) \
((o)?(t *)Xrealloc((o),(n)*sizeof(t)):_XkbTypedCalloc(n,t))
#define _XkbClearElems(a,f,l,t) bzero(&(a)[f],((l)-(f)+1)*sizeof(t))
#define _XkbFree(p) Xfree(p)
#define _XkbLibError(c,l,d) \
{ _XkbErrCode= (c); _XkbErrLocation= (l); _XkbErrData= (d); }
#define _XkbErrCode2(a,b) ((XID)((((unsigned int)(a))<<24)|((b)&0xffffff)))
#define _XkbErrCode3(a,b,c) _XkbErrCode2(a,(((unsigned int)(b))<<16)|(c))
#define _XkbErrCode4(a,b,c,d) _XkbErrCode3(a,b,((((unsigned int)(c))<<8)|(d)))
extern int DeviceKeyPress,DeviceKeyRelease;
extern int DeviceButtonPress,DeviceButtonRelease;
#ifdef XINPUT
#define _XkbIsPressEvent(t) (((t)==KeyPress)||((t)==DeviceKeyPress))
#define _XkbIsReleaseEvent(t) (((t)==KeyRelease)||((t)==DeviceKeyRelease))
#else
#define _XkbIsPressEvent(t) ((t)==KeyPress)
#define _XkbIsReleaseEvent(t) ((t)==KeyRelease)
#endif
#define _XkbCoreKeycodeInRange(c,k) (((k)>=(c)->curKeySyms.minKeyCode)&&\
((k)<=(c)->curKeySyms.maxKeyCode))
#define _XkbCoreNumKeys(c) ((c)->curKeySyms.maxKeyCode-\
(c)->curKeySyms.minKeyCode+1)
#define XConvertCase(s,l,u) XkbConvertCase(s,l,u)
#undef IsKeypadKey
#define IsKeypadKey(s) XkbKSIsKeypad(s)
typedef int Status;
typedef pointer XPointer;
typedef struct _XDisplay Display;
#ifndef True
#define True 1
#define False 0
#endif
#ifndef PATH_MAX
#ifdef MAXPATHLEN
#define PATH_MAX MAXPATHLEN
#else
#define PATH_MAX 1024
#endif
#endif
_XFUNCPROTOBEGIN
extern void XkbUseMsg(
void
);
extern int XkbProcessArguments(
int /* argc */,
char ** /* argv */,
int /* i */
);
extern void XkbSetExtension(DeviceIntPtr device, ProcessInputProc proc);
extern void XkbFreeCompatMap(
XkbDescPtr /* xkb */,
unsigned int /* which */,
Bool /* freeMap */
);
extern void XkbFreeNames(
XkbDescPtr /* xkb */,
unsigned int /* which */,
Bool /* freeMap */
);
extern DeviceIntPtr _XkbLookupAnyDevice(
int /* id */,
int * /* why_rtrn */
);
extern DeviceIntPtr _XkbLookupKeyboard(
int /* id */,
int * /* why_rtrn */
);
extern DeviceIntPtr _XkbLookupBellDevice(
int /* id */,
int * /* why_rtrn */
);
extern DeviceIntPtr _XkbLookupLedDevice(
int /* id */,
int * /* why_rtrn */
);
extern DeviceIntPtr _XkbLookupButtonDevice(
int /* id */,
int * /* why_rtrn */
);
extern XkbDescPtr XkbAllocKeyboard(
void
);
extern Status XkbAllocClientMap(
XkbDescPtr /* xkb */,
unsigned int /* which */,
unsigned int /* nTypes */
);
extern Status XkbAllocServerMap(
XkbDescPtr /* xkb */,
unsigned int /* which */,
unsigned int /* nNewActions */
);
extern void XkbFreeClientMap(
XkbDescPtr /* xkb */,
unsigned int /* what */,
Bool /* freeMap */
);
extern void XkbFreeServerMap(
XkbDescPtr /* xkb */,
unsigned int /* what */,
Bool /* freeMap */
);
extern Status XkbAllocIndicatorMaps(
XkbDescPtr /* xkb */
);
extern Status XkbAllocCompatMap(
XkbDescPtr /* xkb */,
unsigned int /* which */,
unsigned int /* nInterpret */
);
extern Status XkbAllocNames(
XkbDescPtr /* xkb */,
unsigned int /* which */,
int /* nTotalRG */,
int /* nTotalAliases */
);
extern Status XkbAllocControls(
XkbDescPtr /* xkb */,
unsigned int /* which*/
);
extern Status XkbCopyKeyType(
XkbKeyTypePtr /* from */,
XkbKeyTypePtr /* into */
);
extern Status XkbCopyKeyTypes(
XkbKeyTypePtr /* from */,
XkbKeyTypePtr /* into */,
int /* num_types */
);
extern Status XkbResizeKeyType(
XkbDescPtr /* xkb */,
int /* type_ndx */,
int /* map_count */,
Bool /* want_preserve */,
int /* new_num_lvls */
);
extern void XkbFreeKeyboard(
XkbDescPtr /* xkb */,
unsigned int /* which */,
Bool /* freeDesc */
);
extern void XkbSetActionKeyMods(
XkbDescPtr /* xkb */,
XkbAction * /* act */,
unsigned int /* mods */
);
extern Bool XkbCheckActionVMods(
XkbDescPtr /* xkb */,
XkbAction * /* act */,
unsigned int /* changed */
);
extern Bool XkbApplyVModChanges(
XkbSrvInfoPtr /* xkbi */,
unsigned int /* changed */,
XkbChangesPtr /* pChanges */,
unsigned int * /* needChecksRtrn */,
XkbEventCausePtr /* cause */
);
extern void XkbApplyVModChangesToAllDevices(
DeviceIntPtr /* dev */,
XkbDescPtr /* xkb */,
unsigned int /* changed */,
XkbEventCausePtr /* cause */
);
extern unsigned int XkbMaskForVMask(
XkbDescPtr /* xkb */,
unsigned int /* vmask */
);
extern Bool XkbVirtualModsToReal(
XkbDescPtr /* xkb */,
unsigned int /* virtua_mask */,
unsigned int * /* mask_rtrn */
);
extern unsigned int XkbAdjustGroup(
int /* group */,
XkbControlsPtr /* ctrls */
);
extern KeySym *XkbResizeKeySyms(
XkbDescPtr /* xkb */,
int /* key */,
int /* needed */
);
extern XkbAction *XkbResizeKeyActions(
XkbDescPtr /* xkb */,
int /* key */,
int /* needed */
);
extern void XkbUpdateKeyTypesFromCore(
DeviceIntPtr /* pXDev */,
KeyCode /* first */,
CARD8 /* num */,
XkbChangesPtr /* pChanges */
);
extern void XkbUpdateDescActions(
XkbDescPtr /* xkb */,
KeyCode /* first */,
CARD8 /* num */,
XkbChangesPtr /* changes */
);
extern void XkbUpdateActions(
DeviceIntPtr /* pXDev */,
KeyCode /* first */,
CARD8 /* num */,
XkbChangesPtr /* pChanges */,
unsigned int * /* needChecksRtrn */,
XkbEventCausePtr /* cause */
);
extern void XkbUpdateCoreDescription(
DeviceIntPtr /* keybd */,
Bool /* resize */
);
extern void XkbApplyMappingChange(
DeviceIntPtr /* pXDev */,
CARD8 /* request */,
KeyCode /* firstKey */,
CARD8 /* num */,
ClientPtr /* client */
);
extern void XkbSetIndicators(
DeviceIntPtr /* pXDev */,
CARD32 /* affect */,
CARD32 /* values */,
XkbEventCausePtr /* cause */
);
extern void XkbUpdateIndicators(
DeviceIntPtr /* keybd */,
CARD32 /* changed */,
Bool /* check_edevs */,
XkbChangesPtr /* pChanges */,
XkbEventCausePtr /* cause */
);
extern XkbSrvLedInfoPtr XkbAllocSrvLedInfo(
DeviceIntPtr /* dev */,
KbdFeedbackPtr /* kf */,
LedFeedbackPtr /* lf */,
unsigned int /* needed_parts */
);
extern XkbSrvLedInfoPtr XkbFindSrvLedInfo(
DeviceIntPtr /* dev */,
unsigned int /* class */,
unsigned int /* id */,
unsigned int /* needed_parts */
);
extern void XkbApplyLedNameChanges(
DeviceIntPtr /* dev */,
XkbSrvLedInfoPtr /* sli */,
unsigned int /* changed_names */,
xkbExtensionDeviceNotify * /* ed */,
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern void XkbApplyLedMapChanges(
DeviceIntPtr /* dev */,
XkbSrvLedInfoPtr /* sli */,
unsigned int /* changed_maps */,
xkbExtensionDeviceNotify * /* ed */,
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern void XkbApplyLedStateChanges(
DeviceIntPtr /* dev */,
XkbSrvLedInfoPtr /* sli */,
unsigned int /* changed_leds */,
xkbExtensionDeviceNotify * /* ed */,
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern void XkbUpdateLedAutoState(
DeviceIntPtr /* dev */,
XkbSrvLedInfoPtr /* sli */,
unsigned int /* maps_to_check */,
xkbExtensionDeviceNotify * /* ed */,
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern void XkbFlushLedEvents(
DeviceIntPtr /* dev */,
DeviceIntPtr /* kbd */,
XkbSrvLedInfoPtr /* sli */,
xkbExtensionDeviceNotify * /* ed */,
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern void XkbUpdateAllDeviceIndicators(
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern unsigned int XkbIndicatorsToUpdate(
DeviceIntPtr /* dev */,
unsigned long /* state_changes */,
Bool /* enabled_ctrl_changes */
);
extern void XkbComputeDerivedState(
XkbSrvInfoPtr /* xkbi */
);
extern void XkbCheckSecondaryEffects(
XkbSrvInfoPtr /* xkbi */,
unsigned int /* which */,
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern void XkbCheckIndicatorMaps(
DeviceIntPtr /* dev */,
XkbSrvLedInfoPtr /* sli */,
unsigned int /* which */
);
extern unsigned int XkbStateChangedFlags(
XkbStatePtr /* old */,
XkbStatePtr /* new */
);
extern void XkbSendStateNotify(
DeviceIntPtr /* kbd */,
xkbStateNotify * /* pSN */
);
extern void XkbSendMapNotify(
DeviceIntPtr /* kbd */,
xkbMapNotify * /* ev */
);
extern int XkbComputeControlsNotify(
DeviceIntPtr /* kbd */,
XkbControlsPtr /* old */,
XkbControlsPtr /* new */,
xkbControlsNotify * /* pCN */,
Bool /* forceCtrlProc */
);
extern void XkbSendControlsNotify(
DeviceIntPtr /* kbd */,
xkbControlsNotify * /* ev */
);
extern void XkbSendCompatMapNotify(
DeviceIntPtr /* kbd */,
xkbCompatMapNotify * /* ev */
);
extern void XkbSendIndicatorNotify(
DeviceIntPtr /* kbd */,
int /* xkbType */,
xkbIndicatorNotify * /* ev */
);
extern void XkbHandleBell(
BOOL /* force */,
BOOL /* eventOnly */,
DeviceIntPtr /* kbd */,
CARD8 /* percent */,
pointer /* ctrl */,
CARD8 /* class */,
Atom /* name */,
WindowPtr /* pWin */,
ClientPtr /* pClient */
);
extern void XkbSendAccessXNotify(
DeviceIntPtr /* kbd */,
xkbAccessXNotify * /* pEv */
);
extern void XkbSendNamesNotify(
DeviceIntPtr /* kbd */,
xkbNamesNotify * /* ev */
);
extern void XkbSendCompatNotify(
DeviceIntPtr /* kbd */,
xkbCompatMapNotify * /* ev */
);
extern void XkbSendActionMessage(
DeviceIntPtr /* kbd */,
xkbActionMessage * /* ev */
);
extern void XkbSendExtensionDeviceNotify(
DeviceIntPtr /* kbd */,
ClientPtr /* client */,
xkbExtensionDeviceNotify * /* ev */
);
extern void XkbSendNotification(
DeviceIntPtr /* kbd */,
XkbChangesPtr /* pChanges */,
XkbEventCausePtr /* cause */
);
extern void XkbProcessKeyboardEvent(
struct _xEvent * /* xE */,
DeviceIntPtr /* keybd */,
int /* count */
);
extern void XkbProcessOtherEvent(
struct _xEvent * /* xE */,
DeviceIntPtr /* keybd */,
int /* count */
);
extern void XkbHandleActions(
DeviceIntPtr /* dev */,
DeviceIntPtr /* kbd */,
struct _xEvent * /* xE */,
int /* count */
);
extern Bool XkbEnableDisableControls(
XkbSrvInfoPtr /* xkbi */,
unsigned long /* change */,
unsigned long /* newValues */,
XkbChangesPtr /* changes */,
XkbEventCausePtr /* cause */
);
extern void AccessXInit(
DeviceIntPtr /* dev */
);
extern Bool AccessXFilterPressEvent(
register struct _xEvent * /* xE */,
register DeviceIntPtr /* keybd */,
int /* count */
);
extern Bool AccessXFilterReleaseEvent(
register struct _xEvent * /* xE */,
register DeviceIntPtr /* keybd */,
int /* count */
);
extern void AccessXCancelRepeatKey(
XkbSrvInfoPtr /* xkbi */,
KeyCode /* key */
);
extern void AccessXComputeCurveFactor(
XkbSrvInfoPtr /* xkbi */,
XkbControlsPtr /* ctrls */
);
extern XkbDeviceLedInfoPtr XkbAddDeviceLedInfo(
XkbDeviceInfoPtr /* devi */,
unsigned int /* ledClass */,
unsigned int /* ledId */
);
extern XkbDeviceInfoPtr XkbAllocDeviceInfo(
unsigned int /* deviceSpec */,
unsigned int /* nButtons */,
unsigned int /* szLeds */
);
extern void XkbFreeDeviceInfo(
XkbDeviceInfoPtr /* devi */,
unsigned int /* which */,
Bool /* freeDevI */
);
extern Status XkbResizeDeviceButtonActions(
XkbDeviceInfoPtr /* devi */,
unsigned int /* newTotal */
);
extern XkbInterestPtr XkbFindClientResource(
DevicePtr /* inDev */,
ClientPtr /* client */
);
extern XkbInterestPtr XkbAddClientResource(
DevicePtr /* inDev */,
ClientPtr /* client */,
XID /* id */
);
extern int XkbRemoveClient(
DevicePtr /* inDev */,
ClientPtr /* client */
);
extern int XkbRemoveResourceClient(
DevicePtr /* inDev */,
XID /* id */
);
extern int XkbDDXInitDevice(
DeviceIntPtr /* dev */
);
extern int XkbDDXAccessXBeep(
DeviceIntPtr /* dev */,
unsigned int /* what */,
unsigned int /* which */
);
extern void XkbDDXKeyClick(
DeviceIntPtr /* dev */,
int /* keycode */,
int /* synthetic */
);
extern int XkbDDXUsesSoftRepeat(
DeviceIntPtr /* dev */
);
extern void XkbDDXKeybdCtrlProc(
DeviceIntPtr /* dev */,
KeybdCtrl * /* ctrl */
);
extern void XkbDDXChangeControls(
DeviceIntPtr /* dev */,
XkbControlsPtr /* old */,
XkbControlsPtr /* new */
);
extern void XkbDDXUpdateIndicators(
DeviceIntPtr /* keybd */,
CARD32 /* newState */
);
extern void XkbDDXUpdateDeviceIndicators(
DeviceIntPtr /* dev */,
XkbSrvLedInfoPtr /* sli */,
CARD32 /* newState */
);
extern void XkbDDXFakePointerButton(
int /* event */,
int /* button */
);
extern void XkbDDXFakePointerMotion(
unsigned int /* flags */,
int /* x */,
int /* y */
);
extern void XkbDDXFakeDeviceButton(
DeviceIntPtr /* dev */,
Bool /* press */,
int /* button */
);
extern int XkbDDXTerminateServer(
DeviceIntPtr /* dev */,
KeyCode /* key */,
XkbAction * /* act */
);
extern int XkbDDXSwitchScreen(
DeviceIntPtr /* dev */,
KeyCode /* key */,
XkbAction * /* act */
);
extern int XkbDDXPrivate(
DeviceIntPtr /* dev */,
KeyCode /* key */,
XkbAction * /* act */
);
extern void XkbDisableComputedAutoRepeats(
DeviceIntPtr /* pXDev */,
unsigned int /* key */
);
extern void XkbSetRepeatKeys(
DeviceIntPtr /* pXDev */,
int /* key */,
int /* onoff */
);
extern int XkbLatchModifiers(
DeviceIntPtr /* pXDev */,
CARD8 /* mask */,
CARD8 /* latches */
);
extern int XkbLatchGroup(
DeviceIntPtr /* pXDev */,
int /* group */
);
extern void XkbClearAllLatchesAndLocks(
DeviceIntPtr /* dev */,
XkbSrvInfoPtr /* xkbi */,
Bool /* genEv */,
XkbEventCausePtr /* cause */
);
extern void XkbSetRulesDflts(
char * /* rulesFile */,
char * /* model */,
char * /* layout */,
char * /* variant */,
char * /* options */
);
extern void XkbInitDevice(
DeviceIntPtr /* pXDev */
);
extern Bool XkbInitKeyboardDeviceStruct(
DeviceIntPtr /* pXDev */,
XkbComponentNamesPtr /* pNames */,
KeySymsPtr /* pSyms */,
CARD8 /* pMods */[],
BellProcPtr /* bellProc */,
KbdCtrlProcPtr /* ctrlProc */
);
extern int SProcXkbDispatch(
ClientPtr /* client */
);
extern XkbGeometryPtr XkbLookupNamedGeometry(
DeviceIntPtr /* dev */,
Atom /* name */,
Bool * /* shouldFree */
);
extern char * _XkbDupString(
char * /* str */
);
extern void XkbConvertCase(
KeySym /* sym */,
KeySym * /* lower */,
KeySym * /* upper */
);
extern Status XkbChangeKeycodeRange(
XkbDescPtr /* xkb */,
int /* minKC */,
int /* maxKC */,
XkbChangesPtr /* changes */
);
extern int XkbFinishDeviceInit(
DeviceIntPtr /* pXDev */
);
extern void XkbFreeSrvLedInfo(
XkbSrvLedInfoPtr /* sli */
);
extern void XkbFreeInfo(
XkbSrvInfoPtr /* xkbi */
);
extern Status XkbChangeTypesOfKey(
XkbDescPtr /* xkb */,
int /* key */,
int /* nGroups */,
unsigned int /* groups */,
int * /* newTypesIn */,
XkbMapChangesPtr /* changes */
);
extern XkbKeyTypePtr XkbAddKeyType(
XkbDescPtr /* xkb */,
Atom /* name */,
int /* map_count */,
Bool /* want_preserve */,
int /* num_lvls */
);
extern Status XkbInitCanonicalKeyTypes(
XkbDescPtr /* xkb */,
unsigned int /* which */,
int /* keypadVMod */
);
extern int XkbKeyTypesForCoreSymbols(
XkbDescPtr /* xkb */,
int /* map_width */,
KeySym * /* core_syms */,
unsigned int /* protected */,
int * /* types_inout */,
KeySym * /* xkb_syms_rtrn */
);
extern Bool XkbApplyCompatMapToKey(
XkbDescPtr /* xkb */,
KeyCode /* key */,
XkbChangesPtr /* changes */
);
extern Bool XkbUpdateMapFromCore(
XkbDescPtr /* xkb */,
KeyCode /* first_key */,
int /* num_keys */,
int /* map_width */,
KeySym * /* core_keysyms */,
XkbChangesPtr /* changes */
);
extern void XkbFreeControls(
XkbDescPtr /* xkb */,
unsigned int /* which */,
Bool /* freeMap */
);
extern void XkbFreeIndicatorMaps(
XkbDescPtr /* xkb */
);
extern Bool XkbApplyVirtualModChanges(
XkbDescPtr /* xkb */,
unsigned int /* changed */,
XkbChangesPtr /* changes */
);
extern Bool XkbUpdateActionVirtualMods(
XkbDescPtr /* xkb */,
XkbAction * /* act */,
unsigned int /* changed */
);
extern void XkbUpdateKeyTypeVirtualMods(
XkbDescPtr /* xkb */,
XkbKeyTypePtr /* type */,
unsigned int /* changed */,
XkbChangesPtr /* changes */
);
extern void XkbSendNewKeyboardNotify(
DeviceIntPtr /* kbd */,
xkbNewKeyboardNotify * /* pNKN */
);
#ifdef XKBSRV_NEED_FILE_FUNCS
#include
#include
#include
#define _XkbListKeymaps 0
#define _XkbListKeycodes 1
#define _XkbListTypes 2
#define _XkbListCompat 3
#define _XkbListSymbols 4
#define _XkbListGeometry 5
#define _XkbListNumComponents 6
typedef struct _XkbSrvListInfo {
int szPool;
int nPool;
char * pool;
int maxRtrn;
int nTotal;
char * pattern[_XkbListNumComponents];
int nFound[_XkbListNumComponents];
} XkbSrvListInfoRec,*XkbSrvListInfoPtr;
char *
XkbGetRulesDflts(
XkbRF_VarDefsPtr /* defs */
);
extern void XkbSetRulesUsed(
XkbRF_VarDefsPtr /* defs */
);
extern Status XkbDDXList(
DeviceIntPtr /* dev */,
XkbSrvListInfoPtr /* listing */,
ClientPtr /* client */
);
extern unsigned int XkbDDXLoadKeymapByNames(
DeviceIntPtr /* keybd */,
XkbComponentNamesPtr /* names */,
unsigned int /* want */,
unsigned int /* need */,
XkbFileInfoPtr /* finfoRtrn */,
char * /* keymapNameRtrn */,
int /* keymapNameRtrnLen */
);
extern Bool XkbDDXNamesFromRules(
DeviceIntPtr /* keybd */,
char * /* rules */,
XkbRF_VarDefsPtr /* defs */,
XkbComponentNamesPtr /* names */
);
extern FILE *XkbDDXOpenConfigFile(
char * /* mapName */,
char * /* fileNameRtrn */,
int /* fileNameRtrnLen */
);
extern Bool XkbDDXApplyConfig(
XPointer /* cfg_in */,
XkbSrvInfoPtr /* xkbi */
);
extern XPointer XkbDDXPreloadConfig(
char ** /* rulesFileRtrn */,
XkbRF_VarDefsPtr /* defs */,
XkbComponentNamesPtr /* names */,
DeviceIntPtr /* dev */
);
extern int _XkbStrCaseCmp(
char * /* str1 */,
char * /* str2 */
);
#endif /* XKBSRV_NEED_FILE_FUNCS */
_XFUNCPROTOEND
#define XkbAtomGetString(d,s) NameForAtom(s)
#endif /* _XKBSRV_H_ */
PK 5[Vw extensions/MITMisc.hnu W+A /************************************************************
Copyright 1989, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
********************************************************/
/* RANDOM CRUFT! THIS HAS NO OFFICIAL X CONSORTIUM OR X PROJECT TEAM BLESSING */
#ifndef _XMITMISC_H_
#define _XMITMISC_H_
#include
#include
_XFUNCPROTOBEGIN
Bool XMITMiscQueryExtension(
Display* /* dpy */,
int* /* event_basep */,
int* /* error_basep */
);
Status XMITMiscSetBugMode(
Display* /* dpy */,
Bool /* onOff */
);
Bool XMITMiscGetBugMode(
Display* /* dpy */
);
_XFUNCPROTOEND
#endif
PK 5[yY% % extensions/sync.hnu W+A /*
Copyright 1991, 1993, 1994, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/***********************************************************
Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
and Olivetti Research Limited, Cambridge, England.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or Olivetti
not be used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL AND OLIVETTI DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL THEY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
#ifndef _SYNC_H_
#define _SYNC_H_
#include
#include
#ifdef _SYNC_SERVER
#include
#else
_XFUNCPROTOBEGIN
/* get rid of macros so we can define corresponding functions */
#undef XSyncIntToValue
#undef XSyncIntsToValue
#undef XSyncValueGreaterThan
#undef XSyncValueLessThan
#undef XSyncValueGreaterOrEqual
#undef XSyncValueLessOrEqual
#undef XSyncValueEqual
#undef XSyncValueIsNegative
#undef XSyncValueIsZero
#undef XSyncValueIsPositive
#undef XSyncValueLow32
#undef XSyncValueHigh32
#undef XSyncValueAdd
#undef XSyncValueSubtract
#undef XSyncMaxValue
#undef XSyncMinValue
extern void XSyncIntToValue(
XSyncValue* /*pv*/,
int /*i*/
);
extern void XSyncIntsToValue(
XSyncValue* /*pv*/,
unsigned int /*l*/,
int /*h*/
);
extern Bool XSyncValueGreaterThan(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueLessThan(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueGreaterOrEqual(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueLessOrEqual(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueEqual(
XSyncValue /*a*/,
XSyncValue /*b*/
);
extern Bool XSyncValueIsNegative(
XSyncValue /*v*/
);
extern Bool XSyncValueIsZero(
XSyncValue /*a*/
);
extern Bool XSyncValueIsPositive(
XSyncValue /*v*/
);
extern unsigned int XSyncValueLow32(
XSyncValue /*v*/
);
extern int XSyncValueHigh32(
XSyncValue /*v*/
);
extern void XSyncValueAdd(
XSyncValue* /*presult*/,
XSyncValue /*a*/,
XSyncValue /*b*/,
int* /*poverflow*/
);
extern void XSyncValueSubtract(
XSyncValue* /*presult*/,
XSyncValue /*a*/,
XSyncValue /*b*/,
int* /*poverflow*/
);
extern void XSyncMaxValue(
XSyncValue* /*pv*/
);
extern void XSyncMinValue(
XSyncValue* /*pv*/
);
_XFUNCPROTOEND
typedef struct _XSyncSystemCounter {
char *name; /* null-terminated name of system counter */
XSyncCounter counter; /* counter id of this system counter */
XSyncValue resolution; /* resolution of this system counter */
} XSyncSystemCounter;
typedef struct {
XSyncCounter counter; /* counter to trigger on */
XSyncValueType value_type; /* absolute/relative */
XSyncValue wait_value; /* value to compare counter to */
XSyncTestType test_type; /* pos/neg comparison/transtion */
} XSyncTrigger;
typedef struct {
XSyncTrigger trigger; /* trigger for await */
XSyncValue event_threshold; /* send event if past threshold */
} XSyncWaitCondition;
typedef struct {
XSyncTrigger trigger;
XSyncValue delta;
Bool events;
XSyncAlarmState state;
} XSyncAlarmAttributes;
/*
* Events
*/
typedef struct {
int type; /* event base + XSyncCounterNotify */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
XSyncCounter counter; /* counter involved in await */
XSyncValue wait_value; /* value being waited for */
XSyncValue counter_value; /* counter value when this event was sent */
Time time; /* milliseconds */
int count; /* how many more events to come */
Bool destroyed; /* True if counter was destroyed */
} XSyncCounterNotifyEvent;
typedef struct {
int type; /* event base + XSyncAlarmNotify */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* Display the event was read from */
XSyncAlarm alarm; /* alarm that triggered */
XSyncValue counter_value; /* value that triggered the alarm */
XSyncValue alarm_value; /* test value of trigger in alarm */
Time time; /* milliseconds */
XSyncAlarmState state; /* new state of alarm */
} XSyncAlarmNotifyEvent;
/*
* Errors
*/
typedef struct {
int type;
Display *display; /* Display the event was read from */
XSyncAlarm alarm; /* resource id */
unsigned long serial; /* serial number of failed request */
unsigned char error_code; /* error base + XSyncBadAlarm */
unsigned char request_code; /* Major op-code of failed request */
unsigned char minor_code; /* Minor op-code of failed request */
} XSyncAlarmError;
typedef struct {
int type;
Display *display; /* Display the event was read from */
XSyncCounter counter; /* resource id */
unsigned long serial; /* serial number of failed request */
unsigned char error_code; /* error base + XSyncBadCounter */
unsigned char request_code; /* Major op-code of failed request */
unsigned char minor_code; /* Minor op-code of failed request */
} XSyncCounterError;
/*
* Prototypes
*/
_XFUNCPROTOBEGIN
extern Status XSyncQueryExtension(
Display* /*dpy*/,
int* /*event_base_return*/,
int* /*error_base_return*/
);
extern Status XSyncInitialize(
Display* /*dpy*/,
int* /*major_version_return*/,
int* /*minor_version_return*/
);
extern XSyncSystemCounter *XSyncListSystemCounters(
Display* /*dpy*/,
int* /*n_counters_return*/
);
extern void XSyncFreeSystemCounterList(
XSyncSystemCounter* /*list*/
);
extern XSyncCounter XSyncCreateCounter(
Display* /*dpy*/,
XSyncValue /*initial_value*/
);
extern Status XSyncSetCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/,
XSyncValue /*value*/
);
extern Status XSyncChangeCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/,
XSyncValue /*value*/
);
extern Status XSyncDestroyCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/
);
extern Status XSyncQueryCounter(
Display* /*dpy*/,
XSyncCounter /*counter*/,
XSyncValue* /*value_return*/
);
extern Status XSyncAwait(
Display* /*dpy*/,
XSyncWaitCondition* /*wait_list*/,
int /*n_conditions*/
);
extern XSyncAlarm XSyncCreateAlarm(
Display* /*dpy*/,
unsigned long /*values_mask*/,
XSyncAlarmAttributes* /*values*/
);
extern Status XSyncDestroyAlarm(
Display* /*dpy*/,
XSyncAlarm /*alarm*/
);
extern Status XSyncQueryAlarm(
Display* /*dpy*/,
XSyncAlarm /*alarm*/,
XSyncAlarmAttributes* /*values_return*/
);
extern Status XSyncChangeAlarm(
Display* /*dpy*/,
XSyncAlarm /*alarm*/,
unsigned long /*values_mask*/,
XSyncAlarmAttributes* /*values*/
);
extern Status XSyncSetPriority(
Display* /*dpy*/,
XID /*client_resource_id*/,
int /*priority*/
);
extern Status XSyncGetPriority(
Display* /*dpy*/,
XID /*client_resource_id*/,
int* /*return_priority*/
);
extern XSyncFence XSyncCreateFence(
Display* /*dpy*/,
Drawable /*d*/,
Bool /*initially_triggered*/
);
extern Bool XSyncTriggerFence(
Display* /*dpy*/,
XSyncFence /*fence*/
);
extern Bool XSyncResetFence(
Display* /*dpy*/,
XSyncFence /*fence*/
);
extern Bool XSyncDestroyFence(
Display* /*dpy*/,
XSyncFence /*fence*/
);
extern Bool XSyncQueryFence(
Display* /*dpy*/,
XSyncFence /*fence*/,
Bool* /*triggered*/
);
extern Bool XSyncAwaitFence(
Display* /*dpy*/,
const XSyncFence* /*fence_list*/,
int /*n_fences*/
);
_XFUNCPROTOEND
#endif /* _SYNC_SERVER */
#endif /* _SYNC_H_ */
PK 5[t: extensions/saverproto.hnu W+A /*
Copyright (c) 1992 X Consortium
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the X Consortium shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from the X Consortium.
*
* Author: Keith Packard, MIT X Consortium
*/
#ifndef _SAVERPROTO_H_
#define _SAVERPROTO_H_
#include
#define Window CARD32
#define Drawable CARD32
#define Font CARD32
#define Pixmap CARD32
#define Cursor CARD32
#define Colormap CARD32
#define GContext CARD32
#define Atom CARD32
#define VisualID CARD32
#define Time CARD32
#define KeyCode CARD8
#define KeySym CARD32
#define X_ScreenSaverQueryVersion 0
typedef struct _ScreenSaverQueryVersion {
CARD8 reqType; /* always ScreenSaverReqCode */
CARD8 saverReqType; /* always X_ScreenSaverQueryVersion */
CARD16 length B16;
CARD8 clientMajor;
CARD8 clientMinor;
CARD16 unused B16;
} xScreenSaverQueryVersionReq;
#define sz_xScreenSaverQueryVersionReq 8
typedef struct {
CARD8 type; /* X_Reply */
CARD8 unused; /* not used */
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16; /* major version of protocol */
CARD16 minorVersion B16; /* minor version of protocol */
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xScreenSaverQueryVersionReply;
#define sz_xScreenSaverQueryVersionReply 32
#define X_ScreenSaverQueryInfo 1
typedef struct _ScreenSaverQueryInfo {
CARD8 reqType; /* always ScreenSaverReqCode */
CARD8 saverReqType; /* always X_ScreenSaverQueryInfo */
CARD16 length B16;
Drawable drawable B32;
} xScreenSaverQueryInfoReq;
#define sz_xScreenSaverQueryInfoReq 8
typedef struct {
CARD8 type; /* X_Reply */
BYTE state; /* Off, On */
CARD16 sequenceNumber B16;
CARD32 length B32;
Window window B32;
CARD32 tilOrSince B32;
CARD32 idle B32;
CARD32 eventMask B32;
BYTE kind; /* Blanked, Internal, External */
CARD8 pad0;
CARD16 pad1 B16;
CARD32 pad2 B32;
} xScreenSaverQueryInfoReply;
#define sz_xScreenSaverQueryInfoReply 32
#define X_ScreenSaverSelectInput 2
typedef struct _ScreenSaverSelectInput {
CARD8 reqType; /* always ScreenSaverReqCode */
CARD8 saverReqType; /* always X_ScreenSaverSelectInput */
CARD16 length B16;
Drawable drawable B32;
CARD32 eventMask B32;
} xScreenSaverSelectInputReq;
#define sz_xScreenSaverSelectInputReq 12
#define X_ScreenSaverSetAttributes 3
typedef struct _ScreenSaverSetAttributes {
CARD8 reqType; /* always ScreenSaverReqCode */
CARD8 saverReqType; /* always X_ScreenSaverSetAttributes */
CARD16 length B16;
Drawable drawable B32;
INT16 x B16, y B16;
CARD16 width B16, height B16, borderWidth B16;
BYTE c_class;
CARD8 depth;
VisualID visualID B32;
CARD32 mask B32;
} xScreenSaverSetAttributesReq;
#define sz_xScreenSaverSetAttributesReq 28
#define X_ScreenSaverUnsetAttributes 4
typedef struct _ScreenSaverUnsetAttributes {
CARD8 reqType; /* always ScreenSaverReqCode */
CARD8 saverReqType; /* always X_ScreenSaverUnsetAttributes */
CARD16 length B16;
Drawable drawable B32;
} xScreenSaverUnsetAttributesReq;
#define sz_xScreenSaverUnsetAttributesReq 8
#define X_ScreenSaverSuspend 5
typedef struct _ScreenSaverSuspend {
CARD8 reqType;
CARD8 saverReqType;
CARD16 length B16;
Bool suspend B32;
} xScreenSaverSuspendReq;
#define sz_xScreenSaverSuspendReq 8
typedef struct _ScreenSaverNotify {
CARD8 type; /* always eventBase + ScreenSaverNotify */
BYTE state; /* off, on, cycle */
CARD16 sequenceNumber B16;
Time timestamp B32;
Window root B32;
Window window B32; /* screen saver window */
BYTE kind; /* blanked, internal, external */
BYTE forced;
CARD16 pad0 B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xScreenSaverNotifyEvent;
#define sz_xScreenSaverNotifyEvent 32
#undef Window
#undef Drawable
#undef Font
#undef Pixmap
#undef Cursor
#undef Colormap
#undef GContext
#undef Atom
#undef VisualID
#undef Time
#undef KeyCode
#undef KeySym
#endif /* _SAVERPROTO_H_ */
PK 5[F]7 7 extensions/renderproto.hnu W+A /*
* $XFree86: xc/include/extensions/renderproto.h,v 1.12 2002/09/26 02:56:48 keithp Exp $
*
* Copyright © 2000 SuSE, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of SuSE not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. SuSE makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
* SuSE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Author: Keith Packard, SuSE, Inc.
*/
#ifndef _XRENDERP_H_
#define _XRENDERP_H_
#include
#include
#define Window CARD32
#define Drawable CARD32
#define Font CARD32
#define Pixmap CARD32
#define Cursor CARD32
#define Colormap CARD32
#define GContext CARD32
#define Atom CARD32
#define VisualID CARD32
#define Time CARD32
#define KeyCode CARD8
#define KeySym CARD32
#define Picture CARD32
#define PictFormat CARD32
#define Fixed INT32
#define Glyphset CARD32
/*
* data structures
*/
typedef struct {
CARD16 red B16;
CARD16 redMask B16;
CARD16 green B16;
CARD16 greenMask B16;
CARD16 blue B16;
CARD16 blueMask B16;
CARD16 alpha B16;
CARD16 alphaMask B16;
} xDirectFormat;
#define sz_xDirectFormat 16
typedef struct {
PictFormat id B32;
CARD8 type;
CARD8 depth;
CARD16 pad1 B16;
xDirectFormat direct;
Colormap colormap;
} xPictFormInfo;
#define sz_xPictFormInfo 28
typedef struct {
VisualID visual;
PictFormat format;
} xPictVisual;
#define sz_xPictVisual 8
typedef struct {
CARD8 depth;
CARD8 pad1;
CARD16 nPictVisuals B16;
CARD32 pad2 B32;
} xPictDepth;
#define sz_xPictDepth 8
typedef struct {
CARD32 nDepth B32;
PictFormat fallback B32;
} xPictScreen;
#define sz_xPictScreen 8
typedef struct {
CARD32 pixel B32;
CARD16 red B16;
CARD16 green B16;
CARD16 blue B16;
CARD16 alpha B16;
} xIndexValue;
#define sz_xIndexValue 12
typedef struct {
CARD16 red B16;
CARD16 green B16;
CARD16 blue B16;
CARD16 alpha B16;
} xRenderColor;
#define sz_xRenderColor 8
typedef struct {
Fixed x B32;
Fixed y B32;
} xPointFixed;
#define sz_xPointFixed 8
typedef struct {
xPointFixed p1;
xPointFixed p2;
} xLineFixed;
#define sz_xLineFixed 16
typedef struct {
xPointFixed p1, p2, p3;
} xTriangle;
#define sz_xTriangle 24
typedef struct {
Fixed top B32;
Fixed bottom B32;
xLineFixed left;
xLineFixed right;
} xTrapezoid;
#define sz_xTrapezoid 40
typedef struct {
CARD16 width B16;
CARD16 height B16;
INT16 x B16;
INT16 y B16;
INT16 xOff B16;
INT16 yOff B16;
} xGlyphInfo;
#define sz_xGlyphInfo 12
typedef struct {
CARD8 len;
CARD8 pad1;
CARD16 pad2;
INT16 deltax;
INT16 deltay;
} xGlyphElt;
#define sz_xGlyphElt 8
typedef struct {
Fixed l, r, y;
} xSpanFix;
#define sz_xSpanFix 12
typedef struct {
xSpanFix top, bot;
} xTrap;
#define sz_xTrap 24
/*
* requests and replies
*/
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
} xRenderQueryVersionReq;
#define sz_xRenderQueryVersionReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRenderQueryVersionReply;
#define sz_xRenderQueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
} xRenderQueryPictFormatsReq;
#define sz_xRenderQueryPictFormatsReq 4
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 numFormats B32;
CARD32 numScreens B32;
CARD32 numDepths B32;
CARD32 numVisuals B32;
CARD32 numSubpixel B32; /* Version 0.6 */
CARD32 pad5 B32;
} xRenderQueryPictFormatsReply;
#define sz_xRenderQueryPictFormatsReply 32
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
PictFormat format B32;
} xRenderQueryPictIndexValuesReq;
#define sz_xRenderQueryPictIndexValuesReq 8
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 numIndexValues;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xRenderQueryPictIndexValuesReply;
#define sz_xRenderQueryPictIndexValuesReply 32
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture pid B32;
Drawable drawable B32;
PictFormat format B32;
CARD32 mask B32;
} xRenderCreatePictureReq;
#define sz_xRenderCreatePictureReq 20
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture picture B32;
CARD32 mask B32;
} xRenderChangePictureReq;
#define sz_xRenderChangePictureReq 12
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture picture B32;
INT16 xOrigin B16;
INT16 yOrigin B16;
} xRenderSetPictureClipRectanglesReq;
#define sz_xRenderSetPictureClipRectanglesReq 12
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture picture B32;
} xRenderFreePictureReq;
#define sz_xRenderFreePictureReq 8
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD8 op;
CARD8 pad1;
CARD16 pad2 B16;
Picture src B32;
Picture mask B32;
Picture dst B32;
INT16 xSrc B16;
INT16 ySrc B16;
INT16 xMask B16;
INT16 yMask B16;
INT16 xDst B16;
INT16 yDst B16;
CARD16 width B16;
CARD16 height B16;
} xRenderCompositeReq;
#define sz_xRenderCompositeReq 36
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture src B32;
Picture dst B32;
CARD32 colorScale B32;
CARD32 alphaScale B32;
INT16 xSrc B16;
INT16 ySrc B16;
INT16 xDst B16;
INT16 yDst B16;
CARD16 width B16;
CARD16 height B16;
} xRenderScaleReq;
#define sz_xRenderScaleReq 32
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD8 op;
CARD8 pad1;
CARD16 pad2 B16;
Picture src B32;
Picture dst B32;
PictFormat maskFormat B32;
INT16 xSrc B16;
INT16 ySrc B16;
} xRenderTrapezoidsReq;
#define sz_xRenderTrapezoidsReq 24
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD8 op;
CARD8 pad1;
CARD16 pad2 B16;
Picture src B32;
Picture dst B32;
PictFormat maskFormat B32;
INT16 xSrc B16;
INT16 ySrc B16;
} xRenderTrianglesReq;
#define sz_xRenderTrianglesReq 24
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD8 op;
CARD8 pad1;
CARD16 pad2 B16;
Picture src B32;
Picture dst B32;
PictFormat maskFormat B32;
INT16 xSrc B16;
INT16 ySrc B16;
} xRenderTriStripReq;
#define sz_xRenderTriStripReq 24
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD8 op;
CARD8 pad1;
CARD16 pad2 B16;
Picture src B32;
Picture dst B32;
PictFormat maskFormat B32;
INT16 xSrc B16;
INT16 ySrc B16;
} xRenderTriFanReq;
#define sz_xRenderTriFanReq 24
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Glyphset gsid B32;
PictFormat format B32;
} xRenderCreateGlyphSetReq;
#define sz_xRenderCreateGlyphSetReq 12
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Glyphset gsid B32;
Glyphset existing B32;
} xRenderReferenceGlyphSetReq;
#define sz_xRenderReferenceGlyphSetReq 24
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Glyphset glyphset B32;
} xRenderFreeGlyphSetReq;
#define sz_xRenderFreeGlyphSetReq 8
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Glyphset glyphset B32;
CARD32 nglyphs;
} xRenderAddGlyphsReq;
#define sz_xRenderAddGlyphsReq 12
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Glyphset glyphset B32;
} xRenderFreeGlyphsReq;
#define sz_xRenderFreeGlyphsReq 8
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD8 op;
CARD8 pad1;
CARD16 pad2 B16;
Picture src B32;
Picture dst B32;
PictFormat maskFormat B32;
Glyphset glyphset B32;
INT16 xSrc B16;
INT16 ySrc B16;
} xRenderCompositeGlyphsReq, xRenderCompositeGlyphs8Req,
xRenderCompositeGlyphs16Req, xRenderCompositeGlyphs32Req;
#define sz_xRenderCompositeGlyphs8Req 28
#define sz_xRenderCompositeGlyphs16Req 28
#define sz_xRenderCompositeGlyphs32Req 28
/* 0.1 and higher */
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
CARD8 op;
CARD8 pad1;
CARD16 pad2 B16;
Picture dst B32;
xRenderColor color;
} xRenderFillRectanglesReq;
#define sz_xRenderFillRectanglesReq 20
/* 0.5 and higher */
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Cursor cid B32;
Picture src B32;
CARD16 x B16;
CARD16 y B16;
} xRenderCreateCursorReq;
#define sz_xRenderCreateCursorReq 16
/* 0.6 and higher */
/*
* This can't use an array because 32-bit values may be in bitfields
*/
typedef struct {
Fixed matrix11 B32;
Fixed matrix12 B32;
Fixed matrix13 B32;
Fixed matrix21 B32;
Fixed matrix22 B32;
Fixed matrix23 B32;
Fixed matrix31 B32;
Fixed matrix32 B32;
Fixed matrix33 B32;
} xRenderTransform;
#define sz_xRenderTransform 36
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture picture B32;
xRenderTransform transform;
} xRenderSetPictureTransformReq;
#define sz_xRenderSetPictureTransformReq 44
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Drawable drawable B32;
} xRenderQueryFiltersReq;
#define sz_xRenderQueryFiltersReq 8
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 numAliases B32; /* LISTofCARD16 */
CARD32 numFilters B32; /* LISTofSTRING8 */
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xRenderQueryFiltersReply;
#define sz_xRenderQueryFiltersReply 32
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture picture B32;
CARD16 nbytes B16; /* number of bytes in name */
CARD16 pad B16;
} xRenderSetPictureFilterReq;
#define sz_xRenderSetPictureFilterReq 12
/* 0.8 and higher */
typedef struct {
Cursor cursor B32;
CARD32 delay B32;
} xAnimCursorElt;
#define sz_xAnimCursorElt 8
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Cursor cid B32;
} xRenderCreateAnimCursorReq;
#define sz_xRenderCreateAnimCursorReq 8
/* 0.9 and higher */
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture picture;
INT16 xOff B16;
INT16 yOff B16;
} xRenderAddTrapsReq;
#define sz_xRenderAddTrapsReq 12
/* 0.10 and higher */
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture pid B32;
xRenderColor color;
} xRenderCreateSolidFillReq;
#define sz_xRenderCreateSolidFillReq 16
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture pid B32;
xPointFixed p1;
xPointFixed p2;
CARD32 nStops;
} xRenderCreateLinearGradientReq;
#define sz_xRenderCreateLinearGradientReq 28
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture pid B32;
xPointFixed inner;
xPointFixed outer;
Fixed inner_radius;
Fixed outer_radius;
CARD32 nStops;
} xRenderCreateRadialGradientReq;
#define sz_xRenderCreateRadialGradientReq 36
typedef struct {
CARD8 reqType;
CARD8 renderReqType;
CARD16 length B16;
Picture pid B32;
xPointFixed center;
Fixed angle; /* in degrees */
CARD32 nStops;
} xRenderCreateConicalGradientReq;
#define sz_xRenderCreateConicalGradientReq 24
#undef Window
#undef Drawable
#undef Font
#undef Pixmap
#undef Cursor
#undef Colormap
#undef GContext
#undef Atom
#undef VisualID
#undef Time
#undef KeyCode
#undef KeySym
#undef Picture
#undef PictFormat
#undef Fixed
#undef Glyphset
#endif /* _XRENDERP_H_ */
PK 5[Fww w extensions/dri3proto.hnu W+A /*
* Copyright © 2013 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifndef _DRI3_PROTO_H_
#define _DRI3_PROTO_H_
#define DRI3_NAME "DRI3"
#define DRI3_MAJOR 1
#define DRI3_MINOR 0
#define DRI3NumberErrors 0
#define DRI3NumberEvents 0
#define X_DRI3QueryVersion 0
#define X_DRI3Open 1
#define X_DRI3PixmapFromBuffer 2
#define X_DRI3BufferFromPixmap 3
#define X_DRI3FenceFromFD 4
#define X_DRI3FDFromFence 5
#define DRI3NumberRequests 6
typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
} xDRI3QueryVersionReq;
#define sz_xDRI3QueryVersionReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xDRI3QueryVersionReply;
#define sz_xDRI3QueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 provider B32;
} xDRI3OpenReq;
#define sz_xDRI3OpenReq 12
typedef struct {
BYTE type; /* X_Reply */
CARD8 nfd;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xDRI3OpenReply;
#define sz_xDRI3OpenReply 32
typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
CARD32 pixmap B32;
CARD32 drawable B32;
CARD32 size B32;
CARD16 width B16;
CARD16 height B16;
CARD16 stride B16;
CARD8 depth;
CARD8 bpp;
} xDRI3PixmapFromBufferReq;
#define sz_xDRI3PixmapFromBufferReq 24
typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
CARD32 pixmap B32;
} xDRI3BufferFromPixmapReq;
#define sz_xDRI3BufferFromPixmapReq 8
typedef struct {
BYTE type; /* X_Reply */
CARD8 nfd; /* Number of file descriptors returned (1) */
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 size B32;
CARD16 width B16;
CARD16 height B16;
CARD16 stride B16;
CARD8 depth;
CARD8 bpp;
CARD32 pad20 B32;
CARD32 pad24 B32;
CARD32 pad28 B32;
} xDRI3BufferFromPixmapReply;
#define sz_xDRI3BufferFromPixmapReply 32
typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 fence B32;
BOOL initially_triggered;
CARD8 pad13;
CARD16 pad14 B16;
} xDRI3FenceFromFDReq;
#define sz_xDRI3FenceFromFDReq 16
typedef struct {
CARD8 reqType;
CARD8 dri3ReqType;
CARD16 length B16;
CARD32 drawable B32;
CARD32 fence B32;
} xDRI3FDFromFenceReq;
#define sz_xDRI3FDFromFenceReq 12
typedef struct {
BYTE type; /* X_Reply */
CARD8 nfd; /* Number of file descriptors returned (1) */
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad08 B32;
CARD32 pad12 B32;
CARD32 pad16 B32;
CARD32 pad20 B32;
CARD32 pad24 B32;
CARD32 pad28 B32;
} xDRI3FDFromFenceReply;
#define sz_xDRI3FDFromFenceReply 32
#endif
PK 5[ٲv4 v4 extensions/xfixesproto.hnu W+A /*
* Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
* Copyright 2010 Red Hat, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
/*
* Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of Keith Packard not be used in
* advertising or publicity pertaining to distribution of the software without
* specific, written prior permission. Keith Packard makes no
* representations about the suitability of this software for any purpose. It
* is provided "as is" without express or implied warranty.
*
* KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
#ifndef _XFIXESPROTO_H_
#define _XFIXESPROTO_H_
#include
#include
#include
#define Window CARD32
#define Drawable CARD32
#define Font CARD32
#define Pixmap CARD32
#define Cursor CARD32
#define Colormap CARD32
#define GContext CARD32
#define Atom CARD32
#define VisualID CARD32
#define Time CARD32
#define KeyCode CARD8
#define KeySym CARD32
#define Picture CARD32
/*************** Version 1 ******************/
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
} xXFixesReq;
/*
* requests and replies
*/
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
} xXFixesQueryVersionReq;
#define sz_xXFixesQueryVersionReq 12
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 majorVersion B32;
CARD32 minorVersion B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xXFixesQueryVersionReply;
#define sz_xXFixesQueryVersionReply 32
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
BYTE mode; /* SetModeInsert/SetModeDelete*/
BYTE target; /* SaveSetNearest/SaveSetRoot*/
BYTE map; /* SaveSetMap/SaveSetUnmap */
BYTE pad1;
Window window;
} xXFixesChangeSaveSetReq;
#define sz_xXFixesChangeSaveSetReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Window window B32;
Atom selection B32;
CARD32 eventMask B32;
} xXFixesSelectSelectionInputReq;
#define sz_xXFixesSelectSelectionInputReq 16
typedef struct {
CARD8 type;
CARD8 subtype;
CARD16 sequenceNumber B16;
Window window B32;
Window owner B32;
Atom selection B32;
Time timestamp B32;
Time selectionTimestamp B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xXFixesSelectionNotifyEvent;
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Window window B32;
CARD32 eventMask B32;
} xXFixesSelectCursorInputReq;
#define sz_xXFixesSelectCursorInputReq 12
typedef struct {
CARD8 type;
CARD8 subtype;
CARD16 sequenceNumber B16;
Window window B32;
CARD32 cursorSerial B32;
Time timestamp;
Atom name B32; /* Version 2 */
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xXFixesCursorNotifyEvent;
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
} xXFixesGetCursorImageReq;
#define sz_xXFixesGetCursorImageReq 4
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
CARD16 xhot B16;
CARD16 yhot B16;
CARD32 cursorSerial B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
} xXFixesGetCursorImageReply;
#define sz_xXFixesGetCursorImageReply 32
/*************** Version 2 ******************/
#define Region CARD32
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
/* LISTofRECTANGLE */
} xXFixesCreateRegionReq;
#define sz_xXFixesCreateRegionReq 8
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
Pixmap bitmap B32;
} xXFixesCreateRegionFromBitmapReq;
#define sz_xXFixesCreateRegionFromBitmapReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
Window window B32;
CARD8 kind;
CARD8 pad1;
CARD16 pad2 B16;
} xXFixesCreateRegionFromWindowReq;
#define sz_xXFixesCreateRegionFromWindowReq 16
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
GContext gc B32;
} xXFixesCreateRegionFromGCReq;
#define sz_xXFixesCreateRegionFromGCReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
Picture picture B32;
} xXFixesCreateRegionFromPictureReq;
#define sz_xXFixesCreateRegionFromPictureReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
} xXFixesDestroyRegionReq;
#define sz_xXFixesDestroyRegionReq 8
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
/* LISTofRECTANGLE */
} xXFixesSetRegionReq;
#define sz_xXFixesSetRegionReq 8
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region source B32;
Region destination B32;
} xXFixesCopyRegionReq;
#define sz_xXFixesCopyRegionReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region source1 B32;
Region source2 B32;
Region destination B32;
} xXFixesCombineRegionReq,
xXFixesUnionRegionReq,
xXFixesIntersectRegionReq,
xXFixesSubtractRegionReq;
#define sz_xXFixesCombineRegionReq 16
#define sz_xXFixesUnionRegionReq sz_xXFixesCombineRegionReq
#define sz_xXFixesIntersectRegionReq sz_xXFixesCombineRegionReq
#define sz_xXFixesSubtractRegionReq sz_xXFixesCombineRegionReq
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region source B32;
INT16 x B16, y B16;
CARD16 width B16, height B16;
Region destination B32;
} xXFixesInvertRegionReq;
#define sz_xXFixesInvertRegionReq 20
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
INT16 dx B16, dy B16;
} xXFixesTranslateRegionReq;
#define sz_xXFixesTranslateRegionReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region source B32;
Region destination B32;
} xXFixesRegionExtentsReq;
#define sz_xXFixesRegionExtentsReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region region B32;
} xXFixesFetchRegionReq;
#define sz_xXFixesFetchRegionReq 8
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
INT16 x B16, y B16;
CARD16 width B16, height B16;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xXFixesFetchRegionReply;
#define sz_xXFixesFetchRegionReply 32
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
GContext gc B32;
Region region B32;
INT16 xOrigin B16, yOrigin B16;
} xXFixesSetGCClipRegionReq;
#define sz_xXFixesSetGCClipRegionReq 16
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Window dest;
BYTE destKind;
CARD8 pad1;
CARD16 pad2 B16;
INT16 xOff B16, yOff B16;
Region region;
} xXFixesSetWindowShapeRegionReq;
#define sz_xXFixesSetWindowShapeRegionReq 20
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Picture picture B32;
Region region B32;
INT16 xOrigin B16, yOrigin B16;
} xXFixesSetPictureClipRegionReq;
#define sz_xXFixesSetPictureClipRegionReq 16
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Cursor cursor B32;
CARD16 nbytes B16;
CARD16 pad B16;
} xXFixesSetCursorNameReq;
#define sz_xXFixesSetCursorNameReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Cursor cursor B32;
} xXFixesGetCursorNameReq;
#define sz_xXFixesGetCursorNameReq 8
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom atom B32;
CARD16 nbytes B16;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xXFixesGetCursorNameReply;
#define sz_xXFixesGetCursorNameReply 32
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
} xXFixesGetCursorImageAndNameReq;
#define sz_xXFixesGetCursorImageAndNameReq 4
typedef struct {
BYTE type; /* X_Reply */
BYTE pad1;
CARD16 sequenceNumber B16;
CARD32 length B32;
INT16 x B16;
INT16 y B16;
CARD16 width B16;
CARD16 height B16;
CARD16 xhot B16;
CARD16 yhot B16;
CARD32 cursorSerial B32;
Atom cursorName B32;
CARD16 nbytes B16;
CARD16 pad B16;
} xXFixesGetCursorImageAndNameReply;
#define sz_xXFixesGetCursorImageAndNameReply 32
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Cursor source B32;
Cursor destination B32;
} xXFixesChangeCursorReq;
#define sz_xXFixesChangeCursorReq 12
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Cursor source B32;
CARD16 nbytes;
CARD16 pad;
} xXFixesChangeCursorByNameReq;
#define sz_xXFixesChangeCursorByNameReq 12
/*************** Version 3 ******************/
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Region source B32;
Region destination B32;
CARD16 left B16;
CARD16 right B16;
CARD16 top B16;
CARD16 bottom B16;
} xXFixesExpandRegionReq;
#define sz_xXFixesExpandRegionReq 20
/*************** Version 4.0 ******************/
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Window window B32;
} xXFixesHideCursorReq;
#define sz_xXFixesHideCursorReq sizeof(xXFixesHideCursorReq)
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Window window B32;
} xXFixesShowCursorReq;
#define sz_xXFixesShowCursorReq sizeof(xXFixesShowCursorReq)
/*************** Version 5.0 ******************/
#define Barrier CARD32
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Barrier barrier B32;
Window window B32;
INT16 x1 B16;
INT16 y1 B16;
INT16 x2 B16;
INT16 y2 B16;
CARD32 directions;
CARD16 pad B16;
CARD16 num_devices B16;
/* array of CARD16 devices */
} xXFixesCreatePointerBarrierReq;
#define sz_xXFixesCreatePointerBarrierReq 28
typedef struct {
CARD8 reqType;
CARD8 xfixesReqType;
CARD16 length B16;
Barrier barrier B32;
} xXFixesDestroyPointerBarrierReq;
#define sz_xXFixesDestroyPointerBarrierReq 8
#undef Barrier
#undef Region
#undef Picture
#undef Window
#undef Drawable
#undef Font
#undef Pixmap
#undef Cursor
#undef Colormap
#undef GContext
#undef Atom
#undef VisualID
#undef Time
#undef KeyCode
#undef KeySym
#endif /* _XFIXESPROTO_H_ */
PK 5[LG extensions/xf86dgaconst.hnu W+A /*
Copyright (c) 1999 XFree86 Inc
*/
#ifndef _XF86DGACONST_H_
#define _XF86DGACONST_H_
#include
#define X_XDGAQueryVersion 0
/* 1 through 9 are in xf86dga1.h */
/* 10 and 11 are reserved to avoid conflicts with rogue DGA extensions */
#define X_XDGAQueryModes 12
#define X_XDGASetMode 13
#define X_XDGASetViewport 14
#define X_XDGAInstallColormap 15
#define X_XDGASelectInput 16
#define X_XDGAFillRectangle 17
#define X_XDGACopyArea 18
#define X_XDGACopyTransparentArea 19
#define X_XDGAGetViewportStatus 20
#define X_XDGASync 21
#define X_XDGAOpenFramebuffer 22
#define X_XDGACloseFramebuffer 23
#define X_XDGASetClientVersion 24
#define X_XDGAChangePixmapMode 25
#define X_XDGACreateColormap 26
#define XDGAConcurrentAccess 0x00000001
#define XDGASolidFillRect 0x00000002
#define XDGABlitRect 0x00000004
#define XDGABlitTransRect 0x00000008
#define XDGAPixmap 0x00000010
#define XDGAInterlaced 0x00010000
#define XDGADoublescan 0x00020000
#define XDGAFlipImmediate 0x00000001
#define XDGAFlipRetrace 0x00000002
#define XDGANeedRoot 0x00000001
#define XF86DGANumberEvents 7
#define XDGAPixmapModeLarge 0
#define XDGAPixmapModeSmall 1
#define XF86DGAClientNotLocal 0
#define XF86DGANoDirectVideoMode 1
#define XF86DGAScreenNotActive 2
#define XF86DGADirectNotActivated 3
#define XF86DGAOperationNotSupported 4
#define XF86DGANumberErrors (XF86DGAOperationNotSupported + 1)
typedef struct {
int num; /* A unique identifier for the mode (num > 0) */
char *name; /* name of mode given in the XF86Config */
float verticalRefresh;
int flags; /* DGA_CONCURRENT_ACCESS, etc... */
int imageWidth; /* linear accessible portion (pixels) */
int imageHeight;
int pixmapWidth; /* Xlib accessible portion (pixels) */
int pixmapHeight; /* both fields ignored if no concurrent access */
int bytesPerScanline;
int byteOrder; /* MSBFirst, LSBFirst */
int depth;
int bitsPerPixel;
unsigned long redMask;
unsigned long greenMask;
unsigned long blueMask;
short visualClass;
int viewportWidth;
int viewportHeight;
int xViewportStep; /* viewport position granularity */
int yViewportStep;
int maxViewportX; /* max viewport origin */
int maxViewportY;
int viewportFlags; /* types of page flipping possible */
int reserved1;
int reserved2;
} XDGAMode;
typedef struct {
XDGAMode mode;
unsigned char *data;
Pixmap pixmap;
} XDGADevice;
#endif /* _XF86DGACONST_H_ */
PK 5[Y{ extensions/xcmiscstr.hnu W+A #warning "xcmiscstr.h is obsolete and may be removed in the future."
#warning "include for the protocol defines."
#include
PK 5[P3d d extensions/lbxproto.hnu W+A /*
* Copyright 1992 Network Computing Devices
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of NCD. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. NCD. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*
* NCD. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
* BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
*/
#ifndef _LBXPROTO_H_
#define _LBXPROTO_H_
#include
/*
* NOTE: any changes or additions to the opcodes needs to be reflected
* in the lbxCacheable array in Xserver/lbx/lbxmain.c
*/
#define X_LbxQueryVersion 0
#define X_LbxStartProxy 1
#define X_LbxStopProxy 2
#define X_LbxSwitch 3
#define X_LbxNewClient 4
#define X_LbxCloseClient 5
#define X_LbxModifySequence 6
#define X_LbxAllowMotion 7
#define X_LbxIncrementPixel 8
#define X_LbxDelta 9
#define X_LbxGetModifierMapping 10
#define X_LbxInvalidateTag 12
#define X_LbxPolyPoint 13
#define X_LbxPolyLine 14
#define X_LbxPolySegment 15
#define X_LbxPolyRectangle 16
#define X_LbxPolyArc 17
#define X_LbxFillPoly 18
#define X_LbxPolyFillRectangle 19
#define X_LbxPolyFillArc 20
#define X_LbxGetKeyboardMapping 21
#define X_LbxQueryFont 22
#define X_LbxChangeProperty 23
#define X_LbxGetProperty 24
#define X_LbxTagData 25
#define X_LbxCopyArea 26
#define X_LbxCopyPlane 27
#define X_LbxPolyText8 28
#define X_LbxPolyText16 29
#define X_LbxImageText8 30
#define X_LbxImageText16 31
#define X_LbxQueryExtension 32
#define X_LbxPutImage 33
#define X_LbxGetImage 34
#define X_LbxBeginLargeRequest 35
#define X_LbxLargeRequestData 36
#define X_LbxEndLargeRequest 37
#define X_LbxInternAtoms 38
#define X_LbxGetWinAttrAndGeom 39
#define X_LbxGrabCmap 40
#define X_LbxReleaseCmap 41
#define X_LbxAllocColor 42
#define X_LbxSync 43
/*
* Redefine some basic types used by structures defined herein. This removes
* any possibility on 64-bit architectures of one entity viewing communicated
* data as 32-bit quantities and another entity viewing the same data as 64-bit
* quantities.
*/
#define XID CARD32
#define Atom CARD32
#define Colormap CARD32
#define Drawable CARD32
#define VisualID CARD32
#define Window CARD32
typedef struct {
BOOL success; /* TRUE */
BOOL changeType;
CARD16 majorVersion B16,
minorVersion B16;
CARD16 length B16; /* 1/4 additional bytes in setup info */
CARD32 tag B32;
} xLbxConnSetupPrefix;
typedef struct _LbxQueryVersion {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxQueryVersion */
CARD16 length B16;
} xLbxQueryVersionReq;
#define sz_xLbxQueryVersionReq 4
typedef struct {
BYTE type; /* X_Reply */
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD16 majorVersion B16; /* major version of LBX protocol */
CARD16 minorVersion B16; /* minor version of LBX protocol */
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xLbxQueryVersionReply;
#define sz_xLbxQueryVersionReply 32
typedef struct _LbxStartProxy {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxStartProxy */
CARD16 length B16;
} xLbxStartProxyReq;
#define sz_xLbxStartProxyReq 4
typedef struct _LbxStopProxy {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxStopProxy */
CARD16 length B16;
} xLbxStopProxyReq;
#define sz_xLbxStopProxyReq 4
typedef struct _LbxSwitch {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxSwitch */
CARD16 length B16;
CARD32 client B32; /* new client */
} xLbxSwitchReq;
#define sz_xLbxSwitchReq 8
typedef struct _LbxNewClient {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxNewClient */
CARD16 length B16;
CARD32 client B32; /* new client */
} xLbxNewClientReq;
#define sz_xLbxNewClientReq 8
typedef struct _LbxCloseClient {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxCloseClient */
CARD16 length B16;
CARD32 client B32; /* new client */
} xLbxCloseClientReq;
#define sz_xLbxCloseClientReq 8
typedef struct _LbxModifySequence {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxModifySequence */
CARD16 length B16;
CARD32 adjust B32;
} xLbxModifySequenceReq;
#define sz_xLbxModifySequenceReq 8
typedef struct _LbxAllowMotion {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxAllowMotion */
CARD16 length B16;
CARD32 num B32;
} xLbxAllowMotionReq;
#define sz_xLbxAllowMotionReq 8
typedef struct {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxGrabCmap */
CARD16 length B16;
Colormap cmap B32;
} xLbxGrabCmapReq;
#define sz_xLbxGrabCmapReq 8
#define LBX_SMART_GRAB 0x80
#define LBX_AUTO_RELEASE 0x40
#define LBX_3CHANNELS 0x20
#define LBX_2BYTE_PIXELS 0x10
#define LBX_RGB_BITS_MASK 0x0f
#define LBX_LIST_END 0
#define LBX_PIXEL_PRIVATE 1
#define LBX_PIXEL_SHARED 2
#define LBX_PIXEL_RANGE_PRIVATE 3
#define LBX_PIXEL_RANGE_SHARED 4
#define LBX_NEXT_CHANNEL 5
typedef struct {
BYTE type; /* X_Reply */
CARD8 flags;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad0 B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B16;
} xLbxGrabCmapReply;
#define sz_xLbxGrabCmapReply 32
#define sz_xLbxGrabCmapReplyHdr 8
typedef struct {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxReleaseCmap */
CARD16 length B16;
Colormap cmap B32;
} xLbxReleaseCmapReq;
#define sz_xLbxReleaseCmapReq 8
typedef struct {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxAllocColor */
CARD16 length B16;
Colormap cmap B32;
CARD32 pixel B32;
CARD16 red B16, green B16, blue B16;
CARD16 pad B16;
} xLbxAllocColorReq;
#define sz_xLbxAllocColorReq 20
typedef struct _LbxIncrementPixel {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxIncrementPixel */
CARD16 length B16;
CARD32 cmap B32;
CARD32 pixel B32;
} xLbxIncrementPixelReq;
#define sz_xLbxIncrementPixelReq 12
typedef struct _LbxDelta {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxDelta */
CARD16 length B16;
CARD8 diffs; /* number of diffs */
CARD8 cindex; /* cache index */
/* list of diffs follows */
} xLbxDeltaReq;
#define sz_xLbxDeltaReq 6
typedef struct _LbxGetModifierMapping {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxGetModifierMapping */
CARD16 length B16;
} xLbxGetModifierMappingReq;
#define sz_xLbxGetModifierMappingReq 4
typedef struct {
BYTE type; /* X_Reply */
CARD8 keyspermod;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 tag B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xLbxGetModifierMappingReply;
#define sz_xLbxGetModifierMappingReply 32
typedef struct _LbxGetKeyboardMapping {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxGetKeyboardMapping */
CARD16 length B16;
KeyCode firstKeyCode;
CARD8 count;
CARD16 pad1 B16;
} xLbxGetKeyboardMappingReq;
#define sz_xLbxGetKeyboardMappingReq 8
typedef struct {
BYTE type; /* X_Reply */
CARD8 keysperkeycode;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 tag B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xLbxGetKeyboardMappingReply;
#define sz_xLbxGetKeyboardMappingReply 32
typedef struct _LbxQueryFont {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxQueryFont */
CARD16 length B16;
CARD32 fid B32;
} xLbxQueryFontReq;
#define sz_xLbxQueryFontReq 8
typedef struct _LbxInternAtoms {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxInternAtoms */
CARD16 length B16;
CARD16 num B16;
} xLbxInternAtomsReq;
#define sz_xLbxInternAtomsReq 6
typedef struct {
BYTE type; /* X_Reply */
CARD8 unused;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 atomsStart B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xLbxInternAtomsReply;
#define sz_xLbxInternAtomsReply 32
#define sz_xLbxInternAtomsReplyHdr 8
typedef struct _LbxGetWinAttrAndGeom {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxGetWinAttrAndGeom */
CARD16 length B16;
CARD32 id B32; /* window id */
} xLbxGetWinAttrAndGeomReq;
#define sz_xLbxGetWinAttrAndGeomReq 8
typedef struct {
BYTE type; /* X_Reply */
CARD8 backingStore;
CARD16 sequenceNumber B16;
CARD32 length B32; /* NOT 0; this is an extra-large reply */
VisualID visualID B32;
#if defined(__cplusplus) || defined(c_plusplus)
CARD16 c_class B16;
#else
CARD16 class B16;
#endif
CARD8 bitGravity;
CARD8 winGravity;
CARD32 backingBitPlanes B32;
CARD32 backingPixel B32;
BOOL saveUnder;
BOOL mapInstalled;
CARD8 mapState;
BOOL override;
Colormap colormap B32;
CARD32 allEventMasks B32;
CARD32 yourEventMask B32;
CARD16 doNotPropagateMask B16;
CARD16 pad1 B16;
Window root B32;
INT16 x B16, y B16;
CARD16 width B16, height B16;
CARD16 borderWidth B16;
CARD8 depth;
CARD8 pad2;
} xLbxGetWinAttrAndGeomReply;
#define sz_xLbxGetWinAttrAndGeomReply 60
typedef struct {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxSync */
CARD16 length B16;
} xLbxSyncReq;
#define sz_xLbxSyncReq 4
typedef struct {
BYTE type; /* X_Reply */
CARD8 pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xLbxSyncReply;
#define sz_xLbxSyncReply 32
/* an LBX squished charinfo packs the data in a CARD32 as follows */
#define LBX_WIDTH_SHIFT 26
#define LBX_LEFT_SHIFT 20
#define LBX_RIGHT_SHIFT 13
#define LBX_ASCENT_SHIFT 7
#define LBX_DESCENT_SHIFT 0
#define LBX_WIDTH_BITS 6
#define LBX_LEFT_BITS 6
#define LBX_RIGHT_BITS 7
#define LBX_ASCENT_BITS 6
#define LBX_DESCENT_BITS 7
#define LBX_WIDTH_MASK 0xfc000000
#define LBX_LEFT_MASK 0x03f00000
#define LBX_RIGHT_MASK 0x000fe000
#define LBX_ASCENT_MASK 0x00001f80
#define LBX_DESCENT_MASK 0x0000007f
#define LBX_MASK_BITS(val, n) ((unsigned int) ((val) & ((1 << (n)) - 1)))
typedef struct {
CARD32 metrics B32;
} xLbxCharInfo;
/* note that this is identical to xQueryFontReply except for missing
* first 2 words
*/
typedef struct {
xCharInfo minBounds;
/* XXX do we need to leave this gunk? */
#ifndef WORD64
CARD32 walign1 B32;
#endif
xCharInfo maxBounds;
#ifndef WORD64
CARD32 walign2 B32;
#endif
CARD16 minCharOrByte2 B16, maxCharOrByte2 B16;
CARD16 defaultChar B16;
CARD16 nFontProps B16; /* followed by this many xFontProp structures */
CARD8 drawDirection;
CARD8 minByte1, maxByte1;
BOOL allCharsExist;
INT16 fontAscent B16, fontDescent B16;
CARD32 nCharInfos B32; /* followed by this many xLbxCharInfo structures */
} xLbxFontInfo;
typedef struct {
BYTE type; /* X_Reply */
CARD8 compression;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 tag B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
/* X_QueryFont sticks much of the data in the base reply packet,
* but we hope that it won't be needed, (and it won't fit in 32 bytes
* with the tag anyways)
*
* if any additional data is needed, its sent in a xLbxFontInfo
*/
} xLbxQueryFontReply;
#define sz_xLbxQueryFontReply 32
typedef struct _LbxChangeProperty {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxChangeProperty */
CARD16 length B16;
Window window B32;
Atom property B32;
Atom type B32;
CARD8 format;
CARD8 mode;
BYTE pad[2];
CARD32 nUnits B32;
} xLbxChangePropertyReq;
#define sz_xLbxChangePropertyReq 24
typedef struct {
BYTE type; /* X_Reply */
CARD8 pad;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 tag B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xLbxChangePropertyReply;
#define sz_xLbxChangePropertyReply 32
typedef struct _LbxGetProperty {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxGetProperty */
CARD16 length B16;
Window window B32;
Atom property B32;
Atom type B32;
CARD8 delete;
BYTE pad[3];
CARD32 longOffset B32;
CARD32 longLength B32;
} xLbxGetPropertyReq;
#define sz_xLbxGetPropertyReq 28
typedef struct {
BYTE type; /* X_Reply */
CARD8 format;
CARD16 sequenceNumber B16;
CARD32 length B32;
Atom propertyType B32;
CARD32 bytesAfter B32;
CARD32 nItems B32;
CARD32 tag B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
} xLbxGetPropertyReply;
#define sz_xLbxGetPropertyReply 32
typedef struct _LbxTagData {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxTagData */
CARD16 length B16;
XID tag B32;
CARD32 real_length B32;
/* data */
} xLbxTagDataReq;
#define sz_xLbxTagDataReq 12
typedef struct _LbxInvalidateTag {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxInvalidateTag */
CARD16 length B16;
CARD32 tag B32;
} xLbxInvalidateTagReq;
#define sz_xLbxInvalidateTagReq 8
typedef struct _LbxPutImage {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxPutImage */
CARD16 length B16;
CARD8 compressionMethod;
CARD8 cacheEnts;
CARD8 bitPacked;
/* rest is variable */
} xLbxPutImageReq;
#define sz_xLbxPutImageReq 7
typedef struct {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxGetImage */
CARD16 length B16;
Drawable drawable B32;
INT16 x B16, y B16;
CARD16 width B16, height B16;
CARD32 planeMask B32;
CARD8 format;
CARD8 pad1;
CARD16 pad2 B16;
} xLbxGetImageReq;
#define sz_xLbxGetImageReq 24
typedef struct {
BYTE type; /* X_Reply */
CARD8 depth;
CARD16 sequenceNumber B16;
CARD32 lbxLength B32;
CARD32 xLength B32;
VisualID visual B32;
CARD8 compressionMethod;
CARD8 pad1;
CARD16 pad2 B16;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xLbxGetImageReply;
#define sz_xLbxGetImageReply 32
/* Following used for LbxPolyPoint, LbxPolyLine, LbxPolySegment,
LbxPolyRectangle, LbxPolyArc, LbxPolyFillRectangle and LbxPolyFillArc */
#define GFX_CACHE_SIZE 15
#define GFXdCacheEnt(e) ((e) & 0xf)
#define GFXgCacheEnt(e) (((e) >> 4) & 0xf)
#define GFXCacheEnts(d,g) (((d) & 0xf) | (((g) & 0xf) << 4))
#define GFXCacheNone 0xf
typedef struct _LbxPolyPoint {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType;
CARD16 length B16;
CARD8 cacheEnts;
CARD8 padBytes;
} xLbxPolyPointReq;
#define sz_xLbxPolyPointReq 6
typedef xLbxPolyPointReq xLbxPolyLineReq;
typedef xLbxPolyPointReq xLbxPolySegmentReq;
typedef xLbxPolyPointReq xLbxPolyRectangleReq;
typedef xLbxPolyPointReq xLbxPolyArcReq;
typedef xLbxPolyPointReq xLbxPolyFillRectangleReq;
typedef xLbxPolyPointReq xLbxPolyFillArcReq;
#define sz_xLbxPolyLineReq sz_xLbxPolyPointReq
#define sz_xLbxPolySegmentReq sz_xLbxPolyPointReq
#define sz_xLbxPolyRectangleReq sz_xLbxPolyPointReq
#define sz_xLbxPolyArcReq sz_xLbxPolyPointReq
#define sz_xLbxPolyFillRectangleReq sz_xLbxPolyPointReq
#define sz_xLbxPolyFillArc sz_xLbxPolyPointReq
typedef struct _LbxFillPoly {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType;
CARD16 length B16;
CARD8 cacheEnts;
BYTE shape;
CARD8 padBytes;
} xLbxFillPolyReq;
#define sz_xLbxFillPolyReq 7
typedef struct _LbxCopyArea {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType;
CARD16 length B16;
CARD8 srcCache; /* source drawable */
CARD8 cacheEnts; /* dest drawable and gc */
/* followed by encoded src x, src y, dst x, dst y, width, height */
} xLbxCopyAreaReq;
#define sz_xLbxCopyAreaReq 6
typedef struct _LbxCopyPlane {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType;
CARD16 length B16;
CARD32 bitPlane B32;
CARD8 srcCache; /* source drawable */
CARD8 cacheEnts; /* dest drawable and gc */
/* followed by encoded src x, src y, dst x, dst y, width, height */
} xLbxCopyPlaneReq;
#define sz_xLbxCopyPlaneReq 10
typedef struct _LbxPolyText {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType;
CARD16 length B16;
CARD8 cacheEnts;
/* followed by encoded src x, src y coordinates and text elts */
} xLbxPolyTextReq;
#define sz_xLbxPolyTextReq 5
typedef xLbxPolyTextReq xLbxPolyText8Req;
typedef xLbxPolyTextReq xLbxPolyText16Req;
#define sz_xLbxPolyTextReq 5
#define sz_xLbxPolyText8Req 5
#define sz_xLbxPolyText16Req 5
typedef struct _LbxImageText {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType;
CARD16 length B16;
CARD8 cacheEnts;
CARD8 nChars;
/* followed by encoded src x, src y coordinates and string */
} xLbxImageTextReq;
typedef xLbxImageTextReq xLbxImageText8Req;
typedef xLbxImageTextReq xLbxImageText16Req;
#define sz_xLbxImageTextReq 6
#define sz_xLbxImageText8Req 6
#define sz_xLbxImageText16Req 6
typedef struct {
CARD8 offset;
CARD8 diff;
} xLbxDiffItem;
#define sz_xLbxDiffItem 2
typedef struct {
BYTE type; /* X_Reply */
CARD8 nOpts;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 optDataStart B32;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xLbxStartReply;
#define sz_xLbxStartReply 32
#define sz_xLbxStartReplyHdr 8
typedef struct _LbxQueryExtension {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxQueryExtension */
CARD16 length B16;
CARD32 nbytes B32;
} xLbxQueryExtensionReq;
#define sz_xLbxQueryExtensionReq 8
typedef struct _LbxQueryExtensionReply {
BYTE type; /* X_Reply */
CARD8 numReqs;
CARD16 sequenceNumber B16;
CARD32 length B32;
BOOL present;
CARD8 major_opcode;
CARD8 first_event;
CARD8 first_error;
CARD32 pad0 B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
/* reply & event generating requests */
} xLbxQueryExtensionReply;
#define sz_xLbxQueryExtensionReply 32
typedef struct _LbxBeginLargeRequest {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxBeginLargeRequest */
CARD16 length B16;
CARD32 largeReqLength B32;
} xLbxBeginLargeRequestReq;
#define sz_BeginLargeRequestReq 8
typedef struct _LbxLargeRequestData {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxLargeRequestData */
CARD16 length B16;
/* followed by LISTofCARD8 data */
} xLbxLargeRequestDataReq;
#define sz_LargeRequestDataReq 4
typedef struct _LbxEndLargeRequest {
CARD8 reqType; /* always LbxReqCode */
CARD8 lbxReqType; /* always X_LbxEndLargeRequest */
CARD16 length B16;
} xLbxEndLargeRequestReq;
#define sz_EndLargeRequestReq 4
typedef struct _LbxSwitchEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxSwitchEvent */
CARD16 pad B16;
CARD32 client B32;
} xLbxSwitchEvent;
#define sz_xLbxSwitchEvent 8
typedef struct _LbxCloseEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxCloseEvent */
CARD16 sequenceNumber B16;
CARD32 client B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xLbxCloseEvent;
#define sz_xLbxCloseEvent 32
typedef struct _LbxInvalidateTagEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxInvalidateTagEvent */
CARD16 sequenceNumber B16;
CARD32 tag B32;
CARD32 tagType B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xLbxInvalidateTagEvent;
#define sz_xLbxInvalidateTagEvent 32
typedef struct _LbxSendTagDataEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxSendTagDataEvent */
CARD16 sequenceNumber B16;
CARD32 tag B32;
CARD32 tagType B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xLbxSendTagDataEvent;
#define sz_xLbxSendTagDataEvent 32
typedef struct _LbxListenToOneEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxListenToOneEvent */
CARD16 sequenceNumber B16;
CARD32 client B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xLbxListenToOneEvent;
#define sz_xLbxListenToOneEvent 32
typedef struct _LbxListenToAllEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxListenToAllEvent */
CARD16 sequenceNumber B16;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
CARD32 pad7 B32;
} xLbxListenToAllEvent;
#define sz_xLbxListenToOneEvent 32
typedef struct _LbxReleaseCmapEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxReleaseCmapEvent */
CARD16 sequenceNumber B16;
Colormap colormap B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
CARD32 pad6 B32;
} xLbxReleaseCmapEvent;
#define sz_xLbxReleaseCmapEvent 32
typedef struct _LbxFreeCellsEvent {
BYTE type; /* always eventBase + LbxEvent */
BYTE lbxType; /* LbxFreeCellsEvent */
CARD16 sequenceNumber B16;
Colormap colormap B32;
CARD32 pixelStart B32;
CARD32 pixelEnd B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
} xLbxFreeCellsEvent;
#define sz_xLbxFreeCellsEvent 32
/*
* squished X event sizes. If these change, be sure to update lbxquish.c
* and unsquish.c appropriately
*
* lbxsz_* is the padded squished length
* lbxupsz_* is the unpadded squished length
*/
#define lbxsz_KeyButtonEvent 32
#define lbxupsz_KeyButtonEvent 31
#define lbxsz_EnterLeaveEvent 32
#define lbxupsz_EnterLeaveEvent 32
#define lbxsz_FocusEvent 12
#define lbxupsz_FocusEvent 9
#define lbxsz_KeymapEvent 32
#define lbxupsz_KeymapEvent 32
#define lbxsz_ExposeEvent 20
#define lbxupsz_ExposeEvent 18
#define lbxsz_GfxExposeEvent 24
#define lbxupsz_GfxExposeEvent 21
#define lbxsz_NoExposeEvent 12
#define lbxupsz_NoExposeEvent 11
#define lbxsz_VisibilityEvent 12
#define lbxupsz_VisibilityEvent 9
#define lbxsz_CreateNotifyEvent 24
#define lbxupsz_CreateNotifyEvent 23
#define lbxsz_DestroyNotifyEvent 12
#define lbxupsz_DestroyNotifyEvent 12
#define lbxsz_UnmapNotifyEvent 16
#define lbxupsz_UnmapNotifyEvent 13
#define lbxsz_MapNotifyEvent 16
#define lbxupsz_MapNotifyEvent 13
#define lbxsz_MapRequestEvent 12
#define lbxupsz_MapRequestEvent 12
#define lbxsz_ReparentEvent 24
#define lbxupsz_ReparentEvent 21
#define lbxsz_ConfigureNotifyEvent 28
#define lbxupsz_ConfigureNotifyEvent 27
#define lbxsz_ConfigureRequestEvent 28
#define lbxupsz_ConfigureRequestEvent 28
#define lbxsz_GravityEvent 16
#define lbxupsz_GravityEvent 16
#define lbxsz_ResizeRequestEvent 12
#define lbxupsz_ResizeRequestEvent 12
#define lbxsz_CirculateEvent 20
#define lbxupsz_CirculateEvent 17
#define lbxsz_PropertyEvent 20
#define lbxupsz_PropertyEvent 17
#define lbxsz_SelectionClearEvent 16
#define lbxupsz_SelectionClearEvent 16
#define lbxsz_SelectionRequestEvent 28
#define lbxupsz_SelectionRequestEvent 28
#define lbxsz_SelectionNotifyEvent 24
#define lbxupsz_SelectionNotifyEvent 24
#define lbxsz_ColormapEvent 16
#define lbxupsz_ColormapEvent 14
#define lbxsz_MappingNotifyEvent 8
#define lbxupsz_MappingNotifyEvent 7
#define lbxsz_ClientMessageEvent 32
#define lbxupsz_ClientMessageEvent 32
#define lbxsz_UnknownEvent 32
#ifdef DEBUG
#define DBG_SWITCH 0x00000001
#define DBG_CLOSE 0x00000002
#define DBG_IO 0x00000004
#define DBG_READ_REQ 0x00000008
#define DBG_LEN 0x00000010
#define DBG_BLOCK 0x00000020
#define DBG_CLIENT 0x00000040
#define DBG_DELTA 0x00000080
#endif
/*
* Cancel the previous redefinition of the basic types, thus restoring their
* X.h definitions.
*/
#undef XID
#undef Atom
#undef Colormap
#undef Drawable
#undef VisualID
#undef Window
#endif /* _LBXPROTO_H_ */
PK 5[P extensions/Xv.hnu W+A /***********************************************************
Copyright 1991 by Digital Equipment Corporation, Maynard, Massachusetts,
and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Digital or MIT not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
******************************************************************/
#ifndef XV_H
#define XV_H
/*
** File:
**
** Xv.h --- Xv shared library and server header file
**
** Author:
**
** David Carver (Digital Workstation Engineering/Project Athena)
**
** Revisions:
**
** 05.15.91 Carver
** - version 2.0 upgrade
**
** 01.24.91 Carver
** - version 1.4 upgrade
**
*/
#include
#define XvName "XVideo"
#define XvVersion 2
#define XvRevision 2
/* Symbols */
typedef XID XvPortID;
typedef XID XvEncodingID;
#define XvNone 0
#define XvInput 0
#define XvOutput 1
#define XvInputMask (1L<