Linux Standard Base Desktop Specification, Generic Part

LSB Desktop - Generic 5.0 Edition

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".

Portions of the text may be copyrighted by the following parties:

  • The Regents of the University of California

  • Free Software Foundation

  • Ian F. Darwin

  • Paul Vixie

  • BSDI (now Wind River)

  • Jean-loup Gailly and Mark Adler

  • Massachusetts Institute of Technology

  • Apple Inc.

  • Easy Software Products

  • artofcode LLC

  • Till Kamppeter

  • Manfred Wassman

  • Python Software Foundation

These excerpts are being used in accordance with their respective licenses.

Linux is the registered trademark of Linus Torvalds in the U.S. and other countries.

UNIX is a registered trademark of The Open Group.

LSB is a trademark of the Linux Foundation in the United States and other countries.

AMD is a trademark of Advanced Micro Devices, Inc.

Intel and Itanium are registered trademarks and Intel386 is a trademark of Intel Corporation.

PowerPC is a registered trademark and PowerPC Architecture is a trademark of the IBM Corporation.

S/390 is a registered trademark of the IBM Corporation.

OpenGL is a registered trademark of Silicon Graphics, Inc.

PAM documentation is Copyright (C) Andrew G. Morgan 1996-9. All rights reserved. Used under the following conditions:

  1. Redistributions of source code must retain the above copyright notice, and the entire permission notice in its entirety, including the disclaimer of warranties.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.


Table of Contents
Foreword
Status of this Document
Introduction
I. Introductory Elements
1. Scope
1.1. General
1.2. Module Specific Scope
2. References
2.1. Normative References
2.2. Informative References/Bibliography
3. Requirements
3.1. Relevant Libraries
4. Terms and Definitions
5. Documentation Conventions
II. Graphic Libraries
6. Libraries
6.1. Interfaces for libX11
6.2. Data Definitions for libX11
6.3. Interface Definitions for libX11
6.4. Interfaces for libSM
6.5. Data Definitions for libSM
6.6. Interfaces for libICE
6.7. Data Definitions for libICE
6.8. Interface Definitions for libICE
6.9. Interfaces for libXt
6.10. Data Definitions for libXt
6.11. Interface Definitions for libXt
6.12. Interfaces for libXext
6.13. Data Definitions for libXext
6.14. Interface Definitions for libXext
6.15. Interfaces for libXi
6.16. Data Definitions for libXi
6.17. Interfaces for libXtst
6.18. Data Definitions for libXtst
6.19. Interfaces for libxcb
6.20. Data Definitions for libxcb
6.21. Interface Definitions for libxcb
III. OpenGL Libraries
7. Libraries
7.1. Interfaces for libGL
7.2. Data Definitions for libGL
7.3. Interfaces for libGLU
7.4. Data Definitions for libGLU
IV. PNG12 library
8. Libraries
8.1. Interfaces for libpng12
8.2. Data Definitions for libpng12
8.3. Interface Definitions for libpng12
V. JPEG library
9. Libraries
9.1. Interfaces for libjpeg
9.2. Data Definitions for libjpeg
9.3. Interface Definitions for libjpeg
VI. Fontconfig library
10. Libraries
10.1. Interfaces for libfontconfig
10.2. Data Definitions for libfontconfig
11. Commands and Utilities
11.1. Commands and Utilities
11.2. Command Behavior
VII. Freetype library
12. Libraries
12.1. Interfaces for libfreetype
12.2. Data Definitions for libfreetype
12.3. Interface Definitions for libfreetype
VIII. Xft library
13. Libraries
13.1. Interfaces for libXft
13.2. Data Definitions for libXft
13.3. Interface Definitions for libXft
IX. Xrender library
14. Libraries
14.1. Interfaces for libXrender
14.2. Data Definitions for libXrender
14.3. Interface Definitions for libXrender
X. Cairo Vector Graphics library
15. Libraries
15.1. Interfaces for libcairo
15.2. Data Definitions for libcairo
15.3. Interface Definitions for libcairo
XI. tiff library
16. Libraries
16.1. Interfaces for libtiff
16.2. Data Definitions for libtiff
XII. GTK+ Stack Libraries
17. Libraries
17.1. Introduction
17.2. Interfaces for libglib-2.0
17.3. Data Definitions for libglib-2.0
17.4. Interface Definitions for libglib-2.0
17.5. Interfaces for libgmodule-2.0
17.6. Data Definitions for libgmodule-2.0
17.7. Interfaces for libgobject-2.0
17.8. Data Definitions for libgobject-2.0
17.9. Interface Definitions for libgobject-2.0
17.10. Interfaces for libgthread-2.0
17.11. Interfaces for libgio-2.0
17.12. Data Definitions for libgio-2.0
17.13. Interface Definitions for libgio-2.0
17.14. Interfaces for libatk-1.0
17.15. Data Definitions for libatk-1.0
17.16. Interface Definitions for libatk-1.0
17.17. Interfaces for libpango-1.0
17.18. Data Definitions for libpango-1.0
17.19. Interfaces for libpangocairo-1.0
17.20. Data Definitions for libpangocairo-1.0
17.21. Interfaces for libpangoxft-1.0
17.22. Data Definitions for libpangoxft-1.0
17.23. Interfaces for libpangoft2-1.0
17.24. Data Definitions for libpangoft2-1.0
17.25. Interfaces for libgdk_pixbuf-2.0
17.26. Data Definitions for libgdk_pixbuf-2.0
17.27. Interfaces for libgdk_pixbuf_xlib-2.0
17.28. Data Definitions for libgdk_pixbuf_xlib-2.0
17.29. Interfaces for libgdk-x11-2.0
17.30. Data Definitions for libgdk-x11-2.0
17.31. Interfaces for libgtk-x11-2.0
17.32. Data Definitions for libgtk-x11-2.0
17.33. Interface Definitions for libgtk-x11-2.0
XIII. Qt Libraries
18. Libraries
18.1. Introduction
18.2. Interfaces for libQtCore
18.3. Data Definitions for libQtCore
18.4. Interface Definitions for libQtCore
18.5. Interfaces for libQtGui
18.6. Data Definitions for libQtGui
18.7. Interface Definitions for libQtGui
18.8. Interfaces for libQtXml
18.9. Data Definitions for libQtXml
18.10. Interfaces for libQtOpenGL
18.11. Data Definitions for libQtOpenGL
18.12. Interface Definitions for libQtOpenGL
18.13. Interfaces for libQtSql
18.14. Data Definitions for libQtSql
18.15. Interface Definitions for libQtSql
18.16. Interfaces for libQtSvg
18.17. Data Definitions for libQtSvg
18.18. Interfaces for libQtNetwork
18.19. Data Definitions for libQtNetwork
18.20. Interface Definitions for libQtNetwork
XIV. ALSA sound library
19. Libraries
19.1. Interfaces for libasound
19.2. Data Definitions for libasound
XV. Desktop Environment
20. Desktop Environment
20.1. Desktop Base Directory
20.2. Desktop Entries
20.3. Desktop Menu Specification
20.4. Icon Theme Specification
21. Desktop Commands
21.1. Xdg-utils
XVI. Package Format and Installation
22. Software Installation
22.1. Package Dependencies
A. Alphabetical Listing of Interfaces by Library
A.1. libGL
A.2. libGLU
A.3. libICE
A.4. libSM
A.5. libX11
A.6. libXext
A.7. libXft
A.8. libXi
A.9. libXrender
A.10. libXt
A.11. libXtst
A.12. libcairo
A.13. libcairo-gobject
A.14. libcairo-script-interpreter
A.15. libfontconfig
A.16. libfreetype
A.17. libjpeg
A.18. libpng12
A.19. libtiff
A.20. libxcb
A.21. libatk-1.0
A.22. libgdk-x11-2.0
A.23. libgdk_pixbuf-2.0
A.24. libgdk_pixbuf_xlib-2.0
A.25. libgio-2.0
A.26. libglib-2.0
A.27. libgmodule-2.0
A.28. libgobject-2.0
A.29. libgthread-2.0
A.30. libgtk-x11-2.0
A.31. libpango-1.0
A.32. libpangocairo-1.0
A.33. libpangoft2-1.0
A.34. libpangoxft-1.0
A.35. libQtCore
A.36. libQtGui
A.37. libQtNetwork
A.38. libQtOpenGL
A.39. libQtSql
A.40. libQtSvg
A.41. libQtXml
A.42. libasound
B. GNU Free Documentation License (Informative)
B.1. PREAMBLE
B.2. APPLICABILITY AND DEFINITIONS
B.3. VERBATIM COPYING
B.4. COPYING IN QUANTITY
B.5. MODIFICATIONS
B.6. COMBINING DOCUMENTS
B.7. COLLECTIONS OF DOCUMENTS
B.8. AGGREGATION WITH INDEPENDENT WORKS
B.9. TRANSLATION
B.10. TERMINATION
B.11. FUTURE REVISIONS OF THIS LICENSE
B.12. How to use this License for your documents
List of Tables
2-1. Normative References
2-2. Other References
3-1. Standard Library Names
6-1. libX11 Definition
6-2. libX11 - X Window System Interface Function Interfaces
6-3. libSM Definition
6-4. libSM - Session Management Functions Function Interfaces
6-5. libICE Definition
6-6. libICE - ICE Functions Function Interfaces
6-7. libICE - ICE Functions Deprecated Function Interfaces
6-8. libXt Definition
6-9. libXt - X Toolkit Function Interfaces
6-10. libXt - X Toolkit Data Interfaces
6-11. libXext Definition
6-12. libXext - libXext interfaces Function Interfaces
6-13. libXext - X Shape Extension Function Interfaces
6-14. libXext - X Display Power Management Signaling Extension Function Interfaces
6-15. libXext - X Shared Memory Extensions Function Interfaces
6-16. libXext - X Synchronization Extension Function Interfaces
6-17. libXext - X Security Extension Function Interfaces
6-18. libXext - X Double Buffer Extension Function Interfaces
6-19. libXext - X Extended Visual Interface Extension Function Interfaces
6-20. libXi Definition
6-21. libXi - XInput Function Interfaces
6-22. libXtst Definition
6-23. libXtst - libXtst Interfaces Function Interfaces
6-24. libxcb Definition
6-25. libxcb - libxcb interfaces Function Interfaces
6-26. libxcb - libxcb interfaces Data Interfaces
7-1. libGL Definition
7-2. libGL - GL X interface Function Interfaces
7-3. libGL - OpenGL Function Interfaces
7-4. libGLU Definition
7-5. libGLU - GL Utilities Function Interfaces
8-1. libpng12 Definition
8-2. libpng12 - PNG Reference library Function Interfaces
8-3. libpng12 - PNG Reference library Data Interfaces
9-1. libjpeg Definition
9-2. libjpeg - JPEG Reference library Function Interfaces
10-1. libfontconfig Definition
10-2. libfontconfig - Font Customization and Configuration Library Function Interfaces
10-3. libfontconfig - Font Customization and Configuration Library Deprecated Function Interfaces
11-1. Commands And Utilities
12-1. libfreetype Definition
12-2. libfreetype - FreeType Library Function Interfaces
13-1. libXft Definition
13-2. libXft - X FreeType Library Function Interfaces
14-1. libXrender Definition
14-2. libXrender - X Rendering Extension Function Interfaces
15-1. libcairo Definition
15-2. libcairo - Cairo Vector Graphics Library Function Interfaces
16-1. libtiff Definition
16-2. libtiff - libtiff interfaces Function Interfaces
17-1. libglib-2.0 Definition
17-2. libglib-2.0 - GTK General purpose utility library Function Interfaces
17-3. libglib-2.0 - GTK General purpose utility library Deprecated Function Interfaces
17-4. libglib-2.0 - GTK General purpose utility library Data Interfaces
17-5. libglib-2.0 - Glib Arrays Function Interfaces
17-6. libglib-2.0 - Glib Asynchronous Queues Function Interfaces
17-7. libglib-2.0 - Glib Asynchronous Queues Deprecated Function Interfaces
17-8. libglib-2.0 - Glib Atomic Operations Function Interfaces
17-9. libglib-2.0 - Glib Atomic Operations Deprecated Function Interfaces
17-10. libglib-2.0 - Glib Automatic String Completion Function Interfaces
17-11. libglib-2.0 - Glib Automatic String Completion Deprecated Function Interfaces
17-12. libglib-2.0 - Glib Balanced Binary Trees Function Interfaces
17-13. libglib-2.0 - Glib Byte Arrays Function Interfaces
17-14. libglib-2.0 - Glib Caches Function Interfaces
17-15. libglib-2.0 - Glib Caches Deprecated Function Interfaces
17-16. libglib-2.0 - Glib Character Set Conversion Function Interfaces
17-17. libglib-2.0 - Glib Commandline Option Parser Function Interfaces
17-18. libglib-2.0 - Glib Datasets Function Interfaces
17-19. libglib-2.0 - Glib Date and Time Functions Function Interfaces
17-20. libglib-2.0 - Glib Date and Time Functions Deprecated Function Interfaces
17-21. libglib-2.0 - Glib Double-Ended Queues Function Interfaces
17-22. libglib-2.0 - Glib Doubly-Linked Lists Function Interfaces
17-23. libglib-2.0 - Glib Doubly-Linked Lists Deprecated Function Interfaces
17-24. libglib-2.0 - Glib Error Reporting Function Interfaces
17-25. libglib-2.0 - Glib File Utilities Function Interfaces
17-26. libglib-2.0 - Glib File Utilities Deprecated Function Interfaces
17-27. libglib-2.0 - Glib Glob-Style Pattern Matching Function Interfaces
17-28. libglib-2.0 - Glib Hash Tables Function Interfaces
17-29. libglib-2.0 - Glib Hook Functions Function Interfaces
17-30. libglib-2.0 - Glib IO Channels Function Interfaces
17-31. libglib-2.0 - Glib Internationalization Function Interfaces
17-32. libglib-2.0 - Glib Key-Value File Parser Function Interfaces
17-33. libglib-2.0 - Glib Keyed Data Lists Function Interfaces
17-34. libglib-2.0 - Glib Lexical Scanner Function Interfaces
17-35. libglib-2.0 - Glib Memory Allocation Function Interfaces
17-36. libglib-2.0 - Glib Memory Allocation Data Interfaces
17-37. libglib-2.0 - Glib Memory Allocators Function Interfaces
17-38. libglib-2.0 - Glib Memory Allocators Deprecated Function Interfaces
17-39. libglib-2.0 - Glib Memory Chunks Function Interfaces
17-40. libglib-2.0 - Glib Memory Chunks Deprecated Function Interfaces
17-41. libglib-2.0 - Glib Message Logging Function Interfaces
17-42. libglib-2.0 - Glib Message Output and Debugging Functions Function Interfaces
17-43. libglib-2.0 - Glib Miscellaneous Utility Functions Function Interfaces
17-44. libglib-2.0 - Glib Miscellaneous Utility Functions Deprecated Function Interfaces
17-45. libglib-2.0 - Glib N-ary Trees Function Interfaces
17-46. libglib-2.0 - Glib N-ary Trees Deprecated Function Interfaces
17-47. libglib-2.0 - Glib Pointer Arrays Function Interfaces
17-48. libglib-2.0 - Glib Quarks Function Interfaces
17-49. libglib-2.0 - Glib Random Numbers Function Interfaces
17-50. libglib-2.0 - Glib Relations and Tuples Function Interfaces
17-51. libglib-2.0 - Glib Relations and Tuples Deprecated Function Interfaces
17-52. libglib-2.0 - Glib Shell-related Utilities Function Interfaces
17-53. libglib-2.0 - Glib Simple XML Subset Parser Function Interfaces
17-54. libglib-2.0 - Glib Singly-Linked Lists Function Interfaces
17-55. libglib-2.0 - Glib Singly-Linked Lists Deprecated Function Interfaces
17-56. libglib-2.0 - Glib Spawning Processes Function Interfaces
17-57. libglib-2.0 - Glib String Chunks Function Interfaces
17-58. libglib-2.0 - Glib String Utility Functions Function Interfaces
17-59. libglib-2.0 - Glib Strings Function Interfaces
17-60. libglib-2.0 - Glib - The Main Event Loop Function Interfaces
17-61. libglib-2.0 - Glib - The Main Event Loop Deprecated Function Interfaces
17-62. libglib-2.0 - Glib Thread Pools Function Interfaces
17-63. libglib-2.0 - Glib Threads Function Interfaces
17-64. libglib-2.0 - Glib Threads Deprecated Function Interfaces
17-65. libglib-2.0 - Glib Timers Function Interfaces
17-66. libglib-2.0 - Glib Trash Stacks Function Interfaces
17-67. libglib-2.0 - Glib Unicode Manipulation Function Interfaces
17-68. libglib-2.0 - Glib Unicode Manipulation Deprecated Function Interfaces
17-69. libglib-2.0 - Glib Version Information Function Interfaces
17-70. libglib-2.0 - Glib Version Information Data Interfaces
17-71. libglib-2.0 - Glib Bookmark File Parser Function Interfaces
17-72. libglib-2.0 - Glib Memory Slices Function Interfaces
17-73. libglib-2.0 - Glib Base64 Encoding Function Interfaces
17-74. libgmodule-2.0 Definition
17-75. libgmodule-2.0 - Glib-Dynamic loading of Modules Function Interfaces
17-76. libgobject-2.0 Definition
17-77. libgobject-2.0 - Gobject GTypeModule Function Interfaces
17-78. libgobject-2.0 - Gobject GTypeModule Deprecated Function Interfaces
17-79. libgobject-2.0 - Gobject Enums and Flags Function Interfaces
17-80. libgobject-2.0 - Gobject Signals Function Interfaces
17-81. libgobject-2.0 - Gobject Value arrays Function Interfaces
17-82. libgobject-2.0 - Gobject Value arrays Deprecated Function Interfaces
17-83. libgobject-2.0 - Gobject Generic Values Function Interfaces
17-84. libgobject-2.0 - Gobject Generic Values Deprecated Function Interfaces
17-85. libgobject-2.0 - Gobject Parameters and Values Function Interfaces
17-86. libgobject-2.0 - Gobject Parameters and Values Deprecated Function Interfaces
17-87. libgobject-2.0 - Gobject Parameters and Values Data Interfaces
17-88. libgobject-2.0 - Gobject GParamSpec Function Interfaces
17-89. libgobject-2.0 - Gobject GBoxed Function Interfaces
17-90. libgobject-2.0 - Gobject GBoxed Deprecated Function Interfaces
17-91. libgobject-2.0 - Gobject Closures Function Interfaces
17-92. libgobject-2.0 - Gobject Gobject Function Interfaces
17-93. libgobject-2.0 - Gobject GType Function Interfaces
17-94. libgobject-2.0 - Gobject GTypePlugin Function Interfaces
17-95. libgobject-2.0 - Gobject GBinding Function Interfaces
17-96. libgthread-2.0 Definition
17-97. libgthread-2.0 - Glib thread abstraction Function Interfaces
17-98. libgio-2.0 Definition
17-99. libgio-2.0 - libgio-2.0 interfaces Function Interfaces
17-100. libgio-2.0 - libgio-2.0 interfaces Deprecated Function Interfaces
17-101. libatk-1.0 Definition
17-102. libatk-1.0 - GTK Accessibility Toolkit Function Interfaces
17-103. libatk-1.0 - GTK Accessibility Toolkit Deprecated Function Interfaces
17-104. libpango-1.0 Definition
17-105. libpango-1.0 - GTK Internationalized Text Layout and Rendering library Function Interfaces
17-106. libpangocairo-1.0 Definition
17-107. libpangocairo-1.0 - Pango Cairo Rendering Function Interfaces
17-108. libpangoxft-1.0 Definition
17-109. libpangoxft-1.0 - Pango Xft Fonts and Rendering library Function Interfaces
17-110. libpangoft2-1.0 Definition
17-111. libpangoft2-1.0 - Pango Freetype Fonts and Rendering library Function Interfaces
17-112. libpangoft2-1.0 - Pango Freetype Fonts and Rendering library Deprecated Function Interfaces
17-113. libgdk_pixbuf-2.0 Definition
17-114. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Function Interfaces
17-115. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Deprecated Function Interfaces
17-116. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Data Interfaces
17-117. libgdk_pixbuf_xlib-2.0 Definition
17-118. libgdk_pixbuf_xlib-2.0 - GDK pixbuf rendering to an X drawable library Function Interfaces
17-119. libgdk-x11-2.0 Definition
17-120. libgdk-x11-2.0 - GTK Drawing toolkit Function Interfaces
17-121. libgdk-x11-2.0 - GTK Drawing toolkit Data Interfaces
17-122. libgtk-x11-2.0 Definition
17-123. libgtk-x11-2.0 - GTK main Widgets library Function Interfaces
17-124. libgtk-x11-2.0 - GTK main Widgets library Deprecated Function Interfaces
17-125. libgtk-x11-2.0 - GTK main Widgets library Data Interfaces
18-1. libQtCore Definition
18-2. Primary vtable for QDynamicPropertyChangeEvent
18-3. Primary vtable for QTimeLine
18-4. libQtCore - Qt4 Core Functions Function Interfaces
18-5. libQtCore - Qt4 Core Functions Data Interfaces
18-6. Primary vtable for QAbstractItemModel
18-7. typeinfo for QAbstractItemModel
18-8. Primary vtable for QAbstractTableModel
18-9. typeinfo for QAbstractTableModel
18-10. Primary vtable for QAbstractListModel
18-11. typeinfo for QAbstractListModel
18-12. libQtCore - Qt4 Models Function Interfaces
18-13. Primary vtable for QTextCodec
18-14. typeinfo for QTextCodec
18-15. Primary vtable for QTextCodecFactoryInterface
18-16. typeinfo for QTextCodecFactoryInterface
18-17. Primary vtable for QTranslator
18-18. typeinfo for QTranslator
18-19. Primary vtable for QSystemLocale
18-20. libQtCore - Qt4 Internationalization Function Interfaces
18-21. Primary vtable for QMimeData
18-22. typeinfo for QMimeData
18-23. libQtCore - Qt4 Containers Function Interfaces
18-24. Primary vtable for QEventLoop
18-25. typeinfo for QEventLoop
18-26. Primary vtable for QEvent
18-27. typeinfo for QEvent
18-28. Primary vtable for QTimerEvent
18-29. typeinfo for QTimerEvent
18-30. Primary vtable for QChildEvent
18-31. typeinfo for QChildEvent
18-32. Primary vtable for QCustomEvent
18-33. typeinfo for QCustomEvent
18-34. Primary vtable for QAbstractEventDispatcher
18-35. typeinfo for QAbstractEventDispatcher
18-36. libQtCore - Qt4 Events Function Interfaces
18-37. libQtCore - Qt4 Arrays Function Interfaces
18-38. Primary vtable for QTextCodecPlugin
18-39. typeinfo for QTextCodecPlugin
18-40. Primary vtable for QPluginLoader
18-41. typeinfo for QPluginLoader
18-42. Primary vtable for QLibrary
18-43. typeinfo for QLibrary
18-44. libQtCore - Qt4 Plugins Function Interfaces
18-45. Primary vtable for QTimer
18-46. typeinfo for QTimer
18-47. libQtCore - Qt4 Date and Time Function Interfaces
18-48. libQtCore - Qt4 Date and Time Deprecated Function Interfaces
18-49. Primary vtable for QFactoryInterface
18-50. typeinfo for QFactoryInterface
18-51. libQtCore - Qt4 Miscellaneous Function Interfaces
18-52. libQtCore - Qt4 Text Function Interfaces
18-53. Primary vtable for QIODevice
18-54. typeinfo for QIODevice
18-55. Primary vtable for QDataStream
18-56. typeinfo for QDataStream
18-57. Primary vtable for QTextStream
18-58. typeinfo for QTextStream
18-59. Primary vtable for QFile
18-60. typeinfo for QFile
18-61. Primary vtable for QTemporaryFile
18-62. typeinfo for QTemporaryFile
18-63. Primary vtable for QAbstractFileEngine
18-64. typeinfo for QAbstractFileEngine
18-65. Primary vtable for QAbstractFileEngineHandler
18-66. typeinfo for QAbstractFileEngineHandler
18-67. Primary vtable for QFSFileEngine
18-68. typeinfo for QFSFileEngine
18-69. Primary vtable for QProcess
18-70. typeinfo for QProcess
18-71. Primary vtable for QBuffer
18-72. typeinfo for QBuffer
18-73. Primary vtable for QSettings
18-74. typeinfo for QSettings
18-75. Primary vtable for QSignalMapper
18-76. typeinfo for QSignalMapper
18-77. Primary vtable for QSocketNotifier
18-78. typeinfo for QSocketNotifier
18-79. Primary vtable for QFileSystemWatcher
18-80. libQtCore - Qt4 Input/Output Function Interfaces
18-81. libQtCore - Qt4 Input/Output Deprecated Function Interfaces
18-82. Primary vtable for QCoreApplication
18-83. typeinfo for QCoreApplication
18-84. libQtCore - Qt4 Core Application Function Interfaces
18-85. libQtCore - Qt4 Core Application Deprecated Function Interfaces
18-86. Primary vtable for QObject
18-87. typeinfo for QObject
18-88. Primary vtable for QObjectUserData
18-89. typeinfo for QObjectUserData
18-90. Primary vtable for QObjectCleanupHandler
18-91. typeinfo for QObjectCleanupHandler
18-92. libQtCore - Qt4 Object Model Function Interfaces
18-93. Primary vtable for QThread
18-94. typeinfo for QThread
18-95. libQtCore - Qt4 Threading Function Interfaces
18-96. libQtCore - Qt4 2D Graphics Function Interfaces
18-97. libQtCore - Qt4 Internals Function Interfaces
18-98. libQtGui Definition
18-99. libQtGui - Qt4 GUI Functions Function Interfaces
18-100. libQtGui - Qt4 GUI Functions Deprecated Function Interfaces
18-101. libQtGui - Qt4 GUI Functions Data Interfaces
18-102. Primary vtable for QButtonGroup
18-103. typeinfo for QButtonGroup
18-104. Primary vtable for QGroupBox
18-105. typeinfo for QGroupBox
18-106. Primary vtable for QSplitter
18-107. typeinfo for QSplitter
18-108. Primary vtable for QSplitterHandle
18-109. typeinfo for QSplitterHandle
18-110. libQtGui - Qt4 Organizers Function Interfaces
18-111. Primary vtable for QInputEvent
18-112. typeinfo for QInputEvent
18-113. Primary vtable for QMouseEvent
18-114. typeinfo for QMouseEvent
18-115. Primary vtable for QHoverEvent
18-116. typeinfo for QHoverEvent
18-117. Primary vtable for QWheelEvent
18-118. typeinfo for QWheelEvent
18-119. Primary vtable for QTabletEvent
18-120. typeinfo for QTabletEvent
18-121. Primary vtable for QKeyEvent
18-122. typeinfo for QKeyEvent
18-123. Primary vtable for QFocusEvent
18-124. typeinfo for QFocusEvent
18-125. Primary vtable for QPaintEvent
18-126. typeinfo for QPaintEvent
18-127. Primary vtable for QMoveEvent
18-128. typeinfo for QMoveEvent
18-129. Primary vtable for QResizeEvent
18-130. typeinfo for QResizeEvent
18-131. Primary vtable for QCloseEvent
18-132. typeinfo for QCloseEvent
18-133. Primary vtable for QIconDragEvent
18-134. typeinfo for QIconDragEvent
18-135. Primary vtable for QShowEvent
18-136. typeinfo for QShowEvent
18-137. Primary vtable for QHideEvent
18-138. typeinfo for QHideEvent
18-139. Primary vtable for QContextMenuEvent
18-140. typeinfo for QContextMenuEvent
18-141. Primary vtable for QInputMethodEvent
18-142. typeinfo for QInputMethodEvent
18-143. Primary vtable for QHelpEvent
18-144. typeinfo for QHelpEvent
18-145. Primary vtable for QStatusTipEvent
18-146. typeinfo for QStatusTipEvent
18-147. Primary vtable for QWhatsThisClickedEvent
18-148. typeinfo for QWhatsThisClickedEvent
18-149. Primary vtable for QActionEvent
18-150. typeinfo for QActionEvent
18-151. Primary vtable for QFileOpenEvent
18-152. typeinfo for QFileOpenEvent
18-153. Primary vtable for QToolBarChangeEvent
18-154. typeinfo for QToolBarChangeEvent
18-155. Primary vtable for QShortcutEvent
18-156. typeinfo for QShortcutEvent
18-157. Primary vtable for QClipboardEvent
18-158. typeinfo for QClipboardEvent
18-159. Primary vtable for QWindowStateChangeEvent
18-160. typeinfo for QWindowStateChangeEvent
18-161. Primary vtable for QMenubarUpdatedEvent
18-162. typeinfo for QMenubarUpdatedEvent
18-163. libQtGui - Qt4 Events Function Interfaces
18-164. libQtGui - Qt4 Fonts Function Interfaces
18-165. libQtGui - Qt4 Colors Function Interfaces
18-166. Primary vtable for QAccessibleBridgeFactoryInterface
18-167. typeinfo for QAccessibleBridgeFactoryInterface
18-168. Primary vtable for QAccessibleBridgePlugin
18-169. typeinfo for QAccessibleBridgePlugin
18-170. Primary vtable for QAccessibleInterface
18-171. typeinfo for QAccessibleInterface
18-172. Primary vtable for QAccessibleObject
18-173. typeinfo for QAccessibleObject
18-174. Primary vtable for QAccessibleApplication
18-175. typeinfo for QAccessibleApplication
18-176. Primary vtable for QAccessibleWidget
18-177. typeinfo for QAccessibleWidget
18-178. Primary vtable for QAccessibleFactoryInterface
18-179. typeinfo for QAccessibleFactoryInterface
18-180. Primary vtable for QAccessiblePlugin
18-181. typeinfo for QAccessiblePlugin
18-182. libQtGui - Qt4 Accessibility Function Interfaces
18-183. Primary vtable for QValidator
18-184. typeinfo for QValidator
18-185. Primary vtable for QIntValidator
18-186. typeinfo for QIntValidator
18-187. Primary vtable for QDoubleValidator
18-188. typeinfo for QDoubleValidator
18-189. Primary vtable for QRegExpValidator
18-190. typeinfo for QRegExpValidator
18-191. libQtGui - Qt4 Validators Function Interfaces
18-192. Primary vtable for QImageIOPlugin
18-193. typeinfo for QImageIOPlugin
18-194. Primary vtable for QIconEnginePlugin
18-195. typeinfo for QIconEnginePlugin
18-196. Primary vtable for QPictureFormatPlugin
18-197. typeinfo for QPictureFormatPlugin
18-198. Primary vtable for QStylePlugin
18-199. typeinfo for QStylePlugin
18-200. Primary vtable for QInputContextPlugin
18-201. typeinfo for QInputContextPlugin
18-202. libQtGui - Qt4 Plugins Function Interfaces
18-203. Primary vtable for QAbstractTextDocumentLayout
18-204. typeinfo for QAbstractTextDocumentLayout
18-205. Primary vtable for QAbstractPageSetupDialog
18-206. typeinfo for QAbstractPageSetupDialog
18-207. Primary vtable for QAbstractPrintDialog
18-208. typeinfo for QAbstractPrintDialog
18-209. Primary vtable for QItemSelectionModel
18-210. typeinfo for QItemSelectionModel
18-211. Primary vtable for QAbstractScrollArea
18-212. typeinfo for QAbstractScrollArea
18-213. Primary vtable for QAbstractSpinBox
18-214. typeinfo for QAbstractSpinBox
18-215. Primary vtable for QAbstractSlider
18-216. typeinfo for QAbstractSlider
18-217. Primary vtable for QAbstractItemDelegate
18-218. typeinfo for QAbstractItemDelegate
18-219. Primary vtable for QAbstractItemView
18-220. typeinfo for QAbstractItemView
18-221. Primary vtable for QStringListModel
18-222. typeinfo for QStringListModel
18-223. Primary vtable for QDirModel
18-224. typeinfo for QDirModel
18-225. Primary vtable for QStandardItemModel
18-226. typeinfo for QStandardItemModel
18-227. Primary vtable for QAbstractProxyModel
18-228. typeinfo for QAbstractProxyModel
18-229. Primary vtable for QSortFilterProxyModel
18-230. typeinfo for QSortFilterProxyModel
18-231. Primary vtable for QItemDelegate
18-232. typeinfo for QItemDelegate
18-233. Primary vtable for QTableView
18-234. typeinfo for QTableView
18-235. Primary vtable for QTableWidgetItem
18-236. typeinfo for QTableWidgetItem
18-237. Primary vtable for QTableWidget
18-238. typeinfo for QTableWidget
18-239. Primary vtable for QTreeView
18-240. typeinfo for QTreeView
18-241. Primary vtable for QProxyModel
18-242. typeinfo for QProxyModel
18-243. Primary vtable for QHeaderView
18-244. typeinfo for QHeaderView
18-245. Primary vtable for QItemEditorFactory
18-246. typeinfo for QItemEditorFactory
18-247. Primary vtable for QTreeWidgetItem
18-248. typeinfo for QTreeWidgetItem
18-249. Primary vtable for QTreeWidget
18-250. typeinfo for QTreeWidget
18-251. Primary vtable for QAbstractButton
18-252. typeinfo for QAbstractButton
18-253. Primary vtable for QAbstractGraphicsShapeItem
18-254. Primary vtable for QCompleter
18-255. Primary vtable for QDataWidgetMapper
18-256. Primary vtable for QStandardItem
18-257. libQtGui - Qt4 Models and Views Function Interfaces
18-258. libQtGui - Qt4 Models and Views Deprecated Function Interfaces
18-259. Primary vtable for QDialog
18-260. typeinfo for QDialog
18-261. Primary vtable for QColorDialog
18-262. typeinfo for QColorDialog
18-263. Primary vtable for QFontDialog
18-264. typeinfo for QFontDialog
18-265. Primary vtable for QMessageBox
18-266. typeinfo for QMessageBox
18-267. Primary vtable for QProgressDialog
18-268. typeinfo for QProgressDialog
18-269. Primary vtable for QErrorMessage
18-270. typeinfo for QErrorMessage
18-271. Primary vtable for QFileDialog
18-272. typeinfo for QFileDialog
18-273. Primary vtable for QPrintDialog
18-274. typeinfo for QPrintDialog
18-275. Primary vtable for QPageSetupDialog
18-276. typeinfo for QPageSetupDialog
18-277. Primary vtable for QInputDialog
18-278. typeinfo for QInputDialog
18-279. Primary vtable for QFileIconProvider
18-280. typeinfo for QFileIconProvider
18-281. libQtGui - Qt4 Dialogs Function Interfaces
18-282. libQtGui - Qt4 Dialogs Deprecated Function Interfaces
18-283. Primary vtable for QDateTimeEdit
18-284. typeinfo for QDateTimeEdit
18-285. Primary vtable for QTimeEdit
18-286. typeinfo for QTimeEdit
18-287. Primary vtable for QDateEdit
18-288. typeinfo for QDateEdit
18-289. libQtGui - Qt4 Date and Time Function Interfaces
18-290. Primary vtable for QRubberBand
18-291. typeinfo for QRubberBand
18-292. Primary vtable for QShortcut
18-293. typeinfo for QShortcut
18-294. Primary vtable for QSplashScreen
18-295. typeinfo for QSplashScreen
18-296. Primary vtable for QUndoCommand
18-297. Primary vtable for QUndoStack
18-298. libQtGui - Qt4 Miscellaneous Function Interfaces
18-299. Primary vtable for QPaintDevice
18-300. typeinfo for QPaintDevice
18-301. Primary vtable for QPixmap
18-302. typeinfo for QPixmap
18-303. Primary vtable for QPicture
18-304. typeinfo for QPicture
18-305. Primary vtable for QBitmap
18-306. typeinfo for QBitmap
18-307. Primary vtable for QPictureFormatInterface
18-308. typeinfo for QPictureFormatInterface
18-309. Primary vtable for QPrinter
18-310. typeinfo for QPrinter
18-311. Primary vtable for QPrintEngine
18-312. typeinfo for QPrintEngine
18-313. libQtGui - Qt4 Paint Device Function Interfaces
18-314. libQtGui - Qt4 Paint Device Deprecated Function Interfaces
18-315. Primary vtable for QImage
18-316. typeinfo for QImage
18-317. Primary vtable for QImageIOHandler
18-318. typeinfo for QImageIOHandler
18-319. Primary vtable for QImageIOHandlerFactoryInterface
18-320. typeinfo for QImageIOHandlerFactoryInterface
18-321. Primary vtable for QMovie
18-322. typeinfo for QMovie
18-323. Primary vtable for QSound
18-324. typeinfo for QSound
18-325. libQtGui - Qt4 Multimedia Function Interfaces
18-326. libQtGui - Qt4 Multimedia Deprecated Function Interfaces
18-327. Primary vtable for QLayoutItem
18-328. typeinfo for QLayoutItem
18-329. Primary vtable for QSpacerItem
18-330. typeinfo for QSpacerItem
18-331. Primary vtable for QWidgetItem
18-332. typeinfo for QWidgetItem
18-333. Primary vtable for QLayout
18-334. typeinfo for QLayout
18-335. Primary vtable for QGridLayout
18-336. typeinfo for QGridLayout
18-337. Primary vtable for QBoxLayout
18-338. typeinfo for QBoxLayout
18-339. Primary vtable for QHBoxLayout
18-340. typeinfo for QHBoxLayout
18-341. Primary vtable for QVBoxLayout
18-342. typeinfo for QVBoxLayout
18-343. Primary vtable for QStackedLayout
18-344. typeinfo for QStackedLayout
18-345. libQtGui - Qt4 Layouts Function Interfaces
18-346. libQtGui - Qt4 Layouts Deprecated Function Interfaces
18-347. Primary vtable for QStyle
18-348. typeinfo for QStyle
18-349. Primary vtable for QCommonStyle
18-350. typeinfo for QCommonStyle
18-351. Primary vtable for QMotifStyle
18-352. typeinfo for QMotifStyle
18-353. Primary vtable for QStyleFactoryInterface
18-354. typeinfo for QStyleFactoryInterface
18-355. Primary vtable for QWindowsStyle
18-356. typeinfo for QWindowsStyle
18-357. Primary vtable for QCDEStyle
18-358. typeinfo for QCDEStyle
18-359. Primary vtable for QPlastiqueStyle
18-360. typeinfo for QPlastiqueStyle
18-361. Primary vtable for QCleanlooksStyle
18-362. libQtGui - Qt4 Style Function Interfaces
18-363. Primary vtable for QTextObject
18-364. typeinfo for QTextObject
18-365. Primary vtable for QTextBlockGroup
18-366. typeinfo for QTextBlockGroup
18-367. Primary vtable for QTextFrameLayoutData
18-368. typeinfo for QTextFrameLayoutData
18-369. Primary vtable for QTextFrame
18-370. typeinfo for QTextFrame
18-371. Primary vtable for QTextBlockUserData
18-372. typeinfo for QTextBlockUserData
18-373. Primary vtable for QTextDocument
18-374. typeinfo for QTextDocument
18-375. Primary vtable for QTextTable
18-376. typeinfo for QTextTable
18-377. Primary vtable for QTextList
18-378. typeinfo for QTextList
18-379. Primary vtable for QTextObjectInterface
18-380. typeinfo for QTextObjectInterface
18-381. Primary vtable for QSyntaxHighlighter
18-382. typeinfo for QSyntaxHighlighter
18-383. libQtGui - Qt4 Text Function Interfaces
18-384. Primary vtable for QClipboard
18-385. typeinfo for QClipboard
18-386. Primary vtable for QSessionManager
18-387. typeinfo for QSessionManager
18-388. Primary vtable for QApplication
18-389. typeinfo for QApplication
18-390. Primary vtable for QAction
18-391. typeinfo for QAction
18-392. Primary vtable for QActionGroup
18-393. typeinfo for QActionGroup
18-394. Primary vtable for QWorkspace
18-395. typeinfo for QWorkspace
18-396. Primary vtable for QSizeGrip
18-397. typeinfo for QSizeGrip
18-398. Primary vtable for QStatusBar
18-399. typeinfo for QStatusBar
18-400. Primary vtable for QToolBar
18-401. typeinfo for QToolBar
18-402. Primary vtable for QWidgetAction
18-403. typeinfo for QWidgetAction
18-404. libQtGui - Qt4 Main Window and Application Function Interfaces
18-405. Primary vtable for QMenu
18-406. typeinfo for QMenu
18-407. Primary vtable for QMenuItem
18-408. typeinfo for QMenuItem
18-409. Primary vtable for QMenuBar
18-410. typeinfo for QMenuBar
18-411. libQtGui - Qt4 Menus Function Interfaces
18-412. Primary vtable for QWidget
18-413. typeinfo for QWidget
18-414. Primary vtable for QFrame
18-415. typeinfo for QFrame
18-416. Primary vtable for QLineEdit
18-417. typeinfo for QLineEdit
18-418. Primary vtable for QSlider
18-419. typeinfo for QSlider
18-420. Primary vtable for QTabBar
18-421. typeinfo for QTabBar
18-422. Primary vtable for QTabWidget
18-423. typeinfo for QTabWidget
18-424. Primary vtable for QListView
18-425. typeinfo for QListView
18-426. Primary vtable for QListWidgetItem
18-427. typeinfo for QListWidgetItem
18-428. Primary vtable for QListWidget
18-429. typeinfo for QListWidget
18-430. Primary vtable for QDesktopWidget
18-431. typeinfo for QDesktopWidget
18-432. Primary vtable for QInputContextFactoryInterface
18-433. typeinfo for QInputContextFactoryInterface
18-434. Primary vtable for QInputContext
18-435. typeinfo for QInputContext
18-436. Primary vtable for QCheckBox
18-437. typeinfo for QCheckBox
18-438. Primary vtable for QSpinBox
18-439. typeinfo for QSpinBox
18-440. Primary vtable for QDoubleSpinBox
18-441. typeinfo for QDoubleSpinBox
18-442. Primary vtable for QLCDNumber
18-443. typeinfo for QLCDNumber
18-444. Primary vtable for QStackedWidget
18-445. typeinfo for QStackedWidget
18-446. Primary vtable for QPushButton
18-447. typeinfo for QPushButton
18-448. Primary vtable for QLabel
18-449. typeinfo for QLabel
18-450. Primary vtable for QDockWidget
18-451. typeinfo for QDockWidget
18-452. Primary vtable for QMainWindow
18-453. typeinfo for QMainWindow
18-454. Primary vtable for QTextEdit
18-455. typeinfo for QTextEdit
18-456. Primary vtable for QProgressBar
18-457. typeinfo for QProgressBar
18-458. Primary vtable for QScrollBar
18-459. typeinfo for QScrollBar
18-460. Primary vtable for QTextBrowser
18-461. typeinfo for QTextBrowser
18-462. Primary vtable for QScrollArea
18-463. typeinfo for QScrollArea
18-464. Primary vtable for QToolButton
18-465. typeinfo for QToolButton
18-466. Primary vtable for QComboBox
18-467. typeinfo for QComboBox
18-468. Primary vtable for QRadioButton
18-469. typeinfo for QRadioButton
18-470. Primary vtable for QFocusFrame
18-471. typeinfo for QFocusFrame
18-472. Primary vtable for QToolBox
18-473. typeinfo for QToolBox
18-474. Primary vtable for QDial
18-475. typeinfo for QDial
18-476. Primary vtable for QSystemTrayIcon
18-477. libQtGui - Qt4 Widgets Function Interfaces
18-478. libQtGui - Qt4 Widgets Deprecated Function Interfaces
18-479. Primary vtable for QMimeSource
18-480. typeinfo for QMimeSource
18-481. Primary vtable for QDrag
18-482. typeinfo for QDrag
18-483. Primary vtable for QDropEvent
18-484. typeinfo for QDropEvent
18-485. Primary vtable for QDragMoveEvent
18-486. typeinfo for QDragMoveEvent
18-487. Primary vtable for QDragEnterEvent
18-488. typeinfo for QDragEnterEvent
18-489. Primary vtable for QDragResponseEvent
18-490. typeinfo for QDragResponseEvent
18-491. Primary vtable for QDragLeaveEvent
18-492. typeinfo for QDragLeaveEvent
18-493. libQtGui - Qt4 Drag and Drop Function Interfaces
18-494. Primary vtable for QIconEngineFactoryInterface
18-495. typeinfo for QIconEngineFactoryInterface
18-496. Primary vtable for QIconEngine
18-497. typeinfo for QIconEngine
18-498. Primary vtable for QPaintEngine
18-499. typeinfo for QPaintEngine
18-500. Primary vtable for QGraphicsEllipseItem
18-501. Primary vtable for QGraphicsItem
18-502. Primary vtable for QGraphicsItemAnimation
18-503. Primary vtable for QGraphicsItemGroup
18-504. Primary vtable for QGraphicsLineItem
18-505. Primary vtable for QGraphicsPathItem
18-506. Primary vtable for QGraphicsPixmapItem
18-507. Primary vtable for QGraphicsPolygonItem
18-508. Primary vtable for QGraphicsRectItem
18-509. Primary vtable for QGraphicsScene
18-510. typeinfo for QGraphicsScene
18-511. Primary vtable for QGraphicsSceneContextMenuEvent
18-512. Primary vtable for QGraphicsSceneDragDropEvent
18-513. Primary vtable for QGraphicsSceneEvent
18-514. Primary vtable for QGraphicsSceneHelpEvent
18-515. Primary vtable for QGraphicsSceneHoverEvent
18-516. Primary vtable for QGraphicsSceneMouseEvent
18-517. Primary vtable for QGraphicsSceneWheelEvent
18-518. Primary vtable for QGraphicsSimpleTextItem
18-519. libQtGui - Qt4 2D Graphics Function Interfaces
18-520. libQtGui - Qt4 2D Graphics Deprecated Function Interfaces
18-521. libQtXml Definition
18-522. Primary vtable for QXmlAttributes
18-523. typeinfo for QXmlAttributes
18-524. Primary vtable for QXmlInputSource
18-525. typeinfo for QXmlInputSource
18-526. Primary vtable for QXmlReader
18-527. typeinfo for QXmlReader
18-528. Primary vtable for QXmlSimpleReader
18-529. typeinfo for QXmlSimpleReader
18-530. Primary vtable for QXmlLocator
18-531. typeinfo for QXmlLocator
18-532. Primary vtable for QXmlContentHandler
18-533. typeinfo for QXmlContentHandler
18-534. Primary vtable for QXmlErrorHandler
18-535. typeinfo for QXmlErrorHandler
18-536. Primary vtable for QXmlDTDHandler
18-537. typeinfo for QXmlDTDHandler
18-538. Primary vtable for QXmlEntityResolver
18-539. typeinfo for QXmlEntityResolver
18-540. Primary vtable for QXmlLexicalHandler
18-541. typeinfo for QXmlLexicalHandler
18-542. Primary vtable for QXmlDeclHandler
18-543. typeinfo for QXmlDeclHandler
18-544. Primary vtable for QXmlDefaultHandler
18-545. typeinfo for QXmlDefaultHandler
18-546. libQtXml - Qt4 XML Function Interfaces
18-547. libQtXml - Qt4 XML Data Interfaces
18-548. libQtOpenGL Definition
18-549. Primary vtable for QGLContext
18-550. typeinfo for QGLContext
18-551. Primary vtable for QGLWidget
18-552. typeinfo for QGLWidget
18-553. Primary vtable for QGLPixelBuffer
18-554. typeinfo for QGLPixelBuffer
18-555. Primary vtable for QGLFramebufferObject
18-556. typeinfo for QGLFramebufferObject
18-557. libQtOpenGL - Qt4 OpenGL Function Interfaces
18-558. libQtOpenGL - Qt4 OpenGL Data Interfaces
18-559. libQtSql Definition
18-560. Primary vtable for QSqlResult
18-561. typeinfo for QSqlResult
18-562. Primary vtable for QSqlDriverFactoryInterface
18-563. typeinfo for QSqlDriverFactoryInterface
18-564. Primary vtable for QSqlDriverPlugin
18-565. typeinfo for QSqlDriverPlugin
18-566. Primary vtable for QSqlDriver
18-567. typeinfo for QSqlDriver
18-568. Primary vtable for QSqlQueryModel
18-569. typeinfo for QSqlQueryModel
18-570. Primary vtable for QSqlTableModel
18-571. typeinfo for QSqlTableModel
18-572. Primary vtable for QSqlRelationalTableModel
18-573. typeinfo for QSqlRelationalTableModel
18-574. libQtSql - Qt4 SQL Function Interfaces
18-575. libQtSql - Qt4 SQL Data Interfaces
18-576. libQtSvg Definition
18-577. Primary vtable for QSvgRenderer
18-578. typeinfo for QSvgRenderer
18-579. Primary vtable for QSvgWidget
18-580. typeinfo for QSvgWidget
18-581. libQtSvg - Qt4 Svg Function Interfaces
18-582. libQtSvg - Qt4 Svg Data Interfaces
18-583. libQtNetwork Definition
18-584. Primary vtable for QHttpHeader
18-585. typeinfo for QHttpHeader
18-586. Primary vtable for QHttpResponseHeader
18-587. typeinfo for QHttpResponseHeader
18-588. Primary vtable for QHttpRequestHeader
18-589. typeinfo for QHttpRequestHeader
18-590. Primary vtable for QHttp
18-591. typeinfo for QHttp
18-592. Primary vtable for QAbstractSocket
18-593. typeinfo for QAbstractSocket
18-594. Primary vtable for QUrlInfo
18-595. typeinfo for QUrlInfo
18-596. Primary vtable for QFtp
18-597. typeinfo for QFtp
18-598. Primary vtable for QTcpServer
18-599. typeinfo for QTcpServer
18-600. Primary vtable for QUdpSocket
18-601. typeinfo for QUdpSocket
18-602. Primary vtable for QTcpSocket
18-603. typeinfo for QTcpSocket
18-604. libQtNetwork - Qt4 Network Function Interfaces
18-605. libQtNetwork - Qt4 Network Deprecated Function Interfaces
18-606. libQtNetwork - Qt4 Network Data Interfaces
19-1. libasound Definition
19-2. libasound - ALSA Configuration Interface Function Interfaces
19-3. libasound - ALSA Configuration Interface Data Interfaces
19-4. libasound - ALSA Control Interface Function Interfaces
19-5. libasound - ALSA Global defines and functions Function Interfaces
19-6. libasound - ALSA Hardware Dependant Interface Function Interfaces
19-7. libasound - ALSA High level Control Interface Function Interfaces
19-8. libasound - ALSA Input Interface Function Interfaces
19-9. libasound - ALSA MIDI Sequencer Function Interfaces
19-10. libasound - ALSA Mixer Interface Function Interfaces
19-11. libasound - ALSA Output Interface Function Interfaces
19-12. libasound - ALSA PCM Interface - General Functions Function Interfaces
19-13. libasound - ALSA PCM Interface - General Functions Deprecated Function Interfaces
19-14. libasound - ALSA PCM Interface - Access Mask Functions Function Interfaces
19-15. libasound - ALSA PCM Interface - Debug Functions Function Interfaces
19-16. libasound - ALSA PCM Interface - Description Functions Function Interfaces
19-17. libasound - ALSA PCM Interface - Direct Access (MMAP) Functions Function Interfaces
19-18. libasound - ALSA PCM Interface - Format Mask Functions Function Interfaces
19-19. libasound - ALSA PCM Interface - Hardware Parameters Function Interfaces
19-20. libasound - ALSA PCM Interface - Helper Functions Function Interfaces
19-21. libasound - ALSA PCM Interface - Software Parameters Function Interfaces
19-22. libasound - ALSA PCM Interface - Software Parameters Deprecated Function Interfaces
19-23. libasound - ALSA PCM Interface - Status Functions Function Interfaces
19-24. libasound - ALSA PCM Interface - Stream Information Function Interfaces
19-25. libasound - ALSA Sequencer Event Type Checks Data Interfaces
19-26. libasound - ALSA Error Handling Function Interfaces
19-27. libasound - ALSA RawMidi Interface Function Interfaces
19-28. libasound - ALSA Sequencer Client Interface Function Interfaces
19-29. libasound - ALSA Sequencer Event API Function Interfaces
19-30. libasound - ALSA Sequencer Event API Deprecated Function Interfaces
19-31. libasound - ALSA Sequencer Middle Level Interface Function Interfaces
19-32. libasound - ALSA Sequencer Port Interface Function Interfaces
19-33. libasound - ALSA Sequencer Port Subscription Function Interfaces
19-34. libasound - ALSA Sequencer Queue Interface Function Interfaces
19-35. libasound - ALSA Sequencer event - MIDI byte stream coder Function Interfaces
19-36. libasound - ALSA Simple Mixer Interface Function Interfaces
19-37. libasound - ALSA Timer Interface Function Interfaces
21-1. Commands And Utilities
A-1. libGL Function Interfaces
A-2. libGLU Function Interfaces
A-3. libICE Function Interfaces
A-4. libSM Function Interfaces
A-5. libX11 Function Interfaces
A-6. libXext Function Interfaces
A-7. libXft Function Interfaces
A-8. libXi Function Interfaces
A-9. libXrender Function Interfaces
A-10. libXt Function Interfaces
A-11. libXt Data Interfaces
A-12. libXtst Function Interfaces
A-13. libcairo Function Interfaces
A-14. libcairo-gobject Function Interfaces
A-15. libcairo-script-interpreter Function Interfaces
A-16. libfontconfig Function Interfaces
A-17. libfreetype Function Interfaces
A-18. libjpeg Function Interfaces
A-19. libpng12 Function Interfaces
A-20. libpng12 Data Interfaces
A-21. libtiff Function Interfaces
A-22. libxcb Function Interfaces
A-23. libxcb Data Interfaces
A-24. libatk-1.0 Function Interfaces
A-25. libgdk-x11-2.0 Function Interfaces
A-26. libgdk-x11-2.0 Data Interfaces
A-27. libgdk_pixbuf-2.0 Function Interfaces
A-28. libgdk_pixbuf-2.0 Data Interfaces
A-29. libgdk_pixbuf_xlib-2.0 Function Interfaces
A-30. libgio-2.0 Function Interfaces
A-31. libglib-2.0 Function Interfaces
A-32. libglib-2.0 Data Interfaces
A-33. libgmodule-2.0 Function Interfaces
A-34. libgobject-2.0 Function Interfaces
A-35. libgobject-2.0 Data Interfaces
A-36. libgthread-2.0 Function Interfaces
A-37. libgtk-x11-2.0 Function Interfaces
A-38. libgtk-x11-2.0 Data Interfaces
A-39. libpango-1.0 Function Interfaces
A-40. libpangocairo-1.0 Function Interfaces
A-41. libpangoft2-1.0 Function Interfaces
A-42. libpangoxft-1.0 Function Interfaces
A-43. libQtCore Function Interfaces
A-44. libQtCore Data Interfaces
A-45. libQtGui Function Interfaces
A-46. libQtGui Data Interfaces
A-47. libQtNetwork Function Interfaces
A-48. libQtNetwork Data Interfaces
A-49. libQtOpenGL Function Interfaces
A-50. libQtOpenGL Data Interfaces
A-51. libQtSql Function Interfaces
A-52. libQtSql Data Interfaces
A-53. libQtSvg Function Interfaces
A-54. libQtSvg Data Interfaces
A-55. libQtXml Function Interfaces
A-56. libQtXml Data Interfaces
A-57. libasound Function Interfaces
A-58. libasound Data Interfaces

Foreword

This is version 5.0 of the Linux Standard Base Desktop Specification, Generic Part. This specification is one of a series of volumes under the collective title Linux Standard Base:

Note that the Core and Desktop volumes consist of a generic volume augmented by an architecture-specific volume.


Status of this Document

This is a released specification, version 5.0. Other documents may supersede or augment this specification.

A list of current released Linux Standard Base (LSB) specifications is available at http://refspecs.linuxbase.org.

If you wish to make comments regarding this document in a manner that is tracked by the LSB project, please submit them using our public bug database at http://bugs.linuxbase.org. Please enter your feedback, carefully indicating the title of the section for which you are submitting feedback, and the volume and version of the specification where you found the problem, quoting the incorrect text if appropriate. If you are suggesting a new feature, please indicate what the problem you are trying to solve is. That is more important than the solution, in fact.

If you do not have or wish to create a bug database account then you can also e-mail feedback to (subscribe, archives), and arrangements will be made to transpose the comments to our public bug database.


Introduction

The LSB defines a binary interface for application programs that are compiled and packaged for LSB-conforming implementations on many different hardware architectures. A binary specification must include information specific to the computer processor architecture for which it is intended. To avoid the complexity of conditional descriptions, the specification has instead been divided into generic parts which are augmented by one of several architecture-specific parts, depending on the target processor architecture; the generic part will indicate when reference must be made to the architecture part, and vice versa.

This document should be used in conjunction with the documents it references. This document enumerates the system components it includes, but descriptions of those components may be included entirely or partly in this document, partly in other documents, or entirely in other reference documents. For example, the section that describes system service routines includes a list of the system routines supported in this interface, formal declarations of the data structures they use that are visible to applications, and a pointer to the underlying referenced specification for information about the syntax and semantics of each call. Only those routines not described in standards referenced by this document, or extensions to those standards, are described in the detail. Information referenced in this way is as much a part of this document as is the information explicitly included here.

The specification carries a version number of either the form x.y or x.y.z. This version number carries the following meaning:

  1. The first number (x) is the major version number. Versions sharing the same major version number shall be compatible in a backwards direction; that is, a newer version shall be compatible with an older version. Any deletion of a library results in a new major version number. Interfaces marked as deprecated may be removed from the specification at a major version change.

  2. The second number (y) is the minor version number. Libraries and individual interfaces may be added, but not removed. Interfaces may be marked as deprecated at a minor version change. Other minor changes may be permitted at the discretion of the LSB workgroup.

  3. The third number (z), if present, is the editorial level. Only editorial changes should be included in such versions.

Since this specification is a descriptive Application Binary Interface, and not a source level API specification, it is not possible to make a guarantee of 100% backward compatibility between major releases. However, it is the intent that those parts of the binary interface that are visible in the source level API will remain backward compatible from version to version, except where a feature marked as "Deprecated" in one release may be removed from a future release. Implementors are strongly encouraged to make use of symbol versioning to permit simultaneous support of applications conforming to different releases of this specification.

LSB is a trademark of the Linux Foundation. Developers of applications or implementations interested in using the trademark should see the Linux Foundation Certification Policy for details.


Chapter 1. Scope

1.1. General

The Linux Standard Base (LSB) defines a system interface for compiled applications and a minimal environment for support of installation scripts. Its purpose is to enable a uniform industry standard environment for high-volume applications conforming to the LSB.

These specifications are composed of two basic parts: a common part describing those parts of the interface that remain constant across all implementations of the LSB, and an architecture-specific part describing the parts of the interface that vary by processor architecture. Together, the common part and the relevant architecture-specific part for a single hardware architecture provide a complete interface specification for compiled application programs on systems that share a common hardware architecture.

The LSB contains both a set of Application Program Interfaces (APIs) and Application Binary Interfaces (ABIs). APIs may appear in the source code of portable applications, while the compiled binary of that application may use the larger set of ABIs. A conforming implementation provides all of the ABIs listed here. The compilation system may replace (e.g. by macro definition) certain APIs with calls to one or more of the underlying binary interfaces, and may insert calls to binary interfaces as needed.

The LSB is primarily a binary interface definition. Not all of the source level APIs available to applications may be contained in this specification.


1.2. Module Specific Scope

This is the common part of the Desktop module of the Linux Standard Base (LSB). This module provides the fundamental system interfaces, libraries, and runtime environment upon which all conforming applications and libraries depend requiring the LSB Desktop module depend.

The common part of LSB Desktop should be used in conjunction with an architecture-specific part. Whenever a section of the common part is supplemented by architecture-specific information, the common part includes a reference to the architecture-specific part. Architecture-specific parts of LSB Desktop may also contain additional information that is not referenced in the common part.

Interfaces described in this part of LSB Desktop are mandatory except where explicitly listed otherwise. Interfaces described in the LSB Desktop module supplement those described in the LSB Core module. They do not depend on other LSB modules.


Chapter 2. References

2.1. Normative References

The specifications listed below are referenced in whole or in part by the LSB Desktop specification. Such references may be normative or informative; a reference to specification shall only be considered normative if it is explicitly cited as such. The LSB Desktop specification may make normative references to a portion of these specifications (that is, to define a specific function or group of functions); in such cases, only the explicitly referenced portion of the specification is to be considered normative.

Table 2-1. Normative References

NameTitleURL
ATK 2.2.0 Reference ManualATK 2.2.0 Reference Manualhttp://developer.gnome.org/atk/2.2/index.html
Double Buffer Extension LibraryDouble Buffer Extension Library - Protocol Version 1.0http://refspecs.linux-foundation.org/X11/dbelib.pdf
Fontconfig Developers ReferenceFontconfig Developers Reference, Version 2.6.0http://refspecs.linuxfoundation.org/fontconfig-2.6.0
Gdk 2.10.14 Reference ManualGdk 2.10.14 Reference Manualhttp://library.gnome.org/devel/gdk/2.10/
Gdk-pixbuf 2.26.0 Reference ManualGdk-pixbuf 2.26.0 Reference Manualhttp://developer.gnome.org/gdk-pixbuf/2.26
Gio 2.32 Reference ManualGio 2.32 Reference Manualhttp://developer.gnome.org/gio/2.32
Glib 2.32 Reference ManualGlib 2.32 Reference Manualhttp://developer.gnome.org/glib/2.32
Gobject 2.32 Reference ManualGobject 2.32 Reference Manualhttp://developer.gnome.org/gobject/2.32
Gtk+ 2.10.14 Reference ManualGtk+ 2.10.14 Reference Manualhttp://library.gnome.org/devel/gtk/2.10/
ISO C (1999)ISO/IEC 9899:1999 - Programming Languages -- C
ISO/IEC 14882: 2003 C++ LanguageISO/IEC 14882: 2003 Programming languages --C++
Itanium™ C++ ABIItanium™ C++ ABI (Revision 1.86)http://refspecs.linuxfoundation.org/cxxabi-1.86.html
Libtiff 4.0.2 Reference ManualLibtiff 4.0.2 Reference Manualhttp://www.libtiff.org/man/index.html
Libxcb APILibxcb APIhttp://xcb.freedesktop.org/XcbApi/
OpenGL 2.1The OpenGL® Graphics System: A Specification (Version 2.1)http://www.opengl.org/registry/doc/glspec21.20061201.pdf
OpenGL ABIOpenGL® Application Binary Interface for Linuxhttp://www.opengl.org/registry/ABI/
OpenGL ExtensionsOpenGL® Graphics with the X Window System® (Version 1.3)http://opengl.org/documentation/specs/glx/glx1.3.pdf
OpenGL UtilitiesThe OpenGL Graphics System Utility Library (Version 1.3)http://www.opengl.org/documentation/specs/glu/glu1_3.pdf
Pango 1.30.1 Reference ManualPango 1.30.1 Reference Manualhttp://developer.gnome.org/pango/1.30/index.html
POSIX 1003.1-2008 (ISO/IEC 9945-2009)Portable Operating System Interface (POSIX®) 2008 Edition / The Open Group Technical Standard Base Specifications, Issue 7http://www.unix.org/version4/
QtCore 4.2.0Qt 4.2.0 Reference Manualhttp://doc.qt.digia.com/4.2/qtcore.html
QtGui 4.2.0Qt 4.2.0 Reference Manualhttp://doc.qt.digia.com/4.2/qtgui.html
QtNetwork 4.2.0Qt 4.2.0 Reference Manualhttp://doc.qt.digia.com/4.2/qtnetwork.html
QtOpenGL 4.2.0Qt 4.2.0 Reference Manualhttp://doc.qt.digia.com/4.2/qtopengl.html
QtSql 4.2.0Qt 4.2.0 Reference Manualhttp://doc.qt.digia.com/4.2/qtsql.html
QtSvg 4.2.0Qt 4.2.0 Reference Manualhttp://doc.qt.digia.com/4.2/qtsvg.html
QtXml 4.2.0Qt 4.2.0 Reference Manualhttp://doc.qt.digia.com/4.2/qtxml.html
The MIT Shared Memory ExtensionMIT-SHM - The MIT Shared Memory Extension - X version 11, Release 5http://refspecs.linux-foundation.org/X11/mit-shm.pdf
X Display Power Management SignalingX Display Power Management Signaling (DPMS) Extension - Library Specificationi - Version 1.0http://refspecs.linux-foundation.org/X11/DPMSlib.pdf
X Extended Visual Interface ExtensionExtended Visual Information Extension - Version 1.0http://refspecs.linux-foundation.org/X11/evi.pdf
X Nonrectangular Window Shape Extension LibraryX Nonrectangular Window Shape Extension Library - Version 1.0http://refspecs.linux-foundation.org/X11/shapelib.pdf
X Record Extension LibraryX Record Extension Library - Version 1.13http://refspecs.linux-foundation.org/X11/recordlib.pdf
X Security Extension SpecificationSecurity Extension Specification - Version 7.1http://refspecs.linux-foundation.org/X11/security.pdf
X Synchronization Extension LibraryX Synchronization Extension Library - Version 3.0http://refspecs.linux-foundation.org/X11/synclib.pdf
X11 C LibraryXlib - C Language X Interface - X Version 11 Release 6.4http://refspecs.linux-foundation.org/X11/xlib.pdf
X11 Input LibraryX Input Device Extension Library - X Version 11, Release 6.4http://refspecs.linux-foundation.org/X11/Xinput.pdf
X11 Inter-Client ExchangeInter-Client Exchange Library - Version 1.0http://refspecs.linux-foundation.org/X11/ICElib.pdf
X11 Keyboard ExtensionX Keyboard Extension Library Specification - X Version 11, Release 6.4http://refspecs.linux-foundation.org/X11/XKBlib.pdf
X11 Session ManagementX Session Management Library - Version 1.0http://refspecs.linux-foundation.org/X11/SMlib.pdf
X11 Toolkit IntrinsicsX Toolkit Intrinsics - C Language Interface - X Version 11, Release 6.4http://refspecs.linux-foundation.org/X11/intrinsics.pdf
Xft PlaceholderXft Specification Placeholder
Xrender PlaceholderXrender Specification Placeholderhttp://refspecs.linux-foundation.org/X11/XRenderProtocol.html
XTEST Extension LibraryXTEST Extension Library - Version 2.2http://refspecs.linux-foundation.org/X11/xtestlib.pdf

2.2. Informative References/Bibliography

In addition, the specifications listed below provide essential background information to implementors of this specification. These references are included for information only.

Table 2-2. Other References

NameTitleURL
A description on how to use and modify libpngA description on how to use and modify libpnghttp://www.libpng.org/pub/png/libpng-1.2.5-manual.html
ALSA Library API ReferenceALSA Library API Referencehttp://www.alsa-project.org/alsa-doc/alsa-lib/
Base Directory SpecXDG Base Directory Specification Version 0.6http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
Cairo API ReferenceCairo Vector Graphics API Specification for 1.12.4http://cairographics.org/manual-1.12.4
Desktop Entry SpecDesktop Entry Specification Version 1.0http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html
Desktop Menu SpecDesktop Menu Specification Version 1.0http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html
FreeType 2.2 ReferenceFreeType 2.2.1 API Referencehttp://refspecs.linuxfoundation.org/freetype/freetype-doc-2.2.1/docs/reference/ft2-toc.html
Icon Theme SpecIcon Theme Specification Version 0.11http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-0.11.html
Independent JPEG GroupIndependent JPEG Grouphttp://www.ijg.org/
xdg-utils referencePortland Project XDG Utilities Reference 1.0http://portland.freedesktop.org/xdg-utils-1.0/

Chapter 3. Requirements

3.1. Relevant Libraries

The libraries listed in Table 3-1 shall be available on a Linux Standard Base - Desktop system, with the specified runtime names. This list may be supplemented or amended by the architecture-specific specification.

Table 3-1. Standard Library Names

LibraryRuntime Name
libGLlibGL.so.1
libGLUlibGLU.so.1
libICElibICE.so.6
libQtCorelibQtCore.so.4
libQtGuilibQtGui.so.4
libQtNetworklibQtNetwork.so.4
libQtOpenGLlibQtOpenGL.so.4
libQtSqllibQtSql.so.4
libQtSvglibQtSvg.so.4
libQtXmllibQtXml.so.4
libSMlibSM.so.6
libX11libX11.so.6
libXextlibXext.so.6
libXftlibXft.so.2
libXilibXi.so.6
libXrenderlibXrender.so.1
libXtlibXt.so.6
libXtstlibXtst.so.6
libasoundlibasound.so.2
libatk-1.0libatk-1.0.so.0
libcairolibcairo.so.2
libcairo-gobjectlibcairo-gobject.so.2
libcairo-script-interpreterlibcairo-script-interpreter.so.2
libfontconfiglibfontconfig.so.1
libfreetypelibfreetype.so.6
libgdk-x11-2.0libgdk-x11-2.0.so.0
libgdk_pixbuf-2.0libgdk_pixbuf-2.0.so.0
libgdk_pixbuf_xlib-2.0libgdk_pixbuf_xlib-2.0.so.0
libgio-2.0libgio-2.0.so.0
libglib-2.0libglib-2.0.so.0
libgmodule-2.0libgmodule-2.0.so.0
libgobject-2.0libgobject-2.0.so.0
libgthread-2.0libgthread-2.0.so.0
libgtk-x11-2.0libgtk-x11-2.0.so.0
libjpeglibjpeg.so.62
libpango-1.0libpango-1.0.so.0
libpangocairo-1.0libpangocairo-1.0.so.0
libpangoft2-1.0libpangoft2-1.0.so.0
libpangoxft-1.0libpangoxft-1.0.so.0
libpng12libpng12.so.0
libtifflibtiff.so.5
libxcblibxcb.so.1

These libraries will be in an implementation-defined directory which the dynamic linker shall search by default.


Chapter 4. Terms and Definitions

For the purposes of this document, the terms given in ISO/IEC Directives, Part 2, Annex H and the following apply.

archLSB

Some LSB specification documents have both a generic, architecture-neutral part and an architecture-specific part. The latter describes elements whose definitions may be unique to a particular processor architecture. The term archLSB may be used in the generic part to refer to the corresponding section of the architecture-specific part.

Binary Standard, ABI

The total set of interfaces that are available to be used in the compiled binary code of a conforming application, including the run-time details such as calling conventions, binary format, C++ name mangling, etc.

Implementation-defined

Describes a value or behavior that is not defined by this document but is selected by an implementor. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence of the value or behavior. An application that relies on such a value or behavior cannot be assured to be portable across conforming implementations. The implementor shall document such a value or behavior so that it can be used correctly by an application.

Shell Script

A file that is read by an interpreter (e.g., awk). The first line of the shell script includes a reference to its interpreter binary.

Source Standard, API

The total set of interfaces that are available to be used in the source code of a conforming application. Due to translations, the Binary Standard and the Source Standard may contain some different interfaces.

Undefined

Describes the nature of a value or behavior not defined by this document which results from use of an invalid program construct or invalid data input. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot be assured to be portable across conforming implementations.

Unspecified

Describes the nature of a value or behavior not specified by this document which results from use of a valid program construct or valid data input. The value or behavior may vary among implementations that conform to this document. An application should not rely on the existence or validity of the value or behavior. An application that relies on any particular value or behavior cannot be assured to be portable across conforming implementations.

In addition, for the portions of this specification which build on IEEE Std 1003.1-2001, the definitions given in IEEE Std 1003.1-2001, Base Definitions, Chapter 3 apply.


Chapter 5. Documentation Conventions

Throughout this document, the following typographic conventions are used:

function() 

the name of a function

command 

the name of a command or utility

CONSTANT 

a constant value

parameter 

a parameter

variable 

a variable

Throughout this specification, several tables of interfaces are presented. Each entry in these tables has the following format:

name 

the name of the interface

(symver) 

An optional symbol version identifier, if required.

[refno] 

A reference number indexing the table of referenced specifications that follows this table.

For example,

forkpty(GLIBC_2.0) [SUSv4]

refers to the interface named forkpty() with symbol version GLIBC_2.0 that is defined in the reference indicated by the tag SUSv4.

Note: For symbols with versions which differ between architectures, the symbol versions are defined in the architecture specific parts of of this module specification only. In the generic part, they will appear without symbol versions.

II. Graphic Libraries

Table of Contents
6. Libraries
6.1. Interfaces for libX11
6.1.1. X Window System Interface
6.2. Data Definitions for libX11
6.2.1. X11/X.h
6.2.2. X11/XKBlib.h
6.2.3. X11/Xarch.h
6.2.4. X11/Xatom.h
6.2.5. X11/Xauth.h
6.2.6. X11/Xcms.h
6.2.7. X11/Xfuncproto.h
6.2.8. X11/Xfuncs.h
6.2.9. X11/Xlib.h
6.2.10. X11/Xlibint.h
6.2.11. X11/Xmd.h
6.2.12. X11/Xos.h
6.2.13. X11/Xosdefs.h
6.2.14. X11/Xproto.h
6.2.15. X11/Xprotostr.h
6.2.16. X11/Xresource.h
6.2.17. X11/Xutil.h
6.2.18. X11/cursorfont.h
6.2.19. X11/extensions/XKB.h
6.2.20. X11/extensions/XKBgeom.h
6.2.21. X11/extensions/XKBproto.h
6.2.22. X11/extensions/XKBstr.h
6.2.23. X11/extensions/securstr.h
6.2.24. X11/keysym.h
6.2.25. X11/keysymdef.h
6.3. Interface Definitions for libX11
6.4. Interfaces for libSM
6.4.1. Session Management Functions
6.5. Data Definitions for libSM
6.5.1. X11/SM/SM.h
6.5.2. X11/SM/SMlib.h
6.5.3. X11/SM/SMproto.h
6.6. Interfaces for libICE
6.6.1. ICE Functions
6.7. Data Definitions for libICE
6.7.1. X11/ICE/ICE.h
6.7.2. X11/ICE/ICEconn.h
6.7.3. X11/ICE/ICElib.h
6.7.4. X11/ICE/ICEmsg.h
6.7.5. X11/ICE/ICEproto.h
6.7.6. X11/ICE/ICEutil.h
6.8. Interface Definitions for libICE
_IceRead -- read the specified number of bytes from an ICE connection
_IceReadSkip -- advance to the end of the message when a bad header is read
_IceWrite -- write the specified number of bytes of data to an ICE connection
6.9. Interfaces for libXt
6.9.1. X Toolkit
6.10. Data Definitions for libXt
6.10.1. X11/Composite.h
6.10.2. X11/CompositeP.h
6.10.3. X11/ConstrainP.h
6.10.4. X11/Constraint.h
6.10.5. X11/Core.h
6.10.6. X11/CoreP.h
6.10.7. X11/EventI.h
6.10.8. X11/Intrinsic.h
6.10.9. X11/IntrinsicI.h
6.10.10. X11/IntrinsicP.h
6.10.11. X11/Object.h
6.10.12. X11/ObjectP.h
6.10.13. X11/RectObj.h
6.10.14. X11/RectObjP.h
6.10.15. X11/ResourceI.h
6.10.16. X11/Shell.h
6.10.17. X11/ShellP.h
6.10.18. X11/StringDefs.h
6.10.19. X11/TranslateI.h
6.10.20. X11/VendorP.h
6.10.21. lsb/Composite.h
6.10.22. lsb/Intrinsic.h
6.11. Interface Definitions for libXt
_XtCopyFromArg -- Copy "size" bytes from src to dst.
_XtInherit -- inheritance operation.
_XtInheritTranslations -- an inheritance constant
_XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass.
6.12. Interfaces for libXext
6.12.1. libXext interfaces
6.12.2. X Shape Extension
6.12.3. X Display Power Management Signaling Extension
6.12.4. X Shared Memory Extensions
6.12.5. X Synchronization Extension
6.12.6. X Security Extension
6.12.7. X Double Buffer Extension
6.12.8. X Extended Visual Interface Extension
6.13. Data Definitions for libXext
6.13.1. X11/extensions/EVIproto.h
6.13.2. X11/extensions/XEVI.h
6.13.3. X11/extensions/XEVIstr.h
6.13.4. X11/extensions/XKBbells.h
6.13.5. X11/extensions/XShm.h
6.13.6. X11/extensions/Xdbe.h
6.13.7. X11/extensions/Xdbeproto.h
6.13.8. X11/extensions/Xext.h
6.13.9. X11/extensions/dbeproto.h
6.13.10. X11/extensions/dpms.h
6.13.11. X11/extensions/dpmsproto.h
6.13.12. X11/extensions/dpmsstr.h
6.13.13. X11/extensions/extutil.h
6.13.14. X11/extensions/security.h
6.13.15. X11/extensions/securproto.h
6.13.16. X11/extensions/shape.h
6.13.17. X11/extensions/shapeproto.h
6.13.18. X11/extensions/shmproto.h
6.13.19. X11/extensions/sync.h
6.13.20. X11/extensions/syncproto.h
6.13.21. X11/extensions/syncstr.h
6.13.22. X11/extensions/xtestproto.h
6.14. Interface Definitions for libXext
6.15. Interfaces for libXi
6.15.1. XInput
6.16. Data Definitions for libXi
6.16.1. X11/extensions/XI.h
6.16.2. X11/extensions/XInput.h
6.16.3. X11/extensions/XIproto.h
6.17. Interfaces for libXtst
6.17.1. libXtst Interfaces
6.18. Data Definitions for libXtst
6.18.1. X11/extensions/XTest.h
6.19. Interfaces for libxcb
6.19.1. libxcb interfaces
6.20. Data Definitions for libxcb
6.20.1. xcb/bigreq.h
6.20.2. xcb/xc_misc.h
6.20.3. xcb/xcb.h
6.20.4. xcb/xcbext.h
6.20.5. xcb/xproto.h
6.21. Interface Definitions for libxcb

Chapter 6. Libraries

The X Libraries should be built thread-safe.


6.1. Interfaces for libX11

Table 6-1 defines the library name and shared object name for the libX11 library

Table 6-1. libX11 Definition

Library:libX11
SONAME:libX11.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[LSB] This Specification
[XKBlib] X11 Keyboard Extension
[Xlib] X11 C Library


6.1.1. X Window System Interface


6.1.1.1. Interfaces for X Window System Interface

An LSB conforming implementation shall provide the generic functions for X Window System Interface specified in Table 6-2, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-2. libX11 - X Window System Interface Function Interfaces

XActivateScreenSaver [Xlib]XAddConnectionWatch [Xlib]XAddExtension [Xlib]XAddHost [Xlib]
XAddHosts [Xlib]XAddPixel [Xlib]XAddToExtensionList [Xlib]XAddToSaveSet [Xlib]
XAllPlanes [Xlib]XAllocClassHint [Xlib]XAllocColor [Xlib]XAllocColorCells [Xlib]
XAllocColorPlanes [Xlib]XAllocIconSize [Xlib]XAllocNamedColor [Xlib]XAllocSizeHints [Xlib]
XAllocStandardColormap [Xlib]XAllocWMHints [Xlib]XAllowEvents [Xlib]XAutoRepeatOff [Xlib]
XAutoRepeatOn [Xlib]XBaseFontNameListOfFontSet [Xlib]XBell [Xlib]XBitmapBitOrder [Xlib]
XBitmapPad [Xlib]XBitmapUnit [Xlib]XBlackPixel [Xlib]XBlackPixelOfScreen [Xlib]
XCellsOfScreen [Xlib]XChangeActivePointerGrab [Xlib]XChangeGC [Xlib]XChangeKeyboardControl [Xlib]
XChangeKeyboardMapping [Xlib]XChangePointerControl [Xlib]XChangeProperty [Xlib]XChangeSaveSet [Xlib]
XChangeWindowAttributes [Xlib]XCheckIfEvent [Xlib]XCheckMaskEvent [Xlib]XCheckTypedEvent [Xlib]
XCheckTypedWindowEvent [Xlib]XCheckWindowEvent [Xlib]XCirculateSubwindows [Xlib]XCirculateSubwindowsDown [Xlib]
XCirculateSubwindowsUp [Xlib]XClearArea [Xlib]XClearWindow [Xlib]XClipBox [Xlib]
XCloseDisplay [Xlib]XCloseIM [Xlib]XCloseOM [Xlib]XConfigureWindow [Xlib]
XConnectionNumber [Xlib]XContextDependentDrawing [Xlib]XContextualDrawing [Xlib]XConvertCase [Xlib]
XConvertSelection [Xlib]XCopyArea [Xlib]XCopyColormapAndFree [Xlib]XCopyGC [Xlib]
XCopyPlane [Xlib]XCreateBitmapFromData [Xlib]XCreateColormap [Xlib]XCreateFontCursor [Xlib]
XCreateFontSet [Xlib]XCreateGC [Xlib]XCreateGlyphCursor [Xlib]XCreateIC [Xlib]
XCreateImage [Xlib]XCreateOC [Xlib]XCreatePixmap [Xlib]XCreatePixmapCursor [Xlib]
XCreatePixmapFromBitmapData [Xlib]XCreateRegion [Xlib]XCreateSimpleWindow [Xlib]XCreateWindow [Xlib]
XDefaultColormap [Xlib]XDefaultColormapOfScreen [Xlib]XDefaultDepth [Xlib]XDefaultDepthOfScreen [Xlib]
XDefaultGC [Xlib]XDefaultGCOfScreen [Xlib]XDefaultRootWindow [Xlib]XDefaultScreen [Xlib]
XDefaultScreenOfDisplay [Xlib]XDefaultString [Xlib]XDefaultVisual [Xlib]XDefaultVisualOfScreen [Xlib]
XDefineCursor [Xlib]XDeleteContext [Xlib]XDeleteModifiermapEntry [Xlib]XDeleteProperty [Xlib]
XDestroyIC [Xlib]XDestroyImage [Xlib]XDestroyOC [Xlib]XDestroyRegion [Xlib]
XDestroySubwindows [Xlib]XDestroyWindow [Xlib]XDirectionalDependentDrawing [Xlib]XDisableAccessControl [Xlib]
XDisplayCells [Xlib]XDisplayHeight [Xlib]XDisplayHeightMM [Xlib]XDisplayKeycodes [Xlib]
XDisplayMotionBufferSize [Xlib]XDisplayName [Xlib]XDisplayOfIM [Xlib]XDisplayOfOM [Xlib]
XDisplayOfScreen [Xlib]XDisplayPlanes [Xlib]XDisplayString [Xlib]XDisplayWidth [Xlib]
XDisplayWidthMM [Xlib]XDoesBackingStore [Xlib]XDoesSaveUnders [Xlib]XDrawArc [Xlib]
XDrawArcs [Xlib]XDrawImageString [Xlib]XDrawImageString16 [Xlib]XDrawLine [Xlib]
XDrawLines [Xlib]XDrawPoint [Xlib]XDrawPoints [Xlib]XDrawRectangle [Xlib]
XDrawRectangles [Xlib]XDrawSegments [Xlib]XDrawString [Xlib]XDrawString16 [Xlib]
XDrawText [Xlib]XDrawText16 [Xlib]XEHeadOfExtensionList [Xlib]XESetBeforeFlush [Xlib]
XESetCloseDisplay [Xlib]XESetCopyGC [Xlib]XESetCreateFont [Xlib]XESetCreateGC [Xlib]
XESetError [Xlib]XESetErrorString [Xlib]XESetEventToWire [Xlib]XESetFlushGC [Xlib]
XESetFreeFont [Xlib]XESetFreeGC [Xlib]XESetPrintErrorValues [Xlib]XESetWireToError [Xlib]
XESetWireToEvent [Xlib]XEmptyRegion [Xlib]XEnableAccessControl [Xlib]XEqualRegion [Xlib]
XEventMaskOfScreen [Xlib]XEventsQueued [Xlib]XExtendedMaxRequestSize [Xlib]XExtentsOfFontSet [Xlib]
XFetchBuffer [Xlib]XFetchBytes [Xlib]XFetchName [Xlib]XFillArc [Xlib]
XFillArcs [Xlib]XFillPolygon [Xlib]XFillRectangle [Xlib]XFillRectangles [Xlib]
XFilterEvent [Xlib]XFindContext [Xlib]XFindOnExtensionList [Xlib]XFlush [Xlib]
XFlushGC [Xlib]XFontsOfFontSet [Xlib]XForceScreenSaver [Xlib]XFree [Xlib]
XFreeColormap [Xlib]XFreeColors [Xlib]XFreeCursor [Xlib]XFreeExtensionList [Xlib]
XFreeFont [Xlib]XFreeFontInfo [Xlib]XFreeFontNames [Xlib]XFreeFontPath [Xlib]
XFreeFontSet [Xlib]XFreeGC [Xlib]XFreeModifiermap [Xlib]XFreePixmap [Xlib]
XFreeStringList [Xlib]XGContextFromGC [Xlib]XGeometry [Xlib]XGetAtomName [Xlib]
XGetAtomNames [Xlib]XGetClassHint [Xlib]XGetCommand [Xlib]XGetDefault [Xlib]
XGetErrorDatabaseText [Xlib]XGetErrorText [Xlib]XGetFontPath [Xlib]XGetFontProperty [Xlib]
XGetGCValues [Xlib]XGetGeometry [Xlib]XGetICValues [Xlib]XGetIMValues [Xlib]
XGetIconName [Xlib]XGetIconSizes [Xlib]XGetImage [Xlib]XGetInputFocus [Xlib]
XGetKeyboardControl [Xlib]XGetKeyboardMapping [Xlib]XGetModifierMapping [Xlib]XGetMotionEvents [Xlib]
XGetNormalHints [Xlib]XGetOCValues [Xlib]XGetOMValues [Xlib]XGetPixel [Xlib]
XGetPointerControl [Xlib]XGetPointerMapping [Xlib]XGetRGBColormaps [Xlib]XGetScreenSaver [Xlib]
XGetSelectionOwner [Xlib]XGetSizeHints [Xlib]XGetStandardColormap [Xlib]XGetSubImage [Xlib]
XGetTextProperty [Xlib]XGetTransientForHint [Xlib]XGetVisualInfo [Xlib]XGetWMClientMachine [Xlib]
XGetWMColormapWindows [Xlib]XGetWMHints [Xlib]XGetWMIconName [Xlib]XGetWMName [Xlib]
XGetWMNormalHints [Xlib]XGetWMProtocols [Xlib]XGetWMSizeHints [Xlib]XGetWindowAttributes [Xlib]
XGetWindowProperty [Xlib]XGetZoomHints [Xlib]XGrabButton [Xlib]XGrabKey [Xlib]
XGrabKeyboard [Xlib]XGrabPointer [Xlib]XGrabServer [Xlib]XHeightMMOfScreen [Xlib]
XHeightOfScreen [Xlib]XIMOfIC [Xlib]XIconifyWindow [Xlib]XIfEvent [Xlib]
XImageByteOrder [Xlib]XInitExtension [Xlib]XInitImage [Xlib]XInitThreads [Xlib]
XInsertModifiermapEntry [Xlib]XInstallColormap [Xlib]XInternAtom [Xlib]XInternAtoms [Xlib]
XInternalConnectionNumbers [Xlib]XIntersectRegion [Xlib]XKeycodeToKeysym [Xlib]XKeysymToKeycode [Xlib]
XKeysymToString [Xlib]XKillClient [Xlib]XLastKnownRequestProcessed [Xlib]XListDepths [Xlib]
XListExtensions [Xlib]XListFonts [Xlib]XListFontsWithInfo [Xlib]XListHosts [Xlib]
XListInstalledColormaps [Xlib]XListPixmapFormats [Xlib]XListProperties [Xlib]XLoadFont [Xlib]
XLoadQueryFont [Xlib]XLocaleOfFontSet [Xlib]XLocaleOfIM [Xlib]XLocaleOfOM [Xlib]
XLockDisplay [Xlib]XLookupColor [Xlib]XLookupKeysym [Xlib]XLookupString [Xlib]
XLowerWindow [Xlib]XMapRaised [Xlib]XMapSubwindows [Xlib]XMapWindow [Xlib]
XMaskEvent [Xlib]XMatchVisualInfo [Xlib]XMaxCmapsOfScreen [Xlib]XMaxRequestSize [Xlib]
XMinCmapsOfScreen [Xlib]XMoveResizeWindow [Xlib]XMoveWindow [Xlib]XNewModifiermap [Xlib]
XNextEvent [Xlib]XNextRequest [Xlib]XNoOp [Xlib]XOMOfOC [Xlib]
XOffsetRegion [Xlib]XOpenDisplay [Xlib]XOpenIM [Xlib]XOpenOM [Xlib]
XParseColor [Xlib]XParseGeometry [Xlib]XPeekEvent [Xlib]XPeekIfEvent [Xlib]
XPending [Xlib]XPlanesOfScreen [Xlib]XPointInRegion [Xlib]XPolygonRegion [Xlib]
XProcessInternalConnection [Xlib]XProtocolRevision [Xlib]XProtocolVersion [Xlib]XPutBackEvent [Xlib]
XPutImage [Xlib]XPutPixel [Xlib]XQLength [Xlib]XQueryBestCursor [Xlib]
XQueryBestSize [Xlib]XQueryBestStipple [Xlib]XQueryBestTile [Xlib]XQueryColor [Xlib]
XQueryColors [Xlib]XQueryExtension [Xlib]XQueryFont [Xlib]XQueryKeymap [Xlib]
XQueryPointer [Xlib]XQueryTextExtents [Xlib]XQueryTextExtents16 [Xlib]XQueryTree [Xlib]
XRaiseWindow [Xlib]XReadBitmapFile [Xlib]XReadBitmapFileData [Xlib]XRebindKeysym [Xlib]
XRecolorCursor [Xlib]XReconfigureWMWindow [Xlib]XRectInRegion [Xlib]XRefreshKeyboardMapping [Xlib]
XRegisterIMInstantiateCallback [Xlib]XRemoveConnectionWatch [Xlib]XRemoveFromSaveSet [Xlib]XRemoveHost [Xlib]
XRemoveHosts [Xlib]XReparentWindow [Xlib]XResetScreenSaver [Xlib]XResizeWindow [Xlib]
XResourceManagerString [Xlib]XRestackWindows [Xlib]XRootWindow [Xlib]XRootWindowOfScreen [Xlib]
XRotateBuffers [Xlib]XRotateWindowProperties [Xlib]XSaveContext [Xlib]XScreenCount [Xlib]
XScreenNumberOfScreen [Xlib]XScreenOfDisplay [Xlib]XScreenResourceString [Xlib]XSelectInput [Xlib]
XSendEvent [Xlib]XServerVendor [Xlib]XSetAccessControl [Xlib]XSetAfterFunction [Xlib]
XSetArcMode [Xlib]XSetAuthorization [Xlib]XSetBackground [Xlib]XSetClassHint [Xlib]
XSetClipMask [Xlib]XSetClipOrigin [Xlib]XSetClipRectangles [Xlib]XSetCloseDownMode [Xlib]
XSetCommand [Xlib]XSetDashes [Xlib]XSetErrorHandler [Xlib]XSetFillRule [Xlib]
XSetFillStyle [Xlib]XSetFont [Xlib]XSetFontPath [Xlib]XSetForeground [Xlib]
XSetFunction [Xlib]XSetGraphicsExposures [Xlib]XSetICFocus [Xlib]XSetICValues [Xlib]
XSetIMValues [Xlib]XSetIOErrorHandler [Xlib]XSetIconName [Xlib]XSetIconSizes [Xlib]
XSetInputFocus [Xlib]XSetLineAttributes [Xlib]XSetLocaleModifiers [Xlib]XSetModifierMapping [Xlib]
XSetNormalHints [Xlib]XSetOCValues [Xlib]XSetOMValues [Xlib]XSetPlaneMask [Xlib]
XSetPointerMapping [Xlib]XSetRGBColormaps [Xlib]XSetRegion [Xlib]XSetScreenSaver [Xlib]
XSetSelectionOwner [Xlib]XSetSizeHints [Xlib]XSetStandardColormap [Xlib]XSetStandardProperties [Xlib]
XSetState [Xlib]XSetStipple [Xlib]XSetSubwindowMode [Xlib]XSetTSOrigin [Xlib]
XSetTextProperty [Xlib]XSetTile [Xlib]XSetTransientForHint [Xlib]XSetWMClientMachine [Xlib]
XSetWMColormapWindows [Xlib]XSetWMHints [Xlib]XSetWMIconName [Xlib]XSetWMName [Xlib]
XSetWMNormalHints [Xlib]XSetWMProperties [Xlib]XSetWMProtocols [Xlib]XSetWMSizeHints [Xlib]
XSetWindowBackground [Xlib]XSetWindowBackgroundPixmap [Xlib]XSetWindowBorder [Xlib]XSetWindowBorderPixmap [Xlib]
XSetWindowBorderWidth [Xlib]XSetWindowColormap [Xlib]XSetZoomHints [Xlib]XShrinkRegion [Xlib]
XStoreBuffer [Xlib]XStoreBytes [Xlib]XStoreColor [Xlib]XStoreColors [Xlib]
XStoreName [Xlib]XStoreNamedColor [Xlib]XStringListToTextProperty [Xlib]XStringToKeysym [Xlib]
XSubImage [Xlib]XSubtractRegion [Xlib]XSupportsLocale [Xlib]XSync [Xlib]
XSynchronize [Xlib]XTextExtents [Xlib]XTextExtents16 [Xlib]XTextPropertyToStringList [Xlib]
XTextWidth [Xlib]XTextWidth16 [Xlib]XTranslateCoordinates [Xlib]XUndefineCursor [Xlib]
XUngrabButton [Xlib]XUngrabKey [Xlib]XUngrabKeyboard [Xlib]XUngrabPointer [Xlib]
XUngrabServer [Xlib]XUninstallColormap [Xlib]XUnionRectWithRegion [Xlib]XUnionRegion [Xlib]
XUnloadFont [Xlib]XUnlockDisplay [Xlib]XUnmapSubwindows [Xlib]XUnmapWindow [Xlib]
XUnregisterIMInstantiateCallback [Xlib]XUnsetICFocus [Xlib]XVaCreateNestedList [Xlib]XVendorRelease [Xlib]
XVisualIDFromVisual [Xlib]XWMGeometry [Xlib]XWarpPointer [Xlib]XWhitePixel [Xlib]
XWhitePixelOfScreen [Xlib]XWidthMMOfScreen [Xlib]XWidthOfScreen [Xlib]XWindowEvent [Xlib]
XWithdrawWindow [Xlib]XWriteBitmapFile [Xlib]XXorRegion [Xlib]XauDisposeAuth [Xlib]
XauFileName [Xlib]XauGetBestAuthByAddr [Xlib]XauReadAuth [Xlib]XcmsAddColorSpace [Xlib]
XcmsAddFunctionSet [Xlib]XcmsAllocColor [Xlib]XcmsAllocNamedColor [Xlib]XcmsCCCOfColormap [Xlib]
XcmsCIELabClipL [Xlib]XcmsCIELabClipLab [Xlib]XcmsCIELabClipab [Xlib]XcmsCIELabQueryMaxC [Xlib]
XcmsCIELabQueryMaxL [Xlib]XcmsCIELabQueryMaxLC [Xlib]XcmsCIELabQueryMinL [Xlib]XcmsCIELabToCIEXYZ [Xlib]
XcmsCIELabWhiteShiftColors [Xlib]XcmsCIELuvClipL [Xlib]XcmsCIELuvClipLuv [Xlib]XcmsCIELuvClipuv [Xlib]
XcmsCIELuvQueryMaxC [Xlib]XcmsCIELuvQueryMaxL [Xlib]XcmsCIELuvQueryMaxLC [Xlib]XcmsCIELuvQueryMinL [Xlib]
XcmsCIELuvToCIEuvY [Xlib]XcmsCIELuvWhiteShiftColors [Xlib]XcmsCIEXYZToCIELab [Xlib]XcmsCIEXYZToCIEuvY [Xlib]
XcmsCIEXYZToCIExyY [Xlib]XcmsCIEXYZToRGBi [Xlib]XcmsCIEuvYToCIELuv [Xlib]XcmsCIEuvYToCIEXYZ [Xlib]
XcmsCIEuvYToTekHVC [Xlib]XcmsCIExyYToCIEXYZ [Xlib]XcmsClientWhitePointOfCCC [Xlib]XcmsConvertColors [Xlib]
XcmsCreateCCC [Xlib]XcmsDefaultCCC [Xlib]XcmsDisplayOfCCC [Xlib]XcmsFormatOfPrefix [Xlib]
XcmsFreeCCC [Xlib]XcmsLookupColor [Xlib]XcmsPrefixOfFormat [Xlib]XcmsQueryBlack [Xlib]
XcmsQueryBlue [Xlib]XcmsQueryColor [Xlib]XcmsQueryColors [Xlib]XcmsQueryGreen [Xlib]
XcmsQueryRed [Xlib]XcmsQueryWhite [Xlib]XcmsRGBToRGBi [Xlib]XcmsRGBiToCIEXYZ [Xlib]
XcmsRGBiToRGB [Xlib]XcmsScreenNumberOfCCC [Xlib]XcmsScreenWhitePointOfCCC [Xlib]XcmsSetCCCOfColormap [Xlib]
XcmsSetCompressionProc [Xlib]XcmsSetWhiteAdjustProc [Xlib]XcmsSetWhitePoint [Xlib]XcmsStoreColor [Xlib]
XcmsStoreColors [Xlib]XcmsTekHVCClipC [Xlib]XcmsTekHVCClipV [Xlib]XcmsTekHVCClipVC [Xlib]
XcmsTekHVCQueryMaxC [Xlib]XcmsTekHVCQueryMaxV [Xlib]XcmsTekHVCQueryMaxVC [Xlib]XcmsTekHVCQueryMaxVSamples [Xlib]
XcmsTekHVCQueryMinV [Xlib]XcmsTekHVCToCIEuvY [Xlib]XcmsTekHVCWhiteShiftColors [Xlib]XcmsVisualOfCCC [Xlib]
XkbAllocClientMap [XKBlib]XkbAllocCompatMap [XKBlib]XkbAllocControls [XKBlib]XkbAllocGeomColors [XKBlib]
XkbAllocGeomDoodads [XKBlib]XkbAllocGeomKeyAliases [XKBlib]XkbAllocGeomKeys [XKBlib]XkbAllocGeomOutlines [XKBlib]
XkbAllocGeomOverlayKeys [XKBlib]XkbAllocGeomOverlayRows [XKBlib]XkbAllocGeomOverlays [XKBlib]XkbAllocGeomPoints [XKBlib]
XkbAllocGeomProps [XKBlib]XkbAllocGeomRows [XKBlib]XkbAllocGeomSectionDoodads [XKBlib]XkbAllocGeomSections [XKBlib]
XkbAllocGeomShapes [XKBlib]XkbAllocGeometry [XKBlib]XkbAllocIndicatorMaps [XKBlib]XkbAllocKeyboard [XKBlib]
XkbAllocNames [XKBlib]XkbAllocServerMap [XKBlib]XkbApplyCompatMapToKey [XKBlib]XkbBell [XKBlib]
XkbBellEvent [XKBlib]XkbChangeEnabledControls [XKBlib]XkbChangeMap [XKBlib]XkbChangeNames [XKBlib]
XkbChangeTypesOfKey [XKBlib]XkbComputeEffectiveMap [XKBlib]XkbComputeRowBounds [XKBlib]XkbComputeSectionBounds [XKBlib]
XkbComputeShapeBounds [XKBlib]XkbComputeShapeTop [XKBlib]XkbCopyKeyType [XKBlib]XkbCopyKeyTypes [XKBlib]
XkbFindOverlayForKey [XKBlib]XkbForceBell [XKBlib]XkbFreeClientMap [XKBlib]XkbFreeCompatMap [XKBlib]
XkbFreeComponentList [XKBlib]XkbFreeControls [XKBlib]XkbFreeGeomColors [XKBlib]XkbFreeGeomDoodads [XKBlib]
XkbFreeGeomKeyAliases [XKBlib]XkbFreeGeomKeys [XKBlib]XkbFreeGeomOutlines [XKBlib]XkbFreeGeomOverlayKeys [XKBlib]
XkbFreeGeomOverlayRows [XKBlib]XkbFreeGeomOverlays [XKBlib]XkbFreeGeomPoints [XKBlib]XkbFreeGeomProperties [XKBlib]
XkbFreeGeomRows [XKBlib]XkbFreeGeomSections [XKBlib]XkbFreeGeomShapes [XKBlib]XkbFreeGeometry [XKBlib]
XkbFreeIndicatorMaps [XKBlib]XkbFreeKeyboard [XKBlib]XkbFreeNames [XKBlib]XkbFreeServerMap [XKBlib]
XkbGetAutoRepeatRate [XKBlib]XkbGetCompatMap [XKBlib]XkbGetControls [XKBlib]XkbGetGeometry [XKBlib]
XkbGetIndicatorMap [XKBlib]XkbGetIndicatorState [XKBlib]XkbGetKeyActions [XKBlib]XkbGetKeyBehaviors [XKBlib]
XkbGetKeyExplicitComponents [XKBlib]XkbGetKeyModifierMap [XKBlib]XkbGetKeySyms [XKBlib]XkbGetKeyTypes [XKBlib]
XkbGetKeyboard [XKBlib]XkbGetKeyboardByName [XKBlib]XkbGetMap [XKBlib]XkbGetMapChanges [XKBlib]
XkbGetNamedGeometry [XKBlib]XkbGetNamedIndicator [XKBlib]XkbGetNames [XKBlib]XkbGetPerClientControls [XKBlib]
XkbGetState [XKBlib]XkbGetUpdatedMap [XKBlib]XkbGetVirtualMods [XKBlib]XkbGetXlibControls [XKBlib]
XkbIgnoreExtension [XKBlib]XkbInitCanonicalKeyTypes [XKBlib]XkbKeyTypesForCoreSymbols [XKBlib]XkbKeycodeToKeysym [XKBlib]
XkbKeysymToModifiers [XKBlib]XkbLatchGroup [XKBlib]XkbLatchModifiers [XKBlib]XkbLibraryVersion [XKBlib]
XkbListComponents [XKBlib]XkbLockGroup [XKBlib]XkbLockModifiers [XKBlib]XkbLookupKeyBinding [XKBlib]
XkbLookupKeySym [XKBlib]XkbNoteControlsChanges [XKBlib]XkbNoteMapChanges [XKBlib]XkbNoteNameChanges [XKBlib]
XkbOpenDisplay [XKBlib]XkbQueryExtension [XKBlib]XkbRefreshKeyboardMapping [XKBlib]XkbResizeKeyActions [XKBlib]
XkbResizeKeySyms [XKBlib]XkbResizeKeyType [XKBlib]XkbSelectEventDetails [XKBlib]XkbSelectEvents [XKBlib]
XkbSetAtomFuncs [XKBlib]XkbSetAutoRepeatRate [XKBlib]XkbSetAutoResetControls [XKBlib]XkbSetCompatMap [XKBlib]
XkbSetControls [XKBlib]XkbSetDebuggingFlags [XKBlib]XkbSetDetectableAutoRepeat [XKBlib]XkbSetGeometry [XKBlib]
XkbSetIgnoreLockMods [XKBlib]XkbSetIndicatorMap [XKBlib]XkbSetMap [XKBlib]XkbSetNamedIndicator [XKBlib]
XkbSetNames [XKBlib]XkbSetPerClientControls [XKBlib]XkbSetServerInternalMods [XKBlib]XkbSetXlibControls [XKBlib]
XkbToControl [XKBlib]XkbTranslateKeyCode [XKBlib]XkbTranslateKeySym [XKBlib]XkbUpdateMapFromCore [XKBlib]
XkbUseExtension [XKBlib]XkbVirtualModsToReal [XKBlib]XmbDrawImageString [Xlib]XmbDrawString [Xlib]
XmbDrawText [Xlib]XmbLookupString [Xlib]XmbResetIC [Xlib]XmbSetWMProperties [Xlib]
XmbTextEscapement [Xlib]XmbTextExtents [Xlib]XmbTextListToTextProperty [Xlib]XmbTextPerCharExtents [Xlib]
XmbTextPropertyToTextList [Xlib]XrmCombineDatabase [Xlib]XrmCombineFileDatabase [Xlib]XrmDestroyDatabase [Xlib]
XrmEnumerateDatabase [Xlib]XrmGetDatabase [Xlib]XrmGetFileDatabase [Xlib]XrmGetResource [Xlib]
XrmGetStringDatabase [Xlib]XrmInitialize [Xlib]XrmLocaleOfDatabase [Xlib]XrmMergeDatabases [Xlib]
XrmParseCommand [Xlib]XrmPermStringToQuark [Xlib]XrmPutFileDatabase [Xlib]XrmPutLineResource [Xlib]
XrmPutResource [Xlib]XrmPutStringResource [Xlib]XrmQGetResource [Xlib]XrmQGetSearchList [Xlib]
XrmQGetSearchResource [Xlib]XrmQPutResource [Xlib]XrmQPutStringResource [Xlib]XrmQuarkToString [Xlib]
XrmSetDatabase [Xlib]XrmStringToBindingQuarkList [Xlib]XrmStringToQuark [Xlib]XrmStringToQuarkList [Xlib]
XrmUniqueQuark [Xlib]Xutf8TextListToTextProperty [LSB]Xutf8TextPropertyToTextList [LSB]XwcDrawImageString [Xlib]
XwcDrawString [Xlib]XwcDrawText [Xlib]XwcFreeStringList [Xlib]XwcLookupString [Xlib]
XwcResetIC [Xlib]XwcTextEscapement [Xlib]XwcTextExtents [Xlib]XwcTextListToTextProperty [Xlib]
XwcTextPerCharExtents [Xlib]XwcTextPropertyToTextList [Xlib]  

6.2. Data Definitions for libX11

This section defines global identifiers and their values that are associated with interfaces contained in libX11. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.2.1. X11/X.h


#define X_PROTOCOL_REVISION	0
#define X_PROTOCOL	11

typedef unsigned long int XID;
typedef unsigned long int Mask;
typedef unsigned long int Atom;
typedef unsigned long int VisualID;
typedef unsigned long int Time;
typedef XID Window;
typedef XID Font;
typedef XID Pixmap;
typedef unsigned char KeyCode;
typedef XID Drawable;
typedef XID Cursor;
typedef XID Colormap;
typedef XID GContext;
typedef XID KeySym;

#define AllTemporary	0L
#define AnyButton	0L
#define AnyKey	0L
#define AnyPropertyType	0L
#define CopyFromParent	0L
#define CurrentTime	0L
#define NoSymbol	0L
#define None	0L
#define PointerWindow	0L
#define InputFocus	1L
#define ParentRelative	1L
#define PointerRoot	1L

#define KeyPressMask	(1L<<0)
#define KeyReleaseMask	(1L<<1)
#define Button3MotionMask	(1L<<10)
#define Button4MotionMask	(1L<<11)
#define Button5MotionMask	(1L<<12)
#define ButtonMotionMask	(1L<<13)
#define KeymapStateMask	(1L<<14)
#define ExposureMask	(1L<<15)
#define VisibilityChangeMask	(1L<<16)
#define StructureNotifyMask	(1L<<17)
#define ResizeRedirectMask	(1L<<18)
#define SubstructureNotifyMask	(1L<<19)
#define ButtonPressMask	(1L<<2)
#define SubstructureRedirectMask	(1L<<20)
#define FocusChangeMask	(1L<<21)
#define PropertyChangeMask	(1L<<22)
#define ColormapChangeMask	(1L<<23)
#define OwnerGrabButtonMask	(1L<<24)
#define ButtonReleaseMask	(1L<<3)
#define EnterWindowMask	(1L<<4)
#define LeaveWindowMask	(1L<<5)
#define PointerMotionMask	(1L<<6)
#define PointerMotionHintMask	(1L<<7)
#define Button1MotionMask	(1L<<8)
#define Button2MotionMask	(1L<<9)

#define NoEventMask	0L
#define FocusOut	10
#define KeymapNotify	11
#define Expose	12
#define GraphicsExpose	13
#define NoExpose	14
#define VisibilityNotify	15
#define CreateNotify	16
#define DestroyNotify	17
#define UnmapNotify	18
#define MapNotify	19
#define KeyPress	2
#define MapRequest	20
#define ReparentNotify	21
#define ConfigureNotify	22
#define ConfigureRequest	23
#define GravityNotify	24
#define ResizeRequest	25
#define CirculateNotify	26
#define CirculateRequest	27
#define PropertyNotify	28
#define SelectionClear	29
#define KeyRelease	3
#define SelectionRequest	30
#define SelectionNotify	31
#define ColormapNotify	32
#define ClientMessage	33
#define MappingNotify	34
#define LASTEvent	35
#define ButtonPress	4
#define ButtonRelease	5
#define MotionNotify	6
#define EnterNotify	7
#define LeaveNotify	8
#define FocusIn	9

#define ShiftMask	(1<<0)
#define LockMask	(1<<1)
#define ControlMask	(1<<2)
#define Mod1Mask	(1<<3)
#define Mod2Mask	(1<<4)
#define Mod3Mask	(1<<5)
#define Mod4Mask	(1<<6)
#define Mod5Mask	(1<<7)

#define ShiftMapIndex	0
#define LockMapIndex	1
#define ControlMapIndex	2
#define Mod1MapIndex	3
#define Mod2MapIndex	4
#define Mod3MapIndex	5
#define Mod4MapIndex	6
#define Mod5MapIndex	7

#define Button3Mask	(1<<10)
#define Button4Mask	(1<<11)
#define Button5Mask	(1<<12)
#define AnyModifier	(1<<15)
#define Button1Mask	(1<<8)
#define Button2Mask	(1<<9)

#define Button1	1
#define Button2	2
#define Button3	3
#define Button4	4
#define Button5	5

#define NotifyNormal	0
#define NotifyGrab	1
#define NotifyHint	1
#define NotifyUngrab	2
#define NotifyWhileGrabbed	3

#define NotifyAncestor	0
#define NotifyVirtual	1
#define NotifyInferior	2
#define NotifyNonlinear	3
#define NotifyNonlinearVirtual	4
#define NotifyPointer	5
#define NotifyPointerRoot	6
#define NotifyDetailNone	7

#define VisibilityUnobscured	0
#define VisibilityPartiallyObscured	1
#define VisibilityFullyObscured	2

#define PlaceOnTop	0
#define PlaceOnBottom	1

#define FamilyInternet	0
#define FamilyDECnet	1
#define FamilyChaos	2
#define FamilyServerInterpreted	5
#define FamilyInternet6	6	/* IPv6 */

#define PropModeReplace	0
#define PropertyNewValue	0
#define PropertyDelete	1

#define ColormapUninstalled	0
#define ColormapInstalled	1

#define GrabModeSync	0
#define GrabModeAsync	1

#define GrabSuccess	0
#define AlreadyGrabbed	1
#define GrabInvalidTime	2
#define GrabNotViewable	3
#define GrabFrozen	4

#define AsyncPointer	0
#define SyncPointer	1
#define ReplayPointer	2
#define AsyncKeyboard	3
#define SyncKeyboard	4
#define ReplayKeyboard	5
#define AsyncBoth	6
#define SyncBoth	7

#define RevertToNone	(int)None
#define RevertToPointerRoot	(int)PointerRoot
#define RevertToParent	2

#define Success	0
#define BadRequest	1
#define BadAccess	10
#define BadAlloc	11
#define BadColor	12
#define FirstExtensionError	128
#define BadGC	13
#define BadIDChoice	14
#define BadName	15
#define BadLength	16
#define BadImplementation	17
#define BadValue	2
#define LastExtensionError	255
#define BadWindow	3
#define BadPixmap	4
#define BadAtom	5
#define BadCursor	6
#define BadFont	7
#define BadMatch	8
#define BadDrawable	9

#define CWX	(1<<0)
#define InputOutput	1
#define InputOnly	2

#define CWBackPixmap	(1L<<0)
#define CWBackPixel	(1L<<1)
#define CWSaveUnder	(1L<<10)
#define CWEventMask	(1L<<11)
#define CWDontPropagate	(1L<<12)
#define CWColormap	(1L<<13)
#define CWCursor	(1L<<14)
#define CWBorderPixmap	(1L<<2)
#define CWBorderPixel	(1L<<3)
#define CWBitGravity	(1L<<4)
#define CWWinGravity	(1L<<5)
#define CWBackingStore	(1L<<6)
#define CWBackingPlanes	(1L<<7)
#define CWBackingPixel	(1L<<8)
#define CWOverrideRedirect	(1L<<9)

#define CWY	(1<<1)
#define CWWidth	(1<<2)
#define CWHeight	(1<<3)
#define CWBorderWidth	(1<<4)
#define CWSibling	(1<<5)
#define CWStackMode	(1<<6)

#define ForgetGravity	0
#define UnmapGravity	0
#define NorthWestGravity	1
#define StaticGravity	10
#define NorthGravity	2
#define NorthEastGravity	3
#define WestGravity	4
#define CenterGravity	5
#define EastGravity	6
#define SouthWestGravity	7
#define SouthGravity	8
#define SouthEastGravity	9

#define NotUseful	0
#define WhenMapped	1
#define Always	2

#define IsUnmapped	0
#define IsUnviewable	1
#define IsViewable	2

#define SetModeInsert	0
#define SetModeDelete	1

#define DestroyAll	0
#define RetainPermanent	1
#define RetainTemporary	2

#define Above	0
#define Below	1
#define TopIf	2
#define BottomIf	3
#define Opposite	4

#define RaiseLowest	0
#define LowerHighest	1

#define PropModePrepend	1
#define PropModeAppend	2

#define GXclear	0x0
#define GXand	0x1
#define GXandReverse	0x2
#define GXcopy	0x3
#define GXandInverted	0x4
#define GXnoop	0x5
#define GXxor	0x6
#define GXor	0x7
#define GXnor	0x8
#define GXequiv	0x9
#define GXinvert	0xa
#define GXorReverse	0xb
#define GXcopyInverted	0xc
#define GXorInverted	0xd
#define GXnand	0xe
#define GXset	0xf

#define LineSolid	0
#define LineOnOffDash	1
#define LineDoubleDash	2

#define CapNotLast	0
#define CapButt	1
#define CapRound	2
#define CapProjecting	3

#define JoinMiter	0
#define JoinRound	1
#define JoinBevel	2

#define FillSolid	0
#define FillTiled	1
#define FillStippled	2
#define FillOpaqueStippled	3

#define EvenOddRule	0
#define WindingRule	1

#define ClipByChildren	0
#define IncludeInferiors	1

#define Unsorted	0
#define XYBitmap	0
#define YSorted	1
#define YXSorted	2
#define YXBanded	3

#define CoordModeOrigin	0
#define CoordModePrevious	1

#define Complex	0
#define Nonconvex	1
#define Convex	2

#define ArcChord	0
#define ArcPieSlice	1

#define GCFunction	(1L<<0)
#define GCPlaneMask	(1L<<1)
#define GCTile	(1L<<10)
#define GCStipple	(1L<<11)
#define GCTileStipXOrigin	(1L<<12)
#define GCTileStipYOrigin	(1L<<13)
#define GCFont	(1L<<14)
#define GCSubwindowMode	(1L<<15)
#define GCGraphicsExposures	(1L<<16)
#define GCClipXOrigin	(1L<<17)
#define GCClipYOrigin	(1L<<18)
#define GCClipMask	(1L<<19)
#define GCForeground	(1L<<2)
#define GCDashOffset	(1L<<20)
#define GCDashList	(1L<<21)
#define GCArcMode	(1L<<22)
#define GCBackground	(1L<<3)
#define GCLineWidth	(1L<<4)
#define GCLineStyle	(1L<<5)
#define GCCapStyle	(1L<<6)
#define GCJoinStyle	(1L<<7)
#define GCFillStyle	(1L<<8)
#define GCFillRule	(1L<<9)
#define GCLastBit	22
#define FontChange	255

#define FontLeftToRight	0
#define FontRightToLeft	1

#define XYPixmap	1
#define ZPixmap	2

#define AllocNone	0
#define AllocAll	1

#define DoRed	(1<<0)
#define DoGreen	(1<<1)
#define DoBlue	(1<<2)

#define CursorShape	0
#define TileShape	1
#define StippleShape	2

#define AutoRepeatModeOff	0
#define LedModeOff	0
#define AutoRepeatModeOn	1
#define LedModeOn	1
#define AutoRepeatModeDefault	2

#define KBKeyClickPercent	(1L<<0)
#define KBBellPercent	(1L<<1)
#define KBBellPitch	(1L<<2)
#define KBBellDuration	(1L<<3)
#define KBLed	(1L<<4)
#define KBLedMode	(1L<<5)
#define KBKey	(1L<<6)
#define KBAutoRepeatMode	(1L<<7)
#define MappingModifier	0
#define MappingSuccess	0
#define MappingBusy	1
#define MappingKeyboard	1
#define MappingFailed	2
#define MappingPointer	2

#define DisableScreenInterval	0
#define DisableScreenSaver	0
#define DontAllowExposures	0
#define DontPreferBlanking	0
#define AllowExposures	1
#define PreferBlanking	1
#define DefaultBlanking	2
#define DefaultExposures	2

#define ScreenSaverReset	0
#define ScreenSaverActive	1

#define HostInsert	0
#define HostDelete	1

#define DisableAccess	0
#define EnableAccess	1

#define StaticGray	0
#define GrayScale	1
#define StaticColor	2
#define PseudoColor	3
#define TrueColor	4
#define DirectColor	5

#define LSBFirst	0
#define MSBFirst	1

6.2.2. X11/XKBlib.h


#define _XKBLIB_H_
#define XkbNoteIndicatorMapChanges(o,n,w)	((o)->map_changes|=((n)->map_changes&(w)))
#define XkbNoteIndicatorStateChanges(o,n,w)	((o)->state_changes|=((n)->state_changes&(w)))
#define XkbLC_AllComposeControls	(0xc0000000)
#define XkbLC_AllControls	(0xc000001f)
#define XkbLC_ForceLatin1Lookup	(1<<0)
#define XkbLC_ConsumeLookupMods	(1<<1)
#define XkbLC_AlwaysConsumeShiftAndLock	(1<<2)
#define XkbLC_ConsumeKeysOnComposeFail	(1<<29)
#define XkbLC_IgnoreNewKeyboards	(1<<3)
#define XkbLC_ComposeLED	(1<<30)
#define XkbLC_BeepOnComposeFail	(1<<31)
#define XkbLC_ControlFallback	(1<<4)
#define XkbGetIndicatorMapChanges(d,x,c)	(XkbGetIndicatorMap((d),(c)->map_changes,x))
#define XkbChangeIndicatorMaps(d,x,c)	(XkbSetIndicatorMap((d),(c)->map_changes,x))
#define XkbOD_Success	0
#define XkbOD_BadLibraryVersion	1
#define XkbOD_ConnectionRefused	2
#define XkbOD_NonXkbServer	3
#define XkbOD_BadServerVersion	4
#define XkbGetControlsChanges(d,x,c)	XkbGetControls(d,(c)->changed_ctrls,x)
#define XkbChangeControls(d,x,c)	XkbSetControls(d,(c)->changed_ctrls,x)

typedef struct _XkbAnyEvent {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    unsigned int device;
} XkbAnyEvent;
typedef struct _XkbNewKeyboardNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    int old_device;
    int min_key_code;
    int max_key_code;
    int old_min_key_code;
    int old_max_key_code;
    unsigned int changed;
    char req_major;
    char req_minor;
} XkbNewKeyboardNotifyEvent;
typedef struct _XkbMapNotifyEvent {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    unsigned int changed;
    unsigned int flags;
    int first_type;
    int num_types;
    KeyCode min_key_code;
    KeyCode max_key_code;
    KeyCode first_key_sym;
    KeyCode first_key_act;
    KeyCode first_key_behavior;
    KeyCode first_key_explicit;
    KeyCode first_modmap_key;
    KeyCode first_vmodmap_key;
    int num_key_syms;
    int num_key_acts;
    int num_key_behaviors;
    int num_key_explicit;
    int num_modmap_keys;
    int num_vmodmap_keys;
    unsigned int vmods;
} XkbMapNotifyEvent;
typedef struct _XkbStateNotifyEvent {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    unsigned int changed;
    int group;
    int base_group;
    int latched_group;
    int locked_group;
    unsigned int mods;
    unsigned int base_mods;
    unsigned int latched_mods;
    unsigned int locked_mods;
    int compat_state;
    unsigned char grab_mods;
    unsigned char compat_grab_mods;
    unsigned char lookup_mods;
    unsigned char compat_lookup_mods;
    int ptr_buttons;
    KeyCode keycode;
    char event_type;
    char req_major;
    char req_minor;
} XkbStateNotifyEvent;
typedef struct _XkbControlsNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    unsigned int changed_ctrls;
    unsigned int enabled_ctrls;
    unsigned int enabled_ctrl_changes;
    int num_groups;
    KeyCode keycode;
    char event_type;
    char req_major;
    char req_minor;
} XkbControlsNotifyEvent;
typedef struct _XkbIndicatorNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    unsigned int changed;
    unsigned int state;
} XkbIndicatorNotifyEvent;
typedef struct _XkbNamesNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    unsigned int changed;
    int first_type;
    int num_types;
    int first_lvl;
    int num_lvls;
    int num_aliases;
    int num_radio_groups;
    unsigned int changed_vmods;
    unsigned int changed_groups;
    unsigned int changed_indicators;
    int first_key;
    int num_keys;
} XkbNamesNotifyEvent;
typedef struct _XkbCompatMapNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    unsigned int changed_groups;
    int first_si;
    int num_si;
    int num_total_si;
} XkbCompatMapNotifyEvent;
typedef struct _XkbBellNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    int percent;
    int pitch;
    int duration;
    int bell_class;
    int bell_id;
    Atom name;
    Window window;
    int event_only;
} XkbBellNotifyEvent;
typedef struct _XkbActionMessage {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    KeyCode keycode;
    int press;
    int key_event_follows;
    int group;
    unsigned int mods;
    char message;
} XkbActionMessageEvent;
typedef struct _XkbAccessXNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    int detail;
    int keycode;
    int sk_delay;
    int debounce_delay;
} XkbAccessXNotifyEvent;
typedef struct _XkbExtensionDeviceNotify {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Time time;
    int xkb_type;
    int device;
    unsigned int reason;
    unsigned int supported;
    unsigned int unsupported;
    int first_btn;
    int num_btns;
    unsigned int leds_defined;
    unsigned int led_state;
    int led_class;
    int led_id;
} XkbExtensionDeviceNotifyEvent;
union _XkbEvent {
    int type;
    XkbAnyEvent any;
    XkbNewKeyboardNotifyEvent new_kbd;
    XkbMapNotifyEvent map;
    XkbStateNotifyEvent state;
    XkbControlsNotifyEvent ctrls;
    XkbIndicatorNotifyEvent indicators;
    XkbNamesNotifyEvent names;
    XkbCompatMapNotifyEvent compat;
    XkbBellNotifyEvent bell;
    XkbActionMessageEvent message;
    XkbAccessXNotifyEvent accessx;
    XkbExtensionDeviceNotifyEvent device;
    XEvent core;
};
typedef union _XkbEvent {
    int type;
    XkbAnyEvent any;
    XkbNewKeyboardNotifyEvent new_kbd;
    XkbMapNotifyEvent map;
    XkbStateNotifyEvent state;
    XkbControlsNotifyEvent ctrls;
    XkbIndicatorNotifyEvent indicators;
    XkbNamesNotifyEvent names;
    XkbCompatMapNotifyEvent compat;
    XkbBellNotifyEvent bell;
    XkbActionMessageEvent message;
    XkbAccessXNotifyEvent accessx;
    XkbExtensionDeviceNotifyEvent device;
    XEvent core;
} XkbEvent;
typedef struct _XkbKbdDpyState XkbKbdDpyStateRec;
typedef struct _XkbKbdDpyState *XkbKbdDpyStatePtr;
typedef Atom(*XkbInternAtomFunc) (Display *, const char *, int);
typedef char *(*XkbGetAtomNameFunc) (Display *, Atom);
extern int XkbAllocClientMap(XkbDescPtr, unsigned int, unsigned int);
extern int XkbAllocCompatMap(XkbDescPtr, unsigned int, unsigned int);
extern int XkbAllocControls(XkbDescPtr, unsigned int);
extern int XkbAllocIndicatorMaps(XkbDescPtr);
extern XkbDescPtr XkbAllocKeyboard(void);
extern int XkbAllocNames(XkbDescPtr, unsigned int, int, int);
extern int XkbAllocServerMap(XkbDescPtr, unsigned int, unsigned int);
extern int XkbApplyCompatMapToKey(XkbDescPtr, KeyCode, XkbChangesPtr);
extern int XkbBell(Display *, Window, int, Atom);
extern int XkbBellEvent(Display *, Window, int, Atom);
extern int XkbChangeEnabledControls(Display *, unsigned int, unsigned int,
				    unsigned int);
extern int XkbChangeMap(Display *, XkbDescPtr, XkbMapChangesPtr);
extern int XkbChangeNames(Display *, XkbDescPtr, XkbNameChangesPtr);
extern int XkbChangeTypesOfKey(XkbDescPtr, int, int, unsigned int, int *,
			       XkbMapChangesPtr);
extern int XkbComputeEffectiveMap(XkbDescPtr, XkbKeyTypePtr,
				  unsigned char *);
extern int XkbCopyKeyType(XkbKeyTypePtr, XkbKeyTypePtr);
extern int XkbCopyKeyTypes(XkbKeyTypePtr, XkbKeyTypePtr, int);
extern int XkbForceBell(Display *, int);
extern void XkbFreeClientMap(XkbDescPtr, unsigned int, int);
extern void XkbFreeCompatMap(XkbDescPtr, unsigned int, int);
extern void XkbFreeComponentList(XkbComponentListPtr);
extern void XkbFreeControls(XkbDescPtr, unsigned int, int);
extern void XkbFreeIndicatorMaps(XkbDescPtr);
extern void XkbFreeKeyboard(XkbDescPtr, unsigned int, int);
extern void XkbFreeNames(XkbDescPtr, unsigned int, int);
extern void XkbFreeServerMap(XkbDescPtr, unsigned int, int);
extern int XkbGetAutoRepeatRate(Display *, unsigned int, unsigned int *,
				unsigned int *);
extern int XkbGetCompatMap(Display *, unsigned int, XkbDescPtr);
extern int XkbGetControls(Display *, unsigned long int, XkbDescPtr);
extern int XkbGetIndicatorMap(Display *, unsigned long int, XkbDescPtr);
extern int XkbGetIndicatorState(Display *, unsigned int, unsigned int *);
extern int XkbGetKeyActions(Display *, unsigned int, unsigned int,
			    XkbDescPtr);
extern int XkbGetKeyBehaviors(Display *, unsigned int, unsigned int,
			      XkbDescPtr);
extern int XkbGetKeyExplicitComponents(Display *, unsigned int,
				       unsigned int, XkbDescPtr);
extern int XkbGetKeyModifierMap(Display *, unsigned int, unsigned int,
				XkbDescPtr);
extern int XkbGetKeySyms(Display *, unsigned int, unsigned int,
			 XkbDescPtr);
extern int XkbGetKeyTypes(Display *, unsigned int, unsigned int,
			  XkbDescPtr);
extern XkbDescPtr XkbGetKeyboard(Display *, unsigned int, unsigned int);
extern XkbDescPtr XkbGetKeyboardByName(Display *, unsigned int,
				       XkbComponentNamesPtr, unsigned int,
				       unsigned int, int);
extern XkbDescPtr XkbGetMap(Display *, unsigned int, unsigned int);
extern int XkbGetMapChanges(Display *, XkbDescPtr, XkbMapChangesPtr);
extern int XkbGetNamedIndicator(Display *, Atom, int *, int *,
				XkbIndicatorMapPtr, int *);
extern int XkbGetNames(Display *, unsigned int, XkbDescPtr);
extern int XkbGetPerClientControls(Display *, unsigned int *);
extern int XkbGetState(Display *, unsigned int, XkbStatePtr);
extern int XkbGetUpdatedMap(Display *, unsigned int, XkbDescPtr);
extern int XkbGetVirtualMods(Display *, unsigned int, XkbDescPtr);
extern unsigned int XkbGetXlibControls(Display *);
extern int XkbIgnoreExtension(int);
extern int XkbInitCanonicalKeyTypes(XkbDescPtr, unsigned int, int);
extern int XkbKeyTypesForCoreSymbols(XkbDescPtr, int, KeySym *,
				     unsigned int, int *, KeySym *);
extern KeySym XkbKeycodeToKeysym(Display *, unsigned int, int, int);
extern unsigned int XkbKeysymToModifiers(Display *, KeySym);
extern int XkbLatchGroup(Display *, unsigned int, unsigned int);
extern int XkbLatchModifiers(Display *, unsigned int, unsigned int,
			     unsigned int);
extern int XkbLibraryVersion(int *, int *);
extern XkbComponentListPtr XkbListComponents(Display *, unsigned int,
					     XkbComponentNamesPtr, int *);
extern int XkbLockGroup(Display *, unsigned int, unsigned int);
extern int XkbLockModifiers(Display *, unsigned int, unsigned int,
			    unsigned int);
extern int XkbLookupKeyBinding(Display *, KeySym, unsigned int, char *,
			       int, int *);
extern int XkbLookupKeySym(Display *, KeyCode, unsigned int,
			   unsigned int *, KeySym *);
extern void XkbNoteControlsChanges(XkbControlsChangesPtr,
				   XkbControlsNotifyEvent *, unsigned int);
extern void XkbNoteMapChanges(XkbMapChangesPtr, XkbMapNotifyEvent *,
			      unsigned int);
extern void XkbNoteNameChanges(XkbNameChangesPtr, XkbNamesNotifyEvent *,
			       unsigned int);
extern Display *XkbOpenDisplay(char *, int *, int *, int *, int *, int *);
extern int XkbQueryExtension(Display *, int *, int *, int *, int *, int *);
extern int XkbRefreshKeyboardMapping(XkbMapNotifyEvent *);
extern XkbAction *XkbResizeKeyActions(XkbDescPtr, int, int);
extern KeySym *XkbResizeKeySyms(XkbDescPtr, int, int);
extern int XkbResizeKeyType(XkbDescPtr, int, int, int, int);
extern int XkbSelectEventDetails(Display *, unsigned int, unsigned int,
				 unsigned long int, unsigned long int);
extern int XkbSelectEvents(Display *, unsigned int, unsigned int,
			   unsigned int);
extern void XkbSetAtomFuncs(XkbInternAtomFunc, XkbGetAtomNameFunc);
extern int XkbSetAutoRepeatRate(Display *, unsigned int, unsigned int,
				unsigned int);
extern int XkbSetAutoResetControls(Display *, unsigned int, unsigned int *,
				   unsigned int *);
extern int XkbSetCompatMap(Display *, unsigned int, XkbDescPtr, int);
extern int XkbSetControls(Display *, unsigned long int, XkbDescPtr);
extern int XkbSetDebuggingFlags(Display *, unsigned int, unsigned int,
				char *, unsigned int, unsigned int,
				unsigned int *, unsigned int *);
extern int XkbSetDetectableAutoRepeat(Display *, int, int *);
extern int XkbSetIgnoreLockMods(Display *, unsigned int, unsigned int,
				unsigned int, unsigned int, unsigned int);
extern int XkbSetIndicatorMap(Display *, unsigned long int, XkbDescPtr);
extern int XkbSetMap(Display *, unsigned int, XkbDescPtr);
extern int XkbSetNamedIndicator(Display *, Atom, int, int, int,
				XkbIndicatorMapPtr);
extern int XkbSetNames(Display *, unsigned int, unsigned int, unsigned int,
		       XkbDescPtr);
extern int XkbSetPerClientControls(Display *, unsigned int,
				   unsigned int *);
extern int XkbSetServerInternalMods(Display *, unsigned int, unsigned int,
				    unsigned int, unsigned int,
				    unsigned int);
extern unsigned int XkbSetXlibControls(Display *, unsigned int,
				       unsigned int);
extern char XkbToControl(char);
extern int XkbTranslateKeyCode(XkbDescPtr, KeyCode, unsigned int,
			       unsigned int *, KeySym *);
extern int XkbTranslateKeySym(Display *, KeySym *, unsigned int, char *,
			      int, int *);
extern int XkbUpdateMapFromCore(XkbDescPtr, KeyCode, int, int, KeySym *,
				XkbChangesPtr);
extern int XkbUseExtension(Display *, int *, int *);
extern int XkbVirtualModsToReal(XkbDescPtr, unsigned int, unsigned int *);

6.2.3. X11/Xarch.h


#define _XARCH_H_
#define X_BIG_ENDIAN	BIG_ENDIAN
#define X_BYTE_ORDER	BYTE_ORDER
#define X_LITTLE_ENDIAN	LITTLE_ENDIAN

6.2.4. X11/Xatom.h


#define XA_PRIMARY	((Atom) 1)
#define XA_CUT_BUFFER1	((Atom) 10)
#define XA_CUT_BUFFER2	((Atom) 11)
#define XA_CUT_BUFFER3	((Atom) 12)
#define XA_CUT_BUFFER4	((Atom) 13)
#define XA_CUT_BUFFER5	((Atom) 14)
#define XA_CUT_BUFFER6	((Atom) 15)
#define XA_CUT_BUFFER7	((Atom) 16)
#define XA_DRAWABLE	((Atom) 17)
#define XA_FONT	((Atom) 18)
#define XA_INTEGER	((Atom) 19)
#define XA_SECONDARY	((Atom) 2)
#define XA_PIXMAP	((Atom) 20)
#define XA_POINT	((Atom) 21)
#define XA_RECTANGLE	((Atom) 22)
#define XA_RESOURCE_MANAGER	((Atom) 23)
#define XA_RGB_COLOR_MAP	((Atom) 24)
#define XA_RGB_BEST_MAP	((Atom) 25)
#define XA_RGB_BLUE_MAP	((Atom) 26)
#define XA_RGB_DEFAULT_MAP	((Atom) 27)
#define XA_RGB_GRAY_MAP	((Atom) 28)
#define XA_RGB_GREEN_MAP	((Atom) 29)
#define XA_ARC	((Atom) 3)
#define XA_RGB_RED_MAP	((Atom) 30)
#define XA_STRING	((Atom) 31)
#define XA_VISUALID	((Atom) 32)
#define XA_WINDOW	((Atom) 33)
#define XA_WM_COMMAND	((Atom) 34)
#define XA_WM_HINTS	((Atom) 35)
#define XA_WM_CLIENT_MACHINE	((Atom) 36)
#define XA_WM_ICON_NAME	((Atom) 37)
#define XA_WM_ICON_SIZE	((Atom) 38)
#define XA_WM_NAME	((Atom) 39)
#define XA_ATOM	((Atom) 4)
#define XA_WM_NORMAL_HINTS	((Atom) 40)
#define XA_WM_SIZE_HINTS	((Atom) 41)
#define XA_WM_ZOOM_HINTS	((Atom) 42)
#define XA_MIN_SPACE	((Atom) 43)
#define XA_NORM_SPACE	((Atom) 44)
#define XA_MAX_SPACE	((Atom) 45)
#define XA_END_SPACE	((Atom) 46)
#define XA_SUPERSCRIPT_X	((Atom) 47)
#define XA_SUPERSCRIPT_Y	((Atom) 48)
#define XA_SUBSCRIPT_X	((Atom) 49)
#define XA_BITMAP	((Atom) 5)
#define XA_SUBSCRIPT_Y	((Atom) 50)
#define XA_UNDERLINE_POSITION	((Atom) 51)
#define XA_UNDERLINE_THICKNESS	((Atom) 52)
#define XA_STRIKEOUT_ASCENT	((Atom) 53)
#define XA_STRIKEOUT_DESCENT	((Atom) 54)
#define XA_ITALIC_ANGLE	((Atom) 55)
#define XA_X_HEIGHT	((Atom) 56)
#define XA_QUAD_WIDTH	((Atom) 57)
#define XA_WEIGHT	((Atom) 58)
#define XA_POINT_SIZE	((Atom) 59)
#define XA_CARDINAL	((Atom) 6)
#define XA_RESOLUTION	((Atom) 60)
#define XA_COPYRIGHT	((Atom) 61)
#define XA_NOTICE	((Atom) 62)
#define XA_FONT_NAME	((Atom) 63)
#define XA_FAMILY_NAME	((Atom) 64)
#define XA_FULL_NAME	((Atom) 65)
#define XA_CAP_HEIGHT	((Atom) 66)
#define XA_WM_CLASS	((Atom) 67)
#define XA_LAST_PREDEFINED	((Atom) 68)
#define XA_WM_TRANSIENT_FOR	((Atom) 68)
#define XA_COLORMAP	((Atom) 7)
#define XA_CURSOR	((Atom) 8)
#define XA_CUT_BUFFER0	((Atom) 9)
#define XATOM_H	1

6.2.5. X11/Xauth.h


#define FamilyLocalHost	(252)
#define FamilyKrb5Principal	(253)
#define FamilyNetname	(254)
#define FamilyLocal	(256)
#define FamilyWild	(65535)
#define LOCK_SUCCESS	0
#define LOCK_ERROR	1
#define _Xauth_h	1
#define LOCK_TIMEOUT	2

typedef struct xauth {
    unsigned short family;
    unsigned short address_length;
    char *address;
    unsigned short number_length;
    char *number;
    unsigned short name_length;
    char *name;
    unsigned short data_length;
    char *data;
} Xauth;
extern void XauDisposeAuth(Xauth *);
extern char *XauFileName(void);
extern Xauth *XauGetBestAuthByAddr(unsigned int, unsigned int,
				   const char *, unsigned int,
				   const char *, int, char **,
				   const int *);
extern Xauth *XauReadAuth(FILE *);

6.2.6. X11/Xcms.h


#define ClientWhitePointOfCCC(ccc)	(&(ccc)->clientWhitePt)
#define ScreenWhitePointOfCCC(ccc)	(&(ccc)->pPerScrnInfo->screenWhitePt)
#define DisplayOfCCC(ccc)	((ccc)->dpy)
#define FunctionSetOfCCC(ccc)	((ccc)->pPerScrnInfo->functionSet)
#define ScreenNumberOfCCC(ccc)	((ccc)->screenNumber)
#define VisualOfCCC(ccc)	((ccc)->visual)
#define XcmsUndefinedFormat	(XcmsColorFormat)0x00000000
#define XcmsCIEXYZFormat	(XcmsColorFormat)0x00000001
#define XcmsCIEuvYFormat	(XcmsColorFormat)0x00000002
#define XcmsCIExyYFormat	(XcmsColorFormat)0x00000003
#define XcmsCIELabFormat	(XcmsColorFormat)0x00000004
#define XcmsCIELuvFormat	(XcmsColorFormat)0x00000005
#define XcmsTekHVCFormat	(XcmsColorFormat)0x00000006
#define XcmsRGBFormat	(XcmsColorFormat)0x80000000
#define XcmsRGBiFormat	(XcmsColorFormat)0x80000001
#define XcmsFailure	0
#define XcmsInitNone	0x00
#define XcmsInitSuccess	0x01
#define XcmsInitFailure	0xff
#define XcmsSuccess	1
#define XcmsSuccessWithCompression	2

typedef unsigned long int XcmsColorFormat;
typedef double XcmsFloat;
typedef struct {
    unsigned short red;
    unsigned short green;
    unsigned short blue;
} XcmsRGB;
typedef struct {
    XcmsFloat red;
    XcmsFloat green;
    XcmsFloat blue;
} XcmsRGBi;
typedef struct {
    XcmsFloat X;
    XcmsFloat Y;
    XcmsFloat Z;
} XcmsCIEXYZ;
typedef struct {
    XcmsFloat u_prime;
    XcmsFloat v_prime;
    XcmsFloat Y;
} XcmsCIEuvY;
typedef struct {
    XcmsFloat x;
    XcmsFloat y;
    XcmsFloat Y;
} XcmsCIExyY;
typedef struct {
    XcmsFloat L_star;
    XcmsFloat a_star;
    XcmsFloat b_star;
} XcmsCIELab;
typedef struct {
    XcmsFloat L_star;
    XcmsFloat u_star;
    XcmsFloat v_star;
} XcmsCIELuv;
typedef struct {
    XcmsFloat H;
    XcmsFloat V;
    XcmsFloat C;
} XcmsTekHVC;
typedef struct {
    XcmsFloat pad0;
    XcmsFloat pad1;
    XcmsFloat pad2;
    XcmsFloat pad3;
} XcmsPad;
typedef struct {
    union {
	XcmsRGB RGB;
	XcmsRGBi RGBi;
	XcmsCIEXYZ CIEXYZ;
	XcmsCIEuvY CIEuvY;
	XcmsCIExyY CIExyY;
	XcmsCIELab CIELab;
	XcmsCIELuv CIELuv;
	XcmsTekHVC TekHVC;
	XcmsPad Pad;
    } spec;
    unsigned long int pixel;
    XcmsColorFormat format;
} XcmsColor;
typedef struct _XcmsPerScrnInfo {
    XcmsColor screenWhitePt;
    XPointer functionSet;
    XPointer screenData;
    unsigned char state;
    char pad[3];
} XcmsPerScrnInfo;
typedef struct _XcmsCCC {
    Display *dpy;
    int screenNumber;
    Visual *visual;
    XcmsColor clientWhitePt;
    XcmsCompressionProc gamutCompProc;
    XPointer gamutCompClientData;
    XcmsWhiteAdjustProc whitePtAdjProc;
    XPointer whitePtAdjClientData;
    XcmsPerScrnInfo *pPerScrnInfo;
} XcmsCCCRec;
typedef struct _XcmsColorSpace {
    char *prefix;
    XcmsColorFormat id;
    XcmsParseStringProc parseString;
    XcmsFuncListPtr to_CIEXYZ;
    XcmsFuncListPtr from_CIEXYZ;
    int inverse_flag;
} XcmsColorSpace;
typedef struct _XcmsFunctionSet {
    XcmsColorSpace **DDColorSpaces;
    XcmsScreenInitProc screenInitProc;
    XcmsScreenFreeProc screenFreeProc;
} XcmsFunctionSet;
typedef struct _XcmsCCC *XcmsCCC;
typedef int (*XcmsCompressionProc) (XcmsCCC, XcmsColor *, unsigned int,
				    unsigned int, int *);
typedef int (*XcmsWhiteAdjustProc) (XcmsCCC, XcmsColor *, XcmsColor *,
				    XcmsColorFormat, XcmsColor *,
				    unsigned int, int *);
typedef int (*XcmsScreenInitProc) (Display *, int, XcmsPerScrnInfo *);
typedef void (*XcmsScreenFreeProc) (XPointer);
typedef int (*XcmsDIConversionProc) (XcmsCCC, XcmsColor *, XcmsColor *,
				     unsigned int);
typedef XcmsDIConversionProc XcmsConversionProc;
typedef int (*XcmsParseStringProc) (char *, XcmsColor *);
typedef XcmsConversionProc *XcmsFuncListPtr;
typedef int (*XcmsDDConversionProc) (XcmsCCC, XcmsColor *, unsigned int,
				     int *);

extern int XcmsAddColorSpace(XcmsColorSpace *);
extern int XcmsAddFunctionSet(XcmsFunctionSet *);
extern int XcmsAllocColor(Display *, Colormap, XcmsColor *,
			  XcmsColorFormat);
extern int XcmsAllocNamedColor(Display *, Colormap, const char *,
			       XcmsColor *, XcmsColor *, XcmsColorFormat);
extern XcmsCCC XcmsCCCOfColormap(Display *, Colormap);
extern int XcmsCIELabClipL(XcmsCCC, XcmsColor *, unsigned int,
			   unsigned int, int *);
extern int XcmsCIELabClipLab(XcmsCCC, XcmsColor *, unsigned int,
			     unsigned int, int *);
extern int XcmsCIELabClipab(XcmsCCC, XcmsColor *, unsigned int,
			    unsigned int, int *);
extern int XcmsCIELabQueryMaxC(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsCIELabQueryMaxL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsCIELabQueryMaxLC(XcmsCCC, XcmsFloat, XcmsColor *);
extern int XcmsCIELabQueryMinL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsCIELabToCIEXYZ(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIELabWhiteShiftColors(XcmsCCC, XcmsColor *, XcmsColor *,
				      XcmsColorFormat, XcmsColor *,
				      unsigned int, int *);
extern int XcmsCIELuvClipL(XcmsCCC, XcmsColor *, unsigned int,
			   unsigned int, int *);
extern int XcmsCIELuvClipLuv(XcmsCCC, XcmsColor *, unsigned int,
			     unsigned int, int *);
extern int XcmsCIELuvClipuv(XcmsCCC, XcmsColor *, unsigned int,
			    unsigned int, int *);
extern int XcmsCIELuvQueryMaxC(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsCIELuvQueryMaxL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsCIELuvQueryMaxLC(XcmsCCC, XcmsFloat, XcmsColor *);
extern int XcmsCIELuvQueryMinL(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsCIELuvToCIEuvY(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIELuvWhiteShiftColors(XcmsCCC, XcmsColor *, XcmsColor *,
				      XcmsColorFormat, XcmsColor *,
				      unsigned int, int *);
extern int XcmsCIEXYZToCIELab(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIEXYZToCIEuvY(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIEXYZToCIExyY(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIEXYZToRGBi(XcmsCCC, XcmsColor *, unsigned int, int *);
extern int XcmsCIEuvYToCIELuv(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIEuvYToCIEXYZ(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIEuvYToTekHVC(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsCIExyYToCIEXYZ(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern XcmsColor *XcmsClientWhitePointOfCCC(XcmsCCC);
extern int XcmsConvertColors(XcmsCCC, XcmsColor *, unsigned int,
			     XcmsColorFormat, int *);
extern XcmsCCC XcmsCreateCCC(Display *, int, Visual *, XcmsColor *,
			     XcmsCompressionProc, XPointer,
			     XcmsWhiteAdjustProc, XPointer);
extern XcmsCCC XcmsDefaultCCC(Display *, int);
extern Display *XcmsDisplayOfCCC(XcmsCCC);
extern XcmsColorFormat XcmsFormatOfPrefix(char *);
extern void XcmsFreeCCC(XcmsCCC);
extern int XcmsLookupColor(Display *, Colormap, const char *, XcmsColor *,
			   XcmsColor *, XcmsColorFormat);
extern char *XcmsPrefixOfFormat(XcmsColorFormat);
extern int XcmsQueryBlack(XcmsCCC, XcmsColorFormat, XcmsColor *);
extern int XcmsQueryBlue(XcmsCCC, XcmsColorFormat, XcmsColor *);
extern int XcmsQueryColor(Display *, Colormap, XcmsColor *,
			  XcmsColorFormat);
extern int XcmsQueryColors(Display *, Colormap, XcmsColor *, unsigned int,
			   XcmsColorFormat);
extern int XcmsQueryGreen(XcmsCCC, XcmsColorFormat, XcmsColor *);
extern int XcmsQueryRed(XcmsCCC, XcmsColorFormat, XcmsColor *);
extern int XcmsQueryWhite(XcmsCCC, XcmsColorFormat, XcmsColor *);
extern int XcmsRGBToRGBi(XcmsCCC, XcmsColor *, unsigned int, int *);
extern int XcmsRGBiToCIEXYZ(XcmsCCC, XcmsColor *, unsigned int, int *);
extern int XcmsRGBiToRGB(XcmsCCC, XcmsColor *, unsigned int, int *);
extern int XcmsScreenNumberOfCCC(XcmsCCC);
extern XcmsColor *XcmsScreenWhitePointOfCCC(XcmsCCC);
extern XcmsCCC XcmsSetCCCOfColormap(Display *, Colormap, XcmsCCC);
extern XcmsCompressionProc XcmsSetCompressionProc(XcmsCCC,
						  XcmsCompressionProc,
						  XPointer);
extern XcmsWhiteAdjustProc XcmsSetWhiteAdjustProc(XcmsCCC,
						  XcmsWhiteAdjustProc,
						  XPointer);
extern int XcmsSetWhitePoint(XcmsCCC, XcmsColor *);
extern int XcmsStoreColor(Display *, Colormap, XcmsColor *);
extern int XcmsStoreColors(Display *, Colormap, XcmsColor *, unsigned int,
			   int *);
extern int XcmsTekHVCClipC(XcmsCCC, XcmsColor *, unsigned int,
			   unsigned int, int *);
extern int XcmsTekHVCClipV(XcmsCCC, XcmsColor *, unsigned int,
			   unsigned int, int *);
extern int XcmsTekHVCClipVC(XcmsCCC, XcmsColor *, unsigned int,
			    unsigned int, int *);
extern int XcmsTekHVCQueryMaxC(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsTekHVCQueryMaxV(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsTekHVCQueryMaxVC(XcmsCCC, XcmsFloat, XcmsColor *);
extern int XcmsTekHVCQueryMaxVSamples(XcmsCCC, XcmsFloat, XcmsColor *,
				      unsigned int);
extern int XcmsTekHVCQueryMinV(XcmsCCC, XcmsFloat, XcmsFloat, XcmsColor *);
extern int XcmsTekHVCToCIEuvY(XcmsCCC, XcmsColor *, XcmsColor *,
			      unsigned int);
extern int XcmsTekHVCWhiteShiftColors(XcmsCCC, XcmsColor *, XcmsColor *,
				      XcmsColorFormat, XcmsColor *,
				      unsigned int, int *);
extern Visual *XcmsVisualOfCCC(XcmsCCC);

6.2.7. X11/Xfuncproto.h


#define NARROWPROTO
#ifdef __cplusplus
#define _XFUNCPROTOBEGIN extern "C" {
#else
#define _XFUNCPROTOBEGIN
#endif
#ifdef __cplusplus
#define _XFUNCPROTOEND }
#else
#define _XFUNCPROTOEND
#endif
#define NeedFunctionPrototypes	1
#define NeedNestedPrototypes	1
#define NeedVarargsPrototypes	1
#define NeedWidePrototypes	1
#define FUNCPROTO	15
#define _Xconst	const
#define _X_INLINE	inline
#define _X_SENTINEL(x)	__attribute__ ((__sentinel__(x)))
#define _X_DEPRECATED	__attribute__((deprecated))
#define _X_EXPORT	__attribute__((visibility("default")))
#define _X_HIDDEN	__attribute__((visibility("hidden")))
#define _X_INTERNAL	__attribute__((visibility("internal")))
#define _X_ATTRIBUTE_PRINTF(x,y)	__attribute__((__format__(__printf__,x,y)))
#define _X_UNLIKELY(x)	__builtin_expect(!!(x), 0)
#define _X_LIKELY(x)	__builtin_expect(!!(x), 1)

6.2.8. X11/Xfuncs.h


#define _XFUNCS_H_

6.2.9. X11/Xlib.h


struct _XDisplay;

typedef char *XPointer;
typedef struct {
    unsigned long int pixel;
    unsigned short red;
    unsigned short green;
    unsigned short blue;
    char flags;
    char pad;
} XColor;
typedef struct _XDisplay Display;
typedef struct {
    int type;
    Display *display;
    XID resourceid;
    unsigned long int serial;
    unsigned char error_code;
    unsigned char request_code;
    unsigned char minor_code;
} XErrorEvent;
typedef struct _XIM *XIM;
typedef struct _XIC *XIC;
typedef void *XVaNestedList;
typedef unsigned long int XIMFeedback;
typedef struct _XIMText {
    unsigned short length;
    XIMFeedback *feedback;
    int encoding_is_wchar;
    union {
	char *multi_byte;
	wchar_t *wide_char;
    } string;
} XIMText;
typedef unsigned long int XIMPreeditState;
typedef struct _XIMPreeditStateNotifyCallbackStruct {
    XIMPreeditState state;
} XIMPreeditStateNotifyCallbackStruct;
typedef unsigned long int XIMResetState;
typedef unsigned long int XIMStringConversionFeedback;
typedef struct _XIMStringConversionText {
    unsigned short length;
    XIMStringConversionFeedback *feedback;
    int encoding_is_wchar;
    union {
	char *mbs;
	wchar_t *wcs;
    } string;
} XIMStringConversionText;
typedef unsigned short XIMStringConversionPosition;
typedef unsigned short XIMStringConversionType;
typedef unsigned short XIMStringConversionOperation;
typedef struct _XIMStringConversionCallbackStruct {
    XIMStringConversionPosition position;
    XIMCaretDirection direction;
    XIMStringConversionOperation operation;
    unsigned short factor;
    XIMStringConversionText *text;
} XIMStringConversionCallbackStruct;
typedef struct _XIMPreeditDrawCallbackStruct {
    int caret;
    int chg_first;
    int chg_length;
    XIMText *text;
} XIMPreeditDrawCallbackStruct;
typedef struct _XIMPreeditCaretCallbackStruct {
    int position;
    XIMCaretDirection direction;
    XIMCaretStyle style;
} XIMPreeditCaretCallbackStruct;
typedef struct _XIMStatusDrawCallbackStruct {
    XIMStatusDataType type;
    union {
	XIMText *text;
	Pixmap bitmap;
    } data;
} XIMStatusDrawCallbackStruct;
typedef struct _XIMHotKeyTrigger {
    KeySym keysym;
    int modifier;
    int modifier_mask;
} XIMHotKeyTrigger;
typedef struct _XIMHotKeyTriggers {
    int num_hot_key;
    XIMHotKeyTrigger *key;
} XIMHotKeyTriggers;
typedef unsigned long int XIMHotKeyState;
typedef struct {
    unsigned short count_values;
    char **supported_values;
} XIMValuesList;
typedef void (*XIMProc) (XIM, XPointer, XPointer);
typedef int (*XICProc) (XIC, XPointer, XPointer);
typedef enum {
    XIMForwardChar = 0,
    XIMBackwardChar = 1,
    XIMForwardWord = 2,
    XIMBackwardWord = 3,
    XIMCaretUp = 4,
    XIMCaretDown = 5,
    XIMNextLine = 6,
    XIMPreviousLine = 7,
    XIMLineStart = 8,
    XIMLineEnd = 9,
    XIMAbsolutePosition = 10,
    XIMDontChange = 11
} XIMCaretDirection;
typedef enum {
    XIMIsInvisible = 0,
    XIMIsPrimary = 1,
    XIMIsSecondary = 2
} XIMCaretStyle;
typedef enum {
    XIMTextType = 0,
    XIMBitmapType = 1
} XIMStatusDataType;
typedef int (*XErrorHandler) (Display *, XErrorEvent *);
typedef int (*XIOErrorHandler) (Display *);
typedef void (*XConnectionWatchProc) (Display *, XPointer, int, int,
				      XPointer *);

#define XNArea	"area"
#define XNAreaNeeded	"areaNeeded"
#define XNBackground	"background"
#define XNBackgroundPixmap	"backgroundPixmap"
#define XNBaseFontName	"baseFontName"
#define XNClientWindow	"clientWindow"
#define XNColormap	"colorMap"
#define XNContextualDrawing	"contextualDrawing"
#define XNCursor	"cursor"
#define XNDefaultString	"defaultString"
#define XNDestroyCallback	"destroyCallback"
#define XNDirectionalDependentDrawing	"directionalDependentDrawing"
#define XNFilterEvents	"filterEvents"
#define XNFocusWindow	"focusWindow"
#define XNFontInfo	"fontInfo"
#define XNFontSet	"fontSet"
#define XNForeground	"foreground"
#define XNGeometryCallback	"geometryCallback"
#define XNHotKey	"hotKey"
#define XNHotKeyState	"hotKeyState"
#define XNInputStyle	"inputStyle"
#define XNLineSpace	"lineSpace"
#define XNMissingCharSet	"missingCharSet"
#define XNOMAutomatic	"omAutomatic"
#define XNOrientation	"orientation"
#define XNPreeditAttributes	"preeditAttributes"
#define XNPreeditCaretCallback	"preeditCaretCallback"
#define XNPreeditDoneCallback	"preeditDoneCallback"
#define XNPreeditDrawCallback	"preeditDrawCallback"
#define XNPreeditStartCallback	"preeditStartCallback"
#define XNPreeditState	"preeditState"
#define XNPreeditStateNotifyCallback	"preeditStateNotifyCallback"
#define XNQueryICValuesList	"queryICValuesList"
#define XNQueryIMValuesList	"queryIMValuesList"
#define XNQueryInputStyle	"queryInputStyle"
#define XNQueryOrientation	"queryOrientation"
#define XNR6PreeditCallback	"r6PreeditCallback"
#define XNRequiredCharSet	"requiredCharSet"
#define XNResetState	"resetState"
#define XNResourceClass	"resourceClass"
#define XNResourceName	"resourceName"
#define XNSeparatorofNestedList	"separatorofNestedList"
#define XNSpotLocation	"spotLocation"
#define XNStatusAttributes	"statusAttributes"
#define XNStatusDoneCallback	"statusDoneCallback"
#define XNStatusDrawCallback	"statusDrawCallback"
#define XNStatusStartCallback	"statusStartCallback"
#define XNStdColormap	"stdColorMap"
#define XNStringConversion	"stringConversion"
#define XNStringConversionCallback	"stringConversionCallback"
#define XNVisiblePosition	"visiblePosition"
#define XNVaNestedList	"XNVaNestedList"
#define ScreenOfDisplay(dpy,scr)	(&((_XPrivDisplay)dpy)->screens[scr])
#define BitmapBitOrder(dpy)	(((_XPrivDisplay)dpy)->bitmap_bit_order)
#define BitmapPad(dpy)	(((_XPrivDisplay)dpy)->bitmap_pad)
#define BitmapUnit(dpy)	(((_XPrivDisplay)dpy)->bitmap_unit)
#define ImageByteOrder(dpy)	(((_XPrivDisplay)dpy)->byte_order)
#define DefaultScreen(dpy)	(((_XPrivDisplay)dpy)->default_screen)
#define DisplayString(dpy)	(((_XPrivDisplay)dpy)->display_name)
#define ConnectionNumber(dpy)	(((_XPrivDisplay)dpy)->fd)
#define LastKnownRequestProcessed(dpy)	(((_XPrivDisplay)dpy)->last_request_read)
#define ScreenCount(dpy)	(((_XPrivDisplay)dpy)->nscreens)
#define ProtocolVersion(dpy)	(((_XPrivDisplay)dpy)->proto_major_version)
#define ProtocolRevision(dpy)	(((_XPrivDisplay)dpy)->proto_minor_version)
#define QLength(dpy)	(((_XPrivDisplay)dpy)->qlen)
#define VendorRelease(dpy)	(((_XPrivDisplay)dpy)->release)
#define NextRequest(dpy)	(((_XPrivDisplay)dpy)->request+1)
#define ServerVendor(dpy)	(((_XPrivDisplay)dpy)->vendor)
#define XAllocID(dpy)	((*((_XPrivDisplay)dpy)->resource_alloc)((dpy)))
#define DoesBackingStore(s)	((s)->backing_store)
#define BlackPixelOfScreen(s)	((s)->black_pixel)
#define DefaultColormapOfScreen(s)	((s)->cmap)
#define DefaultGCOfScreen(s)	((s)->default_gc)
#define DisplayOfScreen(s)	((s)->display)
#define HeightOfScreen(s)	((s)->height)
#define MaxCmapsOfScreen(s)	((s)->max_maps)
#define HeightMMOfScreen(s)	((s)->mheight)
#define MinCmapsOfScreen(s)	((s)->min_maps)
#define WidthMMOfScreen(s)	((s)->mwidth)
#define RootWindowOfScreen(s)	((s)->root)
#define DefaultDepthOfScreen(s)	((s)->root_depth)
#define PlanesOfScreen(s)	((s)->root_depth)
#define EventMaskOfScreen(s)	((s)->root_input_mask)
#define DefaultVisualOfScreen(s)	((s)->root_visual)
#define DoesSaveUnders(s)	((s)->save_unders)
#define WhitePixelOfScreen(s)	((s)->white_pixel)
#define WidthOfScreen(s)	((s)->width)
#define AllPlanes	((unsigned long)~0L)
#define XIMStringConversionLeftEdge	(0x00000001)
#define XIMStringConversionRightEdge	(0x00000002)
#define XIMStringConversionTopEdge	(0x00000004)
#define XIMStringConversionBottomEdge	(0x00000008)
#define XIMStringConversionConcealed	(0x00000010)
#define XIMStringConversionWrapped	(0x00000020)
#define XIMStringConversionBuffer	(0x0001)
#define XIMStringConversionSubstitution	(0x0001)
#define XIMHotKeyStateON	(0x0001L)
#define XIMStringConversionLine	(0x0002)
#define XIMStringConversionRetrieval	(0x0002)
#define XIMHotKeyStateOFF	(0x0002L)
#define XIMStringConversionWord	(0x0003)
#define XIMStringConversionChar	(0x0004)
#define XIMPreeditDisable	(1L<<1)
#define XIMPreserveState	(1L<<1)
#define XIMUnderline	(1L<<1)
#define XIMVisibleToCenter	(1L<<10)
#define XIMHighlight	(1L<<2)
#define XIMPrimary	(1L<<5)
#define XIMSecondary	(1L<<6)
#define XIMTertiary	(1L<<7)
#define XIMVisibleToForward	(1L<<8)
#define XIMVisibleToBackword	(1L<<9)
#define DisplayCells(dpy,scr)	(DefaultVisual(dpy,scr)->map_entries)
#define CellsOfScreen(s)	(DefaultVisualOfScreen((s))->map_entries)
#define DefaultRootWindow(dpy)	(ScreenOfDisplay(dpy,DefaultScreen(dpy))->root)
#define BlackPixel(dpy,scr)	(ScreenOfDisplay(dpy,scr)->black_pixel)
#define DefaultColormap(dpy,scr)	(ScreenOfDisplay(dpy,scr)->cmap)
#define DefaultGC(dpy,scr)	(ScreenOfDisplay(dpy,scr)->default_gc)
#define DisplayHeight(dpy,scr)	(ScreenOfDisplay(dpy,scr)->height)
#define DisplayHeightMM(dpy,scr)	(ScreenOfDisplay(dpy,scr)->mheight)
#define DisplayWidthMM(dpy,scr)	(ScreenOfDisplay(dpy,scr)->mwidth)
#define RootWindow(dpy, scr)	(ScreenOfDisplay(dpy,scr)->root)
#define DefaultDepth(dpy,scr)	(ScreenOfDisplay(dpy,scr)->root_depth)
#define DisplayPlanes(dpy,scr)	(ScreenOfDisplay(dpy,scr)->root_depth)
#define DefaultVisual(dpy,scr)	(ScreenOfDisplay(dpy,scr)->root_visual)
#define WhitePixel(dpy,scr)	(ScreenOfDisplay(dpy,scr)->white_pixel)
#define DisplayWidth(dpy,scr)	(ScreenOfDisplay(dpy,scr)->width)
#define XBufferOverflow	-1
#define False	0
#define QueuedAlready	0
#define XIMPreeditUnKnown	0L
#define XIMPreeditArea	0x0001L
#define XIMPreeditCallbacks	0x0002L
#define XIMPreeditPosition	0x0004L
#define XIMPreeditNothing	0x0008L
#define XIMPreeditNone	0x0010L
#define XIMStatusArea	0x0100L
#define XIMStatusCallbacks	0x0200L
#define XIMStatusNothing	0x0400L
#define XIMStatusNone	0x0800L
#define QueuedAfterReading	1
#define True	1
#define XLookupNone	1
#define _XLIB_H_	1
#define XIMInitialState	1L
#define XIMPreeditEnable	1L
#define XIMReverse	1L
#define QueuedAfterFlush	2
#define XLookupChars	2
#define XLookupKeySym	3
#define XLookupBoth	4
#define XlibSpecificationRelease	6
#define Bool	int
#define Status	int
#define DefaultScreenOfDisplay(dpy)	ScreenOfDisplay(dpy,DefaultScreen(dpy))

typedef struct _XExtData {
    int number;
    struct _XExtData *next;
    int (*free_private) (struct _XExtData * extension);
    XPointer private_data;
} XExtData;
typedef struct {
    int extension;
    int major_opcode;
    int first_event;
    int first_error;
} XExtCodes;

typedef struct {
    int depth;
    int bits_per_pixel;
    int scanline_pad;
} XPixmapFormatValues;

typedef struct {
    int function;
    unsigned long int plane_mask;
    unsigned long int foreground;
    unsigned long int background;
    int line_width;
    int line_style;
    int cap_style;
    int join_style;
    int fill_style;
    int fill_rule;
    int arc_mode;
    Pixmap tile;
    Pixmap stipple;
    int ts_x_origin;
    int ts_y_origin;
    Font font;
    int subwindow_mode;
    int graphics_exposures;
    int clip_x_origin;
    int clip_y_origin;
    Pixmap clip_mask;
    int dash_offset;
    char dashes;
} XGCValues;

struct _XGC;
typedef struct _XGC *GC;

typedef struct {
    XExtData *ext_data;
    VisualID visualid;
#if defined(__cplusplus) || defined(c_plusplus)
    int c_class;
#else
    int class;
#endif
    unsigned long int red_mask;
    unsigned long int green_mask;
    unsigned long int blue_mask;
    int bits_per_rgb;
    int map_entries;
} Visual;

typedef struct {
    int depth;
    int nvisuals;
    Visual *visuals;
} Depth;

typedef struct {
    XExtData *ext_data;
    struct _XDisplay *display;
    Window root;
    int width;
    int height;
    int mwidth;
    int mheight;
    int ndepths;
    Depth *depths;
    int root_depth;
    Visual *root_visual;
    GC default_gc;
    Colormap cmap;
    unsigned long int white_pixel;
    unsigned long int black_pixel;
    int max_maps;
    int min_maps;
    int backing_store;
    int save_unders;
    long int root_input_mask;
} Screen;

typedef struct {
    XExtData *ext_data;
    int depth;
    int bits_per_pixel;
    int scanline_pad;
} ScreenFormat;

typedef struct {
    Pixmap background_pixmap;
    unsigned long int background_pixel;
    Pixmap border_pixmap;
    unsigned long int border_pixel;
    int bit_gravity;
    int win_gravity;
    int backing_store;
    unsigned long int backing_planes;
    unsigned long int backing_pixel;
    int save_under;
    long int event_mask;
    long int do_not_propagate_mask;
    int override_redirect;
    Colormap colormap;
    Cursor cursor;
} XSetWindowAttributes;
typedef struct {
    int x;
    int y;
    int width;
    int height;
    int border_width;
    int depth;
    Visual *visual;
    Window root;
#if defined(__cplusplus) || defined(c_plusplus)
    int c_class;
#else
    int class;
#endif
    int bit_gravity;
    int win_gravity;
    int backing_store;
    unsigned long int backing_planes;
    unsigned long int backing_pixel;
    int save_under;
    Colormap colormap;
    int map_installed;
    int map_state;
    long int all_event_masks;
    long int your_event_mask;
    long int do_not_propagate_mask;
    int override_redirect;
    Screen *screen;
} XWindowAttributes;

typedef struct {
    int family;
    int length;
    char *address;
} XHostAddress;

struct funcs {
    struct _XImage *(*create_image) (void);
    int (*destroy_image) (void);
    unsigned long int (*get_pixel) (void);
    int (*put_pixel) (void);
    struct _XImage *(*sub_image) (void);
    int (*add_pixel) (void);
};
typedef struct _XImage {
    int width;
    int height;
    int xoffset;
    int format;
    char *data;
    int byte_order;
    int bitmap_unit;
    int bitmap_bit_order;
    int bitmap_pad;
    int depth;
    int bytes_per_line;
    int bits_per_pixel;
    unsigned long int red_mask;
    unsigned long int green_mask;
    unsigned long int blue_mask;
    XPointer obdata;
    struct funcs f;
} XImage;

typedef struct {
    int x;
    int y;
    int width;
    int height;
    int border_width;
    Window sibling;
    int stack_mode;
} XWindowChanges;

typedef struct {
    short x1;
    short y1;
    short x2;
    short y2;
} XSegment;
typedef struct {
    short x;
    short y;
} XPoint;
typedef struct {
    short x;
    short y;
    unsigned short width;
    unsigned short height;
} XRectangle;
typedef struct {
    short x;
    short y;
    unsigned short width;
    unsigned short height;
    short angle1;
    short angle2;
} XArc;

typedef struct {
    int key_click_percent;
    int bell_percent;
    int bell_pitch;
    int bell_duration;
    int led;
    int led_mode;
    int key;
    int auto_repeat_mode;
} XKeyboardControl;

typedef struct {
    int key_click_percent;
    int bell_percent;
    unsigned int bell_pitch;
    unsigned int bell_duration;
    unsigned long int led_mask;
    int global_auto_repeat;
    char auto_repeats[32];
} XKeyboardState;

typedef struct {
    Time time;
    short x;
    short y;
} XTimeCoord;

typedef struct {
    int max_keypermod;
    KeyCode *modifiermap;
} XModifierKeymap;

typedef struct {
    XExtData *ext_data;
    struct _XPrivate *private1;
    int fd;
    int private2;
    int proto_major_version;
    int proto_minor_version;
    char *vendor;
    XID private3;
    XID private4;
    XID private5;
    int private6;
     XID(*resource_alloc) (struct _XDisplay *);
    int byte_order;
    int bitmap_unit;
    int bitmap_pad;
    int bitmap_bit_order;
    int nformats;
    ScreenFormat *pixmap_format;
    int private8;
    int release;
    struct _XPrivate *private9;
    struct _XPrivate *private10;
    int qlen;
    unsigned long int last_request_read;
    unsigned long int request;
    XPointer private11;
    XPointer private12;
    XPointer private13;
    XPointer private14;
    unsigned int max_request_size;
    struct _XrmHashBucketRec *db;
    int (*private15) (struct _XDisplay *);
    char *display_name;
    int default_screen;
    int nscreens;
    Screen *screens;
    unsigned long int motion_buffer;
    unsigned long int private16;
    int min_keycode;
    int max_keycode;
    XPointer private17;
    XPointer private18;
    int private19;
    char *xdefaults;
} *_XPrivDisplay;

typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    unsigned int state;
    unsigned int keycode;
    int same_screen;
} XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    unsigned int state;
    unsigned int button;
    int same_screen;
} XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    unsigned int state;
    char is_hint;
    int same_screen;
} XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    int mode;
    int detail;
    int same_screen;
    int focus;
    unsigned int state;
} XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    int mode;
    int detail;
} XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    char key_vector[32];
} XKeymapEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    int x;
    int y;
    int width;
    int height;
    int count;
} XExposeEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Drawable drawable;
    int x;
    int y;
    int width;
    int height;
    int count;
    int major_code;
    int minor_code;
} XGraphicsExposeEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Drawable drawable;
    int major_code;
    int minor_code;
} XNoExposeEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    int state;
} XVisibilityEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window parent;
    Window window;
    int x;
    int y;
    int width;
    int height;
    int border_width;
    int override_redirect;
} XCreateWindowEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window event;
    Window window;
} XDestroyWindowEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window event;
    Window window;
    int from_configure;
} XUnmapEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window event;
    Window window;
    int override_redirect;
} XMapEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window parent;
    Window window;
} XMapRequestEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window event;
    Window window;
    Window parent;
    int x;
    int y;
    int override_redirect;
} XReparentEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window event;
    Window window;
    int x;
    int y;
    int width;
    int height;
    int border_width;
    Window above;
    int override_redirect;
} XConfigureEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window event;
    Window window;
    int x;
    int y;
} XGravityEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    int width;
    int height;
} XResizeRequestEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window parent;
    Window window;
    int x;
    int y;
    int width;
    int height;
    int border_width;
    Window above;
    int detail;
    unsigned long int value_mask;
} XConfigureRequestEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window event;
    Window window;
    int place;
} XCirculateEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window parent;
    Window window;
    int place;
} XCirculateRequestEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Atom atom;
    Time time;
    int state;
} XPropertyEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Atom selection;
    Time time;
} XSelectionClearEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window owner;
    Window requestor;
    Atom selection;
    Atom target;
    Atom property;
    Time time;
} XSelectionRequestEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window requestor;
    Atom selection;
    Atom target;
    Atom property;
    Time time;
} XSelectionEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Colormap colormap;
#if defined(__cplusplus) || defined(c_plusplus)
    int c_new;
#else
    int new;
#endif
    int state;
} XColormapEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    Atom message_type;
    int format;
    union {
	char b[20];
	short s[10];
	long int l[5];
    } data;
} XClientMessageEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    int request;
    int first_keycode;
    int count;
} XMappingEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
} XAnyEvent;

union _XEvent {
    int type;
    XAnyEvent xany;
    XKeyEvent xkey;
    XButtonEvent xbutton;
    XMotionEvent xmotion;
    XCrossingEvent xcrossing;
    XFocusChangeEvent xfocus;
    XExposeEvent xexpose;
    XGraphicsExposeEvent xgraphicsexpose;
    XNoExposeEvent xnoexpose;
    XVisibilityEvent xvisibility;
    XCreateWindowEvent xcreatewindow;
    XDestroyWindowEvent xdestroywindow;
    XUnmapEvent xunmap;
    XMapEvent xmap;
    XMapRequestEvent xmaprequest;
    XReparentEvent xreparent;
    XConfigureEvent xconfigure;
    XGravityEvent xgravity;
    XResizeRequestEvent xresizerequest;
    XConfigureRequestEvent xconfigurerequest;
    XCirculateEvent xcirculate;
    XCirculateRequestEvent xcirculaterequest;
    XPropertyEvent xproperty;
    XSelectionClearEvent xselectionclear;
    XSelectionRequestEvent xselectionrequest;
    XSelectionEvent xselection;
    XColormapEvent xcolormap;
    XClientMessageEvent xclient;
    XMappingEvent xmapping;
    XErrorEvent xerror;
    XKeymapEvent xkeymap;
    long int pad[24];
};
typedef union _XEvent {
    int type;
    XAnyEvent xany;
    XKeyEvent xkey;
    XButtonEvent xbutton;
    XMotionEvent xmotion;
    XCrossingEvent xcrossing;
    XFocusChangeEvent xfocus;
    XExposeEvent xexpose;
    XGraphicsExposeEvent xgraphicsexpose;
    XNoExposeEvent xnoexpose;
    XVisibilityEvent xvisibility;
    XCreateWindowEvent xcreatewindow;
    XDestroyWindowEvent xdestroywindow;
    XUnmapEvent xunmap;
    XMapEvent xmap;
    XMapRequestEvent xmaprequest;
    XReparentEvent xreparent;
    XConfigureEvent xconfigure;
    XGravityEvent xgravity;
    XResizeRequestEvent xresizerequest;
    XConfigureRequestEvent xconfigurerequest;
    XCirculateEvent xcirculate;
    XCirculateRequestEvent xcirculaterequest;
    XPropertyEvent xproperty;
    XSelectionClearEvent xselectionclear;
    XSelectionRequestEvent xselectionrequest;
    XSelectionEvent xselection;
    XColormapEvent xcolormap;
    XClientMessageEvent xclient;
    XMappingEvent xmapping;
    XErrorEvent xerror;
    XKeymapEvent xkeymap;
    long int pad[24];
} XEvent;

typedef struct {
    short lbearing;
    short rbearing;
    short width;
    short ascent;
    short descent;
    unsigned short attributes;
} XCharStruct;

typedef struct {
    Atom name;
    unsigned long int card32;
} XFontProp;
typedef struct {
    XExtData *ext_data;
    Font fid;
    unsigned int direction;
    unsigned int min_char_or_byte2;
    unsigned int max_char_or_byte2;
    unsigned int min_byte1;
    unsigned int max_byte1;
    int all_chars_exist;
    unsigned int default_char;
    int n_properties;
    XFontProp *properties;
    XCharStruct min_bounds;
    XCharStruct max_bounds;
    XCharStruct *per_char;
    int ascent;
    int descent;
} XFontStruct;
typedef struct {
    XRectangle max_ink_extent;
    XRectangle max_logical_extent;
} XFontSetExtents;

typedef struct {
    char *chars;
    int nchars;
    int delta;
    Font font;
} XTextItem;
typedef struct {
    unsigned char byte1;
    unsigned char byte2;
} XChar2b;
typedef struct {
    XChar2b *chars;
    int nchars;
    int delta;
    Font font;
} XTextItem16;

typedef union {
    Display *display;
    GC gc;
    Visual *visual;
    Screen *screen;
    ScreenFormat *pixmap_format;
    XFontStruct *font;
} XEDataObject;

typedef struct _XOM *XOM;
typedef struct _XOC *XOC;
typedef struct _XOC *XFontSet;

typedef struct {
    char *chars;
    int nchars;
    int delta;
    XFontSet font_set;
} XmbTextItem;
typedef struct {
    wchar_t *chars;
    int nchars;
    int delta;
    XFontSet font_set;
} XwcTextItem;

typedef struct {
    int charset_count;
    char **charset_list;
} XOMCharSetList;
typedef enum {
    XOMOrientation_LTR_TTB = 0,
    XOMOrientation_RTL_TTB = 1,
    XOMOrientation_TTB_LTR = 2,
    XOMOrientation_TTB_RTL = 3,
    XOMOrientation_Context = 4
} XOrientation;
typedef struct {
    int num_font;
    XFontStruct **font_struct_list;
    char **font_name_list;
} XOMFontInfo;
typedef struct {
    int num_orientation;
    XOrientation *orientation;
} XOMOrientation;

typedef unsigned long int XIMStyle;
typedef struct {
    unsigned short count_styles;
    XIMStyle *supported_styles;
} XIMStyles;
typedef struct {
    XPointer client_data;
    XIMProc callback;
} XIMCallback;
typedef struct {
    XPointer client_data;
    XICProc callback;
} XICCallback;
typedef void (*XIDProc) (Display *, XPointer, XPointer);
extern int XActivateScreenSaver(Display *);
extern int XAddConnectionWatch(Display *, XConnectionWatchProc, XPointer);
extern XExtCodes *XAddExtension(Display *);
extern int XAddHost(Display *, XHostAddress *);
extern int XAddHosts(Display *, XHostAddress *, int);
extern int XAddToExtensionList(struct _XExtData **, XExtData *);
extern int XAddToSaveSet(Display *, Window);
extern unsigned long int XAllPlanes(void);
extern int XAllocColor(Display *, Colormap, XColor *);
extern int XAllocColorCells(Display *, Colormap, int, unsigned long int *,
			    unsigned int, unsigned long int *,
			    unsigned int);
extern int XAllocColorPlanes(Display *, Colormap, int, unsigned long int *,
			     int, int, int, int, unsigned long int *,
			     unsigned long int *, unsigned long int *);
extern int XAllocNamedColor(Display *, Colormap, const char *, XColor *,
			    XColor *);
extern int XAllowEvents(Display *, int, Time);
extern int XAutoRepeatOff(Display *);
extern int XAutoRepeatOn(Display *);
extern char *XBaseFontNameListOfFontSet(XFontSet);
extern int XBell(Display *, int);
extern int XBitmapBitOrder(Display *);
extern int XBitmapPad(Display *);
extern int XBitmapUnit(Display *);
extern unsigned long int XBlackPixel(Display *, int);
extern unsigned long int XBlackPixelOfScreen(Screen *);
extern int XCellsOfScreen(Screen *);
extern int XChangeActivePointerGrab(Display *, unsigned int, Cursor, Time);
extern int XChangeGC(Display *, GC, unsigned long int, XGCValues *);
extern int XChangeKeyboardControl(Display *, unsigned long int,
				  XKeyboardControl *);
extern int XChangeKeyboardMapping(Display *, int, int, KeySym *, int);
extern int XChangePointerControl(Display *, int, int, int, int, int);
extern int XChangeProperty(Display *, Window, Atom, Atom, int, int,
			   const unsigned char *, int);
extern int XChangeSaveSet(Display *, Window, int);
extern int XChangeWindowAttributes(Display *, Window, unsigned long int,
				   XSetWindowAttributes *);
extern int XCheckIfEvent(Display *, XEvent *,
			 int (*)(Display *, XEvent *, XPointer), XPointer);
extern int XCheckMaskEvent(Display *, long int, XEvent *);
extern int XCheckTypedEvent(Display *, int, XEvent *);
extern int XCheckTypedWindowEvent(Display *, Window, int, XEvent *);
extern int XCheckWindowEvent(Display *, Window, long int, XEvent *);
extern int XCirculateSubwindows(Display *, Window, int);
extern int XCirculateSubwindowsDown(Display *, Window);
extern int XCirculateSubwindowsUp(Display *, Window);
extern int XClearArea(Display *, Window, int, int, unsigned int,
		      unsigned int, int);
extern int XClearWindow(Display *, Window);
extern int XCloseDisplay(Display *);
extern int XCloseIM(XIM);
extern int XCloseOM(XOM);
extern int XConfigureWindow(Display *, Window, unsigned int,
			    XWindowChanges *);
extern int XConnectionNumber(Display *);
extern int XContextDependentDrawing(XFontSet);
extern int XContextualDrawing(XFontSet);
extern int XConvertSelection(Display *, Atom, Atom, Atom, Window, Time);
extern int XCopyArea(Display *, Drawable, Drawable, GC, int, int,
		     unsigned int, unsigned int, int, int);
extern Colormap XCopyColormapAndFree(Display *, Colormap);
extern int XCopyGC(Display *, GC, unsigned long int, GC);
extern int XCopyPlane(Display *, Drawable, Drawable, GC, int, int,
		      unsigned int, unsigned int, int, int,
		      unsigned long int);
extern Pixmap XCreateBitmapFromData(Display *, Drawable, const char *,
				    unsigned int, unsigned int);
extern Colormap XCreateColormap(Display *, Window, Visual *, int);
extern Cursor XCreateFontCursor(Display *, unsigned int);
extern XFontSet XCreateFontSet(Display *, const char *, char ***, int *,
			       char **);
extern GC XCreateGC(Display *, Drawable, unsigned long int, XGCValues *);
extern Cursor XCreateGlyphCursor(Display *, Font, Font, unsigned int,
				 unsigned int, const XColor *,
				 const XColor *);
extern XIC XCreateIC(XIM, ...);
extern XImage *XCreateImage(Display *, Visual *, unsigned int, int, int,
			    char *, unsigned int, unsigned int, int, int);
extern XOC XCreateOC(XOM, ...);
extern Pixmap XCreatePixmap(Display *, Drawable, unsigned int,
			    unsigned int, unsigned int);
extern Cursor XCreatePixmapCursor(Display *, Pixmap, Pixmap, XColor *,
				  XColor *, unsigned int, unsigned int);
extern Pixmap XCreatePixmapFromBitmapData(Display *, Drawable, char *,
					  unsigned int, unsigned int,
					  unsigned long int,
					  unsigned long int, unsigned int);
extern Window XCreateSimpleWindow(Display *, Window, int, int,
				  unsigned int, unsigned int, unsigned int,
				  unsigned long int, unsigned long int);
extern Window XCreateWindow(Display *, Window, int, int, unsigned int,
			    unsigned int, unsigned int, int, unsigned int,
			    Visual *, unsigned long int,
			    XSetWindowAttributes *);
extern Colormap XDefaultColormap(Display *, int);
extern Colormap XDefaultColormapOfScreen(Screen *);
extern int XDefaultDepth(Display *, int);
extern int XDefaultDepthOfScreen(Screen *);
extern GC XDefaultGC(Display *, int);
extern GC XDefaultGCOfScreen(Screen *);
extern Window XDefaultRootWindow(Display *);
extern int XDefaultScreen(Display *);
extern Screen *XDefaultScreenOfDisplay(Display *);
extern Visual *XDefaultVisual(Display *, int);
extern Visual *XDefaultVisualOfScreen(Screen *);
extern int XDefineCursor(Display *, Window, Cursor);
extern XModifierKeymap *XDeleteModifiermapEntry(XModifierKeymap *,
						unsigned int, int);
extern int XDeleteProperty(Display *, Window, Atom);
extern void XDestroyIC(XIC);
extern void XDestroyOC(XOC);
extern int XDestroySubwindows(Display *, Window);
extern int XDestroyWindow(Display *, Window);
extern int XDirectionalDependentDrawing(XFontSet);
extern int XDisableAccessControl(Display *);
extern int XDisplayCells(Display *, int);
extern int XDisplayHeight(Display *, int);
extern int XDisplayHeightMM(Display *, int);
extern int XDisplayKeycodes(Display *, int *, int *);
extern unsigned long int XDisplayMotionBufferSize(Display *);
extern char *XDisplayName(const char *);
extern Display *XDisplayOfIM(XIM);
extern Display *XDisplayOfOM(XOM);
extern Display *XDisplayOfScreen(Screen *);
extern int XDisplayPlanes(Display *, int);
extern char *XDisplayString(Display *);
extern int XDisplayWidth(Display *, int);
extern int XDisplayWidthMM(Display *, int);
extern int XDoesBackingStore(Screen *);
extern int XDoesSaveUnders(Screen *);
extern int XDrawArc(Display *, Drawable, GC, int, int, unsigned int,
		    unsigned int, int, int);
extern int XDrawArcs(Display *, Drawable, GC, XArc *, int);
extern int XDrawImageString(Display *, Drawable, GC, int, int,
			    const char *, int);
extern int XDrawImageString16(Display *, Drawable, GC, int, int,
			      const XChar2b *, int);
extern int XDrawLine(Display *, Drawable, GC, int, int, int, int);
extern int XDrawLines(Display *, Drawable, GC, XPoint *, int, int);
extern int XDrawPoint(Display *, Drawable, GC, int, int);
extern int XDrawPoints(Display *, Drawable, GC, XPoint *, int, int);
extern int XDrawRectangle(Display *, Drawable, GC, int, int, unsigned int,
			  unsigned int);
extern int XDrawRectangles(Display *, Drawable, GC, XRectangle *, int);
extern int XDrawSegments(Display *, Drawable, GC, XSegment *, int);
extern int XDrawString(Display *, Drawable, GC, int, int, const char *,
		       int);
extern int XDrawString16(Display *, Drawable, GC, int, int,
			 const XChar2b *, int);
extern int XDrawText(Display *, Drawable, GC, int, int, XTextItem *, int);
extern int XDrawText16(Display *, Drawable, GC, int, int, XTextItem16 *,
		       int);
extern XExtData **XEHeadOfExtensionList(XEDataObject);
extern
    void (*XESetBeforeFlush
	  (Display *, int,
	   void (*)(Display *, XExtCodes *, const char *,
		    long int))) (Display *, XExtCodes *, const char *,
				 long int);
extern
    int (*XESetCloseDisplay
	 (Display *, int, int (*)(Display *, XExtCodes *))) (Display *,
							     XExtCodes *);
extern
    int (*XESetCopyGC(Display *, int, int (*)(Display *, GC, XExtCodes *)))
    (Display *, GC, XExtCodes *);
extern
    int (*XESetCreateFont
	 (Display *, int,
	  int (*)(Display *, XFontStruct *, XExtCodes *))) (Display *,
							    XFontStruct *,
							    XExtCodes *);
extern
    int (*XESetCreateGC
	 (Display *, int, int (*)(Display *, GC, XExtCodes *))) (Display *,
								 GC,
								 XExtCodes
								 *);
extern
    int (*XESetError
	 (Display *, int,
	  int (*)(Display *, xError *, XExtCodes *, int *))) (Display *,
							      xError *,
							      XExtCodes *,
							      int *);
extern char
    *(*XESetErrorString
      (Display *, int,
       char *(*)(Display *, int, XExtCodes *, char *, int))) (Display *,
							      int,
							      XExtCodes *,
							      char *, int);
extern
    int (*XESetEventToWire
	 (Display *, int,
	  int (*)(Display *, XEvent *, xEvent *))) (Display *, XEvent *,
						    xEvent *);
extern
    int (*XESetFlushGC
	 (Display *, int, int (*)(Display *, GC, XExtCodes *))) (Display *,
								 GC,
								 XExtCodes
								 *);
extern
    int (*XESetFreeFont
	 (Display *, int,
	  int (*)(Display *, XFontStruct *, XExtCodes *))) (Display *,
							    XFontStruct *,
							    XExtCodes *);
extern
    int (*XESetFreeGC(Display *, int, int (*)(Display *, GC, XExtCodes *)))
    (Display *, GC, XExtCodes *);
extern
    void (*XESetPrintErrorValues
	  (Display *, int,
	   void (*)(Display *, XErrorEvent *, void *))) (Display *,
							 XErrorEvent *,
							 void *);
extern
    int (*XESetWireToError
	 (Display *, int,
	  int (*)(Display *, XErrorEvent *, xError *))) (Display *,
							 XErrorEvent *,
							 xError *);
extern
    int (*XESetWireToEvent
	 (Display *, int,
	  int (*)(Display *, XEvent *, xEvent *))) (Display *, XEvent *,
						    xEvent *);
extern int XEnableAccessControl(Display *);
extern long int XEventMaskOfScreen(Screen *);
extern int XEventsQueued(Display *, int);
extern long int XExtendedMaxRequestSize(Display *);
extern XFontSetExtents *XExtentsOfFontSet(XFontSet);
extern char *XFetchBuffer(Display *, int *, int);
extern char *XFetchBytes(Display *, int *);
extern int XFetchName(Display *, Window, char **);
extern int XFillArc(Display *, Drawable, GC, int, int, unsigned int,
		    unsigned int, int, int);
extern int XFillArcs(Display *, Drawable, GC, XArc *, int);
extern int XFillPolygon(Display *, Drawable, GC, XPoint *, int, int, int);
extern int XFillRectangle(Display *, Drawable, GC, int, int, unsigned int,
			  unsigned int);
extern int XFillRectangles(Display *, Drawable, GC, XRectangle *, int);
extern int XFilterEvent(XEvent *, Window);
extern XExtData *XFindOnExtensionList(XExtData * *, int);
extern int XFlush(Display *);
extern void XFlushGC(Display *, GC);
extern int XFontsOfFontSet(XFontSet, XFontStruct * **, char ***);
extern int XForceScreenSaver(Display *, int);
extern int XFree(void *);
extern int XFreeColormap(Display *, Colormap);
extern int XFreeColors(Display *, Colormap, unsigned long int *, int,
		       unsigned long int);
extern int XFreeCursor(Display *, Cursor);
extern int XFreeExtensionList(char **);
extern int XFreeFont(Display *, XFontStruct *);
extern int XFreeFontInfo(char **, XFontStruct *, int);
extern int XFreeFontNames(char **);
extern int XFreeFontPath(char **);
extern void XFreeFontSet(Display *, XFontSet);
extern int XFreeGC(Display *, GC);
extern int XFreeModifiermap(XModifierKeymap *);
extern int XFreePixmap(Display *, Pixmap);
extern void XFreeStringList(char **);
extern GContext XGContextFromGC(GC);
extern int XGeometry(Display *, int, const char *, const char *,
		     unsigned int, unsigned int, unsigned int, int, int,
		     int *, int *, int *, int *);
extern char *XGetAtomName(Display *, Atom);
extern int XGetAtomNames(Display *, Atom *, int, char **);
extern int XGetCommand(Display *, Window, char ***, int *);
extern char *XGetDefault(Display *, const char *, const char *);
extern int XGetErrorDatabaseText(Display *, const char *, const char *,
				 const char *, char *, int);
extern int XGetErrorText(Display *, int, char *, int);
extern char **XGetFontPath(Display *, int *);
extern int XGetFontProperty(XFontStruct *, Atom, unsigned long int *);
extern int XGetGCValues(Display *, GC, unsigned long int, XGCValues *);
extern int XGetGeometry(Display *, Drawable, Window *, int *, int *,
			unsigned int *, unsigned int *, unsigned int *,
			unsigned int *);
extern char *XGetICValues(XIC, ...);
extern char *XGetIMValues(XIM, ...);
extern int XGetIconName(Display *, Window, char **);
extern XImage *XGetImage(Display *, Drawable, int, int, unsigned int,
			 unsigned int, unsigned long int, int);
extern int XGetInputFocus(Display *, Window *, int *);
extern int XGetKeyboardControl(Display *, XKeyboardState *);
extern KeySym *XGetKeyboardMapping(Display *, unsigned int, int, int *);
extern XModifierKeymap *XGetModifierMapping(Display *);
extern XTimeCoord *XGetMotionEvents(Display *, Window, Time, Time, int *);
extern char *XGetOCValues(XOC, ...);
extern char *XGetOMValues(XOM, ...);
extern int XGetPointerControl(Display *, int *, int *, int *);
extern int XGetPointerMapping(Display *, unsigned char *, int);
extern int XGetScreenSaver(Display *, int *, int *, int *, int *);
extern Window XGetSelectionOwner(Display *, Atom);
extern XImage *XGetSubImage(Display *, Drawable, int, int, unsigned int,
			    unsigned int, unsigned long int, int, XImage *,
			    int, int);
extern int XGetTransientForHint(Display *, Window, Window *);
extern int XGetWMColormapWindows(Display *, Window, Window * *, int *);
extern int XGetWMProtocols(Display *, Window, Atom * *, int *);
extern int XGetWindowAttributes(Display *, Window, XWindowAttributes *);
extern int XGetWindowProperty(Display *, Window, Atom, long int, long int,
			      int, Atom, Atom *, int *,
			      unsigned long int *, unsigned long int *,
			      unsigned char **);
extern int XGrabButton(Display *, unsigned int, unsigned int, Window, int,
		       unsigned int, int, int, Window, Cursor);
extern int XGrabKey(Display *, int, unsigned int, Window, int, int, int);
extern int XGrabKeyboard(Display *, Window, int, int, int, Time);
extern int XGrabPointer(Display *, Window, int, unsigned int, int, int,
			Window, Cursor, Time);
extern int XGrabServer(Display *);
extern int XHeightMMOfScreen(Screen *);
extern int XHeightOfScreen(Screen *);
extern XIM XIMOfIC(XIC);
extern int XIconifyWindow(Display *, Window, int);
extern int XIfEvent(Display *, XEvent *,
		    int (*)(Display *, XEvent *, XPointer), XPointer);
extern int XImageByteOrder(Display *);
extern XExtCodes *XInitExtension(Display *, const char *);
extern int XInitImage(XImage *);
extern int XInitThreads(void);
extern XModifierKeymap *XInsertModifiermapEntry(XModifierKeymap *,
						unsigned int, int);
extern int XInstallColormap(Display *, Colormap);
extern Atom XInternAtom(Display *, const char *, int);
extern int XInternAtoms(Display *, char **, int, int, Atom *);
extern int XInternalConnectionNumbers(Display *, int **, int *);
extern KeySym XKeycodeToKeysym(Display *, unsigned int, int);
extern KeyCode XKeysymToKeycode(Display *, KeySym);
extern char *XKeysymToString(KeySym);
extern int XKillClient(Display *, XID);
extern unsigned long int XLastKnownRequestProcessed(Display *);
extern int *XListDepths(Display *, int, int *);
extern char **XListExtensions(Display *, int *);
extern char **XListFonts(Display *, const char *, int, int *);
extern char **XListFontsWithInfo(Display *, const char *, int, int *,
				 XFontStruct * *);
extern XHostAddress *XListHosts(Display *, int *, int *);
extern Colormap *XListInstalledColormaps(Display *, Window, int *);
extern XPixmapFormatValues *XListPixmapFormats(Display *, int *);
extern Atom *XListProperties(Display *, Window, int *);
extern Font XLoadFont(Display *, const char *);
extern XFontStruct *XLoadQueryFont(Display *, const char *);
extern char *XLocaleOfFontSet(XFontSet);
extern char *XLocaleOfIM(XIM);
extern char *XLocaleOfOM(XOM);
extern void XLockDisplay(Display *);
extern int XLookupColor(Display *, Colormap, const char *, XColor *,
			XColor *);
extern KeySym XLookupKeysym(XKeyEvent *, int);
extern int XLowerWindow(Display *, Window);
extern int XMapRaised(Display *, Window);
extern int XMapSubwindows(Display *, Window);
extern int XMapWindow(Display *, Window);
extern int XMaskEvent(Display *, long int, XEvent *);
extern int XMaxCmapsOfScreen(Screen *);
extern long int XMaxRequestSize(Display *);
extern int XMinCmapsOfScreen(Screen *);
extern int XMoveResizeWindow(Display *, Window, int, int, unsigned int,
			     unsigned int);
extern int XMoveWindow(Display *, Window, int, int);
extern XModifierKeymap *XNewModifiermap(int);
extern int XNextEvent(Display *, XEvent *);
extern unsigned long int XNextRequest(Display *);
extern int XNoOp(Display *);
extern XOM XOMOfOC(XOC);
extern Display *XOpenDisplay(const char *);
extern XIM XOpenIM(Display *, struct _XrmHashBucketRec *, char *, char *);
extern XOM XOpenOM(Display *, struct _XrmHashBucketRec *, const char *,
		   const char *);
extern int XParseColor(Display *, Colormap, const char *, XColor *);
extern int XParseGeometry(const char *, int *, int *, unsigned int *,
			  unsigned int *);
extern int XPeekEvent(Display *, XEvent *);
extern int XPeekIfEvent(Display *, XEvent *,
			int (*)(Display *, XEvent *, XPointer), XPointer);
extern int XPending(Display *);
extern int XPlanesOfScreen(Screen *);
extern void XProcessInternalConnection(Display *, int);
extern int XProtocolRevision(Display *);
extern int XProtocolVersion(Display *);
extern int XPutBackEvent(Display *, XEvent *);
extern int XPutImage(Display *, Drawable, GC, XImage *, int, int, int, int,
		     unsigned int, unsigned int);
extern int XQLength(Display *);
extern int XQueryBestCursor(Display *, Drawable, unsigned int,
			    unsigned int, unsigned int *, unsigned int *);
extern int XQueryBestSize(Display *, int, Drawable, unsigned int,
			  unsigned int, unsigned int *, unsigned int *);
extern int XQueryBestStipple(Display *, Drawable, unsigned int,
			     unsigned int, unsigned int *, unsigned int *);
extern int XQueryBestTile(Display *, Drawable, unsigned int, unsigned int,
			  unsigned int *, unsigned int *);
extern int XQueryColor(Display *, Colormap, XColor *);
extern int XQueryColors(Display *, Colormap, XColor *, int);
extern int XQueryExtension(Display *, const char *, int *, int *, int *);
extern XFontStruct *XQueryFont(Display *, XID);
extern int XQueryKeymap(Display *, char[32]);
extern int XQueryPointer(Display *, Window, Window *, Window *, int *,
			 int *, int *, int *, unsigned int *);
extern int XQueryTextExtents(Display *, XID, const char *, int, int *,
			     int *, int *, XCharStruct *);
extern int XQueryTextExtents16(Display *, XID, const XChar2b *, int, int *,
			       int *, int *, XCharStruct *);
extern int XQueryTree(Display *, Window, Window *, Window *, Window * *,
		      unsigned int *);
extern int XRaiseWindow(Display *, Window);
extern int XReadBitmapFile(Display *, Drawable, const char *,
			   unsigned int *, unsigned int *, Pixmap *, int *,
			   int *);
extern int XReadBitmapFileData(const char *, unsigned int *,
			       unsigned int *, unsigned char **, int *,
			       int *);
extern int XRebindKeysym(Display *, KeySym, KeySym *, int,
			 const unsigned char *, int);
extern int XRecolorCursor(Display *, Cursor, XColor *, XColor *);
extern int XReconfigureWMWindow(Display *, Window, int, unsigned int,
				XWindowChanges *);
extern int XRefreshKeyboardMapping(XMappingEvent *);
extern int XRegisterIMInstantiateCallback(Display *,
					  struct _XrmHashBucketRec *,
					  char *, char *, XIDProc,
					  XPointer);
extern void XRemoveConnectionWatch(Display *, XConnectionWatchProc,
				   XPointer);
extern int XRemoveFromSaveSet(Display *, Window);
extern int XRemoveHost(Display *, XHostAddress *);
extern int XRemoveHosts(Display *, XHostAddress *, int);
extern int XReparentWindow(Display *, Window, Window, int, int);
extern int XResetScreenSaver(Display *);
extern int XResizeWindow(Display *, Window, unsigned int, unsigned int);
extern char *XResourceManagerString(Display *);
extern int XRestackWindows(Display *, Window *, int);
extern Window XRootWindow(Display *, int);
extern Window XRootWindowOfScreen(Screen *);
extern int XRotateBuffers(Display *, int);
extern int XRotateWindowProperties(Display *, Window, Atom *, int, int);
extern int XScreenCount(Display *);
extern int XScreenNumberOfScreen(Screen *);
extern Screen *XScreenOfDisplay(Display *, int);
extern char *XScreenResourceString(Screen *);
extern int XSelectInput(Display *, Window, long int);
extern int XSendEvent(Display *, Window, int, long int, XEvent *);
extern char *XServerVendor(Display *);
extern int XSetAccessControl(Display *, int);
extern int (*XSetAfterFunction(Display *, int (*)(Display *))) (Display *);
extern int XSetArcMode(Display *, GC, int);
extern void XSetAuthorization(char *, int, char *, int);
extern int XSetBackground(Display *, GC, unsigned long int);
extern int XSetClipMask(Display *, GC, Pixmap);
extern int XSetClipOrigin(Display *, GC, int, int);
extern int XSetClipRectangles(Display *, GC, int, int, XRectangle *, int,
			      int);
extern int XSetCloseDownMode(Display *, int);
extern int XSetCommand(Display *, Window, char **, int);
extern int XSetDashes(Display *, GC, int, const char *, int);
extern XErrorHandler XSetErrorHandler(XErrorHandler);
extern int XSetFillRule(Display *, GC, int);
extern int XSetFillStyle(Display *, GC, int);
extern int XSetFont(Display *, GC, Font);
extern int XSetFontPath(Display *, char **, int);
extern int XSetForeground(Display *, GC, unsigned long int);
extern int XSetFunction(Display *, GC, int);
extern int XSetGraphicsExposures(Display *, GC, int);
extern void XSetICFocus(XIC);
extern char *XSetICValues(XIC, ...);
extern char *XSetIMValues(XIM, ...);
extern XIOErrorHandler XSetIOErrorHandler(XIOErrorHandler);
extern int XSetIconName(Display *, Window, const char *);
extern int XSetInputFocus(Display *, Window, int, Time);
extern int XSetLineAttributes(Display *, GC, unsigned int, int, int, int);
extern char *XSetLocaleModifiers(const char *);
extern int XSetModifierMapping(Display *, XModifierKeymap *);
extern char *XSetOCValues(XOC, ...);
extern char *XSetOMValues(XOM, ...);
extern int XSetPlaneMask(Display *, GC, unsigned long int);
extern int XSetPointerMapping(Display *, const unsigned char *, int);
extern int XSetScreenSaver(Display *, int, int, int, int);
extern int XSetSelectionOwner(Display *, Atom, Window, Time);
extern int XSetState(Display *, GC, unsigned long int, unsigned long int,
		     int, unsigned long int);
extern int XSetStipple(Display *, GC, Pixmap);
extern int XSetSubwindowMode(Display *, GC, int);
extern int XSetTSOrigin(Display *, GC, int, int);
extern int XSetTile(Display *, GC, Pixmap);
extern int XSetTransientForHint(Display *, Window, Window);
extern int XSetWMColormapWindows(Display *, Window, Window *, int);
extern int XSetWMProtocols(Display *, Window, Atom *, int);
extern int XSetWindowBackground(Display *, Window, unsigned long int);
extern int XSetWindowBackgroundPixmap(Display *, Window, Pixmap);
extern int XSetWindowBorder(Display *, Window, unsigned long int);
extern int XSetWindowBorderPixmap(Display *, Window, Pixmap);
extern int XSetWindowBorderWidth(Display *, Window, unsigned int);
extern int XSetWindowColormap(Display *, Window, Colormap);
extern int XStoreBuffer(Display *, const char *, int, int);
extern int XStoreBytes(Display *, const char *, int);
extern int XStoreColor(Display *, Colormap, XColor *);
extern int XStoreColors(Display *, Colormap, XColor *, int);
extern int XStoreName(Display *, Window, const char *);
extern int XStoreNamedColor(Display *, Colormap, const char *,
			    unsigned long int, int);
extern KeySym XStringToKeysym(const char *);
extern int XSupportsLocale(void);
extern int XSync(Display *, int);
extern int (*XSynchronize(Display *, int)) (Display *);
extern int XTextExtents(XFontStruct *, const char *, int, int *, int *,
			int *, XCharStruct *);
extern int XTextExtents16(XFontStruct *, const XChar2b *, int, int *,
			  int *, int *, XCharStruct *);
extern int XTextWidth(XFontStruct *, const char *, int);
extern int XTextWidth16(XFontStruct *, const XChar2b *, int);
extern int XTranslateCoordinates(Display *, Window, Window, int, int,
				 int *, int *, Window *);
extern int XUndefineCursor(Display *, Window);
extern int XUngrabButton(Display *, unsigned int, unsigned int, Window);
extern int XUngrabKey(Display *, int, unsigned int, Window);
extern int XUngrabKeyboard(Display *, Time);
extern int XUngrabPointer(Display *, Time);
extern int XUngrabServer(Display *);
extern int XUninstallColormap(Display *, Colormap);
extern int XUnloadFont(Display *, Font);
extern void XUnlockDisplay(Display *);
extern int XUnmapSubwindows(Display *, Window);
extern int XUnmapWindow(Display *, Window);
extern int XUnregisterIMInstantiateCallback(Display *,
					    struct _XrmHashBucketRec *,
					    char *, char *, XIDProc,
					    XPointer);
extern void XUnsetICFocus(XIC);
extern XVaNestedList XVaCreateNestedList(int, ...);
extern int XVendorRelease(Display *);
extern VisualID XVisualIDFromVisual(Visual *);
extern int XWarpPointer(Display *, Window, Window, int, int, unsigned int,
			unsigned int, int, int);
extern unsigned long int XWhitePixel(Display *, int);
extern unsigned long int XWhitePixelOfScreen(Screen *);
extern int XWidthMMOfScreen(Screen *);
extern int XWidthOfScreen(Screen *);
extern int XWindowEvent(Display *, Window, long int, XEvent *);
extern int XWithdrawWindow(Display *, Window, int);
extern int XWriteBitmapFile(Display *, const char *, Pixmap, unsigned int,
			    unsigned int, int, int);
extern void XmbDrawImageString(Display *, Drawable, XFontSet, GC, int, int,
			       const char *, int);
extern void XmbDrawString(Display *, Drawable, XFontSet, GC, int, int,
			  const char *, int);
extern void XmbDrawText(Display *, Drawable, GC, int, int, XmbTextItem *,
			int);
extern int XmbLookupString(XIC, XKeyPressedEvent *, char *, int, KeySym *,
			   int *);
extern char *XmbResetIC(XIC);
extern int XmbTextEscapement(XFontSet, const char *, int);
extern int XmbTextExtents(XFontSet, const char *, int, XRectangle *,
			  XRectangle *);
extern int XmbTextPerCharExtents(XFontSet, const char *, int, XRectangle *,
				 XRectangle *, int, int *, XRectangle *,
				 XRectangle *);
extern void XrmInitialize(void);
extern void XwcDrawImageString(Display *, Drawable, XFontSet, GC, int, int,
			       const wchar_t *, int);
extern void XwcDrawString(Display *, Drawable, XFontSet, GC, int, int,
			  const wchar_t *, int);
extern void XwcDrawText(Display *, Drawable, GC, int, int, XwcTextItem *,
			int);
extern int XwcLookupString(XIC, XKeyPressedEvent *, wchar_t *, int,
			   KeySym *, int *);
extern wchar_t *XwcResetIC(XIC);
extern int XwcTextEscapement(XFontSet, const wchar_t *, int);
extern int XwcTextExtents(XFontSet, const wchar_t *, int, XRectangle *,
			  XRectangle *);
extern int XwcTextPerCharExtents(XFontSet, const wchar_t *, int,
				 XRectangle *, XRectangle *, int, int *,
				 XRectangle *, XRectangle *);

6.2.10. X11/Xlibint.h


#define NEED_EVENTS
#define NEED_REPLIES
#define WORD64ALIGN
#define min(a,b)	(((a) < (b)) ? (a) : (b))
#define max(a,b)	(((a) > (b)) ? (a) : (b))
#define CI_NONEXISTCHAR(cs)	(((cs)->width == 0) && (((cs)->rbearing|(cs)->lbearing| (cs)->ascent|(cs)->descent) == 0))
#define XAllocIDs(dpy,ids,n)	(*(dpy)->idlist_alloc)(dpy,ids,n)
#define XlibDisplayIOError	(1L << 0)
#define XlibDisplayClosing	(1L << 1)
#define XlibDisplayNoXkb	(1L << 2)
#define XlibDisplayPrivSync	(1L << 3)
#define XlibDisplayProcConni	(1L << 4)
#define XlibDisplayReadEvents	(1L << 5)
#define XlibDisplayReply	(1L << 5)
#define XlibDisplayWriting	(1L << 6)
#define XlibDisplayDfltRMDB	(1L << 7)
#define UNLOCKED	0
#define LOCKED	1
#define WRCTSPERBATCH	10
#define PTSPERBATCH	1024
#define ZLNSPERBATCH	1024
#define BUFSIZE	2048
#define FARCSPERBATCH	256
#define FRCTSPERBATCH	256
#define XCONN_CHECK_FREQ	256
#define ZRCTSPERBATCH	256
#define WLNSPERBATCH	50
#define Xcalloc(nelem,elsize)	calloc((nelem), (elsize))
#define CI_GET_DEFAULT_INFO_1D(fs,cs)	CI_GET_CHAR_INFO_1D (fs, fs->default_char, NULL, cs)
#define CURSORFONT	"cursor"
#define Data16(dpy,data,len)	Data((dpy), (char *)(data), (len))
#define PackData16(dpy,data,len)	Data16 (dpy, data, len)
#define PackData32(dpy,data,len)	Data32 (dpy, data, len)
#define _XFopenFile(path,mode)	fopen(path,mode)
#define Xfree(ptr)	free((ptr))
#define LockDisplay(d)	if ((d)->lock_fns) (*(d)->lock_fns->lock_display)(d)
#define UnlockDisplay(d)	if ((d)->lock_fns) (*(d)->lock_fns->unlock_display)(d)
#define FlushGC(dpy,gc)	if ((gc)->dirty) _XFlushGCCache((dpy), (gc))
#define SetReqLen(req,n,badlen)	if ((req->length + n) > (unsigned)65535) { if (dpy->bigreq_size) { MakeBigReq(req,n) } else { n = badlen; req->length += n; } } else req->length += n
#define BufAlloc(type,ptr,n)	if (dpy->bufptr + (n) > dpy->bufmax) _XFlush (dpy); ptr = (type) dpy->bufptr; (void)ptr; dpy->bufptr += (n);
#define SyncHandle()	if (dpy->synchandler) (*dpy->synchandler)(dpy)
#define _XCreateMutex(lock)	if (_XCreateMutex_fn) (*_XCreateMutex_fn)(lock);
#define _XFreeMutex(lock)	if (_XFreeMutex_fn) (*_XFreeMutex_fn)(lock);
#define _XLockMutex(lock)	if (_XLockMutex_fn) (*_XLockMutex_fn)(lock)
#define _XUnlockMutex(lock)	if (_XUnlockMutex_fn) (*_XUnlockMutex_fn)(lock)
#define Xmalloc(size)	malloc((size))
#define _XOpenFile(path,flags)	open(path,flags)
#define _XOpenFileMode(path,flags,mode)	open(path,flags,mode)
#define PackData(dpy,data,len)	PackData16 (dpy, data, len)
#define Xrealloc(ptr,size)	realloc((ptr), (size))
#define GetReqExtra(name,n,req)	WORD64ALIGN if ((dpy->bufptr + SIZEOF(x ##name ##Req) + n) > dpy->bufmax) _XFlush(dpy); req = (x ##name ##Req *)(dpy->last_req = dpy->bufptr); req->reqType = X_ ##name; req->length = (SIZEOF(x ##name ##Req) + n)>>2; dpy->bufptr += SIZEOF(x ##name ##Req) + n; dpy->request++
#define GetReq(name,req)	WORD64ALIGN if ((dpy->bufptr + SIZEOF(x ##name ##Req)) > dpy->bufmax) _XFlush(dpy); req = (x ##name ##Req *)(dpy->last_req = dpy->bufptr); req->reqType = X_ ##name; req->length = (SIZEOF(x ##name ##Req))>>2; dpy->bufptr += SIZEOF(x ##name ##Req); dpy->request++
#define GetEmptyReq(name,req)	WORD64ALIGN if ((dpy->bufptr + SIZEOF(xReq)) > dpy->bufmax) _XFlush(dpy); req = (xReq *) (dpy->last_req = dpy->bufptr); req->reqType = X_ ##name; req->length = 1; dpy->bufptr += SIZEOF(xReq); dpy->request++
#define GetResReq(name,rid,req)	WORD64ALIGN if ((dpy->bufptr + SIZEOF(xResourceReq)) > dpy->bufmax) _XFlush(dpy); req = (xResourceReq *) (dpy->last_req = dpy->bufptr); req->reqType = X_ ##name; req->length = 2; req->id = (rid); dpy->bufptr += SIZEOF(xResourceReq); dpy->request++
#define _XBCOPYFUNC	_Xbcopy
#define Data32(dpy,data,len)	_XData32(dpy, (long *)data, len)
#define _XRead16(dpy,data,len)	_XRead((dpy), (char *)(data), (len))
#define _XRead16Pad(dpy,data,len)	_XReadPad((dpy), (char *)(data), (len))
#define OneDataCard32(dpy,dstaddr,srcvar)	{ *(CARD32 *)(dstaddr) = (srcvar); }
#define CI_GET_CHAR_INFO_1D(fs,col,def,cs)	{ cs = def; if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { if (fs->per_char == NULL) { cs = &fs->min_bounds; } else { cs = &fs->per_char[(col - fs->min_char_or_byte2)]; if (CI_NONEXISTCHAR(cs)) cs = def; } } }
#define CI_GET_CHAR_INFO_2D(fs,row,col,def,cs)	{ cs = def; if (row >= fs->min_byte1 && row <= fs->max_byte1 && col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { if (fs->per_char == NULL) { cs = &fs->min_bounds; } else { cs = &fs->per_char[((row - fs->min_byte1) * (fs->max_char_or_byte2 - fs->min_char_or_byte2 + 1)) + (col - fs->min_char_or_byte2)]; if (CI_NONEXISTCHAR(cs)) cs = def; } } }
#define DeqAsyncHandler(dpy,handler)	{ if (dpy->async_handlers == (handler)) dpy->async_handlers = (handler)->next; else _XDeqAsyncHandler(dpy, handler); }
#define Data(dpy,data,len)	{ if (dpy->bufptr + (len) <= dpy->bufmax) { memcpy(dpy->bufptr, data, (int)len); dpy->bufptr += ((len) + 3) & ~3; } else _XSend(dpy, data, len); }
#define CI_GET_DEFAULT_INFO_2D(fs,cs)	{ unsigned int r = (fs->default_char >> 8); unsigned int c = (fs->default_char & 0xff); CI_GET_CHAR_INFO_2D (fs, r, c, NULL, cs); }

typedef struct _XSQEvent {
    struct _XSQEvent *next;
    XEvent event;
    unsigned long int qserial_num;
} _XQEvent;
typedef struct _LockInfoRec *LockInfoPtr;
typedef struct _XInternalAsync {
    struct _XInternalAsync *next;
    int (*handler) (Display *, xReply *, char *, int, XPointer);
    XPointer data;
} _XAsyncHandler;
typedef struct _XAsyncEState {
    unsigned long int min_sequence_number;
    unsigned long int max_sequence_number;
    unsigned char error_code;
    unsigned char major_opcode;
    unsigned short minor_opcode;
    unsigned char last_error_received;
    int error_count;
} _XAsyncErrorState;
typedef void (*FreeFuncType) (Display *);
typedef int (*FreeModmapType) (XModifierKeymap *);
typedef struct _XFreeFuncs {
    FreeFuncType atoms;
    FreeModmapType modifiermap;
    FreeFuncType key_bindings;
    FreeFuncType context_db;
    FreeFuncType defaultCCCs;
    FreeFuncType clientCmaps;
    FreeFuncType intensityMaps;
    FreeFuncType im_filters;
    FreeFuncType xkb;
} _XFreeFuncRec;
typedef int (*CreateGCType) (Display *, GC, XExtCodes *);
typedef int (*CopyGCType) (Display *, GC, XExtCodes *);
typedef int (*FlushGCType) (Display *, GC, XExtCodes *);
typedef int (*FreeGCType) (Display *, GC, XExtCodes *);
typedef int (*CreateFontType) (Display *, XFontStruct *, XExtCodes *);
typedef int (*FreeFontType) (Display *, XFontStruct *, XExtCodes *);
typedef int (*CloseDisplayType) (Display *, XExtCodes *);
typedef int (*ErrorType) (Display *, xError *, XExtCodes *, int *);
typedef char *(*ErrorStringType) (Display *, int, XExtCodes *, char *,
				  int);
typedef void (*PrintErrorType) (Display *, XErrorEvent *, void *);
typedef void (*BeforeFlushType) (Display *, XExtCodes *, const char *,
				 long int);
typedef struct _XExten {
    struct _XExten *next;
    XExtCodes codes;
    CreateGCType create_GC;
    CopyGCType copy_GC;
    FlushGCType flush_GC;
    FreeGCType free_GC;
    CreateFontType create_Font;
    FreeFontType free_Font;
    CloseDisplayType close_display;
    ErrorType error;
    ErrorStringType error_string;
    char *name;
    PrintErrorType error_values;
    BeforeFlushType before_flush;
    struct _XExten *next_flush;
} _XExtension;
typedef void (*_XInternalConnectionProc) (Display *, int, XPointer);
struct _XDisplay {
    XExtData *ext_data;
    struct _XFreeFuncs *free_funcs;
    int fd;
    int conn_checker;
    int proto_major_version;
    int proto_minor_version;
    char *vendor;
    XID resource_base;
    XID resource_mask;
    XID resource_id;
    int resource_shift;
     XID(*resource_alloc) (struct _XDisplay *);
    int byte_order;
    int bitmap_unit;
    int bitmap_pad;
    int bitmap_bit_order;
    int nformats;
    ScreenFormat *pixmap_format;
    int vnumber;
    int release;
    struct _XSQEvent *head;
    struct _XSQEvent *tail;
    int qlen;
    unsigned long int last_request_read;
    unsigned long int request;
    char *last_req;
    char *buffer;
    char *bufptr;
    char *bufmax;
    unsigned int max_request_size;
    struct _XrmHashBucketRec *db;
    int (*synchandler) (struct _XDisplay *);
    char *display_name;
    int default_screen;
    int nscreens;
    Screen *screens;
    unsigned long int motion_buffer;
    unsigned long int flags;
    int min_keycode;
    int max_keycode;
    KeySym *keysyms;
    XModifierKeymap *modifiermap;
    int keysyms_per_keycode;
    char *xdefaults;
    char *scratch_buffer;
    unsigned long int scratch_length;
    int ext_number;
    struct _XExten *ext_procs;
    int (*event_vec[128]) (Display *, XEvent *, xEvent *);
    int (*wire_vec[128]) (Display *, XEvent *, xEvent *);
    KeySym lock_meaning;
    struct _XLockInfo *lock;
    struct _XInternalAsync *async_handlers;
    unsigned long int bigreq_size;
    struct _XLockPtrs *lock_fns;
    void (*idlist_alloc) (Display *, XID *, int);
    struct _XKeytrans *key_bindings;
    Font cursor_font;
    struct _XDisplayAtoms *atoms;
    unsigned int mode_switch;
    unsigned int num_lock;
    struct _XContextDB *context_db;
    int (**error_vec) (Display *, XErrorEvent *, xError *);
    struct {
	XPointer defaultCCCs;
	XPointer clientCmaps;
	XPointer perVisualIntensityMaps;
    } cms;
    struct _XIMFilter *im_filters;
    struct _XSQEvent *qfree;
    unsigned long int next_event_serial_num;
    struct _XExten *flushes;
    struct _XConnectionInfo *im_fd_info;
    int im_fd_length;
    struct _XConnWatchInfo *conn_watchers;
    int watcher_count;
    XPointer filedes;
    int (*savedsynchandler) (Display *);
    XID resource_max;
    int xcmisc_opcode;
    struct _XkbInfoRec *xkb_info;
    struct _XtransConnInfo *trans_conn;
};
struct _XGC {
    XExtData *ext_data;
    GContext gid;
    int rects;
    int dashes;
    unsigned long int dirty;
    XGCValues values;
};

6.2.11. X11/Xmd.h


#define B16
#define B32
#define NEXTPTR(p,t)	(((t *)(p)) + 1)
#define cvtINT16toInt(val)	(val)
#define cvtINT16toLong(val)	(val)
#define cvtINT16toShort(val)	(val)
#define cvtINT32toInt(val)	(val)
#define cvtINT32toLong(val)	(val)
#define cvtINT32toShort(val)	(val)
#define cvtINT8toInt(val)	(val)
#define cvtINT8toLong(val)	(val)
#define cvtINT8toShort(val)	(val)
#define _SIZEOF(x)	sz_ ##x
#define SIZEOF(x)	_SIZEOF(x)

typedef unsigned short CARD16;
typedef unsigned char CARD8;
typedef CARD8 BOOL;
typedef unsigned char BYTE;
typedef CARD32 BITS32;
typedef CARD16 BITS16;
typedef int INT32;
typedef short int INT16;
typedef signed char INT8;

6.2.12. X11/Xos.h


#define _XOS_H_
#define X_GETTIMEOFDAY(t)	gettimeofday(t, (struct timezone*)0)

6.2.13. X11/Xosdefs.h


#ifndef MAXPATHLEN
#define MAXPATHLEN	4096
#endif
#ifndef PATH_MAX
#define PATH_MAX	4096
#endif

6.2.14. X11/Xproto.h


#define ELFlagFocus	(1<<0)
#define ELFlagSameScreen	(1<<1)
#define XEventSize	(sizeof(xEvent))
#define X_Error	0
#define xFalse	0
#define X_CreateWindow	1
#define X_Reply	1
#define xTrue	1
#define X_UnmapWindow	10
#define X_ChangeKeyboardMapping	100
#define X_GetKeyboardMapping	101
#define X_ChangeKeyboardControl	102
#define X_GetKeyboardControl	103
#define X_Bell	104
#define X_ChangePointerControl	105
#define X_GetPointerControl	106
#define X_SetScreenSaver	107
#define X_GetScreenSaver	108
#define X_ChangeHosts	109
#define X_UnmapSubwindows	11
#define X_ListHosts	110
#define X_SetAccessControl	111
#define X_SetCloseDownMode	112
#define X_KillClient	113
#define X_RotateProperties	114
#define X_ForceScreenSaver	115
#define X_SetPointerMapping	116
#define X_GetPointerMapping	117
#define X_SetModifierMapping	118
#define X_GetModifierMapping	119
#define X_ConfigureWindow	12
#define sz_xAllocColorCellsReq	12
#define sz_xAllocNamedColorReq	12
#define sz_xArc	12
#define sz_xChangeGCReq	12
#define sz_xChangePointerControlReq	12
#define sz_xChangeWindowAttributesReq	12
#define sz_xCharInfo	12
#define sz_xColorItem	12
#define sz_xConfigureWindowReq	12
#define sz_xConnClientPrefix	12
#define sz_xCopyColormapAndFreeReq	12
#define sz_xDeletePropertyReq	12
#define sz_xFreeColorsReq	12
#define sz_xLookupColorReq	12
#define sz_xOpenFontReq	12
#define sz_xPolyArcReq	12
#define sz_xPolyFillArcReq	12
#define sz_xPolyFillRectangleReq	12
#define sz_xPolyLineReq	12
#define sz_xPolyPointReq	12
#define sz_xPolyRectangleReq	12
#define sz_xPolySegmentReq	12
#define sz_xQueryBestSizeReq	12
#define sz_xRotatePropertiesReq	12
#define sz_xSetClipRectanglesReq	12
#define sz_xSetDashesReq	12
#define sz_xSetInputFocusReq	12
#define sz_xSetScreenSaverReq	12
#define sz_xUngrabButtonReq	12
#define sz_xUngrabKeyReq	12
#define X_NoOperation	127
#define X_CirculateWindow	13
#define X_GetGeometry	14
#define X_QueryTree	15
#define X_InternAtom	16
#define sz_xAllocColorPlanesReq	16
#define sz_xAllocColorReq	16
#define sz_xChangeActivePointerGrabReq	16
#define sz_xClearAreaReq	16
#define sz_xCopyGCReq	16
#define sz_xCreateColormapReq	16
#define sz_xCreateGCReq	16
#define sz_xCreatePixmapReq	16
#define sz_xFillPolyReq	16
#define sz_xGetMotionEventsReq	16
#define sz_xGrabKeyReq	16
#define sz_xGrabKeyboardReq	16
#define sz_xImageText16Req	16
#define sz_xImageText8Req	16
#define sz_xImageTextReq	16
#define sz_xPolyText16Req	16
#define sz_xPolyText8Req	16
#define sz_xPolyTextReq	16
#define sz_xReparentWindowReq	16
#define sz_xSetSelectionOwnerReq	16
#define sz_xStoreNamedColorReq	16
#define sz_xTranslateCoordsReq	16
#define X_GetAtomName	17
#define X_ChangeProperty	18
#define X_DeleteProperty	19
#define X_ChangeWindowAttributes	2
#define sz_xTextElt	2
#define X_GetProperty	20
#define sz_xGetImageReq	20
#define sz_xRecolorCursorReq	20
#define X_ListProperties	21
#define X_SetSelectionOwner	22
#define X_GetSelectionOwner	23
#define X_ConvertSelection	24
#define sz_xChangePropertyReq	24
#define sz_xConvertSelectionReq	24
#define sz_xGetPropertyReq	24
#define sz_xGrabButtonReq	24
#define sz_xGrabPointerReq	24
#define sz_xPropIconSize	24
#define sz_xPutImageReq	24
#define sz_xVisualType	24
#define sz_xWarpPointerReq	24
#define X_SendEvent	25
#define X_GrabPointer	26
#define X_UngrabPointer	27
#define X_GrabButton	28
#define sz_xCopyAreaReq	28
#define X_UngrabButton	29
#define X_GetWindowAttributes	3
#define X_ChangeActivePointerGrab	30
#define X_GrabKeyboard	31
#define X_UngrabKeyboard	32
#define sz_xAllocColorCellsReply	32
#define sz_xAllocColorPlanesReply	32
#define sz_xAllocColorReply	32
#define sz_xAllocNamedColorReply	32
#define sz_xConnSetup	32
#define sz_xCopyPlaneReq	32
#define sz_xCreateCursorReq	32
#define sz_xCreateGlyphCursorReq	32
#define sz_xCreateWindowReq	32
#define sz_xError	32
#define sz_xEvent	32
#define sz_xGenericReply	32
#define sz_xGetAtomNameReply	32
#define sz_xGetFontPathReply	32
#define sz_xGetGeometryReply	32
#define sz_xGetImageReply	32
#define sz_xGetInputFocusReply	32
#define sz_xGetKeyboardMappingReply	32
#define sz_xGetModifierMappingReply	32
#define sz_xGetMotionEventsReply	32
#define sz_xGetPointerControlReply	32
#define sz_xGetPointerMappingReply	32
#define sz_xGetPropertyReply	32
#define sz_xGetScreenSaverReply	32
#define sz_xGetSelectionOwnerReply	32
#define sz_xGrabKeyboardReply	32
#define sz_xGrabPointerReply	32
#define sz_xInternAtomReply	32
#define sz_xKeymapEvent	32
#define sz_xListExtensionsReply	32
#define sz_xListFontsReply	32
#define sz_xListHostsReply	32
#define sz_xListInstalledColormapsReply	32
#define sz_xListPropertiesReply	32
#define sz_xLookupColorReply	32
#define sz_xQueryBestSizeReply	32
#define sz_xQueryColorsReply	32
#define sz_xQueryExtensionReply	32
#define sz_xQueryPointerReply	32
#define sz_xQueryTextExtentsReply	32
#define sz_xQueryTreeReply	32
#define sz_xReply	32
#define sz_xSetMappingReply	32
#define sz_xSetModifierMappingReply	32
#define sz_xSetPointerMappingReply	32
#define sz_xTranslateCoordsReply	32
#define X_GrabKey	33
#define X_UngrabKey	34
#define X_AllowEvents	35
#define X_GrabServer	36
#define X_UngrabServer	37
#define X_QueryPointer	38
#define X_GetMotionEvents	39
#define X_DestroyWindow	4
#define sz_xBellReq	4
#define sz_xChangeModeReq	4
#define sz_xForceScreenSaverReq	4
#define sz_xHostEntry	4
#define sz_xListHostsReq	4
#define sz_xPoint	4
#define sz_xReq	4
#define sz_xSetAccessControlReq	4
#define sz_xSetCloseDownModeReq	4
#define sz_xSetModifierMappingReq	4
#define sz_xSetPointerMappingReq	4
#define X_TranslateCoords	40
#define sz_xQueryKeymapReply	40
#define sz_xWindowRoot	40
#define X_WarpPointer	41
#define X_SetInputFocus	42
#define X_GetInputFocus	43
#define X_QueryKeymap	44
#define sz_xGetWindowAttributesReply	44
#define sz_xSendEventReq	44
#define X_OpenFont	45
#define X_CloseFont	46
#define X_QueryFont	47
#define X_QueryTextExtents	48
#define X_ListFonts	49
#define X_DestroySubwindows	5
#define X_ListFontsWithInfo	50
#define X_SetFontPath	51
#define X_GetFontPath	52
#define sz_xGetKeyboardControlReply	52
#define X_CreatePixmap	53
#define X_FreePixmap	54
#define X_CreateGC	55
#define X_ChangeGC	56
#define X_CopyGC	57
#define X_SetDashes	58
#define X_SetClipRectangles	59
#define X_ChangeSaveSet	6
#define X_FreeGC	60
#define sz_xListFontsWithInfoReply	60
#define sz_xQueryFontReply	60
#define X_TCP_PORT	6000
#define X_ClearArea	61
#define X_CopyArea	62
#define X_CopyPlane	63
#define X_PolyPoint	64
#define X_PolyLine	65
#define X_PolySegment	66
#define X_PolyRectangle	67
#define X_PolyArc	68
#define X_FillPoly	69
#define X_ReparentWindow	7
#define X_PolyFillRectangle	70
#define X_PolyFillArc	71
#define X_PutImage	72
#define X_GetImage	73
#define X_PolyText8	74
#define X_PolyText16	75
#define X_ImageText8	76
#define X_ImageText16	77
#define X_CreateColormap	78
#define X_FreeColormap	79
#define X_MapWindow	8
#define sz_xAllowEventsReq	8
#define sz_xChangeHostsReq	8
#define sz_xChangeKeyboardControlReq	8
#define sz_xChangeKeyboardMappingReq	8
#define sz_xChangeSaveSetReq	8
#define sz_xCirculateWindowReq	8
#define sz_xConnSetupPrefix	8
#define sz_xDepth	8
#define sz_xFontProp	8
#define sz_xGetKeyboardMappingReq	8
#define sz_xInternAtomReq	8
#define sz_xListFontsReq	8
#define sz_xListFontsWithInfoReq	8
#define sz_xPixmapFormat	8
#define sz_xQueryColorsReq	8
#define sz_xQueryExtensionReq	8
#define sz_xQueryTextExtentsReq	8
#define sz_xRectangle	8
#define sz_xResourceReq	8
#define sz_xSegment	8
#define sz_xSetFontPathReq	8
#define sz_xStoreColorsReq	8
#define sz_xTimecoord	8
#define sz_xrgb	8
#define X_CopyColormapAndFree	80
#define X_InstallColormap	81
#define X_UninstallColormap	82
#define X_ListInstalledColormaps	83
#define X_AllocColor	84
#define X_AllocNamedColor	85
#define X_AllocColorCells	86
#define X_AllocColorPlanes	87
#define X_FreeColors	88
#define X_StoreColors	89
#define X_MapSubwindows	9
#define X_StoreNamedColor	90
#define X_QueryColors	91
#define X_LookupColor	92
#define X_CreateCursor	93
#define X_CreateGlyphCursor	94
#define X_FreeCursor	95
#define X_RecolorCursor	96
#define X_QueryBestSize	97
#define X_QueryExtension	98
#define X_ListExtensions	99

typedef struct _xEvent {
    union {
	struct {
	    BYTE type;
	    BYTE detail;
	    CARD16 sequenceNumber;
	} u;
	struct {
	    CARD32 pad00;
	    CARD32 time;
	    CARD32 root;
	    CARD32 event;
	    CARD32 child;
	    INT16 rootX;
	    INT16 rootY;
	    INT16 eventX;
	    INT16 eventY;
	    KeyButMask state;
	    BOOL sameScreen;
	    BYTE pad1;
	} keyButtonPointer;
	struct {
	    CARD32 pad00;
	    CARD32 time;
	    CARD32 root;
	    CARD32 event;
	    CARD32 child;
	    INT16 rootX;
	    INT16 rootY;
	    INT16 eventX;
	    INT16 eventY;
	    KeyButMask state;
	    BYTE mode;
	    BYTE flags;
	} enterLeave;
	struct {
	    CARD32 pad00;
	    CARD32 window;
	    BYTE mode;
	    BYTE pad1;
	    BYTE pad2;
	    BYTE pad3;
	} focus;
	struct {
	    CARD32 pad00;
	    CARD32 window;
	    CARD16 x;
	    CARD16 y;
	    CARD16 width;
	    CARD16 height;
	    CARD16 count;
	    CARD16 pad2;
	} expose;
	struct {
	    CARD32 pad00;
	    CARD32 drawable;
	    CARD16 x;
	    CARD16 y;
	    CARD16 width;
	    CARD16 height;
	    CARD16 minorEvent;
	    CARD16 count;
	    BYTE majorEvent;
	    BYTE pad1;
	    BYTE pad2;
	    BYTE pad3;
	} graphicsExposure;
	struct {
	    CARD32 pad00;
	    CARD32 drawable;
	    CARD16 minorEvent;
	    BYTE majorEvent;
	    BYTE bpad;
	} noExposure;
	struct {
	    CARD32 pad00;
	    CARD32 window;
	    CARD8 state;
	    BYTE pad1;
	    BYTE pad2;
	    BYTE pad3;
	} visibility;
	struct {
	    CARD32 pad00;
	    CARD32 parent;
	    CARD32 window;
	    INT16 x;
	    INT16 y;
	    CARD16 width;
	    CARD16 height;
	    CARD16 borderWidth;
	    BOOL override;
	    BYTE bpad;
	} createNotify;
	struct {
	    CARD32 pad00;
	    CARD32 event;
	    CARD32 window;
	} destroyNotify;
	struct {
	    CARD32 pad00;
	    CARD32 event;
	    CARD32 window;
	    BOOL fromConfigure;
	    BYTE pad1;
	    BYTE pad2;
	    BYTE pad3;
	} unmapNotify;
	struct {
	    CARD32 pad00;
	    CARD32 event;
	    CARD32 window;
	    BOOL override;
	    BYTE pad1;
	    BYTE pad2;
	    BYTE pad3;
	} mapNotify;
	struct {
	    CARD32 pad00;
	    CARD32 parent;
	    CARD32 window;
	} mapRequest;
	struct {
	    CARD32 pad00;
	    CARD32 event;
	    CARD32 window;
	    CARD32 parent;
	    INT16 x;
	    INT16 y;
	    BOOL override;
	    BYTE pad1;
	    BYTE pad2;
	    BYTE pad3;
	} reparent;
	struct {
	    CARD32 pad00;
	    CARD32 event;
	    CARD32 window;
	    CARD32 aboveSibling;
	    INT16 x;
	    INT16 y;
	    CARD16 width;
	    CARD16 height;
	    CARD16 borderWidth;
	    BOOL override;
	    BYTE bpad;
	} configureNotify;
	struct {
	    CARD32 pad00;
	    CARD32 parent;
	    CARD32 window;
	    CARD32 sibling;
	    INT16 x;
	    INT16 y;
	    CARD16 width;
	    CARD16 height;
	    CARD16 borderWidth;
	    CARD16 valueMask;
	    CARD32 pad1;
	} configureRequest;
	struct {
	    CARD32 pad00;
	    CARD32 event;
	    CARD32 window;
	    INT16 x;
	    INT16 y;
	    CARD32 pad1;
	    CARD32 pad2;
	    CARD32 pad3;
	    CARD32 pad4;
	} gravity;
	struct {
	    CARD32 pad00;
	    CARD32 window;
	    CARD16 width;
	    CARD16 height;
	} resizeRequest;
	struct {
	    CARD32 pad00;
	    CARD32 event;
	    CARD32 window;
	    CARD32 parent;
	    BYTE place;
	    BYTE pad1;
	    BYTE pad2;
	    BYTE pad3;
	} circulate;
	struct {
	    CARD32 pad00;
	    CARD32 window;
	    CARD32 atom;
	    CARD32 time;
	    BYTE state;
	    BYTE pad1;
	    CARD16 pad2;
	} property;
	struct {
	    CARD32 pad00;
	    CARD32 time;
	    CARD32 window;
	    CARD32 atom;
	} selectionClear;
	struct {
	    CARD32 pad00;
	    CARD32 time;
	    CARD32 owner;
	    CARD32 requestor;
	    CARD32 selection;
	    CARD32 target;
	    CARD32 property;
	} selectionRequest;
	struct {
	    CARD32 pad00;
	    CARD32 time;
	    CARD32 requestor;
	    CARD32 selection;
	    CARD32 target;
	    CARD32 property;
	} selectionNotify;
	struct {
	    CARD32 pad00;
	    CARD32 window;
	    CARD32 colormap;
#if defined(__cplusplus) || defined(c_plusplus)
	    BOOL c_new;
#else
	    BOOL new;
#endif
	    BYTE state;
	    BYTE pad1;
	    BYTE pad2;
	} colormap;
	struct {
	    CARD32 pad00;
	    CARD8 request;
	    CARD8 firstKeyCode;
	    CARD8 count;
	    BYTE pad1;
	} mappingNotify;
	struct {
	    CARD32 pad00;
	    CARD32 window;
	    union {
		struct {
		    CARD32 type;
		    INT32 longs0;
		    INT32 longs1;
		    INT32 longs2;
		    INT32 longs3;
		    INT32 longs4;
		} l;
		struct {
		    CARD32 type;
		    INT16 shorts0;
		    INT16 shorts1;
		    INT16 shorts2;
		    INT16 shorts3;
		    INT16 shorts4;
		    INT16 shorts5;
		    INT16 shorts6;
		    INT16 shorts7;
		    INT16 shorts8;
		    INT16 shorts9;
		} s;
		struct {
		    CARD32 type;
		    INT8 bytes[20];
		} b;
	    } u;
	} clientMessage;
    } u;
} xEvent;
typedef struct {
    BYTE type;
    BYTE errorCode;
    CARD16 sequenceNumber;
    CARD32 resourceID;
    CARD16 minorCode;
    CARD8 majorCode;
    BYTE pad1;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xError;
typedef CARD16 KeyButMask;
typedef struct {
    CARD8 byteOrder;
    BYTE pad;
    CARD16 majorVersion;
    CARD16 minorVersion;
    CARD16 nbytesAuthProto;
    CARD16 nbytesAuthString;
    CARD16 pad2;
} xConnClientPrefix;
typedef struct {
    CARD8 success;
    BYTE lengthReason;
    CARD16 majorVersion;
    CARD16 minorVersion;
    CARD16 length;
} xConnSetupPrefix;
typedef struct {
    CARD32 release;
    CARD32 ridBase;
    CARD32 ridMask;
    CARD32 motionBufferSize;
    CARD16 nbytesVendor;
    CARD16 maxRequestSize;
    CARD8 numRoots;
    CARD8 numFormats;
    CARD8 imageByteOrder;
    CARD8 bitmapBitOrder;
    CARD8 bitmapScanlineUnit;
    CARD8 bitmapScanlinePad;
    CARD8 minKeyCode;
    CARD8 maxKeyCode;
    CARD32 pad2;
} xConnSetup;
typedef struct {
    CARD8 depth;
    CARD8 bitsPerPixel;
    CARD8 scanLinePad;
    CARD8 pad1;
    CARD32 pad2;
} xPixmapFormat;
typedef struct {
    CARD8 depth;
    CARD8 pad1;
    CARD16 nVisuals;
    CARD32 pad2;
} xDepth;
typedef struct {
    CARD32 visualID;
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 bitsPerRGB;
    CARD16 colormapEntries;
    CARD32 redMask;
    CARD32 greenMask;
    CARD32 blueMask;
    CARD32 pad;
} xVisualType;
typedef struct {
    CARD32 windowId;
    CARD32 defaultColormap;
    CARD32 whitePixel;
    CARD32 blackPixel;
    CARD32 currentInputMask;
    CARD16 pixWidth;
    CARD16 pixHeight;
    CARD16 mmWidth;
    CARD16 mmHeight;
    CARD16 minInstalledMaps;
    CARD16 maxInstalledMaps;
    CARD32 rootVisualID;
    CARD8 backingStore;
    BOOL saveUnders;
    CARD8 rootDepth;
    CARD8 nDepths;
} xWindowRoot;
typedef struct {
    CARD32 time;
    INT16 x;
    INT16 y;
} xTimecoord;
typedef struct {
    CARD8 family;
    BYTE pad;
    CARD16 length;
} xHostEntry;
typedef struct {
    INT16 leftSideBearing;
    INT16 rightSideBearing;
    INT16 characterWidth;
    INT16 ascent;
    INT16 descent;
    CARD16 attributes;
} xCharInfo;
typedef struct {
    CARD32 name;
    CARD32 value;
} xFontProp;
typedef struct {
    CARD8 len;
    INT8 delta;
} xTextElt;
typedef struct {
    CARD32 pixel;
    CARD16 red;
    CARD16 green;
    CARD16 blue;
    CARD8 flags;
    CARD8 pad;
} xColorItem;
typedef struct {
    CARD16 red;
    CARD16 green;
    CARD16 blue;
    CARD16 pad;
} xrgb;
typedef unsigned char KEYCODE;
typedef struct {
    BYTE type;
    BYTE data1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 data00;
    CARD32 data01;
    CARD32 data02;
    CARD32 data03;
    CARD32 data04;
    CARD32 data05;
} xGenericReply;
typedef struct {
    BYTE type;
    CARD8 backingStore;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 visualID;
#if defined(__cplusplus) || defined(c_plusplus)
    CARD16 c_class;
#else
    CARD16 class;
#endif
    CARD8 bitGravity;
    CARD8 winGravity;
    CARD32 backingBitPlanes;
    CARD32 backingPixel;
    BOOL saveUnder;
    BOOL mapInstalled;
    CARD8 mapState;
    BOOL override;
    CARD32 colormap;
    CARD32 allEventMasks;
    CARD32 yourEventMask;
    CARD16 doNotPropagateMask;
    CARD16 pad;
} xGetWindowAttributesReply;
typedef struct {
    BYTE type;
    CARD8 depth;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 root;
    INT16 x;
    INT16 y;
    CARD16 width;
    CARD16 height;
    CARD16 borderWidth;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
} xGetGeometryReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 root;
    CARD32 parent;
    CARD16 nChildren;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xQueryTreeReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 atom;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xInternAtomReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nameLength;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xGetAtomNameReply;
typedef struct {
    BYTE type;
    CARD8 format;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 propertyType;
    CARD32 bytesAfter;
    CARD32 nItems;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
} xGetPropertyReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nProperties;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xListPropertiesReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 owner;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGetSelectionOwnerReply;
typedef struct {
    BYTE type;
    BYTE status;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGrabPointerReply;
typedef xGrabPointerReply xGrabKeyboardReply;
typedef struct {
    BYTE type;
    BOOL sameScreen;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 root;
    CARD32 child;
    INT16 rootX;
    INT16 rootY;
    INT16 winX;
    INT16 winY;
    CARD16 mask;
    CARD16 pad1;
    CARD32 pad;
} xQueryPointerReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 nEvents;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGetMotionEventsReply;
typedef struct {
    BYTE type;
    BOOL sameScreen;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 child;
    INT16 dstX;
    INT16 dstY;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xTranslateCoordsReply;
typedef struct {
    BYTE type;
    CARD8 revertTo;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 focus;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xGetInputFocusReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    BYTE map[32];
} xQueryKeymapReply;
typedef struct _xQueryFontReply {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    xCharInfo minBounds;
    CARD32 walign1;
    xCharInfo maxBounds;
    CARD32 walign2;
    CARD16 minCharOrByte2;
    CARD16 maxCharOrByte2;
    CARD16 defaultChar;
    CARD16 nFontProps;
    CARD8 drawDirection;
    CARD8 minByte1;
    CARD8 maxByte1;
    BOOL allCharsExist;
    INT16 fontAscent;
    INT16 fontDescent;
    CARD32 nCharInfos;
} xQueryFontReply;
typedef struct {
    BYTE type;
    CARD8 drawDirection;
    CARD16 sequenceNumber;
    CARD32 length;
    INT16 fontAscent;
    INT16 fontDescent;
    INT16 overallAscent;
    INT16 overallDescent;
    INT32 overallWidth;
    INT32 overallLeft;
    INT32 overallRight;
    CARD32 pad;
} xQueryTextExtentsReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nFonts;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xListFontsReply;
typedef struct {
    BYTE type;
    CARD8 nameLength;
    CARD16 sequenceNumber;
    CARD32 length;
    xCharInfo minBounds;
    CARD32 walign1;
    xCharInfo maxBounds;
    CARD32 walign2;
    CARD16 minCharOrByte2;
    CARD16 maxCharOrByte2;
    CARD16 defaultChar;
    CARD16 nFontProps;
    CARD8 drawDirection;
    CARD8 minByte1;
    CARD8 maxByte1;
    BOOL allCharsExist;
    INT16 fontAscent;
    INT16 fontDescent;
    CARD32 nReplies;
} xListFontsWithInfoReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nPaths;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xGetFontPathReply;
typedef struct {
    BYTE type;
    CARD8 depth;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 visual;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xGetImageReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nColormaps;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xListInstalledColormapsReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 red;
    CARD16 green;
    CARD16 blue;
    CARD16 pad2;
    CARD32 pixel;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xAllocColorReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 pixel;
    CARD16 exactRed;
    CARD16 exactGreen;
    CARD16 exactBlue;
    CARD16 screenRed;
    CARD16 screenGreen;
    CARD16 screenBlue;
    CARD32 pad2;
    CARD32 pad3;
} xAllocNamedColorReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nPixels;
    CARD16 nMasks;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xAllocColorCellsReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nPixels;
    CARD16 pad2;
    CARD32 redMask;
    CARD32 greenMask;
    CARD32 blueMask;
    CARD32 pad3;
    CARD32 pad4;
} xAllocColorPlanesReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nColors;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xQueryColorsReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 exactRed;
    CARD16 exactGreen;
    CARD16 exactBlue;
    CARD16 screenRed;
    CARD16 screenGreen;
    CARD16 screenBlue;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xLookupColorReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 width;
    CARD16 height;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xQueryBestSizeReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    BOOL present;
    CARD8 major_opcode;
    CARD8 first_event;
    CARD8 first_error;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xQueryExtensionReply;
typedef struct {
    BYTE type;
    CARD8 nExtensions;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xListExtensionsReply;
typedef struct {
    BYTE type;
    CARD8 success;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xSetMappingReply;
typedef xSetMappingReply xSetPointerMappingReply;
typedef xSetMappingReply xSetModifierMappingReply;
typedef struct {
    BYTE type;
    CARD8 nElts;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xGetPointerMappingReply;
typedef struct {
    BYTE type;
    CARD8 keySymsPerKeyCode;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xGetKeyboardMappingReply;
typedef struct {
    BYTE type;
    CARD8 numKeyPerModifier;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGetModifierMappingReply;
typedef struct {
    BYTE type;
    BOOL globalAutoRepeat;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 ledMask;
    CARD8 keyClickPercent;
    CARD8 bellPercent;
    CARD16 bellPitch;
    CARD16 bellDuration;
    CARD16 pad;
    BYTE map[32];
} xGetKeyboardControlReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 accelNumerator;
    CARD16 accelDenominator;
    CARD16 threshold;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGetPointerControlReply;
typedef struct {
    BYTE type;
    BYTE pad1;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 timeout;
    CARD16 interval;
    BOOL preferBlanking;
    BOOL allowExposures;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGetScreenSaverReply;
typedef struct {
    BYTE type;
    BOOL enabled;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nHosts;
    CARD16 pad1;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xListHostsReply;
typedef struct {
    BYTE type;
    BYTE map[31];
} xKeymapEvent;
typedef struct _xReq {
    CARD8 reqType;
    CARD8 data;
    CARD16 length;
} xReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 id;
} xResourceReq;
typedef struct {
    CARD8 reqType;
    CARD8 depth;
    CARD16 length;
    CARD32 wid;
    CARD32 parent;
    INT16 x;
    INT16 y;
    CARD16 width;
    CARD16 height;
    CARD16 borderWidth;
#if defined(__cplusplus) || defined(c_plusplus)
    CARD16 c_class;
#else
    CARD16 class;
#endif
    CARD32 visual;
    CARD32 mask;
} xCreateWindowReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 window;
    CARD32 valueMask;
} xChangeWindowAttributesReq;
typedef struct {
    CARD8 reqType;
    BYTE mode;
    CARD16 length;
    CARD32 window;
} xChangeSaveSetReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 window;
    CARD32 parent;
    INT16 x;
    INT16 y;
} xReparentWindowReq;
typedef struct {
    CARD8 reqType;
    CARD8 pad;
    CARD16 length;
    CARD32 window;
    CARD16 mask;
    CARD16 pad2;
} xConfigureWindowReq;
typedef struct {
    CARD8 reqType;
    CARD8 direction;
    CARD16 length;
    CARD32 window;
} xCirculateWindowReq;
typedef struct {
    CARD8 reqType;
    BOOL onlyIfExists;
    CARD16 length;
    CARD16 nbytes;
    CARD16 pad;
} xInternAtomReq;
typedef struct {
    CARD8 reqType;
    CARD8 mode;
    CARD16 length;
    CARD32 window;
    CARD32 property;
    CARD32 type;
    CARD8 format;
    BYTE pad[3];
    CARD32 nUnits;
} xChangePropertyReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 window;
    CARD32 property;
} xDeletePropertyReq;
typedef struct {
    CARD8 reqType;
#if defined(__cplusplus) || defined(c_plusplus)
    BOOL c_delete;
#else
    BOOL delete;
#endif
    CARD16 length;
    CARD32 window;
    CARD32 property;
    CARD32 type;
    CARD32 longOffset;
    CARD32 longLength;
} xGetPropertyReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 window;
    CARD32 selection;
    CARD32 time;
} xSetSelectionOwnerReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 requestor;
    CARD32 selection;
    CARD32 target;
    CARD32 property;
    CARD32 time;
} xConvertSelectionReq;
typedef struct {
    CARD8 reqType;
    BOOL ownerEvents;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 eventMask;
    BYTE pointerMode;
    BYTE keyboardMode;
    CARD32 confineTo;
    CARD32 cursor;
    CARD32 time;
} xGrabPointerReq;
typedef struct {
    CARD8 reqType;
    BOOL ownerEvents;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 eventMask;
    BYTE pointerMode;
    BYTE keyboardMode;
    CARD32 confineTo;
    CARD32 cursor;
    CARD8 button;
    BYTE pad;
    CARD16 modifiers;
} xGrabButtonReq;
typedef struct {
    CARD8 reqType;
    CARD8 button;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 modifiers;
    CARD16 pad;
} xUngrabButtonReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cursor;
    CARD32 time;
    CARD16 eventMask;
    CARD16 pad2;
} xChangeActivePointerGrabReq;
typedef struct {
    CARD8 reqType;
    BOOL ownerEvents;
    CARD16 length;
    CARD32 grabWindow;
    CARD32 time;
    BYTE pointerMode;
    BYTE keyboardMode;
    CARD16 pad;
} xGrabKeyboardReq;
typedef struct {
    CARD8 reqType;
    BOOL ownerEvents;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 modifiers;
    CARD8 key;
    BYTE pointerMode;
    BYTE keyboardMode;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xGrabKeyReq;
typedef struct {
    CARD8 reqType;
    CARD8 key;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 modifiers;
    CARD16 pad;
} xUngrabKeyReq;
typedef struct {
    CARD8 reqType;
    CARD8 mode;
    CARD16 length;
    CARD32 time;
} xAllowEventsReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 window;
    CARD32 start;
    CARD32 stop;
} xGetMotionEventsReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 srcWid;
    CARD32 dstWid;
    INT16 srcX;
    INT16 srcY;
} xTranslateCoordsReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 srcWid;
    CARD32 dstWid;
    INT16 srcX;
    INT16 srcY;
    CARD16 srcWidth;
    CARD16 srcHeight;
    INT16 dstX;
    INT16 dstY;
} xWarpPointerReq;
typedef struct {
    CARD8 reqType;
    CARD8 revertTo;
    CARD16 length;
    CARD32 focus;
    CARD32 time;
} xSetInputFocusReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 fid;
    CARD16 nbytes;
    BYTE pad1;
    BYTE pad2;
} xOpenFontReq;
typedef struct {
    CARD8 reqType;
    BOOL oddLength;
    CARD16 length;
    CARD32 fid;
} xQueryTextExtentsReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD16 maxNames;
    CARD16 nbytes;
} xListFontsReq;
typedef xListFontsReq xListFontsWithInfoReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD16 nFonts;
    BYTE pad1;
    BYTE pad2;
} xSetFontPathReq;
typedef struct {
    CARD8 reqType;
    CARD8 depth;
    CARD16 length;
    CARD32 pid;
    CARD32 drawable;
    CARD16 width;
    CARD16 height;
} xCreatePixmapReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 gc;
    CARD32 drawable;
    CARD32 mask;
} xCreateGCReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 gc;
    CARD32 mask;
} xChangeGCReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 srcGC;
    CARD32 dstGC;
    CARD32 mask;
} xCopyGCReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 gc;
    CARD16 dashOffset;
    CARD16 nDashes;
} xSetDashesReq;
typedef struct {
    CARD8 reqType;
    BYTE ordering;
    CARD16 length;
    CARD32 gc;
    INT16 xOrigin;
    INT16 yOrigin;
} xSetClipRectanglesReq;
typedef struct {
    CARD8 reqType;
    BOOL exposures;
    CARD16 length;
    CARD32 window;
    INT16 x;
    INT16 y;
    CARD16 width;
    CARD16 height;
} xClearAreaReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 srcDrawable;
    CARD32 dstDrawable;
    CARD32 gc;
    INT16 srcX;
    INT16 srcY;
    INT16 dstX;
    INT16 dstY;
    CARD16 width;
    CARD16 height;
} xCopyAreaReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 srcDrawable;
    CARD32 dstDrawable;
    CARD32 gc;
    INT16 srcX;
    INT16 srcY;
    INT16 dstX;
    INT16 dstY;
    CARD16 width;
    CARD16 height;
    CARD32 bitPlane;
} xCopyPlaneReq;
typedef struct {
    CARD8 reqType;
    BYTE coordMode;
    CARD16 length;
    CARD32 drawable;
    CARD32 gc;
} xPolyPointReq;
typedef xPolyPointReq xPolyLineReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 drawable;
    CARD32 gc;
} xPolySegmentReq;
typedef xPolySegmentReq xPolyArcReq;
typedef xPolySegmentReq xPolyRectangleReq;
typedef xPolySegmentReq xPolyFillRectangleReq;
typedef xPolySegmentReq xPolyFillArcReq;
typedef struct _FillPolyReq {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 drawable;
    CARD32 gc;
    BYTE shape;
    BYTE coordMode;
    CARD16 pad1;
} xFillPolyReq;
typedef struct _PutImageReq {
    CARD8 reqType;
    CARD8 format;
    CARD16 length;
    CARD32 drawable;
    CARD32 gc;
    CARD16 width;
    CARD16 height;
    INT16 dstX;
    INT16 dstY;
    CARD8 leftPad;
    CARD8 depth;
    CARD16 pad;
} xPutImageReq;
typedef struct {
    CARD8 reqType;
    CARD8 format;
    CARD16 length;
    CARD32 drawable;
    INT16 x;
    INT16 y;
    CARD16 width;
    CARD16 height;
    CARD32 planeMask;
} xGetImageReq;
typedef struct {
    CARD8 reqType;
    CARD8 pad;
    CARD16 length;
    CARD32 drawable;
    CARD32 gc;
    INT16 x;
    INT16 y;
} xPolyTextReq;
typedef xPolyTextReq xPolyText8Req;
typedef xPolyTextReq xPolyText16Req;
typedef struct {
    CARD8 reqType;
    BYTE nChars;
    CARD16 length;
    CARD32 drawable;
    CARD32 gc;
    INT16 x;
    INT16 y;
} xImageTextReq;
typedef xImageTextReq xImageText8Req;
typedef xImageTextReq xImageText16Req;
typedef struct {
    CARD8 reqType;
    BYTE alloc;
    CARD16 length;
    CARD32 mid;
    CARD32 window;
    CARD32 visual;
} xCreateColormapReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 mid;
    CARD32 srcCmap;
} xCopyColormapAndFreeReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cmap;
    CARD16 red;
    CARD16 green;
    CARD16 blue;
    CARD16 pad2;
} xAllocColorReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cmap;
    CARD16 nbytes;
    BYTE pad1;
    BYTE pad2;
} xAllocNamedColorReq;
typedef struct {
    CARD8 reqType;
    BOOL contiguous;
    CARD16 length;
    CARD32 cmap;
    CARD16 colors;
    CARD16 planes;
} xAllocColorCellsReq;
typedef struct {
    CARD8 reqType;
    BOOL contiguous;
    CARD16 length;
    CARD32 cmap;
    CARD16 colors;
    CARD16 red;
    CARD16 green;
    CARD16 blue;
} xAllocColorPlanesReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cmap;
    CARD32 planeMask;
} xFreeColorsReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cmap;
} xStoreColorsReq;
typedef struct {
    CARD8 reqType;
    CARD8 flags;
    CARD16 length;
    CARD32 cmap;
    CARD32 pixel;
    CARD16 nbytes;
    BYTE pad1;
    BYTE pad2;
} xStoreNamedColorReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cmap;
} xQueryColorsReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cmap;
    CARD16 nbytes;
    BYTE pad1;
    BYTE pad2;
} xLookupColorReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cid;
    CARD32 source;
    CARD32 mask;
    CARD16 foreRed;
    CARD16 foreGreen;
    CARD16 foreBlue;
    CARD16 backRed;
    CARD16 backGreen;
    CARD16 backBlue;
    CARD16 x;
    CARD16 y;
} xCreateCursorReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cid;
    CARD32 source;
    CARD32 mask;
    CARD16 sourceChar;
    CARD16 maskChar;
    CARD16 foreRed;
    CARD16 foreGreen;
    CARD16 foreBlue;
    CARD16 backRed;
    CARD16 backGreen;
    CARD16 backBlue;
} xCreateGlyphCursorReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 cursor;
    CARD16 foreRed;
    CARD16 foreGreen;
    CARD16 foreBlue;
    CARD16 backRed;
    CARD16 backGreen;
    CARD16 backBlue;
} xRecolorCursorReq;
typedef struct {
    CARD8 reqType;
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD16 length;
    CARD32 drawable;
    CARD16 width;
    CARD16 height;
} xQueryBestSizeReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD16 nbytes;
    BYTE pad1;
    BYTE pad2;
} xQueryExtensionReq;
typedef struct {
    CARD8 reqType;
    CARD8 numKeyPerModifier;
    CARD16 length;
} xSetModifierMappingReq;
typedef struct {
    CARD8 reqType;
    CARD8 nElts;
    CARD16 length;
} xSetPointerMappingReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD8 firstKeyCode;
    CARD8 count;
    CARD16 pad1;
} xGetKeyboardMappingReq;
typedef struct {
    CARD8 reqType;
    CARD8 keyCodes;
    CARD16 length;
    CARD8 firstKeyCode;
    CARD8 keySymsPerKeyCode;
    CARD16 pad1;
} xChangeKeyboardMappingReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 mask;
} xChangeKeyboardControlReq;
typedef struct {
    CARD8 reqType;
    INT8 percent;
    CARD16 length;
} xBellReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    INT16 accelNum;
    INT16 accelDenum;
    INT16 threshold;
    BOOL doAccel;
    BOOL doThresh;
} xChangePointerControlReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    INT16 timeout;
    INT16 interval;
    BYTE preferBlank;
    BYTE allowExpose;
    CARD16 pad2;
} xSetScreenSaverReq;
typedef struct {
    CARD8 reqType;
    BYTE mode;
    CARD16 length;
    CARD8 hostFamily;
    BYTE pad;
    CARD16 hostLength;
} xChangeHostsReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
} xListHostsReq;
typedef struct {
    CARD8 reqType;
    BYTE mode;
    CARD16 length;
} xChangeModeReq;
typedef xChangeModeReq xSetAccessControlReq;
typedef xChangeModeReq xSetCloseDownModeReq;
typedef xChangeModeReq xForceScreenSaverReq;
typedef struct {
    CARD8 reqType;
    BYTE pad;
    CARD16 length;
    CARD32 window;
    CARD16 nAtoms;
    INT16 nPositions;
} xRotatePropertiesReq;

typedef union {
    xGenericReply generic;
    xGetGeometryReply geom;
    xQueryTreeReply tree;
    xInternAtomReply atom;
    xGetAtomNameReply atomName;
    xGetPropertyReply property;
    xListPropertiesReply listProperties;
    xGetSelectionOwnerReply selection;
    xGrabPointerReply grabPointer;
    xGrabKeyboardReply grabKeyboard;
    xQueryPointerReply pointer;
    xGetMotionEventsReply motionEvents;
    xTranslateCoordsReply coords;
    xGetInputFocusReply inputFocus;
    xQueryTextExtentsReply textExtents;
    xListFontsReply fonts;
    xGetFontPathReply fontPath;
    xGetImageReply image;
    xListInstalledColormapsReply colormaps;
    xAllocColorReply allocColor;
    xAllocNamedColorReply allocNamedColor;
    xAllocColorCellsReply colorCells;
    xAllocColorPlanesReply colorPlanes;
    xQueryColorsReply colors;
    xLookupColorReply lookupColor;
    xQueryBestSizeReply bestSize;
    xQueryExtensionReply extension;
    xListExtensionsReply extensions;
    xSetModifierMappingReply setModifierMapping;
    xGetModifierMappingReply getModifierMapping;
    xSetPointerMappingReply setPointerMapping;
    xGetKeyboardMappingReply getKeyboardMapping;
    xGetPointerMappingReply getPointerMapping;
    xGetPointerControlReply pointerControl;
    xGetScreenSaverReply screenSaver;
    xListHostsReply hosts;
    xError error;
    xEvent event;
} xReply;
typedef struct {
    CARD8 reqType;
    BOOL propagate;
    CARD16 length;
    CARD32 destination;
    CARD32 eventMask;
    xEvent event;
} xSendEventReq;

6.2.15. X11/Xprotostr.h


typedef struct _xSegment {
    INT16 x1;
    INT16 y1;
    INT16 x2;
    INT16 y2;
} xSegment;
typedef struct _xPoint {
    INT16 x;
    INT16 y;
} xPoint;
typedef struct _xRectangle {
    INT16 x;
    INT16 y;
    CARD16 width;
    CARD16 height;
} xRectangle;
typedef struct _xArc {
    INT16 x;
    INT16 y;
    CARD16 width;
    CARD16 height;
    INT16 angle1;
    INT16 angle2;
} xArc;

6.2.16. X11/Xresource.h


#define NULLQUARK	((XrmQuark) 0)

typedef int XrmQuark;
typedef int *XrmQuarkList;
typedef char *XrmString;
typedef enum {
    XrmBindTightly,
    XrmBindLoosely
} XrmBinding, *XrmBindingList;
typedef XrmQuark XrmName;
typedef XrmQuarkList XrmNameList;
typedef XrmQuark XrmClass;
typedef XrmQuarkList XrmClassList;
typedef XrmQuark XrmRepresentation;
typedef struct {
    unsigned int size;
    XPointer addr;
} XrmValue, *XrmValuePtr;
typedef struct _XrmHashBucketRec *XrmHashBucket;
typedef XrmHashBucket *XrmHashTable;
typedef XrmHashTable XrmSearchList[];
typedef struct _XrmHashBucketRec *XrmDatabase;
typedef enum {
    XrmoptionNoArg,
    XrmoptionIsArg,
    XrmoptionStickyArg,
    XrmoptionSepArg,
    XrmoptionResArg,
    XrmoptionSkipArg,
    XrmoptionSkipLine,
    XrmoptionSkipNArgs
} XrmOptionKind;
typedef struct {
    char *option;
    char *specifier;
    XrmOptionKind argKind;
    XPointer value;
} XrmOptionDescRec, *XrmOptionDescList;
extern void XrmCombineDatabase(XrmDatabase, XrmDatabase *, int);
extern int XrmCombineFileDatabase(const char *, XrmDatabase *, int);
extern void XrmDestroyDatabase(XrmDatabase);
extern int XrmEnumerateDatabase(XrmDatabase, XrmNameList, XrmClassList,
				int, int (*)(XrmDatabase *, XrmBindingList,
					     XrmQuarkList,
					     XrmRepresentation *,
					     XrmValue *, XPointer),
				XPointer);
extern XrmDatabase XrmGetDatabase(Display *);
extern XrmDatabase XrmGetFileDatabase(const char *);
extern int XrmGetResource(XrmDatabase, const char *, const char *, char **,
			  XrmValue *);
extern XrmDatabase XrmGetStringDatabase(const char *);
extern const char *XrmLocaleOfDatabase(XrmDatabase);
extern void XrmMergeDatabases(XrmDatabase, XrmDatabase *);
extern void XrmParseCommand(XrmDatabase *, XrmOptionDescList, int,
			    const char *, int *, char **);
extern XrmQuark XrmPermStringToQuark(const char *);
extern void XrmPutFileDatabase(XrmDatabase, const char *);
extern void XrmPutLineResource(XrmDatabase *, const char *);
extern void XrmPutResource(XrmDatabase *, const char *, const char *,
			   XrmValue *);
extern void XrmPutStringResource(XrmDatabase *, const char *,
				 const char *);
extern int XrmQGetResource(XrmDatabase, XrmNameList, XrmClassList,
			   XrmRepresentation *, XrmValue *);
extern int XrmQGetSearchList(XrmDatabase, XrmNameList, XrmClassList,
			     XrmSearchList, int);
extern int XrmQGetSearchResource(XrmSearchList, XrmName, XrmClass,
				 XrmRepresentation *, XrmValue *);
extern void XrmQPutResource(XrmDatabase *, XrmBindingList, XrmQuarkList,
			    XrmRepresentation, XrmValue *);
extern void XrmQPutStringResource(XrmDatabase *, XrmBindingList,
				  XrmQuarkList, const char *);
extern XrmString XrmQuarkToString(XrmQuark);
extern void XrmSetDatabase(Display *, XrmDatabase);
extern void XrmStringToBindingQuarkList(const char *, XrmBindingList,
					XrmQuarkList);
extern XrmQuark XrmStringToQuark(const char *);
extern void XrmStringToQuarkList(const char *, XrmQuarkList);
extern XrmQuark XrmUniqueQuark(void);

6.2.17. X11/Xutil.h


#define IsModifierKey(keysym)	((((KeySym)(keysym) >= XK_Shift_L) && ((KeySym)(keysym) <= XK_Hyper_R)) || (((KeySym)(keysym) >= XK_ISO_Lock) && ((KeySym)(keysym) <= XK_ISO_Last_Group_Lock)) || ((KeySym)(keysym) == XK_Mode_switch) || ((KeySym)(keysym) == XK_Num_Lock))
#define IsPrivateKeypadKey(keysym)	(((KeySym)(keysym) >= 0x11000000) && ((KeySym)(keysym) <= 0x1100FFFF))
#define IsKeypadKey(keysym)	(((KeySym)(keysym) >= XK_KP_Space) && ((KeySym)(keysym) <= XK_KP_Equal))
#define IsMiscFunctionKey(keysym)	(((KeySym)(keysym) >= XK_Select) && ((KeySym)(keysym) <= XK_Break))
#define IsFunctionKey(keysym)	(((KeySym)(keysym)>=XK_F1)&&((KeySym)(keysym)<=XK_F35))
#define IsCursorKey(keysym)	(((KeySym)(keysym)>=XK_Home)&&((KeySym)(keysym)<XK_Select))
#define IsPFKey(keysym)	(((KeySym)(keysym)>=XK_KP_F1)&&((KeySym)(keysym)<=XK_KP_F4))
#define XStringToContext(string)	((XContext)XrmStringToQuark(string))
#define XUniqueContext()	((XContext)XrmUniqueQuark())
#define ReleaseByFreeingColormap	((XID)1L)
#define InputHint	(1L<<0)
#define USPosition	(1L<<0)
#define StateHint	(1L<<1)
#define USSize	(1L<<1)
#define IconPixmapHint	(1L<<2)
#define PPosition	(1L<<2)
#define IconWindowHint	(1L<<3)
#define PSize	(1L<<3)
#define IconPositionHint	(1L<<4)
#define PMinSize	(1L<<4)
#define IconMaskHint	(1L<<5)
#define PMaxSize	(1L<<5)
#define PResizeInc	(1L<<6)
#define WindowGroupHint	(1L<<6)
#define PAspect	(1L<<7)
#define PBaseSize	(1L<<8)
#define XUrgencyHint	(1L<<8)
#define PWinGravity	(1L<<9)
#define AllHints	(InputHint|StateHint|IconPixmapHint|IconWindowHint|IconPositionHint|IconMaskHint|WindowGroupHint)
#define PAllHints	(PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
#define XNoMemory	-1
#define XLocaleNotSupported	-2
#define XConverterNotFound	-3
#define BitmapSuccess	0
#define DontCareState	0
#define RectangleOut	0
#define WithdrawnState	0
#define XCSUCCESS	0
#define VisualNoMask	0x0
#define NoValue	0x0000
#define XValue	0x0001
#define YValue	0x0002
#define WidthValue	0x0004
#define HeightValue	0x0008
#define AllValues	0x000F
#define XNegative	0x0010
#define YNegative	0x0020
#define VisualIDMask	0x1
#define VisualRedMaskMask	0x10
#define VisualBitsPerRGBMask	0x100
#define VisualAllMask	0x1FF
#define VisualScreenMask	0x2
#define VisualGreenMaskMask	0x20
#define VisualDepthMask	0x4
#define VisualBlueMaskMask	0x40
#define VisualClassMask	0x8
#define VisualColormapSizeMask	0x80
#define BitmapOpenFailed	1
#define NormalState	1
#define RectangleIn	1
#define XCNOMEM	1
#define BitmapFileInvalid	2
#define RectanglePart	2
#define XCNOENT	2
#define ZoomState	2
#define BitmapNoMemory	3
#define IconicState	3
#define InactiveState	4

typedef struct {
    long int flags;
    int x;
    int y;
    int width;
    int height;
    int min_width;
    int min_height;
    int max_width;
    int max_height;
    int width_inc;
    int height_inc;
    struct {
	int x;
	int y;
    } min_aspect;
    struct {
	int x;
	int y;
    } max_aspect;
    int base_width;
    int base_height;
    int win_gravity;
} XSizeHints;
typedef struct {
    long int flags;
    int input;
    int initial_state;
    Pixmap icon_pixmap;
    Window icon_window;
    int icon_x;
    int icon_y;
    Pixmap icon_mask;
    XID window_group;
} XWMHints;
typedef struct {
    unsigned char *value;
    Atom encoding;
    int format;
    unsigned long int nitems;
} XTextProperty;
typedef struct {
    int min_width;
    int min_height;
    int max_width;
    int max_height;
    int width_inc;
    int height_inc;
} XIconSize;
typedef struct {
    char *res_name;
    char *res_class;
} XClassHint;
typedef struct _XComposeStatus {
    XPointer compose_ptr;
    int chars_matched;
} XComposeStatus;
typedef struct _XRegion *Region;
typedef struct {
    Visual *visual;
    VisualID visualid;
    int screen;
    int depth;
#if defined(__cplusplus) || defined(c_plusplus)
    int c_class;
#else
    int class;
#endif
    unsigned long int red_mask;
    unsigned long int green_mask;
    unsigned long int blue_mask;
    int colormap_size;
    int bits_per_rgb;
} XVisualInfo;
typedef struct {
    Colormap colormap;
    unsigned long int red_max;
    unsigned long int red_mult;
    unsigned long int green_max;
    unsigned long int green_mult;
    unsigned long int blue_max;
    unsigned long int blue_mult;
    unsigned long int base_pixel;
    VisualID visualid;
    XID killid;
} XStandardColormap;
typedef int XContext;
typedef enum {
    XStringStyle = 0,
    XCompoundTextStyle = 1,
    XTextStyle = 2,
    XStdICCTextStyle = 3,
    XUTF8StringStyle = 4
} XICCEncodingStyle;
extern int XAddPixel(XImage *, long int);
extern XClassHint *XAllocClassHint(void);
extern XIconSize *XAllocIconSize(void);
extern XSizeHints *XAllocSizeHints(void);
extern XStandardColormap *XAllocStandardColormap(void);
extern XWMHints *XAllocWMHints(void);
extern int XClipBox(Region, XRectangle *);
extern void XConvertCase(KeySym, KeySym *, KeySym *);
extern Region XCreateRegion(void);
extern const char *XDefaultString(void);
extern int XDeleteContext(Display *, XID, XContext);
extern int XDestroyImage(XImage *);
extern int XDestroyRegion(Region);
extern int XEmptyRegion(Region);
extern int XEqualRegion(Region, Region);
extern int XFindContext(Display *, XID, XContext, XPointer *);
extern int XGetClassHint(Display *, Window, XClassHint *);
extern int XGetIconSizes(Display *, Window, XIconSize * *, int *);
extern int XGetNormalHints(Display *, Window, XSizeHints *);
extern unsigned long int XGetPixel(XImage *, int, int);
extern int XGetRGBColormaps(Display *, Window, XStandardColormap * *,
			    int *, Atom);
extern int XGetSizeHints(Display *, Window, XSizeHints *, Atom);
extern int XGetStandardColormap(Display *, Window, XStandardColormap *,
				Atom);
extern int XGetTextProperty(Display *, Window, XTextProperty *, Atom);
extern XVisualInfo *XGetVisualInfo(Display *, long int, XVisualInfo *,
				   int *);
extern int XGetWMClientMachine(Display *, Window, XTextProperty *);
extern XWMHints *XGetWMHints(Display *, Window);
extern int XGetWMIconName(Display *, Window, XTextProperty *);
extern int XGetWMName(Display *, Window, XTextProperty *);
extern int XGetWMNormalHints(Display *, Window, XSizeHints *, long int *);
extern int XGetWMSizeHints(Display *, Window, XSizeHints *, long int *,
			   Atom);
extern int XGetZoomHints(Display *, Window, XSizeHints *);
extern int XIntersectRegion(Region, Region, Region);
extern int XLookupString(XKeyEvent *, char *, int, KeySym *,
			 XComposeStatus *);
extern int XMatchVisualInfo(Display *, int, int, int, XVisualInfo *);
extern int XOffsetRegion(Region, int, int);
extern int XPointInRegion(Region, int, int);
extern Region XPolygonRegion(XPoint *, int, int);
extern int XPutPixel(XImage *, int, int, unsigned long int);
extern int XRectInRegion(Region, int, int, unsigned int, unsigned int);
extern int XSaveContext(Display *, XID, XContext, const char *);
extern int XSetClassHint(Display *, Window, XClassHint *);
extern int XSetIconSizes(Display *, Window, XIconSize *, int);
extern int XSetNormalHints(Display *, Window, XSizeHints *);
extern void XSetRGBColormaps(Display *, Window, XStandardColormap *, int,
			     Atom);
extern int XSetRegion(Display *, GC, Region);
extern int XSetSizeHints(Display *, Window, XSizeHints *, Atom);
extern void XSetStandardColormap(Display *, Window, XStandardColormap *,
				 Atom);
extern int XSetStandardProperties(Display *, Window, const char *,
				  const char *, Pixmap, char **, int,
				  XSizeHints *);
extern void XSetTextProperty(Display *, Window, XTextProperty *, Atom);
extern void XSetWMClientMachine(Display *, Window, XTextProperty *);
extern int XSetWMHints(Display *, Window, XWMHints *);
extern void XSetWMIconName(Display *, Window, XTextProperty *);
extern void XSetWMName(Display *, Window, XTextProperty *);
extern void XSetWMNormalHints(Display *, Window, XSizeHints *);
extern void XSetWMProperties(Display *, Window, XTextProperty *,
			     XTextProperty *, char **, int, XSizeHints *,
			     XWMHints *, XClassHint *);
extern void XSetWMSizeHints(Display *, Window, XSizeHints *, Atom);
extern int XSetZoomHints(Display *, Window, XSizeHints *);
extern int XShrinkRegion(Region, int, int);
extern int XStringListToTextProperty(char **, int, XTextProperty *);
extern XImage *XSubImage(XImage *, int, int, unsigned int, unsigned int);
extern int XSubtractRegion(Region, Region, Region);
extern int XTextPropertyToStringList(XTextProperty *, char ***, int *);
extern int XUnionRectWithRegion(XRectangle *, Region, Region);
extern int XUnionRegion(Region, Region, Region);
extern int XWMGeometry(Display *, int, const char *, const char *,
		       unsigned int, XSizeHints *, int *, int *, int *,
		       int *, int *);
extern int XXorRegion(Region, Region, Region);
extern void XmbSetWMProperties(Display *, Window, const char *,
			       const char *, char **, int, XSizeHints *,
			       XWMHints *, XClassHint *);
extern int XmbTextListToTextProperty(Display * display, char **list,
				     int count, XICCEncodingStyle style,
				     XTextProperty * text_prop_return);
extern int XmbTextPropertyToTextList(Display * display,
				     const XTextProperty * text_prop,
				     char ***list_return,
				     int *count_return);
extern int Xutf8TextListToTextProperty(Display * display, char **list,
				       int count, XICCEncodingStyle style,
				       XTextProperty * text_prop_return);
extern int Xutf8TextPropertyToTextList(Display * display,
				       const XTextProperty * text_prop,
				       char ***list_return,
				       int *count_return);
extern void XwcFreeStringList(wchar_t * *list);
extern int XwcTextListToTextProperty(Display * display, wchar_t * *list,
				     int count, XICCEncodingStyle style,
				     XTextProperty * text_prop_return);
extern int XwcTextPropertyToTextList(Display * display,
				     const XTextProperty * text_prop,
				     wchar_t * **list_return,
				     int *count_return);

6.2.18. X11/cursorfont.h


#define _cursorfont_h_
#define XC_X_cursor	0
#define XC_arrow	2
#define XC_based_arrow_down	4
#define XC_based_arrow_up	6
#define XC_boat	8
#define XC_bogosity	10
#define XC_bottom_left_corner	12
#define XC_bottom_right_corner	14
#define XC_bottom_side	16
#define XC_bottom_tee	18
#define XC_box_spiral	20
#define XC_center_ptr	22
#define XC_circle	24
#define XC_clock	26
#define XC_coffee_mug	28
#define XC_cross	30
#define XC_cross_reverse	32
#define XC_crosshair	34
#define XC_diamond_cross	36
#define XC_dot	38
#define XC_dotbox	40
#define XC_double_arrow	42
#define XC_draft_large	44
#define XC_draft_small	46
#define XC_draped_box	48
#define XC_exchange	50
#define XC_fleur	52
#define XC_gobbler	54
#define XC_gumby	56
#define XC_hand1	58
#define XC_hand2	60
#define XC_heart	62
#define XC_icon	64
#define XC_iron_cross	66
#define XC_left_ptr	68
#define XC_left_side	70
#define XC_left_tee	72
#define XC_leftbutton	74
#define XC_ll_angle	76
#define XC_lr_angle	78
#define XC_man	80
#define XC_middlebutton	82
#define XC_mouse	84
#define XC_pencil	86
#define XC_pirate	88
#define XC_plus	90
#define XC_question_arrow	92
#define XC_right_ptr	94
#define XC_right_side	96
#define XC_right_tee	98
#define XC_rightbutton	100
#define XC_rtl_logo	102
#define XC_sailboat	104
#define XC_sb_down_arrow	106
#define XC_sb_h_double_arrow	108
#define XC_sb_left_arrow	110
#define XC_sb_right_arrow	112
#define XC_sb_up_arrow	114
#define XC_sb_v_double_arrow	116
#define XC_shuttle	118
#define XC_sizing	120
#define XC_spider	122
#define XC_spraycan	124
#define XC_star	126
#define XC_target	128
#define XC_tcross	130
#define XC_top_left_arrow	132
#define XC_top_left_corner	134
#define XC_top_right_corner	136
#define XC_top_side	138
#define XC_top_tee	140
#define XC_trek	142
#define XC_ul_angle	144
#define XC_umbrella	146
#define XC_ur_angle	148
#define XC_watch	150
#define XC_xterm	152
#define XC_num_glyphs	154

6.2.19. X11/extensions/XKB.h


#define XkbSingleXIClass(c)	((((c)&(~0xff))==0)||((c)==XkbDfltXIClass))
#define XkbSingleXIId(c)	((((c)&(~0xff))==0)||((c)==XkbDfltXIId))
#define XkbBuildCoreState(m,g)	((((g)&0x3)<<13)|((m)&0xff))
#define XkbIsPtrAction(a)	(((a)->type>=XkbSA_MovePtr)&&((a)->type<=XkbSA_SetPtrDflt))
#define XkbIsGroupAction(a)	(((a)->type>=XkbSA_SetGroup)&&((a)->type<=XkbSA_LockGroup))
#define XkbIsModAction(a)	(((a)->type>=Xkb_SASetMods)&&((a)->type<=XkbSA_LockMods))
#define XkbExplicitXIClass(c)	(((c)&(~0xff))==0)
#define XkbExplicitXIDevice(c)	(((c)&(~0xff))==0)
#define XkbExplicitXIId(c)	(((c)&(~0xff))==0)
#define XkbLegalXIBellClass(c)	(((c)==KbdFeedbackClass)|| ((c)==BellFeedbackClass)|| ((c)==XkbDfltXIClass)|| ((c)==XkbAllXIClasses))
#define XkbLegalXILedClass(c)	(((c)==KbdFeedbackClass)|| ((c)==LedFeedbackClass)|| ((c)==XkbDfltXIClass)|| ((c)==XkbAllXIClasses))
#define XkbIsLegalGroup(g)	(((g)>=0)&&((g)<XkbNumKbdGroups))
#define XkbGroupForCoreState(s)	(((s)>>13)&0x3)
#define XkbSA_BreakLatch	((1<<XkbSA_NoAction)|(1<<XkbSA_PtrBtn)|(1<<XkbSA_LockPtrBtn)| (1<<XkbSA_Terminate)|(1<<XkbSA_SwitchScreen)|(1<<XkbSA_SetControls)| (1<<XkbSA_LockControls)|(1<<XkbSA_ActionMessage)| (1<<XkbSA_RedirectKey)|(1<<XkbSA_DeviceBtn)|(1<<XkbSA_LockDeviceBtn))
#define XkbSA_ValOp(a)	((a)&XkbSA_ValOpMask)
#define XkbSA_ValScale(a)	((a)&XkbSA_ValScaleMask)
#define XkbIsLegalKeycode(k)	((k)>=XkbMinLegalKeyCode)
#define XkbShiftLevel(n)	((n)-1)
#define XkbPerKeyBitArraySize	((XkbMaxLegalKeyCode+1)/8)
#define XkbSI_NoneOf	(0)
#define XkbSA_IgnoreVal	(0x00)
#define XkbWrapIntoRange	(0x00)
#define XkbAllBooleanCtrlsMask	(0x00001FFF)
#define XkbXI_IndicatorsMask	(0x001c)
#define XkbXI_AllDeviceFeaturesMask	(0x001e)
#define XkbXI_AllFeaturesMask	(0x001f)
#define XkbSA_ValScaleMask	(0x07)
#define XkbAX_SKOptionsMask	(0x0C0)
#define XkbExplicitKeyTypesMask	(0x0f)
#define XkbSA_SetValMin	(0x10)
#define XkbPCF_AllFlagsMask	(0x1F)
#define XkbSA_SetValCenter	(0x20)
#define XkbAllCompatMask	(0x3)
#define XkbSA_SetValMax	(0x30)
#define XkbComponentNamesMask	(0x3f)
#define XkbAllNamesMask	(0x3fff)
#define XkbAllStateComponentsMask	(0x3fff)
#define XkbClampIntoRange	(0x40)
#define XkbSA_SetValRelative	(0x40)
#define XkbSA_SetValAbsolute	(0x50)
#define XkbAllNewKeyboardEventsMask	(0x7)
#define XkbSA_ValOpMask	(0x70)
#define XkbSA_ISOAffectMask	(0x78)
#define XkbAllComponentsMask	(0x7f)
#define XkbSI_OpMask	(0x7f)
#define XkbRedirectIntoRange	(0x80)
#define XkbSI_LevelOneOnly	(0x80)
#define XkbAllExtensionDeviceEventsMask	(0x801f)
#define XkbAllAccessXEventsMask	(0xf)
#define XkbAllGroupsMask	(0xf)
#define XkbAllRequiredTypes	(0xf)
#define XkbAX_FBOptionsMask	(0xF3F)
#define XkbAllControlsMask	(0xF8001FFF)
#define XkbAllExplicitMask	(0xff)
#define XkbGBN_AllComponentsMask	(0xff)
#define XkbAX_AllOptionsMask	(0xFFF)
#define XkbAllEventsMask	(0xFFF)
#define XkbAllIndicatorsMask	(0xffffffff)
#define XkbAllRadioGroupsMask	(0xffffffff)
#define XkbSI_AnyOfOrNone	(1)
#define XkbShiftLevelMask(n)	(1<<((n)-1))
#define XkbDF_DisableLocks	(1<<0)
#define XkbExplicitKeyType1Mask	(1<<0)
#define XkbGroup1Mask	(1<<0)
#define XkbKeyTypesMask	(1<<0)
#define XkbKeycodesNameMask	(1<<0)
#define XkbOneLevelMask	(1<<0)
#define XkbSI_AutoRepeat	(1<<0)
#define XkbSymInterpMask	(1<<0)
#define XkbExplicitKeyType2Mask	(1<<1)
#define XkbGeometryNameMask	(1<<1)
#define XkbGroup2Mask	(1<<1)
#define XkbGroupCompatMask	(1<<1)
#define XkbKeySymsMask	(1<<1)
#define XkbSI_LockingKey	(1<<1)
#define XkbTwoLevelMask	(1<<1)
#define XkbKeyAliasesMask	(1<<10)
#define XkbVirtualModNamesMask	(1<<11)
#define XkbGroupNamesMask	(1<<12)
#define XkbRGNamesMask	(1<<13)
#define XkbAlphabeticMask	(1<<2)
#define XkbExplicitKeyType3Mask	(1<<2)
#define XkbGroup3Mask	(1<<2)
#define XkbModifierMapMask	(1<<2)
#define XkbSymbolsNameMask	(1<<2)
#define XkbExplicitComponentsMask	(1<<3)
#define XkbExplicitKeyType4Mask	(1<<3)
#define XkbGroup4Mask	(1<<3)
#define XkbKeypadMask	(1<<3)
#define XkbPhysSymbolsNameMask	(1<<3)
#define XkbExplicitInterpretMask	(1<<4)
#define XkbKeyActionsMask	(1<<4)
#define XkbTypesNameMask	(1<<4)
#define XkbCompatNameMask	(1<<5)
#define XkbExplicitAutoRepeatMask	(1<<5)
#define XkbKeyBehaviorsMask	(1<<5)
#define XkbExplicitBehaviorMask	(1<<6)
#define XkbKeyTypeNamesMask	(1<<6)
#define XkbVirtualModsMask	(1<<6)
#define XkbAnyGroupMask	(1<<7)
#define XkbExplicitVModMapMask	(1<<7)
#define XkbKTLevelNamesMask	(1<<7)
#define XkbVirtualModMapMask	(1<<7)
#define XkbIndicatorNamesMask	(1<<8)
#define XkbKeyNamesMask	(1<<9)
#define XkbAXN_SKPressMask	(1L << 0)
#define XkbAX_SKPressFBMask	(1L << 0)
#define XkbAllActionMessagesMask	(1L << 0)
#define XkbAllBellEventsMask	(1L << 0)
#define XkbClientMapMask	(1L << 0)
#define XkbGBN_TypesMask	(1L << 0)
#define XkbIM_UseBase	(1L << 0)
#define XkbLC_Hidden	(1L << 0)
#define XkbModifierStateMask	(1L << 0)
#define XkbNKN_KeycodesMask	(1L << 0)
#define XkbNewKeyboardNotifyMask	(1L << 0)
#define XkbPCF_DetectableAutoRepeatMask	(1L << 0)
#define XkbRepeatKeysMask	(1L << 0)
#define XkbSA_ClearLocks	(1L << 0)
#define XkbSA_LockNoLock	(1L << 0)
#define XkbSA_MessageOnPress	(1L << 0)
#define XkbSA_NoAcceleration	(1L << 0)
#define XkbSA_SwitchApplication	(1L << 0)
#define XkbXI_KeyboardsMask	(1L << 0)
#define XkbAXN_SKAcceptMask	(1L << 1)
#define XkbAX_SKAcceptFBMask	(1L << 1)
#define XkbGBN_CompatMapMask	(1L << 1)
#define XkbIM_UseLatched	(1L << 1)
#define XkbLC_Default	(1L << 1)
#define XkbMapNotifyMask	(1L << 1)
#define XkbModifierBaseMask	(1L << 1)
#define XkbNKN_GeometryMask	(1L << 1)
#define XkbPCF_GrabsUseXKBStateMask	(1L << 1)
#define XkbSA_LatchToLock	(1L << 1)
#define XkbSA_LockNoUnlock	(1L << 1)
#define XkbSA_MessageOnRelease	(1L << 1)
#define XkbSA_MoveAbsoluteX	(1L << 1)
#define XkbServerMapMask	(1L << 1)
#define XkbSlowKeysMask	(1L << 1)
#define XkbXI_ButtonActionsMask	(1L << 1)
#define XkbAX_BKRejectFBMask	(1L << 10)
#define XkbAccessXNotifyMask	(1L << 10)
#define XkbCompatGrabModsMask	(1L << 10)
#define XkbLC_KeypadKeys	(1L << 10)
#define XkbOverlay1Mask	(1L << 10)
#define XkbAX_DumbBellFBMask	(1L << 11)
#define XkbExtensionDeviceNotifyMask	(1L << 11)
#define XkbLC_FunctionKeys	(1L << 11)
#define XkbLookupModsMask	(1L << 11)
#define XkbOverlay2Mask	(1L << 11)
#define XkbCompatLookupModsMask	(1L << 12)
#define XkbIgnoreGroupLockMask	(1L << 12)
#define XkbLC_AlternateGroup	(1L << 12)
#define XkbPointerButtonMask	(1L << 13)
#define XkbXI_UnsupportedFeatureMask	(1L << 15)
#define XkbAXN_SKRejectMask	(1L << 2)
#define XkbAX_FeatureFBMask	(1L << 2)
#define XkbBounceKeysMask	(1L << 2)
#define XkbCompatMapMask	(1L << 2)
#define XkbGBN_ClientSymbolsMask	(1L << 2)
#define XkbIM_UseLocked	(1L << 2)
#define XkbLC_Partial	(1L << 2)
#define XkbModifierLatchMask	(1L << 2)
#define XkbNKN_DeviceIDMask	(1L << 2)
#define XkbPCF_AutoResetControlsMask	(1L << 2)
#define XkbSA_DfltBtnAbsolute	(1L << 2)
#define XkbSA_GroupAbsolute	(1L << 2)
#define XkbSA_MessageGenKeyEvent	(1L << 2)
#define XkbSA_MoveAbsoluteY	(1L << 2)
#define XkbSA_SwitchAbsolute	(1L << 2)
#define XkbSA_UseModMapMods	(1L << 2)
#define XkbStateNotifyMask	(1L << 2)
#define XkbXI_IndicatorNamesMask	(1L << 2)
#define XkbGroupsWrapMask	(1L << 27)
#define XkbInternalModsMask	(1L << 28)
#define XkbIgnoreLockModsMask	(1L << 29)
#define XkbAXN_SKReleaseMask	(1L << 3)
#define XkbAX_SlowWarnFBMask	(1L << 3)
#define XkbControlsNotifyMask	(1L << 3)
#define XkbGBN_ServerSymbolsMask	(1L << 3)
#define XkbIM_UseEffective	(1L << 3)
#define XkbIndicatorMapMask	(1L << 3)
#define XkbModifierLockMask	(1L << 3)
#define XkbPCF_LookupStateWhenGrabbed	(1L << 3)
#define XkbSA_ISONoAffectCtrls	(1L << 3)
#define XkbStickyKeysMask	(1L << 3)
#define XkbXI_IndicatorMapsMask	(1L << 3)
#define XkbPerKeyRepeatMask	(1L << 30)
#define XkbControlsEnabledMask	(1L << 31)
#define XkbAXN_BKAcceptMask	(1L << 4)
#define XkbAX_IndicatorFBMask	(1L << 4)
#define XkbGBN_IndicatorMapMask	(1L << 4)
#define XkbGroupStateMask	(1L << 4)
#define XkbIM_UseCompat	(1L << 4)
#define XkbIndicatorStateNotifyMask	(1L << 4)
#define XkbMouseKeysMask	(1L << 4)
#define XkbNamesMask	(1L << 4)
#define XkbPCF_SendEventUsesXKBState	(1L << 4)
#define XkbSA_ISONoAffectPtr	(1L << 4)
#define XkbXI_IndicatorStateMask	(1L << 4)
#define XkbAXN_BKRejectMask	(1L << 5)
#define XkbAX_StickyKeysFBMask	(1L << 5)
#define XkbGBN_KeyNamesMask	(1L << 5)
#define XkbGeometryMask	(1L << 5)
#define XkbGroupBaseMask	(1L << 5)
#define XkbIM_LEDDrivesKB	(1L << 5)
#define XkbIndicatorMapNotifyMask	(1L << 5)
#define XkbMouseKeysAccelMask	(1L << 5)
#define XkbSA_ISONoAffectGroup	(1L << 5)
#define XkbAXN_AXKWarningMask	(1L << 6)
#define XkbAX_TwoKeysMask	(1L << 6)
#define XkbAccessXKeysMask	(1L << 6)
#define XkbControlsMask	(1L << 6)
#define XkbGBN_GeometryMask	(1L << 6)
#define XkbGroupLatchMask	(1L << 6)
#define XkbIM_NoAutomatic	(1L << 6)
#define XkbNamesNotifyMask	(1L << 6)
#define XkbSA_ISONoAffectMods	(1L << 6)
#define XkbAX_LatchToLockMask	(1L << 7)
#define XkbAccessXTimeoutMask	(1L << 7)
#define XkbCompatMapNotifyMask	(1L << 7)
#define XkbGBN_OtherNamesMask	(1L << 7)
#define XkbGroupLockMask	(1L << 7)
#define XkbIM_NoExplicit	(1L << 7)
#define XkbSA_ISODfltIsGroup	(1L << 7)
#define XkbAX_SKReleaseFBMask	(1L << 8)
#define XkbAccessXFeedbackMask	(1L << 8)
#define XkbBellNotifyMask	(1L << 8)
#define XkbCompatStateMask	(1L << 8)
#define XkbLC_AlphanumericKeys	(1L << 8)
#define XkbAX_SKRejectFBMask	(1L << 9)
#define XkbActionMessageMask	(1L << 9)
#define XkbAudibleBellMask	(1L << 9)
#define XkbGrabModsMask	(1L << 9)
#define XkbLC_ModifierKeys	(1L << 9)
#define XkbSI_AnyOf	(2)
#define XkbSI_AllOf	(3)
#define XkbSI_Exactly	(4)
#define XkbAllMapComponentsMask	(XkbAllClientInfoMask|XkbAllServerInfoMask)
#define XkbNumberEvents	(XkbEventCode+1)
#define XkbAllServerInfoMask	(XkbExplicitComponentsMask|XkbKeyActionsMask|XkbKeyBehaviorsMask|XkbVirtualModsMask|XkbVirtualModMapMask)
#define XkbGBN_SymbolsMask	(XkbGBN_ClientSymbolsMask|XkbGBN_ServerSymbolsMask)
#define XkbIM_UseAnyMods	(XkbIM_UseAnyGroup|XkbIM_UseCompat)
#define XkbIM_UseAnyGroup	(XkbIM_UseBase|XkbIM_UseLatched|XkbIM_UseLocked |XkbIM_UseEffective)
#define XkbAllClientInfoMask	(XkbKeyTypesMask|XkbKeySymsMask|XkbModifierMapMask)
#define XkbNumRequiredTypes	(XkbLastRequiredType+1)
#define XkbMaxKeyCount	(XkbMaxLegalKeyCode-XkbMinLegalKeyCode+1)
#define XkbMaxSymsPerKey	(XkbMaxShiftLevel*XkbNumKbdGroups)
#define XkbMaxKbdGroup	(XkbNumKbdGroups-1)
#define XkbSA_NumActions	(XkbSA_LastAction+1)
#define XkbAccessXOptionsMask	(XkbStickyKeysMask|XkbAccessXFeedbackMask)
#define X_kbUseExtension	0
#define XkbAXN_SKPress	0
#define XkbEventCode	0
#define XkbGroup1Index	0
#define XkbIM_UseNone	0
#define XkbKeyboard	0
#define XkbMinorVersion	0
#define XkbNewKeyboardNotify	0
#define XkbNoModifierMask	0
#define XkbOneLevelIndex	0
#define XkbSA_UseDfltButton	0
#define XkbKB_Default	0x00
#define XkbSA_NoAction	0x00
#define XkbKB_Lock	0x01
#define XkbSA_SetMods	0x01
#define XkbUseCoreKbd	0x0100
#define XkbKB_RadioGroup	0x02
#define XkbSA_LatchMods	0x02
#define XkbUseCorePtr	0x0200
#define XkbKB_Overlay1	0x03
#define XkbSA_LockMods	0x03
#define XkbDfltXIClass	0x0300
#define XkbKB_Overlay2	0x04
#define XkbSA_SetGroup	0x04
#define XkbDfltXIId	0x0400
#define XkbSA_LatchGroup	0x05
#define XkbAllXIClasses	0x0500
#define XkbSA_LockGroup	0x06
#define XkbAllXIIds	0x0600
#define XkbSA_MovePtr	0x07
#define XkbSA_PtrBtn	0x08
#define XkbSA_LockPtrBtn	0x09
#define XkbSA_SetPtrDflt	0x0a
#define XkbSA_ISOLock	0x0b
#define XkbSA_Terminate	0x0c
#define XkbSA_SwitchScreen	0x0d
#define XkbSA_SetControls	0x0e
#define XkbSA_LockControls	0x0f
#define XkbSA_ActionMessage	0x10
#define XkbSA_RedirectKey	0x11
#define XkbSA_DeviceBtn	0x12
#define XkbSA_LockDeviceBtn	0x13
#define XkbSA_DeviceValuator	0x14
#define XkbKB_OpMask	0x7f
#define XkbKB_Permanent	0x80
#define XkbKB_RGAllowNone	0x80
#define XkbSA_XFree86Private	0x86
#define XkbErr_BadId	0xfd
#define XkbErr_BadClass	0xfe
#define XkbAllModifiersMask	0xff
#define XkbErr_BadDevice	0xff
#define XkbNoIndicator	0xff
#define XkbNoModifier	0xff
#define XkbNoShape	0xff
#define XkbNoShiftLevel	0xff
#define XkbXINone	0xff00
#define XkbAllVirtualModsMask	0xffff
#define X_kbSelectEvents	1
#define XkbAXN_SKAccept	1
#define XkbGroup2Index	1
#define XkbMajorVersion	1
#define XkbMapNotify	1
#define XkbNumberErrors	1
#define XkbSA_AffectDfltBtn	1
#define XkbTwoLevelIndex	1
#define X_kbGetCompatMap	10
#define XkbAccessXNotify	10
#define XkbGeomPtsPerMM	10
#define X_kbSetDebuggingFlags	101
#define X_kbSetCompatMap	11
#define XkbExtensionDeviceNotify	11
#define X_kbGetIndicatorState	12
#define XkbRGMaxMembers	12
#define X_kbGetIndicatorMap	13
#define X_kbSetIndicatorMap	14
#define X_kbGetNamedIndicator	15
#define X_kbSetNamedIndicator	16
#define XkbNumVirtualMods	16
#define X_kbGetNames	17
#define X_kbSetNames	18
#define X_kbGetGeometry	19
#define XkbAXN_SKReject	2
#define XkbAlphabeticIndex	2
#define XkbGroup3Index	2
#define XkbStateNotify	2
#define X_kbSetGeometry	20
#define X_kbPerClientFlags	21
#define X_kbListComponents	22
#define X_kbGetKbdByName	23
#define X_kbGetDeviceInfo	24
#define X_kbSetDeviceInfo	25
#define XkbAnyGroup	254
#define XkbAllGroups	255
#define XkbGeomMaxPriority	255
#define XkbMaxKeyTypes	255
#define XkbMaxLegalKeyCode	255
#define X_kbBell	3
#define XkbAXN_SKRelease	3
#define XkbControlsNotify	3
#define XkbGeomMaxLabelColors	3
#define XkbGroup4Index	3
#define XkbKeypadIndex	3
#define XkbGeomMaxColors	32
#define XkbMaxRadioGroups	32
#define XkbNumIndicators	32
#define X_kbGetState	4
#define XkbAXN_BKAccept	4
#define XkbIndicatorStateNotify	4
#define XkbKeyNameLength	4
#define XkbMaxMouseKeysBtn	4
#define XkbNumKbdGroups	4
#define X_kbLatchLockState	5
#define XkbAXN_BKReject	5
#define XkbIndicatorMapNotify	5
#define X_kbGetControls	6
#define XkbAXN_AXKWarning	6
#define XkbActionMessageLength	6
#define XkbNamesNotify	6
#define XkbMaxShiftLevel	63
#define X_kbSetControls	7
#define XkbCompatMapNotify	7
#define X_kbGetMap	8
#define XkbBellNotify	8
#define XkbMaxRedirectCount	8
#define XkbMinLegalKeyCode	8
#define XkbNumModifiers	8
#define X_kbSetMap	9
#define XkbActionMessage	9
#define XkbAllCompatMapEventsMask	XkbAllCompatMask
#define XkbAllControlEventsMask	XkbAllControlsMask
#define XkbAllIndicatorEventsMask	XkbAllIndicatorsMask
#define XkbAllMapEventsMask	XkbAllMapComponentsMask
#define XkbAllNameEventsMask	XkbAllNamesMask
#define XkbAllStateEventsMask	XkbAllStateComponentsMask
#define XkbLastRequiredType	XkbKeypadIndex
#define XkbSA_LastAction	XkbSA_DeviceValuator
#define XkbName	"XKEYBOARD"

6.2.20. X11/extensions/XKBgeom.h


#define _XKBGEOM_H_
#define XkbLogoDoodadColor(g,d)	(&(g)->colors[(d)->color_ndx])
#define XkbShapeDoodadColor(g,d)	(&(g)->colors[(d)->color_ndx])
#define XkbTextDoodadColor(g,d)	(&(g)->colors[(d)->color_ndx])
#define XkbIndicatorDoodadOffColor(g,d)	(&(g)->colors[(d)->off_color_ndx])
#define XkbIndicatorDoodadOnColor(g,d)	(&(g)->colors[(d)->on_color_ndx])
#define XkbKeyColor(g,k)	(&(g)->colors[(k)->color_ndx])
#define XkbIndicatorDoodadShape(g,d)	(&(g)->shapes[(d)->shape_ndx])
#define XkbLogoDoodadShape(g,d)	(&(g)->shapes[(d)->shape_ndx])
#define XkbShapeDoodadShape(g,d)	(&(g)->shapes[(d)->shape_ndx])
#define XkbKeyShape(g,k)	(&(g)->shapes[(k)->shape_ndx])
#define XkbBoundsHeight(b)	(((b)->y2)-((b)->y1))
#define XkbSetLogoDoodadColor(g,d,c)	((d)->color_ndx= (c)-&(g)->colors[0])
#define XkbSetShapeDoodadColor(g,d,c)	((d)->color_ndx= (c)-&(g)->colors[0])
#define XkbSetTextDoodadColor(g,d,c)	((d)->color_ndx= (c)-&(g)->colors[0])
#define XkbSetIndicatorDoodadOffColor(g,d,c)	((d)->off_color_ndx= (c)-&(g)->colors[0])
#define XkbSetIndicatorDoodadOnColor(g,d,c)	((d)->on_color_ndx= (c)-&(g)->colors[0])
#define XkbSetIndicatorDoodadShape(g,d,s)	((d)->shape_ndx= (s)-&(g)->shapes[0])
#define XkbSetLogoDoodadShape(g,d,s)	((d)->shape_ndx= (s)-&(g)->shapes[0])
#define XkbSetShapeDoodadShape(g,d,s)	((d)->shape_ndx= (s)-&(g)->shapes[0])
#define XkbGeomColorIndex(g,c)	((int)((c)-&(g)->colors[0]))
#define XkbOutlineIndex(s,o)	((int)((o)-&(s)->outlines[0]))
#define XkbSetKeyColor(g,k,c)	((k)->color_ndx= (c)-&(g)->colors[0])
#define XkbSetKeyShape(g,k,s)	((k)->shape_ndx= (s)-&(g)->shapes[0])
#define XkbGeomAllMask	(0x3f)
#define XkbGeomPropertiesMask	(1<<0)
#define XkbGeomColorsMask	(1<<1)
#define XkbGeomShapesMask	(1<<2)
#define XkbGeomSectionsMask	(1<<3)
#define XkbGeomDoodadsMask	(1<<4)
#define XkbGeomKeyAliasesMask	(1<<5)
#define XkbUnknownDoodad	0
#define XkbOutlineDoodad	1
#define XkbSolidDoodad	2
#define XkbTextDoodad	3
#define XkbIndicatorDoodad	4
#define XkbLogoDoodad	5

typedef struct _XkbProperty {
    char *name;
    char *value;
} XkbPropertyRec;
typedef struct _XkbProperty *XkbPropertyPtr;
typedef struct _XkbColor {
    unsigned int pixel;
    char *spec;
} XkbColorRec;
typedef struct _XkbColor *XkbColorPtr;
typedef struct _XkbPoint {
    short x;
    short y;
} XkbPointRec;
typedef struct _XkbPoint *XkbPointPtr;
typedef struct _XkbBounds {
    short x1;
    short y1;
    short x2;
    short y2;
} XkbBoundsRec;
typedef struct _XkbBounds *XkbBoundsPtr;
typedef struct _XkbOutline {
    unsigned short num_points;
    unsigned short sz_points;
    unsigned short corner_radius;
    XkbPointPtr points;
} XkbOutlineRec;
typedef struct _XkbOutline *XkbOutlinePtr;
typedef struct _XkbShape {
    Atom name;
    unsigned short num_outlines;
    unsigned short sz_outlines;
    XkbOutlinePtr outlines;
    XkbOutlinePtr approx;
    XkbOutlinePtr primary;
    XkbBoundsRec bounds;
} XkbShapeRec;
typedef struct _XkbShape *XkbShapePtr;
typedef struct _XkbShapeDoodad {
    Atom name;
    unsigned char type;
    unsigned char priority;
    short top;
    short left;
    short angle;
    unsigned short color_ndx;
    unsigned short shape_ndx;
} XkbShapeDoodadRec;
typedef struct _XkbShapeDoodad *XkbShapeDoodadPtr;
typedef struct _XkbTextDoodad {
    Atom name;
    unsigned char type;
    unsigned char priority;
    short top;
    short left;
    short angle;
    short width;
    short height;
    unsigned short color_ndx;
    char *text;
    char *font;
} XkbTextDoodadRec;
typedef struct _XkbTextDoodad *XkbTextDoodadPtr;
typedef struct _XkbIndicatorDoodad {
    Atom name;
    unsigned char type;
    unsigned char priority;
    short top;
    short left;
    short angle;
    unsigned short shape_ndx;
    unsigned short on_color_ndx;
    unsigned short off_color_ndx;
} XkbIndicatorDoodadRec;
typedef struct _XkbIndicatorDoodad *XkbIndicatorDoodadPtr;
typedef struct _XkbLogoDoodad {
    Atom name;
    unsigned char type;
    unsigned char priority;
    short top;
    short left;
    short angle;
    unsigned short color_ndx;
    unsigned short shape_ndx;
    char *logo_name;
} XkbLogoDoodadRec;
typedef struct _XkbLogoDoodad *XkbLogoDoodadPtr;
typedef struct _XkbAnyDoodad {
    Atom name;
    unsigned char type;
    unsigned char priority;
    short top;
    short left;
    short angle;
} XkbAnyDoodadRec;
typedef struct _XkbAnyDoodad *XkbAnyDoodadPtr;
union _XkbDoodad {
    XkbAnyDoodadRec any;
    XkbShapeDoodadRec shape;
    XkbTextDoodadRec text;
    XkbIndicatorDoodadRec indicator;
    XkbLogoDoodadRec logo;
};
typedef union _XkbDoodad {
    XkbAnyDoodadRec any;
    XkbShapeDoodadRec shape;
    XkbTextDoodadRec text;
    XkbIndicatorDoodadRec indicator;
    XkbLogoDoodadRec logo;
} XkbDoodadRec;
typedef union _XkbDoodad *XkbDoodadPtr;
typedef struct _XkbKey {
    XkbKeyNameRec name;
    short gap;
    unsigned char shape_ndx;
    unsigned char color_ndx;
} XkbKeyRec;
typedef struct _XkbKey *XkbKeyPtr;
typedef struct _XkbRow {
    short top;
    short left;
    unsigned short num_keys;
    unsigned short sz_keys;
    int vertical;
    XkbKeyPtr keys;
    XkbBoundsRec bounds;
} XkbRowRec;
typedef struct _XkbRow *XkbRowPtr;
typedef struct _XkbSection {
    Atom name;
    unsigned char priority;
    short top;
    short left;
    unsigned short width;
    unsigned short height;
    short angle;
    unsigned short num_rows;
    unsigned short num_doodads;
    unsigned short num_overlays;
    unsigned short sz_rows;
    unsigned short sz_doodads;
    unsigned short sz_overlays;
    XkbRowPtr rows;
    XkbDoodadPtr doodads;
    XkbBoundsRec bounds;
    struct _XkbOverlay *overlays;
} XkbSectionRec;
typedef struct _XkbSection *XkbSectionPtr;
typedef struct _XkbOverlayKey {
    XkbKeyNameRec over;
    XkbKeyNameRec under;
} XkbOverlayKeyRec;
typedef struct _XkbOverlayKey *XkbOverlayKeyPtr;
typedef struct _XkbOverlayRow {
    unsigned short row_under;
    unsigned short num_keys;
    unsigned short sz_keys;
    XkbOverlayKeyPtr keys;
} XkbOverlayRowRec;
typedef struct _XkbOverlayRow *XkbOverlayRowPtr;
typedef struct _XkbOverlay {
    Atom name;
    XkbSectionPtr section_under;
    unsigned short num_rows;
    unsigned short sz_rows;
    XkbOverlayRowPtr rows;
    XkbBoundsPtr bounds;
} XkbOverlayRec;
typedef struct _XkbOverlay *XkbOverlayPtr;
typedef struct _XkbGeometry {
    Atom name;
    unsigned short width_mm;
    unsigned short height_mm;
    char *label_font;
    XkbColorPtr label_color;
    XkbColorPtr base_color;
    unsigned short sz_properties;
    unsigned short sz_colors;
    unsigned short sz_shapes;
    unsigned short sz_sections;
    unsigned short sz_doodads;
    unsigned short sz_key_aliases;
    unsigned short num_properties;
    unsigned short num_colors;
    unsigned short num_shapes;
    unsigned short num_sections;
    unsigned short num_doodads;
    unsigned short num_key_aliases;
    XkbPropertyPtr properties;
    XkbColorPtr colors;
    XkbShapePtr shapes;
    XkbSectionPtr sections;
    XkbDoodadPtr doodads;
    XkbKeyAliasPtr key_aliases;
} XkbGeometryRec;
typedef struct _XkbGeometrySizes {
    unsigned int which;
    unsigned short num_properties;
    unsigned short num_colors;
    unsigned short num_shapes;
    unsigned short num_sections;
    unsigned short num_doodads;
    unsigned short num_key_aliases;
} XkbGeometrySizesRec;
typedef struct _XkbGeometrySizes *XkbGeometrySizesPtr;
extern int XkbAllocGeomColors(XkbGeometryPtr, int);
extern int XkbAllocGeomDoodads(XkbGeometryPtr, int);
extern int XkbAllocGeomKeyAliases(XkbGeometryPtr, int);
extern int XkbAllocGeomKeys(XkbRowPtr, int);
extern int XkbAllocGeomOutlines(XkbShapePtr, int);
extern int XkbAllocGeomOverlayKeys(XkbOverlayRowPtr, int);
extern int XkbAllocGeomOverlayRows(XkbOverlayPtr, int);
extern int XkbAllocGeomOverlays(XkbSectionPtr, int);
extern int XkbAllocGeomPoints(XkbOutlinePtr, int);
extern int XkbAllocGeomProps(XkbGeometryPtr, int);
extern int XkbAllocGeomRows(XkbSectionPtr, int);
extern int XkbAllocGeomSectionDoodads(XkbSectionPtr, int);
extern int XkbAllocGeomSections(XkbGeometryPtr, int);
extern int XkbAllocGeomShapes(XkbGeometryPtr, int);
extern int XkbAllocGeometry(XkbDescPtr, XkbGeometrySizesPtr);
extern int XkbComputeRowBounds(XkbGeometryPtr, XkbSectionPtr, XkbRowPtr);
extern int XkbComputeSectionBounds(XkbGeometryPtr, XkbSectionPtr);
extern int XkbComputeShapeBounds(XkbShapePtr);
extern int XkbComputeShapeTop(XkbShapePtr, XkbBoundsPtr);
extern char *XkbFindOverlayForKey(XkbGeometryPtr, XkbSectionPtr, char *);
extern void XkbFreeGeomColors(XkbGeometryPtr, int, int, int);
extern void XkbFreeGeomDoodads(XkbDoodadPtr, int, int);
extern void XkbFreeGeomKeyAliases(XkbGeometryPtr, int, int, int);
extern void XkbFreeGeomKeys(XkbRowPtr, int, int, int);
extern void XkbFreeGeomOutlines(XkbShapePtr, int, int, int);
extern void XkbFreeGeomOverlayKeys(XkbOverlayRowPtr, int, int, int);
extern void XkbFreeGeomOverlayRows(XkbOverlayPtr, int, int, int);
extern void XkbFreeGeomOverlays(XkbSectionPtr, int, int, int);
extern void XkbFreeGeomPoints(XkbOutlinePtr, int, int, int);
extern void XkbFreeGeomProperties(XkbGeometryPtr, int, int, int);
extern void XkbFreeGeomRows(XkbSectionPtr, int, int, int);
extern void XkbFreeGeomSections(XkbGeometryPtr, int, int, int);
extern void XkbFreeGeomShapes(XkbGeometryPtr, int, int, int);
extern void XkbFreeGeometry(XkbGeometryPtr, unsigned int, int);
extern int XkbGetGeometry(Display *, XkbDescPtr);
extern int XkbGetNamedGeometry(Display *, XkbDescPtr, Atom);
extern int XkbSetGeometry(Display *, unsigned int, XkbGeometryPtr);

6.2.21. X11/extensions/XKBproto.h


#define XkbPaddedSize(n)	((((unsigned int)(n)+3) >> 2) << 2)
#define XkbSetMapAllFlags	(0x3)
#define XkbSetMapResizeTypes	(1L<<0)
#define XkbSetMapRecomputeActions	(1L<<1)
#define sz_xkbSetControlsReq	100
#define sz_xkbGetCompatMapReq	12
#define sz_xkbGetGeometryReq	12
#define sz_xkbGetIndicatorMapReq	12
#define sz_xkbGetKbdByNameReq	12
#define sz_xkbGetNamesReq	12
#define sz_xkbIndicatorMapWireDesc	12
#define sz_xkbSetDeviceInfoReq	12
#define sz_xkbSetIndicatorMapReq	12
#define sz_xkbGetDeviceInfoReq	16
#define sz_xkbGetNamedIndicatorReq	16
#define sz_xkbLatchLockStateReq	16
#define sz_xkbSelectEventsReq	16
#define sz_xkbSetCompatMapReq	16
#define sz_xkbSymInterpretWireDesc	16
#define sz_xkbAnyDoodadWireDesc	20
#define sz_xkbDeviceLedsWireDesc	20
#define sz_xkbDoodadWireDesc	20
#define sz_xkbIndicatorDoodadWireDesc	20
#define sz_xkbLogoDoodadWireDesc	20
#define sz_xkbSectionWireDesc	20
#define sz_xkbShapeDoodadWireDesc	20
#define sz_xkbTextDoodadWireDesc	20
#define sz_xkbSetDebuggingFlagsReq	24
#define sz_xkbBellReq	28
#define sz_xkbGetMapReq	28
#define sz_xkbPerClientFlagsReq	28
#define sz_xkbSetGeometryReq	28
#define sz_xkbSetNamesReq	28
#define sz_xkbAccessXNotify	32
#define sz_xkbActionMessage	32
#define sz_xkbAnyEvent	32
#define sz_xkbBellNotify	32
#define sz_xkbCompatMapNotify	32
#define sz_xkbControlsNotify	32
#define sz_xkbEvent	32
#define sz_xkbExtensionDeviceNotify	32
#define sz_xkbGetCompatMapReply	32
#define sz_xkbGetDeviceInfoReply	32
#define sz_xkbGetGeometryReply	32
#define sz_xkbGetIndicatorMapReply	32
#define sz_xkbGetIndicatorStateReply	32
#define sz_xkbGetKbdByNameReply	32
#define sz_xkbGetNamedIndicatorReply	32
#define sz_xkbGetNamesReply	32
#define sz_xkbGetStateReply	32
#define sz_xkbIndicatorNotify	32
#define sz_xkbListComponentsReply	32
#define sz_xkbMapNotify	32
#define sz_xkbNamesNotify	32
#define sz_xkbNewKeyboardNotify	32
#define sz_xkbPerClientFlagsReply	32
#define sz_xkbSetDebuggingFlagsReply	32
#define sz_xkbSetNamedIndicatorReq	32
#define sz_xkbStateNotify	32
#define sz_xkbUseExtensionReply	32
#define sz_xkbSetMapReq	36
#define sz_xkbBehaviorWireDesc	4
#define sz_xkbKTSetMapEntryWireDesc	4
#define sz_xkbModsWireDesc	4
#define sz_xkbOutlineWireDesc	4
#define sz_xkbOverlayRowWireDesc	4
#define sz_xkbPointWireDesc	4
#define sz_xkbVModMapWireDesc	4
#define sz_xkbGetMapReply	40
#define sz_xkbActionWireDesc	8
#define sz_xkbGetControlsReq	8
#define sz_xkbGetIndicatorStateReq	8
#define sz_xkbGetStateReq	8
#define sz_xkbKTMapEntryWireDesc	8
#define sz_xkbKeyTypeWireDesc	8
#define sz_xkbKeyWireDesc	8
#define sz_xkbListComponentsReq	8
#define sz_xkbOverlayKeyWireDesc	8
#define sz_xkbOverlayWireDesc	8
#define sz_xkbRowWireDesc	8
#define sz_xkbShapeWireDesc	8
#define sz_xkbSymMapWireDesc	8
#define sz_xkbUseExtensionReq	8
#define sz_xkbGetControlsReply	92

typedef struct _xkbUseExtension {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 wantedMajor;
    CARD16 wantedMinor;
} xkbUseExtensionReq;
typedef struct _xkbUseExtensionReply {
    BYTE type;
    BOOL supported;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 serverMajor;
    CARD16 serverMinor;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xkbUseExtensionReply;
typedef struct _xkbSelectEvents {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 affectWhich;
    CARD16 clear;
    CARD16 selectAll;
    CARD16 affectMap;
    CARD16 map;
} xkbSelectEventsReq;
typedef struct _xkbBell {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 bellClass;
    CARD16 bellID;
    INT8 percent;
    BOOL forceSound;
    BOOL eventOnly;
    CARD8 pad1;
    INT16 pitch;
    INT16 duration;
    CARD16 pad2;
    CARD32 name;
    CARD32 window;
} xkbBellReq;
typedef struct _xkbGetState {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad;
} xkbGetStateReq;
typedef struct _xkbGetStateReply {
    BYTE type;
    BYTE deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 mods;
    CARD8 baseMods;
    CARD8 latchedMods;
    CARD8 lockedMods;
    CARD8 group;
    CARD8 lockedGroup;
    INT16 baseGroup;
    INT16 latchedGroup;
    CARD8 compatState;
    CARD8 grabMods;
    CARD8 compatGrabMods;
    CARD8 lookupMods;
    CARD8 compatLookupMods;
    CARD8 pad1;
    CARD16 ptrBtnState;
    CARD16 pad2;
    CARD32 pad3;
} xkbGetStateReply;
typedef struct _xkbLatchLockState {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD8 affectModLocks;
    CARD8 modLocks;
    BOOL lockGroup;
    CARD8 groupLock;
    CARD8 affectModLatches;
    CARD8 modLatches;
    CARD8 pad;
    BOOL latchGroup;
    INT16 groupLatch;
} xkbLatchLockStateReq;
typedef struct _xkbGetControls {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad;
} xkbGetControlsReq;
typedef struct _xkbGetControlsReply {
    BYTE type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 mkDfltBtn;
    CARD8 numGroups;
    CARD8 groupsWrap;
    CARD8 internalMods;
    CARD8 ignoreLockMods;
    CARD8 internalRealMods;
    CARD8 ignoreLockRealMods;
    CARD8 pad1;
    CARD16 internalVMods;
    CARD16 ignoreLockVMods;
    CARD16 repeatDelay;
    CARD16 repeatInterval;
    CARD16 slowKeysDelay;
    CARD16 debounceDelay;
    CARD16 mkDelay;
    CARD16 mkInterval;
    CARD16 mkTimeToMax;
    CARD16 mkMaxSpeed;
    INT16 mkCurve;
    CARD16 axOptions;
    CARD16 axTimeout;
    CARD16 axtOptsMask;
    CARD16 axtOptsValues;
    CARD16 pad2;
    CARD32 axtCtrlsMask;
    CARD32 axtCtrlsValues;
    CARD32 enabledCtrls;
    BYTE perKeyRepeat[32];
} xkbGetControlsReply;
typedef struct _xkbSetControls {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD8 affectInternalMods;
    CARD8 internalMods;
    CARD8 affectIgnoreLockMods;
    CARD8 ignoreLockMods;
    CARD16 affectInternalVMods;
    CARD16 internalVMods;
    CARD16 affectIgnoreLockVMods;
    CARD16 ignoreLockVMods;
    CARD8 mkDfltBtn;
    CARD8 groupsWrap;
    CARD16 axOptions;
    CARD16 pad1;
    CARD32 affectEnabledCtrls;
    CARD32 enabledCtrls;
    CARD32 changeCtrls;
    CARD16 repeatDelay;
    CARD16 repeatInterval;
    CARD16 slowKeysDelay;
    CARD16 debounceDelay;
    CARD16 mkDelay;
    CARD16 mkInterval;
    CARD16 mkTimeToMax;
    CARD16 mkMaxSpeed;
    INT16 mkCurve;
    CARD16 axTimeout;
    CARD32 axtCtrlsMask;
    CARD32 axtCtrlsValues;
    CARD16 axtOptsMask;
    CARD16 axtOptsValues;
    BYTE perKeyRepeat[32];
} xkbSetControlsReq;
typedef struct _xkbKTMapEntryWireDesc {
    BOOL active;
    CARD8 mask;
    CARD8 level;
    CARD8 realMods;
    CARD16 virtualMods;
    CARD16 pad;
} xkbKTMapEntryWireDesc;
typedef struct _xkbKTSetMapEntryWireDesc {
    CARD8 level;
    CARD8 realMods;
    CARD16 virtualMods;
} xkbKTSetMapEntryWireDesc;
typedef struct _xkbModsWireDesc {
    CARD8 mask;
    CARD8 realMods;
    CARD16 virtualMods;
} xkbModsWireDesc;
typedef struct _xkbKeyTypeWireDesc {
    CARD8 mask;
    CARD8 realMods;
    CARD16 virtualMods;
    CARD8 numLevels;
    CARD8 nMapEntries;
    BOOL preserve;
    CARD8 pad;
} xkbKeyTypeWireDesc;
typedef struct _xkbSymMapWireDesc {
    CARD8 ktIndex[4];
    CARD8 groupInfo;
    CARD8 width;
    CARD16 nSyms;
} xkbSymMapWireDesc;
typedef struct _xkbVModMapWireDesc {
    CARD8 key;
    CARD8 pad;
    CARD16 vmods;
} xkbVModMapWireDesc;
typedef struct _xkbBehaviorWireDesc {
    CARD8 key;
    CARD8 type;
    CARD8 data;
    CARD8 pad;
} xkbBehaviorWireDesc;
typedef struct _xkbActionWireDesc {
    CARD8 type;
    CARD8 data[7];
} xkbActionWireDesc;
typedef struct _xkbGetMap {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 full;
    CARD16 partial;
    CARD8 firstType;
    CARD8 nTypes;
    CARD8 firstKeySym;
    CARD8 nKeySyms;
    CARD8 firstKeyAct;
    CARD8 nKeyActs;
    CARD8 firstKeyBehavior;
    CARD8 nKeyBehaviors;
    CARD16 virtualMods;
    CARD8 firstKeyExplicit;
    CARD8 nKeyExplicit;
    CARD8 firstModMapKey;
    CARD8 nModMapKeys;
    CARD8 firstVModMapKey;
    CARD8 nVModMapKeys;
    CARD16 pad1;
} xkbGetMapReq;
typedef struct _xkbGetMapReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 pad1;
    CARD8 minKeyCode;
    CARD8 maxKeyCode;
    CARD16 present;
    CARD8 firstType;
    CARD8 nTypes;
    CARD8 totalTypes;
    CARD8 firstKeySym;
    CARD16 totalSyms;
    CARD8 nKeySyms;
    CARD8 firstKeyAct;
    CARD16 totalActs;
    CARD8 nKeyActs;
    CARD8 firstKeyBehavior;
    CARD8 nKeyBehaviors;
    CARD8 totalKeyBehaviors;
    CARD8 firstKeyExplicit;
    CARD8 nKeyExplicit;
    CARD8 totalKeyExplicit;
    CARD8 firstModMapKey;
    CARD8 nModMapKeys;
    CARD8 totalModMapKeys;
    CARD8 firstVModMapKey;
    CARD8 nVModMapKeys;
    CARD8 totalVModMapKeys;
    CARD8 pad2;
    CARD16 virtualMods;
} xkbGetMapReply;
typedef struct _xkbSetMap {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 present;
    CARD16 flags;
    CARD8 minKeyCode;
    CARD8 maxKeyCode;
    CARD8 firstType;
    CARD8 nTypes;
    CARD8 firstKeySym;
    CARD8 nKeySyms;
    CARD16 totalSyms;
    CARD8 firstKeyAct;
    CARD8 nKeyActs;
    CARD16 totalActs;
    CARD8 firstKeyBehavior;
    CARD8 nKeyBehaviors;
    CARD8 totalKeyBehaviors;
    CARD8 firstKeyExplicit;
    CARD8 nKeyExplicit;
    CARD8 totalKeyExplicit;
    CARD8 firstModMapKey;
    CARD8 nModMapKeys;
    CARD8 totalModMapKeys;
    CARD8 firstVModMapKey;
    CARD8 nVModMapKeys;
    CARD8 totalVModMapKeys;
    CARD16 virtualMods;
} xkbSetMapReq;
typedef struct _xkbSymInterpretWireDesc {
    CARD32 sym;
    CARD8 mods;
    CARD8 match;
    CARD8 virtualMod;
    CARD8 flags;
    xkbActionWireDesc act;
} xkbSymInterpretWireDesc;
typedef struct _xkbGetCompatMap {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD8 groups;
    BOOL getAllSI;
    CARD16 firstSI;
    CARD16 nSI;
} xkbGetCompatMapReq;
typedef struct _xkbGetCompatMapReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 groups;
    CARD8 pad1;
    CARD16 firstSI;
    CARD16 nSI;
    CARD16 nTotalSI;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xkbGetCompatMapReply;
typedef struct _xkbSetCompatMap {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD8 pad1;
    BOOL recomputeActions;
    BOOL truncateSI;
    CARD8 groups;
    CARD16 firstSI;
    CARD16 nSI;
    CARD16 pad2;
} xkbSetCompatMapReq;
typedef struct _xkbGetIndicatorState {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad1;
} xkbGetIndicatorStateReq;
typedef struct _xkbGetIndicatorStateReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 state;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xkbGetIndicatorStateReply;
typedef struct _xkbGetIndicatorMap {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad;
    CARD32 which;
} xkbGetIndicatorMapReq;
typedef struct _xkbGetIndicatorMapReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 which;
    CARD32 realIndicators;
    CARD8 nIndicators;
    CARD8 pad1;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xkbGetIndicatorMapReply;
typedef struct _xkbIndicatorMapWireDesc {
    CARD8 flags;
    CARD8 whichGroups;
    CARD8 groups;
    CARD8 whichMods;
    CARD8 mods;
    CARD8 realMods;
    CARD16 virtualMods;
    CARD32 ctrls;
} xkbIndicatorMapWireDesc;
typedef struct _xkbSetIndicatorMap {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad1;
    CARD32 which;
} xkbSetIndicatorMapReq;
typedef struct _xkbGetNamedIndicator {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 ledClass;
    CARD16 ledID;
    CARD16 pad1;
    CARD32 indicator;
} xkbGetNamedIndicatorReq;
typedef struct _xkbGetNamedIndicatorReply {
    BYTE type;
    BYTE deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 indicator;
    BOOL found;
    BOOL on;
    BOOL realIndicator;
    CARD8 ndx;
    CARD8 flags;
    CARD8 whichGroups;
    CARD8 groups;
    CARD8 whichMods;
    CARD8 mods;
    CARD8 realMods;
    CARD16 virtualMods;
    CARD32 ctrls;
    BOOL supported;
    CARD8 pad1;
    CARD16 pad2;
} xkbGetNamedIndicatorReply;
typedef struct _xkbSetNamedIndicator {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 ledClass;
    CARD16 ledID;
    CARD16 pad1;
    CARD32 indicator;
    BOOL setState;
    BOOL on;
    BOOL setMap;
    BOOL createMap;
    CARD8 pad2;
    CARD8 flags;
    CARD8 whichGroups;
    CARD8 groups;
    CARD8 whichMods;
    CARD8 realMods;
    CARD16 virtualMods;
    CARD32 ctrls;
} xkbSetNamedIndicatorReq;
typedef struct _xkbGetNames {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad;
    CARD32 which;
} xkbGetNamesReq;
typedef struct _xkbGetNamesReply {
    BYTE type;
    BYTE deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 which;
    CARD8 minKeyCode;
    CARD8 maxKeyCode;
    CARD8 nTypes;
    CARD8 groupNames;
    CARD16 virtualMods;
    CARD8 firstKey;
    CARD8 nKeys;
    CARD32 indicators;
    CARD8 nRadioGroups;
    CARD8 nKeyAliases;
    CARD16 nKTLevels;
    CARD32 pad3;
} xkbGetNamesReply;
typedef struct _xkbSetNames {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 virtualMods;
    CARD32 which;
    CARD8 firstType;
    CARD8 nTypes;
    CARD8 firstKTLevel;
    CARD8 nKTLevels;
    CARD32 indicators;
    CARD8 groupNames;
    CARD8 nRadioGroups;
    CARD8 firstKey;
    CARD8 nKeys;
    CARD8 nKeyAliases;
    CARD8 pad1;
    CARD16 totalKTLevelNames;
} xkbSetNamesReq;
typedef struct _xkbPointWireDesc {
    INT16 x;
    INT16 y;
} xkbPointWireDesc;
typedef struct _xkbOutlineWireDesc {
    CARD8 nPoints;
    CARD8 cornerRadius;
    CARD16 pad;
} xkbOutlineWireDesc;
typedef struct _xkbShapeWireDesc {
    CARD32 name;
    CARD8 nOutlines;
    CARD8 primaryNdx;
    CARD8 approxNdx;
    CARD8 pad;
} xkbShapeWireDesc;
typedef struct _xkbSectionWireDesc {
    CARD32 name;
    INT16 top;
    INT16 left;
    CARD16 width;
    CARD16 height;
    INT16 angle;
    CARD8 priority;
    CARD8 nRows;
    CARD8 nDoodads;
    CARD8 nOverlays;
    CARD16 pad;
} xkbSectionWireDesc;
typedef struct _xkbRowWireDesc {
    INT16 top;
    INT16 left;
    CARD8 nKeys;
    BOOL vertical;
    CARD16 pad;
} xkbRowWireDesc;
typedef struct _xkbKeyWireDesc {
    CARD8 name[4];
    INT16 gap;
    CARD8 shapeNdx;
    CARD8 colorNdx;
} xkbKeyWireDesc;
typedef struct _xkbOverlayWireDesc {
    CARD32 name;
    CARD8 nRows;
    CARD8 pad1;
    CARD16 pad2;
} xkbOverlayWireDesc;
typedef struct _xkbOverlayRowWireDesc {
    CARD8 rowUnder;
    CARD8 nKeys;
    CARD16 pad1;
} xkbOverlayRowWireDesc;
typedef struct _xkbOverlayKeyWireDesc {
    CARD8 over[4];
    CARD8 under[4];
} xkbOverlayKeyWireDesc;
typedef struct _xkbShapeDoodadWireDesc {
    CARD32 name;
    CARD8 type;
    CARD8 priority;
    INT16 top;
    INT16 left;
    INT16 angle;
    CARD8 colorNdx;
    CARD8 shapeNdx;
    CARD16 pad1;
    CARD32 pad2;
} xkbShapeDoodadWireDesc;
typedef struct _xkbTextDoodadWireDesc {
    CARD32 name;
    CARD8 type;
    CARD8 priority;
    INT16 top;
    INT16 left;
    INT16 angle;
    CARD16 width;
    CARD16 height;
    CARD8 colorNdx;
    CARD8 pad1;
    CARD16 pad2;
} xkbTextDoodadWireDesc;
typedef struct _xkbIndicatorDoodadWireDesc {
    CARD32 name;
    CARD8 type;
    CARD8 priority;
    INT16 top;
    INT16 left;
    INT16 angle;
    CARD8 shapeNdx;
    CARD8 onColorNdx;
    CARD8 offColorNdx;
    CARD8 pad1;
    CARD32 pad2;
} xkbIndicatorDoodadWireDesc;
typedef struct _xkbLogoDoodadWireDesc {
    CARD32 name;
    CARD8 type;
    CARD8 priority;
    INT16 top;
    INT16 left;
    INT16 angle;
    CARD8 colorNdx;
    CARD8 shapeNdx;
    CARD16 pad1;
    CARD32 pad2;
} xkbLogoDoodadWireDesc;
typedef struct _xkbAnyDoodadWireDesc {
    CARD32 name;
    CARD8 type;
    CARD8 priority;
    INT16 top;
    INT16 left;
    INT16 angle;
    CARD32 pad2;
    CARD32 pad3;
} xkbAnyDoodadWireDesc;
union _xkbDoodadWireDesc {
    xkbAnyDoodadWireDesc any;
    xkbShapeDoodadWireDesc shape;
    xkbTextDoodadWireDesc text;
    xkbIndicatorDoodadWireDesc indicator;
    xkbLogoDoodadWireDesc logo;
};
typedef union _xkbDoodadWireDesc {
    xkbAnyDoodadWireDesc any;
    xkbShapeDoodadWireDesc shape;
    xkbTextDoodadWireDesc text;
    xkbIndicatorDoodadWireDesc indicator;
    xkbLogoDoodadWireDesc logo;
} xkbDoodadWireDesc;
typedef struct _xkbGetGeometry {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad;
    CARD32 name;
} xkbGetGeometryReq;
typedef struct _xkbGetGeometryReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 name;
    BOOL found;
    CARD8 pad;
    CARD16 widthMM;
    CARD16 heightMM;
    CARD16 nProperties;
    CARD16 nColors;
    CARD16 nShapes;
    CARD16 nSections;
    CARD16 nDoodads;
    CARD16 nKeyAliases;
    CARD8 baseColorNdx;
    CARD8 labelColorNdx;
} xkbGetGeometryReply;
typedef struct _xkbSetGeometry {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD8 nShapes;
    CARD8 nSections;
    CARD32 name;
    CARD16 widthMM;
    CARD16 heightMM;
    CARD16 nProperties;
    CARD16 nColors;
    CARD16 nDoodads;
    CARD16 nKeyAliases;
    CARD8 baseColorNdx;
    CARD8 labelColorNdx;
    CARD16 pad;
} xkbSetGeometryReq;
typedef struct _xkbPerClientFlags {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 pad1;
    CARD32 change;
    CARD32 value;
    CARD32 ctrlsToChange;
    CARD32 autoCtrls;
    CARD32 autoCtrlValues;
} xkbPerClientFlagsReq;
typedef struct _xkbPerClientFlagsReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 supported;
    CARD32 value;
    CARD32 autoCtrls;
    CARD32 autoCtrlValues;
    CARD32 pad1;
    CARD32 pad2;
} xkbPerClientFlagsReply;
typedef struct _xkbListComponents {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 maxNames;
} xkbListComponentsReq;
typedef struct _xkbListComponentsReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 nKeymaps;
    CARD16 nKeycodes;
    CARD16 nTypes;
    CARD16 nCompatMaps;
    CARD16 nSymbols;
    CARD16 nGeometries;
    CARD16 extra;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
} xkbListComponentsReply;
typedef struct _xkbGetKbdByName {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 need;
    CARD16 want;
    BOOL load;
    CARD8 pad;
} xkbGetKbdByNameReq;
typedef struct _xkbGetKbdByNameReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 minKeyCode;
    CARD8 maxKeyCode;
    BOOL loaded;
    BOOL newKeyboard;
    CARD16 found;
    CARD16 reported;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xkbGetKbdByNameReply;
typedef struct _xkbDeviceLedsWireDesc {
    CARD16 ledClass;
    CARD16 ledID;
    CARD32 namesPresent;
    CARD32 mapsPresent;
    CARD32 physIndicators;
    CARD32 state;
} xkbDeviceLedsWireDesc;
typedef struct _xkbGetDeviceInfo {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD16 wanted;
    BOOL allBtns;
    CARD8 firstBtn;
    CARD8 nBtns;
    CARD8 pad;
    CARD16 ledClass;
    CARD16 ledID;
} xkbGetDeviceInfoReq;
typedef struct _xkbGetDeviceInfoReply {
    CARD8 type;
    CARD8 deviceID;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 present;
    CARD16 supported;
    CARD16 unsupported;
    CARD16 nDeviceLedFBs;
    CARD8 firstBtnWanted;
    CARD8 nBtnsWanted;
    CARD8 firstBtnRtrn;
    CARD8 nBtnsRtrn;
    CARD8 totalBtns;
    BOOL hasOwnState;
    CARD16 dfltKbdFB;
    CARD16 dfltLedFB;
    CARD16 pad;
    CARD32 devType;
} xkbGetDeviceInfoReply;
typedef struct _xkbSetDeviceInfo {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 deviceSpec;
    CARD8 firstBtn;
    CARD8 nBtns;
    CARD16 change;
    CARD16 nDeviceLedFBs;
} xkbSetDeviceInfoReq;
typedef struct _xkbSetDebuggingFlags {
    CARD8 reqType;
    CARD8 xkbReqType;
    CARD16 length;
    CARD16 msgLength;
    CARD16 pad;
    CARD32 affectFlags;
    CARD32 flags;
    CARD32 affectCtrls;
    CARD32 ctrls;
} xkbSetDebuggingFlagsReq;
typedef struct _xkbSetDebuggingFlagsReply {
    BYTE type;
    CARD8 pad0;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 currentFlags;
    CARD32 currentCtrls;
    CARD32 supportedFlags;
    CARD32 supportedCtrls;
    CARD32 pad1;
    CARD32 pad2;
} xkbSetDebuggingFlagsReply;
typedef struct _xkbAnyEvent {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 pad1;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xkbAnyEvent;
typedef struct _xkbNewKeyboardNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 oldDeviceID;
    CARD8 minKeyCode;
    CARD8 maxKeyCode;
    CARD8 oldMinKeyCode;
    CARD8 oldMaxKeyCode;
    CARD8 requestMajor;
    CARD8 requestMinor;
    CARD16 changed;
    CARD8 detail;
    CARD8 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xkbNewKeyboardNotify;
typedef struct _xkbMapNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 ptrBtnActions;
    CARD16 changed;
    CARD8 minKeyCode;
    CARD8 maxKeyCode;
    CARD8 firstType;
    CARD8 nTypes;
    CARD8 firstKeySym;
    CARD8 nKeySyms;
    CARD8 firstKeyAct;
    CARD8 nKeyActs;
    CARD8 firstKeyBehavior;
    CARD8 nKeyBehaviors;
    CARD8 firstKeyExplicit;
    CARD8 nKeyExplicit;
    CARD8 firstModMapKey;
    CARD8 nModMapKeys;
    CARD8 firstVModMapKey;
    CARD8 nVModMapKeys;
    CARD16 virtualMods;
    CARD16 pad1;
} xkbMapNotify;
typedef struct _xkbStateNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 mods;
    CARD8 baseMods;
    CARD8 latchedMods;
    CARD8 lockedMods;
    CARD8 group;
    INT16 baseGroup;
    INT16 latchedGroup;
    CARD8 lockedGroup;
    CARD8 compatState;
    CARD8 grabMods;
    CARD8 compatGrabMods;
    CARD8 lookupMods;
    CARD8 compatLookupMods;
    CARD16 ptrBtnState;
    CARD16 changed;
    CARD8 keycode;
    CARD8 eventType;
    CARD8 requestMajor;
    CARD8 requestMinor;
} xkbStateNotify;
typedef struct _xkbControlsNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 numGroups;
    CARD16 pad1;
    CARD32 changedControls;
    CARD32 enabledControls;
    CARD32 enabledControlChanges;
    CARD8 keycode;
    CARD8 eventType;
    CARD8 requestMajor;
    CARD8 requestMinor;
    CARD32 pad2;
} xkbControlsNotify;
typedef struct _xkbIndicatorNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 pad1;
    CARD16 pad2;
    CARD32 state;
    CARD32 changed;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xkbIndicatorNotify;
typedef struct _xkbNamesNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 pad1;
    CARD16 changed;
    CARD8 firstType;
    CARD8 nTypes;
    CARD8 firstLevelName;
    CARD8 nLevelNames;
    CARD8 pad2;
    CARD8 nRadioGroups;
    CARD8 nAliases;
    CARD8 changedGroupNames;
    CARD16 changedVirtualMods;
    CARD8 firstKey;
    CARD8 nKeys;
    CARD32 changedIndicators;
    CARD32 pad3;
} xkbNamesNotify;
typedef struct _xkbCompatMapNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 changedGroups;
    CARD16 firstSI;
    CARD16 nSI;
    CARD16 nTotalSI;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xkbCompatMapNotify;
typedef struct _xkbBellNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 bellClass;
    CARD8 bellID;
    CARD8 percent;
    CARD16 pitch;
    CARD16 duration;
    CARD32 name;
    CARD32 window;
    BOOL eventOnly;
    CARD8 pad1;
    CARD16 pad2;
    CARD32 pad3;
} xkbBellNotify;
typedef struct _xkbActionMessage {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 keycode;
    BOOL press;
    BOOL keyEventFollows;
    CARD8 mods;
    CARD8 group;
    CARD8 message[8];
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
} xkbActionMessage;
typedef struct _xkbAccessXNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 keycode;
    CARD16 detail;
    CARD16 slowKeysDelay;
    CARD16 debounceDelay;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xkbAccessXNotify;
typedef struct _xkbExtensionDeviceNotify {
    BYTE type;
    BYTE xkbType;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 deviceID;
    CARD8 pad1;
    CARD16 reason;
    CARD16 ledClass;
    CARD16 ledID;
    CARD32 ledsDefined;
    CARD32 ledState;
    CARD8 firstBtn;
    CARD8 nBtns;
    CARD16 supported;
    CARD16 unsupported;
    CARD16 pad3;
} xkbExtensionDeviceNotify;
typedef struct _xkbEvent {
    union {
	xkbAnyEvent any;
	xkbNewKeyboardNotify new_kbd;
	xkbMapNotify map;
	xkbStateNotify state;
	xkbControlsNotify ctrls;
	xkbIndicatorNotify indicators;
	xkbNamesNotify names;
	xkbCompatMapNotify compat;
	xkbBellNotify bell;
	xkbActionMessage message;
	xkbAccessXNotify accessx;
	xkbExtensionDeviceNotify device;
    } u;
} xkbEvent;

6.2.22. X11/extensions/XKBstr.h


#define _XKBSTR_H_
#define XkbSMKeyActionsPtr(m,k)	(&(m)->acts[(m)->key_acts[k]])
#define XkbCMKeySymsPtr(m,k)	(&(m)->syms[XkbCMKeySymsOffset(m,k)])
#define XkbCMKeyType(m,k,g)	(&(m)->types[XkbCMKeyTypeIndex(m,k,g)])
#define XkbIM_IsAuto(i)	((((i)->flags&XkbIM_NoAutomatic)==0)&& (((i)->which_groups&&(i)->groups)|| ((i)->which_mods&&(i)->mods.mask)|| ((i)->ctrls)))
#define XkbActionCtrls(a)	((((unsigned int)(a)->ctrls3)<<24)| (((unsigned int)(a)->ctrls2)<<16)| (((unsigned int)(a)->ctrls1)<<8)| ((unsigned int)((a)->ctrls0)))
#define XkbSARedirectVMods(a)	((((unsigned int)(a)->vmods1)<<8)| ((unsigned int)(a)->vmods0))
#define XkbSARedirectVModsMask(a)	((((unsigned int)(a)->vmods_mask1)<<8)| ((unsigned int)(a)->vmods_mask0))
#define XkbActionSetCtrls(a,c)	(((a)->ctrls3=(((c)>>24)&0xff)), ((a)->ctrls2=(((c)>>16)&0xff)), ((a)->ctrls1=(((c)>>8)&0xff)), ((a)->ctrls0=((c)&0xff)))
#define XkbSetModActionVMods(a,v)	(((a)->vmods1=(((v)>>8)&0xff)),(a)->vmods2=((v)&0xff))
#define XkbSARedirectSetVMods(a,m)	(((a)->vmods_mask1=(((m)>>8)&0xff)), ((a)->vmods_mask0=((m)&0xff)))
#define XkbSARedirectSetVModsMask(a,m)	(((a)->vmods_mask1=(((m)>>8)&0xff)), ((a)->vmods_mask0=((m)&0xff)))
#define XkbXI_DevHasBtnActs(d)	(((d)->num_btns>0)&&((d)->btn_acts!=NULL))
#define XkbXI_DevHasLeds(d)	(((d)->num_leds>0)&&((d)->leds!=NULL))
#define XkbOutOfRangeGroupNumber(g)	(((g)&0x30)>>4)
#define XkbSetNumGroups(g,n)	(((g)&0xf0)|((n)&0x0f))
#define XkbIntTo2Chars(i,h,l)	(((h)=((i>>8)&0xff)),((l)=((i)&0xff)))
#define XkbIM_InUse(i)	(((i)->flags)||((i)->which_groups)|| ((i)->which_mods)||((i)->ctrls))
#define XkbKeycodeInRange(d,k)	(((k)>=(d)->min_key_code)&& ((k)<=(d)->max_key_code))
#define XkbSetGroupInfo(g,w,n)	(((w)&0xc0)|(((n)&3)<<4)|((g)&0x0f))
#define XkbSASetGroup(a,g)	((a)->group_XXX=(g))
#define XkbSASetScreen(a,s)	((a)->screenXXX= ((s)&0xff))
#define XkbSASetPtrDfltValue(a,c)	((a)->valueXXX= ((c)&0xff))
#define XkbAX_NeedOption(c,w)	((c)->ax_options&(w))
#define XkbAX_AnyFeedback(c)	((c)->enabled_ctrls&XkbAccessXFeedbackMask)
#define XkbNumKeys(d)	((d)->max_key_code-(d)->min_key_code+1)
#define XkbKeyHasActions(d,k)	((d)->server->key_acts[k]!=0)
#define XkbNumGroups(g)	((g)&0x0f)
#define XkbOutOfRangeGroupAction(g)	((g)&0xc0)
#define XkbOutOfRangeGroupInfo(g)	((g)&0xf0)
#define XkbCMKeyGroupInfo(m,k)	((m)->key_sym_map[k].group_info)
#define XkbCMKeyTypeIndex(m,k,g)	((m)->key_sym_map[k].kt_index[g&0x3])
#define XkbCMKeySymsOffset(m,k)	((m)->key_sym_map[k].offset)
#define XkbCMKeyGroupsWidth(m,k)	((m)->key_sym_map[k].width)
#define XkbStateGroup(s)	((s)->base_group+(s)->latched_group+XkbGroupLock(s))
#define XkbStateMods(s)	((s)->base_mods|(s)->latched_mods|XkbModLocks(s))
#define XkbGroupLock(s)	((s)->locked_group)
#define XkbModLocks(s)	((s)->locked_mods)
#define XkbModActionVMods(a)	((short)(((a)->vmods1<<8)|((a)->vmods2)))
#define Xkb2CharsToInt(h,l)	((short)(((h)<<8)|(l)))
#define XkbCharToInt(v)	((v)&0x80?(int)((v)|(~0xff)):(int)((v)&0x7f))
#define XkbPtrActionX(a)	(Xkb2CharsToInt((a)->high_XXX,(a)->low_XXX))
#define XkbPtrActionY(a)	(Xkb2CharsToInt((a)->high_YYY,(a)->low_YYY))
#define XkbAX_NeedFeedback(c,w)	(XkbAX_AnyFeedback(c)&&XkbAX_NeedOption(c,w))
#define XkbSAGroup(a)	(XkbCharToInt((a)->group_XXX))
#define XkbSAScreen(a)	(XkbCharToInt((a)->screenXXX))
#define XkbSAPtrDfltValue(a)	(XkbCharToInt((a)->valueXXX))
#define XkbKeyGroupInfo(d,k)	(XkbCMKeyGroupInfo((d)->map,(k)))
#define XkbKeyGroupsWidth(d,k)	(XkbCMKeyGroupsWidth((d)->map,k))
#define XkbCMKeyNumSyms(m,k)	(XkbCMKeyGroupsWidth(m,k)*XkbCMKeyNumGroups(m,k))
#define XkbKeyGroupWidth(d,k,g)	(XkbCMKeyGroupWidth((d)->map,k,g))
#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 XkbKeyKeyType(d,k,g)	(XkbCMKeyType((d)->map,k,g))
#define XkbCMKeyGroupWidth(m,k,g)	(XkbCMKeyType(m,k,g)->num_levels)
#define XkbKeyKeyTypeIndex(d,k,g)	(XkbCMKeyTypeIndex((d)->map,k,g))
#define XkbSetPtrActionX(a,x)	(XkbIntTo2Chars(x,(a)->high_XXX,(a)->low_XXX))
#define XkbSetPtrActionY(a,y)	(XkbIntTo2Chars(y,(a)->high_YYY,(a)->low_YYY))
#define XkbKeyActionEntry(d,k,sl,g)	(XkbKeyHasActions(d,k)? XkbKeyAction(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))):NULL)
#define XkbKeyAction(d,k,n)	(XkbKeyHasActions(d,k)?&XkbKeyActionsPtr(d,k)[n]:NULL)
#define XkbKeyNumActions(d,k)	(XkbKeyHasActions(d,k)?XkbKeyNumSyms(d,k):1)
#define XkbKeySymEntry(d,k,sl,g)	(XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl))))
#define XkbKeySym(d,k,n)	(XkbKeySymsPtr(d,k)[n])
#define XkbCMKeyNumGroups(m,k)	(XkbNumGroups((m)->key_sym_map[k].group_info))
#define XkbKeyActionsPtr(d,k)	(XkbSMKeyActionsPtr((d)->server,k))
#define XkbXI_LegalDevBtn(d,b)	(XkbXI_DevHasBtnActs(d)&&((b)<(d)->num_btns))
#define XkbAnyActionDataSize	7
#define XkbGrabStateFromRec(s)	XkbBuildCoreState((s)->grab_mods,(s)->group)
#define XkbStateFieldFromRec(s)	XkbBuildCoreState((s)->lookup_mods,(s)->group)

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;
typedef struct _XkbStateRec *XkbStatePtr;
typedef struct _XkbMods *XkbModsPtr;
typedef struct _XkbMods {
    unsigned char mask;
    unsigned char real_mods;
    unsigned short vmods;
} XkbModsRec;
typedef struct _XkbKTMapEntry {
    int active;
    unsigned char level;
    XkbModsRec mods;
} XkbKTMapEntryRec;
typedef struct _XkbKTMapEntry *XkbKTMapEntryPtr;
typedef struct _XkbKeyType {
    XkbModsRec mods;
    unsigned char num_levels;
    unsigned char map_count;
    XkbKTMapEntryPtr map;
    XkbModsPtr preserve;
    Atom name;
    Atom *level_names;
} XkbKeyTypeRec;
typedef struct _XkbKeyType *XkbKeyTypePtr;
typedef struct _XkbBehavior {
    unsigned char type;
    unsigned char data;
} XkbBehavior;
typedef struct _XkbAnyAction {
    unsigned char type;
    unsigned char data[8];
} XkbAnyAction;
typedef struct _XkbModAction {
    unsigned char type;
    unsigned char flags;
    unsigned char mask;
    unsigned char real_mods;
    unsigned char vmods1;
    unsigned char vmods2;
} XkbModAction;
typedef struct _XkbGroupAction {
    unsigned char type;
    unsigned char flags;
    char group_XXX;
} XkbGroupAction;
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;
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;
typedef struct _XkbSwitchScreenAction {
    unsigned char type;
    unsigned char flags;
    char screenXXX;
} XkbSwitchScreenAction;
typedef struct _XkbCtrlsAction {
    unsigned char type;
    unsigned char flags;
    unsigned char ctrls3;
    unsigned char ctrls2;
    unsigned char ctrls1;
    unsigned char ctrls0;
} XkbCtrlsAction;
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;
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[32];
} XkbControlsRec;
typedef struct _XkbControls *XkbControlsPtr;
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)
    unsigned char *c_explicit;
#else
    unsigned char *explicit;
#endif
    unsigned char vmods[16];
    unsigned short *vmodmap;
} XkbServerMapRec;
typedef struct _XkbServerMapRec *XkbServerMapPtr;
typedef struct _XkbSymMapRec {
    unsigned char kt_index[4];
    unsigned char group_info;
    unsigned char width;
    unsigned short offset;
} XkbSymMapRec;
typedef struct _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;
typedef struct _XkbClientMapRec *XkbClientMapPtr;
typedef struct _XkbSymInterpretRec {
    KeySym sym;
    unsigned char flags;
    unsigned char match;
    unsigned char mods;
    unsigned char virtual_mod;
    XkbAnyAction act;
} XkbSymInterpretRec;
typedef struct _XkbSymInterpretRec *XkbSymInterpretPtr;
typedef struct _XkbCompatMapRec {
    XkbSymInterpretPtr sym_interpret;
    XkbModsRec groups[4];
    unsigned short num_si;
    unsigned short size_si;
} XkbCompatMapRec;
typedef struct _XkbCompatMapRec *XkbCompatMapPtr;
typedef struct _XkbIndicatorMapRec *XkbIndicatorMapPtr;
typedef struct _XkbIndicatorMapRec {
    unsigned char flags;
    unsigned char which_groups;
    unsigned char groups;
    unsigned char which_mods;
    XkbModsRec mods;
    unsigned int ctrls;
} XkbIndicatorMapRec;
typedef struct _XkbIndicatorRec {
    unsigned long int phys_indicators;
    XkbIndicatorMapRec maps[32];
} XkbIndicatorRec;
typedef struct _XkbIndicatorRec *XkbIndicatorPtr;
typedef struct _XkbKeyNameRec {
    char name[4];
} XkbKeyNameRec;
typedef struct _XkbKeyNameRec *XkbKeyNamePtr;
typedef struct _XkbKeyAliasRec {
    char real[4];
    char alias[4];
} XkbKeyAliasRec;
typedef struct _XkbKeyAliasRec *XkbKeyAliasPtr;
typedef struct _XkbNamesRec {
    Atom keycodes;
    Atom geometry;
    Atom symbols;
    Atom types;
    Atom compat;
    Atom vmods[16];
    Atom indicators[32];
    Atom groups[4];
    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;
typedef struct _XkbNamesRec *XkbNamesPtr;
typedef struct _XkbGeometry *XkbGeometryPtr;
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;
typedef struct _XkbDesc *XkbDescPtr;
typedef struct _XkbMapChanges *XkbMapChangesPtr;
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;
typedef struct _XkbControlsChanges *XkbControlsChangesPtr;
typedef struct _XkbControlsChanges {
    unsigned int changed_ctrls;
    unsigned int enabled_ctrls_changes;
    int num_groups_changed;
} XkbControlsChangesRec;
typedef struct _XkbIndicatorChanges *XkbIndicatorChangesPtr;
typedef struct _XkbIndicatorChanges {
    unsigned int state_changes;
    unsigned int map_changes;
} XkbIndicatorChangesRec;
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 int changed_indicators;
    unsigned char changed_groups;
} XkbNameChangesRec;
typedef struct _XkbNameChanges *XkbNameChangesPtr;
typedef struct _XkbCompatChanges {
    unsigned char changed_groups;
    unsigned short first_si;
    unsigned short num_si;
} XkbCompatChangesRec;
typedef struct _XkbCompatChanges *XkbCompatChangesPtr;
typedef struct _XkbChanges {
    unsigned short device_spec;
    unsigned short state_changes;
    XkbMapChangesRec map;
    XkbControlsChangesRec ctrls;
    XkbIndicatorChangesRec indicators;
    XkbNameChangesRec names;
    XkbCompatChangesRec compat;
} XkbChangesRec;
typedef struct _XkbChanges *XkbChangesPtr;
typedef struct _XkbComponentNames {
    char *keymap;
    char *keycodes;
    char *types;
    char *compat;
    char *symbols;
    char *geometry;
} XkbComponentNamesRec;
typedef struct _XkbComponentNames *XkbComponentNamesPtr;
typedef struct _XkbComponentName {
    unsigned short flags;
    char *name;
} XkbComponentNameRec;
typedef struct _XkbComponentName *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;
typedef struct _XkbComponentList *XkbComponentListPtr;
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[32];
    XkbIndicatorMapRec maps[32];
} XkbDeviceLedInfoRec;
typedef struct _XkbDeviceLedInfo *XkbDeviceLedInfoPtr;
typedef struct _XkbDeviceInfo {
    char *name;
    Atom type;
    unsigned short device_spec;
    int 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;
typedef struct _XkbDeviceInfo *XkbDeviceInfoPtr;
typedef struct _XkbDeviceLedChanges {
    unsigned short led_class;
    unsigned short led_id;
    unsigned int defined;
    struct _XkbDeviceLedChanges *next;
} XkbDeviceLedChangesRec;
typedef struct _XkbDeviceLedChanges *XkbDeviceLedChangesPtr;
typedef struct _XkbDeviceChanges {
    unsigned int changed;
    unsigned short first_btn;
    unsigned short num_btns;
    XkbDeviceLedChangesRec leds;
} XkbDeviceChangesRec;
typedef struct _XkbDeviceChanges *XkbDeviceChangesPtr;

6.2.23. X11/extensions/securstr.h


#define SECURITY_MINOR_VERSION	0
#define X_SecurityQueryVersion	0
#define SECURITY_MAJOR_VERSION	1
#define X_SecurityGenerateAuthorization	1
#define _SECURSTR_H	1
#define sz_xSecurityGenerateAuthorizationReq	12
#define X_SecurityRevokeAuthorization	2
#define sz_xSecurityAuthorizationRevokedEvent	32
#define sz_xSecurityGenerateAuthorizationReply	32
#define sz_xSecurityQueryVersionReply	32
#define sz_xSecurityQueryVersionReq	8
#define sz_xSecurityRevokeAuthorizationReq	8
#define SECURITY_EXTENSION_NAME	"SECURITY"

typedef struct {
    CARD8 reqType;
    CARD8 securityReqType;
    CARD16 length;
    CARD16 majorVersion;
    CARD16 minorVersion;
} xSecurityQueryVersionReq;
typedef struct {
    CARD8 type;
    CARD8 pad0;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 majorVersion;
    CARD16 minorVersion;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xSecurityQueryVersionReply;
typedef struct {
    CARD8 reqType;
    CARD8 securityReqType;
    CARD16 length;
    CARD16 nbytesAuthProto;
    CARD16 nbytesAuthData;
    CARD32 valueMask;
} xSecurityGenerateAuthorizationReq;
typedef struct {
    CARD8 type;
    CARD8 pad0;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 authId;
    CARD16 dataLength;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xSecurityGenerateAuthorizationReply;
typedef struct {
    CARD8 reqType;
    CARD8 securityReqType;
    CARD16 length;
    CARD32 authId;
} xSecurityRevokeAuthorizationReq;
typedef struct _xSecurityAuthorizationRevokedEvent {
    BYTE type;
    BYTE detail;
    CARD16 sequenceNumber;
    CARD32 authId;
    CARD32 pad0;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xSecurityAuthorizationRevokedEvent;

6.2.24. X11/keysym.h


#define XK_APL
#define XK_ARABIC
#define XK_ARMENIAN
#define XK_BRAILLE
#define XK_CAUCASUS
#define XK_CURRENCY
#define XK_CYRILLIC
#define XK_GEORGIAN
#define XK_GREEK
#define XK_HEBREW
#define XK_KATAKANA
#define XK_KOREAN
#define XK_LATIN1
#define XK_LATIN2
#define XK_LATIN3
#define XK_LATIN4
#define XK_LATIN8
#define XK_LATIN9
#define XK_MATHEMATICAL
#define XK_MISCELLANY
#define XK_PUBLISHING
#define XK_SPECIAL
#define XK_TECHNICAL
#define XK_THAI
#define XK_VIETNAMESE
#define XK_XKB_KEYS

6.2.25. X11/keysymdef.h


#define XK_space	0x0020
#define XK_exclam	0x0021
#define XK_quotedbl	0x0022
#define XK_numbersign	0x0023
#define XK_dollar	0x0024
#define XK_percent	0x0025
#define XK_ampersand	0x0026
#define XK_apostrophe	0x0027
#define XK_quoteright	0x0027
#define XK_parenleft	0x0028
#define XK_parenright	0x0029
#define XK_asterisk	0x002a
#define XK_plus	0x002b
#define XK_comma	0x002c
#define XK_minus	0x002d
#define XK_period	0x002e
#define XK_slash	0x002f
#define XK_0	0x0030
#define XK_1	0x0031
#define XK_2	0x0032
#define XK_3	0x0033
#define XK_4	0x0034
#define XK_5	0x0035
#define XK_6	0x0036
#define XK_7	0x0037
#define XK_8	0x0038
#define XK_9	0x0039
#define XK_colon	0x003a
#define XK_semicolon	0x003b
#define XK_less	0x003c
#define XK_equal	0x003d
#define XK_greater	0x003e
#define XK_question	0x003f
#define XK_at	0x0040
#define XK_A	0x0041
#define XK_B	0x0042
#define XK_C	0x0043
#define XK_D	0x0044
#define XK_E	0x0045
#define XK_F	0x0046
#define XK_G	0x0047
#define XK_H	0x0048
#define XK_I	0x0049
#define XK_J	0x004a
#define XK_K	0x004b
#define XK_L	0x004c
#define XK_M	0x004d
#define XK_N	0x004e
#define XK_O	0x004f
#define XK_P	0x0050
#define XK_Q	0x0051
#define XK_R	0x0052
#define XK_S	0x0053
#define XK_T	0x0054
#define XK_U	0x0055
#define XK_V	0x0056
#define XK_W	0x0057
#define XK_X	0x0058
#define XK_Y	0x0059
#define XK_Z	0x005a
#define XK_bracketleft	0x005b
#define XK_backslash	0x005c
#define XK_bracketright	0x005d
#define XK_asciicircum	0x005e
#define XK_underscore	0x005f
#define XK_grave	0x0060
#define XK_quoteleft	0x0060
#define XK_a	0x0061
#define XK_b	0x0062
#define XK_c	0x0063
#define XK_d	0x0064
#define XK_e	0x0065
#define XK_f	0x0066
#define XK_g	0x0067
#define XK_h	0x0068
#define XK_i	0x0069
#define XK_j	0x006a
#define XK_k	0x006b
#define XK_l	0x006c
#define XK_m	0x006d
#define XK_n	0x006e
#define XK_o	0x006f
#define XK_p	0x0070
#define XK_q	0x0071
#define XK_r	0x0072
#define XK_s	0x0073
#define XK_t	0x0074
#define XK_u	0x0075
#define XK_v	0x0076
#define XK_w	0x0077
#define XK_x	0x0078
#define XK_y	0x0079
#define XK_z	0x007a
#define XK_braceleft	0x007b
#define XK_bar	0x007c
#define XK_braceright	0x007d
#define XK_asciitilde	0x007e
#define XK_nobreakspace	0x00a0
#define XK_exclamdown	0x00a1
#define XK_cent	0x00a2
#define XK_sterling	0x00a3
#define XK_currency	0x00a4
#define XK_yen	0x00a5
#define XK_brokenbar	0x00a6
#define XK_section	0x00a7
#define XK_diaeresis	0x00a8
#define XK_copyright	0x00a9
#define XK_ordfeminine	0x00aa
#define XK_guillemotleft	0x00ab
#define XK_notsign	0x00ac
#define XK_hyphen	0x00ad
#define XK_registered	0x00ae
#define XK_macron	0x00af
#define XK_degree	0x00b0
#define XK_plusminus	0x00b1
#define XK_twosuperior	0x00b2
#define XK_threesuperior	0x00b3
#define XK_acute	0x00b4
#define XK_mu	0x00b5
#define XK_paragraph	0x00b6
#define XK_periodcentered	0x00b7
#define XK_cedilla	0x00b8
#define XK_onesuperior	0x00b9
#define XK_masculine	0x00ba
#define XK_guillemotright	0x00bb
#define XK_onequarter	0x00bc
#define XK_onehalf	0x00bd
#define XK_threequarters	0x00be
#define XK_questiondown	0x00bf
#define XK_Agrave	0x00c0
#define XK_Aacute	0x00c1
#define XK_Acircumflex	0x00c2
#define XK_Atilde	0x00c3
#define XK_Adiaeresis	0x00c4
#define XK_Aring	0x00c5
#define XK_AE	0x00c6
#define XK_Ccedilla	0x00c7
#define XK_Egrave	0x00c8
#define XK_Eacute	0x00c9
#define XK_Ecircumflex	0x00ca
#define XK_Ediaeresis	0x00cb
#define XK_Igrave	0x00cc
#define XK_Iacute	0x00cd
#define XK_Icircumflex	0x00ce
#define XK_Idiaeresis	0x00cf
#define XK_ETH	0x00d0
#define XK_Eth	0x00d0
#define XK_Ntilde	0x00d1
#define XK_Ograve	0x00d2
#define XK_Oacute	0x00d3
#define XK_Ocircumflex	0x00d4
#define XK_Otilde	0x00d5
#define XK_Odiaeresis	0x00d6
#define XK_multiply	0x00d7
#define XK_Ooblique	0x00d8
#define XK_Oslash	0x00d8
#define XK_Ugrave	0x00d9
#define XK_Uacute	0x00da
#define XK_Ucircumflex	0x00db
#define XK_Udiaeresis	0x00dc
#define XK_Yacute	0x00dd
#define XK_THORN	0x00de
#define XK_Thorn	0x00de
#define XK_ssharp	0x00df
#define XK_agrave	0x00e0
#define XK_aacute	0x00e1
#define XK_acircumflex	0x00e2
#define XK_atilde	0x00e3
#define XK_adiaeresis	0x00e4
#define XK_aring	0x00e5
#define XK_ae	0x00e6
#define XK_ccedilla	0x00e7
#define XK_egrave	0x00e8
#define XK_eacute	0x00e9
#define XK_ecircumflex	0x00ea
#define XK_ediaeresis	0x00eb
#define XK_igrave	0x00ec
#define XK_iacute	0x00ed
#define XK_icircumflex	0x00ee
#define XK_idiaeresis	0x00ef
#define XK_eth	0x00f0
#define XK_ntilde	0x00f1
#define XK_ograve	0x00f2
#define XK_oacute	0x00f3
#define XK_ocircumflex	0x00f4
#define XK_otilde	0x00f5
#define XK_odiaeresis	0x00f6
#define XK_division	0x00f7
#define XK_ooblique	0x00f8
#define XK_oslash	0x00f8
#define XK_ugrave	0x00f9
#define XK_uacute	0x00fa
#define XK_ucircumflex	0x00fb
#define XK_udiaeresis	0x00fc
#define XK_yacute	0x00fd
#define XK_thorn	0x00fe
#define XK_ydiaeresis	0x00ff
#define XK_Aogonek	0x01a1
#define XK_breve	0x01a2
#define XK_Lstroke	0x01a3
#define XK_Lcaron	0x01a5
#define XK_Sacute	0x01a6
#define XK_Scaron	0x01a9
#define XK_Scedilla	0x01aa
#define XK_Tcaron	0x01ab
#define XK_Zacute	0x01ac
#define XK_Zcaron	0x01ae
#define XK_Zabovedot	0x01af
#define XK_aogonek	0x01b1
#define XK_ogonek	0x01b2
#define XK_lstroke	0x01b3
#define XK_lcaron	0x01b5
#define XK_sacute	0x01b6
#define XK_caron	0x01b7
#define XK_scaron	0x01b9
#define XK_scedilla	0x01ba
#define XK_tcaron	0x01bb
#define XK_zacute	0x01bc
#define XK_doubleacute	0x01bd
#define XK_zcaron	0x01be
#define XK_zabovedot	0x01bf
#define XK_Racute	0x01c0
#define XK_Abreve	0x01c3
#define XK_Lacute	0x01c5
#define XK_Cacute	0x01c6
#define XK_Ccaron	0x01c8
#define XK_Eogonek	0x01ca
#define XK_Ecaron	0x01cc
#define XK_Dcaron	0x01cf
#define XK_Dstroke	0x01d0
#define XK_Nacute	0x01d1
#define XK_Ncaron	0x01d2
#define XK_Odoubleacute	0x01d5
#define XK_Rcaron	0x01d8
#define XK_Uring	0x01d9
#define XK_Udoubleacute	0x01db
#define XK_Tcedilla	0x01de
#define XK_racute	0x01e0
#define XK_abreve	0x01e3
#define XK_lacute	0x01e5
#define XK_cacute	0x01e6
#define XK_ccaron	0x01e8
#define XK_eogonek	0x01ea
#define XK_ecaron	0x01ec
#define XK_dcaron	0x01ef
#define XK_dstroke	0x01f0
#define XK_nacute	0x01f1
#define XK_ncaron	0x01f2
#define XK_odoubleacute	0x01f5
#define XK_rcaron	0x01f8
#define XK_uring	0x01f9
#define XK_udoubleacute	0x01fb
#define XK_tcedilla	0x01fe
#define XK_abovedot	0x01ff
#define XK_Hstroke	0x02a1
#define XK_Hcircumflex	0x02a6
#define XK_Iabovedot	0x02a9
#define XK_Gbreve	0x02ab
#define XK_Jcircumflex	0x02ac
#define XK_hstroke	0x02b1
#define XK_hcircumflex	0x02b6
#define XK_idotless	0x02b9
#define XK_gbreve	0x02bb
#define XK_jcircumflex	0x02bc
#define XK_Cabovedot	0x02c5
#define XK_Ccircumflex	0x02c6
#define XK_Gabovedot	0x02d5
#define XK_Gcircumflex	0x02d8
#define XK_Ubreve	0x02dd
#define XK_Scircumflex	0x02de
#define XK_cabovedot	0x02e5
#define XK_ccircumflex	0x02e6
#define XK_gabovedot	0x02f5
#define XK_gcircumflex	0x02f8
#define XK_ubreve	0x02fd
#define XK_scircumflex	0x02fe
#define XK_kappa	0x03a2
#define XK_kra	0x03a2
#define XK_Rcedilla	0x03a3
#define XK_Itilde	0x03a5
#define XK_Lcedilla	0x03a6
#define XK_Emacron	0x03aa
#define XK_Gcedilla	0x03ab
#define XK_Tslash	0x03ac
#define XK_rcedilla	0x03b3
#define XK_itilde	0x03b5
#define XK_lcedilla	0x03b6
#define XK_emacron	0x03ba
#define XK_gcedilla	0x03bb
#define XK_tslash	0x03bc
#define XK_ENG	0x03bd
#define XK_eng	0x03bf
#define XK_Amacron	0x03c0
#define XK_Iogonek	0x03c7
#define XK_Eabovedot	0x03cc
#define XK_Imacron	0x03cf
#define XK_Ncedilla	0x03d1
#define XK_Omacron	0x03d2
#define XK_Kcedilla	0x03d3
#define XK_Uogonek	0x03d9
#define XK_Utilde	0x03dd
#define XK_Umacron	0x03de
#define XK_amacron	0x03e0
#define XK_iogonek	0x03e7
#define XK_eabovedot	0x03ec
#define XK_imacron	0x03ef
#define XK_ncedilla	0x03f1
#define XK_omacron	0x03f2
#define XK_kcedilla	0x03f3
#define XK_uogonek	0x03f9
#define XK_utilde	0x03fd
#define XK_umacron	0x03fe
#define XK_overline	0x047e
#define XK_kana_fullstop	0x04a1
#define XK_kana_openingbracket	0x04a2
#define XK_kana_closingbracket	0x04a3
#define XK_kana_comma	0x04a4
#define XK_kana_conjunctive	0x04a5
#define XK_kana_middledot	0x04a5
#define XK_kana_WO	0x04a6
#define XK_kana_a	0x04a7
#define XK_kana_i	0x04a8
#define XK_kana_u	0x04a9
#define XK_kana_e	0x04aa
#define XK_kana_o	0x04ab
#define XK_kana_ya	0x04ac
#define XK_kana_yu	0x04ad
#define XK_kana_yo	0x04ae
#define XK_kana_tsu	0x04af
#define XK_kana_tu	0x04af
#define XK_prolongedsound	0x04b0
#define XK_kana_A	0x04b1
#define XK_kana_I	0x04b2
#define XK_kana_U	0x04b3
#define XK_kana_E	0x04b4
#define XK_kana_O	0x04b5
#define XK_kana_KA	0x04b6
#define XK_kana_KI	0x04b7
#define XK_kana_KU	0x04b8
#define XK_kana_KE	0x04b9
#define XK_kana_KO	0x04ba
#define XK_kana_SA	0x04bb
#define XK_kana_SHI	0x04bc
#define XK_kana_SU	0x04bd
#define XK_kana_SE	0x04be
#define XK_kana_SO	0x04bf
#define XK_kana_TA	0x04c0
#define XK_kana_CHI	0x04c1
#define XK_kana_TI	0x04c1
#define XK_kana_TSU	0x04c2
#define XK_kana_TU	0x04c2
#define XK_kana_TE	0x04c3
#define XK_kana_TO	0x04c4
#define XK_kana_NA	0x04c5
#define XK_kana_NI	0x04c6
#define XK_kana_NU	0x04c7
#define XK_kana_NE	0x04c8
#define XK_kana_NO	0x04c9
#define XK_kana_HA	0x04ca
#define XK_kana_HI	0x04cb
#define XK_kana_FU	0x04cc
#define XK_kana_HU	0x04cc
#define XK_kana_HE	0x04cd
#define XK_kana_HO	0x04ce
#define XK_kana_MA	0x04cf
#define XK_kana_MI	0x04d0
#define XK_kana_MU	0x04d1
#define XK_kana_ME	0x04d2
#define XK_kana_MO	0x04d3
#define XK_kana_YA	0x04d4
#define XK_kana_YU	0x04d5
#define XK_kana_YO	0x04d6
#define XK_kana_RA	0x04d7
#define XK_kana_RI	0x04d8
#define XK_kana_RU	0x04d9
#define XK_kana_RE	0x04da
#define XK_kana_RO	0x04db
#define XK_kana_WA	0x04dc
#define XK_kana_N	0x04dd
#define XK_voicedsound	0x04de
#define XK_semivoicedsound	0x04df
#define XK_Arabic_comma	0x05ac
#define XK_Arabic_semicolon	0x05bb
#define XK_Arabic_question_mark	0x05bf
#define XK_Arabic_hamza	0x05c1
#define XK_Arabic_maddaonalef	0x05c2
#define XK_Arabic_hamzaonalef	0x05c3
#define XK_Arabic_hamzaonwaw	0x05c4
#define XK_Arabic_hamzaunderalef	0x05c5
#define XK_Arabic_hamzaonyeh	0x05c6
#define XK_Arabic_alef	0x05c7
#define XK_Arabic_beh	0x05c8
#define XK_Arabic_tehmarbuta	0x05c9
#define XK_Arabic_teh	0x05ca
#define XK_Arabic_theh	0x05cb
#define XK_Arabic_jeem	0x05cc
#define XK_Arabic_hah	0x05cd
#define XK_Arabic_khah	0x05ce
#define XK_Arabic_dal	0x05cf
#define XK_Arabic_thal	0x05d0
#define XK_Arabic_ra	0x05d1
#define XK_Arabic_zain	0x05d2
#define XK_Arabic_seen	0x05d3
#define XK_Arabic_sheen	0x05d4
#define XK_Arabic_sad	0x05d5
#define XK_Arabic_dad	0x05d6
#define XK_Arabic_tah	0x05d7
#define XK_Arabic_zah	0x05d8
#define XK_Arabic_ain	0x05d9
#define XK_Arabic_ghain	0x05da
#define XK_Arabic_tatweel	0x05e0
#define XK_Arabic_feh	0x05e1
#define XK_Arabic_qaf	0x05e2
#define XK_Arabic_kaf	0x05e3
#define XK_Arabic_lam	0x05e4
#define XK_Arabic_meem	0x05e5
#define XK_Arabic_noon	0x05e6
#define XK_Arabic_ha	0x05e7
#define XK_Arabic_heh	0x05e7
#define XK_Arabic_waw	0x05e8
#define XK_Arabic_alefmaksura	0x05e9
#define XK_Arabic_yeh	0x05ea
#define XK_Arabic_fathatan	0x05eb
#define XK_Arabic_dammatan	0x05ec
#define XK_Arabic_kasratan	0x05ed
#define XK_Arabic_fatha	0x05ee
#define XK_Arabic_damma	0x05ef
#define XK_Arabic_kasra	0x05f0
#define XK_Arabic_shadda	0x05f1
#define XK_Arabic_sukun	0x05f2
#define XK_Serbian_dje	0x06a1
#define XK_Macedonia_gje	0x06a2
#define XK_Cyrillic_io	0x06a3
#define XK_Ukrainian_ie	0x06a4
#define XK_Ukranian_je	0x06a4
#define XK_Macedonia_dse	0x06a5
#define XK_Ukrainian_i	0x06a6
#define XK_Ukranian_i	0x06a6
#define XK_Ukrainian_yi	0x06a7
#define XK_Ukranian_yi	0x06a7
#define XK_Cyrillic_je	0x06a8
#define XK_Serbian_je	0x06a8
#define XK_Cyrillic_lje	0x06a9
#define XK_Serbian_lje	0x06a9
#define XK_Cyrillic_nje	0x06aa
#define XK_Serbian_nje	0x06aa
#define XK_Serbian_tshe	0x06ab
#define XK_Macedonia_kje	0x06ac
#define XK_Ukrainian_ghe_with_upturn	0x06ad
#define XK_Byelorussian_shortu	0x06ae
#define XK_Cyrillic_dzhe	0x06af
#define XK_Serbian_dze	0x06af
#define XK_numerosign	0x06b0
#define XK_Serbian_DJE	0x06b1
#define XK_Macedonia_GJE	0x06b2
#define XK_Cyrillic_IO	0x06b3
#define XK_Ukrainian_IE	0x06b4
#define XK_Ukranian_JE	0x06b4
#define XK_Macedonia_DSE	0x06b5
#define XK_Ukrainian_I	0x06b6
#define XK_Ukranian_I	0x06b6
#define XK_Ukrainian_YI	0x06b7
#define XK_Ukranian_YI	0x06b7
#define XK_Cyrillic_JE	0x06b8
#define XK_Serbian_JE	0x06b8
#define XK_Cyrillic_LJE	0x06b9
#define XK_Serbian_LJE	0x06b9
#define XK_Cyrillic_NJE	0x06ba
#define XK_Serbian_NJE	0x06ba
#define XK_Serbian_TSHE	0x06bb
#define XK_Macedonia_KJE	0x06bc
#define XK_Ukrainian_GHE_WITH_UPTURN	0x06bd
#define XK_Byelorussian_SHORTU	0x06be
#define XK_Cyrillic_DZHE	0x06bf
#define XK_Serbian_DZE	0x06bf
#define XK_Cyrillic_yu	0x06c0
#define XK_Cyrillic_a	0x06c1
#define XK_Cyrillic_be	0x06c2
#define XK_Cyrillic_tse	0x06c3
#define XK_Cyrillic_de	0x06c4
#define XK_Cyrillic_ie	0x06c5
#define XK_Cyrillic_ef	0x06c6
#define XK_Cyrillic_ghe	0x06c7
#define XK_Cyrillic_ha	0x06c8
#define XK_Cyrillic_i	0x06c9
#define XK_Cyrillic_shorti	0x06ca
#define XK_Cyrillic_ka	0x06cb
#define XK_Cyrillic_el	0x06cc
#define XK_Cyrillic_em	0x06cd
#define XK_Cyrillic_en	0x06ce
#define XK_Cyrillic_o	0x06cf
#define XK_Cyrillic_pe	0x06d0
#define XK_Cyrillic_ya	0x06d1
#define XK_Cyrillic_er	0x06d2
#define XK_Cyrillic_es	0x06d3
#define XK_Cyrillic_te	0x06d4
#define XK_Cyrillic_u	0x06d5
#define XK_Cyrillic_zhe	0x06d6
#define XK_Cyrillic_ve	0x06d7
#define XK_Cyrillic_softsign	0x06d8
#define XK_Cyrillic_yeru	0x06d9
#define XK_Cyrillic_ze	0x06da
#define XK_Cyrillic_sha	0x06db
#define XK_Cyrillic_e	0x06dc
#define XK_Cyrillic_shcha	0x06dd
#define XK_Cyrillic_che	0x06de
#define XK_Cyrillic_hardsign	0x06df
#define XK_Cyrillic_YU	0x06e0
#define XK_Cyrillic_A	0x06e1
#define XK_Cyrillic_BE	0x06e2
#define XK_Cyrillic_TSE	0x06e3
#define XK_Cyrillic_DE	0x06e4
#define XK_Cyrillic_IE	0x06e5
#define XK_Cyrillic_EF	0x06e6
#define XK_Cyrillic_GHE	0x06e7
#define XK_Cyrillic_HA	0x06e8
#define XK_Cyrillic_I	0x06e9
#define XK_Cyrillic_SHORTI	0x06ea
#define XK_Cyrillic_KA	0x06eb
#define XK_Cyrillic_EL	0x06ec
#define XK_Cyrillic_EM	0x06ed
#define XK_Cyrillic_EN	0x06ee
#define XK_Cyrillic_O	0x06ef
#define XK_Cyrillic_PE	0x06f0
#define XK_Cyrillic_YA	0x06f1
#define XK_Cyrillic_ER	0x06f2
#define XK_Cyrillic_ES	0x06f3
#define XK_Cyrillic_TE	0x06f4
#define XK_Cyrillic_U	0x06f5
#define XK_Cyrillic_ZHE	0x06f6
#define XK_Cyrillic_VE	0x06f7
#define XK_Cyrillic_SOFTSIGN	0x06f8
#define XK_Cyrillic_YERU	0x06f9
#define XK_Cyrillic_ZE	0x06fa
#define XK_Cyrillic_SHA	0x06fb
#define XK_Cyrillic_E	0x06fc
#define XK_Cyrillic_SHCHA	0x06fd
#define XK_Cyrillic_CHE	0x06fe
#define XK_Cyrillic_HARDSIGN	0x06ff
#define XK_Greek_ALPHAaccent	0x07a1
#define XK_Greek_EPSILONaccent	0x07a2
#define XK_Greek_ETAaccent	0x07a3
#define XK_Greek_IOTAaccent	0x07a4
#define XK_Greek_IOTAdiaeresis	0x07a5
#define XK_Greek_IOTAdieresis	0x07a5
#define XK_Greek_OMICRONaccent	0x07a7
#define XK_Greek_UPSILONaccent	0x07a8
#define XK_Greek_UPSILONdieresis	0x07a9
#define XK_Greek_OMEGAaccent	0x07ab
#define XK_Greek_accentdieresis	0x07ae
#define XK_Greek_horizbar	0x07af
#define XK_Greek_alphaaccent	0x07b1
#define XK_Greek_epsilonaccent	0x07b2
#define XK_Greek_etaaccent	0x07b3
#define XK_Greek_iotaaccent	0x07b4
#define XK_Greek_iotadieresis	0x07b5
#define XK_Greek_iotaaccentdieresis	0x07b6
#define XK_Greek_omicronaccent	0x07b7
#define XK_Greek_upsilonaccent	0x07b8
#define XK_Greek_upsilondieresis	0x07b9
#define XK_Greek_upsilonaccentdieresis	0x07ba
#define XK_Greek_omegaaccent	0x07bb
#define XK_Greek_ALPHA	0x07c1
#define XK_Greek_BETA	0x07c2
#define XK_Greek_GAMMA	0x07c3
#define XK_Greek_DELTA	0x07c4
#define XK_Greek_EPSILON	0x07c5
#define XK_Greek_ZETA	0x07c6
#define XK_Greek_ETA	0x07c7
#define XK_Greek_THETA	0x07c8
#define XK_Greek_IOTA	0x07c9
#define XK_Greek_KAPPA	0x07ca
#define XK_Greek_LAMBDA	0x07cb
#define XK_Greek_LAMDA	0x07cb
#define XK_Greek_MU	0x07cc
#define XK_Greek_NU	0x07cd
#define XK_Greek_XI	0x07ce
#define XK_Greek_OMICRON	0x07cf
#define XK_Greek_PI	0x07d0
#define XK_Greek_RHO	0x07d1
#define XK_Greek_SIGMA	0x07d2
#define XK_Greek_TAU	0x07d4
#define XK_Greek_UPSILON	0x07d5
#define XK_Greek_PHI	0x07d6
#define XK_Greek_CHI	0x07d7
#define XK_Greek_PSI	0x07d8
#define XK_Greek_OMEGA	0x07d9
#define XK_Greek_alpha	0x07e1
#define XK_Greek_beta	0x07e2
#define XK_Greek_gamma	0x07e3
#define XK_Greek_delta	0x07e4
#define XK_Greek_epsilon	0x07e5
#define XK_Greek_zeta	0x07e6
#define XK_Greek_eta	0x07e7
#define XK_Greek_theta	0x07e8
#define XK_Greek_iota	0x07e9
#define XK_Greek_kappa	0x07ea
#define XK_Greek_lambda	0x07eb
#define XK_Greek_lamda	0x07eb
#define XK_Greek_mu	0x07ec
#define XK_Greek_nu	0x07ed
#define XK_Greek_xi	0x07ee
#define XK_Greek_omicron	0x07ef
#define XK_Greek_pi	0x07f0
#define XK_Greek_rho	0x07f1
#define XK_Greek_sigma	0x07f2
#define XK_Greek_finalsmallsigma	0x07f3
#define XK_Greek_tau	0x07f4
#define XK_Greek_upsilon	0x07f5
#define XK_Greek_phi	0x07f6
#define XK_Greek_chi	0x07f7
#define XK_Greek_psi	0x07f8
#define XK_Greek_omega	0x07f9
#define XK_leftradical	0x08a1
#define XK_topleftradical	0x08a2
#define XK_horizconnector	0x08a3
#define XK_topintegral	0x08a4
#define XK_botintegral	0x08a5
#define XK_vertconnector	0x08a6
#define XK_topleftsqbracket	0x08a7
#define XK_botleftsqbracket	0x08a8
#define XK_toprightsqbracket	0x08a9
#define XK_botrightsqbracket	0x08aa
#define XK_topleftparens	0x08ab
#define XK_botleftparens	0x08ac
#define XK_toprightparens	0x08ad
#define XK_botrightparens	0x08ae
#define XK_leftmiddlecurlybrace	0x08af
#define XK_rightmiddlecurlybrace	0x08b0
#define XK_topleftsummation	0x08b1
#define XK_botleftsummation	0x08b2
#define XK_topvertsummationconnector	0x08b3
#define XK_botvertsummationconnector	0x08b4
#define XK_toprightsummation	0x08b5
#define XK_botrightsummation	0x08b6
#define XK_rightmiddlesummation	0x08b7
#define XK_lessthanequal	0x08bc
#define XK_notequal	0x08bd
#define XK_greaterthanequal	0x08be
#define XK_integral	0x08bf
#define XK_therefore	0x08c0
#define XK_variation	0x08c1
#define XK_infinity	0x08c2
#define XK_nabla	0x08c5
#define XK_approximate	0x08c8
#define XK_similarequal	0x08c9
#define XK_ifonlyif	0x08cd
#define XK_implies	0x08ce
#define XK_identical	0x08cf
#define XK_radical	0x08d6
#define XK_includedin	0x08da
#define XK_includes	0x08db
#define XK_intersection	0x08dc
#define XK_union	0x08dd
#define XK_logicaland	0x08de
#define XK_logicalor	0x08df
#define XK_partialderivative	0x08ef
#define XK_function	0x08f6
#define XK_leftarrow	0x08fb
#define XK_uparrow	0x08fc
#define XK_rightarrow	0x08fd
#define XK_downarrow	0x08fe
#define XK_blank	0x09df
#define XK_soliddiamond	0x09e0
#define XK_checkerboard	0x09e1
#define XK_ht	0x09e2
#define XK_ff	0x09e3
#define XK_cr	0x09e4
#define XK_lf	0x09e5
#define XK_nl	0x09e8
#define XK_vt	0x09e9
#define XK_lowrightcorner	0x09ea
#define XK_uprightcorner	0x09eb
#define XK_upleftcorner	0x09ec
#define XK_lowleftcorner	0x09ed
#define XK_crossinglines	0x09ee
#define XK_horizlinescan1	0x09ef
#define XK_horizlinescan3	0x09f0
#define XK_horizlinescan5	0x09f1
#define XK_horizlinescan7	0x09f2
#define XK_horizlinescan9	0x09f3
#define XK_leftt	0x09f4
#define XK_rightt	0x09f5
#define XK_bott	0x09f6
#define XK_topt	0x09f7
#define XK_vertbar	0x09f8
#define XK_emspace	0x0aa1
#define XK_enspace	0x0aa2
#define XK_em3space	0x0aa3
#define XK_em4space	0x0aa4
#define XK_digitspace	0x0aa5
#define XK_punctspace	0x0aa6
#define XK_thinspace	0x0aa7
#define XK_hairspace	0x0aa8
#define XK_emdash	0x0aa9
#define XK_endash	0x0aaa
#define XK_signifblank	0x0aac
#define XK_ellipsis	0x0aae
#define XK_doubbaselinedot	0x0aaf
#define XK_onethird	0x0ab0
#define XK_twothirds	0x0ab1
#define XK_onefifth	0x0ab2
#define XK_twofifths	0x0ab3
#define XK_threefifths	0x0ab4
#define XK_fourfifths	0x0ab5
#define XK_onesixth	0x0ab6
#define XK_fivesixths	0x0ab7
#define XK_careof	0x0ab8
#define XK_figdash	0x0abb
#define XK_leftanglebracket	0x0abc
#define XK_decimalpoint	0x0abd
#define XK_rightanglebracket	0x0abe
#define XK_marker	0x0abf
#define XK_oneeighth	0x0ac3
#define XK_threeeighths	0x0ac4
#define XK_fiveeighths	0x0ac5
#define XK_seveneighths	0x0ac6
#define XK_trademark	0x0ac9
#define XK_signaturemark	0x0aca
#define XK_trademarkincircle	0x0acb
#define XK_leftopentriangle	0x0acc
#define XK_rightopentriangle	0x0acd
#define XK_emopencircle	0x0ace
#define XK_emopenrectangle	0x0acf
#define XK_leftsinglequotemark	0x0ad0
#define XK_rightsinglequotemark	0x0ad1
#define XK_leftdoublequotemark	0x0ad2
#define XK_rightdoublequotemark	0x0ad3
#define XK_prescription	0x0ad4
#define XK_minutes	0x0ad6
#define XK_seconds	0x0ad7
#define XK_latincross	0x0ad9
#define XK_hexagram	0x0ada
#define XK_filledrectbullet	0x0adb
#define XK_filledlefttribullet	0x0adc
#define XK_filledrighttribullet	0x0add
#define XK_emfilledcircle	0x0ade
#define XK_emfilledrect	0x0adf
#define XK_enopencircbullet	0x0ae0
#define XK_enopensquarebullet	0x0ae1
#define XK_openrectbullet	0x0ae2
#define XK_opentribulletup	0x0ae3
#define XK_opentribulletdown	0x0ae4
#define XK_openstar	0x0ae5
#define XK_enfilledcircbullet	0x0ae6
#define XK_enfilledsqbullet	0x0ae7
#define XK_filledtribulletup	0x0ae8
#define XK_filledtribulletdown	0x0ae9
#define XK_leftpointer	0x0aea
#define XK_rightpointer	0x0aeb
#define XK_club	0x0aec
#define XK_diamond	0x0aed
#define XK_heart	0x0aee
#define XK_maltesecross	0x0af0
#define XK_dagger	0x0af1
#define XK_doubledagger	0x0af2
#define XK_checkmark	0x0af3
#define XK_ballotcross	0x0af4
#define XK_musicalsharp	0x0af5
#define XK_musicalflat	0x0af6
#define XK_malesymbol	0x0af7
#define XK_femalesymbol	0x0af8
#define XK_telephone	0x0af9
#define XK_telephonerecorder	0x0afa
#define XK_phonographcopyright	0x0afb
#define XK_caret	0x0afc
#define XK_singlelowquotemark	0x0afd
#define XK_doublelowquotemark	0x0afe
#define XK_cursor	0x0aff
#define XK_leftcaret	0x0ba3
#define XK_rightcaret	0x0ba6
#define XK_downcaret	0x0ba8
#define XK_upcaret	0x0ba9
#define XK_overbar	0x0bc0
#define XK_downtack	0x0bc2
#define XK_upshoe	0x0bc3
#define XK_downstile	0x0bc4
#define XK_underbar	0x0bc6
#define XK_jot	0x0bca
#define XK_quad	0x0bcc
#define XK_uptack	0x0bce
#define XK_circle	0x0bcf
#define XK_upstile	0x0bd3
#define XK_downshoe	0x0bd6
#define XK_rightshoe	0x0bd8
#define XK_leftshoe	0x0bda
#define XK_lefttack	0x0bdc
#define XK_righttack	0x0bfc
#define XK_hebrew_doublelowline	0x0cdf
#define XK_hebrew_aleph	0x0ce0
#define XK_hebrew_bet	0x0ce1
#define XK_hebrew_beth	0x0ce1
#define XK_hebrew_gimel	0x0ce2
#define XK_hebrew_gimmel	0x0ce2
#define XK_hebrew_dalet	0x0ce3
#define XK_hebrew_daleth	0x0ce3
#define XK_hebrew_he	0x0ce4
#define XK_hebrew_waw	0x0ce5
#define XK_hebrew_zain	0x0ce6
#define XK_hebrew_zayin	0x0ce6
#define XK_hebrew_chet	0x0ce7
#define XK_hebrew_het	0x0ce7
#define XK_hebrew_tet	0x0ce8
#define XK_hebrew_teth	0x0ce8
#define XK_hebrew_yod	0x0ce9
#define XK_hebrew_finalkaph	0x0cea
#define XK_hebrew_kaph	0x0ceb
#define XK_hebrew_lamed	0x0cec
#define XK_hebrew_finalmem	0x0ced
#define XK_hebrew_mem	0x0cee
#define XK_hebrew_finalnun	0x0cef
#define XK_hebrew_nun	0x0cf0
#define XK_hebrew_samech	0x0cf1
#define XK_hebrew_samekh	0x0cf1
#define XK_hebrew_ayin	0x0cf2
#define XK_hebrew_finalpe	0x0cf3
#define XK_hebrew_pe	0x0cf4
#define XK_hebrew_finalzade	0x0cf5
#define XK_hebrew_finalzadi	0x0cf5
#define XK_hebrew_zade	0x0cf6
#define XK_hebrew_zadi	0x0cf6
#define XK_hebrew_kuf	0x0cf7
#define XK_hebrew_qoph	0x0cf7
#define XK_hebrew_resh	0x0cf8
#define XK_hebrew_shin	0x0cf9
#define XK_hebrew_taf	0x0cfa
#define XK_hebrew_taw	0x0cfa
#define XK_Thai_kokai	0x0da1
#define XK_Thai_khokhai	0x0da2
#define XK_Thai_khokhuat	0x0da3
#define XK_Thai_khokhwai	0x0da4
#define XK_Thai_khokhon	0x0da5
#define XK_Thai_khorakhang	0x0da6
#define XK_Thai_ngongu	0x0da7
#define XK_Thai_chochan	0x0da8
#define XK_Thai_choching	0x0da9
#define XK_Thai_chochang	0x0daa
#define XK_Thai_soso	0x0dab
#define XK_Thai_chochoe	0x0dac
#define XK_Thai_yoying	0x0dad
#define XK_Thai_dochada	0x0dae
#define XK_Thai_topatak	0x0daf
#define XK_Thai_thothan	0x0db0
#define XK_Thai_thonangmontho	0x0db1
#define XK_Thai_thophuthao	0x0db2
#define XK_Thai_nonen	0x0db3
#define XK_Thai_dodek	0x0db4
#define XK_Thai_totao	0x0db5
#define XK_Thai_thothung	0x0db6
#define XK_Thai_thothahan	0x0db7
#define XK_Thai_thothong	0x0db8
#define XK_Thai_nonu	0x0db9
#define XK_Thai_bobaimai	0x0dba
#define XK_Thai_popla	0x0dbb
#define XK_Thai_phophung	0x0dbc
#define XK_Thai_fofa	0x0dbd
#define XK_Thai_phophan	0x0dbe
#define XK_Thai_fofan	0x0dbf
#define XK_Thai_phosamphao	0x0dc0
#define XK_Thai_moma	0x0dc1
#define XK_Thai_yoyak	0x0dc2
#define XK_Thai_rorua	0x0dc3
#define XK_Thai_ru	0x0dc4
#define XK_Thai_loling	0x0dc5
#define XK_Thai_lu	0x0dc6
#define XK_Thai_wowaen	0x0dc7
#define XK_Thai_sosala	0x0dc8
#define XK_Thai_sorusi	0x0dc9
#define XK_Thai_sosua	0x0dca
#define XK_Thai_hohip	0x0dcb
#define XK_Thai_lochula	0x0dcc
#define XK_Thai_oang	0x0dcd
#define XK_Thai_honokhuk	0x0dce
#define XK_Thai_paiyannoi	0x0dcf
#define XK_Thai_saraa	0x0dd0
#define XK_Thai_maihanakat	0x0dd1
#define XK_Thai_saraaa	0x0dd2
#define XK_Thai_saraam	0x0dd3
#define XK_Thai_sarai	0x0dd4
#define XK_Thai_saraii	0x0dd5
#define XK_Thai_saraue	0x0dd6
#define XK_Thai_sarauee	0x0dd7
#define XK_Thai_sarau	0x0dd8
#define XK_Thai_sarauu	0x0dd9
#define XK_Thai_phinthu	0x0dda
#define XK_Thai_maihanakat_maitho	0x0dde
#define XK_Thai_baht	0x0ddf
#define XK_Thai_sarae	0x0de0
#define XK_Thai_saraae	0x0de1
#define XK_Thai_sarao	0x0de2
#define XK_Thai_saraaimaimuan	0x0de3
#define XK_Thai_saraaimaimalai	0x0de4
#define XK_Thai_lakkhangyao	0x0de5
#define XK_Thai_maiyamok	0x0de6
#define XK_Thai_maitaikhu	0x0de7
#define XK_Thai_maiek	0x0de8
#define XK_Thai_maitho	0x0de9
#define XK_Thai_maitri	0x0dea
#define XK_Thai_maichattawa	0x0deb
#define XK_Thai_thanthakhat	0x0dec
#define XK_Thai_nikhahit	0x0ded
#define XK_Thai_leksun	0x0df0
#define XK_Thai_leknung	0x0df1
#define XK_Thai_leksong	0x0df2
#define XK_Thai_leksam	0x0df3
#define XK_Thai_leksi	0x0df4
#define XK_Thai_lekha	0x0df5
#define XK_Thai_lekhok	0x0df6
#define XK_Thai_lekchet	0x0df7
#define XK_Thai_lekpaet	0x0df8
#define XK_Thai_lekkao	0x0df9
#define XK_Hangul_Kiyeog	0x0ea1
#define XK_Hangul_SsangKiyeog	0x0ea2
#define XK_Hangul_KiyeogSios	0x0ea3
#define XK_Hangul_Nieun	0x0ea4
#define XK_Hangul_NieunJieuj	0x0ea5
#define XK_Hangul_NieunHieuh	0x0ea6
#define XK_Hangul_Dikeud	0x0ea7
#define XK_Hangul_SsangDikeud	0x0ea8
#define XK_Hangul_Rieul	0x0ea9
#define XK_Hangul_RieulKiyeog	0x0eaa
#define XK_Hangul_RieulMieum	0x0eab
#define XK_Hangul_RieulPieub	0x0eac
#define XK_Hangul_RieulSios	0x0ead
#define XK_Hangul_RieulTieut	0x0eae
#define XK_Hangul_RieulPhieuf	0x0eaf
#define XK_Hangul_RieulHieuh	0x0eb0
#define XK_Hangul_Mieum	0x0eb1
#define XK_Hangul_Pieub	0x0eb2
#define XK_Hangul_SsangPieub	0x0eb3
#define XK_Hangul_PieubSios	0x0eb4
#define XK_Hangul_Sios	0x0eb5
#define XK_Hangul_SsangSios	0x0eb6
#define XK_Hangul_Ieung	0x0eb7
#define XK_Hangul_Jieuj	0x0eb8
#define XK_Hangul_SsangJieuj	0x0eb9
#define XK_Hangul_Cieuc	0x0eba
#define XK_Hangul_Khieuq	0x0ebb
#define XK_Hangul_Tieut	0x0ebc
#define XK_Hangul_Phieuf	0x0ebd
#define XK_Hangul_Hieuh	0x0ebe
#define XK_Hangul_A	0x0ebf
#define XK_Hangul_AE	0x0ec0
#define XK_Hangul_YA	0x0ec1
#define XK_Hangul_YAE	0x0ec2
#define XK_Hangul_EO	0x0ec3
#define XK_Hangul_E	0x0ec4
#define XK_Hangul_YEO	0x0ec5
#define XK_Hangul_YE	0x0ec6
#define XK_Hangul_O	0x0ec7
#define XK_Hangul_WA	0x0ec8
#define XK_Hangul_WAE	0x0ec9
#define XK_Hangul_OE	0x0eca
#define XK_Hangul_YO	0x0ecb
#define XK_Hangul_U	0x0ecc
#define XK_Hangul_WEO	0x0ecd
#define XK_Hangul_WE	0x0ece
#define XK_Hangul_WI	0x0ecf
#define XK_Hangul_YU	0x0ed0
#define XK_Hangul_EU	0x0ed1
#define XK_Hangul_YI	0x0ed2
#define XK_Hangul_I	0x0ed3
#define XK_Hangul_J_Kiyeog	0x0ed4
#define XK_Hangul_J_SsangKiyeog	0x0ed5
#define XK_Hangul_J_KiyeogSios	0x0ed6
#define XK_Hangul_J_Nieun	0x0ed7
#define XK_Hangul_J_NieunJieuj	0x0ed8
#define XK_Hangul_J_NieunHieuh	0x0ed9
#define XK_Hangul_J_Dikeud	0x0eda
#define XK_Hangul_J_Rieul	0x0edb
#define XK_Hangul_J_RieulKiyeog	0x0edc
#define XK_Hangul_J_RieulMieum	0x0edd
#define XK_Hangul_J_RieulPieub	0x0ede
#define XK_Hangul_J_RieulSios	0x0edf
#define XK_Hangul_J_RieulTieut	0x0ee0
#define XK_Hangul_J_RieulPhieuf	0x0ee1
#define XK_Hangul_J_RieulHieuh	0x0ee2
#define XK_Hangul_J_Mieum	0x0ee3
#define XK_Hangul_J_Pieub	0x0ee4
#define XK_Hangul_J_PieubSios	0x0ee5
#define XK_Hangul_J_Sios	0x0ee6
#define XK_Hangul_J_SsangSios	0x0ee7
#define XK_Hangul_J_Ieung	0x0ee8
#define XK_Hangul_J_Jieuj	0x0ee9
#define XK_Hangul_J_Cieuc	0x0eea
#define XK_Hangul_J_Khieuq	0x0eeb
#define XK_Hangul_J_Tieut	0x0eec
#define XK_Hangul_J_Phieuf	0x0eed
#define XK_Hangul_J_Hieuh	0x0eee
#define XK_Hangul_RieulYeorinHieuh	0x0eef
#define XK_Hangul_SunkyeongeumMieum	0x0ef0
#define XK_Hangul_SunkyeongeumPieub	0x0ef1
#define XK_Hangul_PanSios	0x0ef2
#define XK_Hangul_KkogjiDalrinIeung	0x0ef3
#define XK_Hangul_SunkyeongeumPhieuf	0x0ef4
#define XK_Hangul_YeorinHieuh	0x0ef5
#define XK_Hangul_AraeA	0x0ef6
#define XK_Hangul_AraeAE	0x0ef7
#define XK_Hangul_J_PanSios	0x0ef8
#define XK_Hangul_J_KkogjiDalrinIeung	0x0ef9
#define XK_Hangul_J_YeorinHieuh	0x0efa
#define XK_Korean_Won	0x0eff
#define XK_Ibreve	0x100012c
#define XK_ibreve	0x100012d
#define XK_Wcircumflex	0x1000174
#define XK_wcircumflex	0x1000175
#define XK_Ycircumflex	0x1000176
#define XK_ycircumflex	0x1000177
#define XK_SCHWA	0x100018f
#define XK_Obarred	0x100019f
#define XK_Ohorn	0x10001a0
#define XK_ohorn	0x10001a1
#define XK_Uhorn	0x10001af
#define XK_uhorn	0x10001b0
#define XK_Zstroke	0x10001b5
#define XK_zstroke	0x10001b6
#define XK_Ocaron	0x10001d1
#define XK_ocaron	0x10001d2
#define XK_Gcaron	0x10001e6
#define XK_gcaron	0x10001e7
#define XK_schwa	0x1000259
#define XK_obarred	0x1000275
#define XK_Cyrillic_GHE_bar	0x1000492
#define XK_Cyrillic_ghe_bar	0x1000493
#define XK_Cyrillic_ZHE_descender	0x1000496
#define XK_Cyrillic_zhe_descender	0x1000497
#define XK_Cyrillic_KA_descender	0x100049a
#define XK_Cyrillic_ka_descender	0x100049b
#define XK_Cyrillic_KA_vertstroke	0x100049c
#define XK_Cyrillic_ka_vertstroke	0x100049d
#define XK_Cyrillic_EN_descender	0x10004a2
#define XK_Cyrillic_en_descender	0x10004a3
#define XK_Cyrillic_U_straight	0x10004ae
#define XK_Cyrillic_u_straight	0x10004af
#define XK_Cyrillic_U_straight_bar	0x10004b0
#define XK_Cyrillic_u_straight_bar	0x10004b1
#define XK_Cyrillic_HA_descender	0x10004b2
#define XK_Cyrillic_ha_descender	0x10004b3
#define XK_Cyrillic_CHE_descender	0x10004b6
#define XK_Cyrillic_che_descender	0x10004b7
#define XK_Cyrillic_CHE_vertstroke	0x10004b8
#define XK_Cyrillic_che_vertstroke	0x10004b9
#define XK_Cyrillic_SHHA	0x10004ba
#define XK_Cyrillic_shha	0x10004bb
#define XK_Cyrillic_SCHWA	0x10004d8
#define XK_Cyrillic_schwa	0x10004d9
#define XK_Cyrillic_I_macron	0x10004e2
#define XK_Cyrillic_i_macron	0x10004e3
#define XK_Cyrillic_O_bar	0x10004e8
#define XK_Cyrillic_o_bar	0x10004e9
#define XK_Cyrillic_U_macron	0x10004ee
#define XK_Cyrillic_u_macron	0x10004ef
#define XK_Armenian_AYB	0x1000531
#define XK_Armenian_BEN	0x1000532
#define XK_Armenian_GIM	0x1000533
#define XK_Armenian_DA	0x1000534
#define XK_Armenian_YECH	0x1000535
#define XK_Armenian_ZA	0x1000536
#define XK_Armenian_E	0x1000537
#define XK_Armenian_AT	0x1000538
#define XK_Armenian_TO	0x1000539
#define XK_Armenian_ZHE	0x100053a
#define XK_Armenian_INI	0x100053b
#define XK_Armenian_LYUN	0x100053c
#define XK_Armenian_KHE	0x100053d
#define XK_Armenian_TSA	0x100053e
#define XK_Armenian_KEN	0x100053f
#define XK_Armenian_HO	0x1000540
#define XK_Armenian_DZA	0x1000541
#define XK_Armenian_GHAT	0x1000542
#define XK_Armenian_TCHE	0x1000543
#define XK_Armenian_MEN	0x1000544
#define XK_Armenian_HI	0x1000545
#define XK_Armenian_NU	0x1000546
#define XK_Armenian_SHA	0x1000547
#define XK_Armenian_VO	0x1000548
#define XK_Armenian_CHA	0x1000549
#define XK_Armenian_PE	0x100054a
#define XK_Armenian_JE	0x100054b
#define XK_Armenian_RA	0x100054c
#define XK_Armenian_SE	0x100054d
#define XK_Armenian_VEV	0x100054e
#define XK_Armenian_TYUN	0x100054f
#define XK_Armenian_RE	0x1000550
#define XK_Armenian_TSO	0x1000551
#define XK_Armenian_VYUN	0x1000552
#define XK_Armenian_PYUR	0x1000553
#define XK_Armenian_KE	0x1000554
#define XK_Armenian_O	0x1000555
#define XK_Armenian_FE	0x1000556
#define XK_Armenian_apostrophe	0x100055a
#define XK_Armenian_accent	0x100055b
#define XK_Armenian_shesht	0x100055b
#define XK_Armenian_amanak	0x100055c
#define XK_Armenian_exclam	0x100055c
#define XK_Armenian_but	0x100055d
#define XK_Armenian_separation_mark	0x100055d
#define XK_Armenian_paruyk	0x100055e
#define XK_Armenian_question	0x100055e
#define XK_Armenian_ayb	0x1000561
#define XK_Armenian_ben	0x1000562
#define XK_Armenian_gim	0x1000563
#define XK_Armenian_da	0x1000564
#define XK_Armenian_yech	0x1000565
#define XK_Armenian_za	0x1000566
#define XK_Armenian_e	0x1000567
#define XK_Armenian_at	0x1000568
#define XK_Armenian_to	0x1000569
#define XK_Armenian_zhe	0x100056a
#define XK_Armenian_ini	0x100056b
#define XK_Armenian_lyun	0x100056c
#define XK_Armenian_khe	0x100056d
#define XK_Armenian_tsa	0x100056e
#define XK_Armenian_ken	0x100056f
#define XK_Armenian_ho	0x1000570
#define XK_Armenian_dza	0x1000571
#define XK_Armenian_ghat	0x1000572
#define XK_Armenian_tche	0x1000573
#define XK_Armenian_men	0x1000574
#define XK_Armenian_hi	0x1000575
#define XK_Armenian_nu	0x1000576
#define XK_Armenian_sha	0x1000577
#define XK_Armenian_vo	0x1000578
#define XK_Armenian_cha	0x1000579
#define XK_Armenian_pe	0x100057a
#define XK_Armenian_je	0x100057b
#define XK_Armenian_ra	0x100057c
#define XK_Armenian_se	0x100057d
#define XK_Armenian_vev	0x100057e
#define XK_Armenian_tyun	0x100057f
#define XK_Armenian_re	0x1000580
#define XK_Armenian_tso	0x1000581
#define XK_Armenian_vyun	0x1000582
#define XK_Armenian_pyur	0x1000583
#define XK_Armenian_ke	0x1000584
#define XK_Armenian_o	0x1000585
#define XK_Armenian_fe	0x1000586
#define XK_Armenian_ligature_ew	0x1000587
#define XK_Armenian_full_stop	0x1000589
#define XK_Armenian_verjaket	0x1000589
#define XK_Armenian_hyphen	0x100058a
#define XK_Armenian_yentamna	0x100058a
#define XK_Arabic_madda_above	0x1000653
#define XK_Arabic_hamza_above	0x1000654
#define XK_Arabic_hamza_below	0x1000655
#define XK_Arabic_0	0x1000660
#define XK_Arabic_1	0x1000661
#define XK_Arabic_2	0x1000662
#define XK_Arabic_3	0x1000663
#define XK_Arabic_4	0x1000664
#define XK_Arabic_5	0x1000665
#define XK_Arabic_6	0x1000666
#define XK_Arabic_7	0x1000667
#define XK_Arabic_8	0x1000668
#define XK_Arabic_9	0x1000669
#define XK_Arabic_percent	0x100066a
#define XK_Arabic_superscript_alef	0x1000670
#define XK_Arabic_tteh	0x1000679
#define XK_Arabic_peh	0x100067e
#define XK_Arabic_tcheh	0x1000686
#define XK_Arabic_ddal	0x1000688
#define XK_Arabic_rreh	0x1000691
#define XK_Arabic_jeh	0x1000698
#define XK_Arabic_veh	0x10006a4
#define XK_Arabic_keheh	0x10006a9
#define XK_Arabic_gaf	0x10006af
#define XK_Arabic_noon_ghunna	0x10006ba
#define XK_Arabic_heh_doachashmee	0x10006be
#define XK_Arabic_heh_goal	0x10006c1
#define XK_Arabic_farsi_yeh	0x10006cc
#define XK_Farsi_yeh	0x10006cc
#define XK_Arabic_yeh_baree	0x10006d2
#define XK_Arabic_fullstop	0x10006d4
#define XK_Farsi_0	0x10006f0
#define XK_Farsi_1	0x10006f1
#define XK_Farsi_2	0x10006f2
#define XK_Farsi_3	0x10006f3
#define XK_Farsi_4	0x10006f4
#define XK_Farsi_5	0x10006f5
#define XK_Farsi_6	0x10006f6
#define XK_Farsi_7	0x10006f7
#define XK_Farsi_8	0x10006f8
#define XK_Farsi_9	0x10006f9
#define XK_Georgian_an	0x10010d0
#define XK_Georgian_ban	0x10010d1
#define XK_Georgian_gan	0x10010d2
#define XK_Georgian_don	0x10010d3
#define XK_Georgian_en	0x10010d4
#define XK_Georgian_vin	0x10010d5
#define XK_Georgian_zen	0x10010d6
#define XK_Georgian_tan	0x10010d7
#define XK_Georgian_in	0x10010d8
#define XK_Georgian_kan	0x10010d9
#define XK_Georgian_las	0x10010da
#define XK_Georgian_man	0x10010db
#define XK_Georgian_nar	0x10010dc
#define XK_Georgian_on	0x10010dd
#define XK_Georgian_par	0x10010de
#define XK_Georgian_zhar	0x10010df
#define XK_Georgian_rae	0x10010e0
#define XK_Georgian_san	0x10010e1
#define XK_Georgian_tar	0x10010e2
#define XK_Georgian_un	0x10010e3
#define XK_Georgian_phar	0x10010e4
#define XK_Georgian_khar	0x10010e5
#define XK_Georgian_ghan	0x10010e6
#define XK_Georgian_qar	0x10010e7
#define XK_Georgian_shin	0x10010e8
#define XK_Georgian_chin	0x10010e9
#define XK_Georgian_can	0x10010ea
#define XK_Georgian_jil	0x10010eb
#define XK_Georgian_cil	0x10010ec
#define XK_Georgian_char	0x10010ed
#define XK_Georgian_xan	0x10010ee
#define XK_Georgian_jhan	0x10010ef
#define XK_Georgian_hae	0x10010f0
#define XK_Georgian_he	0x10010f1
#define XK_Georgian_hie	0x10010f2
#define XK_Georgian_we	0x10010f3
#define XK_Georgian_har	0x10010f4
#define XK_Georgian_hoe	0x10010f5
#define XK_Georgian_fi	0x10010f6
#define XK_Babovedot	0x1001e02
#define XK_babovedot	0x1001e03
#define XK_Dabovedot	0x1001e0a
#define XK_dabovedot	0x1001e0b
#define XK_Fabovedot	0x1001e1e
#define XK_fabovedot	0x1001e1f
#define XK_Lbelowdot	0x1001e36
#define XK_lbelowdot	0x1001e37
#define XK_Mabovedot	0x1001e40
#define XK_mabovedot	0x1001e41
#define XK_Pabovedot	0x1001e56
#define XK_pabovedot	0x1001e57
#define XK_Sabovedot	0x1001e60
#define XK_sabovedot	0x1001e61
#define XK_Tabovedot	0x1001e6a
#define XK_tabovedot	0x1001e6b
#define XK_Wgrave	0x1001e80
#define XK_wgrave	0x1001e81
#define XK_Wacute	0x1001e82
#define XK_wacute	0x1001e83
#define XK_Wdiaeresis	0x1001e84
#define XK_wdiaeresis	0x1001e85
#define XK_Xabovedot	0x1001e8a
#define XK_xabovedot	0x1001e8b
#define XK_Abelowdot	0x1001ea0
#define XK_abelowdot	0x1001ea1
#define XK_Ahook	0x1001ea2
#define XK_ahook	0x1001ea3
#define XK_Acircumflexacute	0x1001ea4
#define XK_acircumflexacute	0x1001ea5
#define XK_Acircumflexgrave	0x1001ea6
#define XK_acircumflexgrave	0x1001ea7
#define XK_Acircumflexhook	0x1001ea8
#define XK_acircumflexhook	0x1001ea9
#define XK_Acircumflextilde	0x1001eaa
#define XK_acircumflextilde	0x1001eab
#define XK_Acircumflexbelowdot	0x1001eac
#define XK_acircumflexbelowdot	0x1001ead
#define XK_Abreveacute	0x1001eae
#define XK_abreveacute	0x1001eaf
#define XK_Abrevegrave	0x1001eb0
#define XK_abrevegrave	0x1001eb1
#define XK_Abrevehook	0x1001eb2
#define XK_abrevehook	0x1001eb3
#define XK_Abrevetilde	0x1001eb4
#define XK_abrevetilde	0x1001eb5
#define XK_Abrevebelowdot	0x1001eb6
#define XK_abrevebelowdot	0x1001eb7
#define XK_Ebelowdot	0x1001eb8
#define XK_ebelowdot	0x1001eb9
#define XK_Ehook	0x1001eba
#define XK_ehook	0x1001ebb
#define XK_Etilde	0x1001ebc
#define XK_etilde	0x1001ebd
#define XK_Ecircumflexacute	0x1001ebe
#define XK_ecircumflexacute	0x1001ebf
#define XK_Ecircumflexgrave	0x1001ec0
#define XK_ecircumflexgrave	0x1001ec1
#define XK_Ecircumflexhook	0x1001ec2
#define XK_ecircumflexhook	0x1001ec3
#define XK_Ecircumflextilde	0x1001ec4
#define XK_ecircumflextilde	0x1001ec5
#define XK_Ecircumflexbelowdot	0x1001ec6
#define XK_ecircumflexbelowdot	0x1001ec7
#define XK_Ihook	0x1001ec8
#define XK_ihook	0x1001ec9
#define XK_Ibelowdot	0x1001eca
#define XK_ibelowdot	0x1001ecb
#define XK_Obelowdot	0x1001ecc
#define XK_obelowdot	0x1001ecd
#define XK_Ohook	0x1001ece
#define XK_ohook	0x1001ecf
#define XK_Ocircumflexacute	0x1001ed0
#define XK_ocircumflexacute	0x1001ed1
#define XK_Ocircumflexgrave	0x1001ed2
#define XK_ocircumflexgrave	0x1001ed3
#define XK_Ocircumflexhook	0x1001ed4
#define XK_ocircumflexhook	0x1001ed5
#define XK_Ocircumflextilde	0x1001ed6
#define XK_ocircumflextilde	0x1001ed7
#define XK_Ocircumflexbelowdot	0x1001ed8
#define XK_ocircumflexbelowdot	0x1001ed9
#define XK_Ohornacute	0x1001eda
#define XK_ohornacute	0x1001edb
#define XK_Ohorngrave	0x1001edc
#define XK_ohorngrave	0x1001edd
#define XK_Ohornhook	0x1001ede
#define XK_ohornhook	0x1001edf
#define XK_Ohorntilde	0x1001ee0
#define XK_ohorntilde	0x1001ee1
#define XK_Ohornbelowdot	0x1001ee2
#define XK_ohornbelowdot	0x1001ee3
#define XK_Ubelowdot	0x1001ee4
#define XK_ubelowdot	0x1001ee5
#define XK_Uhook	0x1001ee6
#define XK_uhook	0x1001ee7
#define XK_Uhornacute	0x1001ee8
#define XK_uhornacute	0x1001ee9
#define XK_Uhorngrave	0x1001eea
#define XK_uhorngrave	0x1001eeb
#define XK_Uhornhook	0x1001eec
#define XK_uhornhook	0x1001eed
#define XK_Uhorntilde	0x1001eee
#define XK_uhorntilde	0x1001eef
#define XK_Uhornbelowdot	0x1001ef0
#define XK_uhornbelowdot	0x1001ef1
#define XK_Ygrave	0x1001ef2
#define XK_ygrave	0x1001ef3
#define XK_Ybelowdot	0x1001ef4
#define XK_ybelowdot	0x1001ef5
#define XK_Yhook	0x1001ef6
#define XK_yhook	0x1001ef7
#define XK_Ytilde	0x1001ef8
#define XK_ytilde	0x1001ef9
#define XK_zerosuperior	0x1002070
#define XK_foursuperior	0x1002074
#define XK_fivesuperior	0x1002075
#define XK_sixsuperior	0x1002076
#define XK_sevensuperior	0x1002077
#define XK_eightsuperior	0x1002078
#define XK_ninesuperior	0x1002079
#define XK_zerosubscript	0x1002080
#define XK_onesubscript	0x1002081
#define XK_twosubscript	0x1002082
#define XK_threesubscript	0x1002083
#define XK_foursubscript	0x1002084
#define XK_fivesubscript	0x1002085
#define XK_sixsubscript	0x1002086
#define XK_sevensubscript	0x1002087
#define XK_eightsubscript	0x1002088
#define XK_ninesubscript	0x1002089
#define XK_EcuSign	0x10020a0
#define XK_ColonSign	0x10020a1
#define XK_CruzeiroSign	0x10020a2
#define XK_FFrancSign	0x10020a3
#define XK_LiraSign	0x10020a4
#define XK_MillSign	0x10020a5
#define XK_NairaSign	0x10020a6
#define XK_PesetaSign	0x10020a7
#define XK_RupeeSign	0x10020a8
#define XK_WonSign	0x10020a9
#define XK_NewSheqelSign	0x10020aa
#define XK_DongSign	0x10020ab
#define XK_partdifferential	0x1002202
#define XK_emptyset	0x1002205
#define XK_elementof	0x1002208
#define XK_notelementof	0x1002209
#define XK_containsas	0x100220B
#define XK_squareroot	0x100221A
#define XK_cuberoot	0x100221B
#define XK_fourthroot	0x100221C
#define XK_dintegral	0x100222C
#define XK_tintegral	0x100222D
#define XK_because	0x1002235
#define XK_notapproxeq	0x1002247
#define XK_approxeq	0x1002248
#define XK_notidentical	0x1002262
#define XK_stricteq	0x1002263
#define XK_braille_blank	0x1002800
#define XK_braille_dots_1	0x1002801
#define XK_braille_dots_2	0x1002802
#define XK_braille_dots_12	0x1002803
#define XK_braille_dots_3	0x1002804
#define XK_braille_dots_13	0x1002805
#define XK_braille_dots_23	0x1002806
#define XK_braille_dots_123	0x1002807
#define XK_braille_dots_4	0x1002808
#define XK_braille_dots_14	0x1002809
#define XK_braille_dots_24	0x100280a
#define XK_braille_dots_124	0x100280b
#define XK_braille_dots_34	0x100280c
#define XK_braille_dots_134	0x100280d
#define XK_braille_dots_234	0x100280e
#define XK_braille_dots_1234	0x100280f
#define XK_braille_dots_5	0x1002810
#define XK_braille_dots_15	0x1002811
#define XK_braille_dots_25	0x1002812
#define XK_braille_dots_125	0x1002813
#define XK_braille_dots_35	0x1002814
#define XK_braille_dots_135	0x1002815
#define XK_braille_dots_235	0x1002816
#define XK_braille_dots_1235	0x1002817
#define XK_braille_dots_45	0x1002818
#define XK_braille_dots_145	0x1002819
#define XK_braille_dots_245	0x100281a
#define XK_braille_dots_1245	0x100281b
#define XK_braille_dots_345	0x100281c
#define XK_braille_dots_1345	0x100281d
#define XK_braille_dots_2345	0x100281e
#define XK_braille_dots_12345	0x100281f
#define XK_braille_dots_6	0x1002820
#define XK_braille_dots_16	0x1002821
#define XK_braille_dots_26	0x1002822
#define XK_braille_dots_126	0x1002823
#define XK_braille_dots_36	0x1002824
#define XK_braille_dots_136	0x1002825
#define XK_braille_dots_236	0x1002826
#define XK_braille_dots_1236	0x1002827
#define XK_braille_dots_46	0x1002828
#define XK_braille_dots_146	0x1002829
#define XK_braille_dots_246	0x100282a
#define XK_braille_dots_1246	0x100282b
#define XK_braille_dots_346	0x100282c
#define XK_braille_dots_1346	0x100282d
#define XK_braille_dots_2346	0x100282e
#define XK_braille_dots_12346	0x100282f
#define XK_braille_dots_56	0x1002830
#define XK_braille_dots_156	0x1002831
#define XK_braille_dots_256	0x1002832
#define XK_braille_dots_1256	0x1002833
#define XK_braille_dots_356	0x1002834
#define XK_braille_dots_1356	0x1002835
#define XK_braille_dots_2356	0x1002836
#define XK_braille_dots_12356	0x1002837
#define XK_braille_dots_456	0x1002838
#define XK_braille_dots_1456	0x1002839
#define XK_braille_dots_2456	0x100283a
#define XK_braille_dots_12456	0x100283b
#define XK_braille_dots_3456	0x100283c
#define XK_braille_dots_13456	0x100283d
#define XK_braille_dots_23456	0x100283e
#define XK_braille_dots_123456	0x100283f
#define XK_braille_dots_7	0x1002840
#define XK_braille_dots_17	0x1002841
#define XK_braille_dots_27	0x1002842
#define XK_braille_dots_127	0x1002843
#define XK_braille_dots_37	0x1002844
#define XK_braille_dots_137	0x1002845
#define XK_braille_dots_237	0x1002846
#define XK_braille_dots_1237	0x1002847
#define XK_braille_dots_47	0x1002848
#define XK_braille_dots_147	0x1002849
#define XK_braille_dots_247	0x100284a
#define XK_braille_dots_1247	0x100284b
#define XK_braille_dots_347	0x100284c
#define XK_braille_dots_1347	0x100284d
#define XK_braille_dots_2347	0x100284e
#define XK_braille_dots_12347	0x100284f
#define XK_braille_dots_57	0x1002850
#define XK_braille_dots_157	0x1002851
#define XK_braille_dots_257	0x1002852
#define XK_braille_dots_1257	0x1002853
#define XK_braille_dots_357	0x1002854
#define XK_braille_dots_1357	0x1002855
#define XK_braille_dots_2357	0x1002856
#define XK_braille_dots_12357	0x1002857
#define XK_braille_dots_457	0x1002858
#define XK_braille_dots_1457	0x1002859
#define XK_braille_dots_2457	0x100285a
#define XK_braille_dots_12457	0x100285b
#define XK_braille_dots_3457	0x100285c
#define XK_braille_dots_13457	0x100285d
#define XK_braille_dots_23457	0x100285e
#define XK_braille_dots_123457	0x100285f
#define XK_braille_dots_67	0x1002860
#define XK_braille_dots_167	0x1002861
#define XK_braille_dots_267	0x1002862
#define XK_braille_dots_1267	0x1002863
#define XK_braille_dots_367	0x1002864
#define XK_braille_dots_1367	0x1002865
#define XK_braille_dots_2367	0x1002866
#define XK_braille_dots_12367	0x1002867
#define XK_braille_dots_467	0x1002868
#define XK_braille_dots_1467	0x1002869
#define XK_braille_dots_2467	0x100286a
#define XK_braille_dots_12467	0x100286b
#define XK_braille_dots_3467	0x100286c
#define XK_braille_dots_13467	0x100286d
#define XK_braille_dots_23467	0x100286e
#define XK_braille_dots_123467	0x100286f
#define XK_braille_dots_567	0x1002870
#define XK_braille_dots_1567	0x1002871
#define XK_braille_dots_2567	0x1002872
#define XK_braille_dots_12567	0x1002873
#define XK_braille_dots_3567	0x1002874
#define XK_braille_dots_13567	0x1002875
#define XK_braille_dots_23567	0x1002876
#define XK_braille_dots_123567	0x1002877
#define XK_braille_dots_4567	0x1002878
#define XK_braille_dots_14567	0x1002879
#define XK_braille_dots_24567	0x100287a
#define XK_braille_dots_124567	0x100287b
#define XK_braille_dots_34567	0x100287c
#define XK_braille_dots_134567	0x100287d
#define XK_braille_dots_234567	0x100287e
#define XK_braille_dots_1234567	0x100287f
#define XK_braille_dots_8	0x1002880
#define XK_braille_dots_18	0x1002881
#define XK_braille_dots_28	0x1002882
#define XK_braille_dots_128	0x1002883
#define XK_braille_dots_38	0x1002884
#define XK_braille_dots_138	0x1002885
#define XK_braille_dots_238	0x1002886
#define XK_braille_dots_1238	0x1002887
#define XK_braille_dots_48	0x1002888
#define XK_braille_dots_148	0x1002889
#define XK_braille_dots_248	0x100288a
#define XK_braille_dots_1248	0x100288b
#define XK_braille_dots_348	0x100288c
#define XK_braille_dots_1348	0x100288d
#define XK_braille_dots_2348	0x100288e
#define XK_braille_dots_12348	0x100288f
#define XK_braille_dots_58	0x1002890
#define XK_braille_dots_158	0x1002891
#define XK_braille_dots_258	0x1002892
#define XK_braille_dots_1258	0x1002893
#define XK_braille_dots_358	0x1002894
#define XK_braille_dots_1358	0x1002895
#define XK_braille_dots_2358	0x1002896
#define XK_braille_dots_12358	0x1002897
#define XK_braille_dots_458	0x1002898
#define XK_braille_dots_1458	0x1002899
#define XK_braille_dots_2458	0x100289a
#define XK_braille_dots_12458	0x100289b
#define XK_braille_dots_3458	0x100289c
#define XK_braille_dots_13458	0x100289d
#define XK_braille_dots_23458	0x100289e
#define XK_braille_dots_123458	0x100289f
#define XK_braille_dots_68	0x10028a0
#define XK_braille_dots_168	0x10028a1
#define XK_braille_dots_268	0x10028a2
#define XK_braille_dots_1268	0x10028a3
#define XK_braille_dots_368	0x10028a4
#define XK_braille_dots_1368	0x10028a5
#define XK_braille_dots_2368	0x10028a6
#define XK_braille_dots_12368	0x10028a7
#define XK_braille_dots_468	0x10028a8
#define XK_braille_dots_1468	0x10028a9
#define XK_braille_dots_2468	0x10028aa
#define XK_braille_dots_12468	0x10028ab
#define XK_braille_dots_3468	0x10028ac
#define XK_braille_dots_13468	0x10028ad
#define XK_braille_dots_23468	0x10028ae
#define XK_braille_dots_123468	0x10028af
#define XK_braille_dots_568	0x10028b0
#define XK_braille_dots_1568	0x10028b1
#define XK_braille_dots_2568	0x10028b2
#define XK_braille_dots_12568	0x10028b3
#define XK_braille_dots_3568	0x10028b4
#define XK_braille_dots_13568	0x10028b5
#define XK_braille_dots_23568	0x10028b6
#define XK_braille_dots_123568	0x10028b7
#define XK_braille_dots_4568	0x10028b8
#define XK_braille_dots_14568	0x10028b9
#define XK_braille_dots_24568	0x10028ba
#define XK_braille_dots_124568	0x10028bb
#define XK_braille_dots_34568	0x10028bc
#define XK_braille_dots_134568	0x10028bd
#define XK_braille_dots_234568	0x10028be
#define XK_braille_dots_1234568	0x10028bf
#define XK_braille_dots_78	0x10028c0
#define XK_braille_dots_178	0x10028c1
#define XK_braille_dots_278	0x10028c2
#define XK_braille_dots_1278	0x10028c3
#define XK_braille_dots_378	0x10028c4
#define XK_braille_dots_1378	0x10028c5
#define XK_braille_dots_2378	0x10028c6
#define XK_braille_dots_12378	0x10028c7
#define XK_braille_dots_478	0x10028c8
#define XK_braille_dots_1478	0x10028c9
#define XK_braille_dots_2478	0x10028ca
#define XK_braille_dots_12478	0x10028cb
#define XK_braille_dots_3478	0x10028cc
#define XK_braille_dots_13478	0x10028cd
#define XK_braille_dots_23478	0x10028ce
#define XK_braille_dots_123478	0x10028cf
#define XK_braille_dots_578	0x10028d0
#define XK_braille_dots_1578	0x10028d1
#define XK_braille_dots_2578	0x10028d2
#define XK_braille_dots_12578	0x10028d3
#define XK_braille_dots_3578	0x10028d4
#define XK_braille_dots_13578	0x10028d5
#define XK_braille_dots_23578	0x10028d6
#define XK_braille_dots_123578	0x10028d7
#define XK_braille_dots_4578	0x10028d8
#define XK_braille_dots_14578	0x10028d9
#define XK_braille_dots_24578	0x10028da
#define XK_braille_dots_124578	0x10028db
#define XK_braille_dots_34578	0x10028dc
#define XK_braille_dots_134578	0x10028dd
#define XK_braille_dots_234578	0x10028de
#define XK_braille_dots_1234578	0x10028df
#define XK_braille_dots_678	0x10028e0
#define XK_braille_dots_1678	0x10028e1
#define XK_braille_dots_2678	0x10028e2
#define XK_braille_dots_12678	0x10028e3
#define XK_braille_dots_3678	0x10028e4
#define XK_braille_dots_13678	0x10028e5
#define XK_braille_dots_23678	0x10028e6
#define XK_braille_dots_123678	0x10028e7
#define XK_braille_dots_4678	0x10028e8
#define XK_braille_dots_14678	0x10028e9
#define XK_braille_dots_24678	0x10028ea
#define XK_braille_dots_124678	0x10028eb
#define XK_braille_dots_34678	0x10028ec
#define XK_braille_dots_134678	0x10028ed
#define XK_braille_dots_234678	0x10028ee
#define XK_braille_dots_1234678	0x10028ef
#define XK_braille_dots_5678	0x10028f0
#define XK_braille_dots_15678	0x10028f1
#define XK_braille_dots_25678	0x10028f2
#define XK_braille_dots_125678	0x10028f3
#define XK_braille_dots_35678	0x10028f4
#define XK_braille_dots_135678	0x10028f5
#define XK_braille_dots_235678	0x10028f6
#define XK_braille_dots_1235678	0x10028f7
#define XK_braille_dots_45678	0x10028f8
#define XK_braille_dots_145678	0x10028f9
#define XK_braille_dots_245678	0x10028fa
#define XK_braille_dots_1245678	0x10028fb
#define XK_braille_dots_345678	0x10028fc
#define XK_braille_dots_1345678	0x10028fd
#define XK_braille_dots_2345678	0x10028fe
#define XK_braille_dots_12345678	0x10028ff
#define XK_OE	0x13bc
#define XK_oe	0x13bd
#define XK_Ydiaeresis	0x13be
#define XK_EuroSign	0x20ac
#define XK_ISO_Lock	0xfe01
#define XK_ISO_Level2_Latch	0xfe02
#define XK_ISO_Level3_Shift	0xfe03
#define XK_ISO_Level3_Latch	0xfe04
#define XK_ISO_Level3_Lock	0xfe05
#define XK_ISO_Group_Latch	0xfe06
#define XK_ISO_Group_Lock	0xfe07
#define XK_ISO_Next_Group	0xfe08
#define XK_ISO_Next_Group_Lock	0xfe09
#define XK_ISO_Prev_Group	0xfe0a
#define XK_ISO_Prev_Group_Lock	0xfe0b
#define XK_ISO_First_Group	0xfe0c
#define XK_ISO_First_Group_Lock	0xfe0d
#define XK_ISO_Last_Group	0xfe0e
#define XK_ISO_Last_Group_Lock	0xfe0f
#define XK_ISO_Level5_Shift	0xfe11
#define XK_ISO_Level5_Latch	0xfe12
#define XK_ISO_Level5_Lock	0xfe13
#define XK_ISO_Left_Tab	0xfe20
#define XK_ISO_Move_Line_Up	0xfe21
#define XK_ISO_Move_Line_Down	0xfe22
#define XK_ISO_Partial_Line_Up	0xfe23
#define XK_ISO_Partial_Line_Down	0xfe24
#define XK_ISO_Partial_Space_Left	0xfe25
#define XK_ISO_Partial_Space_Right	0xfe26
#define XK_ISO_Set_Margin_Left	0xfe27
#define XK_ISO_Set_Margin_Right	0xfe28
#define XK_ISO_Release_Margin_Left	0xfe29
#define XK_ISO_Release_Margin_Right	0xfe2a
#define XK_ISO_Release_Both_Margins	0xfe2b
#define XK_ISO_Fast_Cursor_Left	0xfe2c
#define XK_ISO_Fast_Cursor_Right	0xfe2d
#define XK_ISO_Fast_Cursor_Up	0xfe2e
#define XK_ISO_Fast_Cursor_Down	0xfe2f
#define XK_ISO_Continuous_Underline	0xfe30
#define XK_ISO_Discontinuous_Underline	0xfe31
#define XK_ISO_Emphasize	0xfe32
#define XK_ISO_Center_Object	0xfe33
#define XK_ISO_Enter	0xfe34
#define XK_dead_grave	0xfe50
#define XK_dead_acute	0xfe51
#define XK_dead_circumflex	0xfe52
#define XK_dead_tilde	0xfe53
#define XK_dead_macron	0xfe54
#define XK_dead_breve	0xfe55
#define XK_dead_abovedot	0xfe56
#define XK_dead_diaeresis	0xfe57
#define XK_dead_abovering	0xfe58
#define XK_dead_doubleacute	0xfe59
#define XK_dead_caron	0xfe5a
#define XK_dead_cedilla	0xfe5b
#define XK_dead_ogonek	0xfe5c
#define XK_dead_iota	0xfe5d
#define XK_dead_voiced_sound	0xfe5e
#define XK_dead_semivoiced_sound	0xfe5f
#define XK_dead_belowdot	0xfe60
#define XK_dead_hook	0xfe61
#define XK_dead_horn	0xfe62
#define XK_dead_stroke	0xfe63
#define XK_dead_abovecomma	0xfe64
#define XK_dead_psili	0xfe64
#define XK_dead_abovereversedcomma	0xfe65
#define XK_dead_dasia	0xfe66
#define XK_dead_belowring	0xfe67
#define XK_dead_belowmacron	0xfe68
#define XK_dead_belowcircumflex	0xfe69
#define XK_dead_belowtilde	0xfe6a
#define XK_dead_belowbreve	0xfe6b
#define XK_dead_belowdiaeresis	0xfe6c
#define XK_AccessX_Enable	0xfe70
#define XK_AccessX_Feedback_Enable	0xfe71
#define XK_RepeatKeys_Enable	0xfe72
#define XK_SlowKeys_Enable	0xfe73
#define XK_BounceKeys_Enable	0xfe74
#define XK_StickyKeys_Enable	0xfe75
#define XK_MouseKeys_Enable	0xfe76
#define XK_MouseKeys_Accel_Enable	0xfe77
#define XK_Overlay1_Enable	0xfe78
#define XK_Overlay2_Enable	0xfe79
#define XK_AudibleBell_Enable	0xfe7a
#define XK_First_Virtual_Screen	0xfed0
#define XK_Prev_Virtual_Screen	0xfed1
#define XK_Next_Virtual_Screen	0xfed2
#define XK_Last_Virtual_Screen	0xfed4
#define XK_Terminate_Server	0xfed5
#define XK_Pointer_Left	0xfee0
#define XK_Pointer_Right	0xfee1
#define XK_Pointer_Up	0xfee2
#define XK_Pointer_Down	0xfee3
#define XK_Pointer_UpLeft	0xfee4
#define XK_Pointer_UpRight	0xfee5
#define XK_Pointer_DownLeft	0xfee6
#define XK_Pointer_DownRight	0xfee7
#define XK_Pointer_Button_Dflt	0xfee8
#define XK_Pointer_Button1	0xfee9
#define XK_Pointer_Button2	0xfeea
#define XK_Pointer_Button3	0xfeeb
#define XK_Pointer_Button4	0xfeec
#define XK_Pointer_Button5	0xfeed
#define XK_Pointer_DblClick_Dflt	0xfeee
#define XK_Pointer_DblClick1	0xfeef
#define XK_Pointer_DblClick2	0xfef0
#define XK_Pointer_DblClick3	0xfef1
#define XK_Pointer_DblClick4	0xfef2
#define XK_Pointer_DblClick5	0xfef3
#define XK_Pointer_Drag_Dflt	0xfef4
#define XK_Pointer_Drag1	0xfef5
#define XK_Pointer_Drag2	0xfef6
#define XK_Pointer_Drag3	0xfef7
#define XK_Pointer_Drag4	0xfef8
#define XK_Pointer_EnableKeys	0xfef9
#define XK_Pointer_Accelerate	0xfefa
#define XK_Pointer_DfltBtnNext	0xfefb
#define XK_Pointer_DfltBtnPrev	0xfefc
#define XK_Pointer_Drag5	0xfefd
#define XK_BackSpace	0xff08
#define XK_Tab	0xff09
#define XK_Linefeed	0xff0a
#define XK_Clear	0xff0b
#define XK_Return	0xff0d
#define XK_Pause	0xff13
#define XK_Scroll_Lock	0xff14
#define XK_Sys_Req	0xff15
#define XK_Escape	0xff1b
#define XK_Multi_key	0xff20
#define XK_Kanji	0xff21
#define XK_Muhenkan	0xff22
#define XK_Henkan	0xff23
#define XK_Henkan_Mode	0xff23
#define XK_Romaji	0xff24
#define XK_Hiragana	0xff25
#define XK_Katakana	0xff26
#define XK_Hiragana_Katakana	0xff27
#define XK_Zenkaku	0xff28
#define XK_Hankaku	0xff29
#define XK_Zenkaku_Hankaku	0xff2a
#define XK_Touroku	0xff2b
#define XK_Massyo	0xff2c
#define XK_Kana_Lock	0xff2d
#define XK_Kana_Shift	0xff2e
#define XK_Eisu_Shift	0xff2f
#define XK_Eisu_toggle	0xff30
#define XK_Hangul	0xff31
#define XK_Hangul_Start	0xff32
#define XK_Hangul_End	0xff33
#define XK_Hangul_Hanja	0xff34
#define XK_Hangul_Jamo	0xff35
#define XK_Hangul_Romaja	0xff36
#define XK_Codeinput	0xff37
#define XK_Hangul_Codeinput	0xff37
#define XK_Kanji_Bangou	0xff37
#define XK_Hangul_Jeonja	0xff38
#define XK_Hangul_Banja	0xff39
#define XK_Hangul_PreHanja	0xff3a
#define XK_Hangul_PostHanja	0xff3b
#define XK_Hangul_SingleCandidate	0xff3c
#define XK_SingleCandidate	0xff3c
#define XK_Hangul_MultipleCandidate	0xff3d
#define XK_MultipleCandidate	0xff3d
#define XK_Zen_Koho	0xff3d
#define XK_Hangul_PreviousCandidate	0xff3e
#define XK_Mae_Koho	0xff3e
#define XK_PreviousCandidate	0xff3e
#define XK_Hangul_Special	0xff3f
#define XK_Home	0xff50
#define XK_Left	0xff51
#define XK_Up	0xff52
#define XK_Right	0xff53
#define XK_Down	0xff54
#define XK_Page_Up	0xff55
#define XK_Prior	0xff55
#define XK_Next	0xff56
#define XK_Page_Down	0xff56
#define XK_End	0xff57
#define XK_Begin	0xff58
#define XK_Select	0xff60
#define XK_Print	0xff61
#define XK_Execute	0xff62
#define XK_Insert	0xff63
#define XK_Undo	0xff65
#define XK_Redo	0xff66
#define XK_Menu	0xff67
#define XK_Find	0xff68
#define XK_Cancel	0xff69
#define XK_Help	0xff6a
#define XK_Break	0xff6b
#define XK_Arabic_switch	0xff7e
#define XK_Greek_switch	0xff7e
#define XK_Hangul_switch	0xff7e
#define XK_Hebrew_switch	0xff7e
#define XK_ISO_Group_Shift	0xff7e
#define XK_Mode_switch	0xff7e
#define XK_kana_switch	0xff7e
#define XK_script_switch	0xff7e
#define XK_Num_Lock	0xff7f
#define XK_KP_Space	0xff80
#define XK_KP_Tab	0xff89
#define XK_KP_Enter	0xff8d
#define XK_KP_F1	0xff91
#define XK_KP_F2	0xff92
#define XK_KP_F3	0xff93
#define XK_KP_F4	0xff94
#define XK_KP_Home	0xff95
#define XK_KP_Left	0xff96
#define XK_KP_Up	0xff97
#define XK_KP_Right	0xff98
#define XK_KP_Down	0xff99
#define XK_KP_Page_Up	0xff9a
#define XK_KP_Prior	0xff9a
#define XK_KP_Next	0xff9b
#define XK_KP_Page_Down	0xff9b
#define XK_KP_End	0xff9c
#define XK_KP_Begin	0xff9d
#define XK_KP_Insert	0xff9e
#define XK_KP_Delete	0xff9f
#define XK_KP_Multiply	0xffaa
#define XK_KP_Add	0xffab
#define XK_KP_Separator	0xffac
#define XK_KP_Subtract	0xffad
#define XK_KP_Decimal	0xffae
#define XK_KP_Divide	0xffaf
#define XK_KP_0	0xffb0
#define XK_KP_1	0xffb1
#define XK_KP_2	0xffb2
#define XK_KP_3	0xffb3
#define XK_KP_4	0xffb4
#define XK_KP_5	0xffb5
#define XK_KP_6	0xffb6
#define XK_KP_7	0xffb7
#define XK_KP_8	0xffb8
#define XK_KP_9	0xffb9
#define XK_KP_Equal	0xffbd
#define XK_F1	0xffbe
#define XK_F2	0xffbf
#define XK_F3	0xffc0
#define XK_F4	0xffc1
#define XK_F5	0xffc2
#define XK_F6	0xffc3
#define XK_F7	0xffc4
#define XK_F8	0xffc5
#define XK_F9	0xffc6
#define XK_F10	0xffc7
#define XK_F11	0xffc8
#define XK_L1	0xffc8
#define XK_F12	0xffc9
#define XK_L2	0xffc9
#define XK_F13	0xffca
#define XK_L3	0xffca
#define XK_F14	0xffcb
#define XK_L4	0xffcb
#define XK_F15	0xffcc
#define XK_L5	0xffcc
#define XK_F16	0xffcd
#define XK_L6	0xffcd
#define XK_F17	0xffce
#define XK_L7	0xffce
#define XK_F18	0xffcf
#define XK_L8	0xffcf
#define XK_F19	0xffd0
#define XK_L9	0xffd0
#define XK_F20	0xffd1
#define XK_L10	0xffd1
#define XK_F21	0xffd2
#define XK_R1	0xffd2
#define XK_F22	0xffd3
#define XK_R2	0xffd3
#define XK_F23	0xffd4
#define XK_R3	0xffd4
#define XK_F24	0xffd5
#define XK_R4	0xffd5
#define XK_F25	0xffd6
#define XK_R5	0xffd6
#define XK_F26	0xffd7
#define XK_R6	0xffd7
#define XK_F27	0xffd8
#define XK_R7	0xffd8
#define XK_F28	0xffd9
#define XK_R8	0xffd9
#define XK_F29	0xffda
#define XK_R9	0xffda
#define XK_F30	0xffdb
#define XK_R10	0xffdb
#define XK_F31	0xffdc
#define XK_R11	0xffdc
#define XK_F32	0xffdd
#define XK_R12	0xffdd
#define XK_F33	0xffde
#define XK_R13	0xffde
#define XK_F34	0xffdf
#define XK_R14	0xffdf
#define XK_F35	0xffe0
#define XK_R15	0xffe0
#define XK_Shift_L	0xffe1
#define XK_Shift_R	0xffe2
#define XK_Control_L	0xffe3
#define XK_Control_R	0xffe4
#define XK_Caps_Lock	0xffe5
#define XK_Shift_Lock	0xffe6
#define XK_Meta_L	0xffe7
#define XK_Meta_R	0xffe8
#define XK_Alt_L	0xffe9
#define XK_Alt_R	0xffea
#define XK_Super_L	0xffeb
#define XK_Super_R	0xffec
#define XK_Hyper_L	0xffed
#define XK_Hyper_R	0xffee
#define XK_braille_dot_1	0xfff1
#define XK_braille_dot_2	0xfff2
#define XK_braille_dot_3	0xfff3
#define XK_braille_dot_4	0xfff4
#define XK_braille_dot_5	0xfff5
#define XK_braille_dot_6	0xfff6
#define XK_braille_dot_7	0xfff7
#define XK_braille_dot_8	0xfff8
#define XK_braille_dot_9	0xfff9
#define XK_braille_dot_10	0xfffa
#define XK_Delete	0xffff
#define XK_VoidSymbol	0xffffff	/* Void symbol */

6.3. Interface Definitions for libX11

The interfaces defined on the following pages are included in libX11 and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.

Other interfaces listed in Section 6.1 shall behave as described in the referenced base document.


6.4. Interfaces for libSM

Table 6-3 defines the library name and shared object name for the libSM library

Table 6-3. libSM Definition

Library:libSM
SONAME:libSM.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[XSM] X11 Session Management


6.4.1. Session Management Functions


6.4.1.1. Interfaces for Session Management Functions

An LSB conforming implementation shall provide the generic functions for Session Management Functions specified in Table 6-4, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-4. libSM - Session Management Functions Function Interfaces

SmFreeProperty [XSM]SmFreeReasons [XSM]SmcClientID [XSM]SmcCloseConnection [XSM]
SmcDeleteProperties [XSM]SmcGetIceConnection [XSM]SmcGetProperties [XSM]SmcInteractDone [XSM]
SmcInteractRequest [XSM]SmcModifyCallbacks [XSM]SmcOpenConnection [XSM]SmcProtocolRevision [XSM]
SmcProtocolVersion [XSM]SmcRelease [XSM]SmcRequestSaveYourself [XSM]SmcRequestSaveYourselfPhase2 [XSM]
SmcSaveYourselfDone [XSM]SmcSetErrorHandler [XSM]SmcSetProperties [XSM]SmcVendor [XSM]
SmsCleanUp [XSM]SmsClientHostName [XSM]SmsClientID [XSM]SmsDie [XSM]
SmsGenerateClientID [XSM]SmsGetIceConnection [XSM]SmsInitialize [XSM]SmsInteract [XSM]
SmsProtocolRevision [XSM]SmsProtocolVersion [XSM]SmsRegisterClientReply [XSM]SmsReturnProperties [XSM]
SmsSaveComplete [XSM]SmsSaveYourself [XSM]SmsSaveYourselfPhase2 [XSM]SmsSetErrorHandler [XSM]
SmsShutdownCancelled [XSM]   

6.5. Data Definitions for libSM

This section defines global identifiers and their values that are associated with interfaces contained in libSM. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.5.1. X11/SM/SM.h


#define SM_Error	0
#define SmDialogError	0
#define SmInteractStyleNone	0
#define SmProtoMinor	0
#define SmRestartIfRunning	0
#define SmSaveGlobal	0
#define SM_RegisterClient	1
#define SmDialogNormal	1
#define SmInteractStyleErrors	1
#define SmProtoMajor	1
#define SmRestartAnyway	1
#define SmSaveLocal	1
#define SM_ShutdownCancelled	10
#define SM_CloseConnection	11
#define SM_SetProperties	12
#define SM_DeleteProperties	13
#define SM_GetProperties	14
#define SM_PropertiesReply	15
#define SM_SaveYourselfPhase2Request	16
#define SM_SaveYourselfPhase2	17
#define SM_SaveComplete	18
#define SM_RegisterClientReply	2
#define SmInteractStyleAny	2
#define SmRestartImmediately	2
#define SmSaveBoth	2
#define SM_SaveYourself	3
#define SmRestartNever	3
#define SM_SaveYourselfRequest	4
#define SM_InteractRequest	5
#define SM_Interact	6
#define SM_InteractDone	7
#define SM_SaveYourselfDone	8
#define SM_Die	9
#define SmARRAY8	"ARRAY8"
#define SmCARD8	"CARD8"
#define SmCloneCommand	"CloneCommand"
#define SmCurrentDirectory	"CurrentDirectory"
#define SmDiscardCommand	"DiscardCommand"
#define SmEnvironment	"Environment"
#define SmLISTofARRAY8	"LISTofARRAY8"
#define SmProcessID	"ProcessID"
#define SmProgram	"Program"
#define SmResignCommand	"ResignCommand"
#define SmRestartCommand	"RestartCommand"
#define SmRestartStyleHint	"RestartStyleHint"
#define SmShutdownCommand	"ShutdownCommand"
#define SmUserID	"UserID"

6.5.2. X11/SM/SMlib.h


#define SmcSaveYourselfProcMask	(1L << 0)
#define SmsRegisterClientProcMask	(1L << 0)
#define SmcDieProcMask	(1L << 1)
#define SmsInteractRequestProcMask	(1L << 1)
#define SmcSaveCompleteProcMask	(1L << 2)
#define SmsInteractDoneProcMask	(1L << 2)
#define SmcShutdownCancelledProcMask	(1L << 3)
#define SmsSaveYourselfRequestProcMask	(1L << 3)
#define SmsSaveYourselfP2RequestProcMask	(1L << 4)
#define SmsSaveYourselfDoneProcMask	(1L << 5)
#define SmsCloseConnectionProcMask	(1L << 6)
#define SmsSetPropertiesProcMask	(1L << 7)
#define SmsDeletePropertiesProcMask	(1L << 8)
#define SmsGetPropertiesProcMask	(1L << 9)

typedef void *SmPointer;
typedef struct {
    int length;
    SmPointer value;
} SmPropValue;
typedef struct {
    char *name;
    char *type;
    int num_vals;
    SmPropValue *vals;
} SmProp;
struct _SmcConn;
typedef struct _SmcConn *SmcConn;
typedef void (*SmcSaveYourselfProc) (SmcConn, SmPointer, int, int, int,
				     int);
typedef void (*SmcDieProc) (SmcConn, SmPointer);
typedef void (*SmcSaveCompleteProc) (SmcConn, SmPointer);
typedef void (*SmcShutdownCancelledProc) (SmcConn, SmPointer);
typedef struct {
    struct {
	SmcSaveYourselfProc callback;
	SmPointer client_data;
    } save_yourself;
    struct {
	SmcDieProc callback;
	SmPointer client_data;
    } die;
    struct {
	SmcSaveCompleteProc callback;
	SmPointer client_data;
    } save_complete;
    struct {
	SmcShutdownCancelledProc callback;
	SmPointer client_data;
    } shutdown_cancelled;
} SmcCallbacks;
struct _SmsConn;
typedef struct _SmsConn *SmsConn;
typedef void (*SmsErrorHandler) (SmsConn, int, int, long unsigned int, int,
				 int, SmPointer);
typedef void (*SmcErrorHandler) (SmcConn, int, int, long unsigned int, int,
				 int, SmPointer);
typedef int (*SmsRegisterClientProc) (SmsConn, SmPointer, char *);
typedef void (*SmsInteractRequestProc) (SmsConn, SmPointer, int);
typedef void (*SmsInteractDoneProc) (SmsConn, SmPointer, int);
typedef void (*SmsSaveYourselfRequestProc) (SmsConn, SmPointer, int, int,
					    int, int, int);
typedef void (*SmsSaveYourselfPhase2RequestProc) (SmsConn, SmPointer);
typedef void (*SmsSaveYourselfDoneProc) (SmsConn, SmPointer, int);
typedef void (*SmsCloseConnectionProc) (SmsConn, SmPointer, int, char **);
typedef void (*SmsSetPropertiesProc) (SmsConn, SmPointer, int, SmProp * *);
typedef void (*SmsDeletePropertiesProc) (SmsConn, SmPointer, int, char **);
typedef void (*SmsGetPropertiesProc) (SmsConn, SmPointer);
typedef struct {
    struct {
	SmsRegisterClientProc callback;
	SmPointer manager_data;
    } register_client;
    struct {
	SmsInteractRequestProc callback;
	SmPointer manager_data;
    } interact_request;
    struct {
	SmsInteractDoneProc callback;
	SmPointer manager_data;
    } interact_done;
    struct {
	SmsSaveYourselfRequestProc callback;
	SmPointer manager_data;
    } save_yourself_request;
    struct {
	SmsSaveYourselfPhase2RequestProc callback;
	SmPointer manager_data;
    } save_yourself_phase2_request;
    struct {
	SmsSaveYourselfDoneProc callback;
	SmPointer manager_data;
    } save_yourself_done;
    struct {
	SmsCloseConnectionProc callback;
	SmPointer manager_data;
    } close_connection;
    struct {
	SmsSetPropertiesProc callback;
	SmPointer manager_data;
    } set_properties;
    struct {
	SmsDeletePropertiesProc callback;
	SmPointer manager_data;
    } delete_properties;
    struct {
	SmsGetPropertiesProc callback;
	SmPointer manager_data;
    } get_properties;
} SmsCallbacks;
typedef int (*SmsNewClientProc) (SmsConn, SmPointer, long unsigned int *,
				 SmsCallbacks *, char **);
typedef void (*SmcPropReplyProc) (SmcConn, SmPointer, int, SmProp * *);
typedef void (*SmcInteractProc) (SmcConn, SmPointer);
typedef void (*SmcSaveYourselfPhase2Proc) (SmcConn, SmPointer);
typedef enum {
    SmcClosedNow = 0,
    SmcClosedASAP = 1,
    SmcConnectionInUse = 2
} SmcCloseStatus;
extern void SmFreeProperty(SmProp *);
extern void SmFreeReasons(int, char **);
extern char *SmcClientID(SmcConn);
extern SmcCloseStatus SmcCloseConnection(SmcConn, int, char **);
extern void SmcDeleteProperties(SmcConn, int, char **);
extern IceConn SmcGetIceConnection(SmcConn);
extern int SmcGetProperties(SmcConn, SmcPropReplyProc, SmPointer);
extern void SmcInteractDone(SmcConn, int);
extern int SmcInteractRequest(SmcConn, int, SmcInteractProc, SmPointer);
extern void SmcModifyCallbacks(SmcConn, long unsigned int, SmcCallbacks *);
extern SmcConn SmcOpenConnection(char *, SmPointer, int, int,
				 long unsigned int, SmcCallbacks *, char *,
				 char **, int, char *);
extern int SmcProtocolRevision(SmcConn);
extern int SmcProtocolVersion(SmcConn);
extern char *SmcRelease(SmcConn);
extern void SmcRequestSaveYourself(SmcConn, int, int, int, int, int);
extern int SmcRequestSaveYourselfPhase2(SmcConn, SmcSaveYourselfPhase2Proc,
					SmPointer);
extern void SmcSaveYourselfDone(SmcConn, int);
extern SmcErrorHandler SmcSetErrorHandler(SmcErrorHandler);
extern void SmcSetProperties(SmcConn, int, SmProp * *);
extern char *SmcVendor(SmcConn);
extern void SmsCleanUp(SmsConn);
extern char *SmsClientHostName(SmsConn);
extern char *SmsClientID(SmsConn);
extern void SmsDie(SmsConn);
extern char *SmsGenerateClientID(SmsConn);
extern IceConn SmsGetIceConnection(SmsConn);
extern int SmsInitialize(char *, char *, SmsNewClientProc, SmPointer,
			 IceHostBasedAuthProc, int, char *);
extern void SmsInteract(SmsConn);
extern int SmsProtocolRevision(SmsConn);
extern int SmsProtocolVersion(SmsConn);
extern int SmsRegisterClientReply(SmsConn, char *);
extern void SmsReturnProperties(SmsConn, int, SmProp * *);
extern void SmsSaveComplete(SmsConn);
extern void SmsSaveYourself(SmsConn, int, int, int, int);
extern void SmsSaveYourselfPhase2(SmsConn);
extern SmsErrorHandler SmsSetErrorHandler(SmsErrorHandler);
extern void SmsShutdownCancelled(SmsConn);

6.5.3. X11/SM/SMproto.h


#define sz_smSaveYourselfMsg	16
#define sz_smSaveYourselfRequestMsg	16
#define sz_smCloseConnectionMsg	8
#define sz_smDeletePropertiesMsg	8
#define sz_smDieMsg	8
#define sz_smGetPropertiesMsg	8
#define sz_smInteractDoneMsg	8
#define sz_smInteractMsg	8
#define sz_smInteractRequestMsg	8
#define sz_smPropertiesReplyMsg	8
#define sz_smRegisterClientMsg	8
#define sz_smRegisterClientReplyMsg	8
#define sz_smSaveCompleteMsg	8
#define sz_smSaveYourselfDoneMsg	8
#define sz_smSaveYourselfPhase2Msg	8
#define sz_smSaveYourselfPhase2RequestMsg	8
#define sz_smSetPropertiesMsg	8
#define sz_smShutdownCancelledMsg	8

6.6. Interfaces for libICE

Table 6-5 defines the library name and shared object name for the libICE library

Table 6-5. libICE Definition

Library:libICE
SONAME:libICE.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[LSB] This Specification
[XICE] X11 Inter-Client Exchange


6.6.1. ICE Functions


6.6.1.1. Interfaces for ICE Functions

An LSB conforming implementation shall provide the generic functions for ICE Functions specified in Table 6-6, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-6. libICE - ICE Functions Function Interfaces

IceAcceptConnection [XICE]IceAddConnectionWatch [XICE]IceAllocScratch [XICE]IceAppLockConn [XICE]
IceAppUnlockConn [XICE]IceAuthFileName [XICE]IceCheckShutdownNegotiation [XICE]IceCloseConnection [XICE]
IceComposeNetworkIdList [XICE]IceConnectionNumber [XICE]IceConnectionStatus [XICE]IceConnectionString [XICE]
IceFlush [XICE]IceFreeAuthFileEntry [XICE]IceFreeListenObjs [XICE]IceGenerateMagicCookie [XICE]
IceGetAuthFileEntry [XICE]IceGetConnectionContext [XICE]IceGetInBufSize [XICE]IceGetListenConnectionNumber [XICE]
IceGetListenConnectionString [XICE]IceGetOutBufSize [XICE]IceInitThreads [XICE]IceLastReceivedSequenceNumber [XICE]
IceLastSentSequenceNumber [XICE]IceListenForConnections [XICE]IceListenForWellKnownConnections [XICE]IceLockAuthFile [XICE]
IceOpenConnection [XICE]IcePing [XICE]IceProcessMessages [XICE]IceProtocolRevision [XICE]
IceProtocolSetup [XICE]IceProtocolShutdown [XICE]IceProtocolVersion [XICE]IceReadAuthFileEntry [XICE]
IceRegisterForProtocolReply [XICE]IceRegisterForProtocolSetup [XICE]IceRelease [XICE]IceRemoveConnectionWatch [XICE]
IceSetErrorHandler [XICE]IceSetHostBasedAuthProc [XICE]IceSetIOErrorHandler [XICE]IceSetPaAuthData [XICE]
IceSetShutdownNegotiation [XICE]IceSwapping [XICE]IceUnlockAuthFile [XICE]IceVendor [XICE]
IceWriteAuthFileEntry [XICE]_IceRead [LSB]_IceReadSkip [LSB]_IceWrite [LSB]

An LSB conforming implementation shall provide the generic deprecated functions for ICE Functions specified in Table 6-7, with the full mandatory functionality as described in the referenced underlying specification.

Note: These interfaces are deprecated, and applications should avoid using them. These interfaces may be withdrawn in future releases of this specification.

Table 6-7. libICE - ICE Functions Deprecated Function Interfaces

IceAppLockConn [XICE]IceAppUnlockConn [XICE]IceInitThreads [XICE] 

6.7. Data Definitions for libICE

This section defines global identifiers and their values that are associated with interfaces contained in libICE. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.7.1. X11/ICE/ICE.h


#define ICE_Error	0
#define IceBadMajor	0
#define IceCanContinue	0
#define IceLSBfirst	0
#define IceProtoMinor	0
#define IceBadMinor	0x8000
#define IceBadState	0x8001
#define IceBadLength	0x8002
#define IceBadValue	0x8003
#define ICE_ByteOrder	1
#define IceFatalToProtocol	1
#define IceMSBfirst	1
#define IceNoAuth	1
#define IceProtoMajor	1
#define ICE_PingReply	10
#define ICE_WantToClose	11
#define ICE_NoClose	12
#define ICE_ConnectionSetup	2
#define IceFatalToConnection	2
#define IceNoVersion	2
#define ICE_AuthRequired	3
#define IceSetupFailed	3
#define ICE_AuthReply	4
#define IceAuthRejected	4
#define ICE_AuthNextPhase	5
#define IceAuthFailed	5
#define ICE_ConnectionReply	6
#define IceProtocolDuplicate	6
#define ICE_ProtocolSetup	7
#define IceMajorOpcodeDuplicate	7
#define ICE_ProtocolReply	8
#define IceUnknownProtocol	8
#define ICE_Ping	9

6.7.2. X11/ICE/ICEconn.h


struct _XtransConnInfo;
typedef struct {
    char *vendor;
    char *release;
    int version_count;
    IcePoVersionRec *version_recs;
    int auth_count;
    char **auth_names;
    IcePoAuthProc *auth_procs;
    IceIOErrorProc io_error_proc;
} _IcePoProtocol;
typedef struct {
    char *vendor;
    char *release;
    int version_count;
    IcePaVersionRec *version_recs;
    IceProtocolSetupProc protocol_setup_proc;
    IceProtocolActivateProc protocol_activate_proc;
    int auth_count;
    char **auth_names;
    IcePaAuthProc *auth_procs;
    IceHostBasedAuthProc host_based_auth_proc;
    IceIOErrorProc io_error_proc;
} _IcePaProtocol;
typedef struct {
    char *protocol_name;
    _IcePoProtocol *orig_client;
    _IcePaProtocol *accept_client;
} _IceProtocol;
typedef struct {
    int in_use;
    int my_opcode;
    _IceProtocol *protocol;
    IcePointer client_data;
    int accept_flag;
    union {
	IcePaProcessMsgProc accept_client;
	IcePoProcessMsgProc orig_client;
    } process_msg_proc;
} _IceProcessMsgInfo;
typedef struct _IceSavedReplyWait {
    IceReplyWaitInfo *reply_wait;
    int reply_ready;
    _IceSavedReplyWait *next;
} _IceSavedReplyWait;
typedef struct _IcePingWait {
    IcePingReplyProc ping_reply_proc;
    IcePointer client_data;
    _IcePingWait *next;
} _IcePingWait;
typedef struct {
    int auth_active;
    char my_auth_index;
    IcePointer my_auth_state;
} _IceConnectToYouInfo;
typedef struct {
    int my_opcode;
    int my_auth_count;
    int *my_auth_indices;
    int auth_active;
    char my_auth_index;
    IcePointer my_auth_state;
} _IceProtoSetupToYouInfo;
typedef struct {
    int his_version_index;
    int my_version_index;
    char *his_vendor;
    char *his_release;
    char my_auth_index;
    IcePointer my_auth_state;
    int must_authenticate;
} _IceConnectToMeInfo;
typedef struct {
    int his_opcode;
    int my_opcode;
    int his_version_index;
    int my_version_index;
    char *his_vendor;
    char *his_release;
    char my_auth_index;
    IcePointer my_auth_state;
    int must_authenticate;
} _IceProtoSetupToMeInfo;
struct _IceConn {
    unsigned int io_ok:1;
    unsigned int swap:1;
    unsigned int waiting_for_byteorder:1;
    unsigned int skip_want_to_close:1;
    unsigned int want_to_close:1;
    unsigned int free_asap:1;
    unsigned int unused1:2;
    unsigned int unused2:8;
    IceConnectStatus connection_status;
    unsigned char my_ice_version_index;
    struct _XtransConnInfo *trans_conn;
    long unsigned int send_sequence;
    long unsigned int receive_sequence;
    char *connection_string;
    char *vendor;
    char *release;
    char *inbuf;
    char *inbufptr;
    char *inbufmax;
    char *outbuf;
    char *outbufptr;
    char *outbufmax;
    char *scratch;
    long unsigned int scratch_size;
    int dispatch_level;
    IcePointer context;
    _IceProcessMsgInfo *process_msg_info;
    char his_min_opcode;
    char his_max_opcode;
    unsigned char open_ref_count;
    unsigned char proto_ref_count;
    IceListenObj listen_obj;
    _IceSavedReplyWait *saved_reply_waits;
    _IcePingWait *ping_waits;
    _IceConnectToYouInfo *connect_to_you;
    _IceProtoSetupToYouInfo *protosetup_to_you;
    _IceConnectToMeInfo *connect_to_me;
    _IceProtoSetupToMeInfo *protosetup_to_me;
};

6.7.3. X11/ICE/ICElib.h


typedef void *IcePointer;
typedef struct _IceConn *IceConn;
typedef void (*IcePaProcessMsgProc) (IceConn, IcePointer, int,
				     long unsigned int, int);
typedef struct {
    int major_version;
    int minor_version;
    IcePaProcessMsgProc process_msg_proc;
} IcePaVersionRec;
typedef struct {
    long unsigned int sequence_of_request;
    int major_opcode_of_request;
    int minor_opcode_of_request;
    IcePointer reply;
} IceReplyWaitInfo;
typedef void (*IcePoProcessMsgProc) (IceConn, IcePointer, int,
				     long unsigned int, int,
				     IceReplyWaitInfo *, int *);
typedef struct {
    int major_version;
    int minor_version;
    IcePoProcessMsgProc process_msg_proc;
} IcePoVersionRec;
typedef IcePoAuthStatus(*IcePoAuthProc) (IceConn, IcePointer *, int, int,
					 int, IcePointer, int *,
					 IcePointer *, char **);
typedef IcePaAuthStatus(*IcePaAuthProc) (IceConn, IcePointer *, int, int,
					 IcePointer, int *, IcePointer *,
					 char **);
typedef enum {
    IceAcceptSuccess = 0,
    IceAcceptFailure = 1,
    IceAcceptBadMalloc = 2
} IceAcceptStatus;
struct _IceListenObj;
typedef struct _IceListenObj *IceListenObj;
typedef enum {
    IceConnectPending = 0,
    IceConnectAccepted = 1,
    IceConnectRejected = 2,
    IceConnectIOError = 3
} IceConnectStatus;
typedef void (*IceIOErrorProc) (IceConn);
typedef int (*IceProtocolSetupProc) (IceConn, int, int, char *, char *,
				     IcePointer *, char **);
typedef void (*IceProtocolActivateProc) (IceConn, IcePointer);
typedef int (*IceHostBasedAuthProc) (char *);
typedef void (*IcePingReplyProc) (IceConn, IcePointer);
typedef enum {
    IceProcessMessagesSuccess = 0,
    IceProcessMessagesIOError = 1,
    IceProcessMessagesConnectionClosed = 2
} IceProcessMessagesStatus;
typedef enum {
    IceClosedNow = 0,
    IceClosedASAP = 1,
    IceConnectionInUse = 2,
    IceStartedShutdownNegotiation = 3
} IceCloseStatus;
typedef enum {
    IceProtocolSetupSuccess = 0,
    IceProtocolSetupFailure = 1,
    IceProtocolSetupIOError = 2,
    IceProtocolAlreadyActive = 3
} IceProtocolSetupStatus;
typedef void (*IceWatchProc) (IceConn, IcePointer, int, IcePointer *);
typedef void (*IceIOErrorHandler) (IceConn);
typedef void (*IceErrorHandler) (IceConn, int, int, long unsigned int, int,
				 int, IcePointer);
typedef enum {
    IcePoAuthHaveReply,
    IcePoAuthRejected,
    IcePoAuthFailed,
    IcePoAuthDoneCleanup
} IcePoAuthStatus;
typedef enum {
    IcePaAuthContinue,
    IcePaAuthAccepted,
    IcePaAuthRejected,
    IcePaAuthFailed
} IcePaAuthStatus;
extern IceConn IceAcceptConnection(IceListenObj, IceAcceptStatus *);
extern int IceAddConnectionWatch(IceWatchProc, IcePointer);
extern char *IceAllocScratch(IceConn, long unsigned int);
extern void IceAppLockConn(IceConn);
extern void IceAppUnlockConn(IceConn);
extern int IceCheckShutdownNegotiation(IceConn);
extern IceCloseStatus IceCloseConnection(IceConn);
extern char *IceComposeNetworkIdList(int, IceListenObj *);
extern int IceConnectionNumber(IceConn);
extern IceConnectStatus IceConnectionStatus(IceConn);
extern char *IceConnectionString(IceConn);
extern int IceFlush(IceConn);
extern void IceFreeListenObjs(int, IceListenObj *);
extern IcePointer IceGetConnectionContext(IceConn);
extern int IceGetInBufSize(IceConn);
extern int IceGetListenConnectionNumber(IceListenObj);
extern char *IceGetListenConnectionString(IceListenObj);
extern int IceGetOutBufSize(IceConn);
extern int IceInitThreads(void);
extern long unsigned int IceLastReceivedSequenceNumber(IceConn);
extern long unsigned int IceLastSentSequenceNumber(IceConn);
extern int IceListenForConnections(int *, IceListenObj * *, int, char *);
extern int IceListenForWellKnownConnections(char *, int *,
					    IceListenObj * *, int, char *);
extern IceConn IceOpenConnection(char *, IcePointer, int, int, int,
				 char *);
extern int IcePing(IceConn, IcePingReplyProc, IcePointer);
extern IceProcessMessagesStatus IceProcessMessages(IceConn,
						   IceReplyWaitInfo *,
						   int *);
extern int IceProtocolRevision(IceConn);
extern IceProtocolSetupStatus IceProtocolSetup(IceConn, int, IcePointer,
					       int, int *, int *, char **,
					       char **, int, char *);
extern int IceProtocolShutdown(IceConn, int);
extern int IceProtocolVersion(IceConn);
extern int IceRegisterForProtocolReply(char *, char *, char *, int,
				       IcePaVersionRec *, int,
				       const char **, IcePaAuthProc *,
				       IceHostBasedAuthProc,
				       IceProtocolSetupProc,
				       IceProtocolActivateProc,
				       IceIOErrorProc);
extern int IceRegisterForProtocolSetup(char *, char *, char *, int,
				       IcePoVersionRec *, int,
				       const char **, IcePoAuthProc *,
				       IceIOErrorProc);
extern char *IceRelease(IceConn);
extern void IceRemoveConnectionWatch(IceWatchProc, IcePointer);
extern IceErrorHandler IceSetErrorHandler(IceErrorHandler);
extern void IceSetHostBasedAuthProc(IceListenObj, IceHostBasedAuthProc);
extern IceIOErrorHandler IceSetIOErrorHandler(IceIOErrorHandler);
extern void IceSetShutdownNegotiation(IceConn, int);
extern int IceSwapping(IceConn);
extern char *IceVendor(IceConn);

6.7.4. X11/ICE/ICEmsg.h


#define IceWriteData16(_iceConn,_bytes,_data)	IceWriteData (_iceConn, _bytes, (char *) _data)
#define IceWriteData32(_iceConn,_bytes,_data)	IceWriteData (_iceConn, _bytes, (char *) _data)
#define IceDisposeCompleteMessage(_iceConn,_pData)	if ((char *) _pData < _iceConn->inbuf || (char *) _pData >= _iceConn->inbufmax) \
    free ((char *) _pData);
#define IceGetHeaderExtra(_iceConn,_major,_minor,_headerSize,_extra,_msgType,_pMsg,_pData)	if ((_iceConn->outbufptr + _headerSize + ((_extra) << 3)) > _iceConn->outbufmax) IceFlush (_iceConn);\
 _pMsg = (_msgType *) _iceConn->outbufptr;\
 if ((_iceConn->outbufptr + _headerSize + ((_extra) << 3)) <= _iceConn->outbufmax) _pData = (char *) _pMsg + _headerSize;\
 else _pData = ((void *)0);\
 _pMsg->majorOpcode = _major;\
 _pMsg->minorOpcode = _minor;\
 _pMsg->length = ((_headerSize - SIZEOF (iceMsg)) >> 3) + (_extra);\
 _iceConn->outbufptr += (_headerSize + ((_extra) << 3));\
 _iceConn->send_sequence++
#define IceGetHeader(_iceConn,_major,_minor,_headerSize,_msgType,_pMsg)	if ((_iceConn->outbufptr + _headerSize) > _iceConn->outbufmax) IceFlush (_iceConn);\
 _pMsg = (_msgType *) _iceConn->outbufptr;\
 _pMsg->majorOpcode = _major;\
 _pMsg->minorOpcode = _minor;\
 _pMsg->length = (_headerSize - SIZEOF (iceMsg)) >> 3;\
 _iceConn->outbufptr += _headerSize;\
 _iceConn->send_sequence++
#define IceValidIO(_iceConn)	_iceConn->io_ok
#define IceReadData(_iceConn,_bytes,_pData)	_IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData);
#define IceReadSimpleMessage(_iceConn,_msgType,_pMsg)	_pMsg = (_msgType *) (_iceConn->inbuf);
#define IceReadPad(_iceConn,_bytes)	{ char _dummy[7]; _IceRead (_iceConn, (unsigned long) (_bytes), _dummy); }
#define IceErrorHeader(_iceConn,_offendingMajorOpcode,_offendingMinorOpcode,_offendingSequenceNum,_severity,_errorClass,_dataLength)	{ iceErrorMsg *_pMsg;\
 IceGetHeader (_iceConn, _offendingMajorOpcode, ICE_Error, SIZEOF (iceErrorMsg), iceErrorMsg, _pMsg);\
 _pMsg->length += (_dataLength);\
 _pMsg->offendingMinorOpcode = _offendingMinorOpcode;\
 _pMsg->severity = _severity;\
 _pMsg->offendingSequenceNum = _offendingSequenceNum;\
 _pMsg->errorClass = _errorClass;\
 }
#define IceSimpleMessage(_iceConn,_major,_minor)	{ iceMsg *_pMsg; IceGetHeader (_iceConn, _major, _minor, SIZEOF (iceMsg), iceMsg, _pMsg) }
#define IceWritePad(_iceConn,_bytes)	{ if ((_iceConn->outbufptr + (_bytes)) > _iceConn->outbufmax) { char _dummy[7];\
 IceFlush (_iceConn);\
 _IceWrite (_iceConn, (unsigned long) (_bytes), _dummy);\
 } else { _iceConn->outbufptr += (_bytes);\
 } }
#define IceWriteData(_iceConn,_bytes,_data)	{ if ((_iceConn->outbufptr + (_bytes)) > _iceConn->outbufmax) { IceFlush (_iceConn);\
 _IceWrite (_iceConn, (unsigned long) (_bytes), _data);\
 } else { memcpy (_iceConn->outbufptr, _data, _bytes);\
 _iceConn->outbufptr += (_bytes);\
 } }
#define IceSendData(_iceConn,_bytes,_data)	{ if (_iceConn->outbufptr > _iceConn->outbuf) IceFlush (_iceConn);\
 _IceWrite (_iceConn, (unsigned long) (_bytes), _data);\
 }
#define IceReadCompleteMessage(_iceConn,_headerSize,_msgType,_pMsg,_pData)	{ \
    unsigned long _bytes; \
    IceReadMessageHeader (_iceConn, _headerSize, _msgType, _pMsg); \
    _bytes = (_pMsg->length << 3) - (_headerSize - SIZEOF (iceMsg)); \
    if ((_iceConn->inbufmax - _iceConn->inbufptr) >= _bytes) \
    { \
        _IceRead (_iceConn, _bytes, _iceConn->inbufptr); \
        _pData = _iceConn->inbufptr; \
        _iceConn->inbufptr += _bytes; \
    } \
    else \
    { \
        _pData = (char *) malloc ((unsigned) _bytes); \
        if (_pData) \
            _IceRead (_iceConn, _bytes, _pData); \
        else \
            _IceReadSkip (_iceConn, _bytes); \
    } \
}
#define IceReadData16(_iceConn,_swap,_bytes,_pData)	{ _IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); }
#define IceReadData32(_iceConn,_swap,_bytes,_pData)	{ _IceRead (_iceConn, (unsigned long) (_bytes), (char *) _pData); }
#define IceReadMessageHeader(_iceConn,_headerSize,_msgType,_pMsg)	{ _IceRead (_iceConn, (unsigned long) (_headerSize - SIZEOF (iceMsg)), _iceConn->inbufptr);\
 _pMsg = (_msgType *) (_iceConn->inbuf);\
 _iceConn->inbufptr += (_headerSize - SIZEOF (iceMsg));\
 }

extern int _IceRead(IceConn, unsigned long int, char *);
extern void _IceReadSkip(IceConn, unsigned long int);
extern void _IceWrite(IceConn, unsigned long int, char *);

6.7.5. X11/ICE/ICEproto.h


#define sz_iceAuthNextPhaseMsg	16
#define sz_iceAuthReplyMsg	16
#define sz_iceAuthRequiredMsg	16
#define sz_iceConnectionSetupMsg	16
#define sz_iceErrorMsg	16
#define sz_iceProtocolSetupMsg	16
#define sz_iceByteOrderMsg	8
#define sz_iceConnectionReplyMsg	8
#define sz_iceMsg	8
#define sz_iceNoCloseMsg	8
#define sz_icePingMsg	8
#define sz_icePingReplyMsg	8
#define sz_iceProtocolReplyMsg	8
#define sz_iceWantToCloseMsg	8

typedef iceErrorMsg icePingMsg;
typedef iceErrorMsg icePingReplyMsg;
typedef iceErrorMsg iceWantToCloseMsg;
typedef iceErrorMsg iceNoCloseMsg;

6.7.6. X11/ICE/ICEutil.h


#define IceAuthLockSuccess	0
#define IceAuthLockError	1
#define IceAuthLockTimeout	2

typedef struct {
    char *protocol_name;
    char *network_id;
    char *auth_name;
    short unsigned int auth_data_length;
    char *auth_data;
} IceAuthDataEntry;
typedef struct {
    char *protocol_name;
    short unsigned int protocol_data_length;
    char *protocol_data;
    char *network_id;
    char *auth_name;
    short unsigned int auth_data_length;
    char *auth_data;
} IceAuthFileEntry;
extern char *IceAuthFileName(void);
extern void IceFreeAuthFileEntry(IceAuthFileEntry *);
extern char *IceGenerateMagicCookie(int);
extern IceAuthFileEntry *IceGetAuthFileEntry(char *, char *, char *);
extern int IceLockAuthFile(char *, int, int, long int);
extern IceAuthFileEntry *IceReadAuthFileEntry(FILE *);
extern void IceSetPaAuthData(int, IceAuthDataEntry *);
extern void IceUnlockAuthFile(char *);
extern int IceWriteAuthFileEntry(FILE *, IceAuthFileEntry *);

6.8. Interface Definitions for libICE

Table of Contents
_IceRead -- read the specified number of bytes from an ICE connection
_IceReadSkip -- advance to the end of the message when a bad header is read
_IceWrite -- write the specified number of bytes of data to an ICE connection

The interfaces defined on the following pages are included in libICE and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.

Other interfaces listed in Section 6.6 shall behave as described in the referenced base document.

_IceRead

Name

_IceRead -- read the specified number of bytes from an ICE connection

Synopsis

#include <X11/ICE/ICEmsg.h>

int _IceRead(IceConn iceConn, unsigned long int nbytes, char * ptr);

Description

The interface _IceRead() shall read the specified number of bytes from an Inter-Client Exchange connection.

The parameter iceConn shall specify the Inter-Client Exchange connection.

The parameter nbytes shall specify the number of bytes to read.

The output parameter ptr shall contain the data that was read.

Return Value

_IceRead() shall return 0 if it detects that the connection has closed and this was expected.

In the case of a fatal I/O error, _IceRead() shall return 1.

See Also

_IceReadSkip(), _IceWrite().

_IceReadSkip

Name

_IceReadSkip -- advance to the end of the message when a bad header is read

Synopsis

#include <X11/ICE/ICEmsg.h>

void _IceReadSkip(IceConn iceConn, unsigned long int nbytes);

Description

The interface _IceReadSkip() shall advance to the end of the message when a header with a bad major or minor opcode is read, so the next message can be processed correctly.

The parameter iceConn shall specify the Inter-Client Exchange connection.

The parameter nbytes shall specify the number of bytes to skip. If the number of bytes specified is less than 512, the interface shall assume 512 bytes should be skipped.

See Also

_IceRead(), _IceWrite().

_IceWrite

Name

_IceWrite -- write the specified number of bytes of data to an ICE connection

Synopsis

#include <X11/ICE/ICEmsg.h>

void _IceWrite(IceConn iceConn, unsigned long int nbytes, char * ptr);

Description

The interface _IceWrite() shall write the specified number of bytes to an Inter-Client Exchange connection.

The parameter iceConn shall specify the Inter-Client Exchange connection.

The parameter nbytes shall specify the number of bytes of the specified data to write.

The parameter ptr shall contain the data to write.

See Also

_IceRead(), _IceReadSkip().


6.9. Interfaces for libXt

Table 6-8 defines the library name and shared object name for the libXt library

Table 6-8. libXt Definition

Library:libXt
SONAME:libXt.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[LSB] This Specification
[Xt] X11 Toolkit Intrinsics


6.9.1. X Toolkit


6.9.1.1. Interfaces for X Toolkit

An LSB conforming implementation shall provide the generic functions for X Toolkit specified in Table 6-9, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-9. libXt - X Toolkit Function Interfaces

XtAddActions [Xt]XtAddCallback [Xt]XtAddCallbacks [Xt]XtAddConverter [Xt]
XtAddEventHandler [Xt]XtAddExposureToRegion [Xt]XtAddGrab [Xt]XtAddInput [Xt]
XtAddRawEventHandler [Xt]XtAddSignal [Xt]XtAddTimeOut [Xt]XtAddWorkProc [Xt]
XtAllocateGC [Xt]XtAppAddActionHook [Xt]XtAppAddActions [Xt]XtAppAddBlockHook [Xt]
XtAppAddConverter [Xt]XtAppAddInput [Xt]XtAppAddSignal [Xt]XtAppAddTimeOut [Xt]
XtAppAddWorkProc [Xt]XtAppCreateShell [Xt]XtAppError [Xt]XtAppErrorMsg [Xt]
XtAppGetErrorDatabase [Xt]XtAppGetErrorDatabaseText [Xt]XtAppGetExitFlag [Xt]XtAppGetSelectionTimeout [Xt]
XtAppInitialize [Xt]XtAppLock [Xt]XtAppMainLoop [Xt]XtAppNextEvent [Xt]
XtAppPeekEvent [Xt]XtAppPending [Xt]XtAppProcessEvent [Xt]XtAppReleaseCacheRefs [Xt]
XtAppSetErrorHandler [Xt]XtAppSetErrorMsgHandler [Xt]XtAppSetExitFlag [Xt]XtAppSetFallbackResources [Xt]
XtAppSetSelectionTimeout [Xt]XtAppSetTypeConverter [Xt]XtAppSetWarningHandler [Xt]XtAppSetWarningMsgHandler [Xt]
XtAppUnlock [Xt]XtAppWarning [Xt]XtAppWarningMsg [Xt]XtAugmentTranslations [Xt]
XtBuildEventMask [Xt]XtCallAcceptFocus [Xt]XtCallActionProc [Xt]XtCallCallbackList [Xt]
XtCallCallbacks [Xt]XtCallConverter [Xt]XtCallbackExclusive [Xt]XtCallbackNone [Xt]
XtCallbackNonexclusive [Xt]XtCallbackPopdown [Xt]XtCallbackReleaseCacheRef [Xt]XtCallbackReleaseCacheRefList [Xt]
XtCalloc [Xt]XtCancelSelectionRequest [Xt]XtChangeManagedSet [Xt]XtClass [Xt]
XtCloseDisplay [Xt]XtConfigureWidget [Xt]XtConvert [Xt]XtConvertAndStore [Xt]
XtConvertCase [Xt]XtCreateApplicationContext [Xt]XtCreateApplicationShell [Xt]XtCreateManagedWidget [Xt]
XtCreatePopupShell [Xt]XtCreateSelectionRequest [Xt]XtCreateWidget [Xt]XtCreateWindow [Xt]
XtCvtColorToPixel [Xt]XtCvtIntToBool [Xt]XtCvtIntToBoolean [Xt]XtCvtIntToColor [Xt]
XtCvtIntToFloat [Xt]XtCvtIntToFont [Xt]XtCvtIntToPixel [Xt]XtCvtIntToPixmap [Xt]
XtCvtIntToShort [Xt]XtCvtIntToUnsignedChar [Xt]XtCvtStringToAcceleratorTable [Xt]XtCvtStringToAtom [Xt]
XtCvtStringToBool [Xt]XtCvtStringToBoolean [Xt]XtCvtStringToCommandArgArray [Xt]XtCvtStringToCursor [Xt]
XtCvtStringToDimension [Xt]XtCvtStringToDirectoryString [Xt]XtCvtStringToDisplay [Xt]XtCvtStringToFile [Xt]
XtCvtStringToFloat [Xt]XtCvtStringToFont [Xt]XtCvtStringToFontSet [Xt]XtCvtStringToFontStruct [Xt]
XtCvtStringToGravity [Xt]XtCvtStringToInitialState [Xt]XtCvtStringToInt [Xt]XtCvtStringToPixel [Xt]
XtCvtStringToRestartStyle [Xt]XtCvtStringToShort [Xt]XtCvtStringToTranslationTable [Xt]XtCvtStringToUnsignedChar [Xt]
XtCvtStringToVisual [Xt]XtDatabase [Xt]XtDestroyApplicationContext [Xt]XtDestroyGC [Xt]
XtDestroyWidget [Xt]XtDirectConvert [Xt]XtDisownSelection [Xt]XtDispatchEvent [Xt]
XtDispatchEventToWidget [Xt]XtDisplay [Xt]XtDisplayInitialize [Xt]XtDisplayOfObject [Xt]
XtDisplayStringConversionWarning [Xt]XtDisplayToApplicationContext [Xt]XtError [Xt]XtErrorMsg [Xt]
XtFindFile [Xt]XtFree [Xt]XtGetActionKeysym [Xt]XtGetActionList [Xt]
XtGetApplicationNameAndClass [Xt]XtGetApplicationResources [Xt]XtGetClassExtension [Xt]XtGetConstraintResourceList [Xt]
XtGetDisplays [Xt]XtGetErrorDatabase [Xt]XtGetErrorDatabaseText [Xt]XtGetGC [Xt]
XtGetKeyboardFocusWidget [Xt]XtGetKeysymTable [Xt]XtGetMultiClickTime [Xt]XtGetResourceList [Xt]
XtGetSelectionParameters [Xt]XtGetSelectionRequest [Xt]XtGetSelectionTimeout [Xt]XtGetSelectionValue [Xt]
XtGetSelectionValueIncremental [Xt]XtGetSelectionValues [Xt]XtGetSelectionValuesIncremental [Xt]XtGetSubresources [Xt]
XtGetSubvalues [Xt]XtGetValues [Xt]XtGrabButton [Xt]XtGrabKey [Xt]
XtGrabKeyboard [Xt]XtGrabPointer [Xt]XtHasCallbacks [Xt]XtHooksOfDisplay [Xt]
XtInitialize [Xt]XtInitializeWidgetClass [Xt]XtInsertEventHandler [Xt]XtInsertEventTypeHandler [Xt]
XtInsertRawEventHandler [Xt]XtInstallAccelerators [Xt]XtInstallAllAccelerators [Xt]XtIsApplicationShell [Xt]
XtIsComposite [Xt]XtIsConstraint [Xt]XtIsManaged [Xt]XtIsObject [Xt]
XtIsOverrideShell [Xt]XtIsRealized [Xt]XtIsRectObj [Xt]XtIsSensitive [Xt]
XtIsSessionShell [Xt]XtIsShell [Xt]XtIsSubclass [Xt]XtIsTopLevelShell [Xt]
XtIsTransientShell [Xt]XtIsVendorShell [Xt]XtIsWMShell [Xt]XtIsWidget [Xt]
XtKeysymToKeycodeList [Xt]XtLastEventProcessed [Xt]XtLastTimestampProcessed [Xt]XtMainLoop [Xt]
XtMakeGeometryRequest [Xt]XtMakeResizeRequest [Xt]XtMalloc [Xt]XtManageChild [Xt]
XtManageChildren [Xt]XtMapWidget [Xt]XtMenuPopupAction [Xt]XtMergeArgLists [Xt]
XtMoveWidget [Xt]XtName [Xt]XtNameToWidget [Xt]XtNewString [Xt]
XtNextEvent [Xt]XtNoticeSignal [Xt]XtOpenApplication [Xt]XtOpenDisplay [Xt]
XtOverrideTranslations [Xt]XtOwnSelection [Xt]XtOwnSelectionIncremental [Xt]XtParent [Xt]
XtParseAcceleratorTable [Xt]XtParseTranslationTable [Xt]XtPeekEvent [Xt]XtPending [Xt]
XtPopdown [Xt]XtPopup [Xt]XtPopupSpringLoaded [Xt]XtProcessEvent [Xt]
XtProcessLock [Xt]XtProcessUnlock [Xt]XtQueryGeometry [Xt]XtRealizeWidget [Xt]
XtRealloc [Xt]XtRegisterCaseConverter [Xt]XtRegisterDrawable [Xt]XtRegisterExtensionSelector [Xt]
XtRegisterGrabAction [Xt]XtReleaseGC [Xt]XtReleasePropertyAtom [Xt]XtRemoveActionHook [Xt]
XtRemoveAllCallbacks [Xt]XtRemoveBlockHook [Xt]XtRemoveCallback [Xt]XtRemoveCallbacks [Xt]
XtRemoveEventHandler [Xt]XtRemoveEventTypeHandler [Xt]XtRemoveGrab [Xt]XtRemoveInput [Xt]
XtRemoveRawEventHandler [Xt]XtRemoveSignal [Xt]XtRemoveTimeOut [Xt]XtRemoveWorkProc [Xt]
XtReservePropertyAtom [Xt]XtResizeWidget [Xt]XtResizeWindow [Xt]XtResolvePathname [Xt]
XtScreen [Xt]XtScreenDatabase [Xt]XtScreenOfObject [Xt]XtSendSelectionRequest [Xt]
XtSessionGetToken [Xt]XtSessionReturnToken [Xt]XtSetErrorHandler [Xt]XtSetErrorMsgHandler [Xt]
XtSetEventDispatcher [Xt]XtSetKeyTranslator [Xt]XtSetKeyboardFocus [Xt]XtSetLanguageProc [Xt]
XtSetMappedWhenManaged [Xt]XtSetMultiClickTime [Xt]XtSetSelectionParameters [Xt]XtSetSelectionTimeout [Xt]
XtSetSensitive [Xt]XtSetSubvalues [Xt]XtSetTypeConverter [Xt]XtSetValues [Xt]
XtSetWMColormapWindows [Xt]XtSetWarningHandler [Xt]XtSetWarningMsgHandler [Xt]XtStringConversionWarning [Xt]
XtSuperclass [Xt]XtToolkitInitialize [Xt]XtToolkitThreadInitialize [Xt]XtTranslateCoords [Xt]
XtTranslateKey [Xt]XtTranslateKeycode [Xt]XtUngrabButton [Xt]XtUngrabKey [Xt]
XtUngrabKeyboard [Xt]XtUngrabPointer [Xt]XtUninstallTranslations [Xt]XtUnmanageChild [Xt]
XtUnmanageChildren [Xt]XtUnmapWidget [Xt]XtUnrealizeWidget [Xt]XtUnregisterDrawable [Xt]
XtVaAppCreateShell [Xt]XtVaAppInitialize [Xt]XtVaCreateArgsList [Xt]XtVaCreateManagedWidget [Xt]
XtVaCreatePopupShell [Xt]XtVaCreateWidget [Xt]XtVaGetApplicationResources [Xt]XtVaGetSubresources [Xt]
XtVaGetSubvalues [Xt]XtVaGetValues [Xt]XtVaOpenApplication [Xt]XtVaSetSubvalues [Xt]
XtVaSetValues [Xt]XtWarning [Xt]XtWarningMsg [Xt]XtWidgetToApplicationContext [Xt]
XtWindow [Xt]XtWindowOfObject [Xt]XtWindowToWidget [Xt]_XtCheckSubclassFlag [Xt]
_XtCopyFromArg [LSB]_XtInherit [LSB]_XtIsSubclassOf [LSB] 

An LSB conforming implementation shall provide the generic data interfaces for X Toolkit specified in Table 6-10, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-10. libXt - X Toolkit Data Interfaces

XtCXtToolkitError [Xt]XtShellStrings [Xt]XtStrings [Xt]_XtInheritTranslations [LSB]
applicationShellClassRec [Xt]applicationShellWidgetClass [Xt]colorConvertArgs [Xt]compositeClassRec [Xt]
compositeWidgetClass [Xt]constraintClassRec [Xt]constraintWidgetClass [Xt]coreWidgetClass [Xt]
objectClass [Xt]objectClassRec [Xt]overrideShellClassRec [Xt]overrideShellWidgetClass [Xt]
rectObjClass [Xt]rectObjClassRec [Xt]sessionShellClassRec [Xt]sessionShellWidgetClass [Xt]
shellClassRec [Xt]shellWidgetClass [Xt]topLevelShellClassRec [Xt]topLevelShellWidgetClass [Xt]
transientShellClassRec [Xt]transientShellWidgetClass [Xt]widgetClass [Xt]widgetClassRec [Xt]
wmShellClassRec [Xt]wmShellWidgetClass [Xt]  

6.10. Data Definitions for libXt

This section defines global identifiers and their values that are associated with interfaces contained in libXt. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.10.1. X11/Composite.h


#define _XtComposite_h	1

typedef void (*XtDoChangeProc) (Widget, WidgetList, Cardinal *, WidgetList,
				Cardinal *, XtPointer);
typedef struct _CompositeClassRec *CompositeWidgetClass;
extern void XtChangeManagedSet(WidgetList, Cardinal, XtDoChangeProc,
			       XtPointer, WidgetList, Cardinal);
extern void XtManageChild(Widget);
extern void XtManageChildren(WidgetList, Cardinal);
extern void XtUnmanageChild(Widget);
extern void XtUnmanageChildren(WidgetList, Cardinal);
extern WidgetClass compositeWidgetClass;

6.10.2. X11/CompositeP.h


#define XtInheritGeometryManager	((XtGeometryHandler) _XtInherit)
#define XtInheritChangeManaged	((XtWidgetProc) _XtInherit)
#define XtInheritDeleteChild	((XtWidgetProc) _XtInherit)
#define XtInheritInsertChild	((XtWidgetProc) _XtInherit)
#define _XtCompositeP_h	1
#define XtCompositeExtensionVersion	2L

typedef struct _CompositePart {
    WidgetList children;
    Cardinal num_children;
    Cardinal num_slots;
    XtOrderProc insert_position;
} CompositePart;
typedef struct _CompositeClassPart {
    XtGeometryHandler geometry_manager;
    XtWidgetProc change_managed;
    XtWidgetProc insert_child;
    XtWidgetProc delete_child;
    XtPointer extension;
} CompositeClassPart;
typedef struct _CompositePart *CompositePtr;
typedef struct _CompositeRec {
    CorePart core;
    CompositePart composite;
} CompositeRec;
typedef struct _CompositeClassPart *CompositePartPtr;
typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long int version;
    Cardinal record_size;
    Boolean accepts_objects;
    Boolean allows_change_managed_set;
} CompositeClassExtensionRec;
typedef CompositeClassExtensionRec *CompositeClassExtension;

typedef struct _CompositeClassRec CompositeClassRec;
extern CompositeClassRec compositeClassRec;

6.10.3. X11/ConstrainP.h


#define XtConstraintExtensionVersion	1L

typedef struct _ConstraintPart {
    XtPointer mumble;		/* No new fields, keep C compiler happy */
} ConstraintPart;
typedef struct _ConstraintClassRec *ConstraintClassRec;
typedef struct _ConstraintClassPart {
    XtResourceList resources;
    Cardinal num_resources;
    Cardinal constraint_size;
    XtInitProc initialize;
    XtWidgetProc destroy;
    XtSetValuesFunc set_values;
    XtPointer extension;
} ConstraintClassPart;
struct _ConstraintClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ConstraintClassPart constraint_class;
};
typedef struct _ConstraintRec {
    CorePart core;
    CompositePart composite;
    ConstraintPart constraint;
} ConstraintRec;
typedef struct _ConstraintRec *ConstraintWidget;
typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long int version;
    Cardinal record_size;
    XtArgsProc get_values_hook;
} ConstraintClassExtensionRec;
typedef ConstraintClassExtensionRec *ConstraintClassExtension;
extern ConstraintClassRec constraintClassRec;

6.10.4. X11/Constraint.h


#define _XtConstraint_h	1

typedef struct _ConstraintClassRec *ConstraintWidgetClass;
extern WidgetClass constraintWidgetClass;

6.10.5. X11/Core.h


#define _XtCore_h	1

typedef struct _WidgetClassRec *CoreWidgetClass;
typedef struct _WidgetClassRec *CoreWidget;
extern WidgetClass coreWidgetClass;
extern WidgetClass widgetClass;

6.10.6. X11/CoreP.h


#define XtInheritTranslations	((String) &_XtInheritTranslations)
#define XtInheritAcceptFocus	((XtAcceptFocusProc) _XtInherit)
#define XtInheritSetValuesAlmost	((XtAlmostProc) _XtInherit)
#define XtInheritExpose	((XtExposeProc) _XtInherit)
#define XtInheritQueryGeometry	((XtGeometryHandler) _XtInherit)
#define XtInheritRealize	((XtRealizeProc) _XtInherit)
#define XtInheritDisplayAccelerator	((XtStringProc) _XtInherit)
#define XtInheritResize	((XtWidgetProc) _XtInherit)
#define XtCoreP_h_	1

typedef struct _CorePart {
    Widget self;
    WidgetClass widget_class;
    Widget parent;
    XrmName xrm_name;
    Boolean being_destroyed;
    XtCallbackList destroy_callbacks;
    XtPointer constraints;
    Position x;
    Position y;
    Dimension width;
    Dimension height;
    Dimension border_width;
    Boolean managed;
    Boolean sensitive;
    Boolean ancestor_sensitive;
    XtEventTable event_table;
    XtTMRec tm;
    XtTranslations accelerators;
    Pixel border_pixel;
    Pixmap border_pixmap;
    WidgetList popup_list;
    Cardinal num_popups;
    String name;
    Screen *screen;
    Colormap colormap;
    Window window;
    Cardinal depth;
    Pixel background_pixel;
    Pixmap background_pixmap;
    Boolean visible;
    Boolean mapped_when_managed;
} CorePart;
typedef struct _CoreClassPart {
    WidgetClass superclass;
    String class_name;
    Cardinal widget_size;
    XtProc class_initialize;
    XtWidgetClassProc class_part_initialize;
    XtEnum class_inited;
    XtInitProc initialize;
    XtArgsProc initialize_hook;
    XtRealizeProc realize;
    XtActionList actions;
    Cardinal num_actions;
    XtResourceList resources;
    Cardinal num_resources;
    XrmClass xrm_class;
    Boolean compress_motion;
    XtEnum compress_exposure;
    Boolean compress_enterleave;
    Boolean visible_interest;
    XtWidgetProc destroy;
    XtWidgetProc resize;
    XtExposeProc expose;
    XtSetValuesFunc set_values;
    XtArgsFunc set_values_hook;
    XtAlmostProc set_values_almost;
    XtArgsProc get_values_hook;
    XtAcceptFocusProc accept_focus;
    XtVersionType version;
    XtPointer callback_private;
    String tm_table;
    XtGeometryHandler query_geometry;
    XtStringProc display_accelerator;
    XtPointer extension;
} CoreClassPart;
typedef struct _WidgetRec {
    CorePart core;
} WidgetRec;
typedef struct _WidgetRec {
    CorePart core;
} CoreRec;
typedef struct _WidgetClassRec {
    CoreClassPart core_class;
} WidgetClassRec;
typedef struct _WidgetClassRec {
    CoreClassPart core_class;
} CoreClassRec;
extern int _XtInheritTranslations;
extern WidgetClassRec widgetClassRec;

6.10.7. X11/EventI.h


typedef struct _XtGrabRec *XtGrabList;
typedef struct _XtGrabRec {
    XtGrabList next;
    Widget widget;
    unsigned int exclusive:1;
    unsigned int spring_loaded:1;
} XtGrabRec;
typedef struct _XtEventRec {
    XtEventTable next;
    EventMask mask;
    XtEventHandler proc;
    XtPointer closure;
    unsigned int select:1;
    unsigned int has_type_specifier:1;
    unsigned int async:1;
} XtEventRec;

6.10.8. X11/Intrinsic.h


#define XtOffset(p_type,field)	((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
#define XtNumber(arr)	((Cardinal) (sizeof(arr) / sizeof(arr[0])))
#define XtAllEvents	((EventMask) -1L)
#define XtUnspecifiedPixmap	((Pixmap)2)
#define XtNew(type)	((type *) XtMalloc((unsigned) sizeof(type)))
#define XtSetArg(arg,n,d)	((void)( (arg).name = (n), (arg).value = (XtArgVal)(d) ))
#define XtUnspecifiedWindow	((Window)2)
#define XtUnspecifiedWindowGroup	((Window)3)
#define XtUnspecifiedShellInt	(-1)
#define XtCWQueryOnly	(1 << 7)
#define XtInputReadMask	(1L<<0)
#define XtInputWriteMask	(1L<<1)
#define XtInputExceptMask	(1L<<2)
#define XT_CONVERT_FAIL	(Atom)0x80000001
#define XtIMAll	(XtIMXEvent | XtIMTimer | XtIMAlternateInput | XtIMSignal)
#define XtIsRectObj(object)	(_XtCheckSubclassFlag(object, (XtEnum)0x02))
#define XtIsWidget(object)	(_XtCheckSubclassFlag(object, (XtEnum)0x04))
#define XtIsComposite(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x08))
#define XtIsConstraint(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x10))
#define XtIsShell(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x20))
#define XtIsWMShell(widget)	(_XtCheckSubclassFlag(widget, (XtEnum)0x40))
#ifndef FALSE
#define FALSE	0
#endif
#define XtInputNoneMask	0L
#define XtCacheNone	0x001
#define XtCacheAll	0x002
#define XtCacheByDisplay	0x003
#define XtCacheRefCount	0x100
#ifndef TRUE
#define TRUE	1
#endif
#define XtIMXEvent	1
#define _XtIntrinsic_h	1
#define XtIMTimer	2
#define XtIMAlternateInput	4
#define XtSMDontChange	5
#define XtSpecificationRelease	6
#define XtIMSignal	8
#define _XtString	char*
#define externalref	extern
#define _XtBoolean	int
#define _XtPosition	int
#define XtOffsetOf(s_type,field)	offsetof(s_type,field)
#define _XtDimension	unsigned int
#define _XtKeyCode	unsigned int
#define _XtXtEnum	unsigned int
#define XtCurrentDirectory	"XtCurrentDirectory"
#define XtCvtPixelToColor	XtCvtIntToColor
#define XtCvtIntToDimension	XtCvtIntToShort
#define XtCvtIntToPosition	XtCvtIntToShort
#define XtCvtStringToPosition	XtCvtStringToShort
#define XtDefaultBackground	"XtDefaultBackground"
#define XtDefaultFont	"XtDefaultFont"
#define XtDefaultFontSet	"XtDefaultFontSet"
#define XtDefaultForeground	"XtDefaultForeground"
#define XtVaNestedList	"XtVaNestedList"
#define XtVaTypedArg	"XtVaTypedArg"

typedef unsigned int Modifiers;
typedef void *XtCacheRef;
struct _XtAppStruct;
typedef struct _XtAppStruct *XtAppContext;
typedef int XtCacheType;
typedef long unsigned int XtGCMask;
typedef long unsigned int XtSignalId;
typedef long unsigned int XtWorkProcId;
typedef long unsigned int XtIntervalId;
typedef struct _TranslationData *XtAccelerators;
typedef enum {
    XtAddress = 0,
    XtBaseOffset = 1,
    XtImmediate = 2,
    XtResourceString = 3,
    XtResourceQuark = 4,
    XtWidgetBaseOffset = 5,
    XtProcedureArg = 6
} XtAddressMode;
typedef struct {
    XtAddressMode address_mode;
    XtPointer address_id;
    Cardinal size;
} XtConvertArgRec;
typedef XtConvertArgRec *XtConvertArgList;
typedef void (*XtSignalCallbackProc) (XtPointer, XtSignalId *);
typedef enum {
    XtCallbackNoList = 0,
    XtCallbackHasNone = 1,
    XtCallbackHasSome = 2
} XtCallbackStatus;
typedef void (*XtInputCallbackProc) (XtPointer, int *, XtInputId *);
typedef void (*XtTimerCallbackProc) (XtPointer, XtIntervalId *);
typedef long unsigned int XtInputMask;
typedef enum {
    XtListHead = 0,
    XtListTail = 1
} XtListPosition;
typedef void *XtVarArgsList;
typedef void (*XtEventHandler) (Widget, XtPointer, XEvent *, Boolean *);
typedef void (*XtCaseProc) (Display *, KeySym, KeySym *, KeySym *);
typedef void (*XtKeyProc) (Display *, unsigned int, Modifiers, Modifiers *,
			   KeySym *);
typedef void (*XtBlockHookProc) (XtPointer);
typedef long unsigned int XtBlockHookId;
typedef void (*XtActionHookProc) (Widget, XtPointer, String, XEvent *,
				  String *, Cardinal *);
typedef void *XtActionHookId;
typedef void (*XtDestructor) (XtAppContext, XrmValue *, XtPointer,
			      XrmValue *, Cardinal *);
typedef Boolean(*XtTypeConverter) (Display *, XrmValue *, Cardinal *,
				   XrmValue *, XrmValue *, XtPointer *);
typedef void (*XtConverter) (XrmValue *, Cardinal *, XrmValue *,
			     XrmValue *);
typedef void *XtRequestId;
typedef Boolean(*XtFilePredicate) (String);
typedef struct {
    char match;
    String substitution;
} SubstitutionRec;
typedef SubstitutionRec *Substitution;
typedef void (*XtSelectionCallbackProc) (Widget, XtPointer, Atom *, Atom *,
					 XtPointer, long unsigned int *,
					 int *);
typedef Boolean(*XtWorkProc) (XtPointer);
typedef void (*XtSelectionDoneProc) (Widget, Atom *, Atom *);
typedef void (*XtLoseSelectionProc) (Widget, Atom *);
typedef void (*XtErrorHandler) (String);
typedef Boolean(*XtConvertSelectionProc) (Widget, Atom *, Atom *, Atom *,
					  XtPointer *, long unsigned int *,
					  int *);
typedef void (*XtErrorMsgHandler) (String, String, String, String,
				   String *, Cardinal *);
typedef String(*XtLanguageProc) (Display *, String, XtPointer);
typedef struct _XtCheckpointTokenRec *XtCheckpointToken;
typedef void (*XtExtensionSelectProc) (Widget, int *, XtPointer *, int,
				       XtPointer);
typedef Boolean(*XtEventDispatchProc) (XEvent *);
typedef void (*XtCancelConvertSelectionProc) (Widget, Atom *, Atom *,
					      XtRequestId *, XtPointer);
typedef Boolean(*XtConvertSelectionIncrProc) (Widget, Atom *, Atom *,
					      Atom *, XtPointer *,
					      long unsigned int *, int *,
					      long unsigned int *,
					      XtPointer, XtRequestId *);
typedef void (*XtSelectionDoneIncrProc) (Widget, Atom *, Atom *,
					 XtRequestId *, XtPointer);
typedef void (*XtLoseSelectionIncrProc) (Widget, Atom *, XtPointer);
typedef struct _XtResource XtResource;
typedef struct _XtCallbackRec XtCallbackRec;
typedef struct _XtCheckpointTokenRec {
    int save_type;
    int interact_style;
    Boolean shutdown;
    Boolean fast;
    Boolean cancel_shutdown;
    int phase;
    int interact_dialog_type;
    Boolean request_cancel;
    Boolean request_next_phase;
    Boolean save_success;
    int type;
    Widget widget;
} XtCheckpointTokenRec;
typedef struct _XtActionsRec XtActionsRec;
typedef struct {
    Widget shell_widget;
    Widget enable_widget;
} XtPopdownIDRec;
typedef XtPopdownIDRec *XtPopdownID;
typedef struct {
    String type;
    Widget widget;
    ArgList args;
    Cardinal num_args;
} XtCreateHookDataRec;
typedef XtCreateHookDataRec *XtCreateHookData;
typedef struct {
    String type;
    Widget widget;
    XtPointer event_data;
    Cardinal num_event_data;
} XtChangeHookDataRec;
typedef XtChangeHookDataRec *XtChangeHookData;
typedef struct {
    Widget old;
    Widget req;
    ArgList args;
    Cardinal num_args;
} XtChangeHookSetValuesDataRec;
typedef XtChangeHookSetValuesDataRec *XtChangeHookSetValuesData;
typedef struct {
    String type;
    Widget widget;
    XtGeometryMask changeMask;
    XWindowChanges changes;
} XtConfigureHookDataRec;
typedef XtConfigureHookDataRec *XtConfigureHookData;
typedef struct {
    String type;
    Widget widget;
    XtWidgetGeometry *request;
    XtWidgetGeometry *reply;
    XtGeometryResult result;
} XtGeometryHookDataRec;
typedef XtGeometryHookDataRec *XtGeometryHookData;
typedef struct {
    String type;
    Widget widget;
} XtDestroyHookDataRec;
typedef XtDestroyHookDataRec *XtDestroyHookData;
extern void XtAddActions(XtActionList, Cardinal);
extern void XtAddCallback(Widget, const char *, XtCallbackProc, XtPointer);
extern void XtAddCallbacks(Widget, const char *, XtCallbackList);
extern void XtAddConverter(const char *, const char *, XtConverter,
			   XtConvertArgList, Cardinal);
extern void XtAddEventHandler(Widget, EventMask, int, XtEventHandler,
			      XtPointer);
extern void XtAddExposureToRegion(XEvent *, Region);
extern void XtAddGrab(Widget, int, int);
extern XtInputId XtAddInput(int, XtPointer, XtInputCallbackProc,
			    XtPointer);
extern void XtAddRawEventHandler(Widget, EventMask, int, XtEventHandler,
				 XtPointer);
extern XtSignalId XtAddSignal(XtSignalCallbackProc, XtPointer);
extern XtIntervalId XtAddTimeOut(long unsigned int, XtTimerCallbackProc,
				 XtPointer);
extern XtWorkProcId XtAddWorkProc(XtWorkProc, XtPointer);
extern GC XtAllocateGC(Widget, Cardinal, XtGCMask, XGCValues *, XtGCMask,
		       XtGCMask);
extern XtActionHookId XtAppAddActionHook(XtAppContext, XtActionHookProc,
					 XtPointer);
extern void XtAppAddActions(XtAppContext, XtActionList, Cardinal);
extern XtBlockHookId XtAppAddBlockHook(XtAppContext, XtBlockHookProc,
				       XtPointer);
extern void XtAppAddConverter(XtAppContext, const char *, const char *,
			      XtConverter, XtConvertArgList, Cardinal);
extern XtInputId XtAppAddInput(XtAppContext, int, XtPointer,
			       XtInputCallbackProc, XtPointer);
extern XtSignalId XtAppAddSignal(XtAppContext, XtSignalCallbackProc,
				 XtPointer);
extern XtIntervalId XtAppAddTimeOut(XtAppContext, long unsigned int,
				    XtTimerCallbackProc, XtPointer);
extern XtWorkProcId XtAppAddWorkProc(XtAppContext, XtWorkProc, XtPointer);
extern Widget XtAppCreateShell(const char *, const char *, WidgetClass,
			       Display *, ArgList, Cardinal);
extern void XtAppError(XtAppContext, const char *);
extern void XtAppErrorMsg(XtAppContext, const char *, const char *,
			  const char *, const char *, String *,
			  Cardinal *);
extern XrmDatabase *XtAppGetErrorDatabase(XtAppContext);
extern void XtAppGetErrorDatabaseText(XtAppContext, const char *,
				      const char *, const char *,
				      const char *, String, int,
				      XrmDatabase);
extern Boolean XtAppGetExitFlag(XtAppContext);
extern long unsigned int XtAppGetSelectionTimeout(XtAppContext);
extern Widget XtAppInitialize(XtAppContext *, const char *,
			      XrmOptionDescList, Cardinal, int *, String *,
			      String *, ArgList, Cardinal);
extern void XtAppLock(XtAppContext);
extern void XtAppMainLoop(XtAppContext);
extern void XtAppNextEvent(XtAppContext, XEvent *);
extern Boolean XtAppPeekEvent(XtAppContext, XEvent *);
extern XtInputMask XtAppPending(XtAppContext);
extern void XtAppProcessEvent(XtAppContext, XtInputMask);
extern void XtAppReleaseCacheRefs(XtAppContext, XtCacheRef *);
extern XtErrorHandler XtAppSetErrorHandler(XtAppContext, XtErrorHandler);
extern XtErrorMsgHandler XtAppSetErrorMsgHandler(XtAppContext,
						 XtErrorMsgHandler);
extern void XtAppSetExitFlag(XtAppContext);
extern void XtAppSetFallbackResources(XtAppContext, String *);
extern void XtAppSetSelectionTimeout(XtAppContext, long unsigned int);
extern void XtAppSetTypeConverter(XtAppContext, const char *, const char *,
				  XtTypeConverter, XtConvertArgList,
				  Cardinal, XtCacheType, XtDestructor);
extern XtErrorHandler XtAppSetWarningHandler(XtAppContext, XtErrorHandler);
extern XtErrorMsgHandler XtAppSetWarningMsgHandler(XtAppContext,
						   XtErrorMsgHandler);
extern void XtAppUnlock(XtAppContext);
extern void XtAppWarning(XtAppContext, const char *);
extern void XtAppWarningMsg(XtAppContext, const char *, const char *,
			    const char *, const char *, String *,
			    Cardinal *);
extern void XtAugmentTranslations(Widget, XtTranslations);
extern EventMask XtBuildEventMask(Widget);
extern Boolean XtCallAcceptFocus(Widget, Time *);
extern void XtCallActionProc(Widget, const char *, XEvent *, String *,
			     Cardinal);
extern void XtCallCallbackList(Widget, XtCallbackList, XtPointer);
extern void XtCallCallbacks(Widget, const char *, XtPointer);
extern Boolean XtCallConverter(Display *, XtTypeConverter, XrmValuePtr,
			       Cardinal, XrmValuePtr, XrmValue *,
			       XtCacheRef *);
extern void XtCallbackExclusive(Widget, XtPointer, XtPointer);
extern void XtCallbackNone(Widget, XtPointer, XtPointer);
extern void XtCallbackNonexclusive(Widget, XtPointer, XtPointer);
extern void XtCallbackPopdown(Widget, XtPointer, XtPointer);
extern void XtCallbackReleaseCacheRef(Widget, XtPointer, XtPointer);
extern void XtCallbackReleaseCacheRefList(Widget, XtPointer, XtPointer);
extern char *XtCalloc(Cardinal, Cardinal);
extern void XtCancelSelectionRequest(Widget, Atom);
extern WidgetClass XtClass(Widget);
extern void XtCloseDisplay(Display *);
extern void XtConvert(Widget, const char *, XrmValue *, const char *,
		      XrmValue *);
extern Boolean XtConvertAndStore(Widget, const char *, XrmValue *,
				 const char *, XrmValue *);
extern void XtConvertCase(Display *, KeySym, KeySym *, KeySym *);
extern XtAppContext XtCreateApplicationContext(void);
extern Widget XtCreateApplicationShell(const char *, WidgetClass, ArgList,
				       Cardinal);
extern Widget XtCreateManagedWidget(const char *, WidgetClass, Widget,
				    ArgList, Cardinal);
extern Widget XtCreatePopupShell(const char *, WidgetClass, Widget,
				 ArgList, Cardinal);
extern void XtCreateSelectionRequest(Widget, Atom);
extern Widget XtCreateWidget(const char *, WidgetClass, Widget, ArgList,
			     Cardinal);
extern Boolean XtCvtColorToPixel(Display *, XrmValuePtr, Cardinal *,
				 XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToBool(Display *, XrmValuePtr, Cardinal *,
			      XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToBoolean(Display *, XrmValuePtr, Cardinal *,
				 XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToColor(Display *, XrmValuePtr, Cardinal *,
			       XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToFloat(Display *, XrmValuePtr, Cardinal *,
			       XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToFont(Display *, XrmValuePtr, Cardinal *,
			      XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToPixel(Display *, XrmValuePtr, Cardinal *,
			       XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToPixmap(Display *, XrmValuePtr, Cardinal *,
				XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToShort(Display *, XrmValuePtr, Cardinal *,
			       XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtIntToUnsignedChar(Display *, XrmValuePtr, Cardinal *,
				      XrmValuePtr, XrmValuePtr,
				      XtPointer *);
extern Boolean XtCvtStringToAcceleratorTable(Display *, XrmValuePtr,
					     Cardinal *, XrmValuePtr,
					     XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToAtom(Display *, XrmValuePtr, Cardinal *,
				 XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToBool(Display *, XrmValuePtr, Cardinal *,
				 XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToBoolean(Display *, XrmValuePtr, Cardinal *,
				    XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToCommandArgArray(Display *, XrmValuePtr,
					    Cardinal *, XrmValuePtr,
					    XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToCursor(Display *, XrmValuePtr, Cardinal *,
				   XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToDimension(Display *, XrmValuePtr, Cardinal *,
				      XrmValuePtr, XrmValuePtr,
				      XtPointer *);
extern Boolean XtCvtStringToDirectoryString(Display *, XrmValuePtr,
					    Cardinal *, XrmValuePtr,
					    XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToDisplay(Display *, XrmValuePtr, Cardinal *,
				    XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToFile(Display *, XrmValuePtr, Cardinal *,
				 XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToFloat(Display *, XrmValuePtr, Cardinal *,
				  XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToFont(Display *, XrmValuePtr, Cardinal *,
				 XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToFontSet(Display *, XrmValuePtr, Cardinal *,
				    XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToFontStruct(Display *, XrmValuePtr, Cardinal *,
				       XrmValuePtr, XrmValuePtr,
				       XtPointer *);
extern Boolean XtCvtStringToGravity(Display *, XrmValuePtr, Cardinal *,
				    XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToInitialState(Display *, XrmValuePtr,
					 Cardinal *, XrmValuePtr,
					 XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToInt(Display *, XrmValuePtr, Cardinal *,
				XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToPixel(Display *, XrmValuePtr, Cardinal *,
				  XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToRestartStyle(Display *, XrmValuePtr,
					 Cardinal *, XrmValuePtr,
					 XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToShort(Display *, XrmValuePtr, Cardinal *,
				  XrmValuePtr, XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToTranslationTable(Display *, XrmValuePtr,
					     Cardinal *, XrmValuePtr,
					     XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToUnsignedChar(Display *, XrmValuePtr,
					 Cardinal *, XrmValuePtr,
					 XrmValuePtr, XtPointer *);
extern Boolean XtCvtStringToVisual(Display *, XrmValuePtr, Cardinal *,
				   XrmValuePtr, XrmValuePtr, XtPointer *);
extern XrmDatabase XtDatabase(Display *);
extern void XtDestroyApplicationContext(XtAppContext);
extern void XtDestroyGC(GC);
extern void XtDestroyWidget(Widget);
extern void XtDirectConvert(XtConverter, XrmValuePtr, Cardinal,
			    XrmValuePtr, XrmValue *);
extern void XtDisownSelection(Widget, Atom, Time);
extern Boolean XtDispatchEvent(XEvent *);
extern Boolean XtDispatchEventToWidget(Widget, XEvent *);
extern Display *XtDisplay(Widget);
extern void XtDisplayInitialize(XtAppContext, Display *, const char *,
				const char *, XrmOptionDescRec *, Cardinal,
				int *, char **);
extern Display *XtDisplayOfObject(Widget);
extern void XtDisplayStringConversionWarning(Display *, const char *,
					     const char *);
extern XtAppContext XtDisplayToApplicationContext(Display *);
extern void XtError(const char *);
extern void XtErrorMsg(const char *, const char *, const char *,
		       const char *, String *, Cardinal *);
extern String XtFindFile(const char *, Substitution, Cardinal,
			 XtFilePredicate);
extern void XtFree(char *);
extern KeySym XtGetActionKeysym(XEvent *, Modifiers *);
extern void XtGetActionList(WidgetClass, XtActionList *, Cardinal *);
extern void XtGetApplicationNameAndClass(Display *, String *, String *);
extern void XtGetApplicationResources(Widget, XtPointer, XtResourceList,
				      Cardinal, ArgList, Cardinal);
extern XtPointer XtGetClassExtension(WidgetClass, Cardinal, XrmQuark,
				     long int, Cardinal);
extern void XtGetConstraintResourceList(WidgetClass, XtResourceList *,
					Cardinal *);
extern void XtGetDisplays(XtAppContext, Display * **, Cardinal *);
extern XrmDatabase *XtGetErrorDatabase(void);
extern void XtGetErrorDatabaseText(const char *, const char *,
				   const char *, const char *, String,
				   int);
extern GC XtGetGC(Widget, XtGCMask, XGCValues *);
extern Widget XtGetKeyboardFocusWidget(Widget);
extern KeySym *XtGetKeysymTable(Display *, KeyCode *, int *);
extern int XtGetMultiClickTime(Display *);
extern void XtGetResourceList(WidgetClass, XtResourceList *, Cardinal *);
extern void XtGetSelectionParameters(Widget, Atom, XtRequestId, Atom *,
				     XtPointer *, long unsigned int *,
				     int *);
extern XSelectionRequestEvent *XtGetSelectionRequest(Widget, Atom,
						     XtRequestId);
extern long unsigned int XtGetSelectionTimeout(void);
extern void XtGetSelectionValue(Widget, Atom, Atom,
				XtSelectionCallbackProc, XtPointer, Time);
extern void XtGetSelectionValueIncremental(Widget, Atom, Atom,
					   XtSelectionCallbackProc,
					   XtPointer, Time);
extern void XtGetSelectionValues(Widget, Atom, Atom *, int,
				 XtSelectionCallbackProc, XtPointer *,
				 Time);
extern void XtGetSelectionValuesIncremental(Widget, Atom, Atom *, int,
					    XtSelectionCallbackProc,
					    XtPointer *, Time);
extern void XtGetSubresources(Widget, XtPointer, const char *,
			      const char *, XtResourceList, Cardinal,
			      ArgList, Cardinal);
extern void XtGetSubvalues(XtPointer, XtResourceList, Cardinal, ArgList,
			   Cardinal);
extern void XtGetValues(Widget, ArgList, Cardinal);
extern void XtGrabButton(Widget, int, Modifiers, int, unsigned int, int,
			 int, Window, Cursor);
extern void XtGrabKey(Widget, unsigned int, Modifiers, int, int, int);
extern int XtGrabKeyboard(Widget, int, int, int, Time);
extern int XtGrabPointer(Widget, int, unsigned int, int, int, Window,
			 Cursor, Time);
extern XtCallbackStatus XtHasCallbacks(Widget, const char *);
extern Widget XtHooksOfDisplay(Display *);
extern Widget XtInitialize(const char *, const char *, XrmOptionDescRec *,
			   Cardinal, int *, char **);
extern void XtInitializeWidgetClass(WidgetClass);
extern void XtInsertEventHandler(Widget, EventMask, int, XtEventHandler,
				 XtPointer, XtListPosition);
extern void XtInsertEventTypeHandler(Widget, int, XtPointer,
				     XtEventHandler, XtPointer,
				     XtListPosition);
extern void XtInsertRawEventHandler(Widget, EventMask, int, XtEventHandler,
				    XtPointer, XtListPosition);
extern void XtInstallAccelerators(Widget, Widget);
extern void XtInstallAllAccelerators(Widget, Widget);
extern Boolean XtIsApplicationShell(Widget);
extern Boolean XtIsManaged(Widget);
extern Boolean XtIsObject(Widget);
extern Boolean XtIsOverrideShell(Widget);
extern Boolean XtIsRealized(Widget);
extern Boolean XtIsSensitive(Widget);
extern Boolean XtIsSessionShell(Widget);
extern Boolean XtIsSubclass(Widget, WidgetClass);
extern Boolean XtIsTransientShell(Widget);
extern Boolean XtIsVendorShell(Widget);
extern void XtKeysymToKeycodeList(Display *, KeySym, KeyCode * *,
				  Cardinal *);
extern XEvent *XtLastEventProcessed(Display *);
extern Time XtLastTimestampProcessed(Display *);
extern void XtMainLoop(void);
extern XtGeometryResult XtMakeGeometryRequest(Widget, XtWidgetGeometry *,
					      XtWidgetGeometry *);
extern XtGeometryResult XtMakeResizeRequest(Widget, unsigned int,
					    unsigned int, Dimension *,
					    Dimension *);
extern char *XtMalloc(Cardinal);
extern void XtMapWidget(Widget);
extern void XtMenuPopupAction(Widget, XEvent *, String *, Cardinal *);
extern ArgList XtMergeArgLists(ArgList, Cardinal, ArgList, Cardinal);
extern String XtName(Widget);
extern Widget XtNameToWidget(Widget, const char *);
extern String XtNewString(String);
extern void XtNextEvent(XEvent *);
extern void XtNoticeSignal(XtSignalId);
extern Widget XtOpenApplication(XtAppContext *, const char *,
				XrmOptionDescList, Cardinal, int *,
				String *, String *, WidgetClass, ArgList,
				Cardinal);
extern Display *XtOpenDisplay(XtAppContext, const char *, const char *,
			      const char *, XrmOptionDescRec *, Cardinal,
			      int *, char **);
extern void XtOverrideTranslations(Widget, XtTranslations);
extern Boolean XtOwnSelection(Widget, Atom, Time, XtConvertSelectionProc,
			      XtLoseSelectionProc, XtSelectionDoneProc);
extern Boolean XtOwnSelectionIncremental(Widget, Atom, Time,
					 XtConvertSelectionIncrProc,
					 XtLoseSelectionIncrProc,
					 XtSelectionDoneIncrProc,
					 XtCancelConvertSelectionProc,
					 XtPointer);
extern Widget XtParent(Widget);
extern XtAccelerators XtParseAcceleratorTable(const char *);
extern XtTranslations XtParseTranslationTable(const char *);
extern Boolean XtPeekEvent(XEvent *);
extern Boolean XtPending(void);
extern void XtPopdown(Widget);
extern void XtPopup(Widget, XtGrabKind);
extern void XtPopupSpringLoaded(Widget);
extern void XtProcessEvent(XtInputMask);
extern XtGeometryResult XtQueryGeometry(Widget, XtWidgetGeometry *,
					XtWidgetGeometry *);
extern void XtRealizeWidget(Widget);
extern char *XtRealloc(char *, Cardinal);
extern void XtRegisterCaseConverter(Display *, XtCaseProc, KeySym, KeySym);
extern void XtRegisterDrawable(Display *, Drawable, Widget);
extern void XtRegisterExtensionSelector(Display *, int, int,
					XtExtensionSelectProc, XtPointer);
extern void XtRegisterGrabAction(XtActionProc, int, unsigned int, int,
				 int);
extern void XtReleaseGC(Widget, GC);
extern void XtReleasePropertyAtom(Widget, Atom);
extern void XtRemoveActionHook(XtActionHookId);
extern void XtRemoveAllCallbacks(Widget, const char *);
extern void XtRemoveBlockHook(XtBlockHookId);
extern void XtRemoveCallback(Widget, const char *, XtCallbackProc,
			     XtPointer);
extern void XtRemoveCallbacks(Widget, const char *, XtCallbackList);
extern void XtRemoveEventHandler(Widget, EventMask, int, XtEventHandler,
				 XtPointer);
extern void XtRemoveEventTypeHandler(Widget, int, XtPointer,
				     XtEventHandler, XtPointer);
extern void XtRemoveGrab(Widget);
extern void XtRemoveInput(XtInputId);
extern void XtRemoveRawEventHandler(Widget, EventMask, int, XtEventHandler,
				    XtPointer);
extern void XtRemoveSignal(XtSignalId);
extern void XtRemoveTimeOut(XtIntervalId);
extern void XtRemoveWorkProc(XtWorkProcId);
extern Atom XtReservePropertyAtom(Widget);
extern String XtResolvePathname(Display *, const char *, const char *,
				const char *, const char *, Substitution,
				Cardinal, XtFilePredicate);
extern Screen *XtScreen(Widget);
extern XrmDatabase XtScreenDatabase(Screen *);
extern Screen *XtScreenOfObject(Widget);
extern void XtSendSelectionRequest(Widget, Atom, Time);
extern XtCheckpointToken XtSessionGetToken(Widget);
extern void XtSessionReturnToken(XtCheckpointToken);
extern void XtSetErrorHandler(XtErrorHandler);
extern void XtSetErrorMsgHandler(XtErrorMsgHandler);
extern XtEventDispatchProc XtSetEventDispatcher(Display *, int,
						XtEventDispatchProc);
extern void XtSetKeyTranslator(Display *, XtKeyProc);
extern void XtSetKeyboardFocus(Widget, Widget);
extern XtLanguageProc XtSetLanguageProc(XtAppContext, XtLanguageProc,
					XtPointer);
extern void XtSetMappedWhenManaged(Widget, int);
extern void XtSetMultiClickTime(Display *, int);
extern void XtSetSelectionParameters(Widget, Atom, Atom, XtPointer,
				     long unsigned int, int);
extern void XtSetSelectionTimeout(long unsigned int);
extern void XtSetSensitive(Widget, int);
extern void XtSetSubvalues(XtPointer, XtResourceList, Cardinal, ArgList,
			   Cardinal);
extern void XtSetTypeConverter(const char *, const char *, XtTypeConverter,
			       XtConvertArgList, Cardinal, XtCacheType,
			       XtDestructor);
extern void XtSetValues(Widget, ArgList, Cardinal);
extern void XtSetWMColormapWindows(Widget, Widget *, Cardinal);
extern void XtSetWarningHandler(XtErrorHandler);
extern void XtSetWarningMsgHandler(XtErrorMsgHandler);
extern void XtStringConversionWarning(const char *, const char *);
extern WidgetClass XtSuperclass(Widget);
extern void XtToolkitInitialize(void);
extern Boolean XtToolkitThreadInitialize(void);
extern void XtTranslateCoords(Widget, int, int, Position *, Position *);
extern void XtTranslateKey(Display *, unsigned int, Modifiers, Modifiers *,
			   KeySym *);
extern void XtTranslateKeycode(Display *, unsigned int, Modifiers,
			       Modifiers *, KeySym *);
extern void XtUngrabButton(Widget, unsigned int, Modifiers);
extern void XtUngrabKey(Widget, unsigned int, Modifiers);
extern void XtUngrabKeyboard(Widget, Time);
extern void XtUngrabPointer(Widget, Time);
extern void XtUninstallTranslations(Widget);
extern void XtUnmapWidget(Widget);
extern void XtUnrealizeWidget(Widget);
extern void XtUnregisterDrawable(Display *, Drawable);
extern Widget XtVaAppCreateShell(const char *, const char *, WidgetClass,
				 Display *, ...);
extern Widget XtVaAppInitialize(XtAppContext *, const char *,
				XrmOptionDescList, Cardinal, int *,
				String *, String *, ...);
extern XtVarArgsList XtVaCreateArgsList(XtPointer, ...);
extern Widget XtVaCreateManagedWidget(const char *, WidgetClass, Widget,
				      ...);
extern Widget XtVaCreatePopupShell(const char *, WidgetClass, Widget, ...);
extern Widget XtVaCreateWidget(const char *, WidgetClass, Widget, ...);
extern void XtVaGetApplicationResources(Widget, XtPointer, XtResourceList,
					Cardinal, ...);
extern void XtVaGetSubresources(Widget, XtPointer, const char *,
				const char *, XtResourceList, Cardinal,
				...);
extern void XtVaGetSubvalues(XtPointer, XtResourceList, Cardinal, ...);
extern void XtVaGetValues(Widget, ...);
extern Widget XtVaOpenApplication(XtAppContext *, const char *,
				  XrmOptionDescList, Cardinal, int *,
				  String *, String *, WidgetClass, ...);
extern void XtVaSetSubvalues(XtPointer, XtResourceList, Cardinal, ...);
extern void XtVaSetValues(Widget, ...);
extern void XtWarning(const char *);
extern void XtWarningMsg(const char *, const char *, const char *,
			 const char *, String *, Cardinal *);
extern XtAppContext XtWidgetToApplicationContext(Widget);
extern Window XtWindow(Widget);
extern Window XtWindowOfObject(Widget);
extern Widget XtWindowToWidget(Display *, Window);
extern Boolean _XtCheckSubclassFlag(Widget, unsigned int);
extern Boolean _XtIsSubclassOf(Widget, WidgetClass, WidgetClass,
			       unsigned int);
extern const XtConvertArgRec colorConvertArgs[];

6.10.9. X11/IntrinsicI.h


#define CALLGEOTAT(f)
#define XTERROR_PREFIX	""
#define XTWARNING_PREFIX	""
#define XtStackAlloc(size,stack_cache_array)	((size) <= sizeof(stack_cache_array) ? (XtPointer)(stack_cache_array) : XtMalloc((unsigned)(size)))
#define XtWindowOfObject(object)	((XtIsWidget(object) ? (object) : _XtWindowedAncestor(object)) ->core.window)
#define XtIsSensitive(object)	(XtIsRectObj(object) ? ((object)->core.sensitive && (object)->core.ancestor_sensitive) : False)
#define XtIsManaged(object)	(XtIsRectObj(object) ? (object)->core.managed : False)
#define XtScreenOfObject(object)	(XtIsWidget(object) ? (object)->core.screen : _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen : _XtWindowedAncestor(object)->core.screen)
#define XtDisplayOfObject(object)	(XtIsWidget(object) ? (object)->core.screen->display : _XtIsHookObject(object) ? ((HookObject)(object))->hooks.screen->display : _XtWindowedAncestor(object)->core.screen->display)
#define XFILESEARCHPATHDEFAULT	"/usr/lib/X11/%L/%T/%N%S:/usr/lib/X11/%l/%T/%N%S:/usr/lib/X11/%T/%N%S"
#define ERRORDB	"/usr/lib/X11/XtErrorDB"
#define RectObjClassFlag	0x02
#define WidgetClassFlag	0x04
#define CompositeClassFlag	0x08
#define ConstraintClassFlag	0x10
#define ShellClassFlag	0x20
#define WMShellClassFlag	0x40
#define TopLevelClassFlag	0x80
#define _XtintrinsicI_h	1
#define XtBZero(dst,size)	bzero((char *) (dst), (int) (size))
#define XtMemmove(dst,src,size)	if ((char *)(dst) != (char *)(src)) { (void) memcpy((char *) (dst), (char *) (src), (int) (size)); }
#define XtMemcmp(b1,b2,size)	memcmp((char *) (b1), (char *) (b2), (int) (size))
#define _XBCOPYFUNC	_XtBcopy
#define XtStackFree(pointer,stack_cache_array)	{ if ((pointer) != ((XtPointer)(stack_cache_array))) XtFree(pointer); }

extern String XtCXtToolkitError;

6.10.10. X11/IntrinsicP.h


#define XtCheckSubclass(w,widget_class,message)
#define XtExposeNoCompress	((XtEnum)False)
#define XtExposeCompressSeries	((XtEnum)True)
#define XtVersion	(XT_VERSION * 1000 + XT_REVISION)
#define XtVersionDontCheck	0
#define XtExposeGraphicsExpose	0x10
#define XtExposeGraphicsExposeMerged	0x20
#define XtExposeNoExpose	0x40
#define XtExposeNoRegion	0x80
#define _XtintrinsicP_h	1
#define XT_VERSION	11
#define XtExposeCompressMultiple	2
#define XtExposeCompressMaximal	3
#define XT_REVISION	6

typedef struct {
    long int xrm_name;
    long int xrm_class;
    long int xrm_type;
    Cardinal xrm_size;
    int xrm_offset;
    long int xrm_default_type;
    XtPointer xrm_default_addr;
} XrmResource;
typedef XrmResource *XrmResourceList;
typedef struct _XtTMRec *XtTM;
typedef struct {
    String name;
    String type;
    XtArgVal value;
    int size;
} XtTypedArg;
typedef XtTypedArg *XtTypedArgList;
typedef void (*XtProc) (void);
typedef void (*XtWidgetClassProc) (WidgetClass);
typedef void (*XtInitProc) (Widget, Widget, ArgList, Cardinal *);
typedef void (*XtArgsProc) (Widget, ArgList, Cardinal *);
typedef void (*XtRealizeProc) (Widget, XtValueMask *,
			       XSetWindowAttributes *);
typedef void (*XtWidgetProc) (Widget);
typedef void (*XtExposeProc) (Widget, XEvent *, Region);
typedef Boolean(*XtArgsFunc) (Widget, ArgList, Cardinal *);
typedef void (*XtAlmostProc) (Widget, Widget, XtWidgetGeometry *,
			      XtWidgetGeometry *);
typedef Boolean(*XtAcceptFocusProc) (Widget, Time *);
typedef long unsigned int XtVersionType;
typedef XtGeometryResult(*XtGeometryHandler) (Widget, XtWidgetGeometry *,
					      XtWidgetGeometry *);
typedef void (*XtAllocateProc) (WidgetClass, Cardinal *, Cardinal *,
				ArgList, Cardinal *, XtTypedArgList,
				Cardinal *, struct _WidgetRec * *,
				void **);
typedef void (*XtDeallocateProc) (struct _WidgetRec *, void *);
typedef struct _XtTMRec {
    XtTranslations translations;
    XtBoundActions proc_table;
    struct _XtStateRec *current_state;
    long unsigned int lastEventTime;
} XtTMRec;

typedef void (*XtStringProc) (Widget, String);
typedef Boolean(*XtSetValuesFunc) (Widget, Widget, Widget, ArgList,
				   Cardinal *);
extern void XtConfigureWidget(Widget, int, int, unsigned int, unsigned int,
			      unsigned int);
extern void XtCreateWindow(Widget, unsigned int, Visual *, XtValueMask,
			   XSetWindowAttributes *);
extern Boolean XtIsComposite(Widget);
extern Boolean XtIsConstraint(Widget);
extern Boolean XtIsRectObj(Widget);
extern Boolean XtIsShell(Widget);
extern Boolean XtIsTopLevelShell(Widget);
extern Boolean XtIsWMShell(Widget);
extern Boolean XtIsWidget(Widget);
extern void XtMoveWidget(Widget, int, int);
extern void XtProcessLock(void);
extern void XtProcessUnlock(void);
extern void XtResizeWidget(Widget, unsigned int, unsigned int,
			   unsigned int);
extern void XtResizeWindow(Widget);
extern void _XtInherit(void);

6.10.11. X11/Object.h


#define _XtObject_h	1

typedef struct _ObjectClassRec *ObjectClass;
typedef struct _ObjectClassRec *Object;
extern WidgetClass objectClass;

6.10.12. X11/ObjectP.h


#define XtInheritAllocate	((XtAllocateProc) _XtInherit)
#define XtInheritDeallocate	((XtDeallocateProc) _XtInherit)
#define _Xt_ObjectP_h_	1
#define XtObjectExtensionVersion	1L

typedef struct _ObjectPart {
    Widget self;
    WidgetClass widget_class;
    Widget parent;
    XrmName xrm_name;
    Boolean being_destroyed;
    XtCallbackList destroy_callbacks;
    XtPointer constraints;
} ObjectPart;
typedef struct _ObjectRec {
    ObjectPart object;
} ObjectRec;
typedef struct _ObjectClassPart {
    WidgetClass superclass;
    String class_name;
    Cardinal widget_size;
    XtProc class_initialize;
    XtWidgetClassProc class_part_initialize;
    XtEnum class_inited;
    XtInitProc initialize;
    XtArgsProc initialize_hook;
    XtProc obj1;
    XtPointer obj2;
    Cardinal obj3;
    XtResourceList resources;
    Cardinal num_resources;
    XrmClass xrm_class;
    Boolean obj4;
    XtEnum obj5;
    Boolean obj6;
    Boolean obj7;
    XtWidgetProc destroy;
    XtProc obj8;
    XtProc obj9;
    XtSetValuesFunc set_values;
    XtArgsFunc set_values_hook;
    XtProc obj10;
    XtArgsProc get_values_hook;
    XtProc obj11;
    XtVersionType version;
    XtPointer callback_private;
    String obj12;
    XtProc obj13;
    XtProc obj14;
    XtPointer extension;
} ObjectClassPart;
typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long int version;
    Cardinal record_size;
    XtAllocateProc allocate;
    XtDeallocateProc deallocate;
} ObjectClassExtensionRec;
typedef ObjectClassExtensionRec *ObjectClassExtension;

typedef struct _ObjectClassRec {
    ObjectClassPart object_class;
} ObjectClassRec;
extern ObjectClassRec objectClassRec;

6.10.13. X11/RectObj.h


typedef struct _RectObjRec *RectObj;
typedef struct _RectObjClassRec *RectObjClass;
extern WidgetClass rectObjClass;

6.10.14. X11/RectObjP.h


typedef struct _RectObjPart {
    Position x;
    Position y;
    Dimension width;
    Dimension height;
    Dimension border_width;
    Boolean managed;
    Boolean sensitive;
    Boolean ancestor_sensitive;
} RectObjPart;

typedef struct _RectObjRec {
    ObjectPart object;
    RectObjPart rectangle;
} RectObjRec;

typedef struct _RectObjClassPart {
    WidgetClass superclass;
    String class_name;
    Cardinal widget_size;
    XtProc class_initialize;
    XtWidgetClassProc class_part_initialize;
    XtEnum class_inited;
    XtInitProc initialize;
    XtArgsProc initialize_hook;
    XtProc rect1;
    XtPointer rect2;
    Cardinal rect3;
    XtResourceList resources;
    Cardinal num_resources;
    XrmClass xrm_class;
    Boolean rect4;
    XtEnum rect5;
    Boolean rect6;
    Boolean rect7;
    XtWidgetProc destroy;
    XtWidgetProc resize;
    XtExposeProc expose;
    XtSetValuesFunc set_values;
    XtArgsFunc set_values_hook;
    XtAlmostProc set_values_almost;
    XtArgsProc get_values_hook;
    XtProc rect9;
    XtVersionType version;
    XtPointer callback_private;
    String rect10;
    XtGeometryHandler query_geometry;
    XtProc rect11;
    XtPointer extension;
} RectObjClassPart;

typedef struct _RectObjClassRec {
    RectObjClassPart rect_class;
} RectObjClassRec;
extern RectObjClassRec rectObjClassRec;

6.10.15. X11/ResourceI.h


#define _XtresourceI_h
#define StringToClass(string)	XrmStringToQuark(string)
#define StringToName(string)	XrmStringToQuark(string)
#define StringToQuark(string)	XrmStringToQuark(string)

extern void _XtCopyFromArg(XtArgVal, char *, unsigned int);

6.10.16. X11/Shell.h


#define XtNiconName	((char*)&XtShellStrings[0])
#define XtCDiscardCommand	((char*)&XtShellStrings[1001])
#define XtNenvironment	((char*)&XtShellStrings[1016])
#define XtCEnvironment	((char*)&XtShellStrings[1028])
#define XtNinteractCallback	((char*)&XtShellStrings[1040])
#define XtNvisual	((char*)&XtShellStrings[104])
#define XtNjoinSession	((char*)&XtShellStrings[1057])
#define XtCJoinSession	((char*)&XtShellStrings[1069])
#define XtNprogramPath	((char*)&XtShellStrings[1081])
#define XtCProgramPath	((char*)&XtShellStrings[1093])
#define XtNresignCommand	((char*)&XtShellStrings[1105])
#define XtCResignCommand	((char*)&XtShellStrings[1119])
#define XtCVisual	((char*)&XtShellStrings[111])
#define XtNrestartCommand	((char*)&XtShellStrings[1133])
#define XtCRestartCommand	((char*)&XtShellStrings[1148])
#define XtNrestartStyle	((char*)&XtShellStrings[1163])
#define XtCRestartStyle	((char*)&XtShellStrings[1176])
#define XtNsaveCallback	((char*)&XtShellStrings[1189])
#define XtNtitleEncoding	((char*)&XtShellStrings[118])
#define XtNsaveCompleteCallback	((char*)&XtShellStrings[1202])
#define XtNsessionID	((char*)&XtShellStrings[1223])
#define XtCSessionID	((char*)&XtShellStrings[1233])
#define XtNshutdownCommand	((char*)&XtShellStrings[1243])
#define XtCShutdownCommand	((char*)&XtShellStrings[1259])
#define XtNerrorCallback	((char*)&XtShellStrings[1275])
#define XtCTitleEncoding	((char*)&XtShellStrings[132])
#define XtNsaveUnder	((char*)&XtShellStrings[146])
#define XtCSaveUnder	((char*)&XtShellStrings[156])
#define XtNtransient	((char*)&XtShellStrings[166])
#define XtCTransient	((char*)&XtShellStrings[176])
#define XtNoverrideRedirect	((char*)&XtShellStrings[186])
#define XtNiconPixmap	((char*)&XtShellStrings[18])
#define XtCOverrideRedirect	((char*)&XtShellStrings[203])
#define XtNtransientFor	((char*)&XtShellStrings[220])
#define XtCTransientFor	((char*)&XtShellStrings[233])
#define XtNiconNameEncoding	((char*)&XtShellStrings[246])
#define XtCIconNameEncoding	((char*)&XtShellStrings[263])
#define XtNallowShellResize	((char*)&XtShellStrings[280])
#define XtCAllowShellResize	((char*)&XtShellStrings[297])
#define XtCIconPixmap	((char*)&XtShellStrings[29])
#define XtNcreatePopupChildProc	((char*)&XtShellStrings[314])
#define XtCCreatePopupChildProc	((char*)&XtShellStrings[335])
#define XtNtitle	((char*)&XtShellStrings[356])
#define XtCTitle	((char*)&XtShellStrings[362])
#define XtNargc	((char*)&XtShellStrings[373])
#define XtCArgc	((char*)&XtShellStrings[378])
#define XtNargv	((char*)&XtShellStrings[383])
#define XtCArgv	((char*)&XtShellStrings[388])
#define XtNiconX	((char*)&XtShellStrings[393])
#define XtCIconX	((char*)&XtShellStrings[399])
#define XtNiconY	((char*)&XtShellStrings[405])
#define XtNiconWindow	((char*)&XtShellStrings[40])
#define XtCIconY	((char*)&XtShellStrings[411])
#define XtNinput	((char*)&XtShellStrings[417])
#define XtCInput	((char*)&XtShellStrings[423])
#define XtNiconic	((char*)&XtShellStrings[429])
#define XtCIconic	((char*)&XtShellStrings[436])
#define XtNinitialState	((char*)&XtShellStrings[443])
#define XtCInitialState	((char*)&XtShellStrings[456])
#define XtNgeometry	((char*)&XtShellStrings[469])
#define XtCGeometry	((char*)&XtShellStrings[478])
#define XtNbaseWidth	((char*)&XtShellStrings[487])
#define XtCBaseWidth	((char*)&XtShellStrings[497])
#define XtNbaseHeight	((char*)&XtShellStrings[507])
#define XtCBaseHeight	((char*)&XtShellStrings[518])
#define XtCIconWindow	((char*)&XtShellStrings[51])
#define XtNwinGravity	((char*)&XtShellStrings[529])
#define XtCWinGravity	((char*)&XtShellStrings[540])
#define XtNminWidth	((char*)&XtShellStrings[551])
#define XtCMinWidth	((char*)&XtShellStrings[560])
#define XtNminHeight	((char*)&XtShellStrings[569])
#define XtCMinHeight	((char*)&XtShellStrings[579])
#define XtNmaxWidth	((char*)&XtShellStrings[589])
#define XtCMaxWidth	((char*)&XtShellStrings[598])
#define XtNmaxHeight	((char*)&XtShellStrings[607])
#define XtCMaxHeight	((char*)&XtShellStrings[617])
#define XtNwidthInc	((char*)&XtShellStrings[627])
#define XtNiconMask	((char*)&XtShellStrings[62])
#define XtCWidthInc	((char*)&XtShellStrings[636])
#define XtNheightInc	((char*)&XtShellStrings[645])
#define XtCHeightInc	((char*)&XtShellStrings[655])
#define XtNminAspectY	((char*)&XtShellStrings[665])
#define XtCMinAspectY	((char*)&XtShellStrings[676])
#define XtNmaxAspectY	((char*)&XtShellStrings[687])
#define XtCMaxAspectY	((char*)&XtShellStrings[698])
#define XtNminAspectX	((char*)&XtShellStrings[709])
#define XtCIconMask	((char*)&XtShellStrings[71])
#define XtCMinAspectX	((char*)&XtShellStrings[720])
#define XtNmaxAspectX	((char*)&XtShellStrings[731])
#define XtCMaxAspectX	((char*)&XtShellStrings[742])
#define XtNwmTimeout	((char*)&XtShellStrings[753])
#define XtCWmTimeout	((char*)&XtShellStrings[763])
#define XtNwaitForWm	((char*)&XtShellStrings[773])
#define XtCWaitForWm	((char*)&XtShellStrings[783])
#define XtNwaitforwm	((char*)&XtShellStrings[793])
#define XtCWaitforwm	((char*)&XtShellStrings[803])
#define XtNwindowGroup	((char*)&XtShellStrings[80])
#define XtNclientLeader	((char*)&XtShellStrings[813])
#define XtCClientLeader	((char*)&XtShellStrings[826])
#define XtNwindowRole	((char*)&XtShellStrings[839])
#define XtCWindowRole	((char*)&XtShellStrings[850])
#define XtNurgency	((char*)&XtShellStrings[861])
#define XtCUrgency	((char*)&XtShellStrings[869])
#define XtNcancelCallback	((char*)&XtShellStrings[877])
#define XtNcloneCommand	((char*)&XtShellStrings[892])
#define XtCCloneCommand	((char*)&XtShellStrings[905])
#define XtNconnection	((char*)&XtShellStrings[918])
#define XtCConnection	((char*)&XtShellStrings[929])
#define XtCWindowGroup	((char*)&XtShellStrings[92])
#define XtNcurrentDirectory	((char*)&XtShellStrings[940])
#define XtCCurrentDirectory	((char*)&XtShellStrings[957])
#define XtNdieCallback	((char*)&XtShellStrings[974])
#define XtNdiscardCommand	((char*)&XtShellStrings[986])
#define XtCIconName	((char*)&XtShellStrings[9])
#define _XtShell_h	1

extern char XtShellStrings[];
extern WidgetClass applicationShellWidgetClass;
extern WidgetClass overrideShellWidgetClass;
extern WidgetClass sessionShellWidgetClass;
extern WidgetClass shellWidgetClass;
extern WidgetClass topLevelShellWidgetClass;
extern WidgetClass transientShellWidgetClass;
extern WidgetClass wmShellWidgetClass;

6.10.17. X11/ShellP.h


struct _OldXSizeHints {
    long int flags;
    int x;
    int y;
    int width;
    int height;
    int min_width;
    int min_height;
    int max_width;
    int max_height;
    int width_inc;
    int height_inc;
    struct {
	int x;
	int y;
    } min_aspect;
    struct {
	int x;
	int y;
    } max_aspect;
};

#define _XtShellPositionValid	((Boolean)(1<<0))
#define _XtShellNotReparented	((Boolean)(1<<1))
#define _XtShellPPositionOK	((Boolean)(1<<2))
#define _XtShellGeometryParsed	((Boolean)(1<<3))
#define XtInheritRootGeometryManager	((XtGeometryHandler)_XtInherit)
#define XtShellExtensionVersion	1L

typedef struct {
    XtPointer extension;
} ShellClassPart;
typedef struct {
    XtPointer next_extension;
    XrmQuark record_type;
    long int version;
    Cardinal record_size;
    XtGeometryHandler root_geometry_manager;
} ShellClassExtensionRec;
typedef ShellClassExtensionRec *ShellClassExtension;
typedef struct _ShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
} ShellClassRec;
typedef struct {
    char *geometry;
    XtCreatePopupChildProc create_popup_child_proc;
    XtGrabKind grab_kind;
    Boolean spring_loaded;
    Boolean popped_up;
    Boolean allow_shell_resize;
    Boolean client_specified;
    Boolean save_under;
    Boolean override_redirect;
    XtCallbackList popup_callback;
    XtCallbackList popdown_callback;
    Visual *visual;
} ShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
} ShellRec;
typedef ShellRec *ShellWidget;
typedef struct {
    XtPointer extension;
} OverrideShellClassPart;
typedef struct _OverrideShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    OverrideShellClassPart override_shell_class;
} OverrideShellClassRec;
typedef struct {
    int frabjous;
} OverrideShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    OverrideShellPart override;
} OverrideShellRec;
typedef OverrideShellRec *OverrideShellWidget;
typedef struct {
    XtPointer extension;
} WMShellClassPart;
typedef struct _WMShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    WMShellClassPart wm_shell_class;
} WMShellClassRec;
typedef struct {
    char *title;
    int wm_timeout;
    Boolean wait_for_wm;
    Boolean transient;
    Boolean urgency;
    Widget client_leader;
    String window_role;
    struct _OldXSizeHints size_hints;
    XWMHints wm_hints;
    int base_width;
    int base_height;
    int win_gravity;
    Atom title_encoding;
} WMShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    WMShellPart wm;
} WMShellRec;
typedef WMShellRec *WMShellWidget;
typedef struct {
    XtPointer extension;
} TransientShellClassPart;
typedef struct _TransientShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    WMShellClassPart wm_shell_class;
    VendorShellClassPart vendor_shell_class;
    TransientShellClassPart transient_shell_class;
} TransientShellClassRec;
typedef struct {
    Widget transient_for;
} TransientShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    WMShellPart wm;
    VendorShellPart vendor;
    TransientShellPart transient;
} TransientShellRec;
typedef TransientShellRec *TransientShellWidget;
typedef struct {
    XtPointer extension;
} TopLevelShellClassPart;
typedef struct _TopLevelShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    WMShellClassPart wm_shell_class;
    VendorShellClassPart vendor_shell_class;
    TopLevelShellClassPart top_level_shell_class;
} TopLevelShellClassRec;
typedef struct {
    char *icon_name;
    Boolean iconic;
    Atom icon_name_encoding;
} TopLevelShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    WMShellPart wm;
    VendorShellPart vendor;
    TopLevelShellPart topLevel;
} TopLevelShellRec;
typedef TopLevelShellRec *TopLevelShellWidget;
typedef struct {
    XtPointer extension;
} ApplicationShellClassPart;
typedef struct _ApplicationShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    WMShellClassPart wm_shell_class;
    VendorShellClassPart vendor_shell_class;
    TopLevelShellClassPart top_level_shell_class;
    ApplicationShellClassPart application_shell_class;
} ApplicationShellClassRec;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    char *c_class;
#else
    char *class;
#endif
    XrmClass xrm_class;
    int argc;
    char **argv;
} ApplicationShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    WMShellPart wm;
    VendorShellPart vendor;
    TopLevelShellPart topLevel;
    ApplicationShellPart application;
} ApplicationShellRec;
typedef ApplicationShellRec *ApplicationShellWidget;
typedef struct {
    XtPointer extension;
} SessionShellClassPart;
typedef struct _SessionShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    WMShellClassPart wm_shell_class;
    VendorShellClassPart vendor_shell_class;
    TopLevelShellClassPart top_level_shell_class;
    ApplicationShellClassPart application_shell_class;
    SessionShellClassPart session_shell_class;
} SessionShellClassRec;
typedef struct _XtSaveYourselfRec *XtSaveYourself;
typedef struct {
    SmcConn connection;
    String session_id;
    char **restart_command;
    char **clone_command;
    char **discard_command;
    char **resign_command;
    char **shutdown_command;
    char **environment;
    String current_dir;
    String program_path;
    unsigned char restart_style;
    unsigned char checkpoint_state;
    Boolean join_session;
    XtCallbackList save_callbacks;
    XtCallbackList interact_callbacks;
    XtCallbackList cancel_callbacks;
    XtCallbackList save_complete_callbacks;
    XtCallbackList die_callbacks;
    XtCallbackList error_callbacks;
    XtSaveYourself save;
    XtInputId input_id;
    XtPointer ses20;
    XtPointer ses19;
    XtPointer ses18;
    XtPointer ses17;
    XtPointer ses16;
    XtPointer ses15;
    XtPointer ses14;
    XtPointer ses13;
    XtPointer ses12;
    XtPointer ses11;
    XtPointer ses10;
    XtPointer ses9;
    XtPointer ses8;
    XtPointer ses7;
    XtPointer ses6;
    XtPointer ses5;
    XtPointer ses4;
    XtPointer ses3;
    XtPointer ses2;
    XtPointer ses1;
} SessionShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    WMShellPart wm;
    VendorShellPart vendor;
    TopLevelShellPart topLevel;
    ApplicationShellPart application;
    SessionShellPart session;
} SessionShellRec;
typedef SessionShellRec *SessionShellWidget;
extern ApplicationShellClassRec applicationShellClassRec;
extern OverrideShellClassRec overrideShellClassRec;
extern SessionShellClassRec sessionShellClassRec;
extern ShellClassRec shellClassRec;
extern TopLevelShellClassRec topLevelShellClassRec;
extern TransientShellClassRec transientShellClassRec;
extern WMShellClassRec wmShellClassRec;

6.10.18. X11/StringDefs.h


#define XtNaccelerators	((char*)&XtStrings[0])
#define XtCFile	((char*)&XtStrings[1012])
#define XtCFont	((char*)&XtStrings[1017])
#define XtCForeground	((char*)&XtStrings[1022])
#define XtCFraction	((char*)&XtStrings[1033])
#define XtCFunction	((char*)&XtStrings[1042])
#define XtCHeight	((char*)&XtStrings[1051])
#define XtCHSpace	((char*)&XtStrings[1058])
#define XtCIndex	((char*)&XtStrings[1065])
#define XtCInitialResourcesPersistent	((char*)&XtStrings[1071])
#define XtCInsertPosition	((char*)&XtStrings[1098])
#define XtCInterval	((char*)&XtStrings[1113])
#define XtNborderPixmap	((char*)&XtStrings[111])
#define XtCJustify	((char*)&XtStrings[1122])
#define XtCKnobIndent	((char*)&XtStrings[1130])
#define XtCKnobPixel	((char*)&XtStrings[1141])
#define XtCLabel	((char*)&XtStrings[1151])
#define XtCLength	((char*)&XtStrings[1157])
#define XtCMappedWhenManaged	((char*)&XtStrings[1164])
#define XtCMargin	((char*)&XtStrings[1182])
#define XtCMenuEntry	((char*)&XtStrings[1189])
#define XtCNotify	((char*)&XtStrings[1199])
#define XtCOrientation	((char*)&XtStrings[1206])
#define XtCParameter	((char*)&XtStrings[1218])
#define XtCPixmap	((char*)&XtStrings[1228])
#define XtCPosition	((char*)&XtStrings[1235])
#define XtCReadOnly	((char*)&XtStrings[1244])
#define XtNborderWidth	((char*)&XtStrings[124])
#define XtCResize	((char*)&XtStrings[1253])
#define XtCReverseVideo	((char*)&XtStrings[1260])
#define XtCScreen	((char*)&XtStrings[1273])
#define XtCScrollProc	((char*)&XtStrings[1280])
#define XtCScrollDCursor	((char*)&XtStrings[1291])
#define XtCScrollHCursor	((char*)&XtStrings[1305])
#define XtCScrollLCursor	((char*)&XtStrings[1319])
#define XtCScrollRCursor	((char*)&XtStrings[1333])
#define XtCScrollUCursor	((char*)&XtStrings[1347])
#define XtCScrollVCursor	((char*)&XtStrings[1361])
#define XtNcallback	((char*)&XtStrings[136])
#define XtCSelection	((char*)&XtStrings[1375])
#define XtCSensitive	((char*)&XtStrings[1385])
#define XtCSelectionArray	((char*)&XtStrings[1395])
#define XtNallowHoriz	((char*)&XtStrings[13])
#define XtCSpace	((char*)&XtStrings[1410])
#define XtCString	((char*)&XtStrings[1416])
#define XtCTextOptions	((char*)&XtStrings[1423])
#define XtCTextPosition	((char*)&XtStrings[1435])
#define XtCTextSink	((char*)&XtStrings[1448])
#define XtCTextSource	((char*)&XtStrings[1457])
#define XtNchildren	((char*)&XtStrings[145])
#define XtCThickness	((char*)&XtStrings[1468])
#define XtCThumb	((char*)&XtStrings[1478])
#define XtCTranslations	((char*)&XtStrings[1484])
#define XtCValue	((char*)&XtStrings[1497])
#define XtCVSpace	((char*)&XtStrings[1503])
#define XtCWidth	((char*)&XtStrings[1510])
#define XtCWindow	((char*)&XtStrings[1516])
#define XtCX	((char*)&XtStrings[1523])
#define XtCY	((char*)&XtStrings[1525])
#define XtRAcceleratorTable	((char*)&XtStrings[1527])
#define XtRAtom	((char*)&XtStrings[1544])
#define XtRBitmap	((char*)&XtStrings[1549])
#define XtNcolormap	((char*)&XtStrings[154])
#define XtRBool	((char*)&XtStrings[1556])
#define XtRBoolean	((char*)&XtStrings[1561])
#define XtRCallback	((char*)&XtStrings[1569])
#define XtRCallProc	((char*)&XtStrings[1578])
#define XtRCardinal	((char*)&XtStrings[1587])
#define XtRColor	((char*)&XtStrings[1596])
#define XtRColormap	((char*)&XtStrings[1602])
#define XtRCursor	((char*)&XtStrings[1611])
#define XtRDimension	((char*)&XtStrings[1618])
#define XtRDisplay	((char*)&XtStrings[1628])
#define XtREditMode	((char*)&XtStrings[1636])
#define XtNdepth	((char*)&XtStrings[163])
#define XtREnum	((char*)&XtStrings[1645])
#define XtRFile	((char*)&XtStrings[1650])
#define XtRFloat	((char*)&XtStrings[1655])
#define XtRFont	((char*)&XtStrings[1661])
#define XtRFontStruct	((char*)&XtStrings[1666])
#define XtRFunction	((char*)&XtStrings[1677])
#define XtRGeometry	((char*)&XtStrings[1686])
#define XtRImmediate	((char*)&XtStrings[1695])
#define XtNdestroyCallback	((char*)&XtStrings[169])
#define XtRInitialState	((char*)&XtStrings[1705])
#define XtRInt	((char*)&XtStrings[1718])
#define XtRJustify	((char*)&XtStrings[1722])
#define XtRLongBoolean	((char*)&XtStrings[1730])
#define XtRObject	((char*)&XtStrings[1735])
#define XtROrientation	((char*)&XtStrings[1742])
#define XtRPixel	((char*)&XtStrings[1754])
#define XtRPixmap	((char*)&XtStrings[1760])
#define XtRPointer	((char*)&XtStrings[1767])
#define XtRPosition	((char*)&XtStrings[1775])
#define XtRScreen	((char*)&XtStrings[1784])
#define XtRShort	((char*)&XtStrings[1791])
#define XtRString	((char*)&XtStrings[1797])
#define XtRStringArray	((char*)&XtStrings[1804])
#define XtRStringTable	((char*)&XtStrings[1816])
#define XtRUnsignedChar	((char*)&XtStrings[1828])
#define XtRTranslationTable	((char*)&XtStrings[1841])
#define XtRVisual	((char*)&XtStrings[1858])
#define XtNeditType	((char*)&XtStrings[185])
#define XtRWidget	((char*)&XtStrings[1865])
#define XtRWidgetClass	((char*)&XtStrings[1872])
#define XtRWidgetList	((char*)&XtStrings[1884])
#define XtRWindow	((char*)&XtStrings[1895])
#define XtEoff	((char*)&XtStrings[1902])
#define XtEfalse	((char*)&XtStrings[1906])
#define XtEno	((char*)&XtStrings[1912])
#define XtEon	((char*)&XtStrings[1915])
#define XtEtrue	((char*)&XtStrings[1918])
#define XtEyes	((char*)&XtStrings[1923])
#define XtEvertical	((char*)&XtStrings[1927])
#define XtEhorizontal	((char*)&XtStrings[1936])
#define XtEtextRead	((char*)&XtStrings[1947])
#define XtNfile	((char*)&XtStrings[194])
#define XtEtextAppend	((char*)&XtStrings[1952])
#define XtEtextEdit	((char*)&XtStrings[1959])
#define XtExtdefaultbackground	((char*)&XtStrings[1964])
#define XtExtdefaultforeground	((char*)&XtStrings[1984])
#define XtNfont	((char*)&XtStrings[199])
#define XtExtdefaultfont	((char*)&XtStrings[2004])
#define XtNfontSet	((char*)&XtStrings[2018])
#define XtRFontSet	((char*)&XtStrings[2026])
#define XtCFontSet	((char*)&XtStrings[2034])
#define XtRGravity	((char*)&XtStrings[2042])
#define XtNforceBars	((char*)&XtStrings[204])
#define XtNcreateHook	((char*)&XtStrings[2050])
#define XtNchangeHook	((char*)&XtStrings[2061])
#define XtNconfigureHook	((char*)&XtStrings[2072])
#define XtNgeometryHook	((char*)&XtStrings[2086])
#define XtNdestroyHook	((char*)&XtStrings[2099])
#define XtNshells	((char*)&XtStrings[2111])
#define XtNnumShells	((char*)&XtStrings[2118])
#define XtRCommandArgArray	((char*)&XtStrings[2128])
#define XtRDirectoryString	((char*)&XtStrings[2144])
#define XtNforeground	((char*)&XtStrings[214])
#define XtREnvironmentArray	((char*)&XtStrings[2160])
#define XtRRestartStyle	((char*)&XtStrings[2177])
#define XtRSmcConn	((char*)&XtStrings[2190])
#define XtHcreate	((char*)&XtStrings[2198])
#define XtHsetValues	((char*)&XtStrings[2207])
#define XtHmanageChildren	((char*)&XtStrings[2219])
#define XtHunmanageChildren	((char*)&XtStrings[2236])
#define XtHmanageSet	((char*)&XtStrings[2255])
#define XtNfunction	((char*)&XtStrings[225])
#define XtHunmanageSet	((char*)&XtStrings[2267])
#define XtHrealizeWidget	((char*)&XtStrings[2281])
#define XtHunrealizeWidget	((char*)&XtStrings[2297])
#define XtHaddCallback	((char*)&XtStrings[2315])
#define XtHaddCallbacks	((char*)&XtStrings[2329])
#define XtHremoveCallback	((char*)&XtStrings[2344])
#define XtNheight	((char*)&XtStrings[234])
#define XtHremoveCallbacks	((char*)&XtStrings[2361])
#define XtHremoveAllCallbacks	((char*)&XtStrings[2379])
#define XtHaugmentTranslations	((char*)&XtStrings[2400])
#define XtNhighlight	((char*)&XtStrings[241])
#define XtHoverrideTranslations	((char*)&XtStrings[2422])
#define XtHuninstallTranslations	((char*)&XtStrings[2445])
#define XtHsetKeyboardFocus	((char*)&XtStrings[2469])
#define XtHsetWMColormapWindows	((char*)&XtStrings[2488])
#define XtNallowVert	((char*)&XtStrings[24])
#define XtHsetMappedWhenManaged	((char*)&XtStrings[2511])
#define XtNhSpace	((char*)&XtStrings[251])
#define XtHmapWidget	((char*)&XtStrings[2534])
#define XtHunmapWidget	((char*)&XtStrings[2546])
#define XtHpopup	((char*)&XtStrings[2560])
#define XtHpopupSpringLoaded	((char*)&XtStrings[2568])
#define XtHpopdown	((char*)&XtStrings[2588])
#define XtNindex	((char*)&XtStrings[258])
#define XtHconfigure	((char*)&XtStrings[2598])
#define XtHpreGeometry	((char*)&XtStrings[2610])
#define XtHpostGeometry	((char*)&XtStrings[2624])
#define XtHdestroy	((char*)&XtStrings[2639])
#define XtNinitialResourcesPersistent	((char*)&XtStrings[264])
#define XtNinnerHeight	((char*)&XtStrings[291])
#define XtNinnerWidth	((char*)&XtStrings[303])
#define XtNinnerWindow	((char*)&XtStrings[314])
#define XtNinsertPosition	((char*)&XtStrings[326])
#define XtNinternalHeight	((char*)&XtStrings[341])
#define XtNancestorSensitive	((char*)&XtStrings[34])
#define XtNinternalWidth	((char*)&XtStrings[356])
#define XtNjumpProc	((char*)&XtStrings[370])
#define XtNjustify	((char*)&XtStrings[379])
#define XtNknobHeight	((char*)&XtStrings[387])
#define XtNknobIndent	((char*)&XtStrings[398])
#define XtNknobPixel	((char*)&XtStrings[409])
#define XtNknobWidth	((char*)&XtStrings[419])
#define XtNlabel	((char*)&XtStrings[429])
#define XtNlength	((char*)&XtStrings[435])
#define XtNlowerRight	((char*)&XtStrings[442])
#define XtNmappedWhenManaged	((char*)&XtStrings[453])
#define XtNmenuEntry	((char*)&XtStrings[471])
#define XtNname	((char*)&XtStrings[481])
#define XtNnotify	((char*)&XtStrings[486])
#define XtNnumChildren	((char*)&XtStrings[493])
#define XtNorientation	((char*)&XtStrings[505])
#define XtNparameter	((char*)&XtStrings[517])
#define XtNpixmap	((char*)&XtStrings[527])
#define XtNbackground	((char*)&XtStrings[52])
#define XtNpopupCallback	((char*)&XtStrings[534])
#define XtNpopdownCallback	((char*)&XtStrings[548])
#define XtNresize	((char*)&XtStrings[564])
#define XtNreverseVideo	((char*)&XtStrings[571])
#define XtNscreen	((char*)&XtStrings[584])
#define XtNscrollProc	((char*)&XtStrings[591])
#define XtNscrollDCursor	((char*)&XtStrings[602])
#define XtNscrollHCursor	((char*)&XtStrings[616])
#define XtNscrollLCursor	((char*)&XtStrings[630])
#define XtNbackgroundPixmap	((char*)&XtStrings[63])
#define XtNscrollRCursor	((char*)&XtStrings[644])
#define XtNscrollUCursor	((char*)&XtStrings[658])
#define XtNscrollVCursor	((char*)&XtStrings[672])
#define XtNselection	((char*)&XtStrings[686])
#define XtNselectionArray	((char*)&XtStrings[696])
#define XtNsensitive	((char*)&XtStrings[711])
#define XtNshown	((char*)&XtStrings[721])
#define XtNspace	((char*)&XtStrings[727])
#define XtNstring	((char*)&XtStrings[733])
#define XtNtextOptions	((char*)&XtStrings[740])
#define XtNtextSink	((char*)&XtStrings[752])
#define XtNtextSource	((char*)&XtStrings[761])
#define XtNthickness	((char*)&XtStrings[772])
#define XtNthumb	((char*)&XtStrings[782])
#define XtNthumbProc	((char*)&XtStrings[788])
#define XtNtop	((char*)&XtStrings[798])
#define XtNtranslations	((char*)&XtStrings[802])
#define XtNbitmap	((char*)&XtStrings[80])
#define XtNunrealizeCallback	((char*)&XtStrings[815])
#define XtNupdate	((char*)&XtStrings[833])
#define XtNuseBottom	((char*)&XtStrings[840])
#define XtNuseRight	((char*)&XtStrings[850])
#define XtNvalue	((char*)&XtStrings[859])
#define XtNvSpace	((char*)&XtStrings[865])
#define XtNwidth	((char*)&XtStrings[872])
#define XtNwindow	((char*)&XtStrings[878])
#define XtNborderColor	((char*)&XtStrings[87])
#define XtNx	((char*)&XtStrings[885])
#define XtNy	((char*)&XtStrings[887])
#define XtCAccelerators	((char*)&XtStrings[889])
#define XtCBackground	((char*)&XtStrings[902])
#define XtCBitmap	((char*)&XtStrings[913])
#define XtCBoolean	((char*)&XtStrings[920])
#define XtCBorderColor	((char*)&XtStrings[928])
#define XtCBorderWidth	((char*)&XtStrings[940])
#define XtCCallback	((char*)&XtStrings[952])
#define XtCColormap	((char*)&XtStrings[961])
#define XtCColor	((char*)&XtStrings[970])
#define XtCCursor	((char*)&XtStrings[976])
#define XtCDepth	((char*)&XtStrings[983])
#define XtCEditType	((char*)&XtStrings[989])
#define XtCEventBindings	((char*)&XtStrings[998])
#define XtNborder	((char*)&XtStrings[99])
#define _XtStringDefs_h_	1

extern char XtStrings[];

6.10.19. X11/TranslateI.h


struct _TranslationData {
    unsigned char hasBindings;
    unsigned char operation;
    TMShortCard numStateTrees;
    struct _TranslationData *composers[2];
    EventMask eventMask;
    TMStateTree stateTreeTbl[1];
};
typedef struct _ActionsRec *ActionPtr;
typedef struct _ActionsRec {
    int idx;
    String *params;
    Cardinal num_params;
    ActionPtr next;
} ActionRec;
typedef long unsigned int TMLongCard;
struct _LateBindings {
    unsigned int knot:1;
    unsigned int pair:1;
    short unsigned int ref_count;
    KeySym keysym;
};
typedef struct _LateBindings *LateBindingsPtr;
struct _TMTypeMatchRec {
    TMLongCard eventType;
    TMLongCard eventCode;
    TMLongCard eventCodeMask;
    MatchProc matchEvent;
};
typedef struct _TMTypeMatchRec *TMTypeMatch;
struct _TMModifierMatchRec {
    TMLongCard modifiers;
    TMLongCard modifierMask;
    LateBindingsPtr lateModifiers;
    Boolean standard;
};
typedef struct _TMModifierMatchRec *TMModifierMatch;
typedef struct _TMEventRec *TMEventPtr;
typedef Boolean(*MatchProc) (TMTypeMatch, TMModifierMatch, TMEventPtr);
struct _TMEventRec {
    XEvent *xev;
    Event event;
};
typedef struct _EventRec {
    TMLongCard modifiers;
    TMLongCard modifierMask;
    LateBindingsPtr lateModifiers;
    TMLongCard eventType;
    TMLongCard eventCode;
    TMLongCard eventCodeMask;
    MatchProc matchEvent;
    Boolean standard;
} Event;
typedef short unsigned int TMShortCard;
typedef struct _TMBranchHeadRec {
    unsigned int isSimple:1;
    unsigned int hasActions:1;
    unsigned int hasCycles:1;
    unsigned int more:13;
    TMShortCard typeIndex;
    TMShortCard modIndex;
} TMBranchHeadRec;
typedef struct _TMSimpleStateTreeRec {
    unsigned int isSimple:1;
    unsigned int isAccelerator:1;
    unsigned int mappingNotifyInterest:1;
    unsigned int refCount:13;
    TMShortCard numBranchHeads;
    TMShortCard numQuarks;
    TMShortCard unused;
    TMBranchHeadRec *branchHeadTbl;
    XrmQuark *quarkTbl;
} TMSimpleStateTreeRec;
struct _XtStateRec {
    unsigned int isCycleStart:1;
    unsigned int isCycleEnd:1;
    TMShortCard typeIndex;
    TMShortCard modIndex;
    ActionPtr actions;
    StatePtr nextLevel;
};
typedef struct _XtStateRec *StatePtr;
typedef struct _TMParseStateTreeRec {
    unsigned int isSimple:1;
    unsigned int isAccelerator:1;
    unsigned int mappingNotifyInterest:1;
    unsigned int isStackQuarks:1;
    unsigned int isStackBranchHeads:1;
    unsigned int isStackComplexBranchHeads:1;
    unsigned int unused:10;
    TMShortCard numBranchHeads;
    TMShortCard numQuarks;
    TMShortCard numComplexBranchHeads;
    TMBranchHeadRec *branchHeadTbl;
    XrmQuark *quarkTbl;
    StatePtr *complexBranchHeadTbl;
    TMShortCard branchHeadTblSize;
    TMShortCard quarkTblSize;
    TMShortCard complexBranchHeadTblSize;
    StatePtr head;
} TMParseStateTreeRec;
typedef struct _TMComplexStateTreeRec {
    unsigned int isSimple:1;
    unsigned int isAccelerator:1;
    unsigned int mappingNotifyInterest:1;
    unsigned int refCount:13;
    TMShortCard numBranchHeads;
    TMShortCard numQuarks;
    TMShortCard numComplexBranchHeads;
    TMBranchHeadRec *branchHeadTbl;
    XrmQuark *quarkTbl;
    StatePtr *complexBranchHeadTbl;
} TMComplexStateTreeRec;
union _TMStateTreeRec {
    TMSimpleStateTreeRec simple;
    TMParseStateTreeRec parse;
    TMComplexStateTreeRec complex;
};
typedef union _TMStateTreeRec *TMStateTree;
typedef Boolean(*_XtTraversalProc) (StatePtr, XtPointer);
typedef struct _TMSimpleBindProcsRec {
    XtActionProc *procs;
} TMSimpleBindProcsRec;
typedef struct _TMSimpleBindDataRec {
    unsigned int isComplex:1;
    TMSimpleBindProcsRec bindTbl[8];
} TMSimpleBindDataRec;
typedef struct _TMComplexBindProcsRec {
    Widget widget;
    XtTranslations aXlations;
    XtActionProc *procs;
} TMComplexBindProcsRec;
struct _ATranslationData {
    unsigned char hasBindings;
    unsigned char operation;
    struct _TranslationData *xlations;
    struct _ATranslationData *next;
    TMComplexBindProcsRec bindTbl[24];
};
typedef struct _TMComplexBindDataRec {
    unsigned int isComplex:1;
    struct _ATranslationData *accel_context;
    TMComplexBindProcsRec bindTbl[24];
} TMComplexBindDataRec;
union _TMBindDataRec {
    TMSimpleBindDataRec simple;
    TMComplexBindDataRec complex;
};
typedef union _TMBindDataRec *TMBindData;
typedef struct _TMParseStateTreeRec *TMParseStateTree;
struct _EventSeqRec {
    Event event;
    StatePtr state;
    EventSeqPtr next;
    ActionPtr actions;
};
typedef struct _EventSeqRec *EventSeqPtr;
typedef struct _TMBranchHeadRec *TMBranchHead;
typedef unsigned int _XtTranslateOp;

6.10.20. X11/VendorP.h


typedef struct {
    XtPointer extension;
} VendorShellClassPart;
typedef struct _VendorShellClassRec {
    CoreClassPart core_class;
    CompositeClassPart composite_class;
    ShellClassPart shell_class;
    WMShellClassPart wm_shell_class;
    VendorShellClassPart vendor_shell_class;
} VendorShellClassRec;
typedef struct {
    int vendor_specific;
} VendorShellPart;
typedef struct {
    CorePart core;
    CompositePart composite;
    ShellPart shell;
    WMShellPart wm;
    VendorShellPart vendor;
} VendorShellRec;
typedef VendorShellRec *VendorShellWidget;

6.10.21. lsb/Composite.h


typedef Cardinal(*XtOrderProc) (Widget);

6.10.22. lsb/Intrinsic.h


typedef unsigned int Cardinal;
typedef void *XtPointer;
struct _WidgetRec;
typedef struct _WidgetRec *Widget;
typedef char *String;
typedef unsigned int XtGeometryMask;
typedef short int Position;
typedef short unsigned int Dimension;
typedef struct {
    XtGeometryMask request_mode;
    Position x;
    Position y;
    Dimension width;
    Dimension height;
    Dimension border_width;
    Widget sibling;
    int stack_mode;
} XtWidgetGeometry;
struct _XtResource {
    String resource_name;
    String resource_class;
    String resource_type;
    Cardinal resource_size;
    Cardinal resource_offset;
    String default_type;
    XtPointer default_addr;
};
typedef struct _XtResource *XtResourceList;
typedef void (*XtActionProc) (Widget, XEvent *, String *, Cardinal *);
struct _XtActionsRec {
    String string;
    XtActionProc proc;
};
typedef struct _XtActionsRec *XtActionList;
typedef char Boolean;
typedef unsigned char XtEnum;
typedef long unsigned int XtInputId;
struct _WidgetClassRec;
typedef Widget *WidgetList;
typedef enum {
    XtGeometryYes = 0,
    XtGeometryNo = 1,
    XtGeometryAlmost = 2,
    XtGeometryDone = 3
} XtGeometryResult;
typedef long int XtArgVal;
typedef struct {
    String name;
    XtArgVal value;
} Arg;
typedef Arg *ArgList;
typedef void (*XtCallbackProc) (Widget, XtPointer, XtPointer);
struct _XtCallbackRec {
    XtCallbackProc callback;
    XtPointer closure;
};
typedef struct _XtCallbackRec *XtCallbackList;
typedef long unsigned int EventMask;
typedef enum {
    XtGrabNone = 0,
    XtGrabNonexclusive = 1,
    XtGrabExclusive = 2
} XtGrabKind;
typedef long unsigned int XtValueMask;
typedef struct _XtEventRec *XtEventTable;
typedef void (*XtCreatePopupChildProc) (Widget);
typedef long unsigned int Pixel;
typedef XtActionProc *XtBoundActions;

typedef struct _WidgetClassRec *WidgetClass;

typedef struct _TranslationData *XtTranslations;

6.11. Interface Definitions for libXt

Table of Contents
_XtCopyFromArg -- Copy "size" bytes from src to dst.
_XtInherit -- inheritance operation.
_XtInheritTranslations -- an inheritance constant
_XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass.

The interfaces defined on the following pages are included in libXt and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.

Other interfaces listed in Section 6.9 shall behave as described in the referenced base document.

_XtCopyFromArg

Name

_XtCopyFromArg -- Copy "size" bytes from src to dst.

Synopsis

void _XtCopyFromArg(XtArgVal src,char* dst,unsigned int size);

Description

The _XtCopyFromArg() function copies "size" bytes from src to dst. This is an internal X function call.

_XtInherit

Name

_XtInherit -- inheritance operation.

Synopsis

#include <IntrinsicP.h>

extern void _XtInherit(
#if NeedFunctionPrototypes
    void
#endif
);

Description

_XtInherit() is a procedure that issues an error message if it is actually called.

_XtInheritTranslations

Name

_XtInheritTranslations -- an inheritance constant

Synopsis

#include <CoreP.h>

externalref int _XtInheritTranslations;

Description

_XtInheritTranslations is an inheritance constant.

_XtIsSubclassOf

Name

_XtIsSubclassOf -- determine if Widget is a subclass of WidgetClass.

Synopsis

#include <Intrinsic.h>

extern Boolean _XtIsSubclassOf(
    Widget              /* object*  /,
    WidgetClass         /* widget_class */,
    WidgetClass         /* flag_class */,
    _XtXtEnum           /* type_flag */,
);

Description

Determine if Widget(object) is a subclass of WidgetClass(widget_class).


6.12. Interfaces for libXext

Table 6-11 defines the library name and shared object name for the libXext library

Table 6-11. libXext Definition

Library:libXext
SONAME:libXext.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[LSB] This Specification
[X-dbe] Double Buffer Extension Library
[X-DPMS] X Display Power Management Signaling
[X-evi] X Extended Visual Interface Extension
[X-security] X Security Extension Specification
[X-shape] X Nonrectangular Window Shape Extension Library
[X-shm] The MIT Shared Memory Extension
[X-sync] X Synchronization Extension Library


6.12.1. libXext interfaces


6.12.1.1. Interfaces for libXext interfaces

An LSB conforming implementation shall provide the generic functions for libXext interfaces specified in Table 6-12, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-12. libXext - libXext interfaces Function Interfaces

XMissingExtension [LSB]XSetExtensionErrorHandler [LSB]XextAddDisplay [LSB]XextCreateExtension [LSB]
XextDestroyExtension [LSB]XextFindDisplay [LSB]XextRemoveDisplay [LSB] 

6.12.2. X Shape Extension


6.12.2.1. Interfaces for X Shape Extension

An LSB conforming implementation shall provide the generic functions for X Shape Extension specified in Table 6-13, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-13. libXext - X Shape Extension Function Interfaces

XShapeCombineMask [X-shape]XShapeCombineRectangles [X-shape]XShapeCombineRegion [X-shape]XShapeCombineShape [X-shape]
XShapeGetRectangles [X-shape]XShapeInputSelected [X-shape]XShapeOffsetShape [X-shape]XShapeQueryExtension [X-shape]
XShapeQueryExtents [X-shape]XShapeQueryVersion [X-shape]XShapeSelectInput [X-shape] 

6.12.3. X Display Power Management Signaling Extension


6.12.3.1. Interfaces for X Display Power Management Signaling Extension

An LSB conforming implementation shall provide the generic functions for X Display Power Management Signaling Extension specified in Table 6-14, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-14. libXext - X Display Power Management Signaling Extension Function Interfaces

DPMSCapable [X-DPMS]DPMSDisable [X-DPMS]DPMSEnable [X-DPMS]DPMSForceLevel [X-DPMS]
DPMSGetTimeouts [X-DPMS]DPMSGetVersion [X-DPMS]DPMSInfo [X-DPMS]DPMSQueryExtension [X-DPMS]
DPMSSetTimeouts [X-DPMS]   

6.12.4. X Shared Memory Extensions


6.12.4.1. Interfaces for X Shared Memory Extensions

An LSB conforming implementation shall provide the generic functions for X Shared Memory Extensions specified in Table 6-15, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-15. libXext - X Shared Memory Extensions Function Interfaces

XShmAttach [X-shm]XShmCreateImage [X-shm]XShmCreatePixmap [X-shm]XShmDetach [X-shm]
XShmGetEventBase [X-shm]XShmGetImage [X-shm]XShmPixmapFormat [X-shm]XShmPutImage [X-shm]
XShmQueryExtension [X-shm]XShmQueryVersion [X-shm]  

6.12.5. X Synchronization Extension


6.12.5.1. Interfaces for X Synchronization Extension

An LSB conforming implementation shall provide the generic functions for X Synchronization Extension specified in Table 6-16, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-16. libXext - X Synchronization Extension Function Interfaces

XSyncAwait [X-sync]XSyncChangeAlarm [X-sync]XSyncChangeCounter [X-sync]XSyncCreateAlarm [X-sync]
XSyncCreateCounter [X-sync]XSyncDestroyAlarm [X-sync]XSyncDestroyCounter [X-sync]XSyncFreeSystemCounterList [X-sync]
XSyncGetPriority [X-sync]XSyncInitialize [X-sync]XSyncIntToValue [X-sync]XSyncIntsToValue [X-sync]
XSyncListSystemCounters [X-sync]XSyncMaxValue [X-sync]XSyncMinValue [X-sync]XSyncQueryAlarm [X-sync]
XSyncQueryCounter [X-sync]XSyncQueryExtension [X-sync]XSyncSetCounter [X-sync]XSyncSetPriority [X-sync]
XSyncValueAdd [X-sync]XSyncValueEqual [X-sync]XSyncValueGreaterOrEqual [X-sync]XSyncValueGreaterThan [X-sync]
XSyncValueHigh32 [X-sync]XSyncValueIsNegative [X-sync]XSyncValueIsPositive [X-sync]XSyncValueIsZero [X-sync]
XSyncValueLessOrEqual [X-sync]XSyncValueLessThan [X-sync]XSyncValueLow32 [X-sync]XSyncValueSubtract [X-sync]

6.12.6. X Security Extension


6.12.6.1. Interfaces for X Security Extension

An LSB conforming implementation shall provide the generic functions for X Security Extension specified in Table 6-17, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-17. libXext - X Security Extension Function Interfaces

XSecurityAllocXauth [X-security]XSecurityFreeXauth [X-security]XSecurityGenerateAuthorization [X-security]XSecurityQueryExtension [X-security]
XSecurityRevokeAuthorization [X-security]   

6.12.7. X Double Buffer Extension


6.12.7.1. Interfaces for X Double Buffer Extension

An LSB conforming implementation shall provide the generic functions for X Double Buffer Extension specified in Table 6-18, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-18. libXext - X Double Buffer Extension Function Interfaces

XdbeAllocateBackBufferName [X-dbe]XdbeBeginIdiom [X-dbe]XdbeDeallocateBackBufferName [X-dbe]XdbeEndIdiom [X-dbe]
XdbeFreeVisualInfo [X-dbe]XdbeGetBackBufferAttributes [X-dbe]XdbeGetVisualInfo [X-dbe]XdbeQueryExtension [X-dbe]
XdbeSwapBuffers [X-dbe]   

6.12.8. X Extended Visual Interface Extension


6.12.8.1. Interfaces for X Extended Visual Interface Extension

An LSB conforming implementation shall provide the generic functions for X Extended Visual Interface Extension specified in Table 6-19, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-19. libXext - X Extended Visual Interface Extension Function Interfaces

XeviGetVisualInfo [X-evi]XeviQueryExtension [X-evi]XeviQueryVersion [X-evi] 

6.13. Data Definitions for libXext

This section defines global identifiers and their values that are associated with interfaces contained in libXext. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.13.2. X11/extensions/XEVI.h


#define XEVI_TRANSPARENCY_NONE	0
#define X_EVIQueryVersion	0
#define XEVI_TRANSPARENCY_PIXEL	1
#define X_EVIGetVisualInfo	1
#define XEVI_TRANSPARENCY_MASK	2

typedef struct {
    VisualID core_visual_id;
    int screen;
    int level;
    unsigned int transparency_type;
    unsigned int transparency_value;
    unsigned int min_hw_colormaps;
    unsigned int max_hw_colormaps;
    unsigned int num_colormap_conflicts;
    VisualID *colormap_conflicts;
} ExtendedVisualInfo;
extern int XeviGetVisualInfo(Display *, VisualID *, int,
			     ExtendedVisualInfo * *, int *);
extern int XeviQueryExtension(Display *);
extern int XeviQueryVersion(Display *, int *, int *);

6.13.3. X11/extensions/XEVIstr.h


#define XEVI_MINOR_VERSION	0
#define XEVI_MAJOR_VERSION	1
#define _EVISTR_H_	1
#define sz_xExtendedVisualInfo	16
#define sz_xEVIGetVisualInfoReply	32
#define sz_xEVIQueryVersionReply	32
#define sz_VisualID32	4
#define sz_xEVIQueryVersionReq	4
#define sz_xEVIGetVisualInfoReq	8
#define EVINAME	"Extended-Visual-Information"

typedef unsigned int VisualID32;
typedef struct _xExtendedVisualInfo {
    CARD32 core_visual_id;
    INT8 screen;
    INT8 level;
    CARD8 transparency_type;
    CARD8 pad0;
    CARD32 transparency_value;
    CARD8 min_hw_colormaps;
    CARD8 max_hw_colormaps;
    CARD16 num_colormap_conflicts;
} xExtendedVisualInfo;
typedef struct _XEVIQueryVersion {
    CARD8 reqType;
    CARD8 xeviReqType;
    CARD16 length;
} xEVIQueryVersionReq;
typedef struct {
    BYTE type;
    CARD8 unused;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 majorVersion;
    CARD16 minorVersion;
    CARD32 pad0;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xEVIQueryVersionReply;
typedef struct _XEVIGetVisualInfoReq {
    CARD8 reqType;
    CARD8 xeviReqType;
    CARD16 length;
    CARD32 n_visual;
} xEVIGetVisualInfoReq;
typedef struct _XEVIGetVisualInfoReply {
    BYTE type;
    CARD8 unused;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 n_info;
    CARD32 n_conflicts;
    CARD32 pad0;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
} xEVIGetVisualInfoReply;

6.13.4. X11/extensions/XKBbells.h


#define _XKBBELLS_H_
#define XkbBI_Info	0
#define XkbBI_Warning	1
#define XkbBI_Failure	10
#define XkbBI_Wait	11
#define XkbBI_Proceed	12
#define XkbBI_Ignore	13
#define XkbBI_Iconify	14
#define XkbBI_Deiconify	15
#define XkbBI_Open	16
#define XkbBI_Close	17
#define XkbBI_TerminalBell	18
#define XkbBI_MarginBell	19
#define XkbBI_MinorError	2
#define XkbBI_CursorStuck	20
#define XkbBI_NewMail	21
#define XkbBI_LaunchApp	22
#define XkbBI_AppDeath	23
#define XkbBI_ImAlive	24
#define XkbBI_ClockChimeHour	25
#define XkbBI_ClockChimeHalf	26
#define XkbBI_ClockChimeQuarter	27
#define XkbBI_RepeatingLastBell	28
#define XkbBI_ComposeFail	29
#define XkbBI_MajorError	3
#define XkbBI_AX_FeatureOn	30
#define XkbBI_AX_FeatureOff	31
#define XkbBI_AX_FeatureChange	32
#define XkbBI_AX_IndicatorOn	33
#define XkbBI_AX_IndicatorOff	34
#define XkbBI_AX_IndicatorChange	35
#define XkbBI_AX_SlowKeysWarning	36
#define XkbBI_AX_SlowKeyPress	37
#define XkbBI_AX_SlowKeyAccept	38
#define XkbBI_AX_SlowKeyReject	39
#define XkbBI_BadValue	4
#define XkbBI_AX_SlowKeyRelease	40
#define XkbBI_AX_BounceKeyReject	41
#define XkbBI_AX_StickyLatch	42
#define XkbBI_AX_StickyLock	43
#define XkbBI_AX_StickyUnlock	44
#define XkbBI_NumBells	45
#define XkbBI_InvalidLocation	5
#define XkbBI_Question	6
#define XkbBI_Start	7
#define XkbBI_End	8
#define XkbBI_Success	9
#define XkbBN_AppDeath	"AppDeath"
#define XkbBN_AX_BounceKeyReject	"AX_BounceKeyReject"
#define XkbBN_AX_FeatureChange	"AX_FeatureChange"
#define XkbBN_AX_FeatureOff	"AX_FeatureOff"
#define XkbBN_AX_FeatureOn	"AX_FeatureOn"
#define XkbBN_AX_IndicatorChange	"AX_IndicatorChange"
#define XkbBN_AX_IndicatorOff	"AX_IndicatorOff"
#define XkbBN_AX_IndicatorOn	"AX_IndicatorOn"
#define XkbBN_AX_SlowKeyAccept	"AX_SlowKeyAccept"
#define XkbBN_AX_SlowKeyPress	"AX_SlowKeyPress"
#define XkbBN_AX_SlowKeyReject	"AX_SlowKeyReject"
#define XkbBN_AX_SlowKeyRelease	"AX_SlowKeyRelease"
#define XkbBN_AX_SlowKeysWarning	"AX_SlowKeysWarning"
#define XkbBN_AX_StickyLatch	"AX_StickyLatch"
#define XkbBN_AX_StickyLock	"AX_StickyLock"
#define XkbBN_AX_StickyUnlock	"AX_StickyUnlock"
#define XkbBN_BadValue	"BadValue"
#define XkbBN_ClockChimeHalf	"ClockChimeHalf"
#define XkbBN_ClockChimeHour	"ClockChimeHour"
#define XkbBN_ClockChimeQuarter	"ClockChimeQuarter"
#define XkbBN_Close	"Close"
#define XkbBN_ComposeFail	"ComposeFail"
#define XkbBN_CursorStuck	"CursorStuck"
#define XkbBN_Deiconify	"Deconify"
#define XkbBN_End	"End"
#define XkbBN_Failure	"Failure"
#define XkbBN_Iconify	"Iconify"
#define XkbBN_Ignore	"Ignore"
#define XkbBN_ImAlive	"ImAlive"
#define XkbBN_Info	"Info"
#define XkbBN_InvalidLocation	"InvalidLocation"
#define XkbBN_LaunchApp	"LaunchApp"
#define XkbBN_MajorError	"MajorError"
#define XkbBN_MarginBell	"MarginBell"
#define XkbBN_MinorError	"MinorError"
#define XkbBN_NewMail	"NewMail"
#define XkbBN_Open	"Open"
#define XkbBN_Proceed	"Proceed"
#define XkbBN_Question	"Question"
#define XkbBN_RepeatingLastBell	"RepeatingLastBell"
#define XkbBN_Start	"Start"
#define XkbBN_Success	"Success"
#define XkbBN_TerminalBell	"TerminalBell"
#define XkbBN_Wait	"Wait"
#define XkbBN_Warning	"Warning"

6.13.5. X11/extensions/XShm.h


#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 ShmCompletion	0
#define ShmNumberEvents	(ShmCompletion + 1)
#define BadShmSeg	0
#define ShmNumberErrors	(BadShmSeg + 1)

typedef unsigned long int ShmSeg;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Drawable drawable;
    int major_code;
    int minor_code;
    ShmSeg shmseg;
    unsigned long int offset;
} XShmCompletionEvent;
typedef struct {
    ShmSeg shmseg;
    int shmid;
    char *shmaddr;
    int readOnly;
} XShmSegmentInfo;
extern int XShmAttach(Display *, XShmSegmentInfo *);
extern XImage *XShmCreateImage(Display *, Visual *, unsigned int, int,
			       char *, XShmSegmentInfo *, unsigned int,
			       unsigned int);
extern Pixmap XShmCreatePixmap(Display *, Drawable, char *,
			       XShmSegmentInfo *, unsigned int,
			       unsigned int, unsigned int);
extern int XShmDetach(Display *, XShmSegmentInfo *);
extern int XShmGetEventBase(Display *);
extern int XShmGetImage(Display *, Drawable, XImage *, int, int,
			unsigned long int);
extern int XShmPixmapFormat(Display *);
extern int XShmPutImage(Display *, Drawable, GC, XImage *, int, int, int,
			int, unsigned int, unsigned int, int);
extern int XShmQueryExtension(Display *);
extern int XShmQueryVersion(Display *, int *, int *, int *);

6.13.6. X11/extensions/Xdbe.h


#define XdbeBadBuffer	0

typedef Drawable XdbeBackBuffer;
typedef unsigned char XdbeSwapAction;
typedef struct {
    Window swap_window;
    XdbeSwapAction swap_action;
} XdbeSwapInfo;
typedef struct {
    Window window;
} XdbeBackBufferAttributes;
typedef struct {
    int type;
    Display *display;
    XdbeBackBuffer buffer;
    unsigned long int serial;
    unsigned char error_code;
    unsigned char request_code;
    unsigned char minor_code;
} XdbeBufferError;
extern XdbeBackBuffer XdbeAllocateBackBufferName(Display *, Window,
						 XdbeSwapAction);
extern int XdbeBeginIdiom(Display *);
extern int XdbeDeallocateBackBufferName(Display *, XdbeBackBuffer);
extern int XdbeEndIdiom(Display *);
extern void XdbeFreeVisualInfo(XdbeScreenVisualInfo *);
extern XdbeBackBufferAttributes *XdbeGetBackBufferAttributes(Display *,
							     XdbeBackBuffer);
extern XdbeScreenVisualInfo *XdbeGetVisualInfo(Display *, Drawable *,
					       int *);
extern int XdbeQueryExtension(Display *, int *, int *);
extern int XdbeSwapBuffers(Display *, XdbeSwapInfo *, int);

6.13.7. X11/extensions/Xdbeproto.h


#define DbeNumberErrors	(DbeBadBuffer + 1)
#define DBE_MINOR_VERSION	0
#define DbeBadBuffer	0
#define DbeNumberEvents	0
#define X_DbeGetVersion	0
#define XdbeUndefined	0
#define DBE_MAJOR_VERSION	1
#define X_DbeAllocateBackBufferName	1
#define XdbeBackground	1
#define X_DbeDeallocateBackBufferName	2
#define XdbeUntouched	2
#define X_DbeSwapBuffers	3
#define XdbeCopied	3
#define X_DbeBeginIdiom	4
#define X_DbeEndIdiom	5
#define X_DbeGetVisualInfo	6
#define X_DbeGetBackBufferAttributes	7
#define DBE_PROTOCOL_NAME	"DOUBLE-BUFFER"

typedef CARD8 xDbeSwapAction;
typedef CARD32 xDbeBackBuffer;

6.13.8. X11/extensions/Xext.h


#define X_EXTENSION_MISSING	"missing"
#define X_EXTENSION_UNKNOWN	"unknown"

extern int XMissingExtension(Display *, const char *);
extern
    int (*XSetExtensionErrorHandler(int (*)(Display *, char *, char *)))
    (Display *, char *, char *);

6.13.10. X11/extensions/dpms.h


#define DPMSModeOn	0
#define DPMSModeStandby	1
#define DPMSModeSuspend	2
#define DPMSModeOff	3

extern int DPMSCapable(Display *);
extern int DPMSDisable(Display *);
extern int DPMSEnable(Display *);
extern int DPMSForceLevel(Display *, CARD16);
extern int DPMSGetTimeouts(Display *, CARD16 *, CARD16 *, CARD16 *);
extern int DPMSGetVersion(Display *, int *, int *);
extern int DPMSInfo(Display *, CARD16 *, BOOL *);
extern int DPMSQueryExtension(Display *, int *, int *);
extern int DPMSSetTimeouts(Display *, CARD16, CARD16, CARD16);

6.13.12. X11/extensions/dpmsstr.h


#define DPMSNumberErrors	0
#define DPMSNumberEvents	0
#define X_DPMSGetVersion	0
#define DPMSMajorVersion	1
#define DPMSMinorVersion	1
#define X_DPMSCapable	1
#define _DPMSSTR_H_	1
#define sz_xDPMSSetTimeoutsReq	12
#define X_DPMSGetTimeouts	2
#define X_DPMSSetTimeouts	3
#define sz_xDPMSCapableReply	32
#define sz_xDPMSGetTimeoutsReply	32
#define sz_xDPMSGetVersionReply	32
#define sz_xDPMSInfoReply	32
#define X_DPMSEnable	4
#define sz_xDPMSCapableReq	4
#define sz_xDPMSDisableReq	4
#define sz_xDPMSEnableReq	4
#define sz_xDPMSGetTimeoutsReq	4
#define sz_xDPMSInfoReq	4
#define X_DPMSDisable	5
#define X_DPMSForceLevel	6
#define X_DPMSInfo	7
#define sz_xDPMSForceLevelReq	8
#define sz_xDPMSGetVersionReq	8
#define DPMSExtensionName	"DPMS"

typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
    CARD16 majorVersion;
    CARD16 minorVersion;
} xDPMSGetVersionReq;
typedef struct {
    BYTE type;
    CARD8 pad0;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 majorVersion;
    CARD16 minorVersion;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xDPMSGetVersionReply;
typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
} xDPMSCapableReq;
typedef struct {
    BYTE type;
    CARD8 pad0;
    CARD16 sequenceNumber;
    CARD32 length;
    BOOL capable;
    CARD8 pad1;
    CARD16 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
    CARD32 pad7;
} xDPMSCapableReply;
typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
} xDPMSGetTimeoutsReq;
typedef struct {
    BYTE type;
    CARD8 pad0;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 standby;
    CARD16 suspend;
    CARD16 off;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
} xDPMSGetTimeoutsReply;
typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
    CARD16 standby;
    CARD16 suspend;
    CARD16 off;
    CARD16 pad0;
} xDPMSSetTimeoutsReq;
typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
} xDPMSEnableReq;
typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
} xDPMSDisableReq;
typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
    CARD16 level;
    CARD16 pad0;
} xDPMSForceLevelReq;
typedef struct {
    CARD8 reqType;
    CARD8 dpmsReqType;
    CARD16 length;
} xDPMSInfoReq;
typedef struct {
    BYTE type;
    CARD8 pad0;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 power_level;
    BOOL state;
    CARD8 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xDPMSInfoReply;

6.13.13. X11/extensions/extutil.h


#define XextHasExtension(i)	((i) && ((i)->codes))
#define XEXT_ERROR_STRING_PROTO(proc)	\
        char *proc(Display *dpy, int code, XExtCodes *codes, char *buf, int n)
#define XEXT_CLOSE_DISPLAY_PROTO(proc)	\
        int proc(Display *dpy, XExtCodes *codes)
#define XEXT_FIND_DISPLAY_PROTO(proc)	\
        XExtDisplayInfo *proc(Display *dpy)
#define XextCheckExtension(dpy,i,name,val)	\
  if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return val; }
#define XextSimpleCheckExtension(dpy,i,name)	\
  if (!XextHasExtension(i)) { XMissingExtension (dpy, name); return; }
#define XEXT_GENERATE_ERROR_STRING(proc,extname,nerr,errl)	\
char *proc (Display *dpy, int code, XExtCodes *codes, char *buf, int n) \
{ \
    code -= codes->first_error; \
    if (code >= 0 && code < nerr) { \
        char tmp[256]; \
        sprintf (tmp, "%s.%d", extname, code); \
        XGetErrorDatabaseText (dpy, "XProtoError", tmp, errl[code], buf, n); \
        return buf; \
    } \
    return (char *)0; \
}
#define XEXT_GENERATE_CLOSE_DISPLAY(proc,extinfo)	\
int proc (Display *dpy, XExtCodes *codes) \
{ \
    return XextRemoveDisplay (extinfo, dpy); \
}
#define XEXT_GENERATE_FIND_DISPLAY(proc,extinfo,extname,hooks,nev,data)	\
XExtDisplayInfo *proc (Display *dpy) \
{ \
XExtDisplayInfo *dpyinfo; \
    if (!extinfo) { if (!(extinfo = XextCreateExtension())) return NULL; } \
    if (!(dpyinfo = XextFindDisplay (extinfo, dpy))) \
      dpyinfo = XextAddDisplay (extinfo,dpy,extname,hooks,nev,data); \
    return dpyinfo; \
}

typedef struct _XExtDisplayInfo {
    struct _XExtDisplayInfo *next;
    Display *display;
    XExtCodes *codes;
    XPointer data;
} XExtDisplayInfo;
typedef struct _XExtensionInfo {
    XExtDisplayInfo *head;
    XExtDisplayInfo *cur;
    int ndisplays;
} XExtensionInfo;
typedef struct _XExtensionHooks {
    int (*create_gc) (Display *, GC, XExtCodes *);
    int (*copy_gc) (Display *, GC, XExtCodes *);
    int (*flush_gc) (Display *, GC, XExtCodes *);
    int (*free_gc) (Display *, GC, XExtCodes *);
    int (*create_font) (Display *, XFontStruct *, XExtCodes *);
    int (*free_font) (Display *, XFontStruct *, XExtCodes *);
    int (*close_display) (Display *, XExtCodes *);
    int (*wire_to_event) (Display *, XEvent *, xEvent *);
    int (*event_to_wire) (Display *, XEvent *, xEvent *);
    int (*error) (Display *, xError *, XExtCodes *, int *);
    char *(*error_string) (Display *, int, XExtCodes *, char *, int);
} XExtensionHooks;
extern XExtDisplayInfo *XextAddDisplay(XExtensionInfo *, Display *, char *,
				       XExtensionHooks *, int, XPointer);
extern XExtensionInfo *XextCreateExtension(void);
extern void XextDestroyExtension(XExtensionInfo *);
extern XExtDisplayInfo *XextFindDisplay(XExtensionInfo *, Display *);
extern int XextRemoveDisplay(XExtensionInfo *, Display *);

6.13.14. X11/extensions/security.h


#define XSecurityAuthorizationName	"XC-QUERY-SECURITY-1"
#define XSecurityAuthorizationRevokedMask	(1<<0)
#define XSecurityTimeout	(1<<0)
#define XSecurityTrustLevel	(1<<1)
#define XSecurityGroup	(1<<2)
#define XSecurityEventMask	(1<<3)
#define XSecurityAllAuthorizationAttributes	(XSecurityTimeout | XSecurityTrustLevel | XSecurityGroup | XSecurityEventMask)
#define XSecurityAuthorizationRevoked	0
#define XSecurityBadAuthorization	0
#define XSecurityClientTrusted	0
#define XSecurityBadAuthorizationProtocol	1
#define XSecurityClientUntrusted	1
#define XSecurityNumberEvents	1
#define XSecurityAuthorizationNameLen	19
#define XSecurityNumberErrors	2
#define XSecurityAllEventMasks	XSecurityAuthorizationRevokedMask

typedef unsigned long int XSecurityAuthorization;
typedef struct {
    unsigned int timeout;
    unsigned int trust_level;
    XID group;
    long int event_mask;
} XSecurityAuthorizationAttributes;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    XSecurityAuthorization auth_id;
} XSecurityAuthorizationRevokedEvent;
extern Xauth *XSecurityAllocXauth(void);
extern void XSecurityFreeXauth(Xauth *);
extern Xauth *XSecurityGenerateAuthorization(Display *, Xauth *,
					     unsigned long int,
					     XSecurityAuthorizationAttributes
					     *, XSecurityAuthorization *);
extern int XSecurityQueryExtension(Display *, int *, int *);
extern int XSecurityRevokeAuthorization(Display *, XSecurityAuthorization);

6.13.16. X11/extensions/shape.h


#define X_ShapeQueryVersion	0
#define X_ShapeRectangles	1
#define X_ShapeMask	2
#define X_ShapeCombine	3
#define X_ShapeOffset	4
#define X_ShapeQueryExtents	5
#define X_ShapeSelectInput	6
#define X_ShapeInputSelected	7
#define X_ShapeGetRectangles	8
#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)

typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    Window window;
    int kind;
    int x;
    int y;
    unsigned int width;
    unsigned int height;
    Time time;
    int shaped;
} XShapeEvent;
extern void XShapeCombineMask(Display *, Window, int, int, int, Pixmap,
			      int);
extern void XShapeCombineRectangles(Display *, Window, int, int, int,
				    XRectangle *, int, int, int);
extern void XShapeCombineRegion(Display *, Window, int, int, int, Region,
				int);
extern void XShapeCombineShape(Display *, Window, int, int, int, Window,
			       int, int);
extern XRectangle *XShapeGetRectangles(Display *, Window, int, int *,
				       int *);
extern unsigned long int XShapeInputSelected(Display *, Window);
extern void XShapeOffsetShape(Display *, Window, int, int, int);
extern int XShapeQueryExtension(Display *, int *, int *);
extern int XShapeQueryExtents(Display *, Window, int *, int *, int *,
			      unsigned int *, unsigned int *, int *, int *,
			      int *, unsigned int *, unsigned int *);
extern int XShapeQueryVersion(Display *, int *, int *);
extern void XShapeSelectInput(Display *, Window, unsigned long int);

6.13.19. X11/extensions/sync.h


typedef XID XSyncCounter;
typedef XID XSyncAlarm;
typedef struct _XSyncValue {
    int hi;
    unsigned int lo;
} XSyncValue;
typedef enum {
    XSyncAbsolute,
    XSyncRelative
} XSyncValueType;
typedef enum {
    XSyncPositiveTransition,
    XSyncNegativeTransition,
    XSyncPositiveComparison,
    XSyncNegativeComparison
} XSyncTestType;
typedef enum {
    XSyncAlarmActive,
    XSyncAlarmInactive,
    XSyncAlarmDestroyed
} XSyncAlarmState;

#define SYNC_NAME	"SYNC"
#define _XSyncValueIsPositive(v)	(((v).hi&0x80000000)?0:1)
#define _XSyncValueIsNegative(v)	(((v).hi&0x80000000)?1:0)
#define _XSyncValueLessThan(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 _XSyncValueGreaterThan(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 _XSyncValueEqual(a,b)	((a).lo==(b).lo && (a).hi==(b).hi)
#define _XSyncValueIsZero(a)	((a).lo==0&&(a).hi==0)
#define _XSyncIntToValue(pv,i)	((pv)->hi=((i<0)?~0:0),(pv)->lo=(i))
#define _XSyncMaxValue(pv)	((pv)->hi=0x7fffffff,(pv)->lo=0xffffffff)
#define _XSyncMinValue(pv)	((pv)->hi=0x80000000,(pv)->lo=0)
#define _XSyncIntsToValue(pv,l,h)	((pv)->lo = (l), (pv)->hi = (h))
#define _XSyncValueHigh32(v)	((v).hi)
#define _XSyncValueLow32(v)	((v).lo)
#define XSyncCACounter	(1L<<0)
#define XSyncCAValueType	(1L<<1)
#define XSyncCAValue	(1L<<2)
#define XSyncCATestType	(1L<<3)
#define XSyncCADelta	(1L<<4)
#define XSyncCAEvents	(1L<<5)
#define XSyncAlarmNotifyMask	(1L<<XSyncAlarmNotify)
#define XSyncNumberErrors	(XSyncBadAlarm+1)
#define SYNC_MINOR_VERSION	0
#define XSyncCounterNotify	0
#define X_SyncInitialize	0
#define XSyncBadCounter	0L
#define XSyncAlarmNotify	1
#define X_SyncListSystemCounters	1
#define X_SyncQueryAlarm	10
#define X_SyncDestroyAlarm	11
#define X_SyncSetPriority	12
#define X_SyncGetPriority	13
#define XSyncBadAlarm	1L
#define X_SyncCreateCounter	2
#define XSyncNumberEvents	2L
#define SYNC_MAJOR_VERSION	3
#define X_SyncSetCounter	3
#define X_SyncChangeCounter	4
#define X_SyncQueryCounter	5
#define X_SyncDestroyCounter	6
#define X_SyncAwait	7
#define X_SyncCreateAlarm	8
#define X_SyncChangeAlarm	9
#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)));\
}

typedef struct _XSyncSystemCounter {
    char *name;
    XSyncCounter counter;
    XSyncValue resolution;
} XSyncSystemCounter;
typedef struct {
    XSyncCounter counter;
    XSyncValueType value_type;
    XSyncValue wait_value;
    XSyncTestType test_type;
} XSyncTrigger;
typedef struct {
    XSyncTrigger trigger;
    XSyncValue event_threshold;
} XSyncWaitCondition;
typedef struct {
    XSyncTrigger trigger;
    XSyncValue delta;
    int events;
    XSyncAlarmState state;
} XSyncAlarmAttributes;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    XSyncCounter counter;
    XSyncValue wait_value;
    XSyncValue counter_value;
    Time time;
    int count;
    int destroyed;
} XSyncCounterNotifyEvent;
typedef struct {
    int type;
    unsigned long int serial;
    int send_event;
    Display *display;
    XSyncAlarm alarm;
    XSyncValue counter_value;
    XSyncValue alarm_value;
    Time time;
    XSyncAlarmState state;
} XSyncAlarmNotifyEvent;
typedef struct {
    int type;
    Display *display;
    XSyncAlarm alarm;
    unsigned long int serial;
    unsigned char error_code;
    unsigned char request_code;
    unsigned char minor_code;
} XSyncAlarmError;
typedef struct {
    int type;
    Display *display;
    XSyncCounter counter;
    unsigned long int serial;
    unsigned char error_code;
    unsigned char request_code;
    unsigned char minor_code;
} XSyncCounterError;
extern int XSyncAwait(Display *, XSyncWaitCondition *, int);
extern int XSyncChangeAlarm(Display *, XSyncAlarm, unsigned long int,
			    XSyncAlarmAttributes *);
extern int XSyncChangeCounter(Display *, XSyncCounter, XSyncValue);
extern XSyncAlarm XSyncCreateAlarm(Display *, unsigned long int,
				   XSyncAlarmAttributes *);
extern XSyncCounter XSyncCreateCounter(Display *, XSyncValue);
extern int XSyncDestroyAlarm(Display *, XSyncAlarm);
extern int XSyncDestroyCounter(Display *, XSyncCounter);
extern void XSyncFreeSystemCounterList(XSyncSystemCounter *);
extern int XSyncGetPriority(Display *, XID, int *);
extern int XSyncInitialize(Display *, int *, int *);
extern void XSyncIntToValue(XSyncValue *, int);
extern void XSyncIntsToValue(XSyncValue *, unsigned int, int);
extern XSyncSystemCounter *XSyncListSystemCounters(Display *, int *);
extern void XSyncMaxValue(XSyncValue *);
extern void XSyncMinValue(XSyncValue *);
extern int XSyncQueryAlarm(Display *, XSyncAlarm, XSyncAlarmAttributes *);
extern int XSyncQueryCounter(Display *, XSyncCounter, XSyncValue *);
extern int XSyncQueryExtension(Display *, int *, int *);
extern int XSyncSetCounter(Display *, XSyncCounter, XSyncValue);
extern int XSyncSetPriority(Display *, XID, int);
extern void XSyncValueAdd(XSyncValue *, XSyncValue, XSyncValue, int *);
extern int XSyncValueEqual(XSyncValue, XSyncValue);
extern int XSyncValueGreaterOrEqual(XSyncValue, XSyncValue);
extern int XSyncValueGreaterThan(XSyncValue, XSyncValue);
extern int XSyncValueHigh32(XSyncValue);
extern int XSyncValueIsNegative(XSyncValue);
extern int XSyncValueIsPositive(XSyncValue);
extern int XSyncValueIsZero(XSyncValue);
extern int XSyncValueLessOrEqual(XSyncValue, XSyncValue);
extern int XSyncValueLessThan(XSyncValue, XSyncValue);
extern unsigned int XSyncValueLow32(XSyncValue);
extern void XSyncValueSubtract(XSyncValue *, XSyncValue, XSyncValue,
			       int *);

6.13.21. X11/extensions/syncstr.h


#define sz_xSyncChangeAlarmReq	12
#define sz_xSyncCreateAlarmReq	12
#define sz_xSyncSetPriorityReq	12
#define sz_xSyncSystemCounter	14
#define sz_xSyncChangeCounterReq	16
#define sz_xSyncCreateCounterReq	16
#define sz_xSyncSetCounterReq	16
#define sz_xSyncWaitCondition	28
#define sz_xSyncGetPriorityReply	32
#define sz_xSyncInitializeReply	32
#define sz_xSyncListSystemCountersReply	32
#define sz_xSyncQueryCounterReply	32
#define sz_xSyncAwaitReq	4
#define sz_xSyncListSystemCountersReq	4
#define sz_xSyncQueryAlarmReply	40
#define sz_xSyncDestroyAlarmReq	8
#define sz_xSyncDestroyCounterReq	8
#define sz_xSyncGetPriorityReq	8
#define sz_xSyncInitializeReq	8
#define sz_xSyncQueryAlarmReq	8
#define sz_xSyncQueryCounterReq	8

typedef struct _xSyncInitialize {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD8 majorVersion;
    CARD8 minorVersion;
    CARD16 pad;
} xSyncInitializeReq;
typedef struct {
    BYTE type;
    CARD8 unused;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 majorVersion;
    CARD8 minorVersion;
    CARD16 pad;
    CARD32 pad0;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xSyncInitializeReply;
typedef struct _xSyncListSystemCounters {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
} xSyncListSystemCountersReq;
typedef struct {
    BYTE type;
    CARD8 unused;
    CARD16 sequenceNumber;
    CARD32 length;
    INT32 nCounters;
    CARD32 pad0;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xSyncListSystemCountersReply;
typedef struct {
    CARD32 counter;
    INT32 resolution_hi;
    CARD32 resolution_lo;
    CARD16 name_length;
} xSyncSystemCounter;
typedef struct _xSyncCreateCounterReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 cid;
    INT32 initial_value_hi;
    CARD32 initial_value_lo;
} xSyncCreateCounterReq;
typedef struct _xSyncChangeCounterReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 cid;
    INT32 value_hi;
    CARD32 value_lo;
} xSyncChangeCounterReq;
typedef struct _xSyncSetCounterReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 cid;
    INT32 value_hi;
    CARD32 value_lo;
} xSyncSetCounterReq;
typedef struct _xSyncDestroyCounterReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 counter;
} xSyncDestroyCounterReq;
typedef struct _xSyncQueryCounterReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 counter;
} xSyncQueryCounterReq;
typedef struct {
    BYTE type;
    CARD8 unused;
    CARD16 sequenceNumber;
    CARD32 length;
    INT32 value_hi;
    CARD32 value_lo;
    CARD32 pad0;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
} xSyncQueryCounterReply;
typedef struct _xSyncAwaitReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
} xSyncAwaitReq;
typedef struct _xSyncWaitCondition {
    CARD32 counter;
    CARD32 value_type;
    INT32 wait_value_hi;
    CARD32 wait_value_lo;
    CARD32 test_type;
    INT32 event_threshold_hi;
    CARD32 event_threshold_lo;
} xSyncWaitCondition;
typedef struct _xSyncCreateAlarmReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 id;
    CARD32 valueMask;
} xSyncCreateAlarmReq;
typedef struct _xSyncDestroyAlarmReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 alarm;
} xSyncDestroyAlarmReq;
typedef struct _xSyncQueryAlarmReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 alarm;
} xSyncQueryAlarmReq;
typedef struct {
    BYTE type;
    CARD8 unused;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 counter;
    CARD32 value_type;
    INT32 wait_value_hi;
    CARD32 wait_value_lo;
    CARD32 test_type;
    INT32 delta_hi;
    CARD32 delta_lo;
    BOOL events;
    BYTE state;
    BYTE pad0;
    BYTE pad1;
} xSyncQueryAlarmReply;
typedef struct _xSyncChangeAlarmReq {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 alarm;
    CARD32 valueMask;
} xSyncChangeAlarmReq;
typedef struct _xSyncSetPriority {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 id;
    INT32 priority;
} xSyncSetPriorityReq;
typedef struct _xSyncGetPriority {
    CARD8 reqType;
    CARD8 syncReqType;
    CARD16 length;
    CARD32 id;
} xSyncGetPriorityReq;
typedef struct {
    BYTE type;
    CARD8 unused;
    CARD16 sequenceNumber;
    CARD32 length;
    INT32 priority;
    CARD32 pad0;
    CARD32 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
} xSyncGetPriorityReply;
typedef struct _xSyncCounterNotifyEvent {
    BYTE type;
    BYTE kind;
    CARD16 sequenceNumber;
    CARD32 counter;
    INT32 wait_value_hi;
    CARD32 wait_value_lo;
    INT32 counter_value_hi;
    CARD32 counter_value_lo;
    CARD32 time;
    CARD16 count;
    BOOL destroyed;
    BYTE pad0;
} xSyncCounterNotifyEvent;
typedef struct _xSyncAlarmNotifyEvent {
    BYTE type;
    BYTE kind;
    CARD16 sequenceNumber;
    CARD32 alarm;
    INT32 counter_value_hi;
    CARD32 counter_value_lo;
    INT32 alarm_value_hi;
    CARD32 alarm_value_lo;
    CARD32 time;
    CARD8 state;
    BYTE pad0;
    BYTE pad1;
    BYTE pad2;
} xSyncAlarmNotifyEvent;

6.14. Interface Definitions for libXext

The interfaces defined on the following pages are included in libXext and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.

Other interfaces listed in Section 6.12 shall behave as described in the referenced base document.


6.15. Interfaces for libXi

Table 6-20 defines the library name and shared object name for the libXi library

Table 6-20. libXi Definition

Library:libXi
SONAME:libXi.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[XINPUT] X11 Input Library


6.15.1. XInput


6.15.1.1. Interfaces for XInput

An LSB conforming implementation shall provide the generic functions for XInput specified in Table 6-21, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-21. libXi - XInput Function Interfaces

XAllowDeviceEvents [XINPUT]XChangeDeviceControl [XINPUT]XChangeDeviceDontPropagateList [XINPUT]XChangeDeviceKeyMapping [XINPUT]
XChangeFeedbackControl [XINPUT]XChangeKeyboardDevice [XINPUT]XChangePointerDevice [XINPUT]XCloseDevice [XINPUT]
XDeviceBell [XINPUT]XFreeDeviceControl [XINPUT]XFreeDeviceList [XINPUT]XFreeDeviceMotionEvents [XINPUT]
XFreeDeviceState [XINPUT]XFreeFeedbackList [XINPUT]XGetDeviceButtonMapping [XINPUT]XGetDeviceControl [XINPUT]
XGetDeviceDontPropagateList [XINPUT]XGetDeviceFocus [XINPUT]XGetDeviceKeyMapping [XINPUT]XGetDeviceModifierMapping [XINPUT]
XGetDeviceMotionEvents [XINPUT]XGetExtensionVersion [XINPUT]XGetFeedbackControl [XINPUT]XGetSelectedExtensionEvents [XINPUT]
XGrabDevice [XINPUT]XGrabDeviceButton [XINPUT]XGrabDeviceKey [XINPUT]XListInputDevices [XINPUT]
XOpenDevice [XINPUT]XQueryDeviceState [XINPUT]XSelectExtensionEvent [XINPUT]XSendExtensionEvent [XINPUT]
XSetDeviceButtonMapping [XINPUT]XSetDeviceFocus [XINPUT]XSetDeviceMode [XINPUT]XSetDeviceModifierMapping [XINPUT]
XSetDeviceValuators [XINPUT]XUngrabDevice [XINPUT]XUngrabDeviceButton [XINPUT]XUngrabDeviceKey [XINPUT]

6.16. Data Definitions for libXi

This section defines global identifiers and their values that are associated with interfaces contained in libXi. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.16.1. X11/extensions/XI.h


#define InProximity	(0L << 1)
#define DeviceMode	(1L << 0)
#define DvAccelNum	(1L << 0)
#define DvInteger	(1L << 0)
#define DvString	(1L << 0)
#define DvAccelDenom	(1L << 1)
#define OutOfProximity	(1L << 1)
#define ProximityState	(1L << 1)
#define DvThreshold	(1L << 2)
#define DvKeyClickPercent	(1L<<0)
#define DvPercent	(1L<<1)
#define DvPitch	(1L<<2)
#define DvDuration	(1L<<3)
#define DvLed	(1L<<4)
#define DvLedMode	(1L<<5)
#define DvKey	(1L<<6)
#define DvAutoRepeatMode	(1L<<7)
#define AddToList	0
#define AsyncThisDevice	0
#define COUNT	0
#define DeviceAdded	0
#define Dont_Check	0
#define IsXPointer	0
#define KbdFeedbackClass	0
#define KeyClass	0
#define NewPointer	0
#define Relative	0
#define XI_Absent	0
#define XI_BadDevice	0
#define XI_Initial_Release_Minor	0
#define XPOINTER	0
#define _devicePointerMotionHint	0
#define _devicePresence	0
#define UseXKeyboard	0xFF
#define Absolute	1
#define ButtonClass	1
#define CREATE	1
#define DEVICE_RESOLUTION	1
#define DeleteFromList	1
#define DeviceRemoved	1
#define IsXKeyboard	1
#define NewKeyboard	1
#define NoSuchExtension	1
#define PtrFeedbackClass	1
#define SyncThisDevice	1
#define XI_Add_DevicePresenceNotify_Major	1
#define XI_Add_XChangeDeviceControl_Major	1
#define XI_Add_XDeviceBell_Major	1
#define XI_Add_XDeviceBell_Minor	1
#define XI_Add_XSetDeviceValuators_Major	1
#define XI_BadEvent	1
#define XI_Initial_Release_Major	1
#define XI_Present	1
#define XInput_Initial_Release	1
#define XKEYBOARD	1
#define _deviceButton1Motion	1
#define sz_xAllowDeviceEventsReq	12
#define sz_xChangeDeviceDontPropagateListReq	12
#define sz_xChangeFeedbackControlReq	12
#define sz_xSelectExtensionEventReq	12
#define sz_xUngrabDeviceReq	12
#define sz_xGetDeviceMotionEventsReq	16
#define sz_xSendExtensionEventReq	16
#define sz_xSetDeviceFocusReq	16
#define sz_xUngrabDeviceButtonReq	16
#define sz_xUngrabDeviceKeyReq	16
#define DEVICE_ABS_CALIB	2
#define DeviceEnabled	2
#define IsXExtensionDevice	2
#define ReplayThisDevice	2
#define StringFeedbackClass	2
#define ValuatorClass	2
#define XI_Add_XSetDeviceValuators_Minor	2
#define XI_BadMode	2
#define XInput_Add_XDeviceBell	2
#define _deviceButton2Motion	2
#define sz_xGrabDeviceButtonReq	20
#define sz_xGrabDeviceKeyReq	20
#define sz_xGrabDeviceReq	20
#define AsyncOtherDevices	3
#define DEVICE_CORE	3
#define DeviceDisabled	3
#define FeedbackClass	3
#define FollowKeyboard	3
#define IntegerFeedbackClass	3
#define IsXExtensionKeyboard	3
#define RevertToFollowKeyboard	3
#define XI_Add_XChangeDeviceControl_Minor	3
#define XI_DeviceBusy	3
#define XInput_Add_XSetDeviceValuators	3
#define _deviceButton3Motion	3
#define sz_xChangeDeviceControlReply	32
#define sz_xChangeKeyboardDeviceReply	32
#define sz_xChangePointerDeviceReply	32
#define sz_xGetDeviceButtonMappingReply	32
#define sz_xGetDeviceControlReply	32
#define sz_xGetDeviceDontPropagateListReply	32
#define sz_xGetDeviceFocusReply	32
#define sz_xGetDeviceKeyMappingReply	32
#define sz_xGetDeviceMotionEventsReply	32
#define sz_xGetExtensionVersionReply	32
#define sz_xGetFeedbackControlReply	32
#define sz_xGetSelectedExtensionEventsReply	32
#define sz_xGrabDeviceButtonReply	32
#define sz_xGrabDeviceKeyReply	32
#define sz_xGrabDeviceReply	32
#define sz_xListInputDevicesReply	32
#define sz_xOpenDeviceReply	32
#define sz_xQueryDeviceStateReply	32
#define sz_xSetDeviceButtonMappingReply	32
#define sz_xSetDeviceModeReply	32
#define sz_xSetDeviceModifierMappingReply	32
#define sz_xSetDeviceValuatorsReply	32
#define AsyncAll	4
#define DEVICE_ENABLE	4
#define DeviceUnrecoverable	4
#define IsXExtensionPointer	4
#define LedFeedbackClass	4
#define ProximityClass	4
#define XI_Add_DevicePresenceNotify_Minor	4
#define XI_BadClass	4
#define XInput_Add_XChangeDeviceControl	4
#define _deviceButton4Motion	4
#define sz_xListInputDevicesReq	4
#define BellFeedbackClass	5
#define DEVICE_ABS_AREA	5
#define FocusClass	5
#define SyncAll	5
#define XInput_Add_DevicePresenceNotify	5
#define _deviceButton5Motion	5
#define OtherClass	6
#define _deviceButtonMotion	6
#define _deviceButtonGrab	7
#define _deviceOwnerGrabButton	8
#define sz_xChangeDeviceControlReq	8
#define sz_xChangeDeviceKeyMappingReq	8
#define sz_xChangeKeyboardDeviceReq	8
#define sz_xChangePointerDeviceReq	8
#define sz_xCloseDeviceReq	8
#define sz_xDeviceBellReq	8
#define sz_xGetDeviceButtonMappingReq	8
#define sz_xGetDeviceControlReq	8
#define sz_xGetDeviceDontPropagateListReq	8
#define sz_xGetDeviceFocusReq	8
#define sz_xGetDeviceKeyMappingReq	8
#define sz_xGetDeviceModifierMappingReq	8
#define sz_xGetExtensionVersionReq	8
#define sz_xGetFeedbackControlReq	8
#define sz_xGetSelectedExtensionEventsReq	8
#define sz_xOpenDeviceReq	8
#define sz_xQueryDeviceStateReq	8
#define sz_xSetDeviceButtonMappingReq	8
#define sz_xSetDeviceModeReq	8
#define sz_xSetDeviceModifierMappingReq	8
#define sz_xSetDeviceValuatorsReq	8
#define _noExtensionEvent	9
#define XI_BARCODE	"BARCODE"
#define XI_BUTTONBOX	"BUTTONBOX"
#define XI_CURSORKEYS	"CURSORKEYS"
#define XI_DATAGLOVE	"DATAGLOVE"
#define XI_EYETRACKER	"EYETRACKER"
#define XI_FOOTMOUSE	"FOOTMOUSE"
#define XI_ID_MODULE	"ID_MODULE"
#define XI_KEYBOARD	"KEYBOARD"
#define XI_KNOB_BOX	"KNOB_BOX"
#define XI_MOUSE	"MOUSE"
#define XI_NINE_KNOB	"NINE_KNOB"
#define XI_ONE_KNOB	"ONE_KNOB"
#define XI_QUADRATURE	"QUADRATURE"
#define XI_SPACEBALL	"SPACEBALL"
#define XI_TABLET	"TABLET"
#define XI_TOUCHPAD	"TOUCHPAD"
#define XI_TOUCHSCREEN	"TOUCHSCREEN"
#define XI_TRACKBALL	"TRACKBALL"
#define INAME	"XInputExtension"

typedef long unsigned int XEventClass;
typedef struct {
    int present;
    short int major_version;
    short int minor_version;
} XExtensionVersion;

6.16.2. X11/extensions/XInput.h


#define _XINPUT_H_
#define DeviceButtonPress(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonPress)
#define DeviceButtonRelease(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, ButtonClass, _deviceButtonRelease)
#define DeviceFocusIn(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusIn)
#define DeviceFocusOut(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, FocusClass, _deviceFocusOut)
#define DeviceKeyPress(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyPress)
#define DeviceKeyRelease(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, KeyClass, _deviceKeyRelease)
#define ChangeDeviceNotify(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, OtherClass, _changeDeviceNotify)
#define DeviceMappingNotify(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, OtherClass, _deviceMappingNotify)
#define DeviceStateNotify(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, OtherClass, _deviceStateNotify)
#define ProximityIn(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, ProximityClass, _proximityIn)
#define ProximityOut(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, ProximityClass, _proximityOut)
#define DeviceMotionNotify(d,type,_class)	 \
	FindTypeAndClass(d, type, _class, ValuatorClass, _deviceMotionNotify)
#define FindTypeAndClass(d,type,_class,classid,offset)	 \
	{ int _i; XInputClassInfo *_ip; type = 0; _class = 0; for (_i=0, _ip= \
	((XDevice *) d)->classes; _i< ((XDevice *) d)->num_classes; _i++, \
	_ip++) if (_ip->input_class == classid) {type = _ip->event_type_base + \
	offset; _class = ((XDevice *) d)->device_id << 8 | type;}}
#define DevicePointerMotionHint(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | \
	_devicePointerMotionHint;}
#define DeviceButton1Motion(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | _deviceButton1Motion;}
#define DeviceButton2Motion(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | _deviceButton2Motion;}
#define DeviceButton3Motion(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | _deviceButton3Motion;}
#define DeviceButton5Motion(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | _deviceButton5Motion;}
#define DeviceButtonPressGrab(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | _deviceButtonGrab;}
#define DeviceOwnerGrabButton(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | _deviceOwnerGrabButton;}
#define NoExtensionEvent(d,type,_class)	 \
	{ _class = ((XDevice *) d)->device_id << 8 | _noExtensionEvent;}
#define _deviceButtonPress	0
#define _deviceFocusIn	0
#define _deviceKeyPress	0
#define _deviceMotionNotify	0
#define _deviceStateNotify	0
#define _proximityIn	0
#define _deviceButtonRelease	1
#define _deviceFocusOut	1
#define _deviceKeyRelease	1
#define _deviceMappingNotify	1
#define _proximityOut	1
#define _changeDeviceNotify	2
#define DeviceButton4Motion(d,type, _class)	{ _class =  ((XDevice *) d)->device_id << 8 | _deviceButton4Motion;}
#define DeviceButtonMotion(d,type, _class)	{ _class =  ((XDevice *) d)->device_id << 8 | _deviceButtonMotion;}
#define DevicePresence(dpy, type, _class)	{\
    extern int _XiGetDevicePresenceNotifyEvent(Display *); \
    type = _XiGetDevicePresenceNotifyEvent(dpy);            \
 _class =  (0x10000 | _devicePresence); \
 }

typedef struct {
    unsigned char input_class;
    unsigned char event_type_base;
} XInputClassInfo;
typedef struct {
    XID device_id;
    int num_classes;
    XInputClassInfo *classes;
} XDevice;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    unsigned int state;
    unsigned int keycode;
    int same_screen;
    unsigned int device_state;
    unsigned char axes_count;
    unsigned char first_axis;
    int axis_data[6];
} XDeviceKeyEvent;
typedef XDeviceKeyEvent XDeviceKeyPressedEvent;
typedef XDeviceKeyEvent XDeviceKeyReleasedEvent;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    unsigned int state;
    unsigned int button;
    int same_screen;
    unsigned int device_state;
    unsigned char axes_count;
    unsigned char first_axis;
    int axis_data[6];
} XDeviceButtonEvent;
typedef XDeviceButtonEvent XDeviceButtonPressedEvent;
typedef XDeviceButtonEvent XDeviceButtonReleasedEvent;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    unsigned int state;
    char is_hint;
    int same_screen;
    unsigned int device_state;
    unsigned char axes_count;
    unsigned char first_axis;
    int axis_data[6];
} XDeviceMotionEvent;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    int mode;
    int detail;
    Time time;
} XDeviceFocusChangeEvent;
typedef XDeviceFocusChangeEvent XDeviceFocusInEvent;
typedef XDeviceFocusChangeEvent XDeviceFocusOutEvent;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    Window root;
    Window subwindow;
    Time time;
    int x;
    int y;
    int x_root;
    int y_root;
    unsigned int state;
    int same_screen;
    unsigned int device_state;
    unsigned char axes_count;
    unsigned char first_axis;
    int axis_data[6];
} XProximityNotifyEvent;
typedef XProximityNotifyEvent XProximityInEvent;
typedef XProximityNotifyEvent XProximityOutEvent;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    unsigned c_class;
#else
    unsigned class;
#endif
    unsigned char length;
} XInputClass;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    Time time;
    int num_classes;
    char data[64];
} XDeviceStateNotifyEvent;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    unsigned c_class;
#else
    unsigned class;
#endif
    unsigned char length;
    unsigned char num_valuators;
    unsigned char mode;
    int valuators[6];
} XValuatorStatus;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    unsigned c_class;
#else
    unsigned class;
#endif
    unsigned char length;
    short int num_keys;
    char keys[32];
} XKeyStatus;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    unsigned c_class;
#else
    unsigned class;
#endif
    unsigned char length;
    short int num_buttons;
    char buttons[32];
} XButtonStatus;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    Time time;
    int request;
    int first_keycode;
    int count;
} XDeviceMappingEvent;
typedef struct {
    int type;
    long unsigned int serial;
    int send_event;
    Display *display;
    Window window;
    XID deviceid;
    Time time;
    int request;
} XChangeDeviceNotifyEvent;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
} XFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int click;
    int percent;
    int pitch;
    int duration;
    int led_mask;
    int global_auto_repeat;
    char auto_repeats[32];
} XKbdFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int accelNum;
    int accelDenom;
    int threshold;
} XPtrFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int resolution;
    int minVal;
    int maxVal;
} XIntegerFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int max_symbols;
    int num_syms_supported;
    KeySym *syms_supported;
} XStringFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int percent;
    int pitch;
    int duration;
} XBellFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int led_values;
    int led_mask;
} XLedFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
} XFeedbackControl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int accelNum;
    int accelDenom;
    int threshold;
} XPtrFeedbackControl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int click;
    int percent;
    int pitch;
    int duration;
    int led_mask;
    int led_value;
    int key;
    int auto_repeat_mode;
} XKbdFeedbackControl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int num_keysyms;
    KeySym *syms_to_display;
} XStringFeedbackControl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int int_to_display;
} XIntegerFeedbackControl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int percent;
    int pitch;
    int duration;
} XBellFeedbackControl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    XID id;
    int led_mask;
    int led_values;
} XLedFeedbackControl;
typedef struct {
    XID control;
    int length;
} XDeviceControl;
typedef struct {
    XID control;
    int length;
    int first_valuator;
    int num_valuators;
    int *resolutions;
} XDeviceResolutionControl;
typedef struct {
    XID control;
    int length;
    int num_valuators;
    int *resolutions;
    int *min_resolutions;
    int *max_resolutions;
} XDeviceResolutionState;
typedef struct _XAnyClassinfo *XAnyClassPtr;
typedef struct _XAnyClassinfo {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
} XAnyClassInfo;
typedef struct _XDeviceInfo *XDeviceInfoPtr;
typedef struct _XDeviceInfo {
    XID id;
    Atom type;
    char *name;
    int num_classes;
    int use;
    XAnyClassPtr inputclassinfo;
} XDeviceInfo;
typedef struct _XKeyInfo *XKeyInfoPtr;
typedef struct _XKeyInfo {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    short unsigned int min_keycode;
    short unsigned int max_keycode;
    short unsigned int num_keys;
} XKeyInfo;
typedef struct _XButtonInfo *XButtonInfoPtr;
typedef struct _XButtonInfo {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    short int num_buttons;
} XButtonInfo;
typedef struct _XAxisInfo *XAxisInfoPtr;
typedef struct _XAxisInfo {
    int resolution;
    int min_value;
    int max_value;
} XAxisInfo;
typedef struct _XValuatorInfo *XValuatorInfoPtr;
typedef struct _XValuatorInfo {
#if defined(__cplusplus) || defined(c_plusplus)
    XID c_class;
#else
    XID class;
#endif
    int length;
    unsigned char num_axes;
    unsigned char mode;
    long unsigned int motion_buffer;
    XAxisInfoPtr axes;
} XValuatorInfo;
typedef struct {
    XEventClass event_type;
    XID device;
} XEventList;
typedef struct {
    Time time;
    int *data;
} XDeviceTimeCoord;
typedef struct {
    XID device_id;
    int num_classes;
    XInputClass *data;
} XDeviceState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    unsigned c_class;
#else
    unsigned class;
#endif
    unsigned char length;
    unsigned char num_valuators;
    unsigned char mode;
    int *valuators;
} XValuatorState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    unsigned c_class;
#else
    unsigned class;
#endif
    unsigned char length;
    short int num_keys;
    char keys[32];
} XKeyState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    unsigned c_class;
#else
    unsigned class;
#endif
    unsigned char length;
    short int num_buttons;
    char buttons[32];
} XButtonState;
extern int XAllowDeviceEvents(Display *, XDevice *, int, Time);
extern int XChangeDeviceControl(Display *, XDevice *, int,
				XDeviceControl *);
extern int XChangeDeviceDontPropagateList(Display *, Window, int,
					  XEventClass *, int);
extern int XChangeDeviceKeyMapping(Display *, XDevice *, int, int,
				   KeySym *, int);
extern int XChangeFeedbackControl(Display *, XDevice *, unsigned long int,
				  XFeedbackControl *);
extern int XChangeKeyboardDevice(Display *, XDevice *);
extern int XChangePointerDevice(Display *, XDevice *, int, int);
extern int XCloseDevice(Display *, XDevice *);
extern int XDeviceBell(Display *, XDevice *, XID, XID, int);
extern void XFreeDeviceControl(XDeviceControl *);
extern void XFreeDeviceList(XDeviceInfo *);
extern void XFreeDeviceMotionEvents(XDeviceTimeCoord *);
extern void XFreeDeviceState(XDeviceState *);
extern void XFreeFeedbackList(XFeedbackState *);
extern int XGetDeviceButtonMapping(Display *, XDevice *, unsigned char *,
				   unsigned int);
extern XDeviceControl *XGetDeviceControl(Display *, XDevice *, int);
extern XEventClass *XGetDeviceDontPropagateList(Display *, Window, int *);
extern int XGetDeviceFocus(Display *, XDevice *, Window *, int *, Time *);
extern KeySym *XGetDeviceKeyMapping(Display *, XDevice *, unsigned int,
				    int, int *);
extern XModifierKeymap *XGetDeviceModifierMapping(Display *, XDevice *);
extern XDeviceTimeCoord *XGetDeviceMotionEvents(Display *, XDevice *, Time,
						Time, int *, int *, int *);
extern XExtensionVersion *XGetExtensionVersion(Display *, const char *);
extern XFeedbackState *XGetFeedbackControl(Display *, XDevice *, int *);
extern int XGetSelectedExtensionEvents(Display *, Window, int *,
				       XEventClass * *, int *,
				       XEventClass * *);
extern int XGrabDevice(Display *, XDevice *, Window, int, int,
		       XEventClass *, int, int, Time);
extern int XGrabDeviceButton(Display *, XDevice *, unsigned int,
			     unsigned int, XDevice *, Window, int,
			     unsigned int, XEventClass *, int, int);
extern int XGrabDeviceKey(Display *, XDevice *, unsigned int, unsigned int,
			  XDevice *, Window, int, unsigned int,
			  XEventClass *, int, int);
extern XDeviceInfo *XListInputDevices(Display *, int *);
extern XDevice *XOpenDevice(Display *, XID);
extern XDeviceState *XQueryDeviceState(Display *, XDevice *);
extern int XSelectExtensionEvent(Display *, Window, XEventClass *, int);
extern int XSendExtensionEvent(Display *, XDevice *, Window, int, int,
			       XEventClass *, XEvent *);
extern int XSetDeviceButtonMapping(Display *, XDevice *, unsigned char *,
				   int);
extern int XSetDeviceFocus(Display *, XDevice *, Window, int, Time);
extern int XSetDeviceMode(Display *, XDevice *, int);
extern int XSetDeviceModifierMapping(Display *, XDevice *,
				     XModifierKeymap *);
extern int XSetDeviceValuators(Display *, XDevice *, int *, int, int);
extern int XUngrabDevice(Display *, XDevice *, Time);
extern int XUngrabDeviceButton(Display *, XDevice *, unsigned int,
			       unsigned int, XDevice *, Window);
extern int XUngrabDeviceKey(Display *, XDevice *, unsigned int,
			    unsigned int, XDevice *, Window);

6.16.3. X11/extensions/XIproto.h


#define XI_DeviceValuator	0
#define InputClassBits	0x3F
#define DEVICE_BITS	0x7F
#define MORE_EVENTS	0x80
#define CLIENT_REQ	1
#define XI_DeviceKeyPress	1
#define X_GetExtensionVersion	1
#define XI_DeviceStateNotify	10
#define X_GetDeviceMotionEvents	10
#define XI_DeviceMappingNotify	11
#define X_ChangeKeyboardDevice	11
#define XI_ChangeDeviceNotify	12
#define X_ChangePointerDevice	12
#define XI_DeviceKeystateNotify	13
#define X_GrabDevice	13
#define XI_DeviceButtonstateNotify	14
#define X_UngrabDevice	14
#define XI_DevicePresenceNotify	15
#define X_GrabDeviceKey	15
#define IEVENTS	16
#define X_UngrabDeviceKey	16
#define X_GrabDeviceButton	17
#define X_UngrabDeviceButton	18
#define X_AllowDeviceEvents	19
#define XI_DeviceKeyRelease	2
#define X_ListInputDevices	2
#define X_GetDeviceFocus	20
#define X_SetDeviceFocus	21
#define X_GetFeedbackControl	22
#define X_ChangeFeedbackControl	23
#define X_GetDeviceKeyMapping	24
#define X_ChangeDeviceKeyMapping	25
#define X_GetDeviceModifierMapping	26
#define X_SetDeviceModifierMapping	27
#define X_GetDeviceButtonMapping	28
#define X_SetDeviceButtonMapping	29
#define XI_DeviceButtonPress	3
#define X_OpenDevice	3
#define X_QueryDeviceState	30
#define X_SendExtensionEvent	31
#define X_DeviceBell	32
#define X_SetDeviceValuators	33
#define X_GetDeviceControl	34
#define X_ChangeDeviceControl	35
#define XI_DeviceButtonRelease	4
#define X_CloseDevice	4
#define IERRORS	5
#define XI_DeviceMotionNotify	5
#define X_SetDeviceMode	5
#define ModeBitsShift	6
#define XI_DeviceFocusIn	6
#define X_SelectExtensionEvent	6
#define XI_DeviceFocusOut	7
#define X_GetSelectedExtensionEvents	7
#define numInputClasses	7
#define XI_ProximityIn	8
#define X_ChangeDeviceDontPropagateList	8
#define XI_ProximityOut	9
#define X_GetDeviceDontPropagateList	9

typedef struct _XExtEventInfo {
    Mask mask;
    BYTE type;
    BYTE word;
} XExtEventInfo;
typedef unsigned char *Pointer;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD16 nbytes;
    CARD8 pad1;
    CARD8 pad2;
} xGetExtensionVersionReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 major_version;
    CARD16 minor_version;
    BOOL present;
    CARD8 pad1;
    CARD8 pad2;
    CARD8 pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
} xGetExtensionVersionReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
} xListInputDevicesReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 ndevices;
    CARD8 pad1;
    CARD8 pad2;
    CARD8 pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xListInputDevicesReply;
typedef struct _xDeviceInfo *xDeviceInfoPtr;
typedef struct _xAnyClassinfo *xAnyClassPtr;
typedef struct _xAnyClassinfo {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 length;
} xAnyClassInfo;
typedef struct _xDeviceInfo {
    CARD32 type;
    CARD8 id;
    CARD8 num_classes;
    CARD8 use;
    CARD8 attached;
} xDeviceInfo;
typedef struct _xKeyInfo *xKeyInfoPtr;
typedef struct _xKeyInfo {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 length;
    CARD8 min_keycode;
    CARD8 max_keycode;
    CARD16 num_keys;
    CARD8 pad1;
    CARD8 pad2;
} xKeyInfo;
typedef struct _xButtonInfo *xButtonInfoPtr;
typedef struct _xButtonInfo {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 length;
    CARD16 num_buttons;
} xButtonInfo;
typedef struct _xValuatorInfo *xValuatorInfoPtr;
typedef struct _xValuatorInfo {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 length;
    CARD8 num_axes;
    CARD8 mode;
    CARD32 motion_buffer_size;
} xValuatorInfo;
typedef struct _xAxisInfo *xAxisInfoPtr;
typedef struct _xAxisInfo {
    CARD32 resolution;
    CARD32 min_value;
    CARD32 max_value;
} xAxisInfo;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xOpenDeviceReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 num_classes;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad00;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
} xOpenDeviceReply;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 event_type_base;
} xInputClassInfo;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xCloseDeviceReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    CARD8 mode;
    BYTE pad1;
    BYTE pad2;
} xSetDeviceModeReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xSetDeviceModeReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 window;
    CARD16 count;
    CARD16 pad00;
} xSelectExtensionEventReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 window;
} xGetSelectedExtensionEventsReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 this_client_count;
    CARD16 all_clients_count;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xGetSelectedExtensionEventsReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 window;
    CARD16 count;
    CARD8 mode;
    BYTE pad;
} xChangeDeviceDontPropagateListReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 window;
} xGetDeviceDontPropagateListReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 count;
    CARD16 pad00;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xGetDeviceDontPropagateListReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 start;
    CARD32 stop;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xGetDeviceMotionEventsReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 nEvents;
    CARD8 axes;
    CARD8 mode;
    BYTE pad1;
    BYTE pad2;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
} xGetDeviceMotionEventsReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xChangeKeyboardDeviceReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xChangeKeyboardDeviceReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 xaxis;
    CARD8 yaxis;
    CARD8 deviceid;
    BYTE pad1;
} xChangePointerDeviceReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xChangePointerDeviceReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 grabWindow;
    CARD32 time;
    CARD16 event_count;
    CARD8 this_device_mode;
    CARD8 other_devices_mode;
    BOOL ownerEvents;
    CARD8 deviceid;
    CARD16 pad01;
} xGrabDeviceReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xGrabDeviceReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 time;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xUngrabDeviceReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 event_count;
    CARD16 modifiers;
    CARD8 modifier_device;
    CARD8 grabbed_device;
    CARD8 key;
    BYTE this_device_mode;
    BYTE other_devices_mode;
    BOOL ownerEvents;
    BYTE pad1;
    BYTE pad2;
} xGrabDeviceKeyReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 modifiers;
    CARD8 modifier_device;
    CARD8 key;
    CARD8 grabbed_device;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xUngrabDeviceKeyReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 grabWindow;
    CARD8 grabbed_device;
    CARD8 modifier_device;
    CARD16 event_count;
    CARD16 modifiers;
    BYTE this_device_mode;
    BYTE other_devices_mode;
    CARD8 button;
    BOOL ownerEvents;
    BYTE pad1;
    BYTE pad2;
} xGrabDeviceButtonReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 grabWindow;
    CARD16 modifiers;
    CARD8 modifier_device;
    CARD8 button;
    CARD8 grabbed_device;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xUngrabDeviceButtonReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 time;
    CARD8 mode;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
} xAllowDeviceEventsReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xGetDeviceFocusReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD32 focus;
    CARD32 time;
    CARD8 revertTo;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
} xGetDeviceFocusReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 focus;
    CARD32 time;
    CARD8 revertTo;
    CARD8 device;
    CARD16 pad01;
} xSetDeviceFocusReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xGetFeedbackControlReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD16 num_feedbacks;
    CARD16 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
    CARD32 pad06;
} xGetFeedbackControlReply;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
} xFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD16 pitch;
    CARD16 duration;
    CARD32 led_mask;
    CARD32 led_values;
    BOOL global_auto_repeat;
    CARD8 click;
    CARD8 percent;
    BYTE pad;
    BYTE auto_repeats[32];
} xKbdFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD8 pad1;
    CARD8 pad2;
    CARD16 accelNum;
    CARD16 accelDenom;
    CARD16 threshold;
} xPtrFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD32 resolution;
    INT32 min_value;
    INT32 max_value;
} xIntegerFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD16 max_symbols;
    CARD16 num_syms_supported;
} xStringFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD8 percent;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD16 pitch;
    CARD16 duration;
} xBellFeedbackState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD32 led_mask;
    CARD32 led_values;
} xLedFeedbackState;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 mask;
    CARD8 deviceid;
    CARD8 feedbackid;
    BYTE pad1;
    BYTE pad2;
} xChangeFeedbackControlReq;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
} xFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD8 key;
    CARD8 auto_repeat_mode;
    INT8 click;
    INT8 percent;
    INT16 pitch;
    INT16 duration;
    CARD32 led_mask;
    CARD32 led_values;
} xKbdFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD8 pad1;
    CARD8 pad2;
    INT16 num;
    INT16 denom;
    INT16 thresh;
} xPtrFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    INT32 int_to_display;
} xIntegerFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD8 pad1;
    CARD8 pad2;
    CARD16 num_keysyms;
} xStringFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    INT8 percent;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    INT16 pitch;
    INT16 duration;
} xBellFeedbackCtl;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 id;
    CARD16 length;
    CARD32 led_mask;
    CARD32 led_values;
} xLedFeedbackCtl;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    CARD8 firstKeyCode;
    CARD8 count;
    BYTE pad1;
} xGetDeviceKeyMappingReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 keySymsPerKeyCode;
    CARD8 pad0;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGetDeviceKeyMappingReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    CARD8 firstKeyCode;
    CARD8 keySymsPerKeyCode;
    CARD8 keyCodes;
} xChangeDeviceKeyMappingReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xGetDeviceModifierMappingReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 numKeyPerModifier;
    CARD8 pad0;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xGetDeviceModifierMappingReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    CARD8 numKeyPerModifier;
    CARD16 pad1;
} xSetDeviceModifierMappingReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 success;
    CARD8 pad0;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xSetDeviceModifierMappingReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xGetDeviceButtonMappingReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 nElts;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xGetDeviceButtonMappingReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    CARD8 map_length;
    BYTE pad1;
    BYTE pad2;
} xSetDeviceButtonMappingReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad0;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xSetDeviceButtonMappingReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xQueryDeviceStateReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 num_classes;
    BYTE pad0;
    CARD16 pad1;
    CARD32 pad2;
    CARD32 pad3;
    CARD32 pad4;
    CARD32 pad5;
    CARD32 pad6;
} xQueryDeviceStateReply;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 length;
    CARD8 num_keys;
    BYTE pad1;
    CARD8 keys[32];
} xKeyState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 length;
    CARD8 num_buttons;
    BYTE pad1;
    CARD8 buttons[32];
} xButtonState;
typedef struct {
#if defined(__cplusplus) || defined(c_plusplus)
    CARD8 c_class;
#else
    CARD8 class;
#endif
    CARD8 length;
    CARD8 num_valuators;
    CARD8 mode;
} xValuatorState;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD32 destination;
    CARD8 deviceid;
    BOOL propagate;
    CARD16 count;
    CARD8 num_events;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
} xSendExtensionEventReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    CARD8 feedbackid;
    CARD8 feedbackclass;
    INT8 percent;
} xDeviceBellReq;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD8 deviceid;
    CARD8 first_valuator;
    CARD8 num_valuators;
    BYTE pad1;
} xSetDeviceValuatorsReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xSetDeviceValuatorsReply;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD16 control;
    CARD8 deviceid;
    BYTE pad2;
} xGetDeviceControlReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xGetDeviceControlReply;
typedef struct {
    CARD16 control;
    CARD16 length;
} xDeviceState;
typedef struct {
    CARD16 control;
    CARD16 length;
    CARD32 num_valuators;
} xDeviceResolutionState;
typedef struct {
    CARD8 reqType;
    CARD8 ReqType;
    CARD16 length;
    CARD16 control;
    CARD8 deviceid;
    BYTE pad0;
} xChangeDeviceControlReq;
typedef struct {
    CARD8 repType;
    CARD8 RepType;
    CARD16 sequenceNumber;
    CARD32 length;
    CARD8 status;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
    CARD32 pad05;
} xChangeDeviceControlReply;
typedef struct {
    CARD16 control;
    CARD16 length;
} xDeviceCtl;
typedef struct {
    CARD16 control;
    CARD16 length;
    CARD8 first_valuator;
    CARD8 num_valuators;
    CARD8 pad1;
    CARD8 pad2;
} xDeviceResolutionCtl;
typedef struct {
    BYTE type;
    CARD8 deviceid;
    CARD16 sequenceNumber;
    KeyButMask device_state;
    CARD8 num_valuators;
    CARD8 first_valuator;
    INT32 valuator0;
    INT32 valuator1;
    INT32 valuator2;
    INT32 valuator3;
    INT32 valuator4;
    INT32 valuator5;
} deviceValuator;
typedef struct {
    BYTE type;
    BYTE detail;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD32 root;
    CARD32 event;
    CARD32 child;
    INT16 root_x;
    INT16 root_y;
    INT16 event_x;
    INT16 event_y;
    KeyButMask state;
    BOOL same_screen;
    CARD8 deviceid;
} deviceKeyButtonPointer;
typedef struct {
    BYTE type;
    BYTE detail;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD32 window;
    BYTE mode;
    CARD8 deviceid;
    BYTE pad1;
    BYTE pad2;
    CARD32 pad00;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
} deviceFocus;
typedef struct {
    BYTE type;
    BYTE deviceid;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 num_keys;
    CARD8 num_buttons;
    CARD8 num_valuators;
    CARD8 classes_reported;
    CARD8 buttons[4];
    CARD8 keys[4];
    INT32 valuator0;
    INT32 valuator1;
    INT32 valuator2;
} deviceStateNotify;
typedef struct {
    BYTE type;
    BYTE deviceid;
    CARD16 sequenceNumber;
    CARD8 keys[28];
} deviceKeyStateNotify;
typedef struct {
    BYTE type;
    BYTE deviceid;
    CARD16 sequenceNumber;
    CARD8 buttons[28];
} deviceButtonStateNotify;
typedef struct {
    BYTE type;
    BYTE deviceid;
    CARD16 sequenceNumber;
    CARD8 request;
    CARD8 firstKeyCode;
    CARD8 count;
    BYTE pad1;
    CARD32 time;
    CARD32 pad00;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
} deviceMappingNotify;
typedef struct {
    BYTE type;
    BYTE deviceid;
    CARD16 sequenceNumber;
    CARD32 time;
    CARD8 request;
    BYTE pad1;
    BYTE pad2;
    BYTE pad3;
    CARD32 pad00;
    CARD32 pad01;
    CARD32 pad02;
    CARD32 pad03;
    CARD32 pad04;
} changeDeviceNotify;

6.17. Interfaces for libXtst

Table 6-22 defines the library name and shared object name for the libXtst library

Table 6-22. libXtst Definition

Library:libXtst
SONAME:libXtst.so.6

The behavior of the interfaces in this library is specified by the following specifications:

[X-test] XTEST Extension Library


6.17.1. libXtst Interfaces


6.17.1.1. Interfaces for libXtst Interfaces

An LSB conforming implementation shall provide the generic functions for libXtst Interfaces specified in Table 6-23, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-23. libXtst - libXtst Interfaces Function Interfaces

XTestCompareCurrentCursorWithWindow [X-test]XTestCompareCursorWithWindow [X-test]XTestDiscard [X-test]XTestFakeButtonEvent [X-test]
XTestFakeDeviceButtonEvent [X-test]XTestFakeDeviceKeyEvent [X-test]XTestFakeDeviceMotionEvent [X-test]XTestFakeKeyEvent [X-test]
XTestFakeMotionEvent [X-test]XTestFakeProximityEvent [X-test]XTestFakeRelativeMotionEvent [X-test]XTestGrabControl [X-test]
XTestQueryExtension [X-test]XTestSetGContextOfGC [X-test]XTestSetVisualIDOfVisual [X-test] 

6.18. Data Definitions for libXtst

This section defines global identifiers and their values that are associated with interfaces contained in libXtst. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.18.1. X11/extensions/XTest.h


#define XTestNumberErrors	0
#define XTestNumberEvents	0
#define X_XTestGetVersion	0
#define X_XTestCompareCursor	1
#define XTestMajorVersion	2
#define XTestMinorVersion	2
#define X_XTestFakeInput	2
#define X_XTestGrabControl	3
#define XTestExtensionName	"XTEST"

extern int XTestCompareCurrentCursorWithWindow(Display *, Window);
extern int XTestCompareCursorWithWindow(Display *, Window, Cursor);
extern int XTestDiscard(Display *);
extern int XTestFakeButtonEvent(Display *, unsigned int, int,
				unsigned long int);
extern int XTestFakeDeviceButtonEvent(Display *, XDevice *, unsigned int,
				      int, int *, int, unsigned long int);
extern int XTestFakeDeviceKeyEvent(Display *, XDevice *, unsigned int, int,
				   int *, int, unsigned long int);
extern int XTestFakeDeviceMotionEvent(Display *, XDevice *, int, int,
				      int *, int, unsigned long int);
extern int XTestFakeKeyEvent(Display *, unsigned int, int,
			     unsigned long int);
extern int XTestFakeMotionEvent(Display *, int, int, int,
				unsigned long int);
extern int XTestFakeProximityEvent(Display *, XDevice *, int, int *, int,
				   unsigned long int);
extern int XTestFakeRelativeMotionEvent(Display *, int, int,
					unsigned long int);
extern int XTestGrabControl(Display *, int);
extern int XTestQueryExtension(Display *, int *, int *, int *, int *);
extern void XTestSetGContextOfGC(GC, GContext);
extern void XTestSetVisualIDOfVisual(Visual *, VisualID);

6.19. Interfaces for libxcb

Table 6-24 defines the library name and shared object name for the libxcb library

Table 6-24. libxcb Definition

Library:libxcb
SONAME:libxcb.so.1

The behavior of the interfaces in this library is specified by the following specifications:

[Libxcb 1.7] Libxcb API
[LSB] This Specification


6.19.1. libxcb interfaces


6.19.1.1. Interfaces for libxcb interfaces

An LSB conforming implementation shall provide the generic functions for libxcb interfaces specified in Table 6-25, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-25. libxcb - libxcb interfaces Function Interfaces

xcb_alloc_color [LSB]xcb_alloc_color_cells [LSB]xcb_alloc_color_cells_masks [LSB]xcb_alloc_color_cells_masks_end [LSB]
xcb_alloc_color_cells_masks_length [LSB]xcb_alloc_color_cells_pixels [LSB]xcb_alloc_color_cells_pixels_end [LSB]xcb_alloc_color_cells_pixels_length [LSB]
xcb_alloc_color_cells_reply [LSB]xcb_alloc_color_cells_unchecked [LSB]xcb_alloc_color_planes [LSB]xcb_alloc_color_planes_pixels [LSB]
xcb_alloc_color_planes_pixels_end [LSB]xcb_alloc_color_planes_pixels_length [LSB]xcb_alloc_color_planes_reply [LSB]xcb_alloc_color_planes_unchecked [LSB]
xcb_alloc_color_reply [LSB]xcb_alloc_color_unchecked [LSB]xcb_alloc_named_color [LSB]xcb_alloc_named_color_reply [LSB]
xcb_alloc_named_color_unchecked [LSB]xcb_allow_events [LSB]xcb_allow_events_checked [LSB]xcb_arc_end [LSB]
xcb_arc_next [LSB]xcb_atom_end [LSB]xcb_atom_next [LSB]xcb_bell [LSB]
xcb_bell_checked [LSB]xcb_big_requests_enable [LSB]xcb_big_requests_enable_reply [LSB]xcb_big_requests_enable_unchecked [LSB]
xcb_button_end [LSB]xcb_button_next [LSB]xcb_change_active_pointer_grab [LSB]xcb_change_active_pointer_grab_checked [LSB]
xcb_change_gc [LSB]xcb_change_gc_checked [LSB]xcb_change_hosts [LSB]xcb_change_hosts_checked [LSB]
xcb_change_keyboard_control [LSB]xcb_change_keyboard_control_checked [LSB]xcb_change_keyboard_mapping [LSB]xcb_change_keyboard_mapping_checked [LSB]
xcb_change_pointer_control [LSB]xcb_change_pointer_control_checked [LSB]xcb_change_property [LSB]xcb_change_property_checked [LSB]
xcb_change_save_set [LSB]xcb_change_save_set_checked [LSB]xcb_change_window_attributes [LSB]xcb_change_window_attributes_checked [LSB]
xcb_char2b_end [LSB]xcb_char2b_next [LSB]xcb_charinfo_end [LSB]xcb_charinfo_next [LSB]
xcb_circulate_window [LSB]xcb_circulate_window_checked [LSB]xcb_clear_area [LSB]xcb_clear_area_checked [LSB]
xcb_client_message_data_end [LSB]xcb_client_message_data_next [LSB]xcb_close_font [LSB]xcb_close_font_checked [LSB]
xcb_coloritem_end [LSB]xcb_coloritem_next [LSB]xcb_colormap_end [LSB]xcb_colormap_next [LSB]
xcb_configure_window [LSB]xcb_configure_window_checked [LSB]xcb_connect [Libxcb 1.7]xcb_connect_to_display_with_auth_info [Libxcb 1.7]
xcb_connect_to_fd [Libxcb 1.7]xcb_connection_has_error [Libxcb 1.7]xcb_convert_selection [LSB]xcb_convert_selection_checked [LSB]
xcb_copy_area [LSB]xcb_copy_area_checked [LSB]xcb_copy_colormap_and_free [LSB]xcb_copy_colormap_and_free_checked [LSB]
xcb_copy_gc [LSB]xcb_copy_gc_checked [LSB]xcb_copy_plane [LSB]xcb_copy_plane_checked [LSB]
xcb_create_colormap [LSB]xcb_create_colormap_checked [LSB]xcb_create_cursor [LSB]xcb_create_cursor_checked [LSB]
xcb_create_gc [LSB]xcb_create_gc_checked [LSB]xcb_create_glyph_cursor [LSB]xcb_create_glyph_cursor_checked [LSB]
xcb_create_pixmap [LSB]xcb_create_pixmap_checked [LSB]xcb_create_window [LSB]xcb_create_window_checked [LSB]
xcb_cursor_end [LSB]xcb_cursor_next [LSB]xcb_delete_property [LSB]xcb_delete_property_checked [LSB]
xcb_depth_end [LSB]xcb_depth_next [LSB]xcb_depth_visuals [LSB]xcb_depth_visuals_iterator [LSB]
xcb_depth_visuals_length [LSB]xcb_destroy_subwindows [LSB]xcb_destroy_subwindows_checked [LSB]xcb_destroy_window [LSB]
xcb_destroy_window_checked [LSB]xcb_discard_reply [LSB]xcb_disconnect [Libxcb 1.7]xcb_drawable_end [LSB]
xcb_drawable_next [LSB]xcb_fill_poly [LSB]xcb_fill_poly_checked [LSB]xcb_flush [Libxcb 1.7]
xcb_font_end [LSB]xcb_font_next [LSB]xcb_fontable_end [LSB]xcb_fontable_next [LSB]
xcb_fontprop_end [LSB]xcb_fontprop_next [LSB]xcb_force_screen_saver [LSB]xcb_force_screen_saver_checked [LSB]
xcb_format_end [LSB]xcb_format_next [LSB]xcb_free_colormap [LSB]xcb_free_colormap_checked [LSB]
xcb_free_colors [LSB]xcb_free_colors_checked [LSB]xcb_free_cursor [LSB]xcb_free_cursor_checked [LSB]
xcb_free_gc [LSB]xcb_free_gc_checked [LSB]xcb_free_pixmap [LSB]xcb_free_pixmap_checked [LSB]
xcb_gcontext_end [LSB]xcb_gcontext_next [LSB]xcb_generate_id [Libxcb 1.7]xcb_get_atom_name [LSB]
xcb_get_atom_name_name [LSB]xcb_get_atom_name_name_end [LSB]xcb_get_atom_name_name_length [LSB]xcb_get_atom_name_reply [LSB]
xcb_get_atom_name_unchecked [LSB]xcb_get_extension_data [Libxcb 1.7]xcb_get_file_descriptor [Libxcb 1.7]xcb_get_font_path [LSB]
xcb_get_font_path_path_iterator [LSB]xcb_get_font_path_path_length [LSB]xcb_get_font_path_reply [LSB]xcb_get_font_path_unchecked [LSB]
xcb_get_geometry [LSB]xcb_get_geometry_reply [LSB]xcb_get_geometry_unchecked [LSB]xcb_get_image [LSB]
xcb_get_image_data [LSB]xcb_get_image_data_end [LSB]xcb_get_image_data_length [LSB]xcb_get_image_reply [LSB]
xcb_get_image_unchecked [LSB]xcb_get_input_focus [LSB]xcb_get_input_focus_reply [LSB]xcb_get_input_focus_unchecked [LSB]
xcb_get_keyboard_control [LSB]xcb_get_keyboard_control_reply [LSB]xcb_get_keyboard_control_unchecked [LSB]xcb_get_keyboard_mapping [LSB]
xcb_get_keyboard_mapping_keysyms [LSB]xcb_get_keyboard_mapping_keysyms_end [LSB]xcb_get_keyboard_mapping_keysyms_length [LSB]xcb_get_keyboard_mapping_reply [LSB]
xcb_get_keyboard_mapping_unchecked [LSB]xcb_get_maximum_request_length [Libxcb 1.7]xcb_get_modifier_mapping [LSB]xcb_get_modifier_mapping_keycodes [LSB]
xcb_get_modifier_mapping_keycodes_end [LSB]xcb_get_modifier_mapping_keycodes_length [LSB]xcb_get_modifier_mapping_reply [LSB]xcb_get_modifier_mapping_unchecked [LSB]
xcb_get_motion_events [LSB]xcb_get_motion_events_events [LSB]xcb_get_motion_events_events_iterator [LSB]xcb_get_motion_events_events_length [LSB]
xcb_get_motion_events_reply [LSB]xcb_get_motion_events_unchecked [LSB]xcb_get_pointer_control [LSB]xcb_get_pointer_control_reply [LSB]
xcb_get_pointer_control_unchecked [LSB]xcb_get_pointer_mapping [LSB]xcb_get_pointer_mapping_map [LSB]xcb_get_pointer_mapping_map_end [LSB]
xcb_get_pointer_mapping_map_length [LSB]xcb_get_pointer_mapping_reply [LSB]xcb_get_pointer_mapping_unchecked [LSB]xcb_get_property [LSB]
xcb_get_property_reply [LSB]xcb_get_property_unchecked [LSB]xcb_get_property_value [LSB]xcb_get_property_value_end [LSB]
xcb_get_property_value_length [LSB]xcb_get_screen_saver [LSB]xcb_get_screen_saver_reply [LSB]xcb_get_screen_saver_unchecked [LSB]
xcb_get_selection_owner [LSB]xcb_get_selection_owner_reply [LSB]xcb_get_selection_owner_unchecked [LSB]xcb_get_setup [Libxcb 1.7]
xcb_get_window_attributes [LSB]xcb_get_window_attributes_reply [LSB]xcb_get_window_attributes_unchecked [LSB]xcb_grab_button [LSB]
xcb_grab_button_checked [LSB]xcb_grab_key [LSB]xcb_grab_key_checked [LSB]xcb_grab_keyboard [LSB]
xcb_grab_keyboard_reply [LSB]xcb_grab_keyboard_unchecked [LSB]xcb_grab_pointer [LSB]xcb_grab_pointer_reply [LSB]
xcb_grab_pointer_unchecked [LSB]xcb_grab_server [LSB]xcb_grab_server_checked [LSB]xcb_host_address [LSB]
xcb_host_address_end [LSB]xcb_host_address_length [LSB]xcb_host_end [LSB]xcb_host_next [LSB]
xcb_image_text_16 [LSB]xcb_image_text_16_checked [LSB]xcb_image_text_8 [LSB]xcb_image_text_8_checked [LSB]
xcb_install_colormap [LSB]xcb_install_colormap_checked [LSB]xcb_intern_atom [LSB]xcb_intern_atom_reply [LSB]
xcb_intern_atom_unchecked [LSB]xcb_keycode_end [LSB]xcb_keycode_next [LSB]xcb_keysym_end [LSB]
xcb_keysym_next [LSB]xcb_kill_client [LSB]xcb_kill_client_checked [LSB]xcb_list_extensions [LSB]
xcb_list_extensions_names_iterator [LSB]xcb_list_extensions_names_length [LSB]xcb_list_extensions_reply [LSB]xcb_list_extensions_unchecked [LSB]
xcb_list_fonts [LSB]xcb_list_fonts_names_iterator [LSB]xcb_list_fonts_names_length [LSB]xcb_list_fonts_reply [LSB]
xcb_list_fonts_unchecked [LSB]xcb_list_fonts_with_info [LSB]xcb_list_fonts_with_info_name [LSB]xcb_list_fonts_with_info_name_end [LSB]
xcb_list_fonts_with_info_name_length [LSB]xcb_list_fonts_with_info_properties [LSB]xcb_list_fonts_with_info_properties_iterator [LSB]xcb_list_fonts_with_info_properties_length [LSB]
xcb_list_fonts_with_info_reply [LSB]xcb_list_fonts_with_info_unchecked [LSB]xcb_list_hosts [LSB]xcb_list_hosts_hosts_iterator [LSB]
xcb_list_hosts_hosts_length [LSB]xcb_list_hosts_reply [LSB]xcb_list_hosts_unchecked [LSB]xcb_list_installed_colormaps [LSB]
xcb_list_installed_colormaps_cmaps [LSB]xcb_list_installed_colormaps_cmaps_end [LSB]xcb_list_installed_colormaps_cmaps_length [LSB]xcb_list_installed_colormaps_reply [LSB]
xcb_list_installed_colormaps_unchecked [LSB]xcb_list_properties [LSB]xcb_list_properties_atoms [LSB]xcb_list_properties_atoms_end [LSB]
xcb_list_properties_atoms_length [LSB]xcb_list_properties_reply [LSB]xcb_list_properties_unchecked [LSB]xcb_lookup_color [LSB]
xcb_lookup_color_reply [LSB]xcb_lookup_color_unchecked [LSB]xcb_map_subwindows [LSB]xcb_map_subwindows_checked [LSB]
xcb_map_window [LSB]xcb_map_window_checked [LSB]xcb_no_operation [LSB]xcb_no_operation_checked [LSB]
xcb_open_font [LSB]xcb_open_font_checked [LSB]xcb_parse_display [Libxcb 1.7]xcb_pixmap_end [LSB]
xcb_pixmap_next [LSB]xcb_point_end [LSB]xcb_point_next [LSB]xcb_poll_for_event [Libxcb 1.7]
xcb_poll_for_reply [Libxcb 1.7]xcb_poly_arc [LSB]xcb_poly_arc_checked [LSB]xcb_poly_fill_arc [LSB]
xcb_poly_fill_arc_checked [LSB]xcb_poly_fill_rectangle [LSB]xcb_poly_fill_rectangle_checked [LSB]xcb_poly_line [LSB]
xcb_poly_line_checked [LSB]xcb_poly_point [LSB]xcb_poly_point_checked [LSB]xcb_poly_rectangle [LSB]
xcb_poly_rectangle_checked [LSB]xcb_poly_segment [LSB]xcb_poly_segment_checked [LSB]xcb_poly_text_16 [LSB]
xcb_poly_text_16_checked [LSB]xcb_poly_text_8 [LSB]xcb_poly_text_8_checked [LSB]xcb_popcount [Libxcb 1.7]
xcb_prefetch_extension_data [Libxcb 1.7]xcb_prefetch_maximum_request_length [LSB]xcb_put_image [LSB]xcb_put_image_checked [LSB]
xcb_query_best_size [LSB]xcb_query_best_size_reply [LSB]xcb_query_best_size_unchecked [LSB]xcb_query_colors [LSB]
xcb_query_colors_colors [LSB]xcb_query_colors_colors_iterator [LSB]xcb_query_colors_colors_length [LSB]xcb_query_colors_reply [LSB]
xcb_query_colors_unchecked [LSB]xcb_query_extension [LSB]xcb_query_extension_reply [LSB]xcb_query_extension_unchecked [LSB]
xcb_query_font [LSB]xcb_query_font_char_infos [LSB]xcb_query_font_char_infos_iterator [LSB]xcb_query_font_char_infos_length [LSB]
xcb_query_font_properties [LSB]xcb_query_font_properties_iterator [LSB]xcb_query_font_properties_length [LSB]xcb_query_font_reply [LSB]
xcb_query_font_unchecked [LSB]xcb_query_keymap [LSB]xcb_query_keymap_reply [LSB]xcb_query_keymap_unchecked [LSB]
xcb_query_pointer [LSB]xcb_query_pointer_reply [LSB]xcb_query_pointer_unchecked [LSB]xcb_query_text_extents [LSB]
xcb_query_text_extents_reply [LSB]xcb_query_text_extents_unchecked [LSB]xcb_query_tree [LSB]xcb_query_tree_children [LSB]
xcb_query_tree_children_end [LSB]xcb_query_tree_children_length [LSB]xcb_query_tree_reply [LSB]xcb_query_tree_unchecked [LSB]
xcb_recolor_cursor [LSB]xcb_recolor_cursor_checked [LSB]xcb_rectangle_end [LSB]xcb_rectangle_next [LSB]
xcb_reparent_window [LSB]xcb_reparent_window_checked [LSB]xcb_request_check [Libxcb 1.7]xcb_rgb_end [LSB]
xcb_rgb_next [LSB]xcb_rotate_properties [LSB]xcb_rotate_properties_checked [LSB]xcb_screen_allowed_depths_iterator [LSB]
xcb_screen_allowed_depths_length [LSB]xcb_screen_end [LSB]xcb_screen_next [LSB]xcb_segment_end [LSB]
xcb_segment_next [LSB]xcb_send_event [LSB]xcb_send_event_checked [LSB]xcb_send_request [Libxcb 1.7]
xcb_set_access_control [LSB]xcb_set_access_control_checked [LSB]xcb_set_clip_rectangles [LSB]xcb_set_clip_rectangles_checked [LSB]
xcb_set_close_down_mode [LSB]xcb_set_close_down_mode_checked [LSB]xcb_set_dashes [LSB]xcb_set_dashes_checked [LSB]
xcb_set_font_path [LSB]xcb_set_font_path_checked [LSB]xcb_set_input_focus [LSB]xcb_set_input_focus_checked [LSB]
xcb_set_modifier_mapping [LSB]xcb_set_modifier_mapping_reply [LSB]xcb_set_modifier_mapping_unchecked [LSB]xcb_set_pointer_mapping [LSB]
xcb_set_pointer_mapping_reply [LSB]xcb_set_pointer_mapping_unchecked [LSB]xcb_set_screen_saver [LSB]xcb_set_screen_saver_checked [LSB]
xcb_set_selection_owner [LSB]xcb_set_selection_owner_checked [LSB]xcb_setup_authenticate_end [LSB]xcb_setup_authenticate_next [LSB]
xcb_setup_authenticate_reason [LSB]xcb_setup_authenticate_reason_end [LSB]xcb_setup_authenticate_reason_length [LSB]xcb_setup_end [LSB]
xcb_setup_failed_end [LSB]xcb_setup_failed_next [LSB]xcb_setup_failed_reason [LSB]xcb_setup_failed_reason_end [LSB]
xcb_setup_failed_reason_length [LSB]xcb_setup_next [LSB]xcb_setup_pixmap_formats [LSB]xcb_setup_pixmap_formats_iterator [LSB]
xcb_setup_pixmap_formats_length [LSB]xcb_setup_request_authorization_protocol_data [LSB]xcb_setup_request_authorization_protocol_data_end [LSB]xcb_setup_request_authorization_protocol_data_length [LSB]
xcb_setup_request_authorization_protocol_name [LSB]xcb_setup_request_authorization_protocol_name_end [LSB]xcb_setup_request_authorization_protocol_name_length [LSB]xcb_setup_request_end [LSB]
xcb_setup_request_next [LSB]xcb_setup_roots_iterator [LSB]xcb_setup_roots_length [LSB]xcb_setup_vendor [LSB]
xcb_setup_vendor_end [LSB]xcb_setup_vendor_length [LSB]xcb_store_colors [LSB]xcb_store_colors_checked [LSB]
xcb_store_named_color [LSB]xcb_store_named_color_checked [LSB]xcb_str_end [LSB]xcb_str_name [LSB]
xcb_str_name_end [LSB]xcb_str_name_length [LSB]xcb_str_next [LSB]xcb_take_socket [LSB]
xcb_timecoord_end [LSB]xcb_timecoord_next [LSB]xcb_timestamp_end [LSB]xcb_timestamp_next [LSB]
xcb_translate_coordinates [LSB]xcb_translate_coordinates_reply [LSB]xcb_translate_coordinates_unchecked [LSB]xcb_ungrab_button [LSB]
xcb_ungrab_button_checked [LSB]xcb_ungrab_key [LSB]xcb_ungrab_key_checked [LSB]xcb_ungrab_keyboard [LSB]
xcb_ungrab_keyboard_checked [LSB]xcb_ungrab_pointer [LSB]xcb_ungrab_pointer_checked [LSB]xcb_ungrab_server [LSB]
xcb_ungrab_server_checked [LSB]xcb_uninstall_colormap [LSB]xcb_uninstall_colormap_checked [LSB]xcb_unmap_subwindows [LSB]
xcb_unmap_subwindows_checked [LSB]xcb_unmap_window [LSB]xcb_unmap_window_checked [LSB]xcb_visualid_end [LSB]
xcb_visualid_next [LSB]xcb_visualtype_end [LSB]xcb_visualtype_next [LSB]xcb_wait_for_event [Libxcb 1.7]
xcb_wait_for_reply [Libxcb 1.7]xcb_warp_pointer [LSB]xcb_warp_pointer_checked [LSB]xcb_window_end [LSB]
xcb_window_next [LSB]xcb_writev [LSB]xcb_xc_misc_get_version [LSB]xcb_xc_misc_get_version_reply [LSB]
xcb_xc_misc_get_version_unchecked [LSB]xcb_xc_misc_get_xid_list [LSB]xcb_xc_misc_get_xid_list_ids [LSB]xcb_xc_misc_get_xid_list_ids_end [LSB]
xcb_xc_misc_get_xid_list_ids_length [LSB]xcb_xc_misc_get_xid_list_reply [LSB]xcb_xc_misc_get_xid_list_unchecked [LSB]xcb_xc_misc_get_xid_range [LSB]
xcb_xc_misc_get_xid_range_reply [LSB]xcb_xc_misc_get_xid_range_unchecked [LSB]  

An LSB conforming implementation shall provide the generic data interfaces for libxcb interfaces specified in Table 6-26, with the full mandatory functionality as described in the referenced underlying specification.

Table 6-26. libxcb - libxcb interfaces Data Interfaces

xcb_big_requests_id [LSB]xcb_xc_misc_id [LSB]  

6.20. Data Definitions for libxcb

This section defines global identifiers and their values that are associated with interfaces contained in libxcb. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


6.20.1. xcb/bigreq.h


#define XCB_BIGREQUESTS_MAJOR_VERSION	0
#define XCB_BIGREQUESTS_MINOR_VERSION	0
#define XCB_BIG_REQUESTS_ENABLE	0

typedef struct {
    unsigned int sequence;
} xcb_big_requests_enable_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t minor_opcode;
    uint16_t length;
} xcb_big_requests_enable_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t maximum_request_length;
} xcb_big_requests_enable_reply_t;
extern xcb_big_requests_enable_cookie_t
xcb_big_requests_enable(xcb_connection_t * c);
extern xcb_big_requests_enable_reply_t
    *xcb_big_requests_enable_reply(xcb_connection_t * c,
				   xcb_big_requests_enable_cookie_t cookie,
				   xcb_generic_error_t * *e);
extern xcb_big_requests_enable_cookie_t
xcb_big_requests_enable_unchecked(xcb_connection_t * c);
extern xcb_extension_t xcb_big_requests_id;

6.20.2. xcb/xc_misc.h


#define XCB_XCMISC_MAJOR_VERSION	1
#define XCB_XCMISC_MINOR_VERSION	1
#define XCB_XC_MISC_GET_VERSION	0
#define XCB_XC_MISC_GET_XID_RANGE	1
#define XCB_XC_MISC_GET_XID_LIST	2

typedef struct {
    unsigned int sequence;
} xcb_xc_misc_get_version_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t minor_opcode;
    uint16_t length;
    uint16_t client_major_version;
    uint16_t client_minor_version;
} xcb_xc_misc_get_version_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t server_major_version;
    uint16_t server_minor_version;
} xcb_xc_misc_get_version_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_xc_misc_get_xid_range_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t minor_opcode;
    uint16_t length;
} xcb_xc_misc_get_xid_range_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t start_id;
    uint32_t count;
} xcb_xc_misc_get_xid_range_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_xc_misc_get_xid_list_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t minor_opcode;
    uint16_t length;
    uint32_t count;
} xcb_xc_misc_get_xid_list_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t ids_len;
    uint8_t pad1[20];
} xcb_xc_misc_get_xid_list_reply_t;
extern xcb_xc_misc_get_version_cookie_t
xcb_xc_misc_get_version(xcb_connection_t * c,
			uint16_t client_major_version,
			uint16_t client_minor_version);
extern xcb_xc_misc_get_version_reply_t
    *xcb_xc_misc_get_version_reply(xcb_connection_t * c,
				   xcb_xc_misc_get_version_cookie_t cookie,
				   xcb_generic_error_t * *e);
extern xcb_xc_misc_get_version_cookie_t
xcb_xc_misc_get_version_unchecked(xcb_connection_t * c,
				  uint16_t client_major_version,
				  uint16_t client_minor_version);
extern xcb_xc_misc_get_xid_list_cookie_t
xcb_xc_misc_get_xid_list(xcb_connection_t * c, uint32_t count);
extern uint32_t *xcb_xc_misc_get_xid_list_ids(const
					      xcb_xc_misc_get_xid_list_reply_t
					      * R);
extern xcb_generic_iterator_t xcb_xc_misc_get_xid_list_ids_end(const
							       xcb_xc_misc_get_xid_list_reply_t
							       * R);
extern int xcb_xc_misc_get_xid_list_ids_length(const
					       xcb_xc_misc_get_xid_list_reply_t
					       * R);
extern xcb_xc_misc_get_xid_list_reply_t
    *xcb_xc_misc_get_xid_list_reply(xcb_connection_t * c,
				    xcb_xc_misc_get_xid_list_cookie_t
				    cookie, xcb_generic_error_t * *e);
extern xcb_xc_misc_get_xid_list_cookie_t
xcb_xc_misc_get_xid_list_unchecked(xcb_connection_t * c, uint32_t count);
extern xcb_xc_misc_get_xid_range_cookie_t
xcb_xc_misc_get_xid_range(xcb_connection_t * c);
extern xcb_xc_misc_get_xid_range_reply_t
    *xcb_xc_misc_get_xid_range_reply(xcb_connection_t * c,
				     xcb_xc_misc_get_xid_range_cookie_t
				     cookie, xcb_generic_error_t * *e);
extern xcb_xc_misc_get_xid_range_cookie_t
xcb_xc_misc_get_xid_range_unchecked(xcb_connection_t * c);
extern xcb_extension_t xcb_xc_misc_id;

6.20.3. xcb/xcb.h


#define X_PROTOCOL	11
#define X_PROTOCOL_REVISION	0
#define X_TCP_PORT	6000
#define XCB_TYPE_PAD(T,I)	(-(I) & (sizeof(T) > 4 ? 3 : sizeof(T) - 1))
#define XCB_NONE	0L
#define XCB_COPY_FROM_PARENT	0L
#define XCB_CURRENT_TIME	0L
#define XCB_NO_SYMBOL	0L

typedef struct xcb_connection_t xcb_connection_t;
typedef struct {
    void *data;
    int rem;
    int index;
} xcb_generic_iterator_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t pad[7];
    uint32_t full_sequence;
} xcb_generic_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t error_code;
    uint16_t sequence;
    uint32_t resource_id;
    uint16_t minor_code;
    uint8_t major_code;
    uint8_t pad0;
    uint32_t pad[5];
    uint32_t full_sequence;
} xcb_generic_error_t;
typedef struct {
    unsigned int sequence;
} xcb_void_cookie_t;
typedef struct {
    int namelen;
    char *name;
    int datalen;
    char *data;
} xcb_auth_info_t;
typedef struct xcb_extension_t xcb_extension_t;
extern xcb_connection_t *xcb_connect(const char *displayname,
				     int *screenp);
extern xcb_connection_t *xcb_connect_to_display_with_auth_info(const char
							       *display,
							       xcb_auth_info_t
							       * auth,
							       int
							       *screen);
extern xcb_connection_t *xcb_connect_to_fd(int fd,
					   xcb_auth_info_t * auth_info);
extern int xcb_connection_has_error(xcb_connection_t * c);
extern void xcb_discard_reply(xcb_connection_t * c, unsigned int sequence);
extern void xcb_disconnect(xcb_connection_t * c);
extern int xcb_flush(xcb_connection_t * c);
extern uint32_t xcb_generate_id(xcb_connection_t * c);
extern const xcb_query_extension_reply_t
    *xcb_get_extension_data(xcb_connection_t * c,
			    struct xcb_extension_t *ext);
extern int xcb_get_file_descriptor(xcb_connection_t * c);
extern uint32_t xcb_get_maximum_request_length(xcb_connection_t * c);
extern const xcb_setup_t *xcb_get_setup(xcb_connection_t * c);
extern int xcb_parse_display(const char *name, char **host, int *display,
			     int *screen);
extern xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t * c);
extern void xcb_prefetch_extension_data(xcb_connection_t * c,
					struct xcb_extension_t *ext);
extern void xcb_prefetch_maximum_request_length(xcb_connection_t * c);
extern xcb_generic_error_t *xcb_request_check(xcb_connection_t * c,
					      xcb_void_cookie_t cookie);
extern xcb_generic_event_t *xcb_wait_for_event(xcb_connection_t * c);

6.20.4. xcb/xcbext.h


struct xcb_extension_t {
    const char *name;
    int global_id;
};
typedef struct {
    size_t count;
    struct xcb_extension_t *ext;
    uint8_t opcode;
    uint8_t isvoid;
} xcb_protocol_request_t;
enum xcb_send_request_flags_t {
    XCB_REQUEST_CHECKED = 1 << 0,
    XCB_REQUEST_RAW = 1 << 1,
    XCB_REQUEST_DISCARD_REPLY = 1 << 2
};
extern int xcb_poll_for_reply(xcb_connection_t * c, unsigned int request,
			      void **reply, xcb_generic_error_t * *error);
extern int xcb_popcount(uint32_t mask);
extern unsigned int xcb_send_request(xcb_connection_t * c, int flags,
				     struct iovec *vector,
				     const xcb_protocol_request_t *
				     request);
extern int xcb_take_socket(xcb_connection_t * c,
			   void (*return_socket) (void *), void *closure,
			   int flags, uint64_t * sent);
extern void *xcb_wait_for_reply(xcb_connection_t * c, unsigned int request,
				xcb_generic_error_t * *e);
extern int xcb_writev(xcb_connection_t * c, struct iovec *vector,
		      int count, uint64_t requests);

6.20.5. xcb/xproto.h


#define XCB_KEY_PRESS	2
#define XCB_KEY_RELEASE	3
#define XCB_BUTTON_PRESS	4
#define XCB_BUTTON_RELEASE	5
#define XCB_MOTION_NOTIFY	6
#define XCB_ENTER_NOTIFY	7
#define XCB_LEAVE_NOTIFY	8
#define XCB_FOCUS_IN	9
#define XCB_FOCUS_OUT	10
#define XCB_KEYMAP_NOTIFY	11
#define XCB_EXPOSE	12
#define XCB_GRAPHICS_EXPOSURE	13
#define XCB_NO_EXPOSURE	14
#define XCB_VISIBILITY_NOTIFY	15
#define XCB_CREATE_NOTIFY	16
#define XCB_DESTROY_NOTIFY	17
#define XCB_UNMAP_NOTIFY	18
#define XCB_MAP_NOTIFY	19
#define XCB_MAP_REQUEST	20
#define XCB_REPARENT_NOTIFY	21
#define XCB_CONFIGURE_NOTIFY	22
#define XCB_CONFIGURE_REQUEST	23
#define XCB_GRAVITY_NOTIFY	24
#define XCB_RESIZE_REQUEST	25
#define XCB_CIRCULATE_NOTIFY	26
#define XCB_CIRCULATE_REQUEST	27
#define XCB_PROPERTY_NOTIFY	28
#define XCB_SELECTION_CLEAR	29
#define XCB_SELECTION_REQUEST	30
#define XCB_SELECTION_NOTIFY	31
#define XCB_COLORMAP_NOTIFY	32
#define XCB_CLIENT_MESSAGE	33
#define XCB_MAPPING_NOTIFY	34
#define XCB_REQUEST	1
#define XCB_VALUE	2
#define XCB_WINDOW	3
#define XCB_PIXMAP	4
#define XCB_ATOM	5
#define XCB_CURSOR	6
#define XCB_FONT	7
#define XCB_MATCH	8
#define XCB_DRAWABLE	9
#define XCB_ACCESS	10
#define XCB_ALLOC	11
#define XCB_COLORMAP	12
#define XCB_G_CONTEXT	13
#define XCB_ID_CHOICE	14
#define XCB_NAME	15
#define XCB_LENGTH	16
#define XCB_IMPLEMENTATION	17
#define XCB_CREATE_WINDOW	1
#define XCB_CHANGE_WINDOW_ATTRIBUTES	2
#define XCB_GET_WINDOW_ATTRIBUTES	3
#define XCB_DESTROY_WINDOW	4
#define XCB_DESTROY_SUBWINDOWS	5
#define XCB_CHANGE_SAVE_SET	6
#define XCB_REPARENT_WINDOW	7
#define XCB_MAP_WINDOW	8
#define XCB_MAP_SUBWINDOWS	9
#define XCB_UNMAP_WINDOW	10
#define XCB_UNMAP_SUBWINDOWS	11
#define XCB_CONFIGURE_WINDOW	12
#define XCB_CIRCULATE_WINDOW	13
#define XCB_GET_GEOMETRY	14
#define XCB_QUERY_TREE	15
#define XCB_INTERN_ATOM	16
#define XCB_GET_ATOM_NAME	17
#define XCB_CHANGE_PROPERTY	18
#define XCB_DELETE_PROPERTY	19
#define XCB_GET_PROPERTY	20
#define XCB_LIST_PROPERTIES	21
#define XCB_SET_SELECTION_OWNER	22
#define XCB_GET_SELECTION_OWNER	23
#define XCB_CONVERT_SELECTION	24
#define XCB_SEND_EVENT	25
#define XCB_GRAB_POINTER	26
#define XCB_UNGRAB_POINTER	27
#define XCB_GRAB_BUTTON	28
#define XCB_UNGRAB_BUTTON	29
#define XCB_CHANGE_ACTIVE_POINTER_GRAB	30
#define XCB_GRAB_KEYBOARD	31
#define XCB_UNGRAB_KEYBOARD	32
#define XCB_GRAB_KEY	33
#define XCB_UNGRAB_KEY	34
#define XCB_ALLOW_EVENTS	35
#define XCB_GRAB_SERVER	36
#define XCB_UNGRAB_SERVER	37
#define XCB_QUERY_POINTER	38
#define XCB_GET_MOTION_EVENTS	39
#define XCB_TRANSLATE_COORDINATES	40
#define XCB_WARP_POINTER	41
#define XCB_SET_INPUT_FOCUS	42
#define XCB_GET_INPUT_FOCUS	43
#define XCB_QUERY_KEYMAP	44
#define XCB_OPEN_FONT	45
#define XCB_CLOSE_FONT	46
#define XCB_QUERY_FONT	47
#define XCB_QUERY_TEXT_EXTENTS	48
#define XCB_LIST_FONTS	49
#define XCB_LIST_FONTS_WITH_INFO	50
#define XCB_SET_FONT_PATH	51
#define XCB_GET_FONT_PATH	52
#define XCB_CREATE_PIXMAP	53
#define XCB_FREE_PIXMAP	54
#define XCB_CREATE_GC	55
#define XCB_CHANGE_GC	56
#define XCB_COPY_GC	57
#define XCB_SET_DASHES	58
#define XCB_SET_CLIP_RECTANGLES	59
#define XCB_FREE_GC	60
#define XCB_CLEAR_AREA	61
#define XCB_COPY_AREA	62
#define XCB_COPY_PLANE	63
#define XCB_POLY_POINT	64
#define XCB_POLY_LINE	65
#define XCB_POLY_SEGMENT	66
#define XCB_POLY_RECTANGLE	67
#define XCB_POLY_ARC	68
#define XCB_FILL_POLY	69
#define XCB_POLY_FILL_RECTANGLE	70
#define XCB_POLY_FILL_ARC	71
#define XCB_PUT_IMAGE	72
#define XCB_GET_IMAGE	73
#define XCB_POLY_TEXT_8	74
#define XCB_POLY_TEXT_16	75
#define XCB_IMAGE_TEXT_8	76
#define XCB_IMAGE_TEXT_16	77
#define XCB_CREATE_COLORMAP	78
#define XCB_FREE_COLORMAP	79
#define XCB_COPY_COLORMAP_AND_FREE	80
#define XCB_INSTALL_COLORMAP	81
#define XCB_UNINSTALL_COLORMAP	82
#define XCB_LIST_INSTALLED_COLORMAPS	83
#define XCB_ALLOC_COLOR	84
#define XCB_ALLOC_NAMED_COLOR	85
#define XCB_ALLOC_COLOR_CELLS	86
#define XCB_ALLOC_COLOR_PLANES	87
#define XCB_FREE_COLORS	88
#define XCB_STORE_COLORS	89
#define XCB_STORE_NAMED_COLOR	90
#define XCB_QUERY_COLORS	91
#define XCB_LOOKUP_COLOR	92
#define XCB_CREATE_CURSOR	93
#define XCB_CREATE_GLYPH_CURSOR	94
#define XCB_FREE_CURSOR	95
#define XCB_RECOLOR_CURSOR	96
#define XCB_QUERY_BEST_SIZE	97
#define XCB_QUERY_EXTENSION	98
#define XCB_LIST_EXTENSIONS	99
#define XCB_CHANGE_KEYBOARD_MAPPING	100
#define XCB_GET_KEYBOARD_MAPPING	101
#define XCB_CHANGE_KEYBOARD_CONTROL	102
#define XCB_GET_KEYBOARD_CONTROL	103
#define XCB_BELL	104
#define XCB_CHANGE_POINTER_CONTROL	105
#define XCB_GET_POINTER_CONTROL	106
#define XCB_SET_SCREEN_SAVER	107
#define XCB_GET_SCREEN_SAVER	108
#define XCB_CHANGE_HOSTS	109
#define XCB_LIST_HOSTS	110
#define XCB_SET_ACCESS_CONTROL	111
#define XCB_SET_CLOSE_DOWN_MODE	112
#define XCB_KILL_CLIENT	113
#define XCB_ROTATE_PROPERTIES	114
#define XCB_FORCE_SCREEN_SAVER	115
#define XCB_SET_POINTER_MAPPING	116
#define XCB_GET_POINTER_MAPPING	117
#define XCB_SET_MODIFIER_MAPPING	118
#define XCB_GET_MODIFIER_MAPPING	119
#define XCB_NO_OPERATION	127

typedef struct {
    uint8_t byte1;
    uint8_t byte2;
} xcb_char2b_t;
typedef struct {
    xcb_char2b_t *data;
    int rem;
    int index;
} xcb_char2b_iterator_t;
typedef uint32_t xcb_window_t;
typedef struct {
    xcb_window_t *data;
    int rem;
    int index;
} xcb_window_iterator_t;
typedef uint32_t xcb_pixmap_t;
typedef struct {
    xcb_pixmap_t *data;
    int rem;
    int index;
} xcb_pixmap_iterator_t;
typedef uint32_t xcb_cursor_t;
typedef struct {
    xcb_cursor_t *data;
    int rem;
    int index;
} xcb_cursor_iterator_t;
typedef uint32_t xcb_font_t;
typedef struct {
    xcb_font_t *data;
    int rem;
    int index;
} xcb_font_iterator_t;
typedef uint32_t xcb_gcontext_t;
typedef struct {
    xcb_gcontext_t *data;
    int rem;
    int index;
} xcb_gcontext_iterator_t;
typedef uint32_t xcb_colormap_t;
typedef struct {
    xcb_colormap_t *data;
    int rem;
    int index;
} xcb_colormap_iterator_t;
typedef uint32_t xcb_atom_t;
typedef struct {
    xcb_atom_t *data;
    int rem;
    int index;
} xcb_atom_iterator_t;
typedef uint32_t xcb_drawable_t;
typedef struct {
    xcb_drawable_t *data;
    int rem;
    int index;
} xcb_drawable_iterator_t;
typedef uint32_t xcb_fontable_t;
typedef struct {
    xcb_fontable_t *data;
    int rem;
    int index;
} xcb_fontable_iterator_t;
typedef uint32_t xcb_visualid_t;
typedef struct {
    xcb_visualid_t *data;
    int rem;
    int index;
} xcb_visualid_iterator_t;
typedef uint32_t xcb_timestamp_t;
typedef struct {
    xcb_timestamp_t *data;
    int rem;
    int index;
} xcb_timestamp_iterator_t;
typedef uint32_t xcb_keysym_t;
typedef struct {
    xcb_keysym_t *data;
    int rem;
    int index;
} xcb_keysym_iterator_t;
typedef uint8_t xcb_keycode_t;
typedef struct {
    xcb_keycode_t *data;
    int rem;
    int index;
} xcb_keycode_iterator_t;
typedef uint8_t xcb_button_t;
typedef struct {
    xcb_button_t *data;
    int rem;
    int index;
} xcb_button_iterator_t;
typedef struct {
    int16_t x;
    int16_t y;
} xcb_point_t;
typedef struct {
    xcb_point_t *data;
    int rem;
    int index;
} xcb_point_iterator_t;
typedef struct {
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
} xcb_rectangle_t;
typedef struct {
    xcb_rectangle_t *data;
    int rem;
    int index;
} xcb_rectangle_iterator_t;
typedef struct {
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
    int16_t angle1;
    int16_t angle2;
} xcb_arc_t;
typedef struct {
    xcb_arc_t *data;
    int rem;
    int index;
} xcb_arc_iterator_t;
typedef struct {
    uint8_t depth;
    uint8_t bits_per_pixel;
    uint8_t scanline_pad;
    uint8_t pad0[5];
} xcb_format_t;
typedef struct {
    xcb_format_t *data;
    int rem;
    int index;
} xcb_format_iterator_t;
typedef enum xcb_visual_class_t {
    XCB_VISUAL_CLASS_STATIC_GRAY = 0,
    XCB_VISUAL_CLASS_GRAY_SCALE = 1,
    XCB_VISUAL_CLASS_STATIC_COLOR = 2,
    XCB_VISUAL_CLASS_PSEUDO_COLOR = 3,
    XCB_VISUAL_CLASS_TRUE_COLOR = 4,
    XCB_VISUAL_CLASS_DIRECT_COLOR = 5
} xcb_visual_class_t;
typedef struct {
    xcb_visualid_t visual_id;
    uint8_t _class;
    uint8_t bits_per_rgb_value;
    uint16_t colormap_entries;
    uint32_t red_mask;
    uint32_t green_mask;
    uint32_t blue_mask;
    uint8_t pad0[4];
} xcb_visualtype_t;
typedef struct {
    xcb_visualtype_t *data;
    int rem;
    int index;
} xcb_visualtype_iterator_t;
typedef struct {
    uint8_t depth;
    uint8_t pad0;
    uint16_t visuals_len;
    uint8_t pad1[4];
} xcb_depth_t;
typedef struct {
    xcb_depth_t *data;
    int rem;
    int index;
} xcb_depth_iterator_t;
typedef enum xcb_event_mask_t {
    XCB_EVENT_MASK_NO_EVENT = 0,
    XCB_EVENT_MASK_KEY_PRESS = 1,
    XCB_EVENT_MASK_KEY_RELEASE = 2,
    XCB_EVENT_MASK_BUTTON_PRESS = 4,
    XCB_EVENT_MASK_BUTTON_RELEASE = 8,
    XCB_EVENT_MASK_ENTER_WINDOW = 16,
    XCB_EVENT_MASK_LEAVE_WINDOW = 32,
    XCB_EVENT_MASK_POINTER_MOTION = 64,
    XCB_EVENT_MASK_POINTER_MOTION_HINT = 128,
    XCB_EVENT_MASK_BUTTON_1_MOTION = 256,
    XCB_EVENT_MASK_BUTTON_2_MOTION = 512,
    XCB_EVENT_MASK_BUTTON_3_MOTION = 1024,
    XCB_EVENT_MASK_BUTTON_4_MOTION = 2048,
    XCB_EVENT_MASK_BUTTON_5_MOTION = 4096,
    XCB_EVENT_MASK_BUTTON_MOTION = 8192,
    XCB_EVENT_MASK_KEYMAP_STATE = 16384,
    XCB_EVENT_MASK_EXPOSURE = 32768,
    XCB_EVENT_MASK_VISIBILITY_CHANGE = 65536,
    XCB_EVENT_MASK_STRUCTURE_NOTIFY = 131072,
    XCB_EVENT_MASK_RESIZE_REDIRECT = 262144,
    XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY = 524288,
    XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT = 1048576,
    XCB_EVENT_MASK_FOCUS_CHANGE = 2097152,
    XCB_EVENT_MASK_PROPERTY_CHANGE = 4194304,
    XCB_EVENT_MASK_COLOR_MAP_CHANGE = 8388608,
    XCB_EVENT_MASK_OWNER_GRAB_BUTTON = 16777216
} xcb_event_mask_t;
typedef enum xcb_backing_store_t {
    XCB_BACKING_STORE_NOT_USEFUL = 0,
    XCB_BACKING_STORE_WHEN_MAPPED = 1,
    XCB_BACKING_STORE_ALWAYS = 2
} xcb_backing_store_t;
typedef struct {
    xcb_window_t root;
    xcb_colormap_t default_colormap;
    uint32_t white_pixel;
    uint32_t black_pixel;
    uint32_t current_input_masks;
    uint16_t width_in_pixels;
    uint16_t height_in_pixels;
    uint16_t width_in_millimeters;
    uint16_t height_in_millimeters;
    uint16_t min_installed_maps;
    uint16_t max_installed_maps;
    xcb_visualid_t root_visual;
    uint8_t backing_stores;
    uint8_t save_unders;
    uint8_t root_depth;
    uint8_t allowed_depths_len;
} xcb_screen_t;
typedef struct {
    xcb_screen_t *data;
    int rem;
    int index;
} xcb_screen_iterator_t;
typedef struct {
    uint8_t byte_order;
    uint8_t pad0;
    uint16_t protocol_major_version;
    uint16_t protocol_minor_version;
    uint16_t authorization_protocol_name_len;
    uint16_t authorization_protocol_data_len;
    uint8_t pad1[2];
} xcb_setup_request_t;
typedef struct {
    xcb_setup_request_t *data;
    int rem;
    int index;
} xcb_setup_request_iterator_t;
typedef struct {
    uint8_t status;
    uint8_t reason_len;
    uint16_t protocol_major_version;
    uint16_t protocol_minor_version;
    uint16_t length;
} xcb_setup_failed_t;
typedef struct {
    xcb_setup_failed_t *data;
    int rem;
    int index;
} xcb_setup_failed_iterator_t;
typedef struct {
    uint8_t status;
    uint8_t pad0[5];
    uint16_t length;
} xcb_setup_authenticate_t;
typedef struct {
    xcb_setup_authenticate_t *data;
    int rem;
    int index;
} xcb_setup_authenticate_iterator_t;
typedef enum xcb_image_order_t {
    XCB_IMAGE_ORDER_LSB_FIRST = 0,
    XCB_IMAGE_ORDER_MSB_FIRST = 1
} xcb_image_order_t;
typedef struct {
    uint8_t status;
    uint8_t pad0;
    uint16_t protocol_major_version;
    uint16_t protocol_minor_version;
    uint16_t length;
    uint32_t release_number;
    uint32_t resource_id_base;
    uint32_t resource_id_mask;
    uint32_t motion_buffer_size;
    uint16_t vendor_len;
    uint16_t maximum_request_length;
    uint8_t roots_len;
    uint8_t pixmap_formats_len;
    uint8_t image_byte_order;
    uint8_t bitmap_format_bit_order;
    uint8_t bitmap_format_scanline_unit;
    uint8_t bitmap_format_scanline_pad;
    xcb_keycode_t min_keycode;
    xcb_keycode_t max_keycode;
    uint8_t pad1[4];
} xcb_setup_t;
typedef struct {
    xcb_setup_t *data;
    int rem;
    int index;
} xcb_setup_iterator_t;
typedef enum xcb_mod_mask_t {
    XCB_MOD_MASK_SHIFT = 1,
    XCB_MOD_MASK_LOCK = 2,
    XCB_MOD_MASK_CONTROL = 4,
    XCB_MOD_MASK_1 = 8,
    XCB_MOD_MASK_2 = 16,
    XCB_MOD_MASK_3 = 32,
    XCB_MOD_MASK_4 = 64,
    XCB_MOD_MASK_5 = 128,
    XCB_MOD_MASK_ANY = 32768
} xcb_mod_mask_t;
typedef enum xcb_key_but_mask_t {
    XCB_KEY_BUT_MASK_SHIFT = 1,
    XCB_KEY_BUT_MASK_LOCK = 2,
    XCB_KEY_BUT_MASK_CONTROL = 4,
    XCB_KEY_BUT_MASK_MOD_1 = 8,
    XCB_KEY_BUT_MASK_MOD_2 = 16,
    XCB_KEY_BUT_MASK_MOD_3 = 32,
    XCB_KEY_BUT_MASK_MOD_4 = 64,
    XCB_KEY_BUT_MASK_MOD_5 = 128,
    XCB_KEY_BUT_MASK_BUTTON_1 = 256,
    XCB_KEY_BUT_MASK_BUTTON_2 = 512,
    XCB_KEY_BUT_MASK_BUTTON_3 = 1024,
    XCB_KEY_BUT_MASK_BUTTON_4 = 2048,
    XCB_KEY_BUT_MASK_BUTTON_5 = 4096
} xcb_key_but_mask_t;
typedef enum xcb_window_enum_t {
    XCB_WINDOW_NONE = 0
} xcb_window_enum_t;
typedef struct {
    uint8_t response_type;
    xcb_keycode_t detail;
    uint16_t sequence;
    xcb_timestamp_t time;
    xcb_window_t root;
    xcb_window_t event;
    xcb_window_t child;
    int16_t root_x;
    int16_t root_y;
    int16_t event_x;
    int16_t event_y;
    uint16_t state;
    uint8_t same_screen;
    uint8_t pad0;
} xcb_key_press_event_t;
typedef xcb_key_press_event_t xcb_key_release_event_t;
typedef enum xcb_button_mask_t {
    XCB_BUTTON_MASK_1 = 256,
    XCB_BUTTON_MASK_2 = 512,
    XCB_BUTTON_MASK_3 = 1024,
    XCB_BUTTON_MASK_4 = 2048,
    XCB_BUTTON_MASK_5 = 4096,
    XCB_BUTTON_MASK_ANY = 32768
} xcb_button_mask_t;
typedef struct {
    uint8_t response_type;
    xcb_button_t detail;
    uint16_t sequence;
    xcb_timestamp_t time;
    xcb_window_t root;
    xcb_window_t event;
    xcb_window_t child;
    int16_t root_x;
    int16_t root_y;
    int16_t event_x;
    int16_t event_y;
    uint16_t state;
    uint8_t same_screen;
    uint8_t pad0;
} xcb_button_press_event_t;
typedef xcb_button_press_event_t xcb_button_release_event_t;
typedef enum xcb_motion_t {
    XCB_MOTION_NORMAL = 0,
    XCB_MOTION_HINT = 1
} xcb_motion_t;
typedef struct {
    uint8_t response_type;
    uint8_t detail;
    uint16_t sequence;
    xcb_timestamp_t time;
    xcb_window_t root;
    xcb_window_t event;
    xcb_window_t child;
    int16_t root_x;
    int16_t root_y;
    int16_t event_x;
    int16_t event_y;
    uint16_t state;
    uint8_t same_screen;
    uint8_t pad0;
} xcb_motion_notify_event_t;
typedef enum xcb_notify_detail_t {
    XCB_NOTIFY_DETAIL_ANCESTOR = 0,
    XCB_NOTIFY_DETAIL_VIRTUAL = 1,
    XCB_NOTIFY_DETAIL_INFERIOR = 2,
    XCB_NOTIFY_DETAIL_NONLINEAR = 3,
    XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4,
    XCB_NOTIFY_DETAIL_POINTER = 5,
    XCB_NOTIFY_DETAIL_POINTER_ROOT = 6,
    XCB_NOTIFY_DETAIL_NONE = 7
} xcb_notify_detail_t;
typedef enum xcb_notify_mode_t {
    XCB_NOTIFY_MODE_NORMAL = 0,
    XCB_NOTIFY_MODE_GRAB = 1,
    XCB_NOTIFY_MODE_UNGRAB = 2,
    XCB_NOTIFY_MODE_WHILE_GRABBED = 3
} xcb_notify_mode_t;
typedef struct {
    uint8_t response_type;
    uint8_t detail;
    uint16_t sequence;
    xcb_timestamp_t time;
    xcb_window_t root;
    xcb_window_t event;
    xcb_window_t child;
    int16_t root_x;
    int16_t root_y;
    int16_t event_x;
    int16_t event_y;
    uint16_t state;
    uint8_t mode;
    uint8_t same_screen_focus;
} xcb_enter_notify_event_t;
typedef xcb_enter_notify_event_t xcb_leave_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t detail;
    uint16_t sequence;
    xcb_window_t event;
    uint8_t mode;
    uint8_t pad0[3];
} xcb_focus_in_event_t;
typedef xcb_focus_in_event_t xcb_focus_out_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t keys[31];
} xcb_keymap_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t window;
    uint16_t x;
    uint16_t y;
    uint16_t width;
    uint16_t height;
    uint16_t count;
    uint8_t pad1[2];
} xcb_expose_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_drawable_t drawable;
    uint16_t x;
    uint16_t y;
    uint16_t width;
    uint16_t height;
    uint16_t minor_opcode;
    uint16_t count;
    uint8_t major_opcode;
    uint8_t pad1[3];
} xcb_graphics_exposure_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_drawable_t drawable;
    uint16_t minor_opcode;
    uint8_t major_opcode;
    uint8_t pad1;
} xcb_no_exposure_event_t;
typedef enum xcb_visibility_t {
    XCB_VISIBILITY_UNOBSCURED = 0,
    XCB_VISIBILITY_PARTIALLY_OBSCURED = 1,
    XCB_VISIBILITY_FULLY_OBSCURED = 2
} xcb_visibility_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t window;
    uint8_t state;
    uint8_t pad1[3];
} xcb_visibility_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t parent;
    xcb_window_t window;
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
    uint16_t border_width;
    uint8_t override_redirect;
    uint8_t pad1;
} xcb_create_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t event;
    xcb_window_t window;
} xcb_destroy_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t event;
    xcb_window_t window;
    uint8_t from_configure;
    uint8_t pad1[3];
} xcb_unmap_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t event;
    xcb_window_t window;
    uint8_t override_redirect;
    uint8_t pad1[3];
} xcb_map_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t parent;
    xcb_window_t window;
} xcb_map_request_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t event;
    xcb_window_t window;
    xcb_window_t parent;
    int16_t x;
    int16_t y;
    uint8_t override_redirect;
    uint8_t pad1[3];
} xcb_reparent_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t event;
    xcb_window_t window;
    xcb_window_t above_sibling;
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
    uint16_t border_width;
    uint8_t override_redirect;
    uint8_t pad1;
} xcb_configure_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t stack_mode;
    uint16_t sequence;
    xcb_window_t parent;
    xcb_window_t window;
    xcb_window_t sibling;
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
    uint16_t border_width;
    uint16_t value_mask;
} xcb_configure_request_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t event;
    xcb_window_t window;
    int16_t x;
    int16_t y;
} xcb_gravity_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t window;
    uint16_t width;
    uint16_t height;
} xcb_resize_request_event_t;
typedef enum xcb_place_t {
    XCB_PLACE_ON_TOP = 0,
    XCB_PLACE_ON_BOTTOM = 1
} xcb_place_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t event;
    xcb_window_t window;
    uint8_t pad1[4];
    uint8_t place;
    uint8_t pad2[3];
} xcb_circulate_notify_event_t;
typedef xcb_circulate_notify_event_t xcb_circulate_request_event_t;
typedef enum xcb_property_t {
    XCB_PROPERTY_NEW_VALUE = 0,
    XCB_PROPERTY_DELETE = 1
} xcb_property_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t window;
    xcb_atom_t atom;
    xcb_timestamp_t time;
    uint8_t state;
    uint8_t pad1[3];
} xcb_property_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_timestamp_t time;
    xcb_window_t owner;
    xcb_atom_t selection;
} xcb_selection_clear_event_t;
typedef enum xcb_time_t {
    XCB_TIME_CURRENT_TIME = 0
} xcb_time_t;
typedef enum xcb_atom_enum_t {
    XCB_ATOM_NONE = 0,
    XCB_ATOM_ANY = 0,
    XCB_ATOM_PRIMARY,
    XCB_ATOM_SECONDARY,
    XCB_ATOM_ARC,
    XCB_ATOM_ATOM,
    XCB_ATOM_BITMAP,
    XCB_ATOM_CARDINAL,
    XCB_ATOM_COLORMAP,
    XCB_ATOM_CURSOR,
    XCB_ATOM_CUT_BUFFER0,
    XCB_ATOM_CUT_BUFFER1,
    XCB_ATOM_CUT_BUFFER2,
    XCB_ATOM_CUT_BUFFER3,
    XCB_ATOM_CUT_BUFFER4,
    XCB_ATOM_CUT_BUFFER5,
    XCB_ATOM_CUT_BUFFER6,
    XCB_ATOM_CUT_BUFFER7,
    XCB_ATOM_DRAWABLE,
    XCB_ATOM_FONT,
    XCB_ATOM_INTEGER,
    XCB_ATOM_PIXMAP,
    XCB_ATOM_POINT,
    XCB_ATOM_RECTANGLE,
    XCB_ATOM_RESOURCE_MANAGER,
    XCB_ATOM_RGB_COLOR_MAP,
    XCB_ATOM_RGB_BEST_MAP,
    XCB_ATOM_RGB_BLUE_MAP,
    XCB_ATOM_RGB_DEFAULT_MAP,
    XCB_ATOM_RGB_GRAY_MAP,
    XCB_ATOM_RGB_GREEN_MAP,
    XCB_ATOM_RGB_RED_MAP,
    XCB_ATOM_STRING,
    XCB_ATOM_VISUALID,
    XCB_ATOM_WINDOW,
    XCB_ATOM_WM_COMMAND,
    XCB_ATOM_WM_HINTS,
    XCB_ATOM_WM_CLIENT_MACHINE,
    XCB_ATOM_WM_ICON_NAME,
    XCB_ATOM_WM_ICON_SIZE,
    XCB_ATOM_WM_NAME,
    XCB_ATOM_WM_NORMAL_HINTS,
    XCB_ATOM_WM_SIZE_HINTS,
    XCB_ATOM_WM_ZOOM_HINTS,
    XCB_ATOM_MIN_SPACE,
    XCB_ATOM_NORM_SPACE,
    XCB_ATOM_MAX_SPACE,
    XCB_ATOM_END_SPACE,
    XCB_ATOM_SUPERSCRIPT_X,
    XCB_ATOM_SUPERSCRIPT_Y,
    XCB_ATOM_SUBSCRIPT_X,
    XCB_ATOM_SUBSCRIPT_Y,
    XCB_ATOM_UNDERLINE_POSITION,
    XCB_ATOM_UNDERLINE_THICKNESS,
    XCB_ATOM_STRIKEOUT_ASCENT,
    XCB_ATOM_STRIKEOUT_DESCENT,
    XCB_ATOM_ITALIC_ANGLE,
    XCB_ATOM_X_HEIGHT,
    XCB_ATOM_QUAD_WIDTH,
    XCB_ATOM_WEIGHT,
    XCB_ATOM_POINT_SIZE,
    XCB_ATOM_RESOLUTION,
    XCB_ATOM_COPYRIGHT,
    XCB_ATOM_NOTICE,
    XCB_ATOM_FONT_NAME,
    XCB_ATOM_FAMILY_NAME,
    XCB_ATOM_FULL_NAME,
    XCB_ATOM_CAP_HEIGHT,
    XCB_ATOM_WM_CLASS,
    XCB_ATOM_WM_TRANSIENT_FOR
} xcb_atom_enum_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_timestamp_t time;
    xcb_window_t owner;
    xcb_window_t requestor;
    xcb_atom_t selection;
    xcb_atom_t target;
    xcb_atom_t property;
} xcb_selection_request_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_timestamp_t time;
    xcb_window_t requestor;
    xcb_atom_t selection;
    xcb_atom_t target;
    xcb_atom_t property;
} xcb_selection_notify_event_t;
typedef enum xcb_colormap_state_t {
    XCB_COLORMAP_STATE_UNINSTALLED = 0,
    XCB_COLORMAP_STATE_INSTALLED = 1
} xcb_colormap_state_t;
typedef enum xcb_colormap_enum_t {
    XCB_COLORMAP_NONE = 0
} xcb_colormap_enum_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    xcb_window_t window;
    xcb_colormap_t colormap;
    uint8_t _new;
    uint8_t state;
    uint8_t pad1[2];
} xcb_colormap_notify_event_t;
typedef union {
    uint8_t data8[20];
    uint16_t data16[10];
    uint32_t data32[5];
} xcb_client_message_data_t;
typedef struct {
    xcb_client_message_data_t *data;
    int rem;
    int index;
} xcb_client_message_data_iterator_t;
typedef struct {
    uint8_t response_type;
    uint8_t format;
    uint16_t sequence;
    xcb_window_t window;
    xcb_atom_t type;
    xcb_client_message_data_t data;
} xcb_client_message_event_t;
typedef enum xcb_mapping_t {
    XCB_MAPPING_MODIFIER = 0,
    XCB_MAPPING_KEYBOARD = 1,
    XCB_MAPPING_POINTER = 2
} xcb_mapping_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint8_t request;
    xcb_keycode_t first_keycode;
    uint8_t count;
    uint8_t pad1;
} xcb_mapping_notify_event_t;
typedef struct {
    uint8_t response_type;
    uint8_t error_code;
    uint16_t sequence;
    uint32_t bad_value;
    uint16_t minor_opcode;
    uint8_t major_opcode;
    uint8_t pad0;
} xcb_request_error_t;
typedef struct {
    uint8_t response_type;
    uint8_t error_code;
    uint16_t sequence;
    uint32_t bad_value;
    uint16_t minor_opcode;
    uint8_t major_opcode;
    uint8_t pad0;
} xcb_value_error_t;
typedef xcb_value_error_t xcb_window_error_t;
typedef xcb_value_error_t xcb_pixmap_error_t;
typedef xcb_value_error_t xcb_atom_error_t;
typedef xcb_value_error_t xcb_cursor_error_t;
typedef xcb_value_error_t xcb_font_error_t;
typedef xcb_request_error_t xcb_match_error_t;
typedef xcb_value_error_t xcb_drawable_error_t;
typedef xcb_request_error_t xcb_access_error_t;
typedef xcb_request_error_t xcb_alloc_error_t;
typedef xcb_value_error_t xcb_colormap_error_t;
typedef xcb_value_error_t xcb_g_context_error_t;
typedef xcb_value_error_t xcb_id_choice_error_t;
typedef xcb_request_error_t xcb_name_error_t;
typedef xcb_request_error_t xcb_length_error_t;
typedef xcb_request_error_t xcb_implementation_error_t;
typedef enum xcb_window_class_t {
    XCB_WINDOW_CLASS_COPY_FROM_PARENT = 0,
    XCB_WINDOW_CLASS_INPUT_OUTPUT = 1,
    XCB_WINDOW_CLASS_INPUT_ONLY = 2
} xcb_window_class_t;
typedef enum xcb_cw_t {
    XCB_CW_BACK_PIXMAP = 1,
    XCB_CW_BACK_PIXEL = 2,
    XCB_CW_BORDER_PIXMAP = 4,
    XCB_CW_BORDER_PIXEL = 8,
    XCB_CW_BIT_GRAVITY = 16,
    XCB_CW_WIN_GRAVITY = 32,
    XCB_CW_BACKING_STORE = 64,
    XCB_CW_BACKING_PLANES = 128,
    XCB_CW_BACKING_PIXEL = 256,
    XCB_CW_OVERRIDE_REDIRECT = 512,
    XCB_CW_SAVE_UNDER = 1024,
    XCB_CW_EVENT_MASK = 2048,
    XCB_CW_DONT_PROPAGATE = 4096,
    XCB_CW_COLORMAP = 8192,
    XCB_CW_CURSOR = 16384
} xcb_cw_t;
typedef enum xcb_back_pixmap_t {
    XCB_BACK_PIXMAP_NONE = 0,
    XCB_BACK_PIXMAP_PARENT_RELATIVE = 1
} xcb_back_pixmap_t;
typedef enum xcb_gravity_t {
    XCB_GRAVITY_BIT_FORGET = 0,
    XCB_GRAVITY_WIN_UNMAP = 0,
    XCB_GRAVITY_NORTH_WEST = 1,
    XCB_GRAVITY_NORTH = 2,
    XCB_GRAVITY_NORTH_EAST = 3,
    XCB_GRAVITY_WEST = 4,
    XCB_GRAVITY_CENTER = 5,
    XCB_GRAVITY_EAST = 6,
    XCB_GRAVITY_SOUTH_WEST = 7,
    XCB_GRAVITY_SOUTH = 8,
    XCB_GRAVITY_SOUTH_EAST = 9,
    XCB_GRAVITY_STATIC = 10
} xcb_gravity_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t depth;
    uint16_t length;
    xcb_window_t wid;
    xcb_window_t parent;
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
    uint16_t border_width;
    uint16_t _class;
    xcb_visualid_t visual;
    uint32_t value_mask;
} xcb_create_window_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
    uint32_t value_mask;
} xcb_change_window_attributes_request_t;
typedef enum xcb_map_state_t {
    XCB_MAP_STATE_UNMAPPED = 0,
    XCB_MAP_STATE_UNVIEWABLE = 1,
    XCB_MAP_STATE_VIEWABLE = 2
} xcb_map_state_t;
typedef struct {
    unsigned int sequence;
} xcb_get_window_attributes_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_get_window_attributes_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t backing_store;
    uint16_t sequence;
    uint32_t length;
    xcb_visualid_t visual;
    uint16_t _class;
    uint8_t bit_gravity;
    uint8_t win_gravity;
    uint32_t backing_planes;
    uint32_t backing_pixel;
    uint8_t save_under;
    uint8_t map_is_installed;
    uint8_t map_state;
    uint8_t override_redirect;
    xcb_colormap_t colormap;
    uint32_t all_event_masks;
    uint32_t your_event_mask;
    uint16_t do_not_propagate_mask;
    uint8_t pad0[2];
} xcb_get_window_attributes_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_destroy_window_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_destroy_subwindows_request_t;
typedef enum xcb_set_mode_t {
    XCB_SET_MODE_INSERT = 0,
    XCB_SET_MODE_DELETE = 1
} xcb_set_mode_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t mode;
    uint16_t length;
    xcb_window_t window;
} xcb_change_save_set_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
    xcb_window_t parent;
    int16_t x;
    int16_t y;
} xcb_reparent_window_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_map_window_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_map_subwindows_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_unmap_window_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_unmap_subwindows_request_t;
typedef enum xcb_config_window_t {
    XCB_CONFIG_WINDOW_X = 1,
    XCB_CONFIG_WINDOW_Y = 2,
    XCB_CONFIG_WINDOW_WIDTH = 4,
    XCB_CONFIG_WINDOW_HEIGHT = 8,
    XCB_CONFIG_WINDOW_BORDER_WIDTH = 16,
    XCB_CONFIG_WINDOW_SIBLING = 32,
    XCB_CONFIG_WINDOW_STACK_MODE = 64
} xcb_config_window_t;
typedef enum xcb_stack_mode_t {
    XCB_STACK_MODE_ABOVE = 0,
    XCB_STACK_MODE_BELOW = 1,
    XCB_STACK_MODE_TOP_IF = 2,
    XCB_STACK_MODE_BOTTOM_IF = 3,
    XCB_STACK_MODE_OPPOSITE = 4
} xcb_stack_mode_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
    uint16_t value_mask;
    uint8_t pad1[2];
} xcb_configure_window_request_t;
typedef enum xcb_circulate_t {
    XCB_CIRCULATE_RAISE_LOWEST = 0,
    XCB_CIRCULATE_LOWER_HIGHEST = 1
} xcb_circulate_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t direction;
    uint16_t length;
    xcb_window_t window;
} xcb_circulate_window_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_geometry_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
} xcb_get_geometry_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t depth;
    uint16_t sequence;
    uint32_t length;
    xcb_window_t root;
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
    uint16_t border_width;
    uint8_t pad0[2];
} xcb_get_geometry_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_query_tree_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_query_tree_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    xcb_window_t root;
    xcb_window_t parent;
    uint16_t children_len;
    uint8_t pad1[14];
} xcb_query_tree_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_intern_atom_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t only_if_exists;
    uint16_t length;
    uint16_t name_len;
    uint8_t pad0[2];
} xcb_intern_atom_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    xcb_atom_t atom;
} xcb_intern_atom_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_get_atom_name_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_atom_t atom;
} xcb_get_atom_name_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t name_len;
    uint8_t pad1[22];
} xcb_get_atom_name_reply_t;
typedef enum xcb_prop_mode_t {
    XCB_PROP_MODE_REPLACE = 0,
    XCB_PROP_MODE_PREPEND = 1,
    XCB_PROP_MODE_APPEND = 2
} xcb_prop_mode_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t mode;
    uint16_t length;
    xcb_window_t window;
    xcb_atom_t property;
    xcb_atom_t type;
    uint8_t format;
    uint8_t pad0[3];
    uint32_t data_len;
} xcb_change_property_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
    xcb_atom_t property;
} xcb_delete_property_request_t;
typedef enum xcb_get_property_type_t {
    XCB_GET_PROPERTY_TYPE_ANY = 0
} xcb_get_property_type_t;
typedef struct {
    unsigned int sequence;
} xcb_get_property_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t _delete;
    uint16_t length;
    xcb_window_t window;
    xcb_atom_t property;
    xcb_atom_t type;
    uint32_t long_offset;
    uint32_t long_length;
} xcb_get_property_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t format;
    uint16_t sequence;
    uint32_t length;
    xcb_atom_t type;
    uint32_t bytes_after;
    uint32_t value_len;
    uint8_t pad0[12];
} xcb_get_property_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_list_properties_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_list_properties_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t atoms_len;
    uint8_t pad1[22];
} xcb_list_properties_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t owner;
    xcb_atom_t selection;
    xcb_timestamp_t time;
} xcb_set_selection_owner_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_selection_owner_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_atom_t selection;
} xcb_get_selection_owner_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    xcb_window_t owner;
} xcb_get_selection_owner_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t requestor;
    xcb_atom_t selection;
    xcb_atom_t target;
    xcb_atom_t property;
    xcb_timestamp_t time;
} xcb_convert_selection_request_t;
typedef enum xcb_send_event_dest_t {
    XCB_SEND_EVENT_DEST_POINTER_WINDOW = 0,
    XCB_SEND_EVENT_DEST_ITEM_FOCUS = 1
} xcb_send_event_dest_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t propagate;
    uint16_t length;
    xcb_window_t destination;
    uint32_t event_mask;
    char event[32];
} xcb_send_event_request_t;
typedef enum xcb_grab_mode_t {
    XCB_GRAB_MODE_SYNC = 0,
    XCB_GRAB_MODE_ASYNC = 1
} xcb_grab_mode_t;
typedef enum xcb_grab_status_t {
    XCB_GRAB_STATUS_SUCCESS = 0,
    XCB_GRAB_STATUS_ALREADY_GRABBED = 1,
    XCB_GRAB_STATUS_INVALID_TIME = 2,
    XCB_GRAB_STATUS_NOT_VIEWABLE = 3,
    XCB_GRAB_STATUS_FROZEN = 4
} xcb_grab_status_t;
typedef enum xcb_cursor_enum_t {
    XCB_CURSOR_NONE = 0
} xcb_cursor_enum_t;
typedef struct {
    unsigned int sequence;
} xcb_grab_pointer_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t owner_events;
    uint16_t length;
    xcb_window_t grab_window;
    uint16_t event_mask;
    uint8_t pointer_mode;
    uint8_t keyboard_mode;
    xcb_window_t confine_to;
    xcb_cursor_t cursor;
    xcb_timestamp_t time;
} xcb_grab_pointer_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t status;
    uint16_t sequence;
    uint32_t length;
} xcb_grab_pointer_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_timestamp_t time;
} xcb_ungrab_pointer_request_t;
typedef enum xcb_button_index_t {
    XCB_BUTTON_INDEX_ANY = 0,
    XCB_BUTTON_INDEX_1 = 1,
    XCB_BUTTON_INDEX_2 = 2,
    XCB_BUTTON_INDEX_3 = 3,
    XCB_BUTTON_INDEX_4 = 4,
    XCB_BUTTON_INDEX_5 = 5
} xcb_button_index_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t owner_events;
    uint16_t length;
    xcb_window_t grab_window;
    uint16_t event_mask;
    uint8_t pointer_mode;
    uint8_t keyboard_mode;
    xcb_window_t confine_to;
    xcb_cursor_t cursor;
    uint8_t button;
    uint8_t pad0;
    uint16_t modifiers;
} xcb_grab_button_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t button;
    uint16_t length;
    xcb_window_t grab_window;
    uint16_t modifiers;
    uint8_t pad0[2];
} xcb_ungrab_button_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_cursor_t cursor;
    xcb_timestamp_t time;
    uint16_t event_mask;
    uint8_t pad1[2];
} xcb_change_active_pointer_grab_request_t;
typedef struct {
    unsigned int sequence;
} xcb_grab_keyboard_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t owner_events;
    uint16_t length;
    xcb_window_t grab_window;
    xcb_timestamp_t time;
    uint8_t pointer_mode;
    uint8_t keyboard_mode;
    uint8_t pad0[2];
} xcb_grab_keyboard_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t status;
    uint16_t sequence;
    uint32_t length;
} xcb_grab_keyboard_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_timestamp_t time;
} xcb_ungrab_keyboard_request_t;
typedef enum xcb_grab_t {
    XCB_GRAB_ANY = 0
} xcb_grab_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t owner_events;
    uint16_t length;
    xcb_window_t grab_window;
    uint16_t modifiers;
    xcb_keycode_t key;
    uint8_t pointer_mode;
    uint8_t keyboard_mode;
    uint8_t pad0[3];
} xcb_grab_key_request_t;
typedef struct {
    uint8_t major_opcode;
    xcb_keycode_t key;
    uint16_t length;
    xcb_window_t grab_window;
    uint16_t modifiers;
    uint8_t pad0[2];
} xcb_ungrab_key_request_t;
typedef enum xcb_allow_t {
    XCB_ALLOW_ASYNC_POINTER = 0,
    XCB_ALLOW_SYNC_POINTER = 1,
    XCB_ALLOW_REPLAY_POINTER = 2,
    XCB_ALLOW_ASYNC_KEYBOARD = 3,
    XCB_ALLOW_SYNC_KEYBOARD = 4,
    XCB_ALLOW_REPLAY_KEYBOARD = 5,
    XCB_ALLOW_ASYNC_BOTH = 6,
    XCB_ALLOW_SYNC_BOTH = 7
} xcb_allow_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t mode;
    uint16_t length;
    xcb_timestamp_t time;
} xcb_allow_events_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_grab_server_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_ungrab_server_request_t;
typedef struct {
    unsigned int sequence;
} xcb_query_pointer_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_query_pointer_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t same_screen;
    uint16_t sequence;
    uint32_t length;
    xcb_window_t root;
    xcb_window_t child;
    int16_t root_x;
    int16_t root_y;
    int16_t win_x;
    int16_t win_y;
    uint16_t mask;
    uint8_t pad0[2];
} xcb_query_pointer_reply_t;
typedef struct {
    xcb_timestamp_t time;
    int16_t x;
    int16_t y;
} xcb_timecoord_t;
typedef struct {
    xcb_timecoord_t *data;
    int rem;
    int index;
} xcb_timecoord_iterator_t;
typedef struct {
    unsigned int sequence;
} xcb_get_motion_events_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
    xcb_timestamp_t start;
    xcb_timestamp_t stop;
} xcb_get_motion_events_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t events_len;
    uint8_t pad1[20];
} xcb_get_motion_events_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_translate_coordinates_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t src_window;
    xcb_window_t dst_window;
    int16_t src_x;
    int16_t src_y;
} xcb_translate_coordinates_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t same_screen;
    uint16_t sequence;
    uint32_t length;
    xcb_window_t child;
    uint16_t dst_x;
    uint16_t dst_y;
} xcb_translate_coordinates_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t src_window;
    xcb_window_t dst_window;
    int16_t src_x;
    int16_t src_y;
    uint16_t src_width;
    uint16_t src_height;
    int16_t dst_x;
    int16_t dst_y;
} xcb_warp_pointer_request_t;
typedef enum xcb_input_focus_t {
    XCB_INPUT_FOCUS_NONE = 0,
    XCB_INPUT_FOCUS_POINTER_ROOT = 1,
    XCB_INPUT_FOCUS_PARENT = 2,
    XCB_INPUT_FOCUS_FOLLOW_KEYBOARD = 3
} xcb_input_focus_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t revert_to;
    uint16_t length;
    xcb_window_t focus;
    xcb_timestamp_t time;
} xcb_set_input_focus_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_input_focus_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_get_input_focus_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t revert_to;
    uint16_t sequence;
    uint32_t length;
    xcb_window_t focus;
} xcb_get_input_focus_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_query_keymap_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_query_keymap_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint8_t keys[32];
} xcb_query_keymap_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_font_t fid;
    uint16_t name_len;
    uint8_t pad1[2];
} xcb_open_font_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_font_t font;
} xcb_close_font_request_t;
typedef enum xcb_font_draw_t {
    XCB_FONT_DRAW_LEFT_TO_RIGHT = 0,
    XCB_FONT_DRAW_RIGHT_TO_LEFT = 1
} xcb_font_draw_t;
typedef struct {
    xcb_atom_t name;
    uint32_t value;
} xcb_fontprop_t;
typedef struct {
    xcb_fontprop_t *data;
    int rem;
    int index;
} xcb_fontprop_iterator_t;
typedef struct {
    int16_t left_side_bearing;
    int16_t right_side_bearing;
    int16_t character_width;
    int16_t ascent;
    int16_t descent;
    uint16_t attributes;
} xcb_charinfo_t;
typedef struct {
    xcb_charinfo_t *data;
    int rem;
    int index;
} xcb_charinfo_iterator_t;
typedef struct {
    unsigned int sequence;
} xcb_query_font_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_fontable_t font;
} xcb_query_font_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    xcb_charinfo_t min_bounds;
    uint8_t pad1[4];
    xcb_charinfo_t max_bounds;
    uint8_t pad2[4];
    uint16_t min_char_or_byte2;
    uint16_t max_char_or_byte2;
    uint16_t default_char;
    uint16_t properties_len;
    uint8_t draw_direction;
    uint8_t min_byte1;
    uint8_t max_byte1;
    uint8_t all_chars_exist;
    int16_t font_ascent;
    int16_t font_descent;
    uint32_t char_infos_len;
} xcb_query_font_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_query_text_extents_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t odd_length;
    uint16_t length;
    xcb_fontable_t font;
} xcb_query_text_extents_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t draw_direction;
    uint16_t sequence;
    uint32_t length;
    int16_t font_ascent;
    int16_t font_descent;
    int16_t overall_ascent;
    int16_t overall_descent;
    int32_t overall_width;
    int32_t overall_left;
    int32_t overall_right;
} xcb_query_text_extents_reply_t;
typedef struct {
    uint8_t name_len;
} xcb_str_t;
typedef struct {
    xcb_str_t *data;
    int rem;
    int index;
} xcb_str_iterator_t;
typedef struct {
    unsigned int sequence;
} xcb_list_fonts_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    uint16_t max_names;
    uint16_t pattern_len;
} xcb_list_fonts_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t names_len;
    uint8_t pad1[22];
} xcb_list_fonts_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_list_fonts_with_info_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    uint16_t max_names;
    uint16_t pattern_len;
} xcb_list_fonts_with_info_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t name_len;
    uint16_t sequence;
    uint32_t length;
    xcb_charinfo_t min_bounds;
    uint8_t pad0[4];
    xcb_charinfo_t max_bounds;
    uint8_t pad1[4];
    uint16_t min_char_or_byte2;
    uint16_t max_char_or_byte2;
    uint16_t default_char;
    uint16_t properties_len;
    uint8_t draw_direction;
    uint8_t min_byte1;
    uint8_t max_byte1;
    uint8_t all_chars_exist;
    int16_t font_ascent;
    int16_t font_descent;
    uint32_t replies_hint;
} xcb_list_fonts_with_info_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    uint16_t font_qty;
} xcb_set_font_path_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_font_path_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_get_font_path_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t path_len;
    uint8_t pad1[22];
} xcb_get_font_path_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t depth;
    uint16_t length;
    xcb_pixmap_t pid;
    xcb_drawable_t drawable;
    uint16_t width;
    uint16_t height;
} xcb_create_pixmap_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_pixmap_t pixmap;
} xcb_free_pixmap_request_t;
typedef enum xcb_gc_t {
    XCB_GC_FUNCTION = 1,
    XCB_GC_PLANE_MASK = 2,
    XCB_GC_FOREGROUND = 4,
    XCB_GC_BACKGROUND = 8,
    XCB_GC_LINE_WIDTH = 16,
    XCB_GC_LINE_STYLE = 32,
    XCB_GC_CAP_STYLE = 64,
    XCB_GC_JOIN_STYLE = 128,
    XCB_GC_FILL_STYLE = 256,
    XCB_GC_FILL_RULE = 512,
    XCB_GC_TILE = 1024,
    XCB_GC_STIPPLE = 2048,
    XCB_GC_TILE_STIPPLE_ORIGIN_X = 4096,
    XCB_GC_TILE_STIPPLE_ORIGIN_Y = 8192,
    XCB_GC_FONT = 16384,
    XCB_GC_SUBWINDOW_MODE = 32768,
    XCB_GC_GRAPHICS_EXPOSURES = 65536,
    XCB_GC_CLIP_ORIGIN_X = 131072,
    XCB_GC_CLIP_ORIGIN_Y = 262144,
    XCB_GC_CLIP_MASK = 524288,
    XCB_GC_DASH_OFFSET = 1048576,
    XCB_GC_DASH_LIST = 2097152,
    XCB_GC_ARC_MODE = 4194304
} xcb_gc_t;
typedef enum xcb_gx_t {
    XCB_GX_CLEAR = 0,
    XCB_GX_AND = 1,
    XCB_GX_AND_REVERSE = 2,
    XCB_GX_COPY = 3,
    XCB_GX_AND_INVERTED = 4,
    XCB_GX_NOOP = 5,
    XCB_GX_XOR = 6,
    XCB_GX_OR = 7,
    XCB_GX_NOR = 8,
    XCB_GX_EQUIV = 9,
    XCB_GX_INVERT = 10,
    XCB_GX_OR_REVERSE = 11,
    XCB_GX_COPY_INVERTED = 12,
    XCB_GX_OR_INVERTED = 13,
    XCB_GX_NAND = 14,
    XCB_GX_SET = 15
} xcb_gx_t;
typedef enum xcb_line_style_t {
    XCB_LINE_STYLE_SOLID = 0,
    XCB_LINE_STYLE_ON_OFF_DASH = 1,
    XCB_LINE_STYLE_DOUBLE_DASH = 2
} xcb_line_style_t;
typedef enum xcb_cap_style_t {
    XCB_CAP_STYLE_NOT_LAST = 0,
    XCB_CAP_STYLE_BUTT = 1,
    XCB_CAP_STYLE_ROUND = 2,
    XCB_CAP_STYLE_PROJECTING = 3
} xcb_cap_style_t;
typedef enum xcb_join_style_t {
    XCB_JOIN_STYLE_MITER = 0,
    XCB_JOIN_STYLE_ROUND = 1,
    XCB_JOIN_STYLE_BEVEL = 2
} xcb_join_style_t;
typedef enum xcb_fill_style_t {
    XCB_FILL_STYLE_SOLID = 0,
    XCB_FILL_STYLE_TILED = 1,
    XCB_FILL_STYLE_STIPPLED = 2,
    XCB_FILL_STYLE_OPAQUE_STIPPLED = 3
} xcb_fill_style_t;
typedef enum xcb_fill_rule_t {
    XCB_FILL_RULE_EVEN_ODD = 0,
    XCB_FILL_RULE_WINDING = 1
} xcb_fill_rule_t;
typedef enum xcb_subwindow_mode_t {
    XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN = 0,
    XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS = 1
} xcb_subwindow_mode_t;
typedef enum xcb_arc_mode_t {
    XCB_ARC_MODE_CHORD = 0,
    XCB_ARC_MODE_PIE_SLICE = 1
} xcb_arc_mode_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_gcontext_t cid;
    xcb_drawable_t drawable;
    uint32_t value_mask;
} xcb_create_gc_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_gcontext_t gc;
    uint32_t value_mask;
} xcb_change_gc_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_gcontext_t src_gc;
    xcb_gcontext_t dst_gc;
    uint32_t value_mask;
} xcb_copy_gc_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_gcontext_t gc;
    uint16_t dash_offset;
    uint16_t dashes_len;
} xcb_set_dashes_request_t;
typedef enum xcb_clip_ordering_t {
    XCB_CLIP_ORDERING_UNSORTED = 0,
    XCB_CLIP_ORDERING_Y_SORTED = 1,
    XCB_CLIP_ORDERING_YX_SORTED = 2,
    XCB_CLIP_ORDERING_YX_BANDED = 3
} xcb_clip_ordering_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t ordering;
    uint16_t length;
    xcb_gcontext_t gc;
    int16_t clip_x_origin;
    int16_t clip_y_origin;
} xcb_set_clip_rectangles_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_gcontext_t gc;
} xcb_free_gc_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t exposures;
    uint16_t length;
    xcb_window_t window;
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
} xcb_clear_area_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t src_drawable;
    xcb_drawable_t dst_drawable;
    xcb_gcontext_t gc;
    int16_t src_x;
    int16_t src_y;
    int16_t dst_x;
    int16_t dst_y;
    uint16_t width;
    uint16_t height;
} xcb_copy_area_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t src_drawable;
    xcb_drawable_t dst_drawable;
    xcb_gcontext_t gc;
    int16_t src_x;
    int16_t src_y;
    int16_t dst_x;
    int16_t dst_y;
    uint16_t width;
    uint16_t height;
    uint32_t bit_plane;
} xcb_copy_plane_request_t;
typedef enum xcb_coord_mode_t {
    XCB_COORD_MODE_ORIGIN = 0,
    XCB_COORD_MODE_PREVIOUS = 1
} xcb_coord_mode_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t coordinate_mode;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
} xcb_poly_point_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t coordinate_mode;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
} xcb_poly_line_request_t;
typedef struct {
    int16_t x1;
    int16_t y1;
    int16_t x2;
    int16_t y2;
} xcb_segment_t;
typedef struct {
    xcb_segment_t *data;
    int rem;
    int index;
} xcb_segment_iterator_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
} xcb_poly_segment_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
} xcb_poly_rectangle_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
} xcb_poly_arc_request_t;
typedef enum xcb_poly_shape_t {
    XCB_POLY_SHAPE_COMPLEX = 0,
    XCB_POLY_SHAPE_NONCONVEX = 1,
    XCB_POLY_SHAPE_CONVEX = 2
} xcb_poly_shape_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
    uint8_t shape;
    uint8_t coordinate_mode;
    uint8_t pad1[2];
} xcb_fill_poly_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
} xcb_poly_fill_rectangle_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
} xcb_poly_fill_arc_request_t;
typedef enum xcb_image_format_t {
    XCB_IMAGE_FORMAT_XY_BITMAP = 0,
    XCB_IMAGE_FORMAT_XY_PIXMAP = 1,
    XCB_IMAGE_FORMAT_Z_PIXMAP = 2
} xcb_image_format_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t format;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
    uint16_t width;
    uint16_t height;
    int16_t dst_x;
    int16_t dst_y;
    uint8_t left_pad;
    uint8_t depth;
    uint8_t pad0[2];
} xcb_put_image_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_image_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t format;
    uint16_t length;
    xcb_drawable_t drawable;
    int16_t x;
    int16_t y;
    uint16_t width;
    uint16_t height;
    uint32_t plane_mask;
} xcb_get_image_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t depth;
    uint16_t sequence;
    uint32_t length;
    xcb_visualid_t visual;
    uint8_t pad0[20];
} xcb_get_image_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
    int16_t x;
    int16_t y;
} xcb_poly_text_8_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
    int16_t x;
    int16_t y;
} xcb_poly_text_16_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t string_len;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
    int16_t x;
    int16_t y;
} xcb_image_text_8_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t string_len;
    uint16_t length;
    xcb_drawable_t drawable;
    xcb_gcontext_t gc;
    int16_t x;
    int16_t y;
} xcb_image_text_16_request_t;
typedef enum xcb_colormap_alloc_t {
    XCB_COLORMAP_ALLOC_NONE = 0,
    XCB_COLORMAP_ALLOC_ALL = 1
} xcb_colormap_alloc_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t alloc;
    uint16_t length;
    xcb_colormap_t mid;
    xcb_window_t window;
    xcb_visualid_t visual;
} xcb_create_colormap_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
} xcb_free_colormap_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t mid;
    xcb_colormap_t src_cmap;
} xcb_copy_colormap_and_free_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
} xcb_install_colormap_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
} xcb_uninstall_colormap_request_t;
typedef struct {
    unsigned int sequence;
} xcb_list_installed_colormaps_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
} xcb_list_installed_colormaps_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t cmaps_len;
    uint8_t pad1[22];
} xcb_list_installed_colormaps_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_alloc_color_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
    uint16_t red;
    uint16_t green;
    uint16_t blue;
    uint8_t pad1[2];
} xcb_alloc_color_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t red;
    uint16_t green;
    uint16_t blue;
    uint8_t pad1[2];
    uint32_t pixel;
} xcb_alloc_color_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_alloc_named_color_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
    uint16_t name_len;
    uint8_t pad1[2];
} xcb_alloc_named_color_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint32_t pixel;
    uint16_t exact_red;
    uint16_t exact_green;
    uint16_t exact_blue;
    uint16_t visual_red;
    uint16_t visual_green;
    uint16_t visual_blue;
} xcb_alloc_named_color_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_alloc_color_cells_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t contiguous;
    uint16_t length;
    xcb_colormap_t cmap;
    uint16_t colors;
    uint16_t planes;
} xcb_alloc_color_cells_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t pixels_len;
    uint16_t masks_len;
    uint8_t pad1[20];
} xcb_alloc_color_cells_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_alloc_color_planes_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t contiguous;
    uint16_t length;
    xcb_colormap_t cmap;
    uint16_t colors;
    uint16_t reds;
    uint16_t greens;
    uint16_t blues;
} xcb_alloc_color_planes_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t pixels_len;
    uint8_t pad1[2];
    uint32_t red_mask;
    uint32_t green_mask;
    uint32_t blue_mask;
    uint8_t pad2[8];
} xcb_alloc_color_planes_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
    uint32_t plane_mask;
} xcb_free_colors_request_t;
typedef enum xcb_color_flag_t {
    XCB_COLOR_FLAG_RED = 1,
    XCB_COLOR_FLAG_GREEN = 2,
    XCB_COLOR_FLAG_BLUE = 4
} xcb_color_flag_t;
typedef struct {
    uint32_t pixel;
    uint16_t red;
    uint16_t green;
    uint16_t blue;
    uint8_t flags;
    uint8_t pad0;
} xcb_coloritem_t;
typedef struct {
    xcb_coloritem_t *data;
    int rem;
    int index;
} xcb_coloritem_iterator_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
} xcb_store_colors_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t flags;
    uint16_t length;
    xcb_colormap_t cmap;
    uint32_t pixel;
    uint16_t name_len;
    uint8_t pad0[2];
} xcb_store_named_color_request_t;
typedef struct {
    uint16_t red;
    uint16_t green;
    uint16_t blue;
    uint8_t pad0[2];
} xcb_rgb_t;
typedef struct {
    xcb_rgb_t *data;
    int rem;
    int index;
} xcb_rgb_iterator_t;
typedef struct {
    unsigned int sequence;
} xcb_query_colors_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
} xcb_query_colors_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t colors_len;
    uint8_t pad1[22];
} xcb_query_colors_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_lookup_color_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_colormap_t cmap;
    uint16_t name_len;
    uint8_t pad1[2];
} xcb_lookup_color_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t exact_red;
    uint16_t exact_green;
    uint16_t exact_blue;
    uint16_t visual_red;
    uint16_t visual_green;
    uint16_t visual_blue;
} xcb_lookup_color_reply_t;
typedef enum xcb_pixmap_enum_t {
    XCB_PIXMAP_NONE = 0
} xcb_pixmap_enum_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_cursor_t cid;
    xcb_pixmap_t source;
    xcb_pixmap_t mask;
    uint16_t fore_red;
    uint16_t fore_green;
    uint16_t fore_blue;
    uint16_t back_red;
    uint16_t back_green;
    uint16_t back_blue;
    uint16_t x;
    uint16_t y;
} xcb_create_cursor_request_t;
typedef enum xcb_font_enum_t {
    XCB_FONT_NONE = 0
} xcb_font_enum_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_cursor_t cid;
    xcb_font_t source_font;
    xcb_font_t mask_font;
    uint16_t source_char;
    uint16_t mask_char;
    uint16_t fore_red;
    uint16_t fore_green;
    uint16_t fore_blue;
    uint16_t back_red;
    uint16_t back_green;
    uint16_t back_blue;
} xcb_create_glyph_cursor_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_cursor_t cursor;
} xcb_free_cursor_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_cursor_t cursor;
    uint16_t fore_red;
    uint16_t fore_green;
    uint16_t fore_blue;
    uint16_t back_red;
    uint16_t back_green;
    uint16_t back_blue;
} xcb_recolor_cursor_request_t;
typedef enum xcb_query_shape_of_t {
    XCB_QUERY_SHAPE_OF_LARGEST_CURSOR = 0,
    XCB_QUERY_SHAPE_OF_FASTEST_TILE = 1,
    XCB_QUERY_SHAPE_OF_FASTEST_STIPPLE = 2
} xcb_query_shape_of_t;
typedef struct {
    unsigned int sequence;
} xcb_query_best_size_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t _class;
    uint16_t length;
    xcb_drawable_t drawable;
    uint16_t width;
    uint16_t height;
} xcb_query_best_size_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t width;
    uint16_t height;
} xcb_query_best_size_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_query_extension_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    uint16_t name_len;
    uint8_t pad1[2];
} xcb_query_extension_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint8_t present;
    uint8_t major_opcode;
    uint8_t first_event;
    uint8_t first_error;
} xcb_query_extension_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_list_extensions_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_list_extensions_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t names_len;
    uint16_t sequence;
    uint32_t length;
    uint8_t pad0[24];
} xcb_list_extensions_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t keycode_count;
    uint16_t length;
    xcb_keycode_t first_keycode;
    uint8_t keysyms_per_keycode;
} xcb_change_keyboard_mapping_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_keyboard_mapping_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_keycode_t first_keycode;
    uint8_t count;
} xcb_get_keyboard_mapping_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t keysyms_per_keycode;
    uint16_t sequence;
    uint32_t length;
    uint8_t pad0[24];
} xcb_get_keyboard_mapping_reply_t;
typedef enum xcb_kb_t {
    XCB_KB_KEY_CLICK_PERCENT = 1,
    XCB_KB_BELL_PERCENT = 2,
    XCB_KB_BELL_PITCH = 4,
    XCB_KB_BELL_DURATION = 8,
    XCB_KB_LED = 16,
    XCB_KB_LED_MODE = 32,
    XCB_KB_KEY = 64,
    XCB_KB_AUTO_REPEAT_MODE = 128
} xcb_kb_t;
typedef enum xcb_led_mode_t {
    XCB_LED_MODE_OFF = 0,
    XCB_LED_MODE_ON = 1
} xcb_led_mode_t;
typedef enum xcb_auto_repeat_mode_t {
    XCB_AUTO_REPEAT_MODE_OFF = 0,
    XCB_AUTO_REPEAT_MODE_ON = 1,
    XCB_AUTO_REPEAT_MODE_DEFAULT = 2
} xcb_auto_repeat_mode_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    uint32_t value_mask;
} xcb_change_keyboard_control_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_keyboard_control_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_get_keyboard_control_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t global_auto_repeat;
    uint16_t sequence;
    uint32_t length;
    uint32_t led_mask;
    uint8_t key_click_percent;
    uint8_t bell_percent;
    uint16_t bell_pitch;
    uint16_t bell_duration;
    uint8_t pad0[2];
    uint8_t auto_repeats[32];
} xcb_get_keyboard_control_reply_t;
typedef struct {
    uint8_t major_opcode;
    int8_t percent;
    uint16_t length;
} xcb_bell_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    int16_t acceleration_numerator;
    int16_t acceleration_denominator;
    int16_t threshold;
    uint8_t do_acceleration;
    uint8_t do_threshold;
} xcb_change_pointer_control_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_pointer_control_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_get_pointer_control_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t acceleration_numerator;
    uint16_t acceleration_denominator;
    uint16_t threshold;
    uint8_t pad1[18];
} xcb_get_pointer_control_reply_t;
typedef enum xcb_blanking_t {
    XCB_BLANKING_NOT_PREFERRED = 0,
    XCB_BLANKING_PREFERRED = 1,
    XCB_BLANKING_DEFAULT = 2
} xcb_blanking_t;
typedef enum xcb_exposures_t {
    XCB_EXPOSURES_NOT_ALLOWED = 0,
    XCB_EXPOSURES_ALLOWED = 1,
    XCB_EXPOSURES_DEFAULT = 2
} xcb_exposures_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    int16_t timeout;
    int16_t interval;
    uint8_t prefer_blanking;
    uint8_t allow_exposures;
} xcb_set_screen_saver_request_t;
typedef struct {
    unsigned int sequence;
} xcb_get_screen_saver_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_get_screen_saver_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t timeout;
    uint16_t interval;
    uint8_t prefer_blanking;
    uint8_t allow_exposures;
    uint8_t pad1[18];
} xcb_get_screen_saver_reply_t;
typedef enum xcb_host_mode_t {
    XCB_HOST_MODE_INSERT = 0,
    XCB_HOST_MODE_DELETE = 1
} xcb_host_mode_t;
typedef enum xcb_family_t {
    XCB_FAMILY_INTERNET = 0,
    XCB_FAMILY_DECNET = 1,
    XCB_FAMILY_CHAOS = 2,
    XCB_FAMILY_SERVER_INTERPRETED = 5,
    XCB_FAMILY_INTERNET_6 = 6
} xcb_family_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t mode;
    uint16_t length;
    uint8_t family;
    uint8_t pad0;
    uint16_t address_len;
} xcb_change_hosts_request_t;
typedef struct {
    uint8_t family;
    uint8_t pad0;
    uint16_t address_len;
} xcb_host_t;
typedef struct {
    xcb_host_t *data;
    int rem;
    int index;
} xcb_host_iterator_t;
typedef struct {
    unsigned int sequence;
} xcb_list_hosts_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_list_hosts_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t mode;
    uint16_t sequence;
    uint32_t length;
    uint16_t hosts_len;
    uint8_t pad0[22];
} xcb_list_hosts_reply_t;
typedef enum xcb_access_control_t {
    XCB_ACCESS_CONTROL_DISABLE = 0,
    XCB_ACCESS_CONTROL_ENABLE = 1
} xcb_access_control_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t mode;
    uint16_t length;
} xcb_set_access_control_request_t;
typedef enum xcb_close_down_t {
    XCB_CLOSE_DOWN_DESTROY_ALL = 0,
    XCB_CLOSE_DOWN_RETAIN_PERMANENT = 1,
    XCB_CLOSE_DOWN_RETAIN_TEMPORARY = 2
} xcb_close_down_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t mode;
    uint16_t length;
} xcb_set_close_down_mode_request_t;
typedef enum xcb_kill_t {
    XCB_KILL_ALL_TEMPORARY = 0
} xcb_kill_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    uint32_t resource;
} xcb_kill_client_request_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
    xcb_window_t window;
    uint16_t atoms_len;
    int16_t delta;
} xcb_rotate_properties_request_t;
typedef enum xcb_screen_saver_t {
    XCB_SCREEN_SAVER_RESET = 0,
    XCB_SCREEN_SAVER_ACTIVE = 1
} xcb_screen_saver_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t mode;
    uint16_t length;
} xcb_force_screen_saver_request_t;
typedef enum xcb_mapping_status_t {
    XCB_MAPPING_STATUS_SUCCESS = 0,
    XCB_MAPPING_STATUS_BUSY = 1,
    XCB_MAPPING_STATUS_FAILURE = 2
} xcb_mapping_status_t;
typedef struct {
    unsigned int sequence;
} xcb_set_pointer_mapping_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t map_len;
    uint16_t length;
} xcb_set_pointer_mapping_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t status;
    uint16_t sequence;
    uint32_t length;
} xcb_set_pointer_mapping_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_get_pointer_mapping_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_get_pointer_mapping_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t map_len;
    uint16_t sequence;
    uint32_t length;
    uint8_t pad0[24];
} xcb_get_pointer_mapping_reply_t;
typedef enum xcb_map_index_t {
    XCB_MAP_INDEX_SHIFT = 0,
    XCB_MAP_INDEX_LOCK = 1,
    XCB_MAP_INDEX_CONTROL = 2,
    XCB_MAP_INDEX_1 = 3,
    XCB_MAP_INDEX_2 = 4,
    XCB_MAP_INDEX_3 = 5,
    XCB_MAP_INDEX_4 = 6,
    XCB_MAP_INDEX_5 = 7
} xcb_map_index_t;
typedef struct {
    unsigned int sequence;
} xcb_set_modifier_mapping_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t keycodes_per_modifier;
    uint16_t length;
} xcb_set_modifier_mapping_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t status;
    uint16_t sequence;
    uint32_t length;
} xcb_set_modifier_mapping_reply_t;
typedef struct {
    unsigned int sequence;
} xcb_get_modifier_mapping_cookie_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_get_modifier_mapping_request_t;
typedef struct {
    uint8_t response_type;
    uint8_t keycodes_per_modifier;
    uint16_t sequence;
    uint32_t length;
    uint8_t pad0[24];
} xcb_get_modifier_mapping_reply_t;
typedef struct {
    uint8_t major_opcode;
    uint8_t pad0;
    uint16_t length;
} xcb_no_operation_request_t;
extern xcb_alloc_color_cookie_t xcb_alloc_color(xcb_connection_t * c,
						xcb_colormap_t cmap,
						uint16_t red,
						uint16_t green,
						uint16_t blue);
extern xcb_alloc_color_cells_cookie_t
xcb_alloc_color_cells(xcb_connection_t * c, uint8_t contiguous,
		      xcb_colormap_t cmap, uint16_t colors,
		      uint16_t planes);
extern uint32_t *xcb_alloc_color_cells_masks(const
					     xcb_alloc_color_cells_reply_t
					     * R);
extern xcb_generic_iterator_t xcb_alloc_color_cells_masks_end(const
							      xcb_alloc_color_cells_reply_t
							      * R);
extern int xcb_alloc_color_cells_masks_length(const
					      xcb_alloc_color_cells_reply_t
					      * R);
extern uint32_t *xcb_alloc_color_cells_pixels(const
					      xcb_alloc_color_cells_reply_t
					      * R);
extern xcb_generic_iterator_t xcb_alloc_color_cells_pixels_end(const
							       xcb_alloc_color_cells_reply_t
							       * R);
extern int xcb_alloc_color_cells_pixels_length(const
					       xcb_alloc_color_cells_reply_t
					       * R);
extern xcb_alloc_color_cells_reply_t
    *xcb_alloc_color_cells_reply(xcb_connection_t * c,
				 xcb_alloc_color_cells_cookie_t cookie,
				 xcb_generic_error_t * *e);
extern xcb_alloc_color_cells_cookie_t
xcb_alloc_color_cells_unchecked(xcb_connection_t * c, uint8_t contiguous,
				xcb_colormap_t cmap, uint16_t colors,
				uint16_t planes);
extern xcb_alloc_color_planes_cookie_t
xcb_alloc_color_planes(xcb_connection_t * c, uint8_t contiguous,
		       xcb_colormap_t cmap, uint16_t colors, uint16_t reds,
		       uint16_t greens, uint16_t blues);
extern uint32_t *xcb_alloc_color_planes_pixels(const
					       xcb_alloc_color_planes_reply_t
					       * R);
extern xcb_generic_iterator_t xcb_alloc_color_planes_pixels_end(const
								xcb_alloc_color_planes_reply_t
								* R);
extern int xcb_alloc_color_planes_pixels_length(const
						xcb_alloc_color_planes_reply_t
						* R);
extern xcb_alloc_color_planes_reply_t
    *xcb_alloc_color_planes_reply(xcb_connection_t * c,
				  xcb_alloc_color_planes_cookie_t cookie,
				  xcb_generic_error_t * *e);
extern xcb_alloc_color_planes_cookie_t
xcb_alloc_color_planes_unchecked(xcb_connection_t * c, uint8_t contiguous,
				 xcb_colormap_t cmap, uint16_t colors,
				 uint16_t reds, uint16_t greens,
				 uint16_t blues);
extern xcb_alloc_color_reply_t *xcb_alloc_color_reply(xcb_connection_t * c,
						      xcb_alloc_color_cookie_t
						      cookie,
						      xcb_generic_error_t *
						      *e);
extern xcb_alloc_color_cookie_t xcb_alloc_color_unchecked(xcb_connection_t
							  * c,
							  xcb_colormap_t
							  cmap,
							  uint16_t red,
							  uint16_t green,
							  uint16_t blue);
extern xcb_alloc_named_color_cookie_t
xcb_alloc_named_color(xcb_connection_t * c, xcb_colormap_t cmap,
		      uint16_t name_len, const char *name);
extern xcb_alloc_named_color_reply_t
    *xcb_alloc_named_color_reply(xcb_connection_t * c,
				 xcb_alloc_named_color_cookie_t cookie,
				 xcb_generic_error_t * *e);
extern xcb_alloc_named_color_cookie_t
xcb_alloc_named_color_unchecked(xcb_connection_t * c, xcb_colormap_t cmap,
				uint16_t name_len, const char *name);
extern xcb_void_cookie_t xcb_allow_events(xcb_connection_t * c,
					  uint8_t mode,
					  xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_allow_events_checked(xcb_connection_t * c,
						  uint8_t mode,
						  xcb_timestamp_t time);
extern xcb_generic_iterator_t xcb_arc_end(xcb_arc_iterator_t i);
extern void xcb_arc_next(xcb_arc_iterator_t * i);
extern xcb_generic_iterator_t xcb_atom_end(xcb_atom_iterator_t i);
extern void xcb_atom_next(xcb_atom_iterator_t * i);
extern xcb_void_cookie_t xcb_bell(xcb_connection_t * c, int8_t percent);
extern xcb_void_cookie_t xcb_bell_checked(xcb_connection_t * c,
					  int8_t percent);
extern xcb_generic_iterator_t xcb_button_end(xcb_button_iterator_t i);
extern void xcb_button_next(xcb_button_iterator_t * i);
extern xcb_void_cookie_t xcb_change_active_pointer_grab(xcb_connection_t *
							c,
							xcb_cursor_t
							cursor,
							xcb_timestamp_t
							time,
							uint16_t
							event_mask);
extern xcb_void_cookie_t
xcb_change_active_pointer_grab_checked(xcb_connection_t * c,
				       xcb_cursor_t cursor,
				       xcb_timestamp_t time,
				       uint16_t event_mask);
extern xcb_void_cookie_t xcb_change_gc(xcb_connection_t * c,
				       xcb_gcontext_t gc,
				       uint32_t value_mask,
				       const uint32_t * value_list);
extern xcb_void_cookie_t xcb_change_gc_checked(xcb_connection_t * c,
					       xcb_gcontext_t gc,
					       uint32_t value_mask,
					       const uint32_t *
					       value_list);
extern xcb_void_cookie_t xcb_change_hosts(xcb_connection_t * c,
					  uint8_t mode, uint8_t family,
					  uint16_t address_len,
					  const char *address);
extern xcb_void_cookie_t xcb_change_hosts_checked(xcb_connection_t * c,
						  uint8_t mode,
						  uint8_t family,
						  uint16_t address_len,
						  const char *address);
extern xcb_void_cookie_t xcb_change_keyboard_control(xcb_connection_t * c,
						     uint32_t value_mask,
						     const uint32_t *
						     value_list);
extern xcb_void_cookie_t
xcb_change_keyboard_control_checked(xcb_connection_t * c,
				    uint32_t value_mask,
				    const uint32_t * value_list);
extern xcb_void_cookie_t xcb_change_keyboard_mapping(xcb_connection_t * c,
						     uint8_t keycode_count,
						     xcb_keycode_t
						     first_keycode,
						     uint8_t
						     keysyms_per_keycode,
						     const xcb_keysym_t *
						     keysyms);
extern xcb_void_cookie_t
xcb_change_keyboard_mapping_checked(xcb_connection_t * c,
				    uint8_t keycode_count,
				    xcb_keycode_t first_keycode,
				    uint8_t keysyms_per_keycode,
				    const xcb_keysym_t * keysyms);
extern xcb_void_cookie_t xcb_change_pointer_control(xcb_connection_t * c,
						    int16_t
						    acceleration_numerator,
						    int16_t
						    acceleration_denominator,
						    int16_t threshold,
						    uint8_t
						    do_acceleration,
						    uint8_t do_threshold);
extern xcb_void_cookie_t
xcb_change_pointer_control_checked(xcb_connection_t * c,
				   int16_t acceleration_numerator,
				   int16_t acceleration_denominator,
				   int16_t threshold,
				   uint8_t do_acceleration,
				   uint8_t do_threshold);
extern xcb_void_cookie_t xcb_change_property(xcb_connection_t * c,
					     uint8_t mode,
					     xcb_window_t window,
					     xcb_atom_t property,
					     xcb_atom_t type,
					     uint8_t format,
					     uint32_t data_len,
					     const void *data);
extern xcb_void_cookie_t xcb_change_property_checked(xcb_connection_t * c,
						     uint8_t mode,
						     xcb_window_t window,
						     xcb_atom_t property,
						     xcb_atom_t type,
						     uint8_t format,
						     uint32_t data_len,
						     const void *data);
extern xcb_void_cookie_t xcb_change_save_set(xcb_connection_t * c,
					     uint8_t mode,
					     xcb_window_t window);
extern xcb_void_cookie_t xcb_change_save_set_checked(xcb_connection_t * c,
						     uint8_t mode,
						     xcb_window_t window);
extern xcb_void_cookie_t xcb_change_window_attributes(xcb_connection_t * c,
						      xcb_window_t window,
						      uint32_t value_mask,
						      const uint32_t *
						      value_list);
extern xcb_void_cookie_t
xcb_change_window_attributes_checked(xcb_connection_t * c,
				     xcb_window_t window,
				     uint32_t value_mask,
				     const uint32_t * value_list);
extern xcb_generic_iterator_t xcb_char2b_end(xcb_char2b_iterator_t i);
extern void xcb_char2b_next(xcb_char2b_iterator_t * i);
extern xcb_generic_iterator_t xcb_charinfo_end(xcb_charinfo_iterator_t i);
extern void xcb_charinfo_next(xcb_charinfo_iterator_t * i);
extern xcb_void_cookie_t xcb_circulate_window(xcb_connection_t * c,
					      uint8_t direction,
					      xcb_window_t window);
extern xcb_void_cookie_t xcb_circulate_window_checked(xcb_connection_t * c,
						      uint8_t direction,
						      xcb_window_t window);
extern xcb_void_cookie_t xcb_clear_area(xcb_connection_t * c,
					uint8_t exposures,
					xcb_window_t window, int16_t x,
					int16_t y, uint16_t width,
					uint16_t height);
extern xcb_void_cookie_t xcb_clear_area_checked(xcb_connection_t * c,
						uint8_t exposures,
						xcb_window_t window,
						int16_t x, int16_t y,
						uint16_t width,
						uint16_t height);
extern xcb_generic_iterator_t
xcb_client_message_data_end(xcb_client_message_data_iterator_t i);
extern void xcb_client_message_data_next(xcb_client_message_data_iterator_t
					 * i);
extern xcb_void_cookie_t xcb_close_font(xcb_connection_t * c,
					xcb_font_t font);
extern xcb_void_cookie_t xcb_close_font_checked(xcb_connection_t * c,
						xcb_font_t font);
extern xcb_generic_iterator_t xcb_coloritem_end(xcb_coloritem_iterator_t
						i);
extern void xcb_coloritem_next(xcb_coloritem_iterator_t * i);
extern xcb_generic_iterator_t xcb_colormap_end(xcb_colormap_iterator_t i);
extern void xcb_colormap_next(xcb_colormap_iterator_t * i);
extern xcb_void_cookie_t xcb_configure_window(xcb_connection_t * c,
					      xcb_window_t window,
					      uint16_t value_mask,
					      const uint32_t * value_list);
extern xcb_void_cookie_t xcb_configure_window_checked(xcb_connection_t * c,
						      xcb_window_t window,
						      uint16_t value_mask,
						      const uint32_t *
						      value_list);
extern xcb_void_cookie_t xcb_convert_selection(xcb_connection_t * c,
					       xcb_window_t requestor,
					       xcb_atom_t selection,
					       xcb_atom_t target,
					       xcb_atom_t property,
					       xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_convert_selection_checked(xcb_connection_t *
						       c,
						       xcb_window_t
						       requestor,
						       xcb_atom_t
						       selection,
						       xcb_atom_t target,
						       xcb_atom_t property,
						       xcb_timestamp_t
						       time);
extern xcb_void_cookie_t xcb_copy_area(xcb_connection_t * c,
				       xcb_drawable_t src_drawable,
				       xcb_drawable_t dst_drawable,
				       xcb_gcontext_t gc, int16_t src_x,
				       int16_t src_y, int16_t dst_x,
				       int16_t dst_y, uint16_t width,
				       uint16_t height);
extern xcb_void_cookie_t xcb_copy_area_checked(xcb_connection_t * c,
					       xcb_drawable_t src_drawable,
					       xcb_drawable_t dst_drawable,
					       xcb_gcontext_t gc,
					       int16_t src_x,
					       int16_t src_y,
					       int16_t dst_x,
					       int16_t dst_y,
					       uint16_t width,
					       uint16_t height);
extern xcb_void_cookie_t xcb_copy_colormap_and_free(xcb_connection_t * c,
						    xcb_colormap_t mid,
						    xcb_colormap_t
						    src_cmap);
extern xcb_void_cookie_t
xcb_copy_colormap_and_free_checked(xcb_connection_t * c,
				   xcb_colormap_t mid,
				   xcb_colormap_t src_cmap);
extern xcb_void_cookie_t xcb_copy_gc(xcb_connection_t * c,
				     xcb_gcontext_t src_gc,
				     xcb_gcontext_t dst_gc,
				     uint32_t value_mask);
extern xcb_void_cookie_t xcb_copy_gc_checked(xcb_connection_t * c,
					     xcb_gcontext_t src_gc,
					     xcb_gcontext_t dst_gc,
					     uint32_t value_mask);
extern xcb_void_cookie_t xcb_copy_plane(xcb_connection_t * c,
					xcb_drawable_t src_drawable,
					xcb_drawable_t dst_drawable,
					xcb_gcontext_t gc, int16_t src_x,
					int16_t src_y, int16_t dst_x,
					int16_t dst_y, uint16_t width,
					uint16_t height,
					uint32_t bit_plane);
extern xcb_void_cookie_t xcb_copy_plane_checked(xcb_connection_t * c,
						xcb_drawable_t
						src_drawable,
						xcb_drawable_t
						dst_drawable,
						xcb_gcontext_t gc,
						int16_t src_x,
						int16_t src_y,
						int16_t dst_x,
						int16_t dst_y,
						uint16_t width,
						uint16_t height,
						uint32_t bit_plane);
extern xcb_void_cookie_t xcb_create_colormap(xcb_connection_t * c,
					     uint8_t alloc,
					     xcb_colormap_t mid,
					     xcb_window_t window,
					     xcb_visualid_t visual);
extern xcb_void_cookie_t xcb_create_colormap_checked(xcb_connection_t * c,
						     uint8_t alloc,
						     xcb_colormap_t mid,
						     xcb_window_t window,
						     xcb_visualid_t
						     visual);
extern xcb_void_cookie_t xcb_create_cursor(xcb_connection_t * c,
					   xcb_cursor_t cid,
					   xcb_pixmap_t source,
					   xcb_pixmap_t mask,
					   uint16_t fore_red,
					   uint16_t fore_green,
					   uint16_t fore_blue,
					   uint16_t back_red,
					   uint16_t back_green,
					   uint16_t back_blue, uint16_t x,
					   uint16_t y);
extern xcb_void_cookie_t xcb_create_cursor_checked(xcb_connection_t * c,
						   xcb_cursor_t cid,
						   xcb_pixmap_t source,
						   xcb_pixmap_t mask,
						   uint16_t fore_red,
						   uint16_t fore_green,
						   uint16_t fore_blue,
						   uint16_t back_red,
						   uint16_t back_green,
						   uint16_t back_blue,
						   uint16_t x, uint16_t y);
extern xcb_void_cookie_t xcb_create_gc(xcb_connection_t * c,
				       xcb_gcontext_t cid,
				       xcb_drawable_t drawable,
				       uint32_t value_mask,
				       const uint32_t * value_list);
extern xcb_void_cookie_t xcb_create_gc_checked(xcb_connection_t * c,
					       xcb_gcontext_t cid,
					       xcb_drawable_t drawable,
					       uint32_t value_mask,
					       const uint32_t *
					       value_list);
extern xcb_void_cookie_t xcb_create_glyph_cursor(xcb_connection_t * c,
						 xcb_cursor_t cid,
						 xcb_font_t source_font,
						 xcb_font_t mask_font,
						 uint16_t source_char,
						 uint16_t mask_char,
						 uint16_t fore_red,
						 uint16_t fore_green,
						 uint16_t fore_blue,
						 uint16_t back_red,
						 uint16_t back_green,
						 uint16_t back_blue);
extern xcb_void_cookie_t xcb_create_glyph_cursor_checked(xcb_connection_t *
							 c,
							 xcb_cursor_t cid,
							 xcb_font_t
							 source_font,
							 xcb_font_t
							 mask_font,
							 uint16_t
							 source_char,
							 uint16_t
							 mask_char,
							 uint16_t fore_red,
							 uint16_t
							 fore_green,
							 uint16_t
							 fore_blue,
							 uint16_t back_red,
							 uint16_t
							 back_green,
							 uint16_t
							 back_blue);
extern xcb_void_cookie_t xcb_create_pixmap(xcb_connection_t * c,
					   uint8_t depth, xcb_pixmap_t pid,
					   xcb_drawable_t drawable,
					   uint16_t width,
					   uint16_t height);
extern xcb_void_cookie_t xcb_create_pixmap_checked(xcb_connection_t * c,
						   uint8_t depth,
						   xcb_pixmap_t pid,
						   xcb_drawable_t drawable,
						   uint16_t width,
						   uint16_t height);
extern xcb_void_cookie_t xcb_create_window(xcb_connection_t * c,
					   uint8_t depth, xcb_window_t wid,
					   xcb_window_t parent, int16_t x,
					   int16_t y, uint16_t width,
					   uint16_t height,
					   uint16_t border_width,
					   uint16_t _class,
					   xcb_visualid_t visual,
					   uint32_t value_mask,
					   const uint32_t * value_list);
extern xcb_void_cookie_t xcb_create_window_checked(xcb_connection_t * c,
						   uint8_t depth,
						   xcb_window_t wid,
						   xcb_window_t parent,
						   int16_t x, int16_t y,
						   uint16_t width,
						   uint16_t height,
						   uint16_t border_width,
						   uint16_t _class,
						   xcb_visualid_t visual,
						   uint32_t value_mask,
						   const uint32_t *
						   value_list);
extern xcb_generic_iterator_t xcb_cursor_end(xcb_cursor_iterator_t i);
extern void xcb_cursor_next(xcb_cursor_iterator_t * i);
extern xcb_void_cookie_t xcb_delete_property(xcb_connection_t * c,
					     xcb_window_t window,
					     xcb_atom_t property);
extern xcb_void_cookie_t xcb_delete_property_checked(xcb_connection_t * c,
						     xcb_window_t window,
						     xcb_atom_t property);
extern xcb_generic_iterator_t xcb_depth_end(xcb_depth_iterator_t i);
extern void xcb_depth_next(xcb_depth_iterator_t * i);
extern xcb_visualtype_t *xcb_depth_visuals(const xcb_depth_t * R);
extern xcb_visualtype_iterator_t xcb_depth_visuals_iterator(const
							    xcb_depth_t *
							    R);
extern int xcb_depth_visuals_length(const xcb_depth_t * R);
extern xcb_void_cookie_t xcb_destroy_subwindows(xcb_connection_t * c,
						xcb_window_t window);
extern xcb_void_cookie_t xcb_destroy_subwindows_checked(xcb_connection_t *
							c,
							xcb_window_t
							window);
extern xcb_void_cookie_t xcb_destroy_window(xcb_connection_t * c,
					    xcb_window_t window);
extern xcb_void_cookie_t xcb_destroy_window_checked(xcb_connection_t * c,
						    xcb_window_t window);
extern xcb_generic_iterator_t xcb_drawable_end(xcb_drawable_iterator_t i);
extern void xcb_drawable_next(xcb_drawable_iterator_t * i);
extern xcb_void_cookie_t xcb_fill_poly(xcb_connection_t * c,
				       xcb_drawable_t drawable,
				       xcb_gcontext_t gc, uint8_t shape,
				       uint8_t coordinate_mode,
				       uint32_t points_len,
				       const xcb_point_t * points);
extern xcb_void_cookie_t xcb_fill_poly_checked(xcb_connection_t * c,
					       xcb_drawable_t drawable,
					       xcb_gcontext_t gc,
					       uint8_t shape,
					       uint8_t coordinate_mode,
					       uint32_t points_len,
					       const xcb_point_t * points);
extern xcb_generic_iterator_t xcb_font_end(xcb_font_iterator_t i);
extern void xcb_font_next(xcb_font_iterator_t * i);
extern xcb_generic_iterator_t xcb_fontable_end(xcb_fontable_iterator_t i);
extern void xcb_fontable_next(xcb_fontable_iterator_t * i);
extern xcb_generic_iterator_t xcb_fontprop_end(xcb_fontprop_iterator_t i);
extern void xcb_fontprop_next(xcb_fontprop_iterator_t * i);
extern xcb_void_cookie_t xcb_force_screen_saver(xcb_connection_t * c,
						uint8_t mode);
extern xcb_void_cookie_t xcb_force_screen_saver_checked(xcb_connection_t *
							c, uint8_t mode);
extern xcb_generic_iterator_t xcb_format_end(xcb_format_iterator_t i);
extern void xcb_format_next(xcb_format_iterator_t * i);
extern xcb_void_cookie_t xcb_free_colormap(xcb_connection_t * c,
					   xcb_colormap_t cmap);
extern xcb_void_cookie_t xcb_free_colormap_checked(xcb_connection_t * c,
						   xcb_colormap_t cmap);
extern xcb_void_cookie_t xcb_free_colors(xcb_connection_t * c,
					 xcb_colormap_t cmap,
					 uint32_t plane_mask,
					 uint32_t pixels_len,
					 const uint32_t * pixels);
extern xcb_void_cookie_t xcb_free_colors_checked(xcb_connection_t * c,
						 xcb_colormap_t cmap,
						 uint32_t plane_mask,
						 uint32_t pixels_len,
						 const uint32_t * pixels);
extern xcb_void_cookie_t xcb_free_cursor(xcb_connection_t * c,
					 xcb_cursor_t cursor);
extern xcb_void_cookie_t xcb_free_cursor_checked(xcb_connection_t * c,
						 xcb_cursor_t cursor);
extern xcb_void_cookie_t xcb_free_gc(xcb_connection_t * c,
				     xcb_gcontext_t gc);
extern xcb_void_cookie_t xcb_free_gc_checked(xcb_connection_t * c,
					     xcb_gcontext_t gc);
extern xcb_void_cookie_t xcb_free_pixmap(xcb_connection_t * c,
					 xcb_pixmap_t pixmap);
extern xcb_void_cookie_t xcb_free_pixmap_checked(xcb_connection_t * c,
						 xcb_pixmap_t pixmap);
extern xcb_generic_iterator_t xcb_gcontext_end(xcb_gcontext_iterator_t i);
extern void xcb_gcontext_next(xcb_gcontext_iterator_t * i);
extern xcb_get_atom_name_cookie_t xcb_get_atom_name(xcb_connection_t * c,
						    xcb_atom_t atom);
extern char *xcb_get_atom_name_name(const xcb_get_atom_name_reply_t * R);
extern xcb_generic_iterator_t xcb_get_atom_name_name_end(const
							 xcb_get_atom_name_reply_t
							 * R);
extern int xcb_get_atom_name_name_length(const xcb_get_atom_name_reply_t *
					 R);
extern xcb_get_atom_name_reply_t *xcb_get_atom_name_reply(xcb_connection_t
							  * c,
							  xcb_get_atom_name_cookie_t
							  cookie,
							  xcb_generic_error_t
							  * *e);
extern xcb_get_atom_name_cookie_t
xcb_get_atom_name_unchecked(xcb_connection_t * c, xcb_atom_t atom);
extern xcb_get_font_path_cookie_t xcb_get_font_path(xcb_connection_t * c);
extern xcb_str_iterator_t xcb_get_font_path_path_iterator(const
							  xcb_get_font_path_reply_t
							  * R);
extern int xcb_get_font_path_path_length(const xcb_get_font_path_reply_t *
					 R);
extern xcb_get_font_path_reply_t *xcb_get_font_path_reply(xcb_connection_t
							  * c,
							  xcb_get_font_path_cookie_t
							  cookie,
							  xcb_generic_error_t
							  * *e);
extern xcb_get_font_path_cookie_t
xcb_get_font_path_unchecked(xcb_connection_t * c);
extern xcb_get_geometry_cookie_t xcb_get_geometry(xcb_connection_t * c,
						  xcb_drawable_t drawable);
extern xcb_get_geometry_reply_t *xcb_get_geometry_reply(xcb_connection_t *
							c,
							xcb_get_geometry_cookie_t
							cookie,
							xcb_generic_error_t
							* *e);
extern xcb_get_geometry_cookie_t
xcb_get_geometry_unchecked(xcb_connection_t * c, xcb_drawable_t drawable);
extern xcb_get_image_cookie_t xcb_get_image(xcb_connection_t * c,
					    uint8_t format,
					    xcb_drawable_t drawable,
					    int16_t x, int16_t y,
					    uint16_t width,
					    uint16_t height,
					    uint32_t plane_mask);
extern uint8_t *xcb_get_image_data(const xcb_get_image_reply_t * R);
extern xcb_generic_iterator_t xcb_get_image_data_end(const
						     xcb_get_image_reply_t
						     * R);
extern int xcb_get_image_data_length(const xcb_get_image_reply_t * R);
extern xcb_get_image_reply_t *xcb_get_image_reply(xcb_connection_t * c,
						  xcb_get_image_cookie_t
						  cookie,
						  xcb_generic_error_t *
						  *e);
extern xcb_get_image_cookie_t xcb_get_image_unchecked(xcb_connection_t * c,
						      uint8_t format,
						      xcb_drawable_t
						      drawable, int16_t x,
						      int16_t y,
						      uint16_t width,
						      uint16_t height,
						      uint32_t plane_mask);
extern xcb_get_input_focus_cookie_t xcb_get_input_focus(xcb_connection_t *
							c);
extern xcb_get_input_focus_reply_t
    *xcb_get_input_focus_reply(xcb_connection_t * c,
			       xcb_get_input_focus_cookie_t cookie,
			       xcb_generic_error_t * *e);
extern xcb_get_input_focus_cookie_t
xcb_get_input_focus_unchecked(xcb_connection_t * c);
extern xcb_get_keyboard_control_cookie_t
xcb_get_keyboard_control(xcb_connection_t * c);
extern xcb_get_keyboard_control_reply_t
    *xcb_get_keyboard_control_reply(xcb_connection_t * c,
				    xcb_get_keyboard_control_cookie_t
				    cookie, xcb_generic_error_t * *e);
extern xcb_get_keyboard_control_cookie_t
xcb_get_keyboard_control_unchecked(xcb_connection_t * c);
extern xcb_get_keyboard_mapping_cookie_t
xcb_get_keyboard_mapping(xcb_connection_t * c, xcb_keycode_t first_keycode,
			 uint8_t count);
extern xcb_keysym_t *xcb_get_keyboard_mapping_keysyms(const
						      xcb_get_keyboard_mapping_reply_t
						      * R);
extern xcb_generic_iterator_t xcb_get_keyboard_mapping_keysyms_end(const
								   xcb_get_keyboard_mapping_reply_t
								   * R);
extern int xcb_get_keyboard_mapping_keysyms_length(const
						   xcb_get_keyboard_mapping_reply_t
						   * R);
extern xcb_get_keyboard_mapping_reply_t
    *xcb_get_keyboard_mapping_reply(xcb_connection_t * c,
				    xcb_get_keyboard_mapping_cookie_t
				    cookie, xcb_generic_error_t * *e);
extern xcb_get_keyboard_mapping_cookie_t
xcb_get_keyboard_mapping_unchecked(xcb_connection_t * c,
				   xcb_keycode_t first_keycode,
				   uint8_t count);
extern xcb_get_modifier_mapping_cookie_t
xcb_get_modifier_mapping(xcb_connection_t * c);
extern xcb_keycode_t *xcb_get_modifier_mapping_keycodes(const
							xcb_get_modifier_mapping_reply_t
							* R);
extern xcb_generic_iterator_t xcb_get_modifier_mapping_keycodes_end(const
								    xcb_get_modifier_mapping_reply_t
								    * R);
extern int xcb_get_modifier_mapping_keycodes_length(const
						    xcb_get_modifier_mapping_reply_t
						    * R);
extern xcb_get_modifier_mapping_reply_t
    *xcb_get_modifier_mapping_reply(xcb_connection_t * c,
				    xcb_get_modifier_mapping_cookie_t
				    cookie, xcb_generic_error_t * *e);
extern xcb_get_modifier_mapping_cookie_t
xcb_get_modifier_mapping_unchecked(xcb_connection_t * c);
extern xcb_get_motion_events_cookie_t
xcb_get_motion_events(xcb_connection_t * c, xcb_window_t window,
		      xcb_timestamp_t start, xcb_timestamp_t stop);
extern xcb_timecoord_t *xcb_get_motion_events_events(const
						     xcb_get_motion_events_reply_t
						     * R);
extern xcb_timecoord_iterator_t xcb_get_motion_events_events_iterator(const
								      xcb_get_motion_events_reply_t
								      * R);
extern int xcb_get_motion_events_events_length(const
					       xcb_get_motion_events_reply_t
					       * R);
extern xcb_get_motion_events_reply_t
    *xcb_get_motion_events_reply(xcb_connection_t * c,
				 xcb_get_motion_events_cookie_t cookie,
				 xcb_generic_error_t * *e);
extern xcb_get_motion_events_cookie_t
xcb_get_motion_events_unchecked(xcb_connection_t * c, xcb_window_t window,
				xcb_timestamp_t start,
				xcb_timestamp_t stop);
extern xcb_get_pointer_control_cookie_t
xcb_get_pointer_control(xcb_connection_t * c);
extern xcb_get_pointer_control_reply_t
    *xcb_get_pointer_control_reply(xcb_connection_t * c,
				   xcb_get_pointer_control_cookie_t cookie,
				   xcb_generic_error_t * *e);
extern xcb_get_pointer_control_cookie_t
xcb_get_pointer_control_unchecked(xcb_connection_t * c);
extern xcb_get_pointer_mapping_cookie_t
xcb_get_pointer_mapping(xcb_connection_t * c);
extern uint8_t *xcb_get_pointer_mapping_map(const
					    xcb_get_pointer_mapping_reply_t
					    * R);
extern xcb_generic_iterator_t xcb_get_pointer_mapping_map_end(const
							      xcb_get_pointer_mapping_reply_t
							      * R);
extern int xcb_get_pointer_mapping_map_length(const
					      xcb_get_pointer_mapping_reply_t
					      * R);
extern xcb_get_pointer_mapping_reply_t
    *xcb_get_pointer_mapping_reply(xcb_connection_t * c,
				   xcb_get_pointer_mapping_cookie_t cookie,
				   xcb_generic_error_t * *e);
extern xcb_get_pointer_mapping_cookie_t
xcb_get_pointer_mapping_unchecked(xcb_connection_t * c);
extern xcb_get_property_cookie_t xcb_get_property(xcb_connection_t * c,
						  uint8_t _delete,
						  xcb_window_t window,
						  xcb_atom_t property,
						  xcb_atom_t type,
						  uint32_t long_offset,
						  uint32_t long_length);
extern xcb_get_property_reply_t *xcb_get_property_reply(xcb_connection_t *
							c,
							xcb_get_property_cookie_t
							cookie,
							xcb_generic_error_t
							* *e);
extern xcb_get_property_cookie_t
xcb_get_property_unchecked(xcb_connection_t * c, uint8_t _delete,
			   xcb_window_t window, xcb_atom_t property,
			   xcb_atom_t type, uint32_t long_offset,
			   uint32_t long_length);
extern void *xcb_get_property_value(const xcb_get_property_reply_t * R);
extern xcb_generic_iterator_t xcb_get_property_value_end(const
							 xcb_get_property_reply_t
							 * R);
extern int xcb_get_property_value_length(const xcb_get_property_reply_t *
					 R);
extern xcb_get_screen_saver_cookie_t xcb_get_screen_saver(xcb_connection_t
							  * c);
extern xcb_get_screen_saver_reply_t
    *xcb_get_screen_saver_reply(xcb_connection_t * c,
				xcb_get_screen_saver_cookie_t cookie,
				xcb_generic_error_t * *e);
extern xcb_get_screen_saver_cookie_t
xcb_get_screen_saver_unchecked(xcb_connection_t * c);
extern xcb_get_selection_owner_cookie_t
xcb_get_selection_owner(xcb_connection_t * c, xcb_atom_t selection);
extern xcb_get_selection_owner_reply_t
    *xcb_get_selection_owner_reply(xcb_connection_t * c,
				   xcb_get_selection_owner_cookie_t cookie,
				   xcb_generic_error_t * *e);
extern xcb_get_selection_owner_cookie_t
xcb_get_selection_owner_unchecked(xcb_connection_t * c,
				  xcb_atom_t selection);
extern xcb_get_window_attributes_cookie_t
xcb_get_window_attributes(xcb_connection_t * c, xcb_window_t window);
extern xcb_get_window_attributes_reply_t
    *xcb_get_window_attributes_reply(xcb_connection_t * c,
				     xcb_get_window_attributes_cookie_t
				     cookie, xcb_generic_error_t * *e);
extern xcb_get_window_attributes_cookie_t
xcb_get_window_attributes_unchecked(xcb_connection_t * c,
				    xcb_window_t window);
extern xcb_void_cookie_t xcb_grab_button(xcb_connection_t * c,
					 uint8_t owner_events,
					 xcb_window_t grab_window,
					 uint16_t event_mask,
					 uint8_t pointer_mode,
					 uint8_t keyboard_mode,
					 xcb_window_t confine_to,
					 xcb_cursor_t cursor,
					 uint8_t button,
					 uint16_t modifiers);
extern xcb_void_cookie_t xcb_grab_button_checked(xcb_connection_t * c,
						 uint8_t owner_events,
						 xcb_window_t grab_window,
						 uint16_t event_mask,
						 uint8_t pointer_mode,
						 uint8_t keyboard_mode,
						 xcb_window_t confine_to,
						 xcb_cursor_t cursor,
						 uint8_t button,
						 uint16_t modifiers);
extern xcb_void_cookie_t xcb_grab_key(xcb_connection_t * c,
				      uint8_t owner_events,
				      xcb_window_t grab_window,
				      uint16_t modifiers,
				      xcb_keycode_t key,
				      uint8_t pointer_mode,
				      uint8_t keyboard_mode);
extern xcb_void_cookie_t xcb_grab_key_checked(xcb_connection_t * c,
					      uint8_t owner_events,
					      xcb_window_t grab_window,
					      uint16_t modifiers,
					      xcb_keycode_t key,
					      uint8_t pointer_mode,
					      uint8_t keyboard_mode);
extern xcb_grab_keyboard_cookie_t xcb_grab_keyboard(xcb_connection_t * c,
						    uint8_t owner_events,
						    xcb_window_t
						    grab_window,
						    xcb_timestamp_t time,
						    uint8_t pointer_mode,
						    uint8_t keyboard_mode);
extern xcb_grab_keyboard_reply_t *xcb_grab_keyboard_reply(xcb_connection_t
							  * c,
							  xcb_grab_keyboard_cookie_t
							  cookie,
							  xcb_generic_error_t
							  * *e);
extern xcb_grab_keyboard_cookie_t
xcb_grab_keyboard_unchecked(xcb_connection_t * c, uint8_t owner_events,
			    xcb_window_t grab_window, xcb_timestamp_t time,
			    uint8_t pointer_mode, uint8_t keyboard_mode);
extern xcb_grab_pointer_cookie_t xcb_grab_pointer(xcb_connection_t * c,
						  uint8_t owner_events,
						  xcb_window_t grab_window,
						  uint16_t event_mask,
						  uint8_t pointer_mode,
						  uint8_t keyboard_mode,
						  xcb_window_t confine_to,
						  xcb_cursor_t cursor,
						  xcb_timestamp_t time);
extern xcb_grab_pointer_reply_t *xcb_grab_pointer_reply(xcb_connection_t *
							c,
							xcb_grab_pointer_cookie_t
							cookie,
							xcb_generic_error_t
							* *e);
extern xcb_grab_pointer_cookie_t
xcb_grab_pointer_unchecked(xcb_connection_t * c, uint8_t owner_events,
			   xcb_window_t grab_window, uint16_t event_mask,
			   uint8_t pointer_mode, uint8_t keyboard_mode,
			   xcb_window_t confine_to, xcb_cursor_t cursor,
			   xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_grab_server(xcb_connection_t * c);
extern xcb_void_cookie_t xcb_grab_server_checked(xcb_connection_t * c);
extern uint8_t *xcb_host_address(const xcb_host_t * R);
extern xcb_generic_iterator_t xcb_host_address_end(const xcb_host_t * R);
extern int xcb_host_address_length(const xcb_host_t * R);
extern xcb_generic_iterator_t xcb_host_end(xcb_host_iterator_t i);
extern void xcb_host_next(xcb_host_iterator_t * i);
extern xcb_void_cookie_t xcb_image_text_16(xcb_connection_t * c,
					   uint8_t string_len,
					   xcb_drawable_t drawable,
					   xcb_gcontext_t gc, int16_t x,
					   int16_t y,
					   const xcb_char2b_t * string);
extern xcb_void_cookie_t xcb_image_text_16_checked(xcb_connection_t * c,
						   uint8_t string_len,
						   xcb_drawable_t drawable,
						   xcb_gcontext_t gc,
						   int16_t x, int16_t y,
						   const xcb_char2b_t *
						   string);
extern xcb_void_cookie_t xcb_image_text_8(xcb_connection_t * c,
					  uint8_t string_len,
					  xcb_drawable_t drawable,
					  xcb_gcontext_t gc, int16_t x,
					  int16_t y, const char *string);
extern xcb_void_cookie_t xcb_image_text_8_checked(xcb_connection_t * c,
						  uint8_t string_len,
						  xcb_drawable_t drawable,
						  xcb_gcontext_t gc,
						  int16_t x, int16_t y,
						  const char *string);
extern xcb_void_cookie_t xcb_install_colormap(xcb_connection_t * c,
					      xcb_colormap_t cmap);
extern xcb_void_cookie_t xcb_install_colormap_checked(xcb_connection_t * c,
						      xcb_colormap_t cmap);
extern xcb_intern_atom_cookie_t xcb_intern_atom(xcb_connection_t * c,
						uint8_t only_if_exists,
						uint16_t name_len,
						const char *name);
extern xcb_intern_atom_reply_t *xcb_intern_atom_reply(xcb_connection_t * c,
						      xcb_intern_atom_cookie_t
						      cookie,
						      xcb_generic_error_t *
						      *e);
extern xcb_intern_atom_cookie_t xcb_intern_atom_unchecked(xcb_connection_t
							  * c,
							  uint8_t
							  only_if_exists,
							  uint16_t
							  name_len,
							  const char
							  *name);
extern xcb_generic_iterator_t xcb_keycode_end(xcb_keycode_iterator_t i);
extern void xcb_keycode_next(xcb_keycode_iterator_t * i);
extern xcb_generic_iterator_t xcb_keysym_end(xcb_keysym_iterator_t i);
extern void xcb_keysym_next(xcb_keysym_iterator_t * i);
extern xcb_void_cookie_t xcb_kill_client(xcb_connection_t * c,
					 uint32_t resource);
extern xcb_void_cookie_t xcb_kill_client_checked(xcb_connection_t * c,
						 uint32_t resource);
extern xcb_list_extensions_cookie_t xcb_list_extensions(xcb_connection_t *
							c);
extern xcb_str_iterator_t xcb_list_extensions_names_iterator(const
							     xcb_list_extensions_reply_t
							     * R);
extern int xcb_list_extensions_names_length(const
					    xcb_list_extensions_reply_t *
					    R);
extern xcb_list_extensions_reply_t
    *xcb_list_extensions_reply(xcb_connection_t * c,
			       xcb_list_extensions_cookie_t cookie,
			       xcb_generic_error_t * *e);
extern xcb_list_extensions_cookie_t
xcb_list_extensions_unchecked(xcb_connection_t * c);
extern xcb_list_fonts_cookie_t xcb_list_fonts(xcb_connection_t * c,
					      uint16_t max_names,
					      uint16_t pattern_len,
					      const char *pattern);
extern xcb_str_iterator_t xcb_list_fonts_names_iterator(const
							xcb_list_fonts_reply_t
							* R);
extern int xcb_list_fonts_names_length(const xcb_list_fonts_reply_t * R);
extern xcb_list_fonts_reply_t *xcb_list_fonts_reply(xcb_connection_t * c,
						    xcb_list_fonts_cookie_t
						    cookie,
						    xcb_generic_error_t *
						    *e);
extern xcb_list_fonts_cookie_t xcb_list_fonts_unchecked(xcb_connection_t *
							c,
							uint16_t max_names,
							uint16_t
							pattern_len,
							const char
							*pattern);
extern xcb_list_fonts_with_info_cookie_t
xcb_list_fonts_with_info(xcb_connection_t * c, uint16_t max_names,
			 uint16_t pattern_len, const char *pattern);
extern char *xcb_list_fonts_with_info_name(const
					   xcb_list_fonts_with_info_reply_t
					   * R);
extern xcb_generic_iterator_t xcb_list_fonts_with_info_name_end(const
								xcb_list_fonts_with_info_reply_t
								* R);
extern int xcb_list_fonts_with_info_name_length(const
						xcb_list_fonts_with_info_reply_t
						* R);
extern xcb_fontprop_t *xcb_list_fonts_with_info_properties(const
							   xcb_list_fonts_with_info_reply_t
							   * R);
extern xcb_fontprop_iterator_t
xcb_list_fonts_with_info_properties_iterator(const
					     xcb_list_fonts_with_info_reply_t
					     * R);
extern int xcb_list_fonts_with_info_properties_length(const
						      xcb_list_fonts_with_info_reply_t
						      * R);
extern xcb_list_fonts_with_info_reply_t
    *xcb_list_fonts_with_info_reply(xcb_connection_t * c,
				    xcb_list_fonts_with_info_cookie_t
				    cookie, xcb_generic_error_t * *e);
extern xcb_list_fonts_with_info_cookie_t
xcb_list_fonts_with_info_unchecked(xcb_connection_t * c,
				   uint16_t max_names,
				   uint16_t pattern_len,
				   const char *pattern);
extern xcb_list_hosts_cookie_t xcb_list_hosts(xcb_connection_t * c);
extern xcb_host_iterator_t xcb_list_hosts_hosts_iterator(const
							 xcb_list_hosts_reply_t
							 * R);
extern int xcb_list_hosts_hosts_length(const xcb_list_hosts_reply_t * R);
extern xcb_list_hosts_reply_t *xcb_list_hosts_reply(xcb_connection_t * c,
						    xcb_list_hosts_cookie_t
						    cookie,
						    xcb_generic_error_t *
						    *e);
extern xcb_list_hosts_cookie_t xcb_list_hosts_unchecked(xcb_connection_t *
							c);
extern xcb_list_installed_colormaps_cookie_t
xcb_list_installed_colormaps(xcb_connection_t * c, xcb_window_t window);
extern xcb_colormap_t *xcb_list_installed_colormaps_cmaps(const
							  xcb_list_installed_colormaps_reply_t
							  * R);
extern xcb_generic_iterator_t xcb_list_installed_colormaps_cmaps_end(const
								     xcb_list_installed_colormaps_reply_t
								     * R);
extern int xcb_list_installed_colormaps_cmaps_length(const
						     xcb_list_installed_colormaps_reply_t
						     * R);
extern xcb_list_installed_colormaps_reply_t
    *xcb_list_installed_colormaps_reply(xcb_connection_t * c,
					xcb_list_installed_colormaps_cookie_t
					cookie, xcb_generic_error_t * *e);
extern xcb_list_installed_colormaps_cookie_t
xcb_list_installed_colormaps_unchecked(xcb_connection_t * c,
				       xcb_window_t window);
extern xcb_list_properties_cookie_t xcb_list_properties(xcb_connection_t *
							c,
							xcb_window_t
							window);
extern xcb_atom_t *xcb_list_properties_atoms(const
					     xcb_list_properties_reply_t *
					     R);
extern xcb_generic_iterator_t xcb_list_properties_atoms_end(const
							    xcb_list_properties_reply_t
							    * R);
extern int xcb_list_properties_atoms_length(const
					    xcb_list_properties_reply_t *
					    R);
extern xcb_list_properties_reply_t
    *xcb_list_properties_reply(xcb_connection_t * c,
			       xcb_list_properties_cookie_t cookie,
			       xcb_generic_error_t * *e);
extern xcb_list_properties_cookie_t
xcb_list_properties_unchecked(xcb_connection_t * c, xcb_window_t window);
extern xcb_lookup_color_cookie_t xcb_lookup_color(xcb_connection_t * c,
						  xcb_colormap_t cmap,
						  uint16_t name_len,
						  const char *name);
extern xcb_lookup_color_reply_t *xcb_lookup_color_reply(xcb_connection_t *
							c,
							xcb_lookup_color_cookie_t
							cookie,
							xcb_generic_error_t
							* *e);
extern xcb_lookup_color_cookie_t
xcb_lookup_color_unchecked(xcb_connection_t * c, xcb_colormap_t cmap,
			   uint16_t name_len, const char *name);
extern xcb_void_cookie_t xcb_map_subwindows(xcb_connection_t * c,
					    xcb_window_t window);
extern xcb_void_cookie_t xcb_map_subwindows_checked(xcb_connection_t * c,
						    xcb_window_t window);
extern xcb_void_cookie_t xcb_map_window(xcb_connection_t * c,
					xcb_window_t window);
extern xcb_void_cookie_t xcb_map_window_checked(xcb_connection_t * c,
						xcb_window_t window);
extern xcb_void_cookie_t xcb_no_operation(xcb_connection_t * c);
extern xcb_void_cookie_t xcb_no_operation_checked(xcb_connection_t * c);
extern xcb_void_cookie_t xcb_open_font(xcb_connection_t * c,
				       xcb_font_t fid, uint16_t name_len,
				       const char *name);
extern xcb_void_cookie_t xcb_open_font_checked(xcb_connection_t * c,
					       xcb_font_t fid,
					       uint16_t name_len,
					       const char *name);
extern xcb_generic_iterator_t xcb_pixmap_end(xcb_pixmap_iterator_t i);
extern void xcb_pixmap_next(xcb_pixmap_iterator_t * i);
extern xcb_generic_iterator_t xcb_point_end(xcb_point_iterator_t i);
extern void xcb_point_next(xcb_point_iterator_t * i);
extern xcb_void_cookie_t xcb_poly_arc(xcb_connection_t * c,
				      xcb_drawable_t drawable,
				      xcb_gcontext_t gc, uint32_t arcs_len,
				      const xcb_arc_t * arcs);
extern xcb_void_cookie_t xcb_poly_arc_checked(xcb_connection_t * c,
					      xcb_drawable_t drawable,
					      xcb_gcontext_t gc,
					      uint32_t arcs_len,
					      const xcb_arc_t * arcs);
extern xcb_void_cookie_t xcb_poly_fill_arc(xcb_connection_t * c,
					   xcb_drawable_t drawable,
					   xcb_gcontext_t gc,
					   uint32_t arcs_len,
					   const xcb_arc_t * arcs);
extern xcb_void_cookie_t xcb_poly_fill_arc_checked(xcb_connection_t * c,
						   xcb_drawable_t drawable,
						   xcb_gcontext_t gc,
						   uint32_t arcs_len,
						   const xcb_arc_t * arcs);
extern xcb_void_cookie_t xcb_poly_fill_rectangle(xcb_connection_t * c,
						 xcb_drawable_t drawable,
						 xcb_gcontext_t gc,
						 uint32_t rectangles_len,
						 const xcb_rectangle_t *
						 rectangles);
extern xcb_void_cookie_t xcb_poly_fill_rectangle_checked(xcb_connection_t *
							 c,
							 xcb_drawable_t
							 drawable,
							 xcb_gcontext_t gc,
							 uint32_t
							 rectangles_len,
							 const
							 xcb_rectangle_t *
							 rectangles);
extern xcb_void_cookie_t xcb_poly_line(xcb_connection_t * c,
				       uint8_t coordinate_mode,
				       xcb_drawable_t drawable,
				       xcb_gcontext_t gc,
				       uint32_t points_len,
				       const xcb_point_t * points);
extern xcb_void_cookie_t xcb_poly_line_checked(xcb_connection_t * c,
					       uint8_t coordinate_mode,
					       xcb_drawable_t drawable,
					       xcb_gcontext_t gc,
					       uint32_t points_len,
					       const xcb_point_t * points);
extern xcb_void_cookie_t xcb_poly_point(xcb_connection_t * c,
					uint8_t coordinate_mode,
					xcb_drawable_t drawable,
					xcb_gcontext_t gc,
					uint32_t points_len,
					const xcb_point_t * points);
extern xcb_void_cookie_t xcb_poly_point_checked(xcb_connection_t * c,
						uint8_t coordinate_mode,
						xcb_drawable_t drawable,
						xcb_gcontext_t gc,
						uint32_t points_len,
						const xcb_point_t *
						points);
extern xcb_void_cookie_t xcb_poly_rectangle(xcb_connection_t * c,
					    xcb_drawable_t drawable,
					    xcb_gcontext_t gc,
					    uint32_t rectangles_len,
					    const xcb_rectangle_t *
					    rectangles);
extern xcb_void_cookie_t xcb_poly_rectangle_checked(xcb_connection_t * c,
						    xcb_drawable_t
						    drawable,
						    xcb_gcontext_t gc,
						    uint32_t
						    rectangles_len,
						    const xcb_rectangle_t *
						    rectangles);
extern xcb_void_cookie_t xcb_poly_segment(xcb_connection_t * c,
					  xcb_drawable_t drawable,
					  xcb_gcontext_t gc,
					  uint32_t segments_len,
					  const xcb_segment_t * segments);
extern xcb_void_cookie_t xcb_poly_segment_checked(xcb_connection_t * c,
						  xcb_drawable_t drawable,
						  xcb_gcontext_t gc,
						  uint32_t segments_len,
						  const xcb_segment_t *
						  segments);
extern xcb_void_cookie_t xcb_poly_text_16(xcb_connection_t * c,
					  xcb_drawable_t drawable,
					  xcb_gcontext_t gc, int16_t x,
					  int16_t y, uint32_t items_len,
					  const unsigned char *items);
extern xcb_void_cookie_t xcb_poly_text_16_checked(xcb_connection_t * c,
						  xcb_drawable_t drawable,
						  xcb_gcontext_t gc,
						  int16_t x, int16_t y,
						  uint32_t items_len,
						  const unsigned char
						  *items);
extern xcb_void_cookie_t xcb_poly_text_8(xcb_connection_t * c,
					 xcb_drawable_t drawable,
					 xcb_gcontext_t gc, int16_t x,
					 int16_t y, uint32_t items_len,
					 const unsigned char *items);
extern xcb_void_cookie_t xcb_poly_text_8_checked(xcb_connection_t * c,
						 xcb_drawable_t drawable,
						 xcb_gcontext_t gc,
						 int16_t x, int16_t y,
						 uint32_t items_len,
						 const unsigned char
						 *items);
extern xcb_void_cookie_t xcb_put_image(xcb_connection_t * c,
				       uint8_t format,
				       xcb_drawable_t drawable,
				       xcb_gcontext_t gc, uint16_t width,
				       uint16_t height, int16_t dst_x,
				       int16_t dst_y, uint8_t left_pad,
				       uint8_t depth, uint32_t data_len,
				       const unsigned char *data);
extern xcb_void_cookie_t xcb_put_image_checked(xcb_connection_t * c,
					       uint8_t format,
					       xcb_drawable_t drawable,
					       xcb_gcontext_t gc,
					       uint16_t width,
					       uint16_t height,
					       int16_t dst_x,
					       int16_t dst_y,
					       uint8_t left_pad,
					       uint8_t depth,
					       uint32_t data_len,
					       const unsigned char *data);
extern xcb_query_best_size_cookie_t xcb_query_best_size(xcb_connection_t *
							c, uint8_t _class,
							xcb_drawable_t
							drawable,
							uint16_t width,
							uint16_t height);
extern xcb_query_best_size_reply_t
    *xcb_query_best_size_reply(xcb_connection_t * c,
			       xcb_query_best_size_cookie_t cookie,
			       xcb_generic_error_t * *e);
extern xcb_query_best_size_cookie_t
xcb_query_best_size_unchecked(xcb_connection_t * c, uint8_t _class,
			      xcb_drawable_t drawable, uint16_t width,
			      uint16_t height);
extern xcb_query_colors_cookie_t xcb_query_colors(xcb_connection_t * c,
						  xcb_colormap_t cmap,
						  uint32_t pixels_len,
						  const uint32_t * pixels);
extern xcb_rgb_t *xcb_query_colors_colors(const xcb_query_colors_reply_t *
					  R);
extern xcb_rgb_iterator_t xcb_query_colors_colors_iterator(const
							   xcb_query_colors_reply_t
							   * R);
extern int xcb_query_colors_colors_length(const xcb_query_colors_reply_t *
					  R);
extern xcb_query_colors_reply_t *xcb_query_colors_reply(xcb_connection_t *
							c,
							xcb_query_colors_cookie_t
							cookie,
							xcb_generic_error_t
							* *e);
extern xcb_query_colors_cookie_t
xcb_query_colors_unchecked(xcb_connection_t * c, xcb_colormap_t cmap,
			   uint32_t pixels_len, const uint32_t * pixels);
extern xcb_query_extension_cookie_t xcb_query_extension(xcb_connection_t *
							c,
							uint16_t name_len,
							const char *name);
extern xcb_query_extension_reply_t
    *xcb_query_extension_reply(xcb_connection_t * c,
			       xcb_query_extension_cookie_t cookie,
			       xcb_generic_error_t * *e);
extern xcb_query_extension_cookie_t
xcb_query_extension_unchecked(xcb_connection_t * c, uint16_t name_len,
			      const char *name);
extern xcb_query_font_cookie_t xcb_query_font(xcb_connection_t * c,
					      xcb_fontable_t font);
extern xcb_charinfo_t *xcb_query_font_char_infos(const
						 xcb_query_font_reply_t *
						 R);
extern xcb_charinfo_iterator_t xcb_query_font_char_infos_iterator(const
								  xcb_query_font_reply_t
								  * R);
extern int xcb_query_font_char_infos_length(const xcb_query_font_reply_t *
					    R);
extern xcb_fontprop_t *xcb_query_font_properties(const
						 xcb_query_font_reply_t *
						 R);
extern xcb_fontprop_iterator_t xcb_query_font_properties_iterator(const
								  xcb_query_font_reply_t
								  * R);
extern int xcb_query_font_properties_length(const xcb_query_font_reply_t *
					    R);
extern xcb_query_font_reply_t *xcb_query_font_reply(xcb_connection_t * c,
						    xcb_query_font_cookie_t
						    cookie,
						    xcb_generic_error_t *
						    *e);
extern xcb_query_font_cookie_t xcb_query_font_unchecked(xcb_connection_t *
							c,
							xcb_fontable_t
							font);
extern xcb_query_keymap_cookie_t xcb_query_keymap(xcb_connection_t * c);
extern xcb_query_keymap_reply_t *xcb_query_keymap_reply(xcb_connection_t *
							c,
							xcb_query_keymap_cookie_t
							cookie,
							xcb_generic_error_t
							* *e);
extern xcb_query_keymap_cookie_t
xcb_query_keymap_unchecked(xcb_connection_t * c);
extern xcb_query_pointer_cookie_t xcb_query_pointer(xcb_connection_t * c,
						    xcb_window_t window);
extern xcb_query_pointer_reply_t *xcb_query_pointer_reply(xcb_connection_t
							  * c,
							  xcb_query_pointer_cookie_t
							  cookie,
							  xcb_generic_error_t
							  * *e);
extern xcb_query_pointer_cookie_t
xcb_query_pointer_unchecked(xcb_connection_t * c, xcb_window_t window);
extern xcb_query_text_extents_cookie_t
xcb_query_text_extents(xcb_connection_t * c, xcb_fontable_t font,
		       uint32_t string_len, const xcb_char2b_t * string);
extern xcb_query_text_extents_reply_t
    *xcb_query_text_extents_reply(xcb_connection_t * c,
				  xcb_query_text_extents_cookie_t cookie,
				  xcb_generic_error_t * *e);
extern xcb_query_text_extents_cookie_t
xcb_query_text_extents_unchecked(xcb_connection_t * c, xcb_fontable_t font,
				 uint32_t string_len,
				 const xcb_char2b_t * string);
extern xcb_query_tree_cookie_t xcb_query_tree(xcb_connection_t * c,
					      xcb_window_t window);
extern xcb_window_t *xcb_query_tree_children(const xcb_query_tree_reply_t *
					     R);
extern xcb_generic_iterator_t xcb_query_tree_children_end(const
							  xcb_query_tree_reply_t
							  * R);
extern int xcb_query_tree_children_length(const xcb_query_tree_reply_t *
					  R);
extern xcb_query_tree_reply_t *xcb_query_tree_reply(xcb_connection_t * c,
						    xcb_query_tree_cookie_t
						    cookie,
						    xcb_generic_error_t *
						    *e);
extern xcb_query_tree_cookie_t xcb_query_tree_unchecked(xcb_connection_t *
							c,
							xcb_window_t
							window);
extern xcb_void_cookie_t xcb_recolor_cursor(xcb_connection_t * c,
					    xcb_cursor_t cursor,
					    uint16_t fore_red,
					    uint16_t fore_green,
					    uint16_t fore_blue,
					    uint16_t back_red,
					    uint16_t back_green,
					    uint16_t back_blue);
extern xcb_void_cookie_t xcb_recolor_cursor_checked(xcb_connection_t * c,
						    xcb_cursor_t cursor,
						    uint16_t fore_red,
						    uint16_t fore_green,
						    uint16_t fore_blue,
						    uint16_t back_red,
						    uint16_t back_green,
						    uint16_t back_blue);
extern xcb_generic_iterator_t xcb_rectangle_end(xcb_rectangle_iterator_t
						i);
extern void xcb_rectangle_next(xcb_rectangle_iterator_t * i);
extern xcb_void_cookie_t xcb_reparent_window(xcb_connection_t * c,
					     xcb_window_t window,
					     xcb_window_t parent,
					     int16_t x, int16_t y);
extern xcb_void_cookie_t xcb_reparent_window_checked(xcb_connection_t * c,
						     xcb_window_t window,
						     xcb_window_t parent,
						     int16_t x, int16_t y);
extern xcb_generic_iterator_t xcb_rgb_end(xcb_rgb_iterator_t i);
extern void xcb_rgb_next(xcb_rgb_iterator_t * i);
extern xcb_void_cookie_t xcb_rotate_properties(xcb_connection_t * c,
					       xcb_window_t window,
					       uint16_t atoms_len,
					       int16_t delta,
					       const xcb_atom_t * atoms);
extern xcb_void_cookie_t xcb_rotate_properties_checked(xcb_connection_t *
						       c,
						       xcb_window_t window,
						       uint16_t atoms_len,
						       int16_t delta,
						       const xcb_atom_t *
						       atoms);
extern xcb_depth_iterator_t xcb_screen_allowed_depths_iterator(const
							       xcb_screen_t
							       * R);
extern int xcb_screen_allowed_depths_length(const xcb_screen_t * R);
extern xcb_generic_iterator_t xcb_screen_end(xcb_screen_iterator_t i);
extern void xcb_screen_next(xcb_screen_iterator_t * i);
extern xcb_generic_iterator_t xcb_segment_end(xcb_segment_iterator_t i);
extern void xcb_segment_next(xcb_segment_iterator_t * i);
extern xcb_void_cookie_t xcb_send_event(xcb_connection_t * c,
					uint8_t propagate,
					xcb_window_t destination,
					uint32_t event_mask,
					const char *event);
extern xcb_void_cookie_t xcb_send_event_checked(xcb_connection_t * c,
						uint8_t propagate,
						xcb_window_t destination,
						uint32_t event_mask,
						const char *event);
extern xcb_void_cookie_t xcb_set_access_control(xcb_connection_t * c,
						uint8_t mode);
extern xcb_void_cookie_t xcb_set_access_control_checked(xcb_connection_t *
							c, uint8_t mode);
extern xcb_void_cookie_t xcb_set_clip_rectangles(xcb_connection_t * c,
						 uint8_t ordering,
						 xcb_gcontext_t gc,
						 int16_t clip_x_origin,
						 int16_t clip_y_origin,
						 uint32_t rectangles_len,
						 const xcb_rectangle_t *
						 rectangles);
extern xcb_void_cookie_t xcb_set_clip_rectangles_checked(xcb_connection_t *
							 c,
							 uint8_t ordering,
							 xcb_gcontext_t gc,
							 int16_t
							 clip_x_origin,
							 int16_t
							 clip_y_origin,
							 uint32_t
							 rectangles_len,
							 const
							 xcb_rectangle_t *
							 rectangles);
extern xcb_void_cookie_t xcb_set_close_down_mode(xcb_connection_t * c,
						 uint8_t mode);
extern xcb_void_cookie_t xcb_set_close_down_mode_checked(xcb_connection_t *
							 c, uint8_t mode);
extern xcb_void_cookie_t xcb_set_dashes(xcb_connection_t * c,
					xcb_gcontext_t gc,
					uint16_t dash_offset,
					uint16_t dashes_len,
					const unsigned char *dashes);
extern xcb_void_cookie_t xcb_set_dashes_checked(xcb_connection_t * c,
						xcb_gcontext_t gc,
						uint16_t dash_offset,
						uint16_t dashes_len,
						const unsigned char
						*dashes);
extern xcb_void_cookie_t xcb_set_font_path(xcb_connection_t * c,
					   uint16_t font_qty,
					   uint32_t path_len,
					   const char *path);
extern xcb_void_cookie_t xcb_set_font_path_checked(xcb_connection_t * c,
						   uint16_t font_qty,
						   uint32_t path_len,
						   const char *path);
extern xcb_void_cookie_t xcb_set_input_focus(xcb_connection_t * c,
					     uint8_t revert_to,
					     xcb_window_t focus,
					     xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_set_input_focus_checked(xcb_connection_t * c,
						     uint8_t revert_to,
						     xcb_window_t focus,
						     xcb_timestamp_t time);
extern xcb_set_modifier_mapping_cookie_t
xcb_set_modifier_mapping(xcb_connection_t * c,
			 uint8_t keycodes_per_modifier,
			 const xcb_keycode_t * keycodes);
extern xcb_set_modifier_mapping_reply_t
    *xcb_set_modifier_mapping_reply(xcb_connection_t * c,
				    xcb_set_modifier_mapping_cookie_t
				    cookie, xcb_generic_error_t * *e);
extern xcb_set_modifier_mapping_cookie_t
xcb_set_modifier_mapping_unchecked(xcb_connection_t * c,
				   uint8_t keycodes_per_modifier,
				   const xcb_keycode_t * keycodes);
extern xcb_set_pointer_mapping_cookie_t
xcb_set_pointer_mapping(xcb_connection_t * c, uint8_t map_len,
			const unsigned char *map);
extern xcb_set_pointer_mapping_reply_t
    *xcb_set_pointer_mapping_reply(xcb_connection_t * c,
				   xcb_set_pointer_mapping_cookie_t cookie,
				   xcb_generic_error_t * *e);
extern xcb_set_pointer_mapping_cookie_t
xcb_set_pointer_mapping_unchecked(xcb_connection_t * c, uint8_t map_len,
				  const unsigned char *map);
extern xcb_void_cookie_t xcb_set_screen_saver(xcb_connection_t * c,
					      int16_t timeout,
					      int16_t interval,
					      uint8_t prefer_blanking,
					      uint8_t allow_exposures);
extern xcb_void_cookie_t xcb_set_screen_saver_checked(xcb_connection_t * c,
						      int16_t timeout,
						      int16_t interval,
						      uint8_t
						      prefer_blanking,
						      uint8_t
						      allow_exposures);
extern xcb_void_cookie_t xcb_set_selection_owner(xcb_connection_t * c,
						 xcb_window_t owner,
						 xcb_atom_t selection,
						 xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_set_selection_owner_checked(xcb_connection_t *
							 c,
							 xcb_window_t
							 owner,
							 xcb_atom_t
							 selection,
							 xcb_timestamp_t
							 time);
extern xcb_generic_iterator_t
xcb_setup_authenticate_end(xcb_setup_authenticate_iterator_t i);
extern void xcb_setup_authenticate_next(xcb_setup_authenticate_iterator_t *
					i);
extern char *xcb_setup_authenticate_reason(const xcb_setup_authenticate_t *
					   R);
extern xcb_generic_iterator_t xcb_setup_authenticate_reason_end(const
								xcb_setup_authenticate_t
								* R);
extern int xcb_setup_authenticate_reason_length(const
						xcb_setup_authenticate_t *
						R);
extern xcb_generic_iterator_t xcb_setup_end(xcb_setup_iterator_t i);
extern xcb_generic_iterator_t
xcb_setup_failed_end(xcb_setup_failed_iterator_t i);
extern void xcb_setup_failed_next(xcb_setup_failed_iterator_t * i);
extern char *xcb_setup_failed_reason(const xcb_setup_failed_t * R);
extern xcb_generic_iterator_t xcb_setup_failed_reason_end(const
							  xcb_setup_failed_t
							  * R);
extern int xcb_setup_failed_reason_length(const xcb_setup_failed_t * R);
extern void xcb_setup_next(xcb_setup_iterator_t * i);
extern xcb_format_t *xcb_setup_pixmap_formats(const xcb_setup_t * R);
extern xcb_format_iterator_t xcb_setup_pixmap_formats_iterator(const
							       xcb_setup_t
							       * R);
extern int xcb_setup_pixmap_formats_length(const xcb_setup_t * R);
extern char *xcb_setup_request_authorization_protocol_data(const
							   xcb_setup_request_t
							   * R);
extern xcb_generic_iterator_t
xcb_setup_request_authorization_protocol_data_end(const xcb_setup_request_t
						  * R);
extern int xcb_setup_request_authorization_protocol_data_length(const
								xcb_setup_request_t
								* R);
extern char *xcb_setup_request_authorization_protocol_name(const
							   xcb_setup_request_t
							   * R);
extern xcb_generic_iterator_t
xcb_setup_request_authorization_protocol_name_end(const xcb_setup_request_t
						  * R);
extern int xcb_setup_request_authorization_protocol_name_length(const
								xcb_setup_request_t
								* R);
extern xcb_generic_iterator_t
xcb_setup_request_end(xcb_setup_request_iterator_t i);
extern void xcb_setup_request_next(xcb_setup_request_iterator_t * i);
extern xcb_screen_iterator_t xcb_setup_roots_iterator(const xcb_setup_t *
						      R);
extern int xcb_setup_roots_length(const xcb_setup_t * R);
extern char *xcb_setup_vendor(const xcb_setup_t * R);
extern xcb_generic_iterator_t xcb_setup_vendor_end(const xcb_setup_t * R);
extern int xcb_setup_vendor_length(const xcb_setup_t * R);
extern xcb_void_cookie_t xcb_store_colors(xcb_connection_t * c,
					  xcb_colormap_t cmap,
					  uint32_t items_len,
					  const xcb_coloritem_t * items);
extern xcb_void_cookie_t xcb_store_colors_checked(xcb_connection_t * c,
						  xcb_colormap_t cmap,
						  uint32_t items_len,
						  const xcb_coloritem_t *
						  items);
extern xcb_void_cookie_t xcb_store_named_color(xcb_connection_t * c,
					       uint8_t flags,
					       xcb_colormap_t cmap,
					       uint32_t pixel,
					       uint16_t name_len,
					       const char *name);
extern xcb_void_cookie_t xcb_store_named_color_checked(xcb_connection_t *
						       c, uint8_t flags,
						       xcb_colormap_t cmap,
						       uint32_t pixel,
						       uint16_t name_len,
						       const char *name);
extern xcb_generic_iterator_t xcb_str_end(xcb_str_iterator_t i);
extern char *xcb_str_name(const xcb_str_t * R);
extern xcb_generic_iterator_t xcb_str_name_end(const xcb_str_t * R);
extern int xcb_str_name_length(const xcb_str_t * R);
extern void xcb_str_next(xcb_str_iterator_t * i);
extern xcb_generic_iterator_t xcb_timecoord_end(xcb_timecoord_iterator_t
						i);
extern void xcb_timecoord_next(xcb_timecoord_iterator_t * i);
extern xcb_generic_iterator_t xcb_timestamp_end(xcb_timestamp_iterator_t
						i);
extern void xcb_timestamp_next(xcb_timestamp_iterator_t * i);
extern xcb_translate_coordinates_cookie_t
xcb_translate_coordinates(xcb_connection_t * c, xcb_window_t src_window,
			  xcb_window_t dst_window, int16_t src_x,
			  int16_t src_y);
extern xcb_translate_coordinates_reply_t
    *xcb_translate_coordinates_reply(xcb_connection_t * c,
				     xcb_translate_coordinates_cookie_t
				     cookie, xcb_generic_error_t * *e);
extern xcb_translate_coordinates_cookie_t
xcb_translate_coordinates_unchecked(xcb_connection_t * c,
				    xcb_window_t src_window,
				    xcb_window_t dst_window, int16_t src_x,
				    int16_t src_y);
extern xcb_void_cookie_t xcb_ungrab_button(xcb_connection_t * c,
					   uint8_t button,
					   xcb_window_t grab_window,
					   uint16_t modifiers);
extern xcb_void_cookie_t xcb_ungrab_button_checked(xcb_connection_t * c,
						   uint8_t button,
						   xcb_window_t
						   grab_window,
						   uint16_t modifiers);
extern xcb_void_cookie_t xcb_ungrab_key(xcb_connection_t * c,
					xcb_keycode_t key,
					xcb_window_t grab_window,
					uint16_t modifiers);
extern xcb_void_cookie_t xcb_ungrab_key_checked(xcb_connection_t * c,
						xcb_keycode_t key,
						xcb_window_t grab_window,
						uint16_t modifiers);
extern xcb_void_cookie_t xcb_ungrab_keyboard(xcb_connection_t * c,
					     xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_ungrab_keyboard_checked(xcb_connection_t * c,
						     xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_ungrab_pointer(xcb_connection_t * c,
					    xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_ungrab_pointer_checked(xcb_connection_t * c,
						    xcb_timestamp_t time);
extern xcb_void_cookie_t xcb_ungrab_server(xcb_connection_t * c);
extern xcb_void_cookie_t xcb_ungrab_server_checked(xcb_connection_t * c);
extern xcb_void_cookie_t xcb_uninstall_colormap(xcb_connection_t * c,
						xcb_colormap_t cmap);
extern xcb_void_cookie_t xcb_uninstall_colormap_checked(xcb_connection_t *
							c,
							xcb_colormap_t
							cmap);
extern xcb_void_cookie_t xcb_unmap_subwindows(xcb_connection_t * c,
					      xcb_window_t window);
extern xcb_void_cookie_t xcb_unmap_subwindows_checked(xcb_connection_t * c,
						      xcb_window_t window);
extern xcb_void_cookie_t xcb_unmap_window(xcb_connection_t * c,
					  xcb_window_t window);
extern xcb_void_cookie_t xcb_unmap_window_checked(xcb_connection_t * c,
						  xcb_window_t window);
extern xcb_generic_iterator_t xcb_visualid_end(xcb_visualid_iterator_t i);
extern void xcb_visualid_next(xcb_visualid_iterator_t * i);
extern xcb_generic_iterator_t xcb_visualtype_end(xcb_visualtype_iterator_t
						 i);
extern void xcb_visualtype_next(xcb_visualtype_iterator_t * i);
extern xcb_void_cookie_t xcb_warp_pointer(xcb_connection_t * c,
					  xcb_window_t src_window,
					  xcb_window_t dst_window,
					  int16_t src_x, int16_t src_y,
					  uint16_t src_width,
					  uint16_t src_height,
					  int16_t dst_x, int16_t dst_y);
extern xcb_void_cookie_t xcb_warp_pointer_checked(xcb_connection_t * c,
						  xcb_window_t src_window,
						  xcb_window_t dst_window,
						  int16_t src_x,
						  int16_t src_y,
						  uint16_t src_width,
						  uint16_t src_height,
						  int16_t dst_x,
						  int16_t dst_y);
extern xcb_generic_iterator_t xcb_window_end(xcb_window_iterator_t i);
extern void xcb_window_next(xcb_window_iterator_t * i);

6.21. Interface Definitions for libxcb

The interfaces defined on the following pages are included in libxcb and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.

Other interfaces listed in Section 6.19 shall behave as described in the referenced base document.


Chapter 7. Libraries

7.1. Interfaces for libGL

Table 7-1 defines the library name and shared object name for the libGL library

Table 7-1. libGL Definition

Library:libGL
SONAME:libGL.so.1

The behavior of the interfaces in this library is specified by the following specifications:

[GLX] OpenGL Extensions
[OGL 2.1] OpenGL 2.1
[OGL ABI] OpenGL ABI


7.1.1. GL X interface


7.1.1.1. Interfaces for GL X interface

An LSB conforming implementation shall provide the generic functions for GL X interface specified in Table 7-2, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-2. libGL - GL X interface Function Interfaces

glXChooseFBConfig [GLX]glXChooseVisual [GLX]glXCopyContext [GLX]glXCreateContext [GLX]
glXCreateGLXPixmap [GLX]glXCreateNewContext [GLX]glXCreatePbuffer [GLX]glXCreatePixmap [GLX]
glXCreateWindow [GLX]glXDestroyContext [GLX]glXDestroyGLXPixmap [GLX]glXDestroyPbuffer [GLX]
glXDestroyPixmap [GLX]glXDestroyWindow [GLX]glXFreeContextEXT [GLX]glXGetClientString [GLX]
glXGetConfig [GLX]glXGetContextIDEXT [GLX]glXGetCurrentContext [GLX]glXGetCurrentDisplay [GLX]
glXGetCurrentDrawable [GLX]glXGetCurrentReadDrawable [GLX]glXGetFBConfigAttrib [GLX]glXGetFBConfigs [GLX]
glXGetProcAddress [OGL 2.1]glXGetProcAddressARB [OGL ABI]glXGetSelectedEvent [GLX]glXGetVisualFromFBConfig [GLX]
glXImportContextEXT [GLX]glXIsDirect [GLX]glXMakeContextCurrent [GLX]glXMakeCurrent [GLX]
glXQueryContext [GLX]glXQueryContextInfoEXT [GLX]glXQueryDrawable [GLX]glXQueryExtension [GLX]
glXQueryExtensionsString [GLX]glXQueryServerString [GLX]glXQueryVersion [GLX]glXSelectEvent [GLX]
glXSwapBuffers [GLX]glXUseXFont [GLX]glXWaitGL [GLX]glXWaitX [GLX]

7.1.2. OpenGL


7.1.2.1. Interfaces for OpenGL

An LSB conforming implementation shall provide the generic functions for OpenGL specified in Table 7-3, with the full mandatory functionality as described in the referenced underlying specification.

Table 7-3. libGL - OpenGL Function Interfaces

glAccum [OGL 2.1]glActiveTexture [OGL 2.1]glActiveTextureARB [OGL 2.1]glAlphaFunc [OGL 2.1]
glAreTexturesResident [OGL 2.1]glArrayElement [OGL 2.1]glAttachShader [OGL 2.1]glBegin [OGL 2.1]
glBeginQuery [OGL 2.1]glBindAttribLocation [OGL 2.1]glBindBuffer [OGL 2.1]glBindTexture [OGL 2.1]
glBitmap [OGL 2.1]glBlendColor [OGL 2.1]glBlendEquation [OGL 2.1]glBlendEquationSeparate [OGL 2.1]
glBlendFunc [OGL 2.1]glBlendFuncSeparate [OGL 2.1]glBufferData [OGL 2.1]glBufferSubData [OGL 2.1]
glCallList [OGL 2.1]glCallLists [OGL 2.1]glClear [OGL 2.1]glClearAccum [OGL 2.1]
glClearColor [OGL 2.1]glClearDepth [OGL 2.1]glClearIndex [OGL 2.1]glClearStencil [OGL 2.1]
glClientActiveTexture [OGL 2.1]glClientActiveTextureARB [OGL 2.1]glClipPlane [OGL 2.1]glColor3b [OGL 2.1]
glColor3bv [OGL 2.1]glColor3d [OGL 2.1]glColor3dv [OGL 2.1]glColor3f [OGL 2.1]
glColor3fv [OGL 2.1]glColor3i [OGL 2.1]glColor3iv [OGL 2.1]glColor3s [OGL 2.1]
glColor3sv [OGL 2.1]glColor3ub [OGL 2.1]glColor3ubv [OGL 2.1]glColor3ui [OGL 2.1]
glColor3uiv [OGL 2.1]glColor3us [OGL 2.1]glColor3usv [OGL 2.1]glColor4b [OGL 2.1]
glColor4bv [OGL 2.1]glColor4d [OGL 2.1]glColor4dv [OGL 2.1]glColor4f [OGL 2.1]
glColor4fv [OGL 2.1]glColor4i [OGL 2.1]glColor4iv [OGL 2.1]glColor4s [OGL 2.1]
glColor4sv [OGL 2.1]glColor4ub [OGL 2.1]glColor4ubv [OGL 2.1]glColor4ui [OGL 2.1]
glColor4uiv [OGL 2.1]glColor4us [OGL 2.1]glColor4usv [OGL 2.1]glColorMask [OGL 2.1]
glColorMaterial [OGL 2.1]glColorPointer [OGL 2.1]glColorSubTable [OGL 2.1]glColorTable [OGL 2.1]
glColorTableParameterfv [OGL 2.1]glColorTableParameteriv [OGL 2.1]glCompileShader [OGL 2.1]glCompressedTexImage1D [OGL 2.1]
glCompressedTexImage2D [OGL 2.1]glCompressedTexImage3D [OGL 2.1]glCompressedTexSubImage1D [OGL 2.1]glCompressedTexSubImage2D [OGL 2.1]
glCompressedTexSubImage3D [OGL 2.1]glConvolutionFilter1D [OGL 2.1]glConvolutionFilter2D [OGL 2.1]glConvolutionParameterf [OGL 2.1]
glConvolutionParameterfv [OGL 2.1]glConvolutionParameteri [OGL 2.1]glConvolutionParameteriv [OGL 2.1]glCopyColorSubTable [OGL 2.1]
glCopyColorTable [OGL 2.1]glCopyConvolutionFilter1D [OGL 2.1]glCopyConvolutionFilter2D [OGL 2.1]glCopyPixels [OGL 2.1]
glCopyTexImage1D [OGL 2.1]glCopyTexImage2D [OGL 2.1]glCopyTexSubImage1D [OGL 2.1]glCopyTexSubImage2D [OGL 2.1]
glCopyTexSubImage3D [OGL 2.1]glCreateProgram [OGL 2.1]glCreateShader [OGL 2.1]glCullFace [OGL 2.1]
glDeleteBuffers [OGL 2.1]glDeleteLists [OGL 2.1]glDeleteProgram [OGL 2.1]glDeleteQueries [OGL 2.1]
glDeleteShader [OGL 2.1]glDeleteTextures [OGL 2.1]glDepthFunc [OGL 2.1]glDepthMask [OGL 2.1]
glDepthRange [OGL 2.1]glDetachShader [OGL 2.1]glDisable [OGL 2.1]glDisableClientState [OGL 2.1]
glDisableVertexAttribArray [OGL 2.1]glDrawArrays [OGL 2.1]glDrawBuffer [OGL 2.1]glDrawBuffers [OGL 2.1]
glDrawElements [OGL 2.1]glDrawPixels [OGL 2.1]glDrawRangeElements [OGL 2.1]glEdgeFlag [OGL 2.1]
glEdgeFlagPointer [OGL 2.1]glEdgeFlagv [OGL 2.1]glEnable [OGL 2.1]glEnableClientState [OGL 2.1]
glEnableVertexAttribArray [OGL 2.1]glEnd [OGL 2.1]glEndList [OGL 2.1]glEvalCoord1d [OGL 2.1]
glEvalCoord1dv [OGL 2.1]glEvalCoord1f [OGL 2.1]glEvalCoord1fv [OGL 2.1]glEvalCoord2d [OGL 2.1]
glEvalCoord2dv [OGL 2.1]glEvalCoord2f [OGL 2.1]glEvalCoord2fv [OGL 2.1]glEvalMesh1 [OGL 2.1]
glEvalMesh2 [OGL 2.1]glEvalPoint1 [OGL 2.1]glEvalPoint2 [OGL 2.1]glFeedbackBuffer [OGL 2.1]
glFinish [OGL 2.1]glFlush [OGL 2.1]glFogCoordPointer [OGL 2.1]glFogCoordd [OGL 2.1]
glFogCoorddv [OGL 2.1]glFogCoordf [OGL 2.1]glFogCoordfv [OGL 2.1]glFogf [OGL 2.1]
glFogfv [OGL 2.1]glFogi [OGL 2.1]glFogiv [OGL 2.1]glFrontFace [OGL 2.1]
glFrustum [OGL 2.1]glGenBuffers [OGL 2.1]glGenLists [OGL 2.1]glGenQueries [OGL 2.1]
glGenTextures [OGL 2.1]glGetActiveAttrib [OGL 2.1]glGetActiveUniform [OGL 2.1]glGetAttachedShaders [OGL 2.1]
glGetAttribLocation [OGL 2.1]glGetBooleanv [OGL 2.1]glGetBufferParameteriv [OGL 2.1]glGetBufferPointerv [OGL 2.1]
glGetBufferSubData [OGL 2.1]glGetClipPlane [OGL 2.1]glGetColorTable [OGL 2.1]glGetColorTableParameterfv [OGL 2.1]
glGetColorTableParameteriv [OGL 2.1]glGetCompressedTexImage [OGL 2.1]glGetConvolutionFilter [OGL 2.1]glGetConvolutionParameterfv [OGL 2.1]
glGetConvolutionParameteriv [OGL 2.1]glGetDoublev [OGL 2.1]glGetError [OGL 2.1]glGetFloatv [OGL 2.1]
glGetHistogram [OGL 2.1]glGetHistogramParameterfv [OGL 2.1]glGetHistogramParameteriv [OGL 2.1]glGetIntegerv [OGL 2.1]
glGetLightfv [OGL 2.1]glGetLightiv [OGL 2.1]glGetMapdv [OGL 2.1]glGetMapfv [OGL 2.1]
glGetMapiv [OGL 2.1]glGetMaterialfv [OGL 2.1]glGetMaterialiv [OGL 2.1]glGetMinmax [OGL 2.1]
glGetMinmaxParameterfv [OGL 2.1]glGetMinmaxParameteriv [OGL 2.1]glGetPixelMapfv [OGL 2.1]glGetPixelMapuiv [OGL 2.1]
glGetPixelMapusv [OGL 2.1]glGetPointerv [OGL 2.1]glGetPolygonStipple [OGL 2.1]glGetProgramInfoLog [OGL 2.1]
glGetProgramiv [OGL 2.1]glGetQueryObjectiv [OGL 2.1]glGetQueryObjectuiv [OGL 2.1]glGetQueryiv [OGL 2.1]
glGetSeparableFilter [OGL 2.1]glGetShaderInfoLog [OGL 2.1]glGetShaderSource [OGL 2.1]glGetShaderiv [OGL 2.1]
glGetString [OGL 2.1]glGetTexEnvfv [OGL 2.1]glGetTexEnviv [OGL 2.1]glGetTexGendv [OGL 2.1]
glGetTexGenfv [OGL 2.1]glGetTexGeniv [OGL 2.1]glGetTexImage [OGL 2.1]glGetTexLevelParameterfv [OGL 2.1]
glGetTexLevelParameteriv [OGL 2.1]glGetTexParameterfv [OGL 2.1]glGetTexParameteriv [OGL 2.1]glGetUniformLocation [OGL 2.1]
glGetUniformfv [OGL 2.1]glGetUniformiv [OGL 2.1]glGetVertexAttribPointerv [OGL 2.1]glGetVertexAttribdv [OGL 2.1]
glGetVertexAttribfv [OGL 2.1]glGetVertexAttribiv [OGL 2.1]glHint [OGL 2.1]glHistogram [OGL 2.1]
glIndexMask [OGL 2.1]glIndexPointer [OGL 2.1]glIndexd [OGL 2.1]glIndexdv [OGL 2.1]
glIndexf [OGL 2.1]glIndexfv [OGL 2.1]glIndexi [OGL 2.1]glIndexiv [OGL 2.1]
glIndexs [OGL 2.1]glIndexsv [OGL 2.1]glIndexub [OGL 2.1]glIndexubv [OGL 2.1]
glInitNames [OGL 2.1]glInterleavedArrays [OGL 2.1]glIsBuffer [OGL 2.1]glIsEnabled [OGL 2.1]
glIsList [OGL 2.1]glIsProgram [OGL 2.1]glIsQuery [OGL 2.1]glIsShader [OGL 2.1]
glIsTexture [OGL 2.1]glLightModelf [OGL 2.1]glLightModelfv [OGL 2.1]glLightModeli [OGL 2.1]
glLightModeliv [OGL 2.1]glLightf [OGL 2.1]glLightfv [OGL 2.1]glLighti [OGL 2.1]
glLightiv [OGL 2.1]glLineStipple [OGL 2.1]glLineWidth [OGL 2.1]glLinkProgram [OGL 2.1]
glListBase [OGL 2.1]glLoadIdentity [OGL 2.1]glLoadMatrixd [OGL 2.1]glLoadMatrixf [OGL 2.1]
glLoadName [OGL 2.1]glLoadTransposeMatrixd [OGL 2.1]glLoadTransposeMatrixf [OGL 2.1]glLogicOp [OGL 2.1]
glMap1d [OGL 2.1]glMap1f [OGL 2.1]glMap2d [OGL 2.1]glMap2f [OGL 2.1]
glMapBuffer [OGL 2.1]glMapGrid1d [OGL 2.1]glMapGrid1f [OGL 2.1]glMapGrid2d [OGL 2.1]
glMapGrid2f [OGL 2.1]glMaterialf [OGL 2.1]glMaterialfv [OGL 2.1]glMateriali [OGL 2.1]
glMaterialiv [OGL 2.1]glMatrixMode [OGL 2.1]glMinmax [OGL 2.1]glMultMatrixd [OGL 2.1]
glMultMatrixf [OGL 2.1]glMultTransposeMatrixd [OGL 2.1]glMultTransposeMatrixf [OGL 2.1]glMultiDrawArrays [OGL 2.1]
glMultiDrawElements [OGL 2.1]glMultiTexCoord1d [OGL 2.1]glMultiTexCoord1dARB [OGL 2.1]glMultiTexCoord1dv [OGL 2.1]
glMultiTexCoord1dvARB [OGL 2.1]glMultiTexCoord1f [OGL 2.1]glMultiTexCoord1fARB [OGL 2.1]glMultiTexCoord1fv [OGL 2.1]
glMultiTexCoord1fvARB [OGL 2.1]glMultiTexCoord1i [OGL 2.1]glMultiTexCoord1iARB [OGL 2.1]glMultiTexCoord1iv [OGL 2.1]
glMultiTexCoord1ivARB [OGL 2.1]glMultiTexCoord1s [OGL 2.1]glMultiTexCoord1sARB [OGL 2.1]glMultiTexCoord1sv [OGL 2.1]
glMultiTexCoord1svARB [OGL 2.1]glMultiTexCoord2d [OGL 2.1]glMultiTexCoord2dARB [OGL 2.1]glMultiTexCoord2dv [OGL 2.1]
glMultiTexCoord2dvARB [OGL 2.1]glMultiTexCoord2f [OGL 2.1]glMultiTexCoord2fARB [OGL 2.1]glMultiTexCoord2fv [OGL 2.1]
glMultiTexCoord2fvARB [OGL 2.1]glMultiTexCoord2i [OGL 2.1]glMultiTexCoord2iARB [OGL 2.1]glMultiTexCoord2iv [OGL 2.1]
glMultiTexCoord2ivARB [OGL 2.1]glMultiTexCoord2s [OGL 2.1]glMultiTexCoord2sARB [OGL 2.1]glMultiTexCoord2sv [OGL 2.1]
glMultiTexCoord2svARB [OGL 2.1]glMultiTexCoord3d [OGL 2.1]glMultiTexCoord3dARB [OGL 2.1]glMultiTexCoord3dv [OGL 2.1]
glMultiTexCoord3dvARB [OGL 2.1]glMultiTexCoord3f [OGL 2.1]glMultiTexCoord3fARB [OGL 2.1]glMultiTexCoord3fv [OGL 2.1]
glMultiTexCoord3fvARB [OGL 2.1]glMultiTexCoord3i [OGL 2.1]glMultiTexCoord3iARB [OGL 2.1]glMultiTexCoord3iv [OGL 2.1]
glMultiTexCoord3ivARB [OGL 2.1]glMultiTexCoord3s [OGL 2.1]glMultiTexCoord3sARB [OGL 2.1]glMultiTexCoord3sv [OGL 2.1]
glMultiTexCoord3svARB [OGL 2.1]glMultiTexCoord4d [OGL 2.1]glMultiTexCoord4dARB [OGL 2.1]glMultiTexCoord4dv [OGL 2.1]
glMultiTexCoord4dvARB [OGL 2.1]glMultiTexCoord4f [OGL 2.1]glMultiTexCoord4fARB [OGL 2.1]glMultiTexCoord4fv [OGL 2.1]
glMultiTexCoord4fvARB [OGL 2.1]glMultiTexCoord4i [OGL 2.1]glMultiTexCoord4iARB [OGL 2.1]glMultiTexCoord4iv [OGL 2.1]
glMultiTexCoord4ivARB [OGL 2.1]glMultiTexCoord4s [OGL 2.1]glMultiTexCoord4sARB [OGL 2.1]glMultiTexCoord4sv [OGL 2.1]
glMultiTexCoord4svARB [OGL 2.1]glNewList [OGL 2.1]glNormal3b [OGL 2.1]glNormal3bv [OGL 2.1]
glNormal3d [OGL 2.1]glNormal3dv [OGL 2.1]glNormal3f [OGL 2.1]glNormal3fv [OGL 2.1]
glNormal3i [OGL 2.1]glNormal3iv [OGL 2.1]glNormal3s [OGL 2.1]glNormal3sv [OGL 2.1]
glNormalPointer [OGL 2.1]glOrtho [OGL 2.1]glPassThrough [OGL 2.1]glPixelMapfv [OGL 2.1]
glPixelMapuiv [OGL 2.1]glPixelMapusv [OGL 2.1]glPixelStoref [OGL 2.1]glPixelStorei [OGL 2.1]
glPixelTransferf [OGL 2.1]glPixelTransferi [OGL 2.1]glPixelZoom [OGL 2.1]glPointParameterf [OGL 2.1]
glPointParameterfv [OGL 2.1]glPointParameteri [OGL 2.1]glPointParameteriv [OGL 2.1]glPointSize [OGL 2.1]
glPolygonMode [OGL 2.1]glPolygonOffset [OGL 2.1]glPolygonStipple [OGL 2.1]glPopAttrib [OGL 2.1]
glPopClientAttrib [OGL 2.1]glPopMatrix [OGL 2.1]glPopName [OGL 2.1]glPrioritizeTextures [OGL 2.1]
glPushAttrib [OGL 2.1]glPushClientAttrib [OGL 2.1]glPushMatrix [OGL 2.1]glPushName [OGL 2.1]
glRasterPos2d [OGL 2.1]glRasterPos2dv [OGL 2.1]glRasterPos2f [OGL 2.1]glRasterPos2fv [OGL 2.1]
glRasterPos2i [OGL 2.1]glRasterPos2iv [OGL 2.1]glRasterPos2s [OGL 2.1]glRasterPos2sv [OGL 2.1]
glRasterPos3d [OGL 2.1]glRasterPos3dv [OGL 2.1]glRasterPos3f [OGL 2.1]glRasterPos3fv [OGL 2.1]
glRasterPos3i [OGL 2.1]glRasterPos3iv [OGL 2.1]glRasterPos3s [OGL 2.1]glRasterPos3sv [OGL 2.1]
glRasterPos4d [OGL 2.1]glRasterPos4dv [OGL 2.1]glRasterPos4f [OGL 2.1]glRasterPos4fv [OGL 2.1]
glRasterPos4i [OGL 2.1]glRasterPos4iv [OGL 2.1]glRasterPos4s [OGL 2.1]glRasterPos4sv [OGL 2.1]
glReadBuffer [OGL 2.1]glReadPixels [OGL 2.1]glRectd [OGL 2.1]glRectdv [OGL 2.1]
glRectf [OGL 2.1]glRectfv [OGL 2.1]glRecti [OGL 2.1]glRectiv [OGL 2.1]
glRects [OGL 2.1]glRectsv [OGL 2.1]glRenderMode [OGL 2.1]glResetHistogram [OGL 2.1]
glResetMinmax [OGL 2.1]glRotated [OGL 2.1]glRotatef [OGL 2.1]glSampleCoverage [OGL 2.1]
glScaled [OGL 2.1]glScalef [OGL 2.1]glScissor [OGL 2.1]glSecondaryColor3b [OGL 2.1]
glSecondaryColor3bv [OGL 2.1]glSecondaryColor3d [OGL 2.1]glSecondaryColor3dv [OGL 2.1]glSecondaryColor3f [OGL 2.1]
glSecondaryColor3fv [OGL 2.1]glSecondaryColor3i [OGL 2.1]glSecondaryColor3iv [OGL 2.1]glSecondaryColor3s [OGL 2.1]
glSecondaryColor3sv [OGL 2.1]glSecondaryColor3ub [OGL 2.1]glSecondaryColor3ubv [OGL 2.1]glSecondaryColor3ui [OGL 2.1]
glSecondaryColor3uiv [OGL 2.1]glSecondaryColor3us [OGL 2.1]glSecondaryColor3usv [OGL 2.1]glSecondaryColorPointer [OGL 2.1]
glSelectBuffer [OGL 2.1]glSeparableFilter2D [OGL 2.1]glShadeModel [OGL 2.1]glShaderSource [OGL 2.1]
glStencilFunc [OGL 2.1]glStencilFuncSeparate [OGL 2.1]glStencilMask [OGL 2.1]glStencilMaskSeparate [OGL 2.1]
glStencilOp [OGL 2.1]glStencilOpSeparate [OGL 2.1]glTexCoord1d [OGL 2.1]glTexCoord1dv [OGL 2.1]
glTexCoord1f [OGL 2.1]glTexCoord1fv [OGL 2.1]glTexCoord1i [OGL 2.1]glTexCoord1iv [OGL 2.1]
glTexCoord1s [OGL 2.1]glTexCoord1sv [OGL 2.1]glTexCoord2d [OGL 2.1]glTexCoord2dv [OGL 2.1]
glTexCoord2f [OGL 2.1]glTexCoord2fv [OGL 2.1]glTexCoord2i [OGL 2.1]glTexCoord2iv [OGL 2.1]
glTexCoord2s [OGL 2.1]glTexCoord2sv [OGL 2.1]glTexCoord3d [OGL 2.1]glTexCoord3dv [OGL 2.1]
glTexCoord3f [OGL 2.1]glTexCoord3fv [OGL 2.1]glTexCoord3i [OGL 2.1]glTexCoord3iv [OGL 2.1]
glTexCoord3s [OGL 2.1]glTexCoord3sv [OGL 2.1]glTexCoord4d [OGL 2.1]glTexCoord4dv [OGL 2.1]
glTexCoord4f [OGL 2.1]glTexCoord4fv [OGL 2.1]glTexCoord4i [OGL 2.1]glTexCoord4iv [OGL 2.1]
glTexCoord4s [OGL 2.1]glTexCoord4sv [OGL 2.1]glTexCoordPointer [OGL 2.1]glTexEnvf [OGL 2.1]
glTexEnvfv [OGL 2.1]glTexEnvi [OGL 2.1]glTexEnviv [OGL 2.1]glTexGend [OGL 2.1]
glTexGendv [OGL 2.1]glTexGenf [OGL 2.1]glTexGenfv [OGL 2.1]glTexGeni [OGL 2.1]
glTexGeniv [OGL 2.1]glTexImage1D [OGL 2.1]glTexImage2D [OGL 2.1]glTexImage3D [OGL 2.1]
glTexParameterf [OGL 2.1]glTexParameterfv [OGL 2.1]glTexParameteri [OGL 2.1]glTexParameteriv [OGL 2.1]
glTexSubImage1D [OGL 2.1]glTexSubImage2D [OGL 2.1]glTexSubImage3D [OGL 2.1]glTranslated [OGL 2.1]
glTranslatef [OGL 2.1]glUniform1f [OGL 2.1]glUniform1fv [OGL 2.1]glUniform1i [OGL 2.1]
glUniform1iv [OGL 2.1]glUniform2f [OGL 2.1]glUniform2fv [OGL 2.1]glUniform2i [OGL 2.1]
glUniform2iv [OGL 2.1]glUniform3f [OGL 2.1]glUniform3fv [OGL 2.1]glUniform3i [OGL 2.1]
glUniform3iv [OGL 2.1]glUniform4f [OGL 2.1]glUniform4fv [OGL 2.1]glUniform4i [OGL 2.1]
glUniform4iv [OGL 2.1]glUniformMatrix2fv [OGL 2.1]glUniformMatrix2x3fv [OGL 2.1]glUniformMatrix2x4fv [OGL 2.1]
glUniformMatrix3fv [OGL 2.1]glUniformMatrix3x2fv [OGL 2.1]glUniformMatrix3x4fv [OGL 2.1]glUniformMatrix4fv [OGL 2.1]
glUniformMatrix4x2fv [OGL 2.1]glUniformMatrix4x3fv [OGL 2.1]glUnmapBuffer [OGL 2.1]glUseProgram [OGL 2.1]
glValidateProgram [OGL 2.1]glVertex2d [OGL 2.1]glVertex2dv [OGL 2.1]glVertex2f [OGL 2.1]
glVertex2fv [OGL 2.1]glVertex2i [OGL 2.1]glVertex2iv [OGL 2.1]glVertex2s [OGL 2.1]
glVertex2sv [OGL 2.1]glVertex3d [OGL 2.1]glVertex3dv [OGL 2.1]glVertex3f [OGL 2.1]
glVertex3fv [OGL 2.1]glVertex3i [OGL 2.1]glVertex3iv [OGL 2.1]glVertex3s [OGL 2.1]
glVertex3sv [OGL 2.1]glVertex4d [OGL 2.1]glVertex4dv [OGL 2.1]glVertex4f [OGL 2.1]
glVertex4fv [OGL 2.1]glVertex4i [OGL 2.1]glVertex4iv [OGL 2.1]glVertex4s [OGL 2.1]
glVertex4sv [OGL 2.1]glVertexAttrib1d [OGL 2.1]glVertexAttrib1dv [OGL 2.1]glVertexAttrib1f [OGL 2.1]
glVertexAttrib1fv [OGL 2.1]glVertexAttrib1s [OGL 2.1]glVertexAttrib1sv [OGL 2.1]glVertexAttrib2d [OGL 2.1]
glVertexAttrib2dv [OGL 2.1]glVertexAttrib2f [OGL 2.1]glVertexAttrib2fv [OGL 2.1]glVertexAttrib2s [OGL 2.1]
glVertexAttrib2sv [OGL 2.1]glVertexAttrib3d [OGL 2.1]glVertexAttrib3dv [OGL 2.1]glVertexAttrib3f [OGL 2.1]
glVertexAttrib3fv [OGL 2.1]glVertexAttrib3s [OGL 2.1]glVertexAttrib3sv [OGL 2.1]glVertexAttrib4Nbv [OGL 2.1]
glVertexAttrib4Niv [OGL 2.1]glVertexAttrib4Nsv [OGL 2.1]glVertexAttrib4Nub [OGL 2.1]glVertexAttrib4Nubv [OGL 2.1]
glVertexAttrib4Nuiv [OGL 2.1]glVertexAttrib4Nusv [OGL 2.1]glVertexAttrib4bv [OGL 2.1]glVertexAttrib4d [OGL 2.1]
glVertexAttrib4dv [OGL 2.1]glVertexAttrib4f [OGL 2.1]glVertexAttrib4fv [OGL 2.1]glVertexAttrib4iv [OGL 2.1]
glVertexAttrib4s [OGL 2.1]glVertexAttrib4sv [OGL 2.1]glVertexAttrib4ubv [OGL 2.1]glVertexAttrib4uiv [OGL 2.1]
glVertexAttrib4usv [OGL 2.1]glVertexAttribPointer [OGL 2.1]glVertexPointer [OGL 2.1]glViewport [OGL 2.1]
glWindowPos2d [OGL 2.1]glWindowPos2dv [OGL 2.1]glWindowPos2f [OGL 2.1]glWindowPos2fv [OGL 2.1]
glWindowPos2i [OGL 2.1]glWindowPos2iv [OGL 2.1]glWindowPos2s [OGL 2.1]glWindowPos2sv [OGL 2.1]
glWindowPos3d [OGL 2.1]glWindowPos3dv [OGL 2.1]glWindowPos3f [OGL 2.1]glWindowPos3fv [OGL 2.1]
glWindowPos3i [OGL 2.1]glWindowPos3iv [OGL 2.1]glWindowPos3s [OGL 2.1]glWindowPos3sv [OGL 2.1]

7.2. Data Definitions for libGL

This section defines global identifiers and their values that are associated with interfaces contained in libGL. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content. Where an interface is defined as requiring a particular system header file all of the data definitions for that system header file presented here shall be in effect.

This section gives data definitions to promote binary application portability, not to repeat source interface definitions available elsewhere. System providers and application developers should use this ABI to supplement - not to replace - source interface definition specifications.

This specification uses the ISO C (1999) C Language as the reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.


7.2.1. GL/gl.h


#define GL_VERSION_1_1	1
#define GL_VERSION_1_2	1
#define GL_VERSION_1_3	1

typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
typedef void GLvoid;
typedef char GLbyte;
typedef short GLshort;
typedef int GLint;
typedef unsigned char GLubyte;
typedef unsigned short GLushort;
typedef unsigned int GLuint;
typedef int GLsizei;
typedef float GLfloat;
typedef float GLclampf;
typedef double GLdouble;
typedef double GLclampd;

#define GL_BYTE	0x1400
#define GL_UNSIGNED_BYTE	0x1401
#define GL_SHORT	0x1402
#define GL_UNSIGNED_SHORT	0x1403
#define GL_INT	0x1404
#define GL_UNSIGNED_INT	0x1405
#define GL_FLOAT	0x1406
#define GL_2_BYTES	0x1407
#define GL_3_BYTES	0x1408
#define GL_4_BYTES	0x1409
#define GL_DOUBLE	0x140A

#define GL_POINTS	0x0000
#define GL_LINES	0x0001
#define GL_LINE_LOOP	0x0002
#define GL_LINE_STRIP	0x0003
#define GL_TRIANGLES	0x0004
#define GL_TRIANGLE_STRIP	0x0005
#define GL_TRIANGLE_FAN	0x0006
#define GL_QUADS	0x0007
#define GL_QUAD_STRIP	0x0008
#define GL_POLYGON	0x0009

#define GL_V2F	0x2A20
#define GL_V3F	0x2A21
#define GL_C4UB_V2F	0x2A22
#define GL_C4UB_V3F	0x2A23
#define GL_C3F_V3F	0x2A24
#define GL_N3F_V3F	0x2A25
#define GL_C4F_N3F_V3F	0x2A26
#define GL_T2F_V3F	0x2A27
#define GL_T4F_V4F	0x2A28
#define GL_T2F_C4UB_V3F	0x2A29
#define GL_T2F_C3F_V3F	0x2A2A
#define GL_T2F_N3F_V3F	0x2A2B
#define GL_T2F_C4F_N3F_V3F	0x2A2C
#define GL_T4F_C4F_N3F_V4F	0x2A2D
#define GL_VERTEX_ARRAY	0x8074
#define GL_NORMAL_ARRAY	0x8075
#define GL_COLOR_ARRAY	0x8076
#define GL_INDEX_ARRAY	0x8077
#define GL_TEXTURE_COORD_ARRAY	0x8078
#define GL_EDGE_FLAG_ARRAY	0x8079
#define GL_VERTEX_ARRAY_SIZE	0x807A
#define GL_VERTEX_ARRAY_TYPE	0x807B
#define GL_VERTEX_ARRAY_STRIDE	0x807C
#define GL_NORMAL_ARRAY_TYPE	0x807E
#define GL_NORMAL_ARRAY_STRIDE	0x807F
#define GL_COLOR_ARRAY_SIZE	0x8081
#define GL_COLOR_ARRAY_TYPE	0x8082
#define GL_COLOR_ARRAY_STRIDE	0x8083
#define GL_INDEX_ARRAY_TYPE	0x8085
#define GL_INDEX_ARRAY_STRIDE	0x8086
#define GL_TEXTURE_COORD_ARRAY_SIZE	0x8088
#define GL_TEXTURE_COORD_ARRAY_TYPE	0x8089
#define GL_TEXTURE_COORD_ARRAY_STRIDE	0x808A
#define GL_EDGE_FLAG_ARRAY_STRIDE	0x808C
#define GL_VERTEX_ARRAY_POINTER	0x808E
#define GL_NORMAL_ARRAY_POINTER	0x808F
#define GL_COLOR_ARRAY_POINTER	0x8090
#define GL_INDEX_ARRAY_POINTER	0x8091
#define GL_TEXTURE_COORD_ARRAY_POINTER	0x8092
#define GL_EDGE_FLAG_ARRAY_POINTER	0x8093

#define GL_MATRIX_MODE	0x0BA0
#define GL_MODELVIEW	0x1700
#define GL_PROJECTION	0x1701
#define GL_TEXTURE	0x1702

#define GL_POINT_SMOOTH	0x0B10
#define GL_POINT_SIZE	0x0B11
#define GL_POINT_SIZE_RANGE	0x0B12
#define GL_POINT_SIZE_GRANULARITY	0x0B13

#define GL_LINE_SMOOTH	0x0B20
#define GL_LINE_WIDTH	0x0B21
#define GL_LINE_WIDTH_RANGE	0x0B22
#define GL_LINE_WIDTH_GRANULARITY	0x0B23
#define GL_LINE_STIPPLE	0x0B24
#define GL_LINE_STIPPLE_PATTERN	0x0B25
#define GL_LINE_STIPPLE_REPEAT	0x0B26

#define GL_FRONT	0x0404
#define GL_BACK	0x0405
#define GL_CW	0x0900
#define GL_CCW	0x0901
#define GL_POLYGON_MODE	0x0B40
#define GL_POLYGON_SMOOTH	0x0B41
#define GL_POLYGON_STIPPLE	0x0B42
#define GL_EDGE_FLAG	0x0B43
#define GL_CULL_FACE	0x0B44
#define GL_CULL_FACE_MODE	0x0B45
#define GL_FRONT_FACE	0x0B46
#define GL_POINT	0x1B00
#define GL_LINE	0x1B01
#define GL_FILL	0x1B02
#define GL_POLYGON_OFFSET_UNITS	0x2A00
#define GL_POLYGON_OFFSET_POINT	0x2A01
#define GL_POLYGON_OFFSET_LINE	0x2A02
#define GL_POLYGON_OFFSET_FILL	0x8037
#define GL_POLYGON_OFFSET_FACTOR	0x8038

#define GL_LIST_MODE	0x0B30
#define GL_LIST_BASE	0x0B32
#define GL_LIST_INDEX	0x0B33
#define GL_COMPILE	0x1300
#define GL_COMPILE_AND_EXECUTE	0x1301

#define GL_NEVER	0x0200
#define GL_LESS	0x0201
#define GL_EQUAL	0x0202
#define GL_LEQUAL	0x0203
#define GL_GREATER	0x0204
#define GL_NOTEQUAL	0x0205
#define GL_GEQUAL	0x0206
#define GL_ALWAYS	0x0207
#define GL_DEPTH_RANGE	0x0B70
#define GL_DEPTH_TEST	0x0B71
#define GL_DEPTH_WRITEMASK	0x0B72
#define GL_DEPTH_CLEAR_VALUE	0x0B73
#define GL_DEPTH_FUNC	0x0B74
#define GL_DEPTH_BITS	0x0D56
#define GL_DEPTH_COMPONENT	0x1902

#define GL_FRONT_AND_BACK	0x0408
#define GL_LIGHTING	0x0B50
#define GL_LIGHT_MODEL_LOCAL_VIEWER	0x0B51
#define GL_LIGHT_MODEL_TWO_SIDE	0x0B52
#define GL_LIGHT_MODEL_AMBIENT	0x0B53
#define GL_SHADE_MODEL	0x0B54
#define GL_COLOR_MATERIAL_FACE	0x0B55
#define GL_COLOR_MATERIAL_PARAMETER	0x0B56
#define GL_COLOR_MATERIAL	0x0B57
#define GL_NORMALIZE	0x0BA1
#define GL_AMBIENT	0x1200
#define GL_DIFFUSE	0x1201
#define GL_SPECULAR	0x1202
#define GL_POSITION	0x1203
#define GL_SPOT_DIRECTION	0x1204
#define GL_SPOT_EXPONENT	0x1205
#define GL_SPOT_CUTOFF	0x1206
#define GL_CONSTANT_ATTENUATION	0x1207
#define GL_LINEAR_ATTENUATION	0x1208
#define GL_QUADRATIC_ATTENUATION	0x1209
#define GL_EMISSION	0x1600
#define GL_SHININESS	0x1601
#define GL_AMBIENT_AND_DIFFUSE	0x1602
#define GL_COLOR_INDEXES	0x1603
#define GL_FLAT	0x1D00
#define GL_SMOOTH	0x1D01
#define GL_LIGHT0	0x4000
#define GL_LIGHT1	0x4001
#define GL_LIGHT2	0x4002
#define GL_LIGHT3	0x4003
#define GL_LIGHT4	0x4004
#define GL_LIGHT5	0x4005
#define GL_LIGHT6	0x4006
#define GL_LIGHT7	0x4007

#define GL_CLIP_PLANE0	0x3000
#define GL_CLIP_PLANE1	0x3001
#define GL_CLIP_PLANE2	0x3002
#define GL_CLIP_PLANE3	0x3003
#define GL_CLIP_PLANE4	0x3004
#define GL_CLIP_PLANE5	0x3005

#define GL_ACCUM	0x0100
#define GL_LOAD	0x0101
#define GL_RETURN	0x0102
#define GL_MULT	0x0103
#define GL_ADD	0x0104
#define GL_ACCUM_CLEAR_VALUE	0x0B80
#define GL_ACCUM_RED_BITS	0x0D58
#define GL_ACCUM_GREEN_BITS	0x0D59
#define GL_ACCUM_BLUE_BITS	0x0D5A
#define GL_ACCUM_ALPHA_BITS	0x0D5B

#define GL_ALPHA_TEST	0x0BC0
#define GL_ALPHA_TEST_FUNC	0x0BC1
#define GL_ALPHA_TEST_REF	0x0BC2

#define GL_ZERO	0x0
#define GL_SRC_COLOR	0x0300
#define GL_ONE_MINUS_SRC_COLOR	0x0301
#define GL_SRC_ALPHA	0x0302
#define GL_ONE_MINUS_SRC_ALPHA	0x0303
#define GL_DST_ALPHA	0x0304
#define GL_ONE_MINUS_DST_ALPHA	0x0305
#define GL_DST_COLOR	0x0306
#define GL_ONE_MINUS_DST_COLOR	0x0307
#define GL_SRC_ALPHA_SATURATE	0x0308
#define GL_BLEND_DST	0x0BE0
#define GL_BLEND_SRC	0x0BE1
#define GL_BLEND	0x0BE2
#define GL_ONE	0x1

#define GL_RENDER	0x1C00
#define GL_FEEDBACK	0x1C01
#define GL_SELECT	0x1C02

#define GL_2D	0x0600
#define GL_3D	0x0601
#define GL_3D_COLOR	0x0602
#define GL_3D_COLOR_TEXTURE	0x0603
#define GL_4D_COLOR_TEXTURE	0x0604
#define GL_PASS_THROUGH_TOKEN	0x0700
#define GL_POINT_TOKEN	0x0701
#define GL_LINE_TOKEN	0x0702
#define GL_POLYGON_TOKEN	0x0703
#define GL_BITMAP_TOKEN	0x0704
#define GL_DRAW_PIXEL_TOKEN	0x0705
#define GL_COPY_PIXEL_TOKEN	0x0706
#define GL_LINE_RESET_TOKEN	0x0707
#define GL_FEEDBACK_BUFFER_POINTER	0x0DF0
#define GL_FEEDBACK_BUFFER_SIZE	0x0DF1
#define GL_FEEDBACK_BUFFER_TYPE	0x0DF2
#define GL_ALPHA_BLEND_EQUATION_ATI	0x883D
#define GL_ATI_blend_equation_separate	1

#define GL_CURRENT_BIT	0x00000001
#define GL_POINT_BIT	0x00000002
#define GL_LINE_BIT	0x00000004
#define GL_POLYGON_BIT	0x00000008
#define GL_POLYGON_STIPPLE_BIT	0x00000010
#define GL_PIXEL_MODE_BIT	0x00000020
#define GL_LIGHTING_BIT	0x00000040
#define GL_FOG_BIT	0x00000080
#define GL_DEPTH_BUFFER_BIT	0x00000100
#define GL_ACCUM_BUFFER_BIT	0x00000200
#define GL_STENCIL_BUFFER_BIT	0x00000400
#define GL_VIEWPORT_BIT	0x00000800
#define GL_TRANSFORM_BIT	0x00001000
#define GL_ENABLE_BIT	0x00002000
#define GL_COLOR_BUFFER_BIT	0x00004000
#define GL_HINT_BIT	0x00008000
#define GL_EVAL_BIT	0x00010000
#define GL_LIST_BIT	0x00020000
#define GL_TEXTURE_BIT	0x00040000
#define GL_SCISSOR_BIT	0x00080000
#define GL_ALL_ATTRIB_BITS	0x000FFFFF

#define GL_CLIENT_PIXEL_STORE_BIT	0x00000001
#define GL_CLIENT_VERTEX_ARRAY_BIT	0x00000002
#define GL_TEXTURE_INTERNAL_FORMAT	0x1003
#define GL_R3_G3_B2	0x2A10
#define GL_ALPHA4	0x803B
#define GL_ALPHA8	0x803C
#define GL_ALPHA12	0x803D
#define GL_ALPHA16	0x803E
#define GL_LUMINANCE4	0x803F
#define GL_LUMINANCE8	0x8040
#define GL_LUMINANCE12	0x8041
#define GL_LUMINANCE16	0x8042
#define GL_LUMINANCE4_ALPHA4	0x8043
#define GL_LUMINANCE6_ALPHA2	0x8044
#define GL_LUMINANCE8_ALPHA8	0x8045
#define GL_LUMINANCE12_ALPHA4	0x8046
#define GL_LUMINANCE12_ALPHA12	0x8047
#define GL_LUMINANCE16_ALPHA16	0x8048
#define GL_INTENSITY	0x8049
#define GL_INTENSITY4	0x804A
#define GL_INTENSITY8	0x804B
#define GL_INTENSITY12	0x804C
#define GL_INTENSITY16	0x804D
#define GL_RGB4	0x804F
#define GL_RGB5	0x8050
#define GL_RGB8	0x8051
#define GL_RGB10	0x8052
#define GL_RGB12	0x8053
#define GL_RGB16	0x8054
#define GL_RGBA2	0x8055
#define GL_RGBA4	0x8056
#define GL_RGB5_A1	0x8057
#define GL_RGBA8	0x8058
#define GL_RGB10_A2	0x8059
#define GL_RGBA12	0x805A
#define GL_RGBA16	0x805B
#define GL_PROXY_TEXTURE_1D	0x8063
#define GL_PROXY_TEXTURE_2D	0x8064
#define GL_TEXTURE_PRIORITY	0x8066
#define GL_TEXTURE_RESIDENT	0x8067
#define GL_TEXTURE_BINDING_1D	0x8068
#define GL_TEXTURE_BINDING_2D	0x8069
#define GL_ALL_CLIENT_ATTRIB_BITS	0xFFFFFFFF
#define GL_CLIENT_ALL_ATTRIB_BITS	0xFFFFFFFF

#define GL_SMOOTH_POINT_SIZE_RANGE	0x0B12
#define GL_SMOOTH_POINT_SIZE_GRANULARITY	0x0B13
#define GL_SMOOTH_LINE_WIDTH_RANGE	0x0B22
#define GL_SMOOTH_LINE_WIDTH_GRANULARITY	0x0B23
#define GL_UNSIGNED_BYTE_3_3_2	0x8032
#define GL_UNSIGNED_SHORT_4_4_4_4	0x8033
#define GL_UNSIGNED_SHORT_5_5_5_1	0x8034
#define GL_UNSIGNED_INT_8_8_8_8	0x8035
#define GL_UNSIGNED_INT_10_10_10_2	0x8036
#define GL_RESCALE_NORMAL	0x803A
#define GL_TEXTURE_BINDING_3D	0x806A
#define GL_PACK_SKIP_IMAGES	0x806B
#define GL_PACK_IMAGE_HEIGHT	0x806C
#define GL_UNPACK_SKIP_IMAGES	0x806D
#define GL_UNPACK_IMAGE_HEIGHT	0x806E
#define GL_TEXTURE_3D	0x806F
#define GL_PROXY_TEXTURE_3D	0x8070
#define GL_TEXTURE_DEPTH	0x8071
#define GL_TEXTURE_WRAP_R	0x8072
#define GL_MAX_3D_TEXTURE_SIZE	0x8073
#define GL_BGR	0x80E0
#define GL_BGRA	0x80E1
#define GL_MAX_ELEMENTS_VERTICES	0x80E8
#define GL_MAX_ELEMENTS_INDICES	0x80E9
#define GL_CLAMP_TO_EDGE	0x812F
#define GL_TEXTURE_MIN_LOD	0x813A
#define GL_TEXTURE_MAX_LOD	0x813B
#define GL_TEXTURE_BASE_LEVEL	0x813C
#define GL_TEXTURE_MAX_LEVEL	0x813D
#define GL_LIGHT_MODEL_COLOR_CONTROL	0x81F8
#define GL_SINGLE_COLOR	0x81F9
#define GL_SEPARATE_SPECULAR_COLOR	0x81FA
#define GL_UNSIGNED_BYTE_2_3_3_REV	0x8362
#define GL_UNSIGNED_SHORT_5_6_5	0x8363
#define GL_UNSIGNED_SHORT_5_6_5_REV	0x8364
#define GL_UNSIGNED_SHORT_4_4_4_4_REV	0x8365
#define GL_UNSIGNED_SHORT_1_5_5_5_REV	0x8366
#define GL_UNSIGNED_INT_8_8_8_8_REV	0x8367
#define GL_UNSIGNED_INT_2_10_10_10_REV	0x8368
#define GL_ALIASED_POINT_SIZE_RANGE	0x846D
#define GL_ALIASED_LINE_WIDTH_RANGE	0x846E

#define GL_CONSTANT_COLOR	0x8001
#define GL_ONE_MINUS_CONSTANT_COLOR	0x8002
#define GL_CONSTANT_ALPHA	0x8003
#define GL_ONE_MINUS_CONSTANT_ALPHA	0x8004
#define GL_BLEND_COLOR	0x8005
#define GL_FUNC_ADD	0x8006
#define GL_MIN	0x8007
#define GL_MAX	0x8008
#define GL_BLEND_EQUATION	0x8009
#define GL_FUNC_SUBTRACT	0x800A
#define GL_FUNC_REVERSE_SUBTRACT	0x800B
#define GL_CONVOLUTION_1D	0x8010
#define GL_CONVOLUTION_2D	0x8011
#define GL_SEPARABLE_2D	0x8012
#define GL_CONVOLUTION_BORDER_MODE	0x8013
#define GL_CONVOLUTION_FILTER_SCALE	0x8014
#define GL_CONVOLUTION_FILTER_BIAS	0x8015
#define GL_REDUCE	0x8016
#define GL_CONVOLUTION_FORMAT	0x8017
#define GL_CONVOLUTION_WIDTH	0x8018
#define GL_CONVOLUTION_HEIGHT	0x8019
#define GL_MAX_CONVOLUTION_WIDTH	0x801A
#define GL_MAX_CONVOLUTION_HEIGHT	0x801B
#define GL_POST_CONVOLUTION_RED_SCALE	0x801C
#define GL_POST_CONVOLUTION_GREEN_SCALE	0x801D
#define GL_POST_CONVOLUTION_BLUE_SCALE	0x801E
#define GL_POST_CONVOLUTION_ALPHA_SCALE	0x801F
#define GL_POST_CONVOLUTION_RED_BIAS	0x8020
#define GL_POST_CONVOLUTION_GREEN_BIAS	0x8021
#define GL_POST_CONVOLUTION_BLUE_BIAS	0x8022
#define GL_POST_CONVOLUTION_ALPHA_BIAS	0x8023
#define GL_HISTOGRAM	0x8024
#define GL_PROXY_HISTOGRAM	0x8025
#define GL_HISTOGRAM_WIDTH	0x8026
#define GL_HISTOGRAM_FORMAT	0x8027
#define GL_HISTOGRAM_RED_SIZE	0x8028
#define GL_HISTOGRAM_GREEN_SIZE	0x8029
#define GL_HISTOGRAM_BLUE_SIZE	0x802A
#define GL_HISTOGRAM_ALPHA_SIZE	0x802B
#define GL_HISTOGRAM_LUMINANCE_SIZE	0x802C
#define GL_HISTOGRAM_SINK	0x802D
#define GL_MINMAX	0x802E
#define GL_MINMAX_FORMAT	0x802F
#define GL_MINMAX_SINK	0x8030
#define GL_TABLE_TOO_LARGE	0x8031
#define GL_COLOR_MATRIX	0x80B1
#define GL_COLOR_MATRIX_STACK_DEPTH	0x80B2
#define GL_MAX_COLOR_MATRIX_STACK_DEPTH	0x80B3
#define GL_POST_COLOR_MATRIX_RED_SCALE	0x80B4
#define GL_POST_COLOR_MATRIX_GREEN_SCALE	0x80B5
#define GL_POST_COLOR_MATRIX_BLUE_SCALE	0x80B6
#define GL_POST_COLOR_MATRIX_ALPHA_SCALE	0x80B7
#define GL_POST_COLOR_MATRIX_RED_BIAS	0x80B8
#define GL_POST_COLOR_MATRIX_GREEN_BIAS	0x80B9
#define GL_POST_COLOR_MATRIX_BLUE_BIAS	0x80BA
#define GL_POST_COLOR_MATRIX_ALPHA_BIAS	0x80BB
#define GL_COLOR_TABLE	0x80D0
#define GL_POST_CONVOLUTION_COLOR_TABLE	0x80D1
#define GL_POST_COLOR_MATRIX_COLOR_TABLE	0x80D2
#define GL_PROXY_COLOR_TABLE	0x80D3
#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE	0x80D4
#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE	0x80D5
#define GL_COLOR_TABLE_SCALE	0x80D6
#define GL_COLOR_TABLE_BIAS	0x80D7
#define GL_COLOR_TABLE_FORMAT	0x80D8
#define GL_COLOR_TABLE_WIDTH	0x80D9
#define GL_COLOR_TABLE_RED_SIZE	0x80DA
#define GL_COLOR_TABLE_GREEN_SIZE	0x80DB
#define GL_COLOR_TABLE_BLUE_SIZE	0x80DC
#define GL_COLOR_TABLE_ALPHA_SIZE	0x80DD
#define GL_COLOR_TABLE_LUMINANCE_SIZE	0x80DE
#define GL_COLOR_TABLE_INTENSITY_SIZE	0x80DF
#define GL_CONSTANT_BORDER	0x8151
#define GL_REPLICATE_BORDER	0x8153
#define GL_CONVOLUTION_BORDER_COLOR	0x8154

#define GL_TEXTURE0	0x84C0
#define GL_TEXTURE1	0x84C1
#define GL_TEXTURE2	0x84C2
#define GL_TEXTURE3	0x84C3
#define GL_TEXTURE4	0x84C4
#define GL_TEXTURE5	0x84C5
#define GL_TEXTURE6	0x84C6
#define GL_TEXTURE7	0x84C7
#define GL_TEXTURE8	0x84C8
#define GL_TEXTURE9	0x84C9
#define GL_TEXTURE10	0x84CA
#define GL_TEXTURE11	0x84CB
#define GL_TEXTURE12	0x84CC
#define GL_TEXTURE13	0x84CD
#define GL_TEXTURE14	0x84CE
#define GL_TEXTURE15	0x84CF
#define GL_TEXTURE16	0x84D0
#define GL_TEXTURE17	0x84D1
#define GL_TEXTURE18	0x84D2
#define GL_TEXTURE19	0x84D3
#define GL_TEXTURE20	0x84D4
#define GL_TEXTURE21	0x84D5
#define GL_TEXTURE22	0x84D6
#define GL_TEXTURE23	0x84D7
#define GL_TEXTURE24	0x84D8
#define GL_TEXTURE25	0x84D9
#define GL_TEXTURE26	0x84DA
#define GL_TEXTURE27	0x84DB
#define GL_TEXTURE28	0x84DC
#define GL_TEXTURE29	0x84DD
#define GL_TEXTURE30	0x84DE
#define GL_TEXTURE31	0x84DF
#define GL_ACTIVE_TEXTURE	0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE	0x84E1
#define GL_MAX_TEXTURE_UNITS	0x84E2

#define GL_NORMAL_MAP	0x8511
#define GL_REFLECTION_MAP	0x8512
#define GL_TEXTURE_CUBE_MAP	0x8513
#define GL_TEXTURE_BINDING_CUBE_MAP	0x8514
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X	0x8515
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X	0x8516
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y	0x8517
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y	0x8518
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z	0x8519
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z	0x851A
#define GL_PROXY_TEXTURE_CUBE_MAP	0x851B
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE	0x851C

#define GL_COMPRESSED_ALPHA	0x84E9
#define GL_COMPRESSED_LUMINANCE	0x84EA
#define GL_COMPRESSED_LUMINANCE_ALPHA	0x84EB
#define GL_COMPRESSED_INTENSITY	0x84EC
#define GL_COMPRESSED_RGB	0x84ED
#define GL_COMPRESSED_RGBA	0x84EE
#define GL_TEXTURE_COMPRESSION_HINT	0x84EF
#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE	0x86A0
#define GL_TEXTURE_COMPRESSED	0x86A1
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS	0x86A2
#define GL_COMPRESSED_TEXTURE_FORMATS	0x86A3

#define GL_MULTISAMPLE_BIT	0x20000000
#define GL_MULTISAMPLE	0x809D
#define GL_SAMPLE_ALPHA_TO_COVERAGE	0x809E
#define GL_SAMPLE_ALPHA_TO_ONE	0x809F
#define GL_SAMPLE_COVERAGE	0x80A0
#define GL_SAMPLE_BUFFERS	0x80A8
#define GL_SAMPLES	0x80A9
#define GL_SAMPLE_COVERAGE_VALUE	0x80AA
#define GL_SAMPLE_COVERAGE_INVERT	0x80AB

#define GL_TRANSPOSE_MODELVIEW_MATRIX	0x84E3
#define GL_TRANSPOSE_PROJECTION_MATRIX	0x84E4
#define GL_TRANSPOSE_TEXTURE_MATRIX	0x84E5
#define GL_TRANSPOSE_COLOR_MATRIX	0x84E6

#define GL_SUBTRACT	0x84E7
#define GL_COMBINE	0x8570
#define GL_COMBINE_RGB	0x8571
#define GL_COMBINE_ALPHA	0x8572
#define GL_RGB_SCALE	0x8573
#define GL_ADD_SIGNED	0x8574
#define GL_INTERPOLATE	0x8575
#define GL_CONSTANT	0x8576
#define GL_PRIMARY_COLOR	0x8577
#define GL_PREVIOUS	0x8578
#define GL_SOURCE0_RGB	0x8580
#define GL_SOURCE1_RGB	0x8581
#define GL_SOURCE2_RGB	0x8582
#define GL_SOURCE0_ALPHA	0x8588
#define GL_SOURCE1_ALPHA	0x8589
#define GL_SOURCE2_ALPHA	0x858A
#define GL_OPERAND0_RGB	0x8590
#define GL_OPERAND1_RGB	0x8591
#define GL_OPERAND2_RGB	0x8592
#define GL_OPERAND0_ALPHA	0x8598
#define GL_OPERAND1_ALPHA	0x8599
#define GL_OPERAND2_ALPHA	0x859A

#define GL_DOT3_RGB	0x86AE
#define GL_DOT3_RGBA	0x86AF

#define GL_CLAMP_TO_BORDER	0x812D

#define GL_TEXTURE0_ARB	0x84C0
#define GL_TEXTURE1_ARB	0x84C1
#define GL_TEXTURE2_ARB	0x84C2
#define GL_TEXTURE3_ARB	0x84C3
#define GL_TEXTURE4_ARB	0x84C4
#define GL_TEXTURE5_ARB	0x84C5
#define GL_TEXTURE6_ARB	0x84C6
#define GL_TEXTURE7_ARB	0x84C7
#define GL_TEXTURE8_ARB	0x84C8
#define GL_TEXTURE9_ARB	0x84C9
#define GL_TEXTURE10_ARB	0x84CA
#define GL_TEXTURE11_ARB	0x84CB
#define GL_TEXTURE12_ARB	0x84CC
#define GL_TEXTURE13_ARB	0x84CD
#define GL_TEXTURE14_ARB	0x84CE
#define GL_TEXTURE15_ARB	0x84CF
#define GL_TEXTURE16_ARB	0x84D0
#define GL_TEXTURE17_ARB	0x84D1
#define GL_TEXTURE18_ARB	0x84D2
#define GL_TEXTURE19_ARB	0x84D3
#define GL_TEXTURE20_ARB	0x84D4
#define GL_TEXTURE21_ARB	0x84D5
#define GL_TEXTURE22_ARB	0x84D6
#define GL_TEXTURE23_ARB	0x84D7
#define GL_TEXTURE24_ARB	0x84D8
#define GL_TEXTURE25_ARB	0x84D9
#define GL_TEXTURE26_ARB	0x84DA
#define GL_TEXTURE27_ARB	0x84DB
#define GL_TEXTURE28_ARB	0x84DC
#define GL_TEXTURE29_ARB	0x84DD
#define GL_TEXTURE30_ARB	0x84DE
#define GL_TEXTURE31_ARB	0x84DF
#define GL_ACTIVE_TEXTURE_ARB	0x84E0
#define GL_CLIENT_ACTIVE_TEXTURE_ARB	0x84E1
#define GL_MAX_TEXTURE_UNITS_ARB	0x84E2
#define GL_ARB_imaging	1
#ifndef GL_ARB_multitexture
#define GL_ARB_multitexture	1
#endif

#define GL_NO_ERROR	0x0
#define GL_INVALID_ENUM	0x0500
#define GL_INVALID_VALUE	0x0501
#define GL_INVALID_OPERATION	0x0502
#define GL_STACK_OVERFLOW	0x0503
#define GL_STACK_UNDERFLOW	0x0504
#define GL_OUT_OF_MEMORY	0x0505

#define GL_VENDOR	0x1F00
#define GL_RENDERER	0x1F01
#define GL_VERSION	0x1F02
#define GL_EXTENSIONS	0x1F03

#define GL_SELECTION_BUFFER_POINTER	0x0DF3
#define GL_SELECTION_BUFFER_SIZE	0x0DF4

#define GL_EXP	0x0800
#define GL_EXP2	0x0801
#define GL_FOG	0x0B60
#define GL_FOG_INDEX	0x0B61
#define GL_FOG_DENSITY	0x0B62
#define GL_FOG_START	0x0B63
#define GL_FOG_END	0x0B64
#define GL_FOG_MODE	0x0B65
#define GL_FOG_COLOR	0x0B66
#define GL_LINEAR	0x2601

#define GL_LOGIC_OP_MODE	0x0BF0
#define GL_INDEX_LOGIC_OP	0x0BF1
#define GL_LOGIC_OP	0x0BF1
#define GL_COLOR_LOGIC_OP	0x0BF2
#define GL_CLEAR	0x1500
#define GL_AND	0x1501
#define GL_AND_REVERSE	0x1502
#define GL_COPY	0x1503
#define GL_AND_INVERTED	0x1504
#define GL_NOOP	0x1505
#define GL_XOR	0x1506
#define GL_OR	0x1507
#define GL_NOR	0x1508
#define GL_EQUIV	0x1509
#define GL_INVERT	0x150A
#define GL_OR_REVERSE	0x150B
#define GL_COPY_INVERTED	0x150C
#define GL_OR_INVERTED	0x150D
#define GL_NAND	0x150E
#define GL_SET	0x150F

#define GL_STENCIL_TEST	0x0B90
#define GL_STENCIL_CLEAR_VALUE	0x0B91
#define GL_STENCIL_FUNC	0x0B92
#define GL_STENCIL_VALUE_MASK	0x0B93
#define GL_STENCIL_FAIL	0x0B94
#define GL_STENCIL_PASS_DEPTH_FAIL	0x0B95
#define GL_STENCIL_PASS_DEPTH_PASS	0x0B96
#define GL_STENCIL_REF	0x0B97
#define GL_STENCIL_WRITEMASK	0x0B98
#define GL_STENCIL_BITS	0x0D57
#define GL_STENCIL_INDEX	0x1901
#define GL_KEEP	0x1E00
#define GL_REPLACE	0x1E01
#define GL_INCR	0x1E02
#define GL_DECR	0x1E03

#define GL_NONE	0x0
#define GL_FRONT_LEFT	0x0400
#define GL_FRONT_RIGHT	0x0401
#define GL_BACK_LEFT	0x0402
#define GL_BACK_RIGHT	0x0403
#define GL_LEFT	0x0406
#define GL_RIGHT	0x0407
#define GL_AUX0	0x0409
#define GL_AUX1	0x040A
#define GL_AUX2	0x040B
#define GL_AUX3	0x040C
#define GL_DITHER	0x0BD0
#define GL_AUX_BUFFERS	0x0C00
#define GL_DRAW_BUFFER	0x0C01
#define GL_READ_BUFFER	0x0C02
#define GL_DOUBLEBUFFER	0x0C32
#define GL_STEREO	0x0C33
#define GL_SUBPIXEL_BITS	0x0D50
#define GL_INDEX_BITS	0x0D51
#define GL_RED_BITS	0x0D52
#define GL_GREEN_BITS	0x0D53
#define GL_BLUE_BITS	0x0D54
#define GL_ALPHA_BITS	0x0D55
#define GL_COLOR	0x1800
#define GL_DEPTH	0x1801
#define GL_STENCIL	0x1802
#define GL_COLOR_INDEX	0x1900
#define GL_RED	0x1903
#define GL_GREEN	0x1904
#define GL_BLUE	0x1905
#define GL_ALPHA	0x1906
#define GL_RGB	0x1907
#define GL_RGBA	0x1908
#define GL_LUMINANCE	0x1909
#define GL_LUMINANCE_ALPHA	0x190A
#define GL_BITMAP	0x1A00

#define GL_MAX_LIST_NESTING	0x0B31
#define GL_MAX_EVAL_ORDER	0x0D30
#define GL_MAX_LIGHTS	0x0D31
#define GL_MAX_CLIP_PLANES	0x0D32
#define GL_MAX_TEXTURE_SIZE	0x0D33
#define GL_MAX_PIXEL_MAP_TABLE	0x0D34
#define GL_MAX_ATTRIB_STACK_DEPTH	0x0D35
#define GL_MAX_MODELVIEW_STACK_DEPTH	0x0D36
#define GL_MAX_NAME_STACK_DEPTH	0x0D37
#define GL_MAX_PROJECTION_STACK_DEPTH	0x0D38
#define GL_MAX_TEXTURE_STACK_DEPTH	0x0D39
#define GL_MAX_VIEWPORT_DIMS	0x0D3A
#define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH	0x0D3B

#define GL_CURRENT_COLOR	0x0B00
#define GL_CURRENT_INDEX	0x0B01
#define GL_CURRENT_NORMAL	0x0B02
#define GL_CURRENT_TEXTURE_COORDS	0x0B03
#define GL_CURRENT_RASTER_COLOR	0x0B04
#define GL_CURRENT_RASTER_INDEX	0x0B05
#define GL_CURRENT_RASTER_TEXTURE_COORDS	0x0B06
#define GL_CURRENT_RASTER_POSITION	0x0B07
#define GL_CURRENT_RASTER_POSITION_VALID	0x0B08
#define GL_CURRENT_RASTER_DISTANCE	0x0B09
#define GL_VIEWPORT	0x0BA2
#define GL_MODELVIEW_STACK_DEPTH	0x0BA3
#define GL_PROJECTION_STACK_DEPTH	0x0BA4
#define GL_TEXTURE_STACK_DEPTH	0x0BA5
#define GL_MODELVIEW_MATRIX	0x0BA6
#define GL_PROJECTION_MATRIX	0x0BA7
#define GL_TEXTURE_MATRIX	0x0BA8
#define GL_ATTRIB_STACK_DEPTH	0x0BB0
#define GL_CLIENT_ATTRIB_STACK_DEPTH	0x0BB1
#define GL_INDEX_CLEAR_VALUE	0x0C20
#define GL_INDEX_WRITEMASK	0x0C21
#define GL_COLOR_CLEAR_VALUE	0x0C22
#define GL_COLOR_WRITEMASK	0x0C23
#define GL_INDEX_MODE	0x0C30
#define GL_RGBA_MODE	0x0C31
#define GL_RENDER_MODE	0x0C40
#define GL_NAME_STACK_DEPTH	0x0D70

#define GL_COEFF	0x0A00
#define GL_ORDER	0x0A01
#define GL_DOMAIN	0x0A02
#define GL_AUTO_NORMAL	0x0D80
#define GL_MAP1_COLOR_4	0x0D90
#define GL_MAP1_INDEX	0x0D91
#define GL_MAP1_NORMAL	0x0D92
#define GL_MAP1_TEXTURE_COORD_1	0x0D93
#define GL_MAP1_TEXTURE_COORD_2	0x0D94
#define GL_MAP1_TEXTURE_COORD_3	0x0D95
#define GL_MAP1_TEXTURE_COORD_4	0x0D96
#define GL_MAP1_VERTEX_3	0x0D97
#define GL_MAP1_VERTEX_4	0x0D98
#define GL_MAP2_COLOR_4	0x0DB0
#define GL_MAP2_INDEX	0x0DB1
#define GL_MAP2_NORMAL	0x0DB2
#define GL_MAP2_TEXTURE_COORD_1	0x0DB3
#define GL_MAP2_TEXTURE_COORD_2	0x0DB4
#define GL_MAP2_TEXTURE_COORD_3	0x0DB5
#define GL_MAP2_TEXTURE_COORD_4	0x0DB6
#define GL_MAP2_VERTEX_3	0x0DB7
#define GL_MAP2_VERTEX_4	0x0DB8
#define GL_MAP1_GRID_DOMAIN	0x0DD0
#define GL_MAP1_GRID_SEGMENTS	0x0DD1
#define GL_MAP2_GRID_DOMAIN	0x0DD2
#define GL_MAP2_GRID_SEGMENTS	0x0DD3

#define GL_PERSPECTIVE_CORRECTION_HINT	0x0C50
#define GL_POINT_SMOOTH_HINT	0x0C51
#define GL_LINE_SMOOTH_HINT	0x0C52
#define GL_POLYGON_SMOOTH_HINT	0x0C53
#define GL_FOG_HINT	0x0C54
#define GL_DONT_CARE	0x1100
#define GL_FASTEST	0x1101
#define GL_NICEST	0x1102

#define GL_SCISSOR_BOX	0x0C10
#define GL_SCISSOR_TEST	0x0C11

#define GL_PIXEL_MAP_I_TO_I	0x0C70
#define GL_PIXEL_MAP_S_TO_S	0x0C71
#define GL_PIXEL_MAP_I_TO_R	0x0C72
#define GL_PIXEL_MAP_I_TO_G	0x0C73
#define GL_PIXEL_MAP_I_TO_B	0x0C74
#define GL_PIXEL_MAP_I_TO_A	0x0C75
#define GL_PIXEL_MAP_R_TO_R	0x0C76
#define GL_PIXEL_MAP_G_TO_G	0x0C77
#define GL_PIXEL_MAP_B_TO_B	0x0C78
#define GL_PIXEL_MAP_A_TO_A	0x0C79
#define GL_PIXEL_MAP_I_TO_I_SIZE	0x0CB0
#define GL_PIXEL_MAP_S_TO_S_SIZE	0x0CB1
#define GL_PIXEL_MAP_I_TO_R_SIZE	0x0CB2
#define GL_PIXEL_MAP_I_TO_G_SIZE	0x0CB3
#define GL_PIXEL_MAP_I_TO_B_SIZE	0x0CB4
#define GL_PIXEL_MAP_I_TO_A_SIZE	0x0CB5
#define GL_PIXEL_MAP_R_TO_R_SIZE	0x0CB6
#define GL_PIXEL_MAP_G_TO_G_SIZE	0x0CB7
#define GL_PIXEL_MAP_B_TO_B_SIZE	0x0CB8
#define GL_PIXEL_MAP_A_TO_A_SIZE	0x0CB9
#define GL_UNPACK_SWAP_BYTES	0x0CF0
#define GL_UNPACK_LSB_FIRST	0x0CF1
#define GL_UNPACK_ROW_LENGTH	0x0CF2
#define GL_UNPACK_SKIP_ROWS	0x0CF3
#define GL_UNPACK_SKIP_PIXELS	0x0CF4
#define GL_UNPACK_ALIGNMENT	0x0CF5
#define GL_PACK_SWAP_BYTES	0x0D00
#define GL_PACK_LSB_FIRST	0x0D01
#define GL_PACK_ROW_LENGTH	0x0D02
#define GL_PACK_SKIP_ROWS	0x0D03
#define GL_PACK_SKIP_PIXELS	0x0D04
#define GL_PACK_ALIGNMENT	0x0D05
#define GL_MAP_COLOR	0x0D10
#define GL_MAP_STENCIL	0x0D11
#define GL_INDEX_SHIFT	0x0D12
#define GL_INDEX_OFFSET	0x0D13
#define GL_RED_SCALE	0x0D14
#define GL_RED_BIAS	0x0D15
#define GL_ZOOM_X	0x0D16
#define GL_ZOOM_Y	0x0D17
#define GL_GREEN_SCALE	0x0D18
#define GL_GREEN_BIAS	0x0D19
#define GL_BLUE_SCALE	0x0D1A
#define GL_BLUE_BIAS	0x0D1B
#define GL_ALPHA_SCALE	0x0D1C
#define GL_ALPHA_BIAS	0x0D1D
#define GL_DEPTH_SCALE	0x0D1E
#define GL_DEPTH_BIAS	0x0D1F

#define GL_TEXTURE_GEN_S	0x0C60
#define GL_TEXTURE_GEN_T	0x0C61
#define GL_TEXTURE_GEN_R	0x0C62
#define GL_TEXTURE_GEN_Q	0x0C63
#define GL_TEXTURE_1D	0x0DE0
#define GL_TEXTURE_2D	0x0DE1
#define GL_TEXTURE_WIDTH	0x1000
#define GL_TEXTURE_HEIGHT	0x1001
#define GL_TEXTURE_COMPONENTS	0x1003
#define GL_TEXTURE_BORDER_COLOR	0x1004
#define GL_TEXTURE_BORDER	0x1005
#define GL_S	0x2000
#define GL_T	0x2001
#define GL_R	0x2002
#define GL_Q	0x2003
#define GL_MODULATE	0x2100
#define GL_DECAL	0x2101
#define GL_TEXTURE_ENV_MODE	0x2200
#define GL_TEXTURE_ENV_COLOR	0x2201
#define GL_TEXTURE_ENV	0x2300
#define GL_EYE_LINEAR	0x2400
#define GL_OBJECT_LINEAR	0x2401
#define GL_SPHERE_MAP	0x2402
#define GL_TEXTURE_GEN_MODE	0x2500
#define GL_OBJECT_PLANE	0x2501
#define GL_EYE_PLANE	0x2502
#define GL_NEAREST	0x2600
#define GL_NEAREST_MIPMAP_NEAREST	0x2700
#define GL_LINEAR_MIPMAP_NEAREST	0x2701
#define GL_NEAREST_MIPMAP_LINEAR	0x2702
#define GL_LINEAR_MIPMAP_LINEAR	0x2703
#define GL_TEXTURE_MAG_FILTER	0x2800
#define GL_TEXTURE_MIN_FILTER	0x2801
#define GL_TEXTURE_WRAP_S	0x2802
#define GL_TEXTURE_WRAP_T	0x2803
#define GL_CLAMP	0x2900
#define GL_REPEAT	0x2901
#define GL_TEXTURE_RED_SIZE	0x805C
#define GL_TEXTURE_GREEN_SIZE	0x805D
#define GL_TEXTURE_BLUE_SIZE	0x805E
#define GL_TEXTURE_ALPHA_SIZE	0x805F
#define GL_TEXTURE_LUMINANCE_SIZE	0x8060
#define GL_TEXTURE_INTENSITY_SIZE	0x8061

#define GL_FALSE	0x0
#define GL_TRUE	0x1

extern void glAccum(GLenum op, GLfloat value);
extern void glActiveTexture(GLenum texture);
extern void glActiveTextureARB(GLenum texture);
extern void glAlphaFunc(GLenum func, GLclampf ref);
extern GLboolean glAreTexturesResident(GLsizei n, const GLuint * textures,
				       GLboolean * residences);
extern void glArrayElement(GLint i);
extern void glBegin(GLenum mode);
extern void glBindTexture(GLenum target, GLuint texture);
extern void glBitmap(GLsizei width, GLsizei height, GLfloat xorig,
		     GLfloat yorig, GLfloat xmove, GLfloat ymove,
		     const GLubyte * bitmap);
extern void glBlendColor(GLclampf red, GLclampf green, GLclampf blue,
			 GLclampf alpha);
extern void glBlendEquation(GLenum mode);
extern void glBlendFunc(GLenum sfactor, GLenum dfactor);
extern void glCallList(GLuint list);
extern void glCallLists(GLsizei n, GLenum type, const GLvoid * lists);
extern void glClear(GLbitfield mask);
extern void glClearAccum(GLfloat red, GLfloat green, GLfloat blue,
			 GLfloat alpha);
extern void glClearColor(GLclampf red, GLclampf green, GLclampf blue,
			 GLclampf alpha);
extern void glClearDepth(GLclampd depth);
extern void glClearIndex(GLfloat c);
extern void glClearStencil(GLint s);
extern void glClientActiveTexture(GLenum texture);
extern void glClientActiveTextureARB(GLenum texture);
extern void glClipPlane(GLenum plane, const GLdouble * equation);
extern void glColor3b(GLbyte red, GLbyte green, GLbyte blue);
extern void glColor3bv(const GLbyte * v);
extern void glColor3d(GLdouble red, GLdouble green, GLdouble blue);
extern void glColor3dv(const GLdouble * v);
extern void glColor3f(GLfloat red, GLfloat green, GLfloat blue);
extern void glColor3fv(const GLfloat * v);
extern void glColor3i(GLint red, GLint green, GLint blue);
extern void glColor3iv(const GLint * v);
extern void glColor3s(GLshort red, GLshort green, GLshort blue);
extern void glColor3sv(const GLshort * v);
extern void glColor3ub(GLubyte red, GLubyte green, GLubyte blue);
extern void glColor3ubv(const GLubyte * v);
extern void glColor3ui(GLuint red, GLuint green, GLuint blue);
extern void glColor3uiv(const GLuint * v);
extern void glColor3us(GLushort red, GLushort green, GLushort blue);
extern void glColor3usv(const GLushort * v);
extern void glColor4b(GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
extern void glColor4bv(const GLbyte * v);
extern void glColor4d(GLdouble red, GLdouble green, GLdouble blue,
		      GLdouble alpha);
extern void glColor4dv(const GLdouble * v);
extern void glColor4f(GLfloat red, GLfloat green, GLfloat blue,
		      GLfloat alpha);
extern void glColor4fv(const GLfloat * v);
extern void glColor4i(GLint red, GLint green, GLint blue, GLint alpha);
extern void glColor4iv(const GLint * v);
extern void glColor4s(GLshort red, GLshort green, GLshort blue,
		      GLshort alpha);
extern void glColor4sv(const GLshort * v);
extern void glColor4ub(GLubyte red, GLubyte green, GLubyte blue,
		       GLubyte alpha);
extern void glColor4ubv(const GLubyte * v);
extern void glColor4ui(GLuint red, GLuint green, GLuint blue,
		       GLuint alpha);
extern void glColor4uiv(const GLuint * v);
extern void glColor4us(GLushort red, GLushort green, GLushort blue,
		       GLushort alpha);
extern void glColor4usv(const GLushort * v);
extern void glColorMask(GLboolean red, GLboolean green, GLboolean blue,
			GLboolean alpha);
extern void glColorMaterial(GLenum face, GLenum mode);
extern void glColorPointer(GLint size, GLenum type, GLsizei stride,
			   const GLvoid * pointer);
extern void glColorSubTable(GLenum target, GLsizei start, GLsizei count,
			    GLenum format, GLenum type,
			    const GLvoid * data);
extern void glColorTable(GLenum target, GLenum internalformat,
			 GLsizei width, GLenum format, GLenum type,
			 const GLvoid * table);
extern void glColorTableParameterfv(GLenum target, GLenum pname,
				    const GLfloat * params);
extern void glColorTableParameteriv(GLenum target, GLenum pname,
				    const GLint * params);
extern void glCompressedTexImage1D(GLenum target, GLint level,
				   GLenum internalformat, GLsizei width,
				   GLint border, GLsizei imageSize,
				   const GLvoid * data);
extern void glCompressedTexImage2D(GLenum target, GLint level,
				   GLenum internalformat, GLsizei width,
				   GLsizei height, GLint border,
				   GLsizei imageSize, const GLvoid * data);
extern void glCompressedTexImage3D(GLenum target, GLint level,
				   GLenum internalformat, GLsizei width,
				   GLsizei height, GLsizei depth,
				   GLint border, GLsizei imageSize,
				   const GLvoid * data);
extern void glCompressedTexSubImage1D(GLenum target, GLint level,
				      GLint xoffset, GLsizei width,
				      GLenum format, GLsizei imageSize,
				      const GLvoid * data);
extern void glCompressedTexSubImage2D(GLenum target, GLint level,
				      GLint xoffset, GLint yoffset,
				      GLsizei width, GLsizei height,
				      GLenum format, GLsizei imageSize,
				      const GLvoid * data);
extern void glCompressedTexSubImage3D(GLenum target, GLint level,
				      GLint xoffset, GLint yoffset,
				      GLint zoffset, GLsizei width,
				      GLsizei height, GLsizei depth,
				      GLenum format, GLsizei imageSize,
				      const GLvoid * data);
extern void glConvolutionFilter1D(GLenum target, GLenum internalformat,
				  GLsizei width, GLenum format,
				  GLenum type, const GLvoid * image);
extern void glConvolutionFilter2D(GLenum target, GLenum internalformat,
				  GLsizei width, GLsizei height,
				  GLenum format, GLenum type,
				  const GLvoid * image);
extern void glConvolutionParameterf(GLenum target, GLenum pname,
				    GLfloat params);
extern void glConvolutionParameterfv(GLenum target, GLenum pname,
				     const GLfloat * params);
extern void glConvolutionParameteri(GLenum target, GLenum pname,
				    GLint params);
extern void glConvolutionParameteriv(GLenum target, GLenum pname,
				     const GLint * params);
extern void glCopyColorSubTable(GLenum target, GLsizei start, GLint x,
				GLint y, GLsizei width);
extern void glCopyColorTable(GLenum target, GLenum internalformat, GLint x,
			     GLint y, GLsizei width);
extern void glCopyConvolutionFilter1D(GLenum target, GLenum internalformat,
				      GLint x, GLint y, GLsizei width);
extern void glCopyConvolutionFilter2D(GLenum target, GLenum internalformat,
				      GLint x, GLint y, GLsizei width,
				      GLsizei height);
extern void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height,
			 GLenum type);
extern void glCopyTexImage1D(GLenum target, GLint level,
			     GLenum internalFormat, GLint x, GLint y,
			     GLsizei width, GLint border);
extern void glCopyTexImage2D(GLenum target, GLint level,
			     GLenum internalFormat, GLint x, GLint y,
			     GLsizei width, GLsizei height, GLint border);
extern void glCopyTexSubImage1D(GLenum target, GLint level, GLint xoffset,
				GLint x, GLint y, GLsizei width);
extern void glCopyTexSubImage2D(GLenum target, GLint level, GLint xoffset,
				GLint yoffset, GLint x, GLint y,
				GLsizei width, GLsizei height);
extern void glCopyTexSubImage3D(GLenum target, GLint level, GLint xoffset,
				GLint yoffset, GLint zoffset, GLint x,
				GLint y, GLsizei width, GLsizei height);
extern void glCullFace(GLenum mode);
extern void glDeleteLists(GLuint list, GLsizei range);
extern void glDeleteTextures(GLsizei n, const GLuint * textures);
extern void glDepthFunc(GLenum func);
extern void glDepthMask(GLboolean flag);
extern void glDepthRange(GLclampd zNear, GLclampd zFar);
extern void glDisable(GLenum cap);
extern void glDisableClientState(GLenum array);
extern void glDrawArrays(GLenum mode, GLint first, GLsizei count);
extern void glDrawBuffer(GLenum mode);
extern void glDrawElements(GLenum mode, GLsizei count, GLenum type,
			   const GLvoid * indices);
extern void glDrawPixels(GLsizei width, GLsizei height, GLenum format,
			 GLenum type, const GLvoid * pixels);
extern void glDrawRangeElements(GLenum mode, GLuint start, GLuint end,
				GLsizei count, GLenum type,
				const GLvoid * indices);
extern void glEdgeFlag(GLboolean flag);
extern void glEdgeFlagPointer(GLsizei stride, const GLvoid * pointer);
extern void glEdgeFlagv(const GLboolean * flag);
extern void glEnable(GLenum cap);
extern void glEnableClientState(GLenum array);
extern void glEnd(void);
extern void glEndList(void);
extern void glEvalCoord1d(GLdouble u);
extern void glEvalCoord1dv(const GLdouble * u);
extern void glEvalCoord1f(GLfloat u);
extern void glEvalCoord1fv(const GLfloat * u);
extern void glEvalCoord2d(GLdouble u, GLdouble v);
extern void glEvalCoord2dv(const GLdouble * u);
extern void glEvalCoord2f(GLfloat u, GLfloat v);
extern void glEvalCoord2fv(const GLfloat * u);
extern void glEvalMesh1(GLenum mode, GLint i1, GLint i2);
extern void glEvalMesh2(GLenum mode, GLint i1, GLint i2, GLint j1,
			GLint j2);
extern void glEvalPoint1(GLint i);
extern void glEvalPoint2(GLint i, GLint j);
extern void glFeedbackBuffer(GLsizei size, GLenum type, GLfloat * buffer);
extern void glFinish(void);
extern void glFlush(void);
extern void glFogf(GLenum pname, GLfloat param);
extern void glFogfv(GLenum pname, const GLfloat * params);
extern void glFogi(GLenum pname, GLint param);
extern void glFogiv(GLenum pname, const GLint * params);
extern void glFrontFace(GLenum mode);
extern void glFrustum(GLdouble left, GLdouble right, GLdouble bottom,
		      GLdouble top, GLdouble zNear, GLdouble zFar);
extern GLuint glGenLists(GLsizei range);
extern void glGenTextures(GLsizei n, GLuint * textures);
extern void glGetBooleanv(GLenum pname, GLboolean * params);
extern void glGetClipPlane(GLenum plane, GLdouble * equation);
extern void glGetColorTable(GLenum target, GLenum format, GLenum type,
			    GLvoid * table);
extern void glGetColorTableParameterfv(GLenum target, GLenum pname,
				       GLfloat * params);
extern void glGetColorTableParameteriv(GLenum target, GLenum pname,
				       GLint * params);
extern void glGetCompressedTexImage(GLenum target, GLint lod,
				    GLvoid * img);
extern void glGetConvolutionFilter(GLenum target, GLenum format,
				   GLenum type, GLvoid * image);
extern void glGetConvolutionParameterfv(GLenum target, GLenum pname,
					GLfloat * params);
extern void glGetConvolutionParameteriv(GLenum target, GLenum pname,
					GLint * params);
extern void glGetDoublev(GLenum pname, GLdouble * params);
extern GLenum glGetError(void);
extern void glGetFloatv(GLenum pname, GLfloat * params);
extern void glGetHistogram(GLenum target, GLboolean reset, GLenum format,
			   GLenum type, GLvoid * values);
extern void glGetHistogramParameterfv(GLenum target, GLenum pname,
				      GLfloat * params);
extern void glGetHistogramParameteriv(GLenum target, GLenum pname,
				      GLint * params);
extern void glGetIntegerv(GLenum pname, GLint * params);
extern void glGetLightfv(GLenum light, GLenum pname, GLfloat * params);
extern void glGetLightiv(GLenum light, GLenum pname, GLint * params);
extern void glGetMapdv(GLenum target, GLenum query, GLdouble * v);
extern void glGetMapfv(GLenum target, GLenum query, GLfloat * v);
extern void glGetMapiv(GLenum target, GLenum query, GLint * v);
extern void glGetMaterialfv(GLenum face, GLenum pname, GLfloat * params);
extern void glGetMaterialiv(GLenum face, GLenum pname, GLint * params);
extern void glGetMinmax(GLenum target, GLboolean reset, GLenum format,
			GLenum types, GLvoid * values);
extern void glGetMinmaxParameterfv(GLenum target, GLenum pname,
				   GLfloat * params);
extern void glGetMinmaxParameteriv(GLenum target, GLenum pname,
				   GLint * params);
extern void glGetPixelMapfv(GLenum map, GLfloat * values);
extern void glGetPixelMapuiv(GLenum map, GLuint * values);
extern void glGetPixelMapusv(GLenum map, GLushort * values);
extern void glGetPointerv(GLenum pname, void **params);
extern void glGetPolygonStipple(GLubyte * mask);
extern void glGetSeparableFilter(GLenum target, GLenum format, GLenum type,
				 GLvoid * row, GLvoid * column,
				 GLvoid * span);
extern const GLubyte *glGetString(GLenum name);
extern void glGetTexEnvfv(GLenum target, GLenum pname, GLfloat * params);
extern void glGetTexEnviv(GLenum target, GLenum pname, GLint * params);
extern void glGetTexGendv(GLenum coord, GLenum pname, GLdouble * params);
extern void glGetTexGenfv(GLenum coord, GLenum pname, GLfloat * params);
extern void glGetTexGeniv(GLenum coord, GLenum pname, GLint * params);
extern void glGetTexImage(GLenum target, GLint level, GLenum format,
			  GLenum type, GLvoid * pixels);
extern void glGetTexLevelParameterfv(GLenum target, GLint level,
				     GLenum pname, GLfloat * params);
extern void glGetTexLevelParameteriv(GLenum target, GLint level,
				     GLenum pname, GLint * params);
extern void glGetTexParameterfv(GLenum target, GLenum pname,
				GLfloat * params);
extern void glGetTexParameteriv(GLenum target, GLenum pname,
				GLint * params);
extern void glHint(GLenum target, GLenum mode);
extern void glHistogram(GLenum target, GLsizei width,
			GLenum internalformat, GLboolean sink);
extern void glIndexMask(GLuint mask);
extern void glIndexPointer(GLenum type, GLsizei stride,
			   const GLvoid * pointer);
extern void glIndexd(GLdouble c);
extern void glIndexdv(const GLdouble * c);
extern void glIndexf(GLfloat c);
extern void glIndexfv(const GLfloat * c);
extern void glIndexi(GLint c);
extern void glIndexiv(const GLint * c);
extern void glIndexs(GLshort c);
extern void glIndexsv(const GLshort * c);
extern void glIndexub(GLubyte c);
extern void glIndexubv(const GLubyte * c);
extern void glInitNames(void);
extern void glInterleavedArrays(GLenum format, GLsizei stride,
				const GLvoid * pointer);
extern GLboolean glIsEnabled(GLenum cap);
extern GLboolean glIsList(GLuint list);
extern GLboolean glIsTexture(GLuint texture);
extern void glLightModelf(GLenum pname, GLfloat param);
extern void glLightModelfv(GLenum pname, const GLfloat * params);
extern void glLightModeli(GLenum pname, GLint param);
extern void glLightModeliv(GLenum pname, const GLint * params);
extern void glLightf(GLenum light, GLenum pname, GLfloat param);
extern void glLightfv(GLenum light, GLenum pname, const GLfloat * params);
extern void glLighti(GLenum light, GLenum pname, GLint param);
extern void glLightiv(GLenum light, GLenum pname, const GLint * params);
extern void glLineStipple(GLint factor, GLushort pattern);
extern void glLineWidth(GLfloat width);
extern void glListBase(GLuint base);
extern void glLoadIdentity(void);
extern void glLoadMatrixd(const GLdouble * m);
extern void glLoadMatrixf(const GLfloat * m);
extern void glLoadName(GLuint name);
extern void glLoadTransposeMatrixd(const GLdouble * m);
extern void glLoadTransposeMatrixf(const GLfloat * m);
extern void glLogicOp(GLenum opcode);
extern void glMap1d(GLenum target, GLdouble u1, GLdouble u2, GLint stride,
		    GLint order, const GLdouble * points);
extern void glMap1f(GLenum target, GLfloat u1, GLfloat u2, GLint stride,
		    GLint order, const GLfloat * points);
extern void glMap2d(GLenum target, GLdouble u1, GLdouble u2, GLint ustride,
		    GLint uorder, GLdouble v1, GLdouble v2, GLint vstride,
		    GLint vorder, const GLdouble * points);
extern void glMap2f(GLenum target, GLfloat u1, GLfloat u2, GLint ustride,
		    GLint uorder, GLfloat v1, GLfloat v2, GLint vstride,
		    GLint vorder, const GLfloat * points);
extern void glMapGrid1d(GLint un, GLdouble u1, GLdouble u2);
extern void glMapGrid1f(GLint un, GLfloat u1, GLfloat u2);
extern void glMapGrid2d(GLint un, GLdouble u1, GLdouble u2, GLint vn,
			GLdouble v1, GLdouble v2);
extern void glMapGrid2f(GLint un, GLfloat u1, GLfloat u2, GLint vn,
			GLfloat v1, GLfloat v2);
extern void glMaterialf(GLenum face, GLenum pname, GLfloat param);
extern void glMaterialfv(GLenum face, GLenum pname,
			 const GLfloat * params);
extern void glMateriali(GLenum face, GLenum pname, GLint param);
extern void glMaterialiv(GLenum face, GLenum pname, const GLint * params);
extern void glMatrixMode(GLenum mode);
extern void glMinmax(GLenum target, GLenum internalformat, GLboolean sink);
extern void glMultMatrixd(const GLdouble * m);
extern void glMultMatrixf(const GLfloat * m);
extern void glMultTransposeMatrixd(const GLdouble * m);
extern void glMultTransposeMatrixf(const GLfloat * m);
extern void glMultiTexCoord1d(GLenum target, GLdouble s);
extern void glMultiTexCoord1dARB(GLenum target, GLdouble s);
extern void glMultiTexCoord1dv(GLenum target, const GLdouble * v);
extern void glMultiTexCoord1dvARB(GLenum target, const GLdouble * v);
extern void glMultiTexCoord1f(GLenum target, GLfloat s);
extern void glMultiTexCoord1fARB(GLenum target, GLfloat s);
extern void glMultiTexCoord1fv(GLenum target, const GLfloat * v);
extern void glMultiTexCoord1fvARB(GLenum target, const GLfloat * v);
extern void glMultiTexCoord1i(GLenum target, GLint s);
extern void glMultiTexCoord1iARB(GLenum target, GLint s);
extern void glMultiTexCoord1iv(GLenum target, const GLint * v);
extern void glMultiTexCoord1ivARB(GLenum target, const GLint * v);
extern void glMultiTexCoord1s(GLenum target, GLshort s);
extern void glMultiTexCoord1sARB(GLenum target, GLshort s);
extern void glMultiTexCoord1sv(GLenum target, const GLshort * v);
extern void glMultiTexCoord1svARB(GLenum target, const GLshort * v);
extern void glMultiTexCoord2d(GLenum target, GLdouble s, GLdouble t);
extern void glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t);
extern void glMultiTexCoord2dv(GLenum target, const GLdouble * v);
extern void glMultiTexCoord2dvARB(GLenum target, const GLdouble * v);
extern void glMultiTexCoord2f(GLenum target, GLfloat s, GLfloat t);
extern void glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t);
extern void glMultiTexCoord2fv(GLenum target, const GLfloat * v);
extern void glMultiTexCoord2fvARB(GLenum target, const GLfloat * v);
extern void glMultiTexCoord2i(GLenum target, GLint s, GLint t);
extern void glMultiTexCoord2iARB(GLenum target, GLint s, GLint t);
extern void glMultiTexCoord2iv(GLenum target, const GLint * v);
extern void glMultiTexCoord2ivARB(GLenum target, const GLint * v);
extern void glMultiTexCoord2s(GLenum target, GLshort s, GLshort t);
extern void glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t);
extern void glMultiTexCoord2sv(GLenum target, const GLshort * v);
extern void glMultiTexCoord2svARB(GLenum target, const GLshort * v);
extern void glMultiTexCoord3d(GLenum target, GLdouble s, GLdouble t,
			      GLdouble r);
extern void glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t,
				 GLdouble r);
extern void glMultiTexCoord3dv(GLenum target, const GLdouble * v);
extern void glMultiTexCoord3dvARB(GLenum target, const GLdouble * v);
extern void glMultiTexCoord3f(GLenum target, GLfloat s, GLfloat t,
			      GLfloat r);
extern void glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t,
				 GLfloat r);
extern void glMultiTexCoord3fv(GLenum target, const GLfloat * v);
extern void glMultiTexCoord3fvARB(GLenum target, const GLfloat * v);
extern void glMultiTexCoord3i(GLenum target, GLint s, GLint t, GLint r);
extern void glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r);
extern void glMultiTexCoord3iv(GLenum target, const GLint * v);
extern void glMultiTexCoord3ivARB(GLenum target, const GLint * v);
extern void glMultiTexCoord3s(GLenum target, GLshort s, GLshort t,
			      GLshort r);
extern void glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t,
				 GLshort r);
extern void glMultiTexCoord3sv(GLenum target, const GLshort * v);
extern void glMultiTexCoord3svARB(GLenum target, const GLshort * v);
extern void glMultiTexCoord4d(GLenum target, GLdouble s, GLdouble t,
			      GLdouble r, GLdouble q);
extern void glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t,
				 GLdouble r, GLdouble q);
extern void glMultiTexCoord4dv(GLenum target, const GLdouble * v);
extern void glMultiTexCoord4dvARB(GLenum target, const GLdouble * v);
extern void glMultiTexCoord4f(GLenum target, GLfloat s, GLfloat t,
			      GLfloat r, GLfloat q);
extern void glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t,
				 GLfloat r, GLfloat q);
extern void glMultiTexCoord4fv(GLenum target, const GLfloat * v);
extern void glMultiTexCoord4fvARB(GLenum target, const GLfloat * v);
extern void glMultiTexCoord4i(GLenum target, GLint s, GLint t, GLint r,
			      GLint q);
extern void glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r,
				 GLint q);
extern void glMultiTexCoord4iv(GLenum target, const GLint * v);
extern void glMultiTexCoord4ivARB(GLenum target, const GLint * v);
extern void glMultiTexCoord4s(GLenum target, GLshort s, GLshort t,
			      GLshort r, GLshort q);
extern void glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t,
				 GLshort r, GLshort q);
extern void glMultiTexCoord4sv(GLenum target, const GLshort * v);
extern void glMultiTexCoord4svARB(GLenum target, const GLshort * v);
extern void glNewList(GLuint list, GLenum mode);
extern void glNormal3b(GLbyte nx, GLbyte ny, GLbyte nz);
extern void glNormal3bv(const GLbyte * v);
extern void glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz);
extern void glNormal3dv(const GLdouble * v);
extern void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz);
extern void glNormal3fv(const GLfloat * v);
extern void glNormal3i(GLint nx, GLint ny, GLint nz);
extern void glNormal3iv(const GLint * v);
extern void glNormal3s(GLshort nx, GLshort ny, GLshort nz);
extern void glNormal3sv(const GLshort * v);
extern void glNormalPointer(GLenum type, GLsizei stride,
			    const GLvoid * pointer);
extern void glOrtho(GLdouble left, GLdouble right, GLdouble bottom,
		    GLdouble top, GLdouble zNear, GLdouble zFar);
extern void glPassThrough(GLfloat token);
extern void glPixelMapfv(GLenum map, GLint mapsize,
			 const GLfloat * values);
extern void glPixelMapuiv(GLenum map, GLint mapsize,
			  const GLuint * values);
extern void glPixelMapusv(GLenum map, GLint mapsize,
			  const GLushort * values);
extern void glPixelStoref(GLenum pname, GLfloat param);
extern void glPixelStorei(GLenum pname, GLint param);
extern void glPixelTransferf(GLenum pname, GLfloat param);
extern void glPixelTransferi(GLenum pname, GLint param);
extern void glPixelZoom(GLfloat xfactor, GLfloat yfactor);
extern void glPointSize(GLfloat size);
extern void glPolygonMode(GLenum face, GLenum mode);
extern void glPolygonOffset(GLfloat factor, GLfloat units);
extern void glPolygonStipple(const GLubyte * mask);
extern void glPopAttrib(void);
extern void glPopClientAttrib(void);
extern void glPopMatrix(void);
extern void glPopName(void);
extern void glPrioritizeTextures(GLsizei n, const GLuint * textures,
				 const GLclampf * priorities);
extern void glPushAttrib(GLbitfield mask);
extern void glPushClientAttrib(GLbitfield mask);
extern void glPushMatrix(void);
extern void glPushName(GLuint name);
extern void glRasterPos2d(GLdouble x, GLdouble y);
extern void glRasterPos2dv(const GLdouble * v);
extern void glRasterPos2f(GLfloat x, GLfloat y);
extern void glRasterPos2fv(const GLfloat * v);
extern void glRasterPos2i(GLint x, GLint y);
extern void glRasterPos2iv(const GLint * v);
extern void glRasterPos2s(GLshort x, GLshort y);
extern void glRasterPos2sv(const GLshort * v);
extern void glRasterPos3d(GLdouble x, GLdouble y, GLdouble z);
extern void glRasterPos3dv(const GLdouble * v);
extern void glRasterPos3f(GLfloat x, GLfloat y, GLfloat z);
extern void glRasterPos3fv(const GLfloat * v);
extern void glRasterPos3i(GLint x, GLint y, GLint z);
extern void glRasterPos3iv(const GLint * v);
extern void glRasterPos3s(GLshort x, GLshort y, GLshort z);
extern void glRasterPos3sv(const GLshort * v);
extern void glRasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void glRasterPos4dv(const GLdouble * v);
extern void glRasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void glRasterPos4fv(const GLfloat * v);
extern void glRasterPos4i(GLint x, GLint y, GLint z, GLint w);
extern void glRasterPos4iv(const GLint * v);
extern void glRasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w);
extern void glRasterPos4sv(const GLshort * v);
extern void glReadBuffer(GLenum mode);
extern void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
			 GLenum format, GLenum type, GLvoid * pixels);
extern void glRectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
extern void glRectdv(const GLdouble * v1, const GLdouble * v2);
extern void glRectf(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
extern void glRectfv(const GLfloat * v1, const GLfloat * v2);
extern void glRecti(GLint x1, GLint y1, GLint x2, GLint y2);
extern void glRectiv(const GLint * v1, const GLint * v2);
extern void glRects(GLshort x1, GLshort y1, GLshort x2, GLshort y2);
extern void glRectsv(const GLshort * v1, const GLshort * v2);
extern GLint glRenderMode(GLenum mode);
extern void glResetHistogram(GLenum target);
extern void glResetMinmax(GLenum target);
extern void glRotated(GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
extern void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
extern void glSampleCoverage(GLclampf value, GLboolean invert);
extern void glScaled(GLdouble x, GLdouble y, GLdouble z);
extern void glScalef(GLfloat x, GLfloat y, GLfloat z);
extern void glScissor(GLint x, GLint y, GLsizei width, GLsizei height);
extern void glSelectBuffer(GLsizei size, GLuint * buffer);
extern void glSeparableFilter2D(GLenum target, GLenum internalformat,
				GLsizei width, GLsizei height,
				GLenum format, GLenum type,
				const GLvoid * row, const GLvoid * column);
extern void glShadeModel(GLenum mode);
extern void glStencilFunc(GLenum func, GLint ref, GLuint mask);
extern void glStencilMask(GLuint mask);
extern void glStencilOp(GLenum fail, GLenum zfail, GLenum zpass);
extern void glTexCoord1d(GLdouble s);
extern void glTexCoord1dv(const GLdouble * v);
extern void glTexCoord1f(GLfloat s);
extern void glTexCoord1fv(const GLfloat * v);
extern void glTexCoord1i(GLint s);
extern void glTexCoord1iv(const GLint * v);
extern void glTexCoord1s(GLshort s);
extern void glTexCoord1sv(const GLshort * v);
extern void glTexCoord2d(GLdouble s, GLdouble t);
extern void glTexCoord2dv(const GLdouble * v);
extern void glTexCoord2f(GLfloat s, GLfloat t);
extern void glTexCoord2fv(const GLfloat * v);
extern void glTexCoord2i(GLint s, GLint t);
extern void glTexCoord2iv(const GLint * v);
extern void glTexCoord2s(GLshort s, GLshort t);
extern void glTexCoord2sv(const GLshort * v);
extern void glTexCoord3d(GLdouble s, GLdouble t, GLdouble r);
extern void glTexCoord3dv(const GLdouble * v);
extern void glTexCoord3f(GLfloat s, GLfloat t, GLfloat r);
extern void glTexCoord3fv(const GLfloat * v);
extern void glTexCoord3i(GLint s, GLint t, GLint r);
extern void glTexCoord3iv(const GLint * v);
extern void glTexCoord3s(GLshort s, GLshort t, GLshort r);
extern void glTexCoord3sv(const GLshort * v);
extern void glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q);
extern void glTexCoord4dv(const GLdouble * v);
extern void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q);
extern void glTexCoord4fv(const GLfloat * v);
extern void glTexCoord4i(GLint s, GLint t, GLint r, GLint q);
extern void glTexCoord4iv(const GLint * v);
extern void glTexCoord4s(GLshort s, GLshort t, GLshort r, GLshort q);
extern void glTexCoord4sv(const GLshort * v);
extern void glTexCoordPointer(GLint size, GLenum type, GLsizei stride,
			      const GLvoid * pointer);
extern void glTexEnvf(GLenum target, GLenum pname, GLfloat param);
extern void glTexEnvfv(GLenum target, GLenum pname,
		       const GLfloat * params);
extern void glTexEnvi(GLenum target, GLenum pname, GLint param);
extern void glTexEnviv(GLenum target, GLenum pname, const GLint * params);
extern void glTexGend(GLenum coord, GLenum pname, GLdouble param);
extern void glTexGendv(GLenum coord, GLenum pname,
		       const GLdouble * params);
extern void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
extern void glTexGenfv(GLenum coord, GLenum pname, const GLfloat * params);
extern void glTexGeni(GLenum coord, GLenum pname, GLint param);
extern void glTexGeniv(GLenum coord, GLenum pname, const GLint * params);
extern void glTexImage1D(GLenum target, GLint level, GLint internalformat,
			 GLsizei width, GLint border, GLenum format,
			 GLenum type, const GLvoid * pixels);
extern void glTexImage2D(GLenum target, GLint level, GLint internalformat,
			 GLsizei width, GLsizei height, GLint border,
			 GLenum format, GLenum type,
			 const GLvoid * pixels);
extern void glTexImage3D(GLenum target, GLint level, GLint internalFormat,
			 GLsizei width, GLsizei height, GLsizei depth,
			 GLint border, GLenum format, GLenum type,
			 const GLvoid * pixels);
extern void glTexParameterf(GLenum target, GLenum pname, GLfloat param);
extern void glTexParameterfv(GLenum target, GLenum pname,
			     const GLfloat * params);
extern void glTexParameteri(GLenum target, GLenum pname, GLint param);
extern void glTexParameteriv(GLenum target, GLenum pname,
			     const GLint * params);
extern void glTexSubImage1D(GLenum target, GLint level, GLint xoffset,
			    GLsizei width, GLenum format, GLenum type,
			    const GLvoid * pixels);
extern void glTexSubImage2D(GLenum target, GLint level, GLint xoffset,
			    GLint yoffset, GLsizei width, GLsizei height,
			    GLenum format, GLenum type,
			    const GLvoid * pixels);
extern void glTexSubImage3D(GLenum target, GLint level, GLint xoffset,
			    GLint yoffset, GLint zoffset, GLsizei width,
			    GLsizei height, GLsizei depth, GLenum format,
			    GLenum type, const GLvoid * pixels);
extern void glTranslated(GLdouble x, GLdouble y, GLdouble z);
extern void glTranslatef(GLfloat x, GLfloat y, GLfloat z);
extern void glVertex2d(GLdouble x, GLdouble y);
extern void glVertex2dv(const GLdouble * v);
extern void glVertex2f(GLfloat x, GLfloat y);
extern void glVertex2fv(const GLfloat * v);
extern void glVertex2i(GLint x, GLint y);
extern void glVertex2iv(const GLint * v);
extern void glVertex2s(GLshort x, GLshort y);
extern void glVertex2sv(const GLshort * v);
extern void glVertex3d(GLdouble x, GLdouble y, GLdouble z);
extern void glVertex3dv(const GLdouble * v);
extern void glVertex3f(GLfloat x, GLfloat y, GLfloat z);
extern void glVertex3fv(const GLfloat * v);
extern void glVertex3i(GLint x, GLint y, GLint z);
extern void glVertex3iv(const GLint * v);
extern void glVertex3s(GLshort x, GLshort y, GLshort z);
extern void glVertex3sv(const GLshort * v);
extern void glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w);
extern void glVertex4dv(const GLdouble * v);
extern void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w);
extern void glVertex4fv(const GLfloat * v);
extern void glVertex4i(GLint x, GLint y, GLint z, GLint w);
extern void glVertex4iv(const GLint * v);
extern void glVertex4s(GLshort x, GLshort y, GLshort z, GLshort w);
extern vo