Copyright © 2008 Linux Foundation
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)
Andrew G Morgan
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.
This is version 4.0 of the LSB Desktop Specification. This specification is part of a family of specifications under the general title"Linux Standard Base". Developers of applications or implementations interested in using the LSB trademark should see the Linux Foundation Certification Policy for details.
The LSB Desktop specification defines components that are required to be present on an LSB conforming system.
This document should be used in conjunction with the documents it references. Information referenced in this way is as much a part of this document as is the information explicitly included here.
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
| Name | Title | URL |
|---|---|---|
| ATK 1.10.3 Reference Manual | ATK 1.10.3 Reference Manual | http://library.gnome.org/devel/atk/1.10/index.html |
| Double Buffer Extension Library | Double Buffer Extension Library - Protocol Version 1.0 | http://refspecs.linux-foundation.org/X11/dbelib.pdf |
| Fontconfig Developers Reference | Fontconfig Developers Reference, Version 2.6.0 | http://refspecs.linuxfoundation.org/fontconfig-2.6.0 |
| Gdk 2.8.20 Reference Manual | Gdk 2.8.20 Reference Manual | http://library.gnome.org/devel/gdk/2.8/index.html |
| Gdk-pixbuf 2.8.20 Reference Manual | Gtk-pixbuf 2.8.20 Reference Manual | http://library.gnome.org/devel/gdk-pixbuf/2.8/index.html |
| Glib 2.8.6 Reference Manual | Glib 2.8.6 Reference Manual | http://library.gnome.org/devel/glib/2.8/index.html |
| Gobject 2.8.6 Reference Manual | Gobject 2.8.6 Reference Manual | http://library.gnome.org/devel/gobject/2.8/index.html |
| Gtk+ 2.8.20 Reference Manual | Gtk+ 2.8.20 Reference Manual | http://library.gnome.org/devel/gtk/2.8/index.html |
| ISO C (1999) | ISO/IEC 9899: 1999, Programming Languages --C | |
| ISO/IEC 14882: 2003 C++ Language | ISO/IEC 14882: 2003 Programming languages --C++ | |
| Itanium™ C++ ABI | Itanium™ C++ ABI (Revision 1.83) | http://refspecs.linux-foundation.org/cxxabi-1.83.html |
| OpenGL | The OpenGL® Graphics System: A Specification (Version 1.2.1) | http://www.opengl.org/documentation/specs/version1.2/OpenGL_spec_1.2.1.pdf |
| OpenGL ABI | OpenGL® Application Binary Interface for Linux | http://www.opengl.org/registry/ABI/ |
| OpenGL Extensions | OpenGL® Graphics with the X Window System® (Version 1.3) | http://opengl.org/documentation/specs/glx/glx1.3.pdf |
| OpenGL Utilities | The OpenGL Graphics System Utility Library (Version 1.3) | http://www.opengl.org/documentation/specs/glu/glu1_3.pdf |
| Pango 1.10.4 Reference Manual | Pango 1.10.4 Reference Manual | http://library.gnome.org/devel/pango/1.10/index.html |
| Qt 3.3.6 | Qt 3.3.6 Reference Manual | http://doc.trolltech.com/3.3/index.html |
| QtCore 4.2.0 | Qt 4.2.0 Reference Manual | http://doc.trolltech.com/4.2/qtcore.html |
| QtGui 4.2.0 | Qt 4.2.0 Reference Manual | http://doc.trolltech.com/4.2/qtgui.html |
| QtNetwork 4.2.0 | Qt 4.2.0 Reference Manual | http://doc.trolltech.com/4.2/qtnetwork.html |
| QtOpenGL 4.2.0 | Qt 4.2.0 Reference Manual | http://doc.trolltech.com/4.2/qtopengl.html |
| QtSql 4.2.0 | Qt 4.2.0 Reference Manual | http://doc.trolltech.com/4.2/qtsql.html |
| QtSvg 4.2.0 | Qt 4.2.0 Reference Manual | http://doc.trolltech.com/4.2/qtsvg.html |
| QtXml 4.2.0 | Qt 4.2.0 Reference Manual | http://doc.trolltech.com/4.2/qtxml.html |
| Reference Manual for libxml2 | Reference Manual for libxml2 | http://xmlsoft.org/html/index.html |
| The MIT Shared Memory Extension | MIT-SHM - The MIT Shared Memory Extension - X version 11, Release 5 | http://refspecs.linux-foundation.org/X11/mit-shm.pdf |
| X Display Power Management Signaling | X Display Power Management Signaling (DPMS) Extension - Library Specificationi - Version 1.0 | http://refspecs.linux-foundation.org/X11/DPMSlib.pdf |
| X Extended Visual Interface Extension | Extended Visual Information Extension - Version 1.0 | http://refspecs.linux-foundation.org/X11/evi.pdf |
| X Nonrectangular Window Shape Extension Library | X Nonrectangular Window Shape Extension Library - Version 1.0 | http://refspecs.linux-foundation.org/X11/shapelib.pdf |
| X Record Extension Library | X Record Extension Library - Version 1.13 | http://refspecs.linux-foundation.org/X11/recordlib.pdf |
| X Security Extension Specification | Security Extension Specification - Version 7.1 | http://refspecs.linux-foundation.org/X11/security.pdf |
| X Synchronization Extension Library | X Synchronization Extension Library - Version 3.0 | http://refspecs.linux-foundation.org/X11/synclib.pdf |
| X11 C Library | Xlib - C Language X Interface - X Version 11 Release 6.4 | http://refspecs.linux-foundation.org/X11/xlib.pdf |
| X11 Input Library | X Input Device Extension Library - X Version 11, Release 6.4 | http://refspecs.linux-foundation.org/X11/Xinput.pdf |
| X11 Inter-Client Exchange | Inter-Client Exchange Library - Version 1.0 | http://refspecs.linux-foundation.org/X11/ICElib.pdf |
| X11 Keyboard Extension | X Keyboard Extension Library Specification - X Version 11, Release 6.4 | http://refspecs.linux-foundation.org/X11/XKBlib.pdf |
| X11 Session Management | X Session Management Library - Version 1.0 | http://refspecs.linux-foundation.org/X11/SMlib.pdf |
| X11 Toolkit Intrinsics | X Toolkit Intrinsics - C Language Interface - X Version 11, Release 6.4 | http://refspecs.linux-foundation.org/X11/intrinsics.pdf |
| Xft Placeholder | Xft Specification Placeholder | |
| Xrender Placeholder | Xrender Specification Placeholder | http://refspecs.linux-foundation.org/X11/XRenderProtocol.html |
| XTEST Extension Library | XTEST Extension Library - Version 2.2 | http://refspecs.linux-foundation.org/X11/xtestlib.pdf |
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
| Name | Title | URL |
|---|---|---|
| A description on how to use and modify libpng | A description on how to use and modify libpng | http://www.libpng.org/pub/png/libpng-1.2.5-manual.html |
| Base Directory Spec | XDG Base Directory Specification Version 0.6 | http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html |
| Cairo API Reference | Cairo Vector Graphics API Specification for 1.0.2 | http://cairographics.org/manual-1.0.2 |
| Desktop Entry Spec | Desktop Entry Specification Version 1.0 | http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html |
| Desktop Menu Spec | Desktop Menu Specification Version 1.0 | http://standards.freedesktop.org/menu-spec/menu-spec-1.0.html |
| FreeType Reference | FreeType 2.1.10 API Reference | http://refspecs.linux-foundation.org/freetype/freetype-doc-2.1.10/docs/reference/ft2-toc.html |
| Icon Theme Spec | Icon Theme Specification Version 0.11 | http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-0.11.html |
| Independent JPEG Group | Independent JPEG Group | http://www.ijg.org/ |
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
These libraries will be in an implementation-defined directory which the dynamic linker shall search by default.
For the purposes of this document, the following definitions, as specified in the ISO/IEC Directives, Part 2, 2001, 4th Edition, apply:
For the purposes of this document, the following terms apply:
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.
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.
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.
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.
The X Libraries should be built thread-safe.
Table 6-1 defines the library name and shared object name for the libX11 library
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 |
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] |
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.
#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 |
#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 *); |
#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 |
#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 *); |
#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); |
#define NARROWPROTO
#define NeedFunctionPrototypes 1
#define NeedNestedPrototypes 1
#define NeedVarargsPrototypes 1
#define NeedWidePrototypes 1
#define FUNCPROTO 15
#define _Xconst const
#ifdef __cplusplus
#define _XFUNCPROTOBEGIN extern "C" {
#else
#define _XFUNCPROTOBEGIN
#endif
#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)
#ifdef __cplusplus
#define _XFUNCPROTOEND }
#else
#define _XFUNCPROTOEND
#endif |
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 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 *); |
#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 MakeBigReq(req,n) { CARD64 _BRdat; CARD32 _BRlen = req->length - 1; req->length = 0; _BRdat = ((CARD32 *)req)[_BRlen]; memmove(((char *)req) + 8, ((char *)req) + 4, _BRlen << 2); ((CARD32 *)req)[1] = _BRlen + n + 2; Data32(dpy, &_BRdat, 4); }
#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;
}; |
#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; |
#ifndef MAXPATHLEN #define MAXPATHLEN 4096 #endif #ifndef PATH_MAX #define PATH_MAX 4096 #endif |
#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; |
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; |
#define NULLQUARK ((XrmQuark) 0)
typedef int XrmQuark;
typedef int *XrmQuarkList;
typedef char *XrmString;
typedef enum {
XrmBindTightly,
XrmBindLoosely
} XrmBinding, *XrmBindingList;
typedef enum {
XrmBindTightly,
XrmBindLoosely
} *XrmBindingList;
typedef XrmQuark XrmName;
typedef XrmQuarkList XrmNameList;
typedef XrmQuark XrmClass;
typedef XrmQuarkList XrmClassList;
typedef XrmQuark XrmRepresentation;
typedef struct {
unsigned int size;
XPointer addr;
} XrmValue;
typedef struct {
unsigned int size;
XPointer addr;
} *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;
typedef struct {
char *option;
char *specifier;
XrmOptionKind argKind;
XPointer value;
} *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); |
#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); |
#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" |
#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); |
#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; |
#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; |
#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; |
#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_THAI #define XK_VIETNAMESE #define XK_XKB_KEYS |
#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 */ |
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.
Table 6-3 defines the library name and shared object name for the libSM library
The behavior of the interfaces in this library is specified by the following specifications:
| [XSM] X11 Session Management |
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] |
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.
#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" |
#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); |
#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 |
Table 6-5 defines the library name and shared object name for the libICE library
The behavior of the interfaces in this library is specified by the following specifications:
| [LSB] This Specification |
| [XICE] X11 Inter-Client Exchange |
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] |
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.
#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 |
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;
}; |
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, char **,
IcePaAuthProc *,
IceHostBasedAuthProc,
IceProtocolSetupProc,
IceProtocolActivateProc,
IceIOErrorProc);
extern int IceRegisterForProtocolSetup(char *, char *, char *, int,
IcePoVersionRec *, int, 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); |
#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 *); |
#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; |
#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 *); |
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.
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.
_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.
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.
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.
Table 6-7 defines the library name and shared object name for the libXt library
The behavior of the interfaces in this library is specified by the following specifications:
| [LSB] This Specification |
| [Xt] X11 Toolkit Intrinsics |
An LSB conforming implementation shall provide the generic functions for X Toolkit specified in Table 6-8, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-8. 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-9, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-9. libXt - X Toolkit Data Interfaces
| XtCXtToolkitError [Xt] | XtShellStrings [Xt] | XtStrings [Xt] | _XtInheritTranslations [LSB] |
| applicationShellWidgetClass [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] |
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.
#define _XtComposite_h 1 typedef void (*XtDoChangeProc) (Widget, WidgetList, Cardinal *, WidgetList, Cardinal *, XtPointer); typedef struct _CompositeClassRec *CompositeWidgetClass; typedef Cardinal(*XtOrderProc) (Widget); 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; |
#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; |
#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; |
#define _XtConstraint_h 1 typedef struct _ConstraintClassRec *ConstraintWidgetClass; extern WidgetClass constraintWidgetClass; |
#define _XtCore_h 1 typedef struct _WidgetClassRec *CoreWidgetClass; typedef struct _WidgetClassRec *CoreWidget; extern WidgetClass coreWidgetClass; extern WidgetClass widgetClass; |
#define XtInheritSetValuesAlmost ((XtAlmostProc) _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; |
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; |
#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))
#define XtInputNoneMask 0L
#define XtCacheNone 0x001
#define XtCacheAll 0x002
#define XtCacheByDisplay 0x003
#define XtCacheRefCount 0x100
#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 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;
typedef unsigned int Modifiers;
typedef void *XtCacheRef;
typedef struct _XtResource *XtResourceList;
struct _XtAppStruct;
typedef struct _XtAppStruct *XtAppContext;
typedef void (*XtActionProc) (Widget, XEvent *, String *, Cardinal *);
typedef struct _XtActionsRec *XtActionList;
typedef char Boolean;
typedef int XtCacheType;
typedef long unsigned int XtGCMask;
typedef unsigned char XtEnum;
typedef long unsigned int XtSignalId;
typedef long unsigned int XtWorkProcId;
typedef long unsigned int XtInputId;
typedef long unsigned int XtIntervalId;
struct _WidgetClassRec;
typedef struct _WidgetClassRec *WidgetClass;
typedef Widget *WidgetList;
typedef struct _TranslationData *XtAccelerators;
typedef struct _TranslationData *XtTranslations;
typedef enum {
XtGeometryYes = 0,
XtGeometryNo = 1,
XtGeometryAlmost = 2,
XtGeometryDone = 3
} XtGeometryResult;
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 long int XtArgVal;
typedef struct {
String name;
XtArgVal value;
} Arg;
typedef Arg *ArgList;
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 (*XtCallbackProc) (Widget, XtPointer, XtPointer);
typedef struct _XtCallbackRec *XtCallbackList;
typedef long unsigned int EventMask;
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 enum {
XtGrabNone = 0,
XtGrabNonexclusive = 1,
XtGrabExclusive = 2
} XtGrabKind;
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 long unsigned int XtValueMask;
typedef struct _XtEventRec *XtEventTable;
typedef void (*XtCreatePopupChildProc) (Widget);
typedef struct _XtResource {
String resource_name;
String resource_class;
String resource_type;
Cardinal resource_size;
Cardinal resource_offset;
String default_type;
XtPointer default_addr;
} XtResource;
typedef struct _XtCallbackRec {
XtCallbackProc callback;
XtPointer closure;
} 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 long unsigned int Pixel;
typedef struct _XtActionsRec {
String string;
XtActionProc proc;
} XtActionsRec;
typedef struct {
Widget shell_widget;
Widget enable_widget;
} XtPopdownIDRec;
typedef XtPopdownIDRec *XtPopdownID;
typedef XtActionProc *XtBoundActions;
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); |
#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; |
#define XtVersion (XT_VERSION * 1000 + XT_REVISION)
#define XtVersionDontCheck 0
#define _XtintrinsicP_h 1
#define XT_VERSION 11
#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); |
#define _XtObject_h 1 typedef struct _ObjectClassRec *ObjectClass; typedef struct _ObjectClassRec *Object; extern WidgetClass objectClass; |
#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; |
typedef struct _RectObjRec *RectObj; typedef struct _RectObjClassRec *RectObjClass; extern WidgetClass rectObjClass; |
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; |
#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; |
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 {
char *c_class;
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 OverrideShellClassRec overrideShellClassRec;
extern SessionShellClassRec sessionShellClassRec;
extern ShellClassRec shellClassRec;
extern TopLevelShellClassRec topLevelShellClassRec;
extern TransientShellClassRec transientShellClassRec;
extern WMShellClassRec wmShellClassRec; |
#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[]; |
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; |
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; |
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.
The _XtCopyFromArg() function copies "size" bytes from src to dst. This is an internal X function call.
Table 6-10 defines the library name and shared object name for the libXext library
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 |
An LSB conforming implementation shall provide the generic functions for libXext interfaces specified in Table 6-11, with the full mandatory functionality as described in the referenced underlying specification.
An LSB conforming implementation shall provide the generic functions for X Shape Extension specified in Table 6-12, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-12. 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] |
An LSB conforming implementation shall provide the generic functions for X Display Power Management Signaling Extension specified in Table 6-13, with the full mandatory functionality as described in the referenced underlying specification.
An LSB conforming implementation shall provide the generic functions for X Shared Memory Extensions specified in Table 6-14, with the full mandatory functionality as described in the referenced underlying specification.
No external functions are defined for libXext - MIT-MISC Extension in this part of the specification. See also the relevant architecture specific part of this specification.
An LSB conforming implementation shall provide the generic functions for X Synchronization Extension specified in Table 6-15, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-15. 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] |
An LSB conforming implementation shall provide the generic functions for X Security Extension specified in Table 6-16, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-16. libXext - X Security Extension Function Interfaces
| XSecurityAllocXauth [X-security] | XSecurityFreeXauth [X-security] | XSecurityGenerateAuthorization [X-security] | XSecurityQueryExtension [X-security] |
| XSecurityRevokeAuthorization [X-security] |
An LSB conforming implementation shall provide the generic functions for X Double Buffer Extension specified in Table 6-17, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-17. 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] |
An LSB conforming implementation shall provide the generic functions for X Extended Visual Interface Extension specified in Table 6-18, with the full mandatory functionality as described in the referenced underlying specification.
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.
#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 *); |
#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; |
#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" |
#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 *); |
#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); |
#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; |
#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 *); |
#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); |
#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; |
#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 *); |
#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); |
#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); |
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 *); |
#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; |
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.
Table 6-19 defines the library name and shared object name for the libXi library
The behavior of the interfaces in this library is specified by the following specifications:
| [XINPUT] X11 Input Library |
An LSB conforming implementation shall provide the generic functions for XInput specified in Table 6-20, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-20. 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] | XInput_find_display [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] |
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.
#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; |
#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); |
#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 pad1;
} 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; |
Table 6-21 defines the library name and shared object name for the libXtst library
The behavior of the interfaces in this library is specified by the following specifications:
| [X-test] XTEST Extension Library |
An LSB conforming implementation shall provide the generic functions for libXtst Interfaces specified in Table 6-22, with the full mandatory functionality as described in the referenced underlying specification.
Table 6-22. 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] |
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.
#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); |
Table 7-1 defines the library name and shared object name for the libGL library
The behavior of the interfaces in this library is specified by the following specifications:
| [GLX] OpenGL Extensions |
| [OGL] OpenGL |
| [OGL ABI] OpenGL ABI |
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] |
| 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] |
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] | glActiveTextureARB [OGL] | glAlphaFunc [OGL] | glAreTexturesResident [OGL] |
| glArrayElement [OGL] | glBegin [OGL] | glBindTexture [OGL] | glBitmap [OGL] |
| glBlendColor [OGL] | glBlendEquation [OGL] | glBlendFunc [OGL] | glCallList [OGL] |
| glCallLists [OGL] | glClear [OGL] | glClearAccum [OGL] | glClearColor [OGL] |
| glClearDepth [OGL] | glClearIndex [OGL] | glClearStencil [OGL] | glClientActiveTextureARB [OGL] |
| glClipPlane [OGL] | glColor3b [OGL] | glColor3bv [OGL] | glColor3d [OGL] |
| glColor3dv [OGL] | glColor3f [OGL] | glColor3fv [OGL] | glColor3i [OGL] |
| glColor3iv [OGL] | glColor3s [OGL] | glColor3sv [OGL] | glColor3ub [OGL] |
| glColor3ubv [OGL] | glColor3ui [OGL] | glColor3uiv [OGL] | glColor3us [OGL] |
| glColor3usv [OGL] | glColor4b [OGL] | glColor4bv [OGL] | glColor4d [OGL] |
| glColor4dv [OGL] | glColor4f [OGL] | glColor4fv [OGL] | glColor4i [OGL] |
| glColor4iv [OGL] | glColor4s [OGL] | glColor4sv [OGL] | glColor4ub [OGL] |
| glColor4ubv [OGL] | glColor4ui [OGL] | glColor4uiv [OGL] | glColor4us [OGL] |
| glColor4usv [OGL] | glColorMask [OGL] | glColorMaterial [OGL] | glColorPointer [OGL] |
| glColorSubTable [OGL] | glColorTable [OGL] | glColorTableParameterfv [OGL] | glColorTableParameteriv [OGL] |
| glConvolutionFilter1D [OGL] | glConvolutionFilter2D [OGL] | glConvolutionParameterf [OGL] | glConvolutionParameterfv [OGL] |
| glConvolutionParameteri [OGL] | glConvolutionParameteriv [OGL] | glCopyColorSubTable [OGL] | glCopyColorTable [OGL] |
| glCopyConvolutionFilter1D [OGL] | glCopyConvolutionFilter2D [OGL] | glCopyPixels [OGL] | glCopyTexImage1D [OGL] |
| glCopyTexImage2D [OGL] | glCopyTexSubImage1D [OGL] | glCopyTexSubImage2D [OGL] | glCopyTexSubImage3D [OGL] |
| glCullFace [OGL] | glDeleteLists [OGL] | glDeleteTextures [OGL] | glDepthFunc [OGL] |
| glDepthMask [OGL] | glDepthRange [OGL] | glDisable [OGL] | glDisableClientState [OGL] |
| glDrawArrays [OGL] | glDrawBuffer [OGL] | glDrawElements [OGL] | glDrawPixels [OGL] |
| glDrawRangeElements [OGL] | glEdgeFlag [OGL] | glEdgeFlagPointer [OGL] | glEdgeFlagv [OGL] |
| glEnable [OGL] | glEnableClientState [OGL] | glEnd [OGL] | glEndList [OGL] |
| glEvalCoord1d [OGL] | glEvalCoord1dv [OGL] | glEvalCoord1f [OGL] | glEvalCoord1fv [OGL] |
| glEvalCoord2d [OGL] | glEvalCoord2dv [OGL] | glEvalCoord2f [OGL] | glEvalCoord2fv [OGL] |
| glEvalMesh1 [OGL] | glEvalMesh2 [OGL] | glEvalPoint1 [OGL] | glEvalPoint2 [OGL] |
| glFeedbackBuffer [OGL] | glFinish [OGL] | glFlush [OGL] | glFogf [OGL] |
| glFogfv [OGL] | glFogi [OGL] | glFogiv [OGL] | glFrontFace [OGL] |
| glFrustum [OGL] | glGenLists [OGL] | glGenTextures [OGL] | glGetBooleanv [OGL] |
| glGetClipPlane [OGL] | glGetColorTable [OGL] | glGetColorTableParameterfv [OGL] | glGetColorTableParameteriv [OGL] |
| glGetConvolutionFilter [OGL] | glGetConvolutionParameterfv [OGL] | glGetConvolutionParameteriv [OGL] | glGetDoublev [OGL] |
| glGetError [OGL] | glGetFloatv [OGL] | glGetHistogram [OGL] | glGetHistogramParameterfv [OGL] |
| glGetHistogramParameteriv [OGL] | glGetIntegerv [OGL] | glGetLightfv [OGL] | glGetLightiv [OGL] |
| glGetMapdv [OGL] | glGetMapfv [OGL] | glGetMapiv [OGL] | glGetMaterialfv [OGL] |
| glGetMaterialiv [OGL] | glGetMinmax [OGL] | glGetMinmaxParameterfv [OGL] | glGetMinmaxParameteriv [OGL] |
| glGetPixelMapfv [OGL] | glGetPixelMapuiv [OGL] | glGetPixelMapusv [OGL] | glGetPointerv [OGL] |
| glGetPolygonStipple [OGL] | glGetSeparableFilter [OGL] | glGetString [OGL] | glGetTexEnvfv [OGL] |
| glGetTexEnviv [OGL] | glGetTexGendv [OGL] | glGetTexGenfv [OGL] | glGetTexGeniv [OGL] |
| glGetTexImage [OGL] | glGetTexLevelParameterfv [OGL] | glGetTexLevelParameteriv [OGL] | glGetTexParameterfv [OGL] |
| glGetTexParameteriv [OGL] | glHint [OGL] | glHistogram [OGL] | glIndexMask [OGL] |
| glIndexPointer [OGL] | glIndexd [OGL] | glIndexdv [OGL] | glIndexf [OGL] |
| glIndexfv [OGL] | glIndexi [OGL] | glIndexiv [OGL] | glIndexs [OGL] |
| glIndexsv [OGL] | glIndexub [OGL] | glIndexubv [OGL] | glInitNames [OGL] |
| glInterleavedArrays [OGL] | glIsEnabled [OGL] | glIsList [OGL] | glIsTexture [OGL] |
| glLightModelf [OGL] | glLightModelfv [OGL] | glLightModeli [OGL] | glLightModeliv [OGL] |
| glLightf [OGL] | glLightfv [OGL] | glLighti [OGL] | glLightiv [OGL] |
| glLineStipple [OGL] | glLineWidth [OGL] | glListBase [OGL] | glLoadIdentity [OGL] |
| glLoadMatrixd [OGL] | glLoadMatrixf [OGL] | glLoadName [OGL] | glLogicOp [OGL] |
| glMap1d [OGL] | glMap1f [OGL] | glMap2d [OGL] | glMap2f [OGL] |
| glMapGrid1d [OGL] | glMapGrid1f [OGL] | glMapGrid2d [OGL] | glMapGrid2f [OGL] |
| glMaterialf [OGL] | glMaterialfv [OGL] | glMateriali [OGL] | glMaterialiv [OGL] |
| glMatrixMode [OGL] | glMinmax [OGL] | glMultMatrixd [OGL] | glMultMatrixf [OGL] |
| glMultiTexCoord1dARB [OGL] | glMultiTexCoord1dvARB [OGL] | glMultiTexCoord1fARB [OGL] | glMultiTexCoord1fvARB [OGL] |
| glMultiTexCoord1iARB [OGL] | glMultiTexCoord1ivARB [OGL] | glMultiTexCoord1sARB [OGL] | glMultiTexCoord1svARB [OGL] |
| glMultiTexCoord2dARB [OGL] | glMultiTexCoord2dvARB [OGL] | glMultiTexCoord2fARB [OGL] | glMultiTexCoord2fvARB [OGL] |
| glMultiTexCoord2iARB [OGL] | glMultiTexCoord2ivARB [OGL] | glMultiTexCoord2sARB [OGL] | glMultiTexCoord2svARB [OGL] |
| glMultiTexCoord3dARB [OGL] | glMultiTexCoord3dvARB [OGL] | glMultiTexCoord3fARB [OGL] | glMultiTexCoord3fvARB [OGL] |
| glMultiTexCoord3iARB [OGL] | glMultiTexCoord3ivARB [OGL] | glMultiTexCoord3sARB [OGL] | glMultiTexCoord3svARB [OGL] |
| glMultiTexCoord4dARB [OGL] | glMultiTexCoord4dvARB [OGL] | glMultiTexCoord4fARB [OGL] | glMultiTexCoord4fvARB [OGL] |
| glMultiTexCoord4iARB [OGL] | glMultiTexCoord4ivARB [OGL] | glMultiTexCoord4sARB [OGL] | glMultiTexCoord4svARB [OGL] |
| glNewList [OGL] | glNormal3b [OGL] | glNormal3bv [OGL] | glNormal3d [OGL] |
| glNormal3dv [OGL] | glNormal3f [OGL] | glNormal3fv [OGL] | glNormal3i [OGL] |
| glNormal3iv [OGL] | glNormal3s [OGL] | glNormal3sv [OGL] | glNormalPointer [OGL] |
| glOrtho [OGL] | glPassThrough [OGL] | glPixelMapfv [OGL] | glPixelMapuiv [OGL] |
| glPixelMapusv [OGL] | glPixelStoref [OGL] | glPixelStorei [OGL] | glPixelTransferf [OGL] |
| glPixelTransferi [OGL] | glPixelZoom [OGL] | glPointSize [OGL] | glPolygonMode [OGL] |
| glPolygonOffset [OGL] | glPolygonStipple [OGL] | glPopAttrib [OGL] | glPopClientAttrib [OGL] |
| glPopMatrix [OGL] | glPopName [OGL] | glPrioritizeTextures [OGL] | glPushAttrib [OGL] |
| glPushClientAttrib [OGL] | glPushMatrix [OGL] | glPushName [OGL] | glRasterPos2d [OGL] |
| glRasterPos2dv [OGL] | glRasterPos2f [OGL] | glRasterPos2fv [OGL] | glRasterPos2i [OGL] |
| glRasterPos2iv [OGL] | glRasterPos2s [OGL] | glRasterPos2sv [OGL] | glRasterPos3d [OGL] |
| glRasterPos3dv [OGL] | glRasterPos3f [OGL] | glRasterPos3fv [OGL] | glRasterPos3i [OGL] |
| glRasterPos3iv [OGL] | glRasterPos3s [OGL] | glRasterPos3sv [OGL] | glRasterPos4d [OGL] |
| glRasterPos4dv [OGL] | glRasterPos4f [OGL] | glRasterPos4fv [OGL] | glRasterPos4i [OGL] |
| glRasterPos4iv [OGL] | glRasterPos4s [OGL] | glRasterPos4sv [OGL] | glReadBuffer [OGL] |
| glReadPixels [OGL] | glRectd [OGL] | glRectdv [OGL] | glRectf [OGL] |
| glRectfv [OGL] | glRecti [OGL] | glRectiv [OGL] | glRects [OGL] |
| glRectsv [OGL] | glRenderMode [OGL] | glResetHistogram [OGL] | glResetMinmax [OGL] |
| glRotated [OGL] | glRotatef [OGL] | glScaled [OGL] | glScalef [OGL] |
| glScissor [OGL] | glSelectBuffer [OGL] | glSeparableFilter2D [OGL] | glShadeModel [OGL] |
| glStencilFunc [OGL] | glStencilMask [OGL] | glStencilOp [OGL] | glTexCoord1d [OGL] |
| glTexCoord1dv [OGL] | glTexCoord1f [OGL] | glTexCoord1fv [OGL] | glTexCoord1i [OGL] |
| glTexCoord1iv [OGL] | glTexCoord1s [OGL] | glTexCoord1sv [OGL] | glTexCoord2d [OGL] |
| glTexCoord2dv [OGL] | glTexCoord2f [OGL] | glTexCoord2fv [OGL] | glTexCoord2i [OGL] |
| glTexCoord2iv [OGL] | glTexCoord2s [OGL] | glTexCoord2sv [OGL] | glTexCoord3d [OGL] |
| glTexCoord3dv [OGL] | glTexCoord3f [OGL] | glTexCoord3fv [OGL] | glTexCoord3i [OGL] |
| glTexCoord3iv [OGL] | glTexCoord3s [OGL] | glTexCoord3sv [OGL] | glTexCoord4d [OGL] |
| glTexCoord4dv [OGL] | glTexCoord4f [OGL] | glTexCoord4fv [OGL] | glTexCoord4i [OGL] |
| glTexCoord4iv [OGL] | glTexCoord4s [OGL] | glTexCoord4sv [OGL] | glTexCoordPointer [OGL] |
| glTexEnvf [OGL] | glTexEnvfv [OGL] | glTexEnvi [OGL] | glTexEnviv [OGL] |
| glTexGend [OGL] | glTexGendv [OGL] | glTexGenf [OGL] | glTexGenfv [OGL] |
| glTexGeni [OGL] | glTexGeniv [OGL] | glTexImage1D [OGL] | glTexImage2D [OGL] |
| glTexImage3D [OGL] | glTexParameterf [OGL] | glTexParameterfv [OGL] | glTexParameteri [OGL] |
| glTexParameteriv [OGL] | glTexSubImage1D [OGL] | glTexSubImage2D [OGL] | glTexSubImage3D [OGL] |
| glTranslated [OGL] | glTranslatef [OGL] | glVertex2d [OGL] | glVertex2dv [OGL] |
| glVertex2f [OGL] | glVertex2fv [OGL] | glVertex2i [OGL] | glVertex2iv [OGL] |
| glVertex2s [OGL] | glVertex2sv [OGL] | glVertex3d [OGL] | glVertex3dv [OGL] |
| glVertex3f [OGL] | glVertex3fv [OGL] | glVertex3i [OGL] | glVertex3iv [OGL] |
| glVertex3s [OGL] | glVertex3sv [OGL] | glVertex4d [OGL] | glVertex4dv [OGL] |
| glVertex4f [OGL] | glVertex4fv [OGL] | glVertex4i [OGL] | glVertex4iv [OGL] |
| glVertex4s [OGL] | glVertex4sv [OGL] | glVertexPointer [OGL] | glViewport [OGL] |
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.
#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 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 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 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 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 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 glMultiTexCoord1dARB(GLenum target, GLdouble s); extern void glMultiTexCoord1dvARB(GLenum target, const GLdouble * v); extern void glMultiTexCoord1fARB(GLenum target, GLfloat s); extern void glMultiTexCoord1fvARB(GLenum target, const GLfloat * v); extern void glMultiTexCoord1iARB(GLenum target, GLint s); extern void glMultiTexCoord1ivARB(GLenum target, const GLint * v); extern void glMultiTexCoord1sARB(GLenum target, GLshort s); extern void glMultiTexCoord1svARB(GLenum target, const GLshort * v); extern void glMultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t); extern void glMultiTexCoord2dvARB(GLenum target, const GLdouble * v); extern void glMultiTexCoord2fARB(GLenum target, GLfloat s, GLfloat t); extern void glMultiTexCoord2fvARB(GLenum target, const GLfloat * v); extern void glMultiTexCoord2iARB(GLenum target, GLint s, GLint t); extern void glMultiTexCoord2ivARB(GLenum target, const GLint * v); extern void glMultiTexCoord2sARB(GLenum target, GLshort s, GLshort t); extern void glMultiTexCoord2svARB(GLenum target, const GLshort * v); extern void glMultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r); extern void glMultiTexCoord3dvARB(GLenum target, const GLdouble * v); extern void glMultiTexCoord3fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r); extern void glMultiTexCoord3fvARB(GLenum target, const GLfloat * v); extern void glMultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r); extern void glMultiTexCoord3ivARB(GLenum target, const GLint * v); extern void glMultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r); extern void glMultiTexCoord3svARB(GLenum target, const GLshort * v); extern void glMultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); extern void glMultiTexCoord4dvARB(GLenum target, const GLdouble * v); extern void glMultiTexCoord4fARB(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); extern void glMultiTexCoord4fvARB(GLenum target, const GLfloat * v); extern void glMultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q); extern void glMultiTexCoord4ivARB(GLenum target, const GLint * v); extern void glMultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q); 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 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 void glVertex4sv(const GLshort * v); extern void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer); extern void glViewport(GLint x, GLint y, GLsizei width, GLsizei height); |
#define GLEXT_64_TYPES_DEFINED #define GL_FOG_COORD_ARRAY_BUFFER_BINDING \ GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING #define GL_2X_BIT_ATI 0x00000001 #define GL_RED_BIT_ATI 0x00000001 #define GL_4X_BIT_ATI 0x00000002 #define GL_COMP_BIT_ATI 0x00000002 #define GL_GREEN_BIT_ATI 0x00000002 #define GL_8X_BIT_ATI 0x00000004 #define GL_BLUE_BIT_ATI 0x00000004 #define GL_NEGATE_BIT_ATI 0x00000004 #define GL_VERTEX23_BIT_PGI 0x00000004 #define GL_BIAS_BIT_ATI 0x00000008 #define GL_HALF_BIT_ATI 0x00000008 #define GL_VERTEX4_BIT_PGI 0x00000008 #define GL_QUARTER_BIT_ATI 0x00000010 #define GL_EIGHTH_BIT_ATI 0x00000020 #define GL_SATURATE_BIT_ATI 0x00000040 #define GL_RESTART_SUN 0x0001 #define GL_COLOR3_BIT_PGI 0x00010000 #define GL_REPLACE_MIDDLE_SUN 0x0002 #define GL_COLOR4_BIT_PGI 0x00020000 #define GL_REPLACE_OLDEST_SUN 0x0003 #define GL_EDGEFLAG_BIT_PGI 0x00040000 #define GL_INDEX_BIT_PGI 0x00080000 #define GL_MAT_AMBIENT_BIT_PGI 0x00100000 #define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000 #define GL_MAT_DIFFUSE_BIT_PGI 0x00400000 #define GL_MAT_EMISSION_BIT_PGI 0x00800000 #define GL_MAT_COLOR_INDEXES_BIT_PGI 0x01000000 #define GL_MAT_SHININESS_BIT_PGI 0x02000000 #define GL_MAT_SPECULAR_BIT_PGI 0x04000000 #define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506 #define GL_NORMAL_BIT_PGI 0x08000000 #define GL_TEXCOORD1_BIT_PGI 0x10000000 #define GL_HALF_FLOAT_ARB 0x140B #define GL_MODELVIEW0_ARB 0x1700 #define GL_RASTER_POSITION_UNCLIPPED_IBM 0x19262 #define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8 #define GL_CONSERVE_MEMORY_HINT_PGI 0x1A1FD #define GL_RECLAIM_MEMORY_HINT_PGI 0x1A1FE #define GL_NATIVE_GRAPHICS_HANDLE_PGI 0x1A202 #define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203 #define GL_NATIVE_GRAPHICS_END_HINT_PGI 0x1A204 #define GL_ALWAYS_FAST_HINT_PGI 0x1A20C #define GL_ALWAYS_SOFT_HINT_PGI 0x1A20D #define GL_ALLOW_DRAW_OBJ_HINT_PGI 0x1A20E #define GL_ALLOW_DRAW_WIN_HINT_PGI 0x1A20F #define GL_ALLOW_DRAW_FRG_HINT_PGI 0x1A210 #define GL_ALLOW_DRAW_MEM_HINT_PGI 0x1A211 #define GL_STRICT_DEPTHFUNC_HINT_PGI 0x1A216 #define GL_STRICT_LIGHTING_HINT_PGI 0x1A217 #define GL_STRICT_SCISSOR_HINT_PGI 0x1A218 #define GL_FULL_STIPPLE_HINT_PGI 0x1A219 #define GL_CLIP_NEAR_HINT_PGI 0x1A220 #define GL_CLIP_FAR_HINT_PGI 0x1A221 #define GL_WIDE_LINE_HINT_PGI 0x1A222 #define GL_BACK_NORMALS_HINT_PGI 0x1A223 #define GL_VERTEX_DATA_HINT_PGI 0x1A22A #define GL_VERTEX_CONSISTENT_HINT_PGI 0x1A22B #define GL_MATERIAL_SIDE_HINT_PGI 0x1A22C #define GL_MAX_VERTEX_HINT_PGI 0x1A22D #define GL_MULTISAMPLE_BIT_3DFX 0x20000000 #define GL_MULTISAMPLE_BIT_ARB 0x20000000 #define GL_MULTISAMPLE_BIT_EXT 0x20000000 #define GL_TEXCOORD2_BIT_PGI 0x20000000 #define GL_TEXCOORD3_BIT_PGI 0x40000000 #define GL_ABGR_EXT 0x8000 #define GL_TEXCOORD4_BIT_PGI 0x80000000 #define GL_CONSTANT_COLOR_EXT 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 #define GL_CONSTANT_ALPHA_EXT 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 #define GL_BLEND_COLOR_EXT 0x8005 #define GL_FUNC_ADD_EXT 0x8006 #define GL_MIN_EXT 0x8007 #define GL_MAX_EXT 0x8008 #define GL_BLEND_EQUATION_EXT 0x8009 #define GL_FUNC_SUBTRACT_EXT 0x800A #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B #define GL_CMYK_EXT 0x800C #define GL_CMYKA_EXT 0x800D #define GL_PACK_CMYK_HINT_EXT 0x800E #define GL_UNPACK_CMYK_HINT_EXT 0x800F #define GL_CONVOLUTION_1D_EXT 0x8010 #define GL_CONVOLUTION_2D_EXT 0x8011 #define GL_SEPARABLE_2D_EXT 0x8012 #define GL_CONVOLUTION_BORDER_MODE_EXT 0x8013 #define GL_CONVOLUTION_FILTER_SCALE_EXT 0x8014 #define GL_CONVOLUTION_FILTER_BIAS_EXT 0x8015 #define GL_REDUCE_EXT 0x8016 #define GL_CONVOLUTION_FORMAT_EXT 0x8017 #define GL_CONVOLUTION_WIDTH_EXT 0x8018 #define GL_CONVOLUTION_HEIGHT_EXT 0x8019 #define GL_MAX_CONVOLUTION_WIDTH_EXT 0x801A #define GL_MAX_CONVOLUTION_HEIGHT_EXT 0x801B #define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C #define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D #define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E #define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F #define GL_POST_CONVOLUTION_RED_BIAS_EXT 0x8020 #define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021 #define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022 #define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023 #define GL_HISTOGRAM_EXT 0x8024 #define GL_PROXY_HISTOGRAM_EXT 0x8025 #define GL_HISTOGRAM_WIDTH_EXT 0x8026 #define GL_HISTOGRAM_FORMAT_EXT 0x8027 #define GL_HISTOGRAM_RED_SIZE_EXT 0x8028 #define GL_HISTOGRAM_GREEN_SIZE_EXT 0x8029 #define GL_HISTOGRAM_BLUE_SIZE_EXT 0x802A #define GL_HISTOGRAM_ALPHA_SIZE_EXT 0x802B #define GL_HISTOGRAM_LUMINANCE_SIZE_EXT 0x802C #define GL_HISTOGRAM_SINK_EXT 0x802D #define GL_MINMAX_EXT 0x802E #define GL_MINMAX_FORMAT_EXT 0x802F #define GL_MINMAX_SINK_EXT 0x8030 #define GL_TABLE_TOO_LARGE_EXT 0x8031 #define GL_UNSIGNED_BYTE_3_3_2_EXT 0x8032 #define GL_UNSIGNED_SHORT_4_4_4_4_EXT 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1_EXT 0x8034 #define GL_UNSIGNED_INT_8_8_8_8_EXT 0x8035 #define GL_UNSIGNED_INT_10_10_10_2_EXT 0x8036 #define GL_POLYGON_OFFSET_EXT 0x8037 #define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 #define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 #define GL_RESCALE_NORMAL_EXT 0x803A #define GL_ALPHA4_EXT 0x803B #define GL_ALPHA8_EXT 0x803C #define GL_ALPHA12_EXT 0x803D #define GL_ALPHA16_EXT 0x803E #define GL_LUMINANCE4_EXT 0x803F #define GL_LUMINANCE8_EXT 0x8040 #define GL_LUMINANCE12_EXT 0x8041 #define GL_LUMINANCE16_EXT 0x8042 #define GL_LUMINANCE4_ALPHA4_EXT 0x8043 #define GL_LUMINANCE6_ALPHA2_EXT 0x8044 #define GL_LUMINANCE8_ALPHA8_EXT 0x8045 #define GL_LUMINANCE12_ALPHA4_EXT 0x8046 #define GL_LUMINANCE12_ALPHA12_EXT 0x8047 #define GL_LUMINANCE16_ALPHA16_EXT 0x8048 #define GL_INTENSITY_EXT 0x8049 #define GL_INTENSITY4_EXT 0x804A #define GL_INTENSITY8_EXT 0x804B #define GL_INTENSITY12_EXT 0x804C #define GL_INTENSITY16_EXT 0x804D #define GL_RGB2_EXT 0x804E #define GL_RGB4_EXT 0x804F #define GL_RGB5_EXT 0x8050 #define GL_RGB8_EXT 0x8051 #define GL_RGB10_EXT 0x8052 #define GL_RGB12_EXT 0x8053 #define GL_RGB16_EXT 0x8054 #define GL_RGBA2_EXT 0x8055 #define GL_RGBA4_EXT 0x8056 #define GL_RGB5_A1_EXT 0x8057 #define GL_RGBA8_EXT 0x8058 #define GL_RGB10_A2_EXT 0x8059 #define GL_RGBA12_EXT 0x805A #define GL_RGBA16_EXT 0x805B #define GL_TEXTURE_RED_SIZE_EXT 0x805C #define GL_TEXTURE_GREEN_SIZE_EXT 0x805D #define GL_TEXTURE_BLUE_SIZE_EXT 0x805E #define GL_TEXTURE_ALPHA_SIZE_EXT 0x805F #define GL_TEXTURE_LUMINANCE_SIZE_EXT 0x8060 #define GL_TEXTURE_INTENSITY_SIZE_EXT 0x8061 #define GL_REPLACE_EXT 0x8062 #define GL_PROXY_TEXTURE_1D_EXT 0x8063 #define GL_PROXY_TEXTURE_2D_EXT 0x8064 #define GL_TEXTURE_TOO_LARGE_EXT 0x8065 #define GL_TEXTURE_PRIORITY_EXT 0x8066 #define GL_TEXTURE_RESIDENT_EXT 0x8067 #define GL_TEXTURE_1D_BINDING_EXT 0x8068 #define GL_TEXTURE_2D_BINDING_EXT 0x8069 #define GL_TEXTURE_3D_BINDING_EXT 0x806A #define GL_PACK_SKIP_IMAGES_EXT 0x806B #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E #define GL_TEXTURE_3D_EXT 0x806F #define GL_PROXY_TEXTURE_3D_EXT 0x8070 #define GL_TEXTURE_DEPTH_EXT 0x8071 #define GL_TEXTURE_WRAP_R_EXT 0x8072 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 #define GL_VERTEX_ARRAY_EXT 0x8074 #define GL_NORMAL_ARRAY_EXT 0x8075 #define GL_COLOR_ARRAY_EXT 0x8076 #define GL_INDEX_ARRAY_EXT 0x8077 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F #define GL_COLOR_ARRAY_POINTER_EXT 0x8090 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 #define GL_MULTISAMPLE_ARB 0x809D #define GL_MULTISAMPLE_EXT 0x809D #define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB 0x809E #define GL_SAMPLE_ALPHA_TO_MASK_EXT 0x809E #define GL_SAMPLE_ALPHA_TO_ONE_ARB 0x809F #define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F #define GL_SAMPLE_COVERAGE_ARB 0x80A0 #define GL_SAMPLE_MASK_EXT 0x80A0 #define GL_1PASS_EXT 0x80A1 #define GL_2PASS_0_EXT 0x80A2 #define GL_2PASS_1_EXT 0x80A3 #define GL_4PASS_0_EXT 0x80A4 #define GL_4PASS_1_EXT 0x80A5 #define GL_4PASS_2_EXT 0x80A6 #define GL_4PASS_3_EXT 0x80A7 #define GL_SAMPLE_BUFFERS_ARB 0x80A8 #define GL_SAMPLE_BUFFERS_EXT 0x80A8 #define GL_SAMPLES_ARB 0x80A9 #define GL_SAMPLES_EXT 0x80A9 #define GL_SAMPLE_COVERAGE_VALUE_ARB 0x80AA #define GL_SAMPLE_MASK_VALUE_EXT 0x80AA #define GL_SAMPLE_COVERAGE_INVERT_ARB 0x80AB #define GL_SAMPLE_MASK_INVERT_EXT 0x80AB #define GL_SAMPLE_PATTERN_EXT 0x80AC #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF #define GL_BLEND_DST_RGB 0x80C8 #define GL_BLEND_DST_RGB_EXT 0x80C8 #define GL_BLEND_SRC_RGB 0x80C9 #define GL_BLEND_SRC_RGB_EXT 0x80C9 #define GL_BLEND_DST_ALPHA 0x80CA #define GL_BLEND_DST_ALPHA_EXT 0x80CA #define GL_BLEND_SRC_ALPHA 0x80CB #define GL_BLEND_SRC_ALPHA_EXT 0x80CB #define GL_422_EXT 0x80CC #define GL_422_REV_EXT 0x80CD #define GL_422_AVERAGE_EXT 0x80CE #define GL_422_REV_AVERAGE_EXT 0x80CF #define GL_BGR_EXT 0x80E0 #define GL_BGRA_EXT 0x80E1 #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 #define GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 #define GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 #define GL_PHONG_WIN 0x80EA #define GL_PHONG_HINT_WIN 0x80EB #define GL_FOG_SPECULAR_TEXTURE_WIN 0x80EC #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED #define GL_CLIP_VOLUME_CLIPPING_HINT_EXT 0x80F0 #define GL_POINT_SIZE_MIN 0x8126 #define GL_POINT_SIZE_MIN_ARB 0x8126 #define GL_POINT_SIZE_MIN_EXT 0x8126 #define GL_POINT_SIZE_MAX 0x8127 #define GL_POINT_SIZE_MAX_ARB 0x8127 #define GL_POINT_SIZE_MAX_EXT 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE 0x8128 #define GL_POINT_FADE_THRESHOLD_SIZE_ARB 0x8128 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 #define GL_POINT_DISTANCE_ATTENUATION 0x8129 #define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129 #define GL_CLAMP_TO_BORDER_ARB 0x812D #define GL_IGNORE_BORDER_HP 0x8150 #define GL_CONSTANT_BORDER_HP 0x8151 #define GL_REPLICATE_BORDER_HP 0x8153 #define GL_CONVOLUTION_BORDER_COLOR_HP 0x8154 #define GL_IMAGE_SCALE_X_HP 0x8155 #define GL_IMAGE_SCALE_Y_HP 0x8156 #define GL_IMAGE_TRANSLATE_X_HP 0x8157 #define GL_IMAGE_TRANSLATE_Y_HP 0x8158 #define GL_IMAGE_ROTATE_ANGLE_HP 0x8159 #define GL_IMAGE_ROTATE_ORIGIN_X_HP 0x815A #define GL_IMAGE_ROTATE_ORIGIN_Y_HP 0x815B #define GL_IMAGE_MAG_FILTER_HP 0x815C #define GL_IMAGE_MIN_FILTER_HP 0x815D #define GL_IMAGE_CUBIC_WEIGHT_HP 0x815E #define GL_CUBIC_HP 0x815F #define GL_AVERAGE_HP 0x8160 #define GL_IMAGE_TRANSFORM_2D_HP 0x8161 #define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162 #define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163 #define GL_OCCLUSION_TEST_HP 0x8165 #define GL_OCCLUSION_TEST_RESULT_HP 0x8166 #define GL_TEXTURE_LIGHTING_MODE_HP 0x8167 #define GL_TEXTURE_POST_SPECULAR_HP 0x8168 #define GL_TEXTURE_PRE_SPECULAR_HP 0x8169 #define GL_GENERATE_MIPMAP 0x8191 #define GL_GENERATE_MIPMAP_HINT 0x8192 #define GL_DEPTH_COMPONENT16 0x81A5 #define GL_DEPTH_COMPONENT16_ARB 0x81A5 #define GL_DEPTH_COMPONENT24 0x81A6 #define GL_DEPTH_COMPONENT24_ARB 0x81A6 #define GL_DEPTH_COMPONENT32 0x81A7 #define GL_DEPTH_COMPONENT32_ARB 0x81A7 #define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT 0x81A8 #define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT 0x81A9 #define GL_CULL_VERTEX_EXT 0x81AA #define GL_CULL_VERTEX_EYE_POSITION_EXT 0x81AB #define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC #define GL_IUI_V2F_EXT 0x81AD #define GL_IUI_V3F_EXT 0x81AE #define GL_IUI_N3F_V2F_EXT 0x81AF #define GL_IUI_N3F_V3F_EXT 0x81B0 #define GL_T2F_IUI_V2F_EXT 0x81B1 #define GL_T2F_IUI_V3F_EXT 0x81B2 #define GL_T2F_IUI_N3F_V2F_EXT 0x81B3 #define GL_T2F_IUI_N3F_V3F_EXT 0x81B4 #define GL_INDEX_TEST_EXT 0x81B5 #define GL_INDEX_TEST_FUNC_EXT 0x81B6 #define GL_INDEX_TEST_REF_EXT 0x81B7 #define GL_INDEX_MATERIAL_EXT 0x81B8 #define GL_INDEX_MATERIAL_PARAMETER_EXT 0x81B9 #define GL_INDEX_MATERIAL_FACE_EXT 0x81BA #define GL_WRAP_BORDER_SUN 0x81D4 #define GL_UNPACK_CONSTANT_DATA_SUNX 0x81D5 #define GL_TEXTURE_CONSTANT_DATA_SUNX 0x81D6 #define GL_TRIANGLE_LIST_SUN 0x81D7 #define GL_REPLACEMENT_CODE_SUN 0x81D8 #define GL_GLOBAL_ALPHA_SUN 0x81D9 #define GL_GLOBAL_ALPHA_FACTOR_SUN 0x81DA #define GL_LIGHT_MODEL_COLOR_CONTROL_EXT 0x81F8 #define GL_SINGLE_COLOR_EXT 0x81F9 #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB #define GL_TEXT_FRAGMENT_SHADER_ATI 0x8200 #define GL_PIXEL_TRANSFORM_2D_EXT 0x8330 #define GL_PIXEL_MAG_FILTER_EXT 0x8331 #define GL_PIXEL_MIN_FILTER_EXT 0x8332 #define GL_PIXEL_CUBIC_WEIGHT_EXT 0x8333 #define GL_CUBIC_EXT 0x8334 #define GL_AVERAGE_EXT 0x8335 #define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336 #define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337 #define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT 0x8338 #define GL_FRAGMENT_MATERIAL_EXT 0x8349 #define GL_FRAGMENT_NORMAL_EXT 0x834A #define GL_FRAGMENT_COLOR_EXT 0x834C #define GL_ATTENUATION_EXT 0x834D #define GL_SHADOW_ATTENUATION_EXT 0x834E #define GL_TEXTURE_APPLICATION_MODE_EXT 0x834F #define GL_TEXTURE_LIGHT_EXT 0x8350 #define GL_TEXTURE_MATERIAL_FACE_EXT 0x8351 #define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352 #define GL_MIRRORED_REPEAT 0x8370 #define GL_MIRRORED_REPEAT_ARB 0x8370 #define GL_MIRRORED_REPEAT_IBM 0x8370 #define GL_RGB_S3TC 0x83A0 #define GL_RGB4_S3TC 0x83A1 #define GL_RGBA_S3TC 0x83A2 #define GL_RGBA4_S3TC 0x83A3 #define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 #define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 #define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 #define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 #define GL_PARALLEL_ARRAYS_INTEL 0x83F4 #define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5 #define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6 #define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7 #define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8 #define GL_TANGENT_ARRAY_EXT 0x8439 #define GL_BINORMAL_ARRAY_EXT 0x843A #define GL_CURRENT_TANGENT_EXT 0x843B #define GL_CURRENT_BINORMAL_EXT 0x843C #define GL_TANGENT_ARRAY_TYPE_EXT 0x843E #define GL_TANGENT_ARRAY_STRIDE_EXT 0x843F #define GL_BINORMAL_ARRAY_TYPE_EXT 0x8440 #define GL_BINORMAL_ARRAY_STRIDE_EXT 0x8441 #define GL_TANGENT_ARRAY_POINTER_EXT 0x8442 #define GL_BINORMAL_ARRAY_POINTER_EXT 0x8443 #define GL_MAP1_TANGENT_EXT 0x8444 #define GL_MAP2_TANGENT_EXT 0x8445 #define GL_MAP1_BINORMAL_EXT 0x8446 #define GL_MAP2_BINORMAL_EXT 0x8447 #define GL_FOG_COORDINATE_SOURCE 0x8450 #define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 #define GL_FOG_COORDINATE 0x8451 #define GL_FOG_COORDINATE_EXT 0x8451 #define GL_FRAGMENT_DEPTH 0x8452 #define GL_FRAGMENT_DEPTH_EXT 0x8452 #define GL_CURRENT_FOG_COORDINATE 0x8453 #define GL_CURRENT_FOG_COORDINATE_EXT 0x8453 #define GL_FOG_COORDINATE_ARRAY_TYPE 0x8454 #define GL_FOG_COORDINATE_ARRAY_TYPE_EXT 0x8454 #define GL_FOG_COORDINATE_ARRAY_STRIDE 0x8455 #define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455 #define GL_FOG_COORDINATE_ARRAY_POINTER 0x8456 #define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456 #define GL_FOG_COORDINATE_ARRAY 0x8457 #define GL_FOG_COORDINATE_ARRAY_EXT 0x8457 #define GL_COLOR_SUM 0x8458 #define GL_COLOR_SUM_ARB 0x8458 #define GL_COLOR_SUM_EXT 0x8458 #define GL_CURRENT_SECONDARY_COLOR 0x8459 #define GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 #define GL_SECONDARY_COLOR_ARRAY_SIZE 0x845A #define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A #define GL_SECONDARY_COLOR_ARRAY_TYPE 0x845B #define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B #define GL_SECONDARY_COLOR_ARRAY_STRIDE 0x845C #define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C #define GL_SECONDARY_COLOR_ARRAY_POINTER 0x845D #define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D #define GL_SECONDARY_COLOR_ARRAY 0x845E #define GL_SECONDARY_COLOR_ARRAY_EXT 0x845E #define GL_SCREEN_COORDINATES_REND 0x8490 #define GL_INVERTED_SCREEN_W_REND 0x8491 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 #define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4 #define GL_TRANSPOSE_TEXTURE_MATRIX_ARB 0x84E5 #define GL_TRANSPOSE_COLOR_MATRIX_ARB 0x84E6 #define GL_SUBTRACT_ARB 0x84E7 #define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8 #define GL_COMPRESSED_ALPHA_ARB 0x84E9 #define GL_COMPRESSED_LUMINANCE_ARB 0x84EA #define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB #define GL_COMPRESSED_INTENSITY_ARB 0x84EC #define GL_COMPRESSED_RGB_ARB 0x84ED #define GL_COMPRESSED_RGBA_ARB 0x84EE #define GL_TEXTURE_COMPRESSION_HINT_ARB 0x84EF #define GL_TEXTURE_RECTANGLE_ARB 0x84F5 #define GL_TEXTURE_BINDING_RECTANGLE_ARB 0x84F6 #define GL_PROXY_TEXTURE_RECTANGLE_ARB 0x84F7 #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8 #define GL_MAX_TEXTURE_LOD_BIAS 0x84FD #define GL_MAX_TEXTURE_LOD_BIAS_EXT 0x84FD #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF #define GL_TEXTURE_FILTER_CONTROL 0x8500 #define GL_TEXTURE_FILTER_CONTROL_EXT 0x8500 #define GL_TEXTURE_LOD_BIAS 0x8501 #define GL_TEXTURE_LOD_BIAS_EXT 0x8501 #define GL_MODELVIEW1_STACK_DEPTH_EXT 0x8502 #define GL_MODELVIEW1_MATRIX_EXT 0x8506 #define GL_INCR_WRAP 0x8507 #define GL_INCR_WRAP_EXT 0x8507 #define GL_DECR_WRAP 0x8508 #define GL_DECR_WRAP_EXT 0x8508 #define GL_VERTEX_WEIGHTING_EXT 0x8509 #define GL_MODELVIEW1_ARB 0x850A #define GL_MODELVIEW1_EXT 0x850A #define GL_CURRENT_VERTEX_WEIGHT_EXT 0x850B #define GL_VERTEX_WEIGHT_ARRAY_EXT 0x850C #define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT 0x850D #define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT 0x850E #define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F #define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510 #define GL_NORMAL_MAP_ARB 0x8511 #define GL_NORMAL_MAP_EXT 0x8511 #define GL_REFLECTION_MAP_ARB 0x8512 #define GL_REFLECTION_MAP_EXT 0x8512 #define GL_TEXTURE_CUBE_MAP_ARB 0x8513 #define GL_TEXTURE_CUBE_MAP_EXT 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP_ARB 0x8514 #define GL_TEXTURE_BINDING_CUBE_MAP_EXT 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519 #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A #define GL_PROXY_TEXTURE_CUBE_MAP_ARB 0x851B #define GL_PROXY_TEXTURE_CUBE_MAP_EXT 0x851B #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB 0x851C #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT 0x851C #define GL_RED_MIN_CLAMP_INGR 0x8560 #define GL_GREEN_MIN_CLAMP_INGR 0x8561 #define GL_BLUE_MIN_CLAMP_INGR 0x8562 #define GL_ALPHA_MIN_CLAMP_INGR 0x8563 #define GL_RED_MAX_CLAMP_INGR 0x8564 #define GL_GREEN_MAX_CLAMP_INGR 0x8565 #define GL_BLUE_MAX_CLAMP_INGR 0x8566 #define GL_ALPHA_MAX_CLAMP_INGR 0x8567 #define GL_INTERLACE_READ_INGR 0x8568 #define GL_COMBINE_ARB 0x8570 #define GL_COMBINE_EXT 0x8570 #define GL_COMBINE_RGB_ARB 0x8571 #define GL_COMBINE_RGB_EXT 0x8571 #define GL_COMBINE_ALPHA_ARB 0x8572 #define GL_COMBINE_ALPHA_EXT 0x8572 #define GL_RGB_SCALE_ARB 0x8573 #define GL_RGB_SCALE_EXT 0x8573 #define GL_ADD_SIGNED_ARB 0x8574 #define GL_ADD_SIGNED_EXT 0x8574 #define GL_INTERPOLATE_ARB 0x8575 #define GL_INTERPOLATE_EXT 0x8575 #define GL_CONSTANT_ARB 0x8576 #define GL_CONSTANT_EXT 0x8576 #define GL_PRIMARY_COLOR_ARB 0x8577 #define GL_PRIMARY_COLOR_EXT 0x8577 #define GL_PREVIOUS_ARB 0x8578 #define GL_PREVIOUS_EXT 0x8578 #define GL_SOURCE0_RGB_ARB 0x8580 #define GL_SOURCE0_RGB_EXT 0x8580 #define GL_SOURCE1_RGB_ARB 0x8581 #define GL_SOURCE1_RGB_EXT 0x8581 #define GL_SOURCE2_RGB_ARB 0x8582 #define GL_SOURCE2_RGB_EXT 0x8582 #define GL_SOURCE0_ALPHA_ARB 0x8588 #define GL_SOURCE0_ALPHA_EXT 0x8588 #define GL_SOURCE1_ALPHA_ARB 0x8589 #define GL_SOURCE1_ALPHA_EXT 0x8589 #define GL_SOURCE2_ALPHA_ARB 0x858A #define GL_SOURCE2_ALPHA_EXT 0x858A #define GL_OPERAND0_RGB_ARB 0x8590 #define GL_OPERAND0_RGB_EXT 0x8590 #define GL_OPERAND1_RGB_ARB 0x8591 #define GL_OPERAND1_RGB_EXT 0x8591 #define GL_OPERAND2_RGB_ARB 0x8592 #define GL_OPERAND2_RGB_EXT 0x8592 #define GL_OPERAND0_ALPHA_ARB 0x8598 #define GL_OPERAND0_ALPHA_EXT 0x8598 #define GL_OPERAND1_ALPHA_ARB 0x8599 #define GL_OPERAND1_ALPHA_EXT 0x8599 #define GL_OPERAND2_ALPHA_ARB 0x859A #define GL_OPERAND2_ALPHA_EXT 0x859A #define GL_PERTURB_EXT 0x85AE #define GL_TEXTURE_NORMAL_EXT 0x85AF #define GL_REPLACEMENT_CODE_ARRAY_SUN 0x85C0 #define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1 #define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2 #define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3 #define GL_R1UI_V3F_SUN 0x85C4 #define GL_R1UI_C4UB_V3F_SUN 0x85C5 #define GL_R1UI_C3F_V3F_SUN 0x85C6 #define GL_R1UI_N3F_V3F_SUN 0x85C7 #define GL_R1UI_C4F_N3F_V3F_SUN 0x85C8 #define GL_R1UI_T2F_V3F_SUN 0x85C9 #define GL_R1UI_T2F_N3F_V3F_SUN 0x85CA #define GL_R1UI_T2F_C4F_N3F_V3F_SUN 0x85CB #define GL_SLICE_ACCUM_SUN 0x85CC #define GL_QUAD_MESH_SUN 0x8614 #define GL_TRIANGLE_MESH_SUN 0x8615 #define GL_VERTEX_PROGRAM_ARB 0x8620 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 #define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622 #define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 #define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB 0x8623 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 #define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624 #define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 #define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB 0x8625 #define GL_CURRENT_VERTEX_ATTRIB 0x8626 #define GL_CURRENT_VERTEX_ATTRIB_ARB 0x8626 #define GL_PROGRAM_LENGTH_ARB 0x8627 #define GL_PROGRAM_STRING_ARB 0x8628 #define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E #define GL_MAX_PROGRAM_MATRICES_ARB 0x862F #define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640 #define GL_CURRENT_MATRIX_ARB 0x8641 #define GL_VERTEX_PROGRAM_POINT_SIZE 0x8642 #define GL_VERTEX_PROGRAM_POINT_SIZE_ARB 0x8642 #define GL_VERTEX_PROGRAM_TWO_SIDE 0x8643 #define GL_VERTEX_PROGRAM_TWO_SIDE_ARB 0x8643 #define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 #define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645 #define GL_PROGRAM_ERROR_POSITION_ARB 0x864B #define GL_PROGRAM_BINDING_ARB 0x8677 #define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0 #define GL_TEXTURE_COMPRESSED_ARB 0x86A1 #define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3 #define GL_MAX_VERTEX_UNITS_ARB 0x86A4 #define GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 #define GL_WEIGHT_SUM_UNITY_ARB 0x86A6 #define GL_VERTEX_BLEND_ARB 0x86A7 #define GL_CURRENT_WEIGHT_ARB 0x86A8 #define GL_WEIGHT_ARRAY_TYPE_ARB 0x86A9 #define GL_WEIGHT_ARRAY_STRIDE_ARB 0x86AA #define GL_WEIGHT_ARRAY_SIZE_ARB 0x86AB #define GL_WEIGHT_ARRAY_POINTER_ARB 0x86AC #define GL_WEIGHT_ARRAY_ARB 0x86AD #define GL_DOT3_RGB_ARB 0x86AE #define GL_DOT3_RGBA_ARB 0x86AF #define GL_COMPRESSED_RGB_FXT1_3DFX 0x86B0 #define GL_COMPRESSED_RGBA_FXT1_3DFX 0x86B1 #define GL_MULTISAMPLE_3DFX 0x86B2 #define GL_SAMPLE_BUFFERS_3DFX 0x86B3 #define GL_SAMPLES_3DFX 0x86B4 #define GL_MODELVIEW2_ARB 0x8722 #define GL_MODELVIEW3_ARB 0x8723 #define GL_MODELVIEW4_ARB 0x8724 #define GL_MODELVIEW5_ARB 0x8725 #define GL_MODELVIEW6_ARB 0x8726 #define GL_MODELVIEW7_ARB 0x8727 #define GL_MODELVIEW8_ARB 0x8728 #define GL_MODELVIEW9_ARB 0x8729 #define GL_MODELVIEW10_ARB 0x872A #define GL_MODELVIEW11_ARB 0x872B #define GL_MODELVIEW12_ARB 0x872C #define GL_MODELVIEW13_ARB 0x872D #define GL_MODELVIEW14_ARB 0x872E #define GL_MODELVIEW15_ARB 0x872F #define GL_MODELVIEW16_ARB 0x8730 #define GL_MODELVIEW17_ARB 0x8731 #define GL_MODELVIEW18_ARB 0x8732 #define GL_MODELVIEW19_ARB 0x8733 #define GL_MODELVIEW20_ARB 0x8734 #define GL_MODELVIEW21_ARB 0x8735 #define GL_MODELVIEW22_ARB 0x8736 #define GL_MODELVIEW23_ARB 0x8737 #define GL_MODELVIEW24_ARB 0x8738 #define GL_MODELVIEW25_ARB 0x8739 #define GL_MODELVIEW26_ARB 0x873A #define GL_MODELVIEW27_ARB 0x873B #define GL_MODELVIEW28_ARB 0x873C #define GL_MODELVIEW29_ARB 0x873D #define GL_MODELVIEW30_ARB 0x873E #define GL_MODELVIEW31_ARB 0x873F #define GL_DOT3_RGB_EXT 0x8740 #define GL_DOT3_RGBA_EXT 0x8741 #define GL_MIRROR_CLAMP_ATI 0x8742 #define GL_MIRROR_CLAMP_EXT 0x8742 #define GL_MIRROR_CLAMP_TO_EDGE_ATI 0x8743 #define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 #define GL_MODULATE_ADD_ATI 0x8744 #define GL_MODULATE_SIGNED_ADD_ATI 0x8745 #define GL_MODULATE_SUBTRACT_ATI 0x8746 #define GL_STATIC_ATI 0x8760 #define GL_DYNAMIC_ATI 0x8761 #define GL_PRESERVE_ATI 0x8762 #define GL_DISCARD_ATI 0x8763 #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_SIZE_ARB 0x8764 #define GL_OBJECT_BUFFER_SIZE_ATI 0x8764 #define GL_BUFFER_USAGE 0x8765 #define GL_BUFFER_USAGE_ARB 0x8765 #define GL_OBJECT_BUFFER_USAGE_ATI 0x8765 #define GL_ARRAY_OBJECT_BUFFER_ATI 0x8766 #define GL_ARRAY_OBJECT_OFFSET_ATI 0x8767 #define GL_ELEMENT_ARRAY_ATI 0x8768 #define GL_ELEMENT_ARRAY_TYPE_ATI 0x8769 #define GL_ELEMENT_ARRAY_POINTER_ATI 0x876A #define GL_MAX_VERTEX_STREAMS_ATI 0x876B #define GL_VERTEX_STREAM0_ATI 0x876C #define GL_VERTEX_STREAM1_ATI 0x876D #define GL_VERTEX_STREAM2_ATI 0x876E #define GL_VERTEX_STREAM3_ATI 0x876F #define GL_VERTEX_STREAM4_ATI 0x8770 #define GL_VERTEX_STREAM5_ATI 0x8771 #define GL_VERTEX_STREAM6_ATI 0x8772 #define GL_VERTEX_STREAM7_ATI 0x8773 #define GL_VERTEX_SOURCE_ATI 0x8774 #define GL_BUMP_ROT_MATRIX_ATI 0x8775 #define GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 #define GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 #define GL_BUMP_TEX_UNITS_ATI 0x8778 #define GL_DUDV_ATI 0x8779 #define GL_DU8DV8_ATI 0x877A #define GL_BUMP_ENVMAP_ATI 0x877B #define GL_BUMP_TARGET_ATI 0x877C #define GL_VERTEX_SHADER_EXT 0x8780 #define GL_VERTEX_SHADER_BINDING_EXT 0x8781 #define GL_OP_INDEX_EXT 0x8782 #define GL_OP_NEGATE_EXT 0x8783 #define GL_OP_DOT3_EXT 0x8784 #define GL_OP_DOT4_EXT 0x8785 #define GL_OP_MUL_EXT 0x8786 #define GL_OP_ADD_EXT 0x8787 #define GL_OP_MADD_EXT 0x8788 #define GL_OP_FRAC_EXT 0x8789 #define GL_OP_MAX_EXT 0x878A #define GL_OP_MIN_EXT 0x878B #define GL_OP_SET_GE_EXT 0x878C #define GL_OP_SET_LT_EXT 0x878D #define GL_OP_CLAMP_EXT 0x878E #define GL_OP_FLOOR_EXT 0x878F #define GL_OP_ROUND_EXT 0x8790 #define GL_OP_EXP_BASE_2_EXT 0x8791 #define GL_OP_LOG_BASE_2_EXT 0x8792 #define GL_OP_POWER_EXT 0x8793 #define GL_OP_RECIP_EXT 0x8794 #define GL_OP_RECIP_SQRT_EXT 0x8795 #define GL_OP_SUB_EXT 0x8796 #define GL_OP_CROSS_PRODUCT_EXT 0x8797 #define GL_OP_MULTIPLY_MATRIX_EXT 0x8798 #define GL_OP_MOV_EXT 0x8799 #define GL_OUTPUT_VERTEX_EXT 0x879A #define GL_OUTPUT_COLOR0_EXT 0x879B #define GL_OUTPUT_COLOR1_EXT 0x879C #define GL_OUTPUT_TEXTURE_COORD0_EXT 0x879D #define GL_OUTPUT_TEXTURE_COORD1_EXT 0x879E #define GL_OUTPUT_TEXTURE_COORD2_EXT 0x879F #define GL_OUTPUT_TEXTURE_COORD3_EXT 0x87A0 #define GL_OUTPUT_TEXTURE_COORD4_EXT 0x87A1 #define GL_OUTPUT_TEXTURE_COORD5_EXT 0x87A2 #define GL_OUTPUT_TEXTURE_COORD6_EXT 0x87A3 #define GL_OUTPUT_TEXTURE_COORD7_EXT 0x87A4 #define GL_OUTPUT_TEXTURE_COORD8_EXT 0x87A5 #define GL_OUTPUT_TEXTURE_COORD9_EXT 0x87A6 #define GL_OUTPUT_TEXTURE_COORD10_EXT 0x87A7 #define GL_OUTPUT_TEXTURE_COORD11_EXT 0x87A8 #define GL_OUTPUT_TEXTURE_COORD12_EXT 0x87A9 #define GL_OUTPUT_TEXTURE_COORD13_EXT 0x87AA #define GL_OUTPUT_TEXTURE_COORD14_EXT 0x87AB #define GL_OUTPUT_TEXTURE_COORD15_EXT 0x87AC #define GL_OUTPUT_TEXTURE_COORD16_EXT 0x87AD #define GL_OUTPUT_TEXTURE_COORD17_EXT 0x87AE #define GL_OUTPUT_TEXTURE_COORD18_EXT 0x87AF #define GL_OUTPUT_TEXTURE_COORD19_EXT 0x87B0 #define GL_OUTPUT_TEXTURE_COORD20_EXT 0x87B1 #define GL_OUTPUT_TEXTURE_COORD21_EXT 0x87B2 #define GL_OUTPUT_TEXTURE_COORD22_EXT 0x87B3 #define GL_OUTPUT_TEXTURE_COORD23_EXT 0x87B4 #define GL_OUTPUT_TEXTURE_COORD24_EXT 0x87B5 #define GL_OUTPUT_TEXTURE_COORD25_EXT 0x87B6 #define GL_OUTPUT_TEXTURE_COORD26_EXT 0x87B7 #define GL_OUTPUT_TEXTURE_COORD27_EXT 0x87B8 #define GL_OUTPUT_TEXTURE_COORD28_EXT 0x87B9 #define GL_OUTPUT_TEXTURE_COORD29_EXT 0x87BA #define GL_OUTPUT_TEXTURE_COORD30_EXT 0x87BB #define GL_OUTPUT_TEXTURE_COORD31_EXT 0x87BC #define GL_OUTPUT_FOG_EXT 0x87BD #define GL_SCALAR_EXT 0x87BE #define GL_VECTOR_EXT 0x87BF #define GL_MATRIX_EXT 0x87C0 #define GL_VARIANT_EXT 0x87C1 #define GL_INVARIANT_EXT 0x87C2 #define GL_LOCAL_CONSTANT_EXT 0x87C3 #define GL_LOCAL_EXT 0x87C4 #define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5 #define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6 #define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7 #define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8 #define GL_MAX_VERTEX_SHADER_LOCALS_EXT 0x87C9 #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA #define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC #define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD #define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE #define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF #define GL_VERTEX_SHADER_VARIANTS_EXT 0x87D0 #define GL_VERTEX_SHADER_INVARIANTS_EXT 0x87D1 #define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2 #define GL_VERTEX_SHADER_LOCALS_EXT 0x87D3 #define GL_VERTEX_SHADER_OPTIMIZED_EXT 0x87D4 #define GL_X_EXT 0x87D5 #define GL_Y_EXT 0x87D6 #define GL_Z_EXT 0x87D7 #define GL_W_EXT 0x87D8 #define GL_NEGATIVE_X_EXT 0x87D9 #define GL_NEGATIVE_Y_EXT 0x87DA #define GL_NEGATIVE_Z_EXT 0x87DB #define GL_NEGATIVE_W_EXT 0x87DC #define GL_ZERO_EXT 0x87DD #define GL_ONE_EXT 0x87DE #define GL_NEGATIVE_ONE_EXT 0x87DF #define GL_NORMALIZED_RANGE_EXT 0x87E0 #define GL_FULL_RANGE_EXT 0x87E1 #define GL_CURRENT_VERTEX_EXT 0x87E2 #define GL_MVP_MATRIX_EXT 0x87E3 #define GL_VARIANT_VALUE_EXT 0x87E4 #define GL_VARIANT_DATATYPE_EXT 0x87E5 #define GL_VARIANT_ARRAY_STRIDE_EXT 0x87E6 #define GL_VARIANT_ARRAY_TYPE_EXT 0x87E7 #define GL_VARIANT_ARRAY_EXT 0x87E8 #define GL_VARIANT_ARRAY_POINTER_EXT 0x87E9 #define GL_INVARIANT_VALUE_EXT 0x87EA #define GL_INVARIANT_DATATYPE_EXT 0x87EB #define GL_LOCAL_CONSTANT_VALUE_EXT 0x87EC #define GL_LOCAL_CONSTANT_DATATYPE_EXT 0x87ED #define GL_PN_TRIANGLES_ATI 0x87F0 #define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 #define GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 #define GL_PN_TRIANGLES_NORMAL_MODE_ATI 0x87F3 #define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4 #define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5 #define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6 #define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7 #define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8 #define GL_STENCIL_BACK_FUNC 0x8800 #define GL_STENCIL_BACK_FUNC_ATI 0x8800 #define GL_STENCIL_BACK_FAIL 0x8801 #define GL_STENCIL_BACK_FAIL_ATI 0x8801 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802 #define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 #define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803 #define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803 #define GL_FRAGMENT_PROGRAM_ARB 0x8804 #define GL_PROGRAM_ALU_INSTRUCTIONS_ARB 0x8805 #define GL_PROGRAM_TEX_INSTRUCTIONS_ARB 0x8806 #define GL_PROGRAM_TEX_INDIRECTIONS_ARB 0x8807 #define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808 #define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809 #define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A #define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B #define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C #define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D #define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E #define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F #define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810 #define GL_RGBA32F_ARB 0x8814 #define GL_RGBA_FLOAT32_ATI 0x8814 #define GL_RGB32F_ARB 0x8815 #define GL_RGB_FLOAT32_ATI 0x8815 #define GL_ALPHA32F_ARB 0x8816 #define GL_ALPHA_FLOAT32_ATI 0x8816 #define GL_INTENSITY32F_ARB 0x8817 #define GL_INTENSITY_FLOAT32_ATI 0x8817 #define GL_LUMINANCE32F_ARB 0x8818 #define GL_LUMINANCE_FLOAT32_ATI 0x8818 #define GL_LUMINANCE_ALPHA32F_ARB 0x8819 #define GL_LUMINANCE_ALPHA_FLOAT32_ATI 0x8819 #define GL_RGBA16F_ARB 0x881A #define GL_RGBA_FLOAT16_ATI 0x881A #define GL_RGB16F_ARB 0x881B #define GL_RGB_FLOAT16_ATI 0x881B #define GL_ALPHA16F_ARB 0x881C #define GL_ALPHA_FLOAT16_ATI 0x881C #define GL_INTENSITY16F_ARB 0x881D #define GL_INTENSITY_FLOAT16_ATI 0x881D #define GL_LUMINANCE16F_ARB 0x881E #define GL_LUMINANCE_FLOAT16_ATI 0x881E #define GL_LUMINANCE_ALPHA16F_ARB 0x881F #define GL_LUMINANCE_ALPHA_FLOAT16_ATI 0x881F #define GL_RGBA_FLOAT_MODE_ARB 0x8820 #define GL_TYPE_RGBA_FLOAT_ATI 0x8820 #define GL_MAX_DRAW_BUFFERS 0x8824 #define GL_MAX_DRAW_BUFFERS_ARB 0x8824 #define GL_MAX_DRAW_BUFFERS_ATI 0x8824 #define GL_DRAW_BUFFER0 0x8825 #define GL_DRAW_BUFFER0_ARB 0x8825 #define GL_DRAW_BUFFER0_ATI 0x8825 #define GL_DRAW_BUFFER1 0x8826 #define GL_DRAW_BUFFER1_ARB 0x8826 #define GL_DRAW_BUFFER1_ATI 0x8826 #define GL_DRAW_BUFFER2 0x8827 #define GL_DRAW_BUFFER2_ARB 0x8827 #define GL_DRAW_BUFFER2_ATI 0x8827 #define GL_DRAW_BUFFER3 0x8828 #define GL_DRAW_BUFFER3_ARB 0x8828 #define GL_DRAW_BUFFER3_ATI 0x8828 #define GL_DRAW_BUFFER4 0x8829 #define GL_DRAW_BUFFER4_ARB 0x8829 #define GL_DRAW_BUFFER4_ATI 0x8829 #define GL_DRAW_BUFFER5 0x882A #define GL_DRAW_BUFFER5_ARB 0x882A #define GL_DRAW_BUFFER5_ATI 0x882A #define GL_DRAW_BUFFER6 0x882B #define GL_DRAW_BUFFER6_ARB 0x882B #define GL_DRAW_BUFFER6_ATI 0x882B #define GL_DRAW_BUFFER7 0x882C #define GL_DRAW_BUFFER7_ARB 0x882C #define GL_DRAW_BUFFER7_ATI 0x882C #define GL_DRAW_BUFFER8 0x882D #define GL_DRAW_BUFFER8_ARB 0x882D #define GL_DRAW_BUFFER8_ATI 0x882D #define GL_DRAW_BUFFER9 0x882E #define GL_DRAW_BUFFER9_ARB 0x882E #define GL_DRAW_BUFFER9_ATI 0x882E #define GL_DRAW_BUFFER10 0x882F #define GL_DRAW_BUFFER10_ARB 0x882F #define GL_DRAW_BUFFER10_ATI 0x882F #define GL_DRAW_BUFFER11 0x8830 #define GL_DRAW_BUFFER11_ARB 0x8830 #define GL_DRAW_BUFFER11_ATI 0x8830 #define GL_DRAW_BUFFER12 0x8831 #define GL_DRAW_BUFFER12_ARB 0x8831 #define GL_DRAW_BUFFER12_ATI 0x8831 #define GL_DRAW_BUFFER13 0x8832 #define GL_DRAW_BUFFER13_ARB 0x8832 #define GL_DRAW_BUFFER13_ATI 0x8832 #define GL_DRAW_BUFFER14 0x8833 #define GL_DRAW_BUFFER14_ARB 0x8833 #define GL_DRAW_BUFFER14_ATI 0x8833 #define GL_DRAW_BUFFER15 0x8834 #define GL_DRAW_BUFFER15_ARB 0x8834 #define GL_DRAW_BUFFER15_ATI 0x8834 #define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835 #define GL_BLEND_EQUATION_ALPHA 0x883D #define GL_BLEND_EQUATION_ALPHA_EXT 0x883D #define GL_MATRIX_PALETTE_ARB 0x8840 #define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 #define GL_MAX_PALETTE_MATRICES_ARB 0x8842 #define GL_CURRENT_PALETTE_MATRIX_ARB 0x8843 #define GL_MATRIX_INDEX_ARRAY_ARB 0x8844 #define GL_CURRENT_MATRIX_INDEX_ARB 0x8845 #define GL_MATRIX_INDEX_ARRAY_SIZE_ARB 0x8846 #define GL_MATRIX_INDEX_ARRAY_TYPE_ARB 0x8847 #define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB 0x8848 #define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849 #define GL_TEXTURE_DEPTH_SIZE 0x884A #define GL_TEXTURE_DEPTH_SIZE_ARB 0x884A #define GL_DEPTH_TEXTURE_MODE 0x884B #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B #define GL_TEXTURE_COMPARE_MODE 0x884C #define GL_TEXTURE_COMPARE_MODE_ARB 0x884C #define GL_TEXTURE_COMPARE_FUNC 0x884D #define GL_TEXTURE_COMPARE_FUNC_ARB 0x884D #define GL_COMPARE_R_TO_TEXTURE 0x884E #define GL_COMPARE_R_TO_TEXTURE_ARB 0x884E #define GL_POINT_SPRITE 0x8861 #define GL_POINT_SPRITE_ARB 0x8861 #define GL_COORD_REPLACE 0x8862 #define GL_COORD_REPLACE_ARB 0x8862 #define GL_QUERY_COUNTER_BITS 0x8864 #define GL_QUERY_COUNTER_BITS_ARB 0x8864 #define GL_CURRENT_QUERY 0x8865 #define GL_CURRENT_QUERY_ARB 0x8865 #define GL_QUERY_RESULT 0x8866 #define GL_QUERY_RESULT_ARB 0x8866 #define GL_QUERY_RESULT_AVAILABLE 0x8867 #define GL_QUERY_RESULT_AVAILABLE_ARB 0x8867 #define GL_MAX_VERTEX_ATTRIBS 0x8869 #define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869 #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A #define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A #define GL_MAX_TEXTURE_COORDS 0x8871 #define GL_MAX_TEXTURE_COORDS_ARB 0x8871 #define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 #define GL_MAX_TEXTURE_IMAGE_UNITS_ARB 0x8872 #define GL_PROGRAM_ERROR_STRING_ARB 0x8874 #define GL_PROGRAM_FORMAT_ASCII_ARB 0x8875 #define GL_PROGRAM_FORMAT_ARB 0x8876 #define GL_DEPTH_BOUNDS_TEST_EXT 0x8890 #define GL_DEPTH_BOUNDS_EXT 0x8891 #define GL_ARRAY_BUFFER 0x8892 #define GL_ARRAY_BUFFER_ARB 0x8892 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 #define GL_ELEMENT_ARRAY_BUFFER_ARB 0x8893 #define GL_ARRAY_BUFFER_BINDING 0x8894 #define GL_ARRAY_BUFFER_BINDING_ARB 0x8894 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 #define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895 #define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896 #define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896 #define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897 #define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897 #define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898 #define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898 #define GL_INDEX_ARRAY_BUFFER_BINDING 0x8899 #define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899 #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A #define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B #define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C #define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D #define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D #define GL_WEIGHT_ARRAY_BUFFER_BINDING 0x889E #define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F #define GL_PROGRAM_INSTRUCTIONS_ARB 0x88A0 #define GL_MAX_PROGRAM_INSTRUCTIONS_ARB 0x88A1 #define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2 #define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3 #define GL_PROGRAM_TEMPORARIES_ARB 0x88A4 #define GL_MAX_PROGRAM_TEMPORARIES_ARB 0x88A5 #define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6 #define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7 #define GL_PROGRAM_PARAMETERS_ARB 0x88A8 #define GL_MAX_PROGRAM_PARAMETERS_ARB 0x88A9 #define GL_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AA #define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB #define GL_PROGRAM_ATTRIBS_ARB 0x88AC #define GL_MAX_PROGRAM_ATTRIBS_ARB 0x88AD #define GL_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AE #define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF #define GL_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B0 #define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1 #define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2 #define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3 #define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4 #define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5 #define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6 #define GL_TRANSPOSE_CURRENT_MATRIX_ARB 0x88B7 #define GL_READ_ONLY 0x88B8 #define GL_READ_ONLY_ARB 0x88B8 #define GL_WRITE_ONLY 0x88B9 #define GL_WRITE_ONLY_ARB 0x88B9 #define GL_READ_WRITE 0x88BA #define GL_READ_WRITE_ARB 0x88BA #define GL_BUFFER_ACCESS 0x88BB #define GL_BUFFER_ACCESS_ARB 0x88BB #define GL_BUFFER_MAPPED 0x88BC #define GL_BUFFER_MAPPED_ARB 0x88BC #define GL_BUFFER_MAP_POINTER 0x88BD #define GL_BUFFER_MAP_POINTER_ARB 0x88BD #define GL_MATRIX0_ARB 0x88C0 #define GL_MATRIX1_ARB 0x88C1 #define GL_MATRIX2_ARB 0x88C2 #define GL_MATRIX3_ARB 0x88C3 #define GL_MATRIX4_ARB 0x88C4 #define GL_MATRIX5_ARB 0x88C5 #define GL_MATRIX6_ARB 0x88C6 #define GL_MATRIX7_ARB 0x88C7 #define GL_MATRIX8_ARB 0x88C8 #define GL_MATRIX9_ARB 0x88C9 #define GL_MATRIX10_ARB 0x88CA #define GL_MATRIX11_ARB 0x88CB #define GL_MATRIX12_ARB 0x88CC #define GL_MATRIX13_ARB 0x88CD #define GL_MATRIX14_ARB 0x88CE #define GL_MATRIX15_ARB 0x88CF #define GL_MATRIX16_ARB 0x88D0 #define GL_MATRIX17_ARB 0x88D1 #define GL_MATRIX18_ARB 0x88D2 #define GL_MATRIX19_ARB 0x88D3 #define GL_MATRIX20_ARB 0x88D4 #define GL_MATRIX21_ARB 0x88D5 #define GL_MATRIX22_ARB 0x88D6 #define GL_MATRIX23_ARB 0x88D7 #define GL_MATRIX24_ARB 0x88D8 #define GL_MATRIX25_ARB 0x88D9 #define GL_MATRIX26_ARB 0x88DA #define GL_MATRIX27_ARB 0x88DB #define GL_MATRIX28_ARB 0x88DC #define GL_MATRIX29_ARB 0x88DD #define GL_MATRIX30_ARB 0x88DE #define GL_MATRIX31_ARB 0x88DF #define GL_STREAM_DRAW 0x88E0 #define GL_STREAM_DRAW_ARB 0x88E0 #define GL_STREAM_READ 0x88E1 #define GL_STREAM_READ_ARB 0x88E1 #define GL_STREAM_COPY 0x88E2 #define GL_STREAM_COPY_ARB 0x88E2 #define GL_STATIC_DRAW 0x88E4 #define GL_STATIC_DRAW_ARB 0x88E4 #define GL_STATIC_READ 0x88E5 #define GL_STATIC_READ_ARB 0x88E5 #define GL_STATIC_COPY 0x88E6 #define GL_STATIC_COPY_ARB 0x88E6 #define GL_DYNAMIC_DRAW 0x88E8 #define GL_DYNAMIC_DRAW_ARB 0x88E8 #define GL_DYNAMIC_READ 0x88E9 #define GL_DYNAMIC_READ_ARB 0x88E9 #define GL_DYNAMIC_COPY 0x88EA #define GL_DYNAMIC_COPY_ARB 0x88EA #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB #define GL_PIXEL_PACK_BUFFER_EXT 0x88EB #define GL_PIXEL_UNPACK_BUFFER_ARB 0x88EC #define GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC #define GL_PIXEL_PACK_BUFFER_BINDING_ARB 0x88ED #define GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED #define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF #define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF #define GL_STENCIL_TEST_TWO_SIDE_EXT 0x8910 #define GL_ACTIVE_STENCIL_FACE_EXT 0x8911 #define GL_MIRROR_CLAMP_TO_BORDER_EXT 0x8912 #define GL_SAMPLES_PASSED 0x8914 #define GL_SAMPLES_PASSED_ARB 0x8914 #define GL_CLAMP_VERTEX_COLOR_ARB 0x891A #define GL_CLAMP_FRAGMENT_COLOR_ARB 0x891B #define GL_CLAMP_READ_COLOR_ARB 0x891C #define GL_FIXED_ONLY_ARB 0x891D #define GL_FRAGMENT_SHADER_ATI 0x8920 #define GL_REG_0_ATI 0x8921 #define GL_REG_1_ATI 0x8922 #define GL_REG_2_ATI 0x8923 #define GL_REG_3_ATI 0x8924 #define GL_REG_4_ATI 0x8925 #define GL_REG_5_ATI 0x8926 #define GL_REG_6_ATI 0x8927 #define GL_REG_7_ATI 0x8928 #define GL_REG_8_ATI 0x8929 #define GL_REG_9_ATI 0x892A #define GL_REG_10_ATI 0x892B #define GL_REG_11_ATI 0x892C #define GL_REG_12_ATI 0x892D #define GL_REG_13_ATI 0x892E #define GL_REG_14_ATI 0x892F #define GL_REG_15_ATI 0x8930 #define GL_REG_16_ATI 0x8931 #define GL_REG_17_ATI 0x8932 #define GL_REG_18_ATI 0x8933 #define GL_REG_19_ATI 0x8934 #define GL_REG_20_ATI 0x8935 #define GL_REG_21_ATI 0x8936 #define GL_REG_22_ATI 0x8937 #define GL_REG_23_ATI 0x8938 #define GL_REG_24_ATI 0x8939 #define GL_REG_25_ATI 0x893A #define GL_REG_26_ATI 0x893B #define GL_REG_27_ATI 0x893C #define GL_REG_28_ATI 0x893D #define GL_REG_29_ATI 0x893E #define GL_REG_30_ATI 0x893F #define GL_REG_31_ATI 0x8940 #define GL_CON_0_ATI 0x8941 #define GL_CON_1_ATI 0x8942 #define GL_CON_2_ATI 0x8943 #define GL_CON_3_ATI 0x8944 #define GL_CON_4_ATI 0x8945 #define GL_CON_5_ATI 0x8946 #define GL_CON_6_ATI 0x8947 #define GL_CON_7_ATI 0x8948 #define GL_CON_8_ATI 0x8949 #define GL_CON_9_ATI 0x894A #define GL_CON_10_ATI 0x894B #define GL_CON_11_ATI 0x894C #define GL_CON_12_ATI 0x894D #define GL_CON_13_ATI 0x894E #define GL_CON_14_ATI 0x894F #define GL_CON_15_ATI 0x8950 #define GL_CON_16_ATI 0x8951 #define GL_CON_17_ATI 0x8952 #define GL_CON_18_ATI 0x8953 #define GL_CON_19_ATI 0x8954 #define GL_CON_20_ATI 0x8955 #define GL_CON_21_ATI 0x8956 #define GL_CON_22_ATI 0x8957 #define GL_CON_23_ATI 0x8958 #define GL_CON_24_ATI 0x8959 #define GL_CON_25_ATI 0x895A #define GL_CON_26_ATI 0x895B #define GL_CON_27_ATI 0x895C #define GL_CON_28_ATI 0x895D #define GL_CON_29_ATI 0x895E #define GL_CON_30_ATI 0x895F #define GL_CON_31_ATI 0x8960 #define GL_MOV_ATI 0x8961 #define GL_ADD_ATI 0x8963 #define GL_MUL_ATI 0x8964 #define GL_SUB_ATI 0x8965 #define GL_DOT3_ATI 0x8966 #define GL_DOT4_ATI 0x8967 #define GL_MAD_ATI 0x8968 #define GL_LERP_ATI 0x8969 #define GL_CND_ATI 0x896A #define GL_CND0_ATI 0x896B #define GL_DOT2_ADD_ATI 0x896C #define GL_SECONDARY_INTERPOLATOR_ATI 0x896D #define GL_NUM_FRAGMENT_REGISTERS_ATI 0x896E #define GL_NUM_FRAGMENT_CONSTANTS_ATI 0x896F #define GL_NUM_PASSES_ATI 0x8970 #define GL_NUM_INSTRUCTIONS_PER_PASS_ATI 0x8971 #define GL_NUM_INSTRUCTIONS_TOTAL_ATI 0x8972 #define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973 #define GL_NUM_LOOPBACK_COMPONENTS_ATI 0x8974 #define GL_COLOR_ALPHA_PAIRING_ATI 0x8975 #define GL_SWIZZLE_STR_ATI 0x8976 #define GL_SWIZZLE_STQ_ATI 0x8977 #define GL_SWIZZLE_STR_DR_ATI 0x8978 #define GL_SWIZZLE_STQ_DQ_ATI 0x8979 #define GL_SWIZZLE_STRQ_ATI 0x897A #define GL_SWIZZLE_STRQ_DQ_ATI 0x897B #define GL_FRAGMENT_SHADER 0x8B30 #define GL_FRAGMENT_SHADER_ARB 0x8B30 #define GL_VERTEX_SHADER 0x8B31 #define GL_VERTEX_SHADER_ARB 0x8B31 #define GL_PROGRAM_OBJECT_ARB 0x8B40 #define GL_SHADER_OBJECT_ARB 0x8B48 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49 #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49 #define GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A #define GL_MAX_VARYING_FLOATS 0x8B4B #define GL_MAX_VARYING_FLOATS_ARB 0x8B4B #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D #define GL_OBJECT_TYPE_ARB 0x8B4E #define GL_OBJECT_SUBTYPE_ARB 0x8B4F #define GL_SHADER_TYPE 0x8B4F #define GL_FLOAT_VEC2 0x8B50 #define GL_FLOAT_VEC2_ARB 0x8B50 #define GL_FLOAT_VEC3 0x8B51 #define GL_FLOAT_VEC3_ARB 0x8B51 #define GL_FLOAT_VEC4 0x8B52 #define GL_FLOAT_VEC4_ARB 0x8B52 #define GL_INT_VEC2 0x8B53 #define GL_INT_VEC2_ARB 0x8B53 #define GL_INT_VEC3 0x8B54 #define GL_INT_VEC3_ARB 0x8B54 #define GL_INT_VEC4 0x8B55 #define GL_INT_VEC4_ARB 0x8B55 #define GL_BOOL 0x8B56 #define GL_BOOL_ARB 0x8B56 #define GL_BOOL_VEC2 0x8B57 #define GL_BOOL_VEC2_ARB 0x8B57 #define GL_BOOL_VEC3 0x8B58 #define GL_BOOL_VEC3_ARB 0x8B58 #define GL_BOOL_VEC4 0x8B59 #define GL_BOOL_VEC4_ARB 0x8B59 #define GL_FLOAT_MAT2 0x8B5A #define GL_FLOAT_MAT2_ARB 0x8B5A #define GL_FLOAT_MAT3 0x8B5B #define GL_FLOAT_MAT3_ARB 0x8B5B #define GL_FLOAT_MAT4 0x8B5C #define GL_FLOAT_MAT4_ARB 0x8B5C #define GL_SAMPLER_1D 0x8B5D #define GL_SAMPLER_1D_ARB 0x8B5D #define GL_SAMPLER_2D 0x8B5E #define GL_SAMPLER_2D_ARB 0x8B5E #define GL_SAMPLER_3D 0x8B5F #define GL_SAMPLER_3D_ARB 0x8B5F #define GL_SAMPLER_CUBE 0x8B60 #define GL_SAMPLER_CUBE_ARB 0x8B60 #define GL_SAMPLER_1D_SHADOW 0x8B61 #define GL_SAMPLER_1D_SHADOW_ARB 0x8B61 #define GL_SAMPLER_2D_SHADOW 0x8B62 #define GL_SAMPLER_2D_SHADOW_ARB 0x8B62 #define GL_SAMPLER_2D_RECT_ARB 0x8B63 #define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64 #define GL_DELETE_STATUS 0x8B80 #define GL_OBJECT_DELETE_STATUS_ARB 0x8B80 #define GL_COMPILE_STATUS 0x8B81 #define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81 #define GL_LINK_STATUS 0x8B82 #define GL_OBJECT_LINK_STATUS_ARB 0x8B82 #define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83 #define GL_VALIDATE_STATUS 0x8B83 #define GL_INFO_LOG_LENGTH 0x8B84 #define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84 #define GL_ATTACHED_SHADERS 0x8B85 #define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85 #define GL_ACTIVE_UNIFORMS 0x8B86 #define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86 #define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87 #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88 #define GL_SHADER_SOURCE_LENGTH 0x8B88 #define GL_ACTIVE_ATTRIBUTES 0x8B89 #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB 0x8B89 #define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B #define GL_SHADING_LANGUAGE_VERSION 0x8B8C #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C #define GL_CURRENT_PROGRAM 0x8B8D #define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A #define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B #define GL_TEXTURE_RED_TYPE_ARB 0x8C10 #define GL_TEXTURE_GREEN_TYPE_ARB 0x8C11 #define GL_TEXTURE_BLUE_TYPE_ARB 0x8C12 #define GL_TEXTURE_ALPHA_TYPE_ARB 0x8C13 #define GL_TEXTURE_LUMINANCE_TYPE_ARB 0x8C14 #define GL_TEXTURE_INTENSITY_TYPE_ARB 0x8C15 #define GL_TEXTURE_DEPTH_TYPE_ARB 0x8C16 #define GL_UNSIGNED_NORMALIZED_ARB 0x8C17 #define GL_POINT_SPRITE_COORD_ORIGIN 0x8CA0 #define GL_LOWER_LEFT 0x8CA1 #define GL_UPPER_LEFT 0x8CA2 #define GL_STENCIL_BACK_REF 0x8CA3 #define GL_STENCIL_BACK_VALUE_MASK 0x8CA4 #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 #define GL_FRAMEBUFFER_BINDING_EXT 0x8CA6 #define GL_RENDERBUFFER_BINDING_EXT 0x8CA7 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0 #define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4 #define GL_FRAMEBUFFER_COMPLETE_EXT 0x8CD5 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9 #define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC #define GL_FRAMEBUFFER_UNSUPPORTED_EXT 0x8CDD #define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF #define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 #define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 #define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 #define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 #define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 #define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 #define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 #define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 #define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 #define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 #define GL_COLOR_ATTACHMENT10_EXT 0x8CEA #define GL_COLOR_ATTACHMENT11_EXT 0x8CEB #define GL_COLOR_ATTACHMENT12_EXT 0x8CEC #define GL_COLOR_ATTACHMENT13_EXT 0x8CED #define GL_COLOR_ATTACHMENT14_EXT 0x8CEE #define GL_COLOR_ATTACHMENT15_EXT 0x8CEF #define GL_DEPTH_ATTACHMENT_EXT 0x8D00 #define GL_STENCIL_ATTACHMENT_EXT 0x8D20 #define GL_FRAMEBUFFER_EXT 0x8D40 #define GL_RENDERBUFFER_EXT 0x8D41 #define GL_RENDERBUFFER_WIDTH_EXT 0x8D42 #define GL_RENDERBUFFER_HEIGHT_EXT 0x8D43 #define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44 #define GL_STENCIL_INDEX1_EXT 0x8D46 #define GL_STENCIL_INDEX4_EXT 0x8D47 #define GL_STENCIL_INDEX8_EXT 0x8D48 #define GL_STENCIL_INDEX16_EXT 0x8D49 #define GL_RENDERBUFFER_RED_SIZE_EXT 0x8D50 #define GL_RENDERBUFFER_GREEN_SIZE_EXT 0x8D51 #define GL_RENDERBUFFER_BLUE_SIZE_EXT 0x8D52 #define GL_RENDERBUFFER_ALPHA_SIZE_EXT 0x8D53 #define GL_RENDERBUFFER_DEPTH_SIZE_EXT 0x8D54 #define GL_RENDERBUFFER_STENCIL_SIZE_EXT 0x8D55 #define GL_3DFX_multisample 1 #define GL_3DFX_tbuffer 1 #define GL_3DFX_texture_compression_FXT1 1 #define GL_ARB_color_buffer_float 1 #define GL_ARB_depth_texture 1 #define GL_ARB_draw_buffers 1 #define GL_ARB_fragment_program 1 #define GL_ARB_fragment_program_shadow 1 #define GL_ARB_fragment_shader 1 #define GL_ARB_half_float_pixel 1 #define GL_ARB_matrix_palette 1 #define GL_ARB_multisample 1 #define GL_ARB_occlusion_query 1 #define GL_ARB_pixel_buffer_object 1 #define GL_ARB_point_parameters 1 #define GL_ARB_point_sprite 1 #define GL_ARB_shader_objects 1 #define GL_ARB_shading_language_100 1 #define GL_ARB_shadow 1 #define GL_ARB_shadow_ambient 1 #define GL_ARB_texture_border_clamp 1 #define GL_ARB_texture_compression 1 #define GL_ARB_texture_cube_map 1 #define GL_ARB_texture_env_add 1 #define GL_ARB_texture_env_combine 1 #define GL_ARB_texture_env_crossbar 1 #define GL_ARB_texture_env_dot3 1 #define GL_ARB_texture_float 1 #define GL_ARB_texture_mirrored_repeat 1 #define GL_ARB_texture_non_power_of_two 1 #define GL_ARB_texture_rectangle 1 #define GL_ARB_transpose_matrix 1 #define GL_ARB_vertex_blend 1 #define GL_ARB_vertex_buffer_object 1 #define GL_ARB_vertex_program 1 #define GL_ARB_vertex_shader 1 #define GL_ARB_window_pos 1 #define GL_ATI_draw_buffers 1 #define GL_ATI_element_array 1 #define GL_ATI_envmap_bumpmap 1 #define GL_ATI_fragment_shader 1 #define GL_ATI_map_object_buffer 1 #define GL_ATI_pixel_format_float 1 #define GL_ATI_pn_triangles 1 #define GL_ATI_separate_stencil 1 #define GL_ATI_text_fragment_shader 1 #define GL_ATI_texture_env_combine3 1 #define GL_ATI_texture_float 1 #define GL_ATI_texture_mirror_once 1 #define GL_ATI_vertex_array_object 1 #define GL_ATI_vertex_attrib_array_object 1 #define GL_ATI_vertex_streams 1 #define GL_EXT_422_pixels 1 #define GL_EXT_abgr 1 #define GL_EXT_bgra 1 #define GL_EXT_blend_color 1 #define GL_EXT_blend_equation_separate 1 #define GL_EXT_blend_func_separate 1 #define GL_EXT_blend_logic_op 1 #define GL_EXT_blend_minmax 1 #define GL_EXT_blend_subtract 1 #define GL_EXT_clip_volume_hint 1 #define GL_EXT_cmyka 1 #define GL_EXT_color_subtable 1 #define GL_EXT_compiled_vertex_array 1 #define GL_EXT_convolution 1 #define GL_EXT_coordinate_frame 1 #define GL_EXT_copy_texture 1 #define GL_EXT_cull_vertex 1 #define GL_EXT_depth_bounds_test 1 #define GL_EXT_draw_range_elements 1 #define GL_EXT_fog_coord 1 #define GL_EXT_framebuffer_object 1 #define GL_EXT_histogram 1 #define GL_EXT_index_array_formats 1 #define GL_EXT_index_func 1 #define GL_EXT_index_material 1 #define GL_EXT_index_texture 1 #define GL_EXT_light_texture 1 #define GL_EXT_misc_attribute 1 #define GL_EXT_multi_draw_arrays 1 #define GL_EXT_multisample 1 #define GL_EXT_packed_pixels 1 #define GL_EXT_paletted_texture 1 #define GL_EXT_pixel_buffer_object 1 #define GL_EXT_pixel_transform 1 #define GL_EXT_pixel_transform_color_table 1 #define GL_EXT_point_parameters 1 #define GL_EXT_polygon_offset 1 #define GL_EXT_rescale_normal 1 #define GL_EXT_secondary_color 1 #define GL_EXT_separate_specular_color 1 #define GL_EXT_shadow_funcs 1 #define GL_EXT_shared_texture_palette 1 #define GL_EXT_stencil_two_side 1 #define GL_EXT_stencil_wrap 1 #define GL_EXT_subtexture 1 #define GL_EXT_texture 1 #define GL_EXT_texture3D 1 #define GL_EXT_texture_env_add 1 #define GL_EXT_texture_env_combine 1 #define GL_EXT_texture_env_dot3 1 #define GL_EXT_texture_filter_anisotropic 1 #define GL_EXT_texture_lod_bias 1 #define GL_EXT_texture_mirror_clamp 1 #define GL_EXT_texture_object 1 #define GL_EXT_texture_perturb_normal 1 #define GL_EXT_vertex_array 1 #define GL_EXT_vertex_shader 1 #define GL_EXT_vertex_weighting 1 #define GL_GREMEDY_string_marker 1 #define GL_HP_convolution_border_modes 1 #define GL_HP_image_transform 1 #define GL_HP_occlusion_test 1 #define GL_HP_texture_lighting 1 #define GL_IBM_cull_vertex 1 #define GL_IBM_multimode_draw_arrays 1 #define GL_IBM_rasterpos_clip 1 #define GL_IBM_vertex_array_lists 1 #define GL_INGR_blend_func_separate 1 #define GL_INGR_color_clamp 1 #define GL_INGR_interlace_read 1 #define GL_INTEL_parallel_arrays 1 #define GL_OES_read_format 1 #define GL_PGI_misc_hints 1 #define GL_PGI_vertex_hints 1 #define GL_REND_screen_coordinates 1 #define GL_S3_s3tc 1 #define GL_SUNX_constant_data 1 #define GL_SUN_convolution_border_modes 1 #define GL_SUN_global_alpha 1 #define GL_SUN_mesh_array 1 #define GL_SUN_slice_accum 1 #define GL_SUN_triangle_list 1 #define GL_SUN_vertex 1 #define GL_VERSION_1_4 1 #define GL_VERSION_1_5 1 #define GL_VERSION_2_0 1 #define GL_WIN_phong_shading 1 #define GL_WIN_specular_fog 1 #define GL_CULL_VERTEX_IBM 103050 #define GL_VERTEX_ARRAY_LIST_IBM 103070 #define GL_NORMAL_ARRAY_LIST_IBM 103071 #define GL_COLOR_ARRAY_LIST_IBM 103072 #define GL_INDEX_ARRAY_LIST_IBM 103073 #define GL_TEXTURE_COORD_ARRAY_LIST_IBM 103074 #define GL_EDGE_FLAG_ARRAY_LIST_IBM 103075 #define GL_FOG_COORDINATE_ARRAY_LIST_IBM 103076 #define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077 #define GL_VERTEX_ARRAY_LIST_STRIDE_IBM 103080 #define GL_NORMAL_ARRAY_LIST_STRIDE_IBM 103081 #define GL_COLOR_ARRAY_LIST_STRIDE_IBM 103082 #define GL_INDEX_ARRAY_LIST_STRIDE_IBM 103083 #define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084 #define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085 #define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086 #define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087 #define GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION #define GL_BLEND_EQUATION_RGB_EXT GL_BLEND_EQUATION #define GL_CURRENT_FOG_COORD GL_CURRENT_FOG_COORDINATE #define GL_FOG_COORD GL_FOG_COORDINATE #define GL_FOG_COORD_ARRAY GL_FOG_COORDINATE_ARRAY #define GL_FOG_COORD_ARRAY_POINTER GL_FOG_COORDINATE_ARRAY_POINTER #define GL_FOG_COORD_ARRAY_STRIDE GL_FOG_COORDINATE_ARRAY_STRIDE #define GL_FOG_COORD_ARRAY_TYPE GL_FOG_COORDINATE_ARRAY_TYPE #define GL_FOG_COORD_SRC GL_FOG_COORDINATE_SOURCE #define GL_READ_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING_EXT #define GL_MODELVIEW0_EXT GL_MODELVIEW #define GL_MODELVIEW0_MATRIX_EXT GL_MODELVIEW_MATRIX #define GL_MODELVIEW0_STACK_DEPTH_EXT GL_MODELVIEW_STACK_DEPTH #define GL_SRC0_ALPHA GL_SOURCE0_ALPHA #define GL_SRC0_RGB GL_SOURCE0_RGB #define GL_SRC1_ALPHA GL_SOURCE1_ALPHA #define GL_SRC1_RGB GL_SOURCE1_RGB #define GL_SRC2_ALPHA GL_SOURCE2_ALPHA #define GL_SRC2_RGB GL_SOURCE2_RGB typedef unsigned int GLhandleARB; typedef long int GLintptr; typedef char GLchar; typedef char GLcharARB; typedef ptrdiff_t GLsizeiptr; typedef ptrdiff_t GLsizeiptrARB; typedef long int GLintptrARB; |
#define GLX_EXTENSION_NAME "GLX"
#define GLX_FRONT_LEFT_BUFFER_BIT 0x00000001
#define GLX_RGBA_BIT 0x00000001
#define GLX_WINDOW_BIT 0x00000001
#define GLX_COLOR_INDEX_BIT 0x00000002
#define GLX_FRONT_RIGHT_BUFFER_BIT 0x00000002
#define GLX_PIXMAP_BIT 0x00000002
#define GLX_BACK_LEFT_BUFFER_BIT 0x00000004
#define GLX_PBUFFER_BIT 0x00000004
#define GLX_BACK_RIGHT_BUFFER_BIT 0x00000008
#define GLX_AUX_BUFFERS_BIT 0x00000010
#define GLX_DEPTH_BUFFER_BIT 0x00000020
#define GLX_STENCIL_BUFFER_BIT 0x00000040
#define GLX_ACCUM_BUFFER_BIT 0x00000080
#define GLX_PBUFFER_CLOBBER_MASK 0x08000000
#define GLX_SAMPLE_BUFFERS 0x186a0
#define GLX_SAMPLES 0x186a1
#define GLX_CONFIG_CAVEAT 0x20
#define GLX_X_VISUAL_TYPE 0x22
#define GLX_TRANSPARENT_TYPE 0x23
#define GLX_TRANSPARENT_INDEX_VALUE 0x24
#define GLX_TRANSPARENT_RED_VALUE 0x25
#define GLX_TRANSPARENT_GREEN_VALUE 0x26
#define GLX_TRANSPARENT_BLUE_VALUE 0x27
#define GLX_TRANSPARENT_ALPHA_VALUE 0x28
#define GLX_NONE 0x8000
#define GLX_SLOW_CONFIG 0x8001
#define GLX_TRUE_COLOR 0x8002
#define GLX_DIRECT_COLOR 0x8003
#define GLX_PSEUDO_COLOR 0x8004
#define GLX_STATIC_COLOR 0x8005
#define GLX_GRAY_SCALE 0x8006
#define GLX_STATIC_GRAY 0x8007
#define GLX_TRANSPARENT_RGB 0x8008
#define GLX_TRANSPARENT_INDEX 0x8009
#define GLX_VISUAL_ID 0x800B
#define GLX_SCREEN 0x800C
#define GLX_NON_CONFORMANT_CONFIG 0x800D
#define GLX_DRAWABLE_TYPE 0x8010
#define GLX_RENDER_TYPE 0x8011
#define GLX_X_RENDERABLE 0x8012
#define GLX_FBCONFIG_ID 0x8013
#define GLX_RGBA_TYPE 0x8014
#define GLX_COLOR_INDEX_TYPE 0x8015
#define GLX_MAX_PBUFFER_WIDTH 0x8016
#define GLX_MAX_PBUFFER_HEIGHT 0x8017
#define GLX_MAX_PBUFFER_PIXELS 0x8018
#define GLX_PRESERVED_CONTENTS 0x801B
#define GLX_LARGEST_PBUFFER 0x801C
#define GLX_WIDTH 0x801D
#define GLX_HEIGHT 0x801E
#define GLX_EVENT_MASK 0x801F
#define GLX_DAMAGED 0x8020
#define GLX_SAVED 0x8021
#define GLX_WINDOW 0x8022
#define GLX_PBUFFER 0x8023
#define GLX_PBUFFER_HEIGHT 0x8040
#define GLX_PBUFFER_WIDTH 0x8041
#define GLX_DONT_CARE 0xFFFFFFFF
#define GLX_ARB_get_proc_address 1
#define GLX_ARB_render_texture 1
#define GLX_BAD_SCREEN 1
#define GLX_EXT_texture_from_pixmap 1
#define GLX_USE_GL 1
#define GLX_VENDOR 1
#define GLX_VERSION_1_1 1
#define GLX_VERSION_1_2 1
#define GLX_VERSION_1_3 1
#define GLX_VERSION_1_4 1
#define GLX_BLUE_SIZE 10
#define GLX_ALPHA_SIZE 11
#define GLX_DEPTH_SIZE 12
#define GLX_STENCIL_SIZE 13
#define GLX_ACCUM_RED_SIZE 14
#define GLX_ACCUM_GREEN_SIZE 15
#define GLX_ACCUM_BLUE_SIZE 16
#define GLX_ACCUM_ALPHA_SIZE 17
#define GLX_BAD_ATTRIBUTE 2
#define GLX_BUFFER_SIZE 2
#define GLX_VERSION 2
#define GLX_EXTENSIONS 3
#define GLX_LEVEL 3
#define GLX_NO_EXTENSION 3
#define GLX_BAD_VISUAL 4
#define GLX_RGBA 4
#define GLX_BAD_CONTEXT 5
#define GLX_DOUBLEBUFFER 5
#define GLX_BAD_VALUE 6
#define GLX_GLXEXT_VERSION 6
#define GLX_STEREO 6
#define GLX_AUX_BUFFERS 7
#define GLX_BAD_ENUM 7
#define GLX_RED_SIZE 8
#define GLX_GREEN_SIZE 9
typedef struct __GLXcontextRec *GLXContext;
typedef struct __GLXFBConfigRec *GLXFBConfig;
typedef XID GLXDrawable;
typedef union __GLXEvent {
GLXPbufferClobberEvent glxpbufferclobber;
long int pad;
} GLXEvent;
typedef XID GLXContextID;
typedef XID GLXPixmap;
typedef struct {
int event_type;
int draw_type;
unsigned long int serial;
int send_event;
Display *display;
GLXDrawable drawable;
unsigned int buffer_mask;
unsigned int aux_buffer;
int x;
int y;
int width;
int height;
int count;
} GLXPbufferClobberEvent;
typedef XID GLXPbuffer;
typedef XID GLXWindow;
typedef XID GLXFBConfigID;
typedef void (*__GLXextFuncPtr) (void);
extern GLXFBConfig *glXChooseFBConfig(Display * dpy, int screen,
const int *attribList, int *nitems);
extern XVisualInfo *glXChooseVisual(Display * dpy, int screen,
int *attribList);
extern void glXCopyContext(Display * dpy, struct __GLXcontextRec *src,
struct __GLXcontextRec *dst,
long unsigned int mask);
extern GLXContext glXCreateContext(Display * dpy, XVisualInfo * vis,
struct __GLXcontextRec *shareList,
int direct);
extern GLXPixmap glXCreateGLXPixmap(Display * dpy, XVisualInfo * vis,
Pixmap pixmap);
extern GLXContext glXCreateNewContext(Display * dpy,
struct __GLXFBConfigRec *config,
int renderType,
struct __GLXcontextRec *shareList,
int direct);
extern GLXPbuffer glXCreatePbuffer(Display * dpy,
struct __GLXFBConfigRec *config,
const int *attribList);
extern GLXPixmap glXCreatePixmap(Display * dpy,
struct __GLXFBConfigRec *config,
Pixmap pixmap, const int *attribList);
extern GLXWindow glXCreateWindow(Display * dpy,
struct __GLXFBConfigRec *config,
Window win, const int *attribList);
extern void glXDestroyContext(Display * dpy, struct __GLXcontextRec *ctx);
extern void glXDestroyGLXPixmap(Display * dpy, GLXPixmap pix);
extern void glXDestroyPbuffer(Display * dpy, GLXPbuffer pbuf);
extern void glXDestroyPixmap(Display * dpy, GLXPixmap pixmap);
extern void glXDestroyWindow(Display * dpy, GLXWindow window);
extern const char *glXGetClientString(Display * dpy, int name);
extern int glXGetConfig(Display * dpy, XVisualInfo * vis, int attrib,
int *value);
extern GLXContext glXGetCurrentContext(void);
extern Display *glXGetCurrentDisplay(void);
extern GLXDrawable glXGetCurrentDrawable(void);
extern GLXDrawable glXGetCurrentReadDrawable(void);
extern int glXGetFBConfigAttrib(Display * dpy, GLXFBConfig config,
int attribute, int *value);
extern GLXFBConfig *glXGetFBConfigs(Display * dpy, int screen,
int *nelements);
extern void glXGetSelectedEvent(Display * dpy, GLXDrawable drawable,
unsigned long int *mask);
extern XVisualInfo *glXGetVisualFromFBConfig(Display * dpy,
GLXFBConfig config);
extern int glXIsDirect(Display * dpy, struct __GLXcontextRec *ctx);
extern int glXMakeContextCurrent(Display * dpy, GLXDrawable draw,
GLXDrawable read, GLXContext ctx);
extern int glXMakeCurrent(Display * dpy, GLXDrawable drawable,
struct __GLXcontextRec *ctx);
extern int glXQueryContext(Display * dpy, GLXContext ctx, int attribute,
int *value);
extern void glXQueryDrawable(Display * dpy, GLXDrawable draw,
int attribute, unsigned int *value);
extern int glXQueryExtension(Display * dpy, int *errorBase,
int *eventBase);
extern const char *glXQueryExtensionsString(Display * dpy, int screen);
extern const char *glXQueryServerString(Display * dpy, int screen,
int name);
extern int glXQueryVersion(Display * dpy, int *major, int *minor);
extern void glXSelectEvent(Display * dpy, GLXDrawable drawable,
long unsigned int mask);
extern void glXSwapBuffers(Display * dpy, GLXDrawable drawable);
extern void glXUseXFont(Font font, int first, int count, int listBase);
extern void glXWaitGL(void);
extern void glXWaitX(void); |
#define GLX_VISUAL_CAVEAT_EXT 0x20 #define GLX_X_VISUAL_TYPE_EXT 0x22 #define GLX_TRANSPARENT_TYPE_EXT 0x23 #define GLX_TRANSPARENT_INDEX_VALUE_EXT 0x24 #define GLX_TRANSPARENT_RED_VALUE_EXT 0x25 #define GLX_TRANSPARENT_GREEN_VALUE_EXT 0x26 #define GLX_TRANSPARENT_BLUE_VALUE_EXT 0x27 #define GLX_TRANSPARENT_ALPHA_VALUE_EXT 0x28 #define GLX_NONE_EXT 0x8000 #define GLX_SLOW_VISUAL_EXT 0x8001 #define GLX_TRUE_COLOR_EXT 0x8002 #define GLX_DIRECT_COLOR_EXT 0x8003 #define GLX_PSEUDO_COLOR_EXT 0x8004 #define GLX_STATIC_COLOR_EXT 0x8005 #define GLX_GRAY_SCALE_EXT 0x8006 #define GLX_STATIC_GRAY_EXT 0x8007 #define GLX_TRANSPARENT_RGB_EXT 0x8008 #define GLX_TRANSPARENT_INDEX_EXT 0x8009 #define GLX_SHARE_CONTEXT_EXT 0x800A #define GLX_VISUAL_ID_EXT 0x800B #define GLX_SCREEN_EXT 0x800C #define GLX_NON_CONFORMANT_VISUAL_EXT 0x800D #define GLX_SAMPLE_BUFFERS_3DFX 0x8050 #define GLX_SAMPLES_3DFX 0x8051 #define GLX_ARB_multisample 1 #define GLX_EXT_import_context 1 #define GLX_EXT_visual_info 1 #define GLX_EXT_visual_rating 1 #define GLX_SUN_get_transparent_index 1 #define GLX_SAMPLE_BUFFERS_ARB 100000 #define GLX_SAMPLES_ARB 100001 extern void glXFreeContextEXT(Display *, GLXContext); extern GLXContextID glXGetContextIDEXT(GLXContext); extern __GLXextFuncPtr glXGetProcAddressARB(const GLubyte * procName); extern GLXContext glXImportContextEXT(Display *, GLXContextID); extern int glXQueryContextInfoEXT(Display *, GLXContext, int, int *); |
Table 7-4 defines the library name and shared object name for the libGLU library
The behavior of the interfaces in this library is specified by the following specifications:
| [GLU] OpenGL Utilities |
An LSB conforming implementation shall provide the generic functions for GL Utilities specified in Table 7-5, with the full mandatory functionality as described in the referenced underlying specification.
Table 7-5. libGLU - GL Utilities Function Interfaces
| gluBeginCurve [GLU] | gluBeginPolygon [GLU] | gluBeginSurface [GLU] | gluBeginTrim [GLU] |
| gluBuild1DMipmapLevels [GLU] | gluBuild1DMipmaps [GLU] | gluBuild2DMipmapLevels [GLU] | gluBuild2DMipmaps [GLU] |
| gluBuild3DMipmapLevels [GLU] | gluBuild3DMipmaps [GLU] | gluCheckExtension [GLU] | gluCylinder [GLU] |
| gluDeleteNurbsRenderer [GLU] | gluDeleteQuadric [GLU] | gluDeleteTess [GLU] | gluDisk [GLU] |
| gluEndCurve [GLU] | gluEndPolygon [GLU] | gluEndSurface [GLU] | gluEndTrim [GLU] |
| gluErrorString [GLU] | gluGetNurbsProperty [GLU] | gluGetString [GLU] | gluGetTessProperty [GLU] |
| gluLoadSamplingMatrices [GLU] | gluLookAt [GLU] | gluNewNurbsRenderer [GLU] | gluNewQuadric [GLU] |
| gluNewTess [GLU] | gluNextContour [GLU] | gluNurbsCallback [GLU] | gluNurbsCallbackData [GLU] |
| gluNurbsCallbackDataEXT [GLU] | gluNurbsCurve [GLU] | gluNurbsProperty [GLU] | gluNurbsSurface [GLU] |
| gluOrtho2D [GLU] | gluPartialDisk [GLU] | gluPerspective [GLU] | gluPickMatrix [GLU] |
| gluProject [GLU] | gluPwlCurve [GLU] | gluQuadricCallback [GLU] | gluQuadricDrawStyle [GLU] |
| gluQuadricNormals [GLU] | gluQuadricOrientation [GLU] | gluQuadricTexture [GLU] | gluScaleImage [GLU] |
| gluSphere [GLU] | gluTessBeginContour [GLU] | gluTessBeginPolygon [GLU] | gluTessCallback [GLU] |
| gluTessEndContour [GLU] | gluTessEndPolygon [GLU] | gluTessNormal [GLU] | gluTessProperty [GLU] |
| gluTessVertex [GLU] | gluUnProject [GLU] | gluUnProject4 [GLU] |
This section defines global identifiers and their values that are associated with interfaces contained in libGLU. 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.
#define GLU_FALSE 0 #define GLU_EXT_nurbs_tessellator 1 #define GLU_EXT_object_space_tess 1 #define GLU_TRUE 1 #define GLU_VERSION_1_1 1 #define GLU_VERSION_1_2 1 #define GLU_VERSION_1_3 1 #define GLU_TESS_MAX_COORD 1.0e150 #define GLU_SMOOTH 100000 #define GLU_FLAT 100001 #define GLU_NONE 100002 #define GLU_POINT 100010 #define GLU_LINE 100011 #define GLU_FILL 100012 #define GLU_SILHOUETTE 100013 #define GLU_OUTSIDE 100020 #define GLU_INSIDE 100021 #define GLU_BEGIN 100100 #define GLU_TESS_BEGIN 100100 #define GLU_TESS_VERTEX 100101 #define GLU_VERTEX 100101 #define GLU_END 100102 #define GLU_TESS_END 100102 #define GLU_ERROR 100103 #define GLU_NURBS_ERROR 100103 #define GLU_TESS_ERROR 100103 #define GLU_EDGE_FLAG 100104 #define GLU_TESS_EDGE_FLAG 100104 #define GLU_TESS_COMBINE 100105 #define GLU_TESS_BEGIN_DATA 100106 #define GLU_TESS_VERTEX_DATA 100107 #define GLU_TESS_END_DATA 100108 #define GLU_TESS_ERROR_DATA 100109 #define GLU_TESS_EDGE_FLAG_DATA 100110 #define GLU_TESS_COMBINE_DATA 100111 #define GLU_CW 100120 #define GLU_CCW 100121 #define GLU_INTERIOR 100122 #define GLU_EXTERIOR 100123 #define GLU_UNKNOWN 100124 #define GLU_TESS_WINDING_ODD 100130 #define GLU_TESS_WINDING_NONZERO 100131 #define GLU_TESS_WINDING_POSITIVE 100132 #define GLU_TESS_WINDING_NEGATIVE 100133 #define GLU_TESS_WINDING_ABS_GEQ_TWO 100134 #define GLU_TESS_WINDING_RULE 100140 #define GLU_TESS_BOUNDARY_ONLY 100141 #define GLU_TESS_TOLERANCE 100142 #define GLU_TESS_ERROR1 100151 #define GLU_TESS_MISSING_BEGIN_POLYGON 100151 #define GLU_TESS_ERROR2 100152 #define GLU_TESS_MISSING_BEGIN_CONTOUR 100152 #define GLU_TESS_ERROR3 100153 #define GLU_TESS_MISSING_END_POLYGON 100153 #define GLU_TESS_ERROR4 100154 #define GLU_TESS_MISSING_END_CONTOUR 100154 #define GLU_TESS_COORD_TOO_LARGE 100155 #define GLU_TESS_ERROR5 100155 #define GLU_TESS_ERROR6 100156 #define GLU_TESS_NEED_COMBINE_CALLBACK 100156 #define GLU_TESS_ERROR7 100157 #define GLU_TESS_ERROR8 100158 #define GLU_NURBS_MODE 100160 #define GLU_NURBS_MODE_EXT 100160 #define GLU_NURBS_TESSELLATOR 100161 #define GLU_NURBS_TESSELLATOR_EXT 100161 #define GLU_NURBS_RENDERER 100162 #define GLU_NURBS_RENDERER_EXT 100162 #define GLU_NURBS_BEGIN 100164 #define GLU_NURBS_BEGIN_EXT 100164 #define GLU_NURBS_VERTEX 100165 #define GLU_NURBS_VERTEX_EXT 100165 #define GLU_NURBS_NORMAL 100166 #define GLU_NURBS_NORMAL_EXT 100166 #define GLU_NURBS_COLOR 100167 #define GLU_NURBS_COLOR_EXT 100167 #define GLU_NURBS_TEXTURE_COORD 100168 #define GLU_NURBS_TEX_COORD_EXT 100168 #define GLU_NURBS_END 100169 #define GLU_NURBS_END_EXT 100169 #define GLU_NURBS_BEGIN_DATA 100170 #define GLU_NURBS_BEGIN_DATA_EXT 100170 #define GLU_NURBS_VERTEX_DATA 100171 #define GLU_NURBS_VERTEX_DATA_EXT 100171 #define GLU_NURBS_NORMAL_DATA 100172 #define GLU_NURBS_NORMAL_DATA_EXT 100172 #define GLU_NURBS_COLOR_DATA 100173 #define GLU_NURBS_COLOR_DATA_EXT 100173 #define GLU_NURBS_TEXTURE_COORD_DATA 100174 #define GLU_NURBS_TEX_COORD_DATA_EXT 100174 #define GLU_NURBS_END_DATA 100175 #define GLU_NURBS_END_DATA_EXT 100175 #define GLU_AUTO_LOAD_MATRIX 100200 #define GLU_CULLING 100201 #define GLU_PARAMETRIC_TOLERANCE 100202 #define GLU_SAMPLING_TOLERANCE 100203 #define GLU_DISPLAY_MODE 100204 #define GLU_SAMPLING_METHOD 100205 #define GLU_U_STEP 100206 #define GLU_V_STEP 100207 #define GLU_OBJECT_PARAMETRIC_ERROR 100208 #define GLU_OBJECT_PARAMETRIC_ERROR_EXT 100208 #define GLU_OBJECT_PATH_LENGTH 100209 #define GLU_OBJECT_PATH_LENGTH_EXT 100209 #define GLU_MAP1_TRIM_2 100210 #define GLU_MAP1_TRIM_3 100211 #define GLU_PATH_LENGTH 100215 #define GLU_PARAMETRIC_ERROR 100216 #define GLU_DOMAIN_DISTANCE 100217 #define GLU_OUTLINE_POLYGON 100240 #define GLU_OUTLINE_PATCH 100241 #define GLU_NURBS_ERROR1 100251 #define GLU_NURBS_ERROR2 100252 #define GLU_NURBS_ERROR3 100253 #define GLU_NURBS_ERROR4 100254 #define GLU_NURBS_ERROR5 100255 #define GLU_NURBS_ERROR6 100256 #define GLU_NURBS_ERROR7 100257 #define GLU_NURBS_ERROR8 100258 #define GLU_NURBS_ERROR9 100259 #define GLU_NURBS_ERROR10 100260 #define GLU_NURBS_ERROR11 100261 #define GLU_NURBS_ERROR12 100262 #define GLU_NURBS_ERROR13 100263 #define GLU_NURBS_ERROR14 100264 #define GLU_NURBS_ERROR15 100265 #define GLU_NURBS_ERROR16 100266 #define GLU_NURBS_ERROR17 100267 #define GLU_NURBS_ERROR18 100268 #define GLU_NURBS_ERROR19 100269 #define GLU_NURBS_ERROR20 100270 #define GLU_NURBS_ERROR21 100271 #define GLU_NURBS_ERROR22 100272 #define GLU_NURBS_ERROR23 100273 #define GLU_NURBS_ERROR24 100274 #define GLU_NURBS_ERROR25 100275 #define GLU_NURBS_ERROR26 100276 #define GLU_NURBS_ERROR27 100277 #define GLU_NURBS_ERROR28 100278 #define GLU_NURBS_ERROR29 100279 #define GLU_NURBS_ERROR30 100280 #define GLU_NURBS_ERROR31 100281 #define GLU_NURBS_ERROR32 100282 #define GLU_NURBS_ERROR33 100283 #define GLU_NURBS_ERROR34 100284 #define GLU_NURBS_ERROR35 100285 #define GLU_NURBS_ERROR36 100286 #define GLU_NURBS_ERROR37 100287 #define GLU_VERSION 100800 #define GLU_EXTENSIONS 100801 #define GLU_INVALID_ENUM 100900 #define GLU_INVALID_VALUE 100901 #define GLU_OUT_OF_MEMORY 100902 #define GLU_INCOMPATIBLE_GL_VERSION 100903 #define GLU_INVALID_OPERATION 100904 typedef void *_GLUfuncptr; typedef struct GLUtesselator GLUtesselatorObj; typedef struct GLUtesselator GLUtriangulatorObj; typedef struct GLUquadric GLUquadricObj; typedef struct GLUnurbs GLUnurbsObj; typedef struct GLUnurbs GLUnurbs; typedef struct GLUquadric GLUquadric; typedef struct GLUtesselator GLUtesselator; extern void gluBeginCurve(GLUnurbs * nurb); extern void gluBeginPolygon(GLUtesselator * tess); extern void gluBeginSurface(GLUnurbs * nurb); extern void gluBeginTrim(GLUnurbs * nurb); extern GLint gluBuild1DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); extern GLint gluBuild1DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLenum format, GLenum type, const void *data); extern GLint gluBuild2DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); extern GLint gluBuild2DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *data); extern GLint gluBuild3DMipmapLevels(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLint level, GLint base, GLint max, const void *data); extern GLint gluBuild3DMipmaps(GLenum target, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); extern GLboolean gluCheckExtension(const GLubyte * extName, const GLubyte * extString); extern void gluCylinder(GLUquadric * quad, GLdouble base, GLdouble top, GLdouble height, GLint slices, GLint stacks); extern void gluDeleteNurbsRenderer(GLUnurbs * nurb); extern void gluDeleteQuadric(GLUquadric * quad); extern void gluDeleteTess(GLUtesselator * tess); extern void gluDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops); extern void gluEndCurve(GLUnurbs * nurb); extern void gluEndPolygon(GLUtesselator * tess); extern void gluEndSurface(GLUnurbs * nurb); extern void gluEndTrim(GLUnurbs * nurb); extern const GLubyte *gluErrorString(GLenum error); extern void gluGetNurbsProperty(GLUnurbs * nurb, GLenum property, GLfloat * data); extern const GLubyte *gluGetString(GLenum name); extern void gluGetTessProperty(GLUtesselator * tess, GLenum which, GLdouble * data); extern void gluLoadSamplingMatrices(GLUnurbs * nurb, const GLfloat * model, const GLfloat * perspective, const GLint * view); extern void gluLookAt(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ); extern GLUnurbs *gluNewNurbsRenderer(void); extern GLUquadric *gluNewQuadric(void); extern GLUtesselator *gluNewTess(void); extern void gluNextContour(GLUtesselator * tess, GLenum type); extern void gluNurbsCallback(GLUnurbs * nurb, GLenum which, _GLUfuncptr CallBackFunc); extern void gluNurbsCallbackData(GLUnurbs * nurb, GLvoid * userData); extern void gluNurbsCallbackDataEXT(GLUnurbs * nurb, GLvoid * userData); extern void gluNurbsCurve(GLUnurbs * nurb, GLint knotCount, GLfloat * knots, GLint stride, GLfloat * control, GLint order, GLenum type); extern void gluNurbsProperty(GLUnurbs * nurb, GLenum property, GLfloat value); extern void gluNurbsSurface(GLUnurbs * nurb, GLint sKnotCount, GLfloat * sKnots, GLint tKnotCount, GLfloat * tKnots, GLint sStride, GLint tStride, GLfloat * control, GLint sOrder, GLint tOrder, GLenum type); extern void gluOrtho2D(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top); extern void gluPartialDisk(GLUquadric * quad, GLdouble inner, GLdouble outer, GLint slices, GLint loops, GLdouble start, GLdouble sweep); extern void gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); extern void gluPickMatrix(GLdouble x, GLdouble y, GLdouble delX, GLdouble delY, GLint * viewport); extern GLint gluProject(GLdouble objX, GLdouble objY, GLdouble objZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * winX, GLdouble * winY, GLdouble * winZ); extern void gluPwlCurve(GLUnurbs * nurb, GLint count, GLfloat * data, GLint stride, GLenum type); extern void gluQuadricCallback(GLUquadric * quad, GLenum which, _GLUfuncptr CallBackFunc); extern void gluQuadricDrawStyle(GLUquadric * quad, GLenum draw); extern void gluQuadricNormals(GLUquadric * quad, GLenum normal); extern void gluQuadricOrientation(GLUquadric * quad, GLenum orientation); extern void gluQuadricTexture(GLUquadric * quad, GLboolean texture); extern GLint gluScaleImage(GLenum format, GLsizei wIn, GLsizei hIn, GLenum typeIn, const void *dataIn, GLsizei wOut, GLsizei hOut, GLenum typeOut, GLvoid * dataOut); extern void gluSphere(GLUquadric * quad, GLdouble radius, GLint slices, GLint stacks); extern void gluTessBeginContour(GLUtesselator * tess); extern void gluTessBeginPolygon(GLUtesselator * tess, GLvoid * data); extern void gluTessCallback(GLUtesselator * tess, GLenum which, _GLUfuncptr CallBackFunc); extern void gluTessEndContour(GLUtesselator * tess); extern void gluTessEndPolygon(GLUtesselator * tess); extern void gluTessNormal(GLUtesselator * tess, GLdouble valueX, GLdouble valueY, GLdouble valueZ); extern void gluTessProperty(GLUtesselator * tess, GLenum which, GLdouble data); extern void gluTessVertex(GLUtesselator * tess, GLdouble * location, GLvoid * data); extern GLint gluUnProject(GLdouble winX, GLdouble winY, GLdouble winZ, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble * objX, GLdouble * objY, GLdouble * objZ); extern GLint gluUnProject4(GLdouble winX, GLdouble winY, GLdouble winZ, GLdouble clipW, const GLdouble * model, const GLdouble * proj, const GLint * view, GLdouble nearVal, GLdouble farVal, GLdouble * objX, GLdouble * objY, GLdouble * objZ, GLdouble * objW); |
Table 8-1 defines the library name and shared object name for the libpng12 library
The behavior of the interfaces in this library is specified by the following specifications:
| [LSB] This Specification |
An LSB conforming implementation shall provide the generic functions for PNG Reference library specified in Table 8-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 8-2. libpng12 - PNG Reference library Function Interfaces
| png_access_version_number [LSB] | png_check_sig [LSB] | png_convert_from_struct_tm [LSB] |
| png_convert_from_time_t [LSB] | png_create_info_struct [LSB] | png_create_read_struct [LSB] |
| png_create_read_struct_2 [LSB] | png_create_write_struct [LSB] | png_create_write_struct_2 [LSB] |
| png_data_freer [LSB] | png_destroy_info_struct [LSB] | png_destroy_read_struct [LSB] |
| png_destroy_write_struct [LSB] | png_error [LSB] | png_free [LSB] |
| png_free_data [LSB] | png_get_IHDR [LSB] | png_get_PLTE [LSB] |
| png_get_bKGD [LSB] | png_get_bit_depth [LSB] | png_get_cHRM [LSB] |
| png_get_channels [LSB] | png_get_color_type [LSB] | png_get_error_ptr [LSB] |
| png_get_gAMA [LSB] | png_get_hIST [LSB] | png_get_header_ver [LSB] |
| png_get_iCCP [LSB] | png_get_image_height [LSB] | png_get_image_width [LSB] |
| png_get_interlace_type [LSB] | png_get_io_ptr [LSB] | png_get_libpng_ver [LSB] |
| png_get_oFFs [LSB] | png_get_pHYs [LSB] | png_get_progressive_ptr [LSB] |
| png_get_rowbytes [LSB] | png_get_rows [LSB] | png_get_sBIT [LSB] |
| png_get_sRGB [LSB] | png_get_tIME [LSB] | png_get_tRNS [LSB] |
| png_get_text [LSB] | png_get_unknown_chunks [LSB] | png_get_user_chunk_ptr [LSB] |
| png_get_valid [LSB] | png_get_x_offset_pixels [LSB] | png_get_x_pixels_per_meter [LSB] |
| png_get_y_offset_pixels [LSB] | png_get_y_pixels_per_meter [LSB] | png_info_init_3 [LSB] |
| png_init_io [LSB] | png_malloc [LSB] | png_permit_mng_features [LSB] |
| png_process_data [LSB] | png_progressive_combine_row [LSB] | png_read_end [LSB] |
| png_read_image [LSB] | png_read_info [LSB] | png_read_png [LSB] |
| png_read_row [LSB] | png_read_rows [LSB] | png_read_update_info [LSB] |
| png_set_IHDR [LSB] | png_set_PLTE [LSB] | png_set_bKGD [LSB] |
| png_set_background [LSB] | png_set_bgr [LSB] | png_set_cHRM [LSB] |
| png_set_compression_buffer_size [LSB] | png_set_compression_level [LSB] | png_set_compression_mem_level [LSB] |
| png_set_compression_method [LSB] | png_set_compression_strategy [LSB] | png_set_compression_window_bits [LSB] |
| png_set_dither [LSB] | png_set_error_fn [LSB] | png_set_expand [LSB] |
| png_set_filler [LSB] | png_set_filter [LSB] | png_set_gAMA [LSB] |
| png_set_gamma [LSB] | png_set_gray_1_2_4_to_8 [LSB] | png_set_gray_to_rgb [LSB] |
| png_set_hIST [LSB] | png_set_iCCP [LSB] | png_set_interlace_handling [LSB] |
| png_set_invert_alpha [LSB] | png_set_invert_mono [LSB] | png_set_keep_unknown_chunks [LSB] |
| png_set_mem_fn [LSB] | png_set_oFFs [LSB] | png_set_pHYs [LSB] |
| png_set_packing [LSB] | png_set_packswap [LSB] | png_set_palette_to_rgb [LSB] |
| png_set_progressive_read_fn [LSB] | png_set_read_fn [LSB] | png_set_read_user_chunk_fn [LSB] |
| png_set_read_user_transform_fn [LSB] | png_set_rgb_to_gray [LSB] | png_set_rows [LSB] |
| png_set_sBIT [LSB] | png_set_sRGB [LSB] | png_set_sRGB_gAMA_and_cHRM [LSB] |
| png_set_shift [LSB] | png_set_sig_bytes [LSB] | png_set_strip_16 [LSB] |
| png_set_strip_alpha [LSB] | png_set_swap [LSB] | png_set_swap_alpha [LSB] |
| png_set_tIME [LSB] | png_set_tRNS [LSB] | png_set_tRNS_to_alpha [LSB] |
| png_set_text [LSB] | png_set_unknown_chunk_location [LSB] | png_set_unknown_chunks [LSB] |
| png_set_write_fn [LSB] | png_set_write_status_fn [LSB] | png_set_write_user_transform_fn [LSB] |
| png_sig_cmp [LSB] | png_start_read_image [LSB] | png_warning [LSB] |
| png_write_chunk [LSB] | png_write_end [LSB] | png_write_flush [LSB] |
| png_write_image [LSB] | png_write_info [LSB] | png_write_png [LSB] |
| png_write_row [LSB] | png_write_rows [LSB] |
An LSB conforming implementation shall provide the generic data interfaces for PNG Reference library specified in Table 8-3, with the full mandatory functionality as described in the referenced underlying specification.
This section defines global identifiers and their values that are associated with interfaces contained in libpng12. 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.
#define FARDATA
#define PNGAPI
#define PNG_1_2_X
#define PNG_ASSEMBLER_CODE_SUPPORTED
#define PNG_EASY_ACCESS_SUPPORTED
#define PNG_ERROR_NUMBERS_SUPPORTED
#define PNG_FIXED_POINT_SUPPORTED
#define PNG_FLOATING_POINT_SUPPORTED
#define PNG_FREE_ME_SUPPORTED
#define PNG_HANDLE_AS_UNKNOWN_SUPPORTED
#define PNG_IMPEXP
#define PNG_INFO_IMAGE_SUPPORTED
#define PNG_MMX_CODE_SUPPORTED
#define PNG_MNG_FEATURES_SUPPORTED
#define PNG_NO_READ_iTXt
#define PNG_NO_WRITE_iTXt
#define PNG_PROGRESSIVE_READ_SUPPORTED
#define PNG_READ_16_TO_8_SUPPORTED
#define PNG_READ_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_READ_BACKGROUND_SUPPORTED
#define PNG_READ_BGR_SUPPORTED
#define PNG_READ_COMPOSITE_NODIV_SUPPORTED
#define PNG_READ_DITHER_SUPPORTED
#define PNG_READ_EMPTY_PLTE_SUPPORTED
#define PNG_READ_EXPAND_SUPPORTED
#define PNG_READ_FILLER_SUPPORTED
#define PNG_READ_GAMMA_SUPPORTED
#define PNG_READ_GRAY_TO_RGB_SUPPORTED
#define PNG_READ_INTERLACING_SUPPORTED
#define PNG_READ_INVERT_ALPHA_SUPPORTED
#define PNG_READ_INVERT_SUPPORTED
#define PNG_READ_OPT_PLTE_SUPPORTED
#define PNG_READ_PACKSWAP_SUPPORTED
#define PNG_READ_PACK_SUPPORTED
#define PNG_READ_RGB_TO_GRAY_SUPPORTED
#define PNG_READ_SHIFT_SUPPORTED
#define PNG_READ_STRIP_ALPHA_SUPPORTED
#define PNG_READ_SUPPORTED
#define PNG_READ_SWAP_ALPHA_SUPPORTED
#define PNG_READ_SWAP_SUPPORTED
#define PNG_READ_TEXT_SUPPORTED
#define PNG_READ_TRANSFORMS_SUPPORTED
#define PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_READ_USER_CHUNKS_SUPPORTED
#define PNG_READ_USER_TRANSFORM_SUPPORTED
#define PNG_READ_bKGD_SUPPORTED
#define PNG_READ_cHRM_SUPPORTED
#define PNG_READ_gAMA_SUPPORTED
#define PNG_READ_hIST_SUPPORTED
#define PNG_READ_iCCP_SUPPORTED
#define PNG_READ_oFFs_SUPPORTED
#define PNG_READ_pCAL_SUPPORTED
#define PNG_READ_pHYs_SUPPORTED
#define PNG_READ_sBIT_SUPPORTED
#define PNG_READ_sCAL_SUPPORTED
#define PNG_READ_sPLT_SUPPORTED
#define PNG_READ_sRGB_SUPPORTED
#define PNG_READ_tEXt_SUPPORTED
#define PNG_READ_tIME_SUPPORTED
#define PNG_READ_tRNS_SUPPORTED
#define PNG_READ_zTXt_SUPPORTED
#define PNG_SETJMP_SUPPORTED
#define PNG_SET_USER_LIMITS_SUPPORTED
#define PNG_TEXT_SUPPORTED
#define PNG_TIME_RFC1123_SUPPORTED
#define PNG_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_USER_CHUNKS_SUPPORTED
#define PNG_USER_MEM_SUPPORTED
#define PNG_USER_TRANSFORM_PTR_SUPPORTED
#define PNG_USE_GLOBAL_ARRAYS
#define PNG_WRITE_ANCILLARY_CHUNKS_SUPPORTED
#define PNG_WRITE_BGR_SUPPORTED
#define PNG_WRITE_EMPTY_PLTE_SUPPORTED
#define PNG_WRITE_FILLER_SUPPORTED
#define PNG_WRITE_FLUSH_SUPPORTED
#define PNG_WRITE_INTERLACING_SUPPORTED
#define PNG_WRITE_INVERT_ALPHA_SUPPORTED
#define PNG_WRITE_INVERT_SUPPORTED
#define PNG_WRITE_PACKSWAP_SUPPORTED
#define PNG_WRITE_PACK_SUPPORTED
#define PNG_WRITE_SHIFT_SUPPORTED
#define PNG_WRITE_SUPPORTED
#define PNG_WRITE_SWAP_ALPHA_SUPPORTED
#define PNG_WRITE_SWAP_SUPPORTED
#define PNG_WRITE_TEXT_SUPPORTED
#define PNG_WRITE_TRANSFORMS_SUPPORTED
#define PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
#define PNG_WRITE_USER_TRANSFORM_SUPPORTED
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#define PNG_WRITE_bKGD_SUPPORTED
#define PNG_WRITE_cHRM_SUPPORTED
#define PNG_WRITE_gAMA_SUPPORTED
#define PNG_WRITE_hIST_SUPPORTED
#define PNG_WRITE_iCCP_SUPPORTED
#define PNG_WRITE_oFFs_SUPPORTED
#define PNG_WRITE_pCAL_SUPPORTED
#define PNG_WRITE_pHYs_SUPPORTED
#define PNG_WRITE_sBIT_SUPPORTED
#define PNG_WRITE_sCAL_SUPPORTED
#define PNG_WRITE_sPLT_SUPPORTED
#define PNG_WRITE_sRGB_SUPPORTED
#define PNG_WRITE_tEXt_SUPPORTED
#define PNG_WRITE_tIME_SUPPORTED
#define PNG_WRITE_tRNS_SUPPORTED
#define PNG_WRITE_zTXt_SUPPORTED
#define PNG_bKGD_SUPPORTED
#define PNG_cHRM_SUPPORTED
#define PNG_gAMA_SUPPORTED
#define PNG_hIST_SUPPORTED
#define PNG_iCCP_SUPPORTED
#define PNG_oFFs_SUPPORTED
#define PNG_pCAL_SUPPORTED
#define PNG_pHYs_SUPPORTED
#define PNG_sBIT_SUPPORTED
#define PNG_sCAL_SUPPORTED
#define PNG_sPLT_SUPPORTED
#define PNG_sRGB_SUPPORTED
#define PNG_tEXt_SUPPORTED
#define PNG_tIME_SUPPORTED
#define PNG_tRNS_SUPPORTED
#define PNG_zTXt_SUPPORTED
#define PNG_HEADER_VERSION_STRING " libpng version 1.2.8 - December 3, 2004 (header)\n"
#define PNG_MMX_READ_FLAGS \
( PNG_ASM_FLAG_MMX_READ_COMBINE_ROW | PNG_ASM_FLAG_MMX_READ_INTERLACE \
| PNG_ASM_FLAG_MMX_READ_FILTER_SUB | PNG_ASM_FLAG_MMX_READ_FILTER_UP | \
PNG_ASM_FLAG_MMX_READ_FILTER_AVG | PNG_ASM_FLAG_MMX_READ_FILTER_PAETH \
)
#define PNG_MMX_FLAGS \
( PNG_ASM_FLAG_MMX_SUPPORT_COMPILED | PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU \
| PNG_MMX_READ_FLAGS | PNG_MMX_WRITE_FLAGS )
#define PNG_ALL_FILTERS \
(PNG_FILTER_NONE | PNG_FILTER_SUB | PNG_FILTER_UP | PNG_FILTER_AVG | \
PNG_FILTER_PAETH)
#define png_info_init(info_ptr) \
png_info_init_3(&info_ptr, png_sizeof(png_info));
#define png_composite(composite,fg,alpha,bg) \
{ png_uint_16 temp = (png_uint_16)((png_uint_16)(fg) * \
(png_uint_16)(alpha) + (png_uint_16)(bg)*(png_uint_16)(255 - \
(png_uint_16)(alpha)) + (png_uint_16)128); (composite) = \
(png_byte)((temp + (temp >> 8)) >> 8); }
#define png_composite_16(composite,fg,alpha,bg) \
{ png_uint_32 temp = (png_uint_32)((png_uint_32)(fg) * \
(png_uint_32)(alpha) + (png_uint_32)(bg)*(png_uint_32)(65535L - \
(png_uint_32)(alpha)) + (png_uint_32)32768L); (composite) = \
(png_uint_16)((temp + (temp >> 16)) >> 16); }
#define PNG_MMX_WRITE_FLAGS ( 0 )
#define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
#define PNG_SIZE_MAX ((png_size_t)(-1))
#define PNG_UINT_32_MAX ((png_uint_32)(-1))
#define PNG_UINT_31_MAX ((png_uint_32)0x7fffffffL)
#define int_p_NULL (int *)NULL
#define png_bytep_NULL (png_bytep)NULL
#define png_bytepp_NULL (png_bytepp)NULL
#define PNG_COLOR_TYPE_GRAY_ALPHA (PNG_COLOR_MASK_ALPHA)
#define PNG_COLOR_TYPE_RGB_ALPHA (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_ALPHA)
#define PNG_COLOR_TYPE_PALETTE (PNG_COLOR_MASK_COLOR | PNG_COLOR_MASK_PALETTE)
#define PNG_COLOR_TYPE_RGB (PNG_COLOR_MASK_COLOR)
#define png_doublep_NULL (png_doublep)NULL
#define png_error_ptr_NULL (png_error_ptr)NULL
#define png_flush_ptr_NULL (png_flush_ptr)NULL
#define png_infopp_NULL (png_infopp)NULL
#define png_rw_ptr_NULL (png_rw_ptr)NULL
#define png_structp_NULL (png_structp)NULL
#define png_uint_16p_NULL (png_uint_16p)NULL
#define png_voidp_NULL (png_voidp)NULL
#define CVT_PTR(ptr) (ptr)
#define CVT_PTR_NOCHECK(ptr) (ptr)
#define PNG_TEXT_COMPRESSION_NONE -1
#define PNG_TEXT_COMPRESSION_zTXt_WR -2
#define PNG_TEXT_COMPRESSION_NONE_WR -3
#define PNG_BACKGROUND_GAMMA_UNKNOWN 0
#define PNG_COLOR_TYPE_GRAY 0
#define PNG_COMPRESSION_TYPE_BASE 0
#define PNG_CRC_DEFAULT 0
#define PNG_EQUATION_LINEAR 0
#define PNG_FILLER_BEFORE 0
#define PNG_FILTER_HEURISTIC_DEFAULT 0
#define PNG_FILTER_TYPE_BASE 0
#define PNG_FILTER_VALUE_NONE 0
#define PNG_HANDLE_CHUNK_AS_DEFAULT 0
#define PNG_INTERLACE_NONE 0
#define PNG_LIBPNG_VER_BUILD 0
#define PNG_LIBPNG_VER_SONUM 0
#define PNG_OFFSET_PIXEL 0
#define PNG_RESOLUTION_UNKNOWN 0
#define PNG_SCALE_UNKNOWN 0
#define PNG_TEXT_COMPRESSION_zTXt 0
#define PNG_sRGB_INTENT_PERCEPTUAL 0
#define PNG_NO_FILTERS 0x00
#define PNG_TRANSFORM_IDENTITY 0x0000
#define PNG_INFO_gAMA 0x0001
#define PNG_TRANSFORM_STRIP_16 0x0001
#define PNG_INFO_sBIT 0x0002
#define PNG_TRANSFORM_STRIP_ALPHA 0x0002
#define PNG_INFO_cHRM 0x0004
#define PNG_TRANSFORM_PACKING 0x0004
#define PNG_FREE_HIST 0x0008
#define PNG_INFO_PLTE 0x0008
#define PNG_TRANSFORM_PACKSWAP 0x0008
#define PNG_FREE_ICCP 0x0010
#define PNG_INFO_tRNS 0x0010
#define PNG_TRANSFORM_EXPAND 0x0010
#define PNG_FREE_SPLT 0x0020
#define PNG_INFO_bKGD 0x0020
#define PNG_TRANSFORM_INVERT_MONO 0x0020
#define PNG_FREE_ROWS 0x0040
#define PNG_INFO_hIST 0x0040
#define PNG_TRANSFORM_SHIFT 0x0040
#define PNG_FREE_PCAL 0x0080
#define PNG_INFO_pHYs 0x0080
#define PNG_TRANSFORM_BGR 0x0080
#define PNG_ASM_FLAG_MMX_SUPPORT_COMPILED 0x01
#define PNG_FLAG_MNG_EMPTY_PLTE 0x01
#define PNG_FREE_SCAL 0x0100
#define PNG_INFO_oFFs 0x0100
#define PNG_TRANSFORM_SWAP_ALPHA 0x0100
#define PNG_ASM_FLAG_MMX_SUPPORT_IN_CPU 0x02
#define PNG_FREE_UNKN 0x0200
#define PNG_INFO_tIME 0x0200
#define PNG_TRANSFORM_SWAP_ENDIAN 0x0200
#define PNG_ASM_FLAG_MMX_READ_COMBINE_ROW 0x04
#define PNG_FLAG_MNG_FILTER_64 0x04
#define PNG_FREE_LIST 0x0400
#define PNG_INFO_pCAL 0x0400
#define PNG_TRANSFORM_INVERT_ALPHA 0x0400
#define PNG_ALL_MNG_FEATURES 0x05
#define PNG_ASM_FLAG_MMX_READ_INTERLACE 0x08
#define PNG_FILTER_NONE 0x08
#define PNG_INFO_sRGB 0x0800
#define PNG_TRANSFORM_STRIP_FILLER 0x0800
#define PNG_ASM_FLAG_MMX_READ_FILTER_SUB 0x10
#define PNG_FILTER_SUB 0x10
#define PNG_FREE_PLTE 0x1000
#define PNG_INFO_iCCP 0x1000
#define PNG_ASM_FLAG_MMX_READ_FILTER_UP 0x20
#define PNG_FILTER_UP 0x20
#define PNG_FREE_TRNS 0x2000
#define PNG_INFO_sPLT 0x2000
#define PNG_ASM_FLAG_MMX_READ_FILTER_AVG 0x40
#define PNG_FILTER_AVG 0x40
#define PNG_FREE_TEXT 0x4000
#define PNG_INFO_sCAL 0x4000
#define PNG_FREE_MUL 0x4220
#define PNG_FREE_ALL 0x7fff
#define PNG_ASM_FLAG_MMX_READ_FILTER_PAETH 0x80
#define PNG_FILTER_PAETH 0x80
#define PNG_ASM_FLAGS_INITIALIZED 0x80000000
#define PNG_INFO_IDAT 0x8000L
#define PNG_BACKGROUND_GAMMA_SCREEN 1
#define PNG_COLOR_MASK_PALETTE 1
#define PNG_CRC_ERROR_QUIT 1
#define PNG_DESTROY_WILL_FREE_DATA 1
#define PNG_EQUATION_BASE_E 1
#define PNG_FILLER_AFTER 1
#define PNG_FILTER_HEURISTIC_UNWEIGHTED 1
#define PNG_FILTER_VALUE_SUB 1
#define PNG_HANDLE_CHUNK_NEVER 1
#define PNG_INTERLACE_ADAM7 1
#define PNG_ITXT_COMPRESSION_NONE 1
#define PNG_LIBPNG_BUILD_ALPHA 1
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_OFFSET_MICROMETER 1
#define PNG_RESOLUTION_METER 1
#define PNG_SCALE_METER 1
#define PNG_SELECT_READ 1
#define PNG_SET_WILL_FREE_DATA 1
#define PNG_sRGB_INTENT_RELATIVE 1
#define PNG_LIBPNG_VER_STRING "1.2.8"
#define PNG_USER_HEIGHT_MAX 1000000L
#define PNG_USER_WIDTH_MAX 1000000L
#define PNG_LIBPNG_VER 10208
#define PNG_LIBPNG_VER_DLLNUM 13
#define PNG_LIBPNG_BUILD_PRIVATE 16
#define PNG_BACKGROUND_GAMMA_FILE 2
#define PNG_COLOR_MASK_COLOR 2
#define PNG_CRC_WARN_DISCARD 2
#define PNG_EQUATION_ARBITRARY 2
#define PNG_FILTER_HEURISTIC_WEIGHTED 2
#define PNG_FILTER_VALUE_UP 2
#define PNG_HANDLE_CHUNK_IF_SAFE 2
#define PNG_INTERLACE_LAST 2
#define PNG_ITXT_COMPRESSION_zTXt 2
#define PNG_LIBPNG_BUILD_BETA 2
#define PNG_LIBPNG_VER_MINOR 2
#define PNG_OFFSET_LAST 2
#define PNG_RESOLUTION_LAST 2
#define PNG_SCALE_RADIAN 2
#define PNG_SELECT_WRITE 2
#define PNG_USER_WILL_FREE_DATA 2
#define PNG_sRGB_INTENT_SATURATION 2
#define PNG_MAX_PALETTE_LENGTH 256
#define PNG_BACKGROUND_GAMMA_UNIQUE 3
#define PNG_CRC_WARN_USE 3
#define PNG_EQUATION_HYPERBOLIC 3
#define PNG_FILTER_HEURISTIC_LAST 3
#define PNG_FILTER_VALUE_AVG 3
#define PNG_HANDLE_CHUNK_ALWAYS 3
#define PNG_LIBPNG_BUILD_RC 3
#define PNG_SCALE_LAST 3
#define PNG_TEXT_COMPRESSION_LAST 3
#define PNG_sRGB_INTENT_ABSOLUTE 3
#define PNG_LIBPNG_BUILD_SPECIAL 32
#define PNG_COLOR_MASK_ALPHA 4
#define PNG_CRC_QUIET_USE 4
#define PNG_EQUATION_LAST 4
#define PNG_FILTER_VALUE_PAETH 4
#define PNG_LIBPNG_BUILD_STABLE 4
#define PNG_sRGB_INTENT_LAST 4
#define PNG_CRC_NO_CHANGE 5
#define PNG_FILTER_VALUE_LAST 5
#define PNG_INTRAPIXEL_DIFFERENCING 64
#define PNG_LIBPNG_BUILD_RELEASE_STATUS_MASK 7
#define PNG_KEYWORD_MAX_LENGTH 79
#define PNG_LIBPNG_BUILD_PATCH 8
#define PNG_LIBPNG_VER_RELEASE 8
#define PNG_ZBUF_SIZE 8192
#define PNG_ABORT() abort()
#define PNG_CONST const
#define PNG_EXPORT_VAR(type) extern PNG_IMPEXP type
#define png_memcmp memcmp
#define png_memcpy memcpy
#define png_memset memset
#define PNG_COLOR_TYPE_GA PNG_COLOR_TYPE_GRAY_ALPHA
#define PNG_COLOR_TYPE_RGBA PNG_COLOR_TYPE_RGB_ALPHA
#define PNG_COMPRESSION_TYPE_DEFAULT PNG_COMPRESSION_TYPE_BASE
#define PNG_FILTER_TYPE_DEFAULT PNG_FILTER_TYPE_BASE
#define PNG_EXPORT(type,symbol) PNG_IMPEXP type PNGAPI symbol
#define PNG_LIBPNG_BUILD_TYPE PNG_LIBPNG_BUILD_BASE_TYPE
#define PNG_LIBPNG_BUILD_BASE_TYPE PNG_LIBPNG_BUILD_STABLE
#define PNG_MAX_UINT PNG_UINT_31_MAX
#define png_sizeof(x) sizeof (x)
#define png_strcpy strcpy
#define png_strlen strlen
#define png_strncpy strncpy
typedef png_unknown_chunk *png_unknown_chunkp;
typedef png_unknown_chunk **png_unknown_chunkpp;
typedef struct png_sPLT_entry_struct {
png_uint_16 red;
png_uint_16 green;
png_uint_16 blue;
png_uint_16 alpha;
png_uint_16 frequency;
} png_sPLT_entry;
typedef png_sPLT_entry *png_sPLT_entryp;
typedef png_sPLT_entry **png_sPLT_entrypp;
typedef struct png_sPLT_struct {
png_charp name;
png_byte depth;
png_sPLT_entryp entries;
png_int_32 nentries;
} png_sPLT_t;
typedef png_sPLT_t *png_sPLT_tp;
typedef png_sPLT_t **png_sPLT_tpp;
typedef struct png_unknown_chunk_t {
png_byte name[5];
png_byte *data;
png_size_t size;
png_byte location;
} png_unknown_chunk;
typedef struct png_struct_def {
struct __jmp_buf_tag jmpbuf[1];
png_error_ptr error_fn;
png_error_ptr warning_fn;
png_voidp error_ptr;
png_rw_ptr write_data_fn;
png_rw_ptr read_data_fn;
png_voidp io_ptr;
png_user_transform_ptr read_user_transform_fn;
png_user_transform_ptr write_user_transform_fn;
png_voidp user_transform_ptr;
png_byte user_transform_depth;
png_byte user_transform_channels;
png_uint_32 mode;
png_uint_32 flags;
png_uint_32 transformations;
z_stream zstream;
png_bytep zbuf;
png_size_t zbuf_size;
int zlib_level;
int zlib_method;
int zlib_window_bits;
int zlib_mem_level;
int zlib_strategy;
png_uint_32 width;
png_uint_32 height;
png_uint_32 num_rows;
png_uint_32 usr_width;
png_uint_32 rowbytes;
png_uint_32 irowbytes;
png_uint_32 iwidth;
png_uint_32 row_number;
png_bytep prev_row;
png_bytep row_buf;
png_bytep sub_row;
png_bytep up_row;
png_bytep avg_row;
png_bytep paeth_row;
png_row_info row_info;
png_uint_32 idat_size;
png_uint_32 crc;
png_colorp palette;
png_uint_16 num_palette;
png_uint_16 num_trans;
png_byte chunk_name[5];
png_byte compression;
png_byte filter;
png_byte interlaced;
png_byte pass;
png_byte do_filter;
png_byte color_type;
png_byte bit_depth;
png_byte usr_bit_depth;
png_byte pixel_depth;
png_byte channels;
png_byte usr_channels;
png_byte sig_bytes;
png_uint_16 filler;
png_byte background_gamma_type;
float background_gamma;
png_color_16 background;
png_color_16 background_1;
png_flush_ptr output_flush_fn;
png_uint_32 flush_dist;
png_uint_32 flush_rows;
int gamma_shift;
float gamma;
float screen_gamma;
png_bytep gamma_table;
png_bytep gamma_from_1;
png_bytep gamma_to_1;
png_uint_16pp gamma_16_table;
png_uint_16pp gamma_16_from_1;
png_uint_16pp gamma_16_to_1;
png_color_8 sig_bit;
png_color_8 shift;
png_bytep trans;
png_color_16 trans_values;
png_read_status_ptr read_row_fn;
png_write_status_ptr write_row_fn;
png_progressive_info_ptr info_fn;
png_progressive_row_ptr row_fn;
png_progressive_end_ptr end_fn;
png_bytep save_buffer_ptr;
png_bytep save_buffer;
png_bytep current_buffer_ptr;
png_bytep current_buffer;
png_uint_32 push_length;
png_uint_32 skip_length;
png_size_t save_buffer_size;
png_size_t save_buffer_max;
png_size_t buffer_size;
png_size_t current_buffer_size;
int process_mode;
int cur_palette;
png_size_t current_text_size;
png_size_t current_text_left;
png_charp current_text;
png_charp current_text_ptr;
png_bytep palette_lookup;
png_bytep dither_index;
png_uint_16p hist;
png_byte heuristic_method;
png_byte num_prev_filters;
png_bytep prev_filters;
png_uint_16p filter_weights;
png_uint_16p inv_filter_weights;
png_uint_16p filter_costs;
png_uint_16p inv_filter_costs;
png_charp time_buffer;
png_uint_32 free_me;
png_voidp user_chunk_ptr;
png_user_chunk_ptr read_user_chunk_fn;
int num_chunk_list;
png_bytep chunk_list;
png_byte rgb_to_gray_status;
png_uint_16 rgb_to_gray_red_coeff;
png_uint_16 rgb_to_gray_green_coeff;
png_uint_16 rgb_to_gray_blue_coeff;
png_uint_32 mng_features_permitted;
png_fixed_point int_gamma;
png_byte filter_type;
png_byte mmx_bitdepth_threshold;
png_uint_32 mmx_rowbytes_threshold;
png_uint_32 asm_flags;
png_voidp mem_ptr;
png_malloc_ptr malloc_fn;
png_free_ptr free_fn;
png_bytep big_row_buf;
png_bytep dither_sort;
png_bytep index_to_palette;
png_bytep palette_to_index;
png_byte compression_type;
png_uint_32 user_width_max;
png_uint_32 user_height_max;
} png_struct;
typedef png_struct *png_structp;
typedef struct png_info_struct {
png_uint_32 width;
png_uint_32 height;
png_uint_32 valid;
png_uint_32 rowbytes;
png_colorp palette;
png_uint_16 num_palette;
png_uint_16 num_trans;
png_byte bit_depth;
png_byte color_type;
png_byte compression_type;
png_byte filter_type;
png_byte interlace_type;
png_byte channels;
png_byte pixel_depth;
png_byte spare_byte;
png_byte signature[8];
float gamma;
png_byte srgb_intent;
int num_text;
int max_text;
png_textp text;
png_time mod_time;
png_color_8 sig_bit;
png_bytep trans;
png_color_16 trans_values;
png_color_16 background;
png_int_32 x_offset;
png_int_32 y_offset;
png_byte offset_unit_type;
png_uint_32 x_pixels_per_unit;
png_uint_32 y_pixels_per_unit;
png_byte phys_unit_type;
png_uint_16p hist;
float x_white;
float y_white;
float x_red;
float y_red;
float x_green;
float y_green;
float x_blue;
float y_blue;
png_charp pcal_purpose;
png_int_32 pcal_X0;
png_int_32 pcal_X1;
png_charp pcal_units;
png_charpp pcal_params;
png_byte pcal_type;
png_byte pcal_nparams;
png_uint_32 free_me;
png_unknown_chunkp unknown_chunks;
png_size_t unknown_chunks_num;
png_charp iccp_name;
png_charp iccp_profile;
png_uint_32 iccp_proflen;
png_byte iccp_compression;
png_sPLT_tp splt_palettes;
png_uint_32 splt_palettes_num;
png_byte scal_unit;
double scal_pixel_width;
double scal_pixel_height;
png_charp scal_s_width;
png_charp scal_s_height;
png_bytepp row_pointers;
png_fixed_point int_gamma;
png_fixed_point int_x_white;
png_fixed_point int_y_white;
png_fixed_point int_x_red;
png_fixed_point int_y_red;
png_fixed_point int_x_green;
png_fixed_point int_y_green;
png_fixed_point int_x_blue;
png_fixed_point int_y_blue;
} png_info;
typedef png_info *png_infop;
typedef void *png_voidp;
typedef void (*png_progressive_info_ptr) (png_structp, png_infop);
typedef unsigned char png_byte;
typedef png_byte *png_bytep;
typedef unsigned long int png_uint_32;
typedef void (*png_progressive_row_ptr) (png_structp, png_bytep,
png_uint_32, int);
typedef void (*png_progressive_end_ptr) (png_structp, png_infop);
typedef struct png_color_8_struct {
png_byte red;
png_byte green;
png_byte blue;
png_byte gray;
png_byte alpha;
} png_color_8;
typedef png_color_8 *png_color_8p;
typedef long int png_int_32;
typedef char *png_charp;
typedef size_t png_size_t;
typedef struct png_text_struct {
int compression;
png_charp key;
png_charp text;
png_size_t text_length;
} png_text;
typedef png_text *png_textp;
typedef png_byte **png_bytepp;
typedef unsigned short png_uint_16;
typedef struct png_color_16_struct {
png_byte index;
png_uint_16 red;
png_uint_16 green;
png_uint_16 blue;
png_uint_16 gray;
} png_color_16;
typedef png_color_16 *png_color_16p;
typedef struct png_color_struct {
png_byte red;
png_byte green;
png_byte blue;
} png_color;
typedef png_color *png_colorp;
typedef const char *png_const_charp;
typedef void (*png_error_ptr) (png_structp, png_const_charp);
typedef void (*png_rw_ptr) (png_structp, png_bytep, png_size_t);
typedef struct png_time_struct {
png_uint_16 year;
png_byte month;
png_byte day;
png_byte hour;
png_byte minute;
png_byte second;
} png_time;
typedef png_time *png_timep;
typedef png_uint_16 *png_uint_16p;
typedef void (*png_flush_ptr) (png_structp);
typedef char **png_charpp;
typedef png_struct **png_structpp;
typedef png_info **png_infopp;
typedef FILE *png_FILE_p;
typedef struct png_row_info_struct {
png_uint_32 width;
png_uint_32 rowbytes;
png_byte color_type;
png_byte bit_depth;
png_byte channels;
png_byte pixel_depth;
} png_row_info;
typedef png_row_info *png_row_infop;
typedef png_structp version_1_2_8;
typedef png_uint_32 *png_uint_32p;
typedef png_uint_16 **png_uint_16pp;
typedef png_int_32 png_fixed_point;
typedef double *png_doublep;
typedef charf *png_zcharp;
typedef png_fixed_point *png_fixed_point_p;
typedef png_int_32 *png_int_32p;
typedef z_stream *png_zstreamp;
typedef short png_int_16;
typedef png_int_16 *png_int_16p;
typedef png_int_16 **png_int_16pp;
typedef png_int_32 **png_int_32pp;
typedef png_uint_32 **png_uint_32pp;
typedef charf **png_zcharpp;
typedef char ***png_charppp;
typedef const char **png_const_charpp;
typedef double **png_doublepp;
typedef png_colorp *png_colorpp;
typedef png_color_16p *png_color_16pp;
typedef png_color_8p *png_color_8pp;
typedef png_fixed_point **png_fixed_point_pp;
typedef png_row_info **png_row_infopp;
typedef png_textp *png_textpp;
typedef png_timep *png_timepp;
typedef void (*png_user_transform_ptr) (png_structp, png_row_infop,
png_bytep);
typedef void (*png_read_status_ptr) (png_structp, png_uint_32, int);
typedef void (*png_write_status_ptr) (png_structp, png_uint_32, int);
typedef int (*png_user_chunk_ptr) (png_structp, png_unknown_chunkp);
typedef png_voidp(*png_malloc_ptr) (png_structp, png_size_t);
typedef void (*png_free_ptr) (png_structp, png_voidp);
extern png_uint_32 png_access_version_number(void);
extern int png_check_sig(png_bytep sig, int num);
extern void png_convert_from_struct_tm(png_timep ptime, struct tm *ttime);
extern void png_convert_from_time_t(png_timep ptime, time_t ttime);
extern png_infop png_create_info_struct(png_structp png_ptr);
extern png_structp png_create_read_struct(png_const_charp user_png_ver,
png_voidp error_ptr,
png_error_ptr error_fn,
png_error_ptr warn_fn);
extern png_structp png_create_read_struct_2(png_const_charp user_png_ver,
png_voidp error_ptr,
png_error_ptr error_fn,
png_error_ptr warn_fn,
png_voidp mem_ptr,
png_malloc_ptr malloc_fn,
png_free_ptr free_fn);
extern png_structp png_create_write_struct(png_const_charp user_png_ver,
png_voidp error_ptr,
png_error_ptr error_fn,
png_error_ptr warn_fn);
extern png_structp png_create_write_struct_2(png_const_charp user_png_ver,
png_voidp error_ptr,
png_error_ptr error_fn,
png_error_ptr warn_fn,
png_voidp mem_ptr,
png_malloc_ptr malloc_fn,
png_free_ptr free_fn);
extern void png_data_freer(png_structp png_ptr, png_infop info_ptr,
int freer, png_uint_32 mask);
extern void png_destroy_info_struct(png_structp png_ptr,
png_infopp info_ptr_ptr);
extern void png_destroy_read_struct(png_structpp png_ptr_ptr,
png_infopp info_ptr_ptr,
png_infopp end_info_ptr_ptr);
extern void png_destroy_write_struct(png_structpp png_ptr_ptr,
png_infopp info_ptr_ptr);
extern void png_error(png_structp png_ptr, png_const_charp error_message);
extern void png_free(png_structp png_ptr, png_voidp ptr);
extern void png_free_data(png_structp png_ptr, png_infop info_ptr,
png_uint_32 free_me, int num);
extern png_uint_32 png_get_IHDR(png_structp png_ptr, png_infop info_ptr,
png_uint_32 * width, png_uint_32 * height,
int *bit_depth, int *color_type,
int *interlace_method,
int *compression_method,
int *filter_method);
extern png_uint_32 png_get_PLTE(png_structp png_ptr, png_infop info_ptr,
png_colorp * palette, int *num_palette);
extern png_uint_32 png_get_bKGD(png_structp png_ptr, png_infop info_ptr,
png_color_16p * background);
extern png_byte png_get_bit_depth(png_structp png_ptr, png_infop info_ptr);
extern png_uint_32 png_get_cHRM(png_structp png_ptr, png_infop info_ptr,
double *white_x, double *white_y,
double *red_x, double *red_y,
double *green_x, double *green_y,
double *blue_x, double *blue_y);
extern png_byte png_get_channels(png_structp png_ptr, png_infop info_ptr);
extern png_byte png_get_color_type(png_structp png_ptr,
png_infop info_ptr);
extern png_voidp png_get_error_ptr(png_structp png_ptr);
extern png_uint_32 png_get_gAMA(png_structp png_ptr, png_infop info_ptr,
double *file_gamma);
extern png_uint_32 png_get_hIST(png_structp png_ptr, png_infop info_ptr,
png_uint_16p * hist);
extern png_charp png_get_header_ver(png_structp png_ptr);
extern png_uint_32 png_get_iCCP(png_structp png_ptr, png_infop info_ptr,
png_charpp name, int *compression_type,
png_charpp profile, png_uint_32 * proflen);
extern png_uint_32 png_get_image_height(png_structp png_ptr,
png_infop info_ptr);
extern png_uint_32 png_get_image_width(png_structp png_ptr,
png_infop info_ptr);
extern png_byte png_get_interlace_type(png_structp png_ptr,
png_infop info_ptr);
extern png_voidp png_get_io_ptr(png_structp png_ptr);
extern png_charp png_get_libpng_ver(png_structp png_ptr);
extern png_uint_32 png_get_oFFs(png_structp png_ptr, png_infop info_ptr,
png_int_32 * offset_x,
png_int_32 * offset_y, int *unit_type);
extern png_uint_32 png_get_pHYs(png_structp png_ptr, png_infop info_ptr,
png_uint_32 * res_x, png_uint_32 * res_y,
int *unit_type);
extern png_voidp png_get_progressive_ptr(png_structp png_ptr);
extern png_uint_32 png_get_rowbytes(png_structp png_ptr,
png_infop info_ptr);
extern png_bytepp png_get_rows(png_structp png_ptr, png_infop info_ptr);
extern png_uint_32 png_get_sBIT(png_structp png_ptr, png_infop info_ptr,
png_color_8p * sig_bit);
extern png_uint_32 png_get_sRGB(png_structp png_ptr, png_infop info_ptr,
int *intent);
extern png_uint_32 png_get_tIME(png_structp png_ptr, png_infop info_ptr,
png_timep * mod_time);
extern png_uint_32 png_get_tRNS(png_structp png_ptr, png_infop info_ptr,
png_bytep * trans, int *num_trans,
png_color_16p * trans_values);
extern png_uint_32 png_get_text(png_structp png_ptr, png_infop info_ptr,
png_textp * text_ptr, int *num_text);
extern png_uint_32 png_get_unknown_chunks(png_structp png_ptr,
png_infop info_ptr,
png_unknown_chunkpp entries);
extern png_voidp png_get_user_chunk_ptr(png_structp png_ptr);
extern png_uint_32 png_get_valid(png_structp png_ptr, png_infop info_ptr,
png_uint_32 flag);
extern png_int_32 png_get_x_offset_pixels(png_structp png_ptr,
png_infop info_ptr);
extern png_uint_32 png_get_x_pixels_per_meter(png_structp png_ptr,
png_infop info_ptr);
extern png_int_32 png_get_y_offset_pixels(png_structp png_ptr,
png_infop info_ptr);
extern png_uint_32 png_get_y_pixels_per_meter(png_structp png_ptr,
png_infop info_ptr);
extern void png_info_init_3(png_infopp info_ptr,
png_size_t png_info_struct_size);
extern void png_init_io(png_structp png_ptr, png_FILE_p fp);
extern const char png_libpng_ver[];
extern png_voidp png_malloc(png_structp png_ptr, png_uint_32 size);
extern png_uint_32 png_permit_mng_features(png_structp png_ptr,
png_uint_32
mng_features_permitted);
extern void png_process_data(png_structp png_ptr, png_infop info_ptr,
png_bytep buffer, png_size_t buffer_size);
extern void png_progressive_combine_row(png_structp png_ptr,
png_bytep old_row,
png_bytep new_row);
extern void png_read_end(png_structp png_ptr, png_infop info_ptr);
extern void png_read_image(png_structp png_ptr, png_bytepp image);
extern void png_read_info(png_structp png_ptr, png_infop info_ptr);
extern void png_read_png(png_structp png_ptr, png_infop info_ptr,
int transforms, voidp params);
extern void png_read_row(png_structp png_ptr, png_bytep row,
png_bytep display_row);
extern void png_read_rows(png_structp png_ptr, png_bytepp row,
png_bytepp display_row, png_uint_32 num_rows);
extern void png_read_update_info(png_structp png_ptr, png_infop info_ptr);
extern void png_set_IHDR(png_structp png_ptr, png_infop info_ptr,
png_uint_32 width, png_uint_32 height,
int bit_depth, int color_type,
int interlace_method, int compression_method,
int filter_method);
extern void png_set_PLTE(png_structp png_ptr, png_infop info_ptr,
png_colorp palette, int num_palette);
extern void png_set_bKGD(png_structp png_ptr, png_infop info_ptr,
png_color_16p background);
extern void png_set_background(png_structp png_ptr,
png_color_16p background_color,
int background_gamma_code, int need_expand,
double background_gamma);
extern void png_set_bgr(png_structp png_ptr);
extern void png_set_cHRM(png_structp png_ptr, png_infop info_ptr,
double white_x, double white_y, double red_x,
double red_y, double green_x, double green_y,
double blue_x, double blue_y);
extern void png_set_compression_buffer_size(png_structp png_ptr,
png_uint_32 size);
extern void png_set_compression_level(png_structp png_ptr, int level);
extern void png_set_compression_mem_level(png_structp png_ptr,
int mem_level);
extern void png_set_compression_method(png_structp png_ptr, int method);
extern void png_set_compression_strategy(png_structp png_ptr,
int strategy);
extern void png_set_compression_window_bits(png_structp png_ptr,
int window_bits);
extern void png_set_dither(png_structp png_ptr, png_colorp palette,
int num_palette, int maximum_colors,
png_uint_16p histogram, int full_dither);
extern void png_set_error_fn(png_structp png_ptr, png_voidp error_ptr,
png_error_ptr error_fn,
png_error_ptr warning_fn);
extern void png_set_expand(png_structp png_ptr);
extern void png_set_filler(png_structp png_ptr, png_uint_32 filler,
int flags);
extern void png_set_filter(png_structp png_ptr, int method, int filters);
extern void png_set_gAMA(png_structp png_ptr, png_infop info_ptr,
double file_gamma);
extern void png_set_gamma(png_structp png_ptr, double screen_gamma,
double default_file_gamma);
extern void png_set_gray_1_2_4_to_8(png_structp png_ptr);
extern void png_set_gray_to_rgb(png_structp png_ptr);
extern void png_set_hIST(png_structp png_ptr, png_infop info_ptr,
png_uint_16p hist);
extern void png_set_iCCP(png_structp png_ptr, png_infop info_ptr,
png_charp name, int compression_type,
png_charp profile, png_uint_32 proflen);
extern int png_set_interlace_handling(png_structp png_ptr);
extern void png_set_invert_alpha(png_structp png_ptr);
extern void png_set_invert_mono(png_structp png_ptr);
extern void png_set_keep_unknown_chunks(png_structp png_ptr, int keep,
png_bytep chunk_list,
int num_chunks);
extern void png_set_mem_fn(png_structp png_ptr, png_voidp mem_ptr,
png_malloc_ptr malloc_fn, png_free_ptr free_fn);
extern void png_set_oFFs(png_structp png_ptr, png_infop info_ptr,
png_int_32 offset_x, png_int_32 offset_y,
int unit_type);
extern void png_set_pHYs(png_structp png_ptr, png_infop info_ptr,
png_uint_32 res_x, png_uint_32 res_y,
int unit_type);
extern void png_set_packing(png_structp png_ptr);
extern void png_set_packswap(png_structp png_ptr);
extern void png_set_palette_to_rgb(png_structp png_ptr);
extern void png_set_progressive_read_fn(png_structp png_ptr,
png_voidp progressive_ptr,
png_progressive_info_ptr info_fn,
png_progressive_row_ptr row_fn,
png_progressive_end_ptr end_fn);
extern void png_set_read_fn(png_structp png_ptr, png_voidp io_ptr,
png_rw_ptr read_data_fn);
extern void png_set_read_user_chunk_fn(png_structp png_ptr,
png_voidp user_chunk_ptr,
png_user_chunk_ptr
read_user_chunk_fn);
extern void png_set_read_user_transform_fn(png_structp png_ptr,
png_user_transform_ptr
read_user_transform_fn);
extern void png_set_rgb_to_gray(png_structp png_ptr, int error_action,
double red, double green);
extern void png_set_rows(png_structp png_ptr, png_infop info_ptr,
png_bytepp row_pointers);
extern void png_set_sBIT(png_structp png_ptr, png_infop info_ptr,
png_color_8p sig_bit);
extern void png_set_sRGB(png_structp png_ptr, png_infop info_ptr,
int intent);
extern void png_set_sRGB_gAMA_and_cHRM(png_structp png_ptr,
png_infop info_ptr, int intent);
extern void png_set_shift(png_structp png_ptr, png_color_8p true_bits);
extern void png_set_sig_bytes(png_structp png_ptr, int num_bytes);
extern void png_set_strip_16(png_structp png_ptr);
extern void png_set_strip_alpha(png_structp png_ptr);
extern void png_set_swap(png_structp png_ptr);
extern void png_set_swap_alpha(png_structp png_ptr);
extern void png_set_tIME(png_structp png_ptr, png_infop info_ptr,
png_timep mod_time);
extern void png_set_tRNS(png_structp png_ptr, png_infop info_ptr,
png_bytep trans, int num_trans,
png_color_16p trans_values);
extern void png_set_tRNS_to_alpha(png_structp png_ptr);
extern void png_set_text(png_structp png_ptr, png_infop info_ptr,
png_textp text_ptr, int num_text);
extern void png_set_unknown_chunk_location(png_structp png_ptr,
png_infop info_ptr, int chunk,
int location);
extern void png_set_unknown_chunks(png_structp png_ptr, png_infop info_ptr,
png_unknown_chunkp unknowns,
int num_unknowns);
extern void png_set_write_fn(png_structp png_ptr, png_voidp io_ptr,
png_rw_ptr write_data_fn,
png_flush_ptr output_flush_fn);
extern void png_set_write_status_fn(png_structp png_ptr,
png_write_status_ptr write_row_fn);
extern void png_set_write_user_transform_fn(png_structp png_ptr,
png_user_transform_ptr
write_user_transform_fn);
extern int png_sig_cmp(png_bytep sig, png_size_t start,
png_size_t num_to_check);
extern void png_start_read_image(png_structp png_ptr);
extern void png_warning(png_structp png_ptr,
png_const_charp warning_message);
extern void png_write_chunk(png_structp png_ptr, png_bytep chunk_name,
png_bytep data, png_size_t length);
extern void png_write_end(png_structp png_ptr, png_infop info_ptr);
extern void png_write_flush(png_structp png_ptr);
extern void png_write_image(png_structp png_ptr, png_bytepp image);
extern void png_write_info(png_structp png_ptr, png_infop info_ptr);
extern void png_write_png(png_structp png_ptr, png_infop info_ptr,
int transforms, voidp params);
extern void png_write_row(png_structp png_ptr, png_bytep row);
extern void png_write_rows(png_structp png_ptr, png_bytepp row,
png_uint_32 num_rows); |
The interfaces defined on the following pages are included in libpng12 and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.
Other interfaces listed in Section 8.1 shall behave as described in the referenced base document.
png_access_version_number() returns version of the libpng12 library available at run-time.
png_access_version_number() returns integer constructed from the major version, minor version with leading zero and leading number with leading zero. For example, the version number for version 1.2.8 is 10208.
This interface shall convert from the struct tm time format to the png_time format.
The parameter ttime shall specify the struct tm value to convert to png_time format.
The output parameter ptime shall contain the converted value.
This interface shall convert from the time_t time format to the png_time format.
The parameter ttime shall specify the time_t value to convert to png_time format.
The output parameter ptime shall contain the converted value.
Returns the pointer to png_info structure. Returns NULL if it fails to create the structure.
png_create_info_struct() shall return NULL if the allocation fails. The application should check for the return value.
png_create_read_struct() shall allocate and initialize a png_struct structure. The function shall return NULL if the allocation fails. The application should check for the return value. For handling errors and warnings, the application can pass desired error handling routines as arguments to png_create_read_struct(). Otherwise, the default error handling uses stderr and longjmp. The error handling routine must NOT return to the calling routine.
Returns the pointer to png_struct structure. Returns NULL if it fails to create the structure.
png_create_read_struct() shall return NULL if the allocation fails. The application should check for the return value.
This interface shall register a custom read function
and allocate and initialize a png_struct structure.
For handling errors and warnings, as well as allocating and deallocating memory,
the application can pass functions as arguments.
Otherwise, the default error handling functions
stderr and longjmp() will be used.
The error handling routine must not return to the calling routine.
The parameter user_png_ver
shall specify the version string of the library, which
must be PNG_LIBPNG_VER_STRING.
The parameter error_ptr shall specify a user-defined structure for error functions.
The parameter error_fn shall specify an optional user-defined function for printing errors and aborting.
The parameter warn_fn shall specify an optional user-defined function for warnings.
The parameter mem_ptr shall specify the memory to allocate.
The parameter malloc_fn shall specify an optional user-defined memory allocation function.
The parameter free_fn shall specify an optional user-defined memory deallocation function.
You should define PNG_USER_MEM_SUPPORTED
before you call png_create_read_struct2().
png_create_write_struct() shall allocate and initialize a png_struct structure. The function shall return NULL if the allocation fails. The application should check for the return value.
Returns the pointer to png_struct structure. Returns NULL if it fails to create the structure.
This interface shall register a custom write function
and allocate and initialize a png_struct structure.
For handling errors and warnings, as well as allocating and deallocating memory,
the application can pass functions as arguments.
Otherwise, the default error handling functions
stderr and longjmp() will be used.
The error handling routine must not return to the calling routine.
The parameter user_png_ver shall specify the version string of the library,
which must be PNG_LIBPNG_VER_STRING.
The parameter error_ptr shall specify a user-defined structure for error functions.
The parameter error_fn shall specify an optional user-defined function for printing errors and aborting.
The parameter warn_fn shall specify an optional user-defined function for warnings.
The parameter mem_ptr shall specify the memory to allocate.
The parameter malloc_fn shall specify an optional user-defined memory allocation function.
The parameter free_fn shall specify an optional user-defined memory deallocation function.
On success, returns a pointer to the png_struct that was created.
On failure, returns NULL.
This interface shall change the default behavior for freeing allocated data, from only freeing data allocated internally by libpng, to either freeing user-allocated data or to not freeing any data at all.
This interface can enable deallocation of user data allocated with png_malloc() or png_zalloc() and passed to libpng with one of the png_set_*() interfaces. Users can call it both before and after passing the data. Calling it after reading PNG data but before passing the data controls whether the user or the interface is responsible for the existing data. Calling it after passing the data controls whether the user or the interface should deallocate the data.
If the user becomes responsible for data allocated by libpng, png_free() must be called to free it. If libpng becomes responsible for user-allocated data, the data must only have been allocated with png_malloc() or png_zalloc().
The parameter png_ptr shall specify the PNG file.
The parameter info_ptr shall specify the PNG info structure.
The parameter freer shall specify one of these constants:
PNG_DESTROY_WILL_FREE_DATA,
PNG_SET_WILL_FREE_DATA,
PNG_USER_WILL_FREE_DATA.
The parameter mask shall specify the data to free, as described under png_free_data().
A row_pointers array allocated in a single block
must not be freed with
png_set_rows() or png_read_destroy(),
because they would attempt to free the elements of the array as well.
Do not free text_ptr with libpng
if some of its members were allocated separately,
because this will actually only free text_ptr.key.
If responsibility for freeing text_ptr moves
from libpng to the user, the user
must not free the members separately.
This interface shall free any memory in a single PNG info structure.
The parameter png_ptr shall specify the PNG file.
The parameter info_ptr_ptr shall point to a pointer to the png_info_struct to destroy.
png_destroy_read_struct() frees the memory associated with the read png_struct struct that holds information from the given PNG file, the associated png_info struct for holding the image information and png_info struct for holding the information at end of the given PNG file.
png_destroy_write_struct() frees the memory associated with the write png_struct struct that holds information for writing the PNG file and the associated png_info struct for holding the image information.
png_error() is the default error handling function for fatal errors. The default error handling functionality may be changed by using png_set_error_fn() to replace the error function at run-time.
This interface shall free data that was internally allocated by libpng.
The parameter png_ptr shall specify the PNG file.
The parameter info_ptr shall specify the PNG info structure containing members to free that are pointing to memory allocated by libpng.
The parameter mask shall specify
the data to free with a mask consisting of the logical OR of at least one
of the following constants:
PNG_FREE_HIST,
PNG_FREE_ICCP,
PNG_FREE_PCAL,
PNG_FREE_PLTE,
PNG_FREE_ROWS,
PNG_FREE_SCAL,
PNG_FREE_SPLT,
PNG_FREE_TEXT,
PNG_FREE_TRNS,
PNG_FREE_UNKN.
(To specify all constants, use PNG_FREE_ALL.)
The parameter num shall specify the sequence number of the item to free. The value -1 specifies all items.
png_get_IHDR() gets PNG_IHDR chunk type information from png_info structure.
png_get_PLTE() gets palette information from png_info structure. "palette" holds an array of color values with "num_palette" entries.
On successful retrieval of palette information, png_get_PLTE() shall return PNG_INFO_PLTE. Otherwise, png_get_PLTE() shall return 0.
png_get_bKGD() shall return the background color to "background" if the validity flag for background is set.
On success, png_get_bKGD() shall return PNG_INFO_bKGD. Otherwise, png_get_bKGD() shall return 0.
png_get_cHRM() shall return the CIE x,y chromaticities of the red, green and blue display primaries used in the image and the referenced white point from the cHRM chunk in the image.
On success, png_get_cHRM() shall return PNG_INFO_cHRM. Otherwise, the function shall return 0.
png_get_channels() shall return the number of data channels per pixel for the color type of the image. The number of channels shall range from 1-4 depending on the color type as given below.
| 1 - PNG_COLOR_TYPE_GRAY or PNG_COLOR_TYPE_PALETTE |
| 2 - PNG_COLOR_TYPE_GRAY_ALPHA |
| 3 - PNG_COLOR_TYPE_RGB |
| 4 - PNG_COLOR_TYPE_RGB_ALPHA or PNG_COLOR_TYPE_RGB+filler byte |
On success, png_get_channels() shall return the number of channels ranging from 1-4. Otherwise, png_get_channels shall return 0.
Returns the gamma value of an image to "file_gamma" if the gAMA chunk information is valid for the image.
PNG_INFO_gAMA - if png_ptr, info_ptr, file_gamma are not NULL and gAMA chunk information is valid 0 - otherwise.
Returns the histogram of an image to *hist if the hIST chunk information is valid for the image.
PNG_INFO_hIST - if png_ptr, info_ptr, hist are not NULL and hIST chunk information is valid 0 - otherwise.
This interface shall return the version of the header files used when building libpng as a short string in the format "1.0.0" through "99.99.99zz".
png_get_iCCP() shall return the embedded ICC profile data in iCCP chunk. "name" shall contain the profile name, *compression_type shall contain the compression type, profile shall contain teh International Color Consortium color profile data and *proflen shall contain the length of the profile data in bytes. *compression_type must always be set to PNG_COMPRESSION_TYPE_BASE.
On success, png_get_iCCP() shall return PNG_INFO_iCCP. Otherwise, the function shall return 0.
Valid values are PNG_INTERLACE_NONE, PNG_INTERLACE_ADAM7. Returns 0 if png_ptr or info_ptr is NULL.
png_get_libpng_ver() shall return the library version as a short string in the format "1.0.0" through "99.99.99zz".
png_get_oFFs() shall read the positive offset from the left edge of the screen from info_ptr to x_offset and the positive offset from the top edge of the screen to y_offset. The unit type shall be returned in unit_type, which can take the following values
| PNG_OFFSET_PIXEL |
| PNG_OFFSET_MICROMETER |
On success, png_get_oFFs() shall return PNG_INFO_oFFs. Otherwise, png_get_oFFs() shall return 0.
png_get_pHYs() shall return the physical pixel resolution of the image and the unit of resolution. Upon success, *res_x shall contain the horizontal resolution and *res_y shall contain the vertical resolution in pixels per unit. *unit_type will be set to PNG_RESOLUTION_METER if the resolution is expressed in pixels per meter. Otherwise *unit_type will be PNG_RESOLUTION_UNKNOWN.
Returns the pointer to user-defined structure containing information about the callback functions.
png_get_rowbytes() returns the number of bytes needed to hold a transformed row of an image.
png_get_rows() shall retrieve rows of image data from the info_ptr structure in an array of pointers to the pixel data for each row.
On success, png_get_rows() shall return an array of pointers to the pixel data for each row of the image.
png_get_sBIT() shall return the number of significant bit for each of the gray, red, blue and green color channels.
On success, png_get_sBIT() shall return PNG_INFO_sBIT. Otherwise, png_get_sBIT() shall return 0.
png_get_sRGB() shall return the rendering intent of an image to *srgb_intent if the sRGB chunk information is valid for the image.
PNG_INFO_sRGB - if png_ptr, info_ptr, srgb_intent are not NULL and sRGB chunk information is valid 0 - otherwise.
png_get_sBIT() shall return the time of last modification of the image if the tIME information is valid for the image.
PNG_INFO_tIME - if png_ptr, info_ptr, mod_time are not NULL and tIME information is valid 0 - otherwise.
png_get_tRNS() shall obtain the transparency data for paletted images and image types that don't need a full alpha channel from info_ptr. For a paletted image, the function retrieves the transparency values stored in the same order as the palette colors, starting from index 0. For non-paletted images, the function retrieves the single color value which is treated as fully transparent. If the transparency information is valid, i.e. PNG_INFO_tRNS bit is set for info_ptr->valid: *trans shall be set to the transparency values for a paletted image. Values for the data shall be in range [0,255], ranging from fully transparent to fully opaque, respectively. *num_trans shall be set to the number of transparency values *trans_values shall be set to the single color value specified for non-paletted images.
png_get_text() returns the text chunk information from the PNG stream in the array pointed to by text_ptr. It also returns the number of text chunks in num_text. text_ptr is an array of structure png_text whose members include:
| compression | type of compression used on text. Valid values are:
| |||||
| key | keyword for comment. Must contain 1-79 characters. | |||||
| text | text comment for current keyword. May be empty. | |||||
| text_length | length of text string after decompression. 0 for iTXt. |
This interface shall retrieve the unknown chunks from a PNG file.
The parameter png_ptr shall specify the PNG file.
The parameter info_ptr shall specify the PNG info structure.
The parameter unknowns shall specify an array of png_unknown_chunk structures containing the unknown chunks. The position of a structure in the array shall correspond to the order in which png_set_unknown_chunks() inserted its chunk into the PNG file, or in which it was read.
The png_unknown_chunkpp structure shall contain the following members.
| name | the name of the chunk | |
| data | the data of the chunk | |
| size | the size of the chunk's data | |
| location | the position of the chunk in the PNG file |
On success, this interface shall return the number of unknown chunks obtained.
On failure, this interface shall return 0.
This interface shall return the pointer to the user chunk data associated with the specified PNG file.
The parameter png_ptr shall specify the PNG file.
png_get_valid() shall obtain the validity of chunk data specified by the bits set in "flag". The following bits may be set in flag: PNG_INFO_gAMA PNG_INFO_sBIT PNG_INFO_cHRM PNG_INFO_PLTE PNG_INFO_tRNS PNG_INFO_bKGD PNG_INFO_hIST PNG_INFO_pHYs PNG_INFO_oFFs PNG_INFO_tIME PNG_INFO_pCAL PNG_INFO_sRGB PNG_INFO_iCCP PNG_INFO_sPLT PNG_INFO_sCAL PNG_INFO_IDAT
On success, png_get_valid() shall return "flag" with the chunk bits set. Otherwise, png_get_valid() shall return 0.
png_get_x_offset_pixels() shall obtain x offset in pixels for the image from its PNG_oFFs chunk data stored in info_ptr, if the unit for offset is pixels.
On success, png_get_x_offset_pixels() shall return x offset in pixels. Otherwise png_get_x_offset_pixels() shall return 0.
png_get_x_pixels_per_meter() shall obtain the horizontal pixel density in pixels per meter from its PNG_pHYs chunk data stored in info_ptr, if the unit for resolution is pixels per meter.
On success, png_get_x_pixels_per_meter() shall return horizontal pixel density in pixels per meter. Otherwise png_get_x_pixels_per_meter() shall return 0.
png_get_y_offset_pixels() shall obtain y offset in pixels for the image from its PNG_oFFs chunk data stored in info_ptr, if the unit for offset is pixels.
On success, png_get_y_offset_pixels() shall return y offset in pixels. Otherwise png_get_y_offset_pixels() shall return 0.
png_get_y_pixels_per_meter() shall obtain the vertical pixel density in pixels per meter from its PNG_pHYs chunk data stored in info_ptr, if the unit for resolution is pixels per meter.
On success, png_get_y_pixels_per_meter() shall return vertical pixel density in pixels per meter. Otherwise png_get_y_pixels_per_meter() shall return 0.
This interface shall initialize a PNG info structure. This interface is deprecated.
The parameter info_ptr shall specify the PNG info structure to initialize.
The parameter png_info_struct_size shall specify the size of the new structure.
Initialize the default input/output functions for the PNG file to standard C streams. To replace the default read and write functions, use png_set_read_fn() and png_set_write_fn() respectively.
The external variable png_libpng_ver
shall contain a character string value indicating the
version number of libpng.
An LSB conforming implementation shall return a value
at least as high as
PNG_LIBPNG_VER_STRING as
defined in this specification.
Invokes error handling function if the system is out of memory and sets PNG_FLAG_MALLOC_NULL_MEM_OK in member flags of png_struct.
This interface shall enable some MNG extensions for a PNG image wrapped in a MNG datastream.
The parameter png_ptr shall specify the PNG image.
The parameter mng_features_permitted shall specify
the logical OR of the features to be enabled, possibly including
PNG_ALL_MNG_FEATURES,
PNG_FLAG_MNG_EMPTY_PLTE, and
PNG_FLAG_MNG_FILTER_64.
This interface shall return the logical AND of the parameter mng_features_permitted with the set of MNG features supported by the local version of libpng.
This interface may not read or write a standalone PNG file; the PNG datastream must be embedded in a MNG datastream with an 8-byte MNG signature and MEND and MHDR chunks.
png_process_data() shall process data progressively from the PNG stream using callback functions set within png_set_progressive_read_fn(). The data is passed in "buffer" and length of data to be processed is specified by "length".
For non-NULL rows of interlaced images during progressive read, png_progressive_combine_row() shall combine the data for the current row with the previously processed row data. png_progressive_combine_row() shall return for NULL rows of interlaced images and memcpy rows for non-interlaced images.
png_read_end() reads the end of a PNG file after reading the image data, including any comments or time information at the end of the file. The function shall not read past the end of the file.
png_read_image() reads the entire image into memory at once. For each pass of an interlaced image, use png_read_rows() instead.
Reads the information before the actual image data from the PNG file. The function allows reading a file that already has the PNG signature bytes read from the stream.
png_read_png() shall provide the high-level read operation. The function shall read the entire image into memory. The integer "transforms" shall contain the logical OR of a set of the following transformation flags:
No transformation
Strip 16-bit samples to 8 bits
Discard the alpha channel
Expand 1, 2 and 4-bit samples to bytes
Change order of packed pixels to LSB first
Expand paletted images to RGB, grayscale to 8-bit images and tRNS chunks to alpha channels
Invert monochrome images
Normalize pixels to the sBIT depth
Flip RGB to BGR, RGBA to BGRA
Flip RGBA to ARGB or GA to AG
Change alpha from opacity to transparency
Byte-swap 16-bit samples
png_read_row() reads a row of actual image data. "row" holds the image pixels as they are processed. If the image is displayed after each pass, "display_row" is used to display a blurred progressive image. "display_row" can be NULL if the progressive image is not required.
Read "num_rows" rows of image data starting from "row". If the image is interlaced, the rows must contain the contents of the rows from the previous pass. If the image is displayed after each pass, "display_row" is used to display a blurred progressive image. "display_row" can be NULL if the progressive image is not required.
png_read_update_info() updates the structure pointed to by info_ptr to reflect any transformations that have been requested. For example, rowbytes will be updated to handle expansion of an interlaced image with png_read_update_info().
png_set_IHDR() shall set image header information in info_ptr. width is the image width in pixels. height is the image height in pixels. bit_depth is the bit depth of the image. Valid values shall include 1, 2, 4, 8, 16 and shall also depend on the color type. color_type is the type of image. Supported color types shall include: PNG_COLOR_TYPE_GRAY (bit depths 1, 2, 4, 8, 16) PNG_COLOR_TYPE_GRAY_ALPHA (bit depths 8, 16) PNG_COLOR_TYPE_PALETTE (bit depths 1, 2, 4, 8) PNG_COLOR_TYPE_RGB (bit depths 8, 16) PNG_COLOR_TYPE_RGB_ALPHA (bit depths 8, 16) PNG_COLOR_MASK_PALETTE PNG_COLOR_MASK_COLOR PNG_COLOR_MASK_ALPHA interlace_type is the image interlace method. Supported values shall include: PNG_INTERLACE_NONE or PNG_INTERLACE_ADAM7 compression_type is the method used for image compression. The value must be PNG_COMPRESSION_TYPE_DEFAULT. filter_type is the method used for image filtering. The value must be PNG_FILTER_TYPE_DEFAULT.
png_set_PLTE() shall set the array of color values used as palette for image to "palette". The palette shall include "num_palette" entries.
png_set_bKGD() shall set the background color of an image to "background" and sets bKGD chunk information to valid for the image.
png_set_background() shall set the background of an image with alpha channel or simple transparency with the specified background color. If background_gamma_code is set to PNG_BACKGROUND_GAMMA_SCREEN, it indicates that the supplied background color is in the gamma space of the display, else if it is set to PNG_BACKGROUND_GAMMA_FILE, the color is in the gamma space of the file. If the background color is supplied at the original bit-depth for a grayscale image that is expanded to truecolor or to a higher bit-depth, need_expand must be set to 1, but if the background color is supplied at the expanded bit-depth, need_expand must be set to 0. Similarly for paletted images, if background color is supplied as a palette index, need_expand must be set to 1, else if background color is supplied as an RGB triplet, need_expand must be set to 0.
png_set_cHRM() shall set the CIE x,y chromaticities of the red, green and blue display primaries for the image and the referenced white point. The values must range from 0 to 21474.83 both inclusive.
png_set_cHRM() shall report a non-fatal error and exit if any of the chormacity values lies outside the range 0 to 21474.83.
This interface shall set the size of
the libz compression buffer zbuf
for the specified PNG file.
The parameter png_ptr shall specify the PNG file for which to set the size of the compression buffer.
The parameter size shall specify the size to which to set the compression buffer, in bytes.
png_set_compression_level() shall set the compression level to "level". The valid values for "level" range from [0,9], corresponding directly to compression levels for zlib. The value 0 implies no compression and 9 implies maximal compression. Note: Tests have shown that zlib compression levels 3-6 usually perform as well as level 9 for PNG images, and do considerably fewer caclulations.
This interface shall set how much memory to use for the internal state during PNG compression.
The parameter png_ptr shall specify the PNG file to compress.
The parameter mem_level corresponds directly to the
memLevel parameter of the
libz deflateInit2_() interface.
This parameter shall specify how much memory to use for the internal state.
The value of mem_level must be between
1 and MAX_MEM_LEVEL.
Smaller values use less memory but are slower, while higher values use more memory to gain compression speed.
This interface shall set the PNG compression algorithm to use.
The parameter png_ptr shall specify the PNG file to compress.
The parameter method corresponds directly to the
method parameter of the
libz deflateInit2_() interface.
An LSB-conforming implementation
shall support the Z_DEFLATED method,
and may support other implementation defined methods.
This interface shall set the PNG compression strategy.
The parameter png_ptr shall specify the PNG file to compress.
The parameter strategy corresponds directly to the
strategy parameter of the
libz deflateInit2_() interface.
This parameter shall specify the PNG compression strategy to use:
one of
Z_DEFAULT_STRATEGY,
Z_FILTERED, and
Z_HUFFMAN_ONLY.
This interface shall set the PNG compression window size.
The parameter window_bits corresponds directly to the windowBits parameter of the libz deflateInit2_() interface. The value of this parameter equals the base 2 logarithm of the window size to use, and must be a value between 8 and 15.
png_set_dither() shall set transformation to dither file to 8-bit. For the given palette with num_palette number of colors, the number of colors in the palette shall be reduced to fit in "maximum_colors" if the palette is larger than maximum_colors. If supplied, the histogram is used to get better results of the reduced palette. For reducing the number of colors in palette, full_dither must be set to 0. If full_dither is set to 1, dithering cube shall be setup for RGB images to reduce the RGB file to a paletted file.
png_set_error_fn() shall replace the default error handling and warning functions with user defined function error_fn for handling fatal errors and function warning_fn for handling non-fatal errors. The replacement functions must do a longjmp to the last setjmp location if setjmp/longjmp method of error handling is used. If error_fn or warning_fn is NULL, the default functions for error handling shall be used.
png_set_expand() shall set transformation in png_ptr such that paletted images are expanded to RGB, grayscale images of bit-depth less than 8 are expanded to 8-bit images and tRNS chunks are expanded to alpha channels.
png_set_filler() shall set transformations in png_ptr such that a filler byte is added when an 8-bit grayscale image or 24-bit RGB image is read and a filler byte is deleted when an 8-bit grayscale image or 24-bit RGB image is written.
png_set_filter() shall set the filtering method used for scan-line filtering. The only valid value for "method" is 0. "filters" is a bitmap for which the following bits may be set. PNG_NO_FILTERS PNG_FILTER_NONE PNG_FILTER_SUB PNG_FILTER_UP PNG_FILTER_AVG PNG_FILTER_PAETH PNG_ALL_FILTERS
Sets the gamma value of an image to "file_gamma" and sets gAMA chunk information to valid for the image.
png_set_gama() shall set the transformation for gamma correction of the PNG file based on the screen gamma i.e. the display exponent. The gamma transformation may be turned off later if no semitransparent entries are present in the tRNS array for palette images.
png_set_gray_1_2_4_to_8() shall set transformation in png_ptr such that grayscale images of bit-depth less than 8 are expanded to 8-bit images. png_set_png_set_gray_1_2_4_to_8() is actually an alias for png_set_expand().
png_set_gray_to_rgb() shall set transformations such that the grayscale image is converted to 24-bit RGB.
png_set_iCCP() shall set the ICC component information to info_ptr. The arguments used to describe the ICC profile information have been described below:
| name | ICC profile name | |
| compression_type | compression type used must be 0 | |
| profile | profile data | |
| proflen | length of profile data |
png_set_interlace_handling() shall set the scheme to interlacing for writing an image and return the number of sub-images required to write the image.
png_set_interlace_handling() shall return 7 if the image is interlaced, otherwise png_set_interlace_handling() shall return 1.
This interface shall invert the level of opacity (alpha) of a PNG file.
The parameter png_ptr shall specify the PNG file for which to invert the opacity.
This interface shall specify a list of chunks in the input PNG stream and how to handle them. Any unspecified chunks shall be handled in the default way. The IEND and IHDR chunks must not be specified.
The parameter png_ptr shall specify the PNG file.
The parameter keep shall specify how the unknown chunks are to be handled (see below).
The parameter chunk_list shall specify the list of chunks that shall be affected. The value passed must be a string of bytes with five bytes per chunk, or NULL or \0 if the value of num_chunks is 0.
The parameter num_chunks shall specify the number of chunks to be affected. If the value is 0, all unknown chunks shall be affected.
The possible values of keep are as follows.
| 0 | handle unknown chunks in the default way | |
| 1 | do not keep unknown chunks | |
| 2 | keep unknown chunks only if they are safe to copy | |
| 3 | keep unknown chunks even if they are unsafe to copy |
The normal behavior of libpng is that known chunks are processed and unknown chunks are discarded. This interface reads both known and unknown chunks, handling them as specified by the user.
Unknown chunks specified to this interface are saved unchanged in a list of png_unknown_chunk structures. If a known chunk is specified in the list of unknown chunks, it will be handled per the keep parameter. If a chunk is specified in successive calls to this interface, the final call takes precedence.
This interface shall install custom memory allocation functions.
The parameter png_ptr shall specify the PNG file.
The parameter mem_ptr shall specify a struct provided by the user for memory functions.
The parameter malloc_fn shall specify the function used to allocate memory. If the value of this parameter is NULL, then the capability to allocate memory with the libpng ABI shall be disabled.
The parameter free_fn shall specify the function used to free memory. If the value of this parameter is NULL, then the capability to free memory with the libpng ABI shall be disabled.
png_set_oFFs() shall set the positive offset from the left edge of the screen to offset_x and the positive offset from the left edge of the screen to offset_y. The unit_type must be PNG_OFFSET_PIXEL if the offset is defined in pixels or PNG_OFFSET_MICROMETER if the offset is defined in microns.
png_set_pHYs() sets the physical resolution for the image in pixels per unit. The physical resolution in x direction is set to res_x and that in y direction is set to res_y. unit_type must be set to PNG_RESOLUTION_METER is the unit for resolution is pixels per unit, otherwise unit_type must be set to PNG_RESOLUTION_UNKNOWN.
png_set_packing() shall expand image to 1 pixel per byte for bit-depths 1, 2 and 4 without changing the order of the pixels. If png_set_packing() is not called, PNG files pack pixels of bit_depths 1, 2 and 4 into bytes as small as possible, for example, 8 pixels per byte for 1-bit files.
png_set_swap() shall change the pixel packing order for each byte for packed-pixel images with bit-depths 1, 2 or 4.
png_set_palette_to_rgb() shall set transformation in png_ptr such that paletted images are expanded to RGB. png_set_palette_to_rgb() is actually an alias for png_set_expand().
png_set_progressive_read_fn() shall provide function callbacks for which shall be called for processing image data by png_process_data(). "info_callback" shall be called to process header information, "row_callback" shall be called when each row is completed and "end_callback" shall be called to process end of image information. png_set_progressive_read_fn() must be called even if all callback functions are NULL. The user-defined structure pointed to by "user_ptr" may be retrieved from inside the callbacks using function get_progressive_ptr().
png_set_read_fn() sets the read_data_fn as the input function for reading PNG files instead of using standard C I/O stream functions. png_ptr - pointer to input data structure png_struct io_ptr - pointer to user-defined structure containing information about the input functions. This value may be NULL. read_data_fn - pointer to new input function that shall take the following arguments: - a pointer to a png_struct - a pointer to a structure where input data can be stored - 32-bit unsigned int to indicate number of bytes to read The input function should invoke png_error() to handle any fatal errors and png_warning() to handle non-fatal errors.
This interface shall install a custom callback function to handle unknown chunks in the input stream.
The parameter png_ptr shall specify the PNG file.
The parameter user_chunk_ptr shall specify a user pointer obtainable with png_get_user_chunk_ptr().
The parameter read_user_chunk_fn shall specify the custom callback function.
This interface shall install a custom input transformation callback function.
The parameter png_ptr shall specify the PNG file to be transformed.
The parameter read_user_transform_fn shall specify the custom callback function.
png_set_rgb_to_gray() shall set transformations such that the 24-bit RGB image is converted to grayscale.
png_set_rows() shall put rows of image data into the info_ptr structure, where row_pointers is an array of pointers to the pixel data for each row.
png_set_sBIT shall set the number of significant bits for each of gray, red, green and blue channels, whichever are appropriate for the given color type.
png_set_sRGB() shall set the rendering intent of an image as specified by srgb_intent and shall set the sRGB chunk information to valid for the image. The presence of sRGB chunk implies that the pixel data is in the sRGB color space. srgb_intent can take one of the following values
| PNG_sRGB_INTENT_SATURATION |
| PNG_sRGB_INTENT_PERCEPTUAL |
| PNG_sRGB_INTENT_ABSOLUTE |
| PNG_sRGB_INTENT_RELATIVE |
This interface shall set the rendering intent, gamma values, and CIE chromaticities of a PNG file.
The parameter png_ptr shall specify the PNG file.
The parameter info_ptr shall specify the PNG info structure.
The parameter srgb_intent shall specify the rendering intent. Because the sRGB chunk is present, the pixel data uses the sRGB color space. This interface shall also write gAMA and cHRM chunks with values consistent with sRGB.
If image data in a row buffer is stored in a bit depth other than those supported by PNG, png_set_shift() shall scale the values to a valid bit-depth defined by PNG format. For example, 3-bit data in range 0-7 is scaled to 4-bit PNG.
png_set_sig_bytes() shall store the number of bytes of the PNG file signature that have been read from the PNG stream.
png_set_strip_16() shall strip the pixels of a PNG stream with 16 bits per channel to 8 bits per channel.
PNG files store 16-bit pixels in network byte order (big-endian, ie most significant bytes first). png_set_swap() shall switch the byte-order to little-endian (ie, least significant bits first).
png_set_swap_alpha() shall swap data for an image with an alpha channel from RGBA format to ARGB format.
png_set_sBIT shall set the time of last modification of the image in info_ptr as specified by mod_time.
png_set_tRNS() shall set the transparency data for paletted images and image types that don't need a full alpha channel. For a paletted image, png_set_tRNS() shall set the array of transparency values for the palette colors to "trans". The number of transparency entries is given by "num_trans". For non-paletted images, png_set_tRNS() shall set the single color value or graylevel to "trans_values"
png_set_tRNS_to_alpha() shall set transformation in png_ptr such that tRNS chunks are expanded to alpha channels. png_set_tRNS_to_alpha() is actually an alias for png_set_expand().
png_set_text() shall store information for image comments given in text_ptr to info_ptr. text_ptr is an array of size num_text of png_text structures whose member fields include:
| compression | type of compression used on text. Valid values are:
| |||||
| key | keyword for comment. Must contain 1-79 characters. | |||||
| text | text comment for current keyword. May be empty. | |||||
| text_length | length of text string after decompression. 0 for iTXt. |
This interface shall set the location of an unknown chunk in a PNG file.
The parameter png_ptr shall specify the PNG file.
The parameter info_ptr shall specify the PNG info structure.
The parameter chunk shall specify the number of the chunk in the array of unknown chunks.
The parameter location shall specify the new location of the chunk within the PNG file.
This interface shall insert unknown chunks into a PNG file.
The parameter png_ptr shall specify the PNG file.
The parameter info_ptr shall specify the PNG info structure.
The parameter unknowns shall specify an array of png_unknown_chunk
structures containing the unknown chunks, as described under png_get_unknown_chunks().
The location member of a png_unknown_chunk structure can take several
special values (see below).
The parameter num_unknowns shall specify the number of unknown chunks.
The special values for the location members
of the png_unknown_chunk structures
are as follows.
| 0 | do not write the chunk | |
PNG_HAVE_IHDR | insert chunk before PLTE | |
PNG_HAVE_PLTE | insert chunk before IDAT | |
PNG_AFTER_IDAT | insert chunk after IDAT |
The location member of the png_unknown_chunk structure
is set automatically depending on how much of the PNG file has been written.
Its value can be changed after calling this interface.
The chunk is placed within a location according to its position in the array
of structures, as described under png_get_unknown_chunks().
png_set_write_fn() sets the write_data_fn as the output function for writing PNG files instead of using standard C I/O stream functions. png_ptr - pointer to output data structure png_struct io_ptr - pointer to user-defined structure containing information about the output functions. This value may be NULL. write_data_fn - pointer to new output function that shall take the following arguments: - a pointer to a png_struct - a pointer to a structure where output data can be stored - 32-bit unsigned int to indicate number of bytes to write The output function should invoke png_error() to handle any fatal errors and png_warning() to handle non-fatal errors. flush_data_fn - pointer to a new flush function that shall take a pointer to a png_struct as argument. This function shall flush any remaining data in buffers used by the output function. If the output function does not buffer output, a function prototype must still be supplied.
This interface shall install a custom callback function to be called after a row has been written.
The parameter png_ptr shall specify the PNG file to be transformed.
The parameter write_row_fn shall specify the custom callback function.
This interface shall install a custom output transformation callback function.
The parameter png_ptr shall specify the PNG file to be transformed.
The parameter write_user_transform_fn shall specify the custom callback function.
png_sig_cmp() checks whether the given number of bytes match the PNG signature starting from the start position. The function shall return non-zero if num_to_check == 0 or start > 7.
Zero - the given number of bytes starting from start position match the respective bytes of the PNG signature. Non-zero - the given number of bytes starting from start position do not match the respective bytes of the PNG signature or num_to_check == 0 or start > 7.
This interface shall update the palette with the previously specified transformations, and then start reading the specified PNG file.
The parameter png_ptr shall specify the PNG file to read.
png_warning() is the default function for handling non-fatal errors. The default function to handle warnings may be changed by using png_set_error_fn() to replace the warning function at run-time.
png_write_chunk() writes the start of a PNG chunk, the chunk data and the end of the chunk all at once.
png_write_end() writes the end of a PNG file to which the image data has already been written. The user may write time information or comments at the end of the PNG file.
Write the rows of given image data. If the image is not interlaced, the image shall be written in a single pass.
png_write_png() shall provide the high-level write operation. The function shall write the PNG stream if the entire image information is available in png_ptr. The integer "transforms" shall contain the logical OR of a set of the following transformation flags:
No transformation
Expand 1, 2 and 4-bit samples to bytes
Change order of packed pixels to LSB first
Invert monochrome images
Normalize pixels to the sBIT depth
Flip RGB to BGR, RGBA to BGRA
Flip RGBA to ARGB or GA to AG
Change alpha from opacity to transparency
Byte-swap 16-bit samples
Strip off filler bytes
Process and write a row of image data. The header information must have been written before the image data can be written.
Table 9-1 defines the library name and shared object name for the libjpeg library
The behavior of the interfaces in this library is specified by the following specifications:
| [LSB] This Specification |
An LSB conforming implementation shall provide the generic functions for JPEG Reference library specified in Table 9-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 9-2. libjpeg - JPEG Reference library Function Interfaces
| jpeg_CreateCompress [LSB] | jpeg_CreateDecompress [LSB] | jpeg_abort [LSB] |
| jpeg_abort_compress [LSB] | jpeg_abort_decompress [LSB] | jpeg_add_quant_table [LSB] |
| jpeg_alloc_huff_table [LSB] | jpeg_alloc_quant_table [LSB] | jpeg_calc_output_dimensions [LSB] |
| jpeg_consume_input [LSB] | jpeg_copy_critical_parameters [LSB] | jpeg_default_colorspace [LSB] |
| jpeg_destroy [LSB] | jpeg_destroy_compress [LSB] | jpeg_destroy_decompress [LSB] |
| jpeg_finish_compress [LSB] | jpeg_finish_decompress [LSB] | jpeg_finish_output [LSB] |
| jpeg_has_multiple_scans [LSB] | jpeg_input_complete [LSB] | jpeg_new_colormap [LSB] |
| jpeg_quality_scaling [LSB] | jpeg_read_coefficients [LSB] | jpeg_read_header [LSB] |
| jpeg_read_raw_data [LSB] | jpeg_read_scanlines [LSB] | jpeg_resync_to_restart [LSB] |
| jpeg_save_markers [LSB] | jpeg_set_colorspace [LSB] | jpeg_set_defaults [LSB] |
| jpeg_set_linear_quality [LSB] | jpeg_set_marker_processor [LSB] | jpeg_set_quality [LSB] |
| jpeg_simple_progression [LSB] | jpeg_start_compress [LSB] | jpeg_start_decompress [LSB] |
| jpeg_start_output [LSB] | jpeg_std_error [LSB] | jpeg_stdio_dest [LSB] |
| jpeg_stdio_src [LSB] | jpeg_suppress_tables [LSB] | jpeg_write_coefficients [LSB] |
| jpeg_write_m_byte [LSB] | jpeg_write_m_header [LSB] | jpeg_write_marker [LSB] |
| jpeg_write_raw_data [LSB] | jpeg_write_scanlines [LSB] | jpeg_write_tables [LSB] |
This section defines global identifiers and their values that are associated with interfaces contained in libjpeg. 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.
#define FAR
#define HAVE_PROTOTYPES
#define HAVE_UNSIGNED_CHAR
#define HAVE_UNSIGNED_SHORT
#define jpeg_create_compress(cinfo) \
jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, (size_t) sizeof(struct \
jpeg_compress_struct))
#define jpeg_create_decompress(cinfo) \
jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, (size_t) \
sizeof(struct jpeg_decompress_struct))
#define jpeg_common_fields \
struct jpeg_error_mgr * err; struct jpeg_memory_mgr * mem; struct \
jpeg_progress_mgr * progress; void * client_data; boolean \
is_decompressor; int global_state
#define GETJSAMPLE(value) ((int) (value))
#define GETJOCTET(value) (value)
#define JPEG_SUSPENDED 0
#define JPOOL_PERMANENT 0
#define JPEG_RST0 0xD0
#define JPEG_EOI 0xD9
#define JPEG_APP0 0xE0
#define JPEG_COM 0xFE
#define JPEG_HEADER_OK 1
#define JPEG_REACHED_SOS 1
#define JPOOL_IMAGE 1
#define C_MAX_BLOCKS_IN_MCU 10
#define D_MAX_BLOCKS_IN_MCU 10
#define MAX_COMPONENTS 10
#define CENTERJSAMPLE 128
#define NUM_ARITH_TBLS 16
#define JPEG_HEADER_TABLES_ONLY 2
#define JPEG_REACHED_EOI 2
#define JPOOL_NUMPOOLS 2
#define JMSG_LENGTH_MAX 200
#define MAXJSAMPLE 255
#define JPEG_ROW_COMPLETED 3
#define JPEG_SCAN_COMPLETED 4
#define MAX_COMPS_IN_SCAN 4
#define MAX_SAMP_FACTOR 4
#define NUM_HUFF_TBLS 4
#define NUM_QUANT_TBLS 4
#define JPEG_LIB_VERSION 62
#define DCTSIZE2 64
#define JPEG_MAX_DIMENSION 65500L
#define BITS_IN_JSAMPLE 8
#define DCTSIZE 8
#define JMSG_STR_PARM_MAX 80
#define JPP(arglist) arglist
#define EXTERN(type) extern type
#define JDCT_FASTEST JDCT_IFAST
#define JDCT_DEFAULT JDCT_ISLOW
#define LOCAL(type) static type
#define METHODDEF(type) static type
#define GLOBAL(type) type
#define JMETHOD(type,methodname,arglist) type (*methodname) arglist
struct jpeg_decompress_struct {
struct jpeg_error_mgr *err;
struct jpeg_memory_mgr *mem;
struct jpeg_progress_mgr *progress;
void *client_data;
boolean is_decompressor;
int global_state;
struct jpeg_source_mgr *src;
JDIMENSION image_width;
JDIMENSION image_height;
int num_components;
J_COLOR_SPACE jpeg_color_space;
J_COLOR_SPACE out_color_space;
unsigned int scale_num;
unsigned int scale_denom;
double output_gamma;
boolean buffered_image;
boolean raw_data_out;
J_DCT_METHOD dct_method;
boolean do_fancy_upsampling;
boolean do_block_smoothing;
boolean quantize_colors;
J_DITHER_MODE dither_mode;
boolean two_pass_quantize;
int desired_number_of_colors;
boolean enable_1pass_quant;
boolean enable_external_quant;
boolean enable_2pass_quant;
JDIMENSION output_width;
JDIMENSION output_height;
int out_color_components;
int output_components;
int rec_outbuf_height;
int actual_number_of_colors;
JSAMPARRAY colormap;
JDIMENSION output_scanline;
int input_scan_number;
JDIMENSION input_iMCU_row;
int output_scan_number;
JDIMENSION output_iMCU_row;
int *coef_bits;
JQUANT_TBL *quant_tbl_ptrs[4];
JHUFF_TBL *dc_huff_tbl_ptrs[4];
JHUFF_TBL *ac_huff_tbl_ptrs[4];
int data_precision;
jpeg_component_info *comp_info;
boolean progressive_mode;
boolean arith_code;
UINT8 arith_dc_L[16];
UINT8 arith_dc_U[16];
UINT8 arith_ac_K[16];
unsigned int restart_interval;
boolean saw_JFIF_marker;
UINT8 JFIF_major_version;
UINT8 JFIF_minor_version;
UINT8 density_unit;
UINT16 X_density;
UINT16 Y_density;
boolean saw_Adobe_marker;
UINT8 Adobe_transform;
boolean CCIR601_sampling;
jpeg_saved_marker_ptr marker_list;
int max_h_samp_factor;
int max_v_samp_factor;
int min_DCT_scaled_size;
JDIMENSION total_iMCU_rows;
JSAMPLE *sample_range_limit;
int comps_in_scan;
jpeg_component_info *cur_comp_info[4];
JDIMENSION MCUs_per_row;
JDIMENSION MCU_rows_in_scan;
int blocks_in_MCU;
int MCU_membership[10];
int Ss;
int Se;
int Ah;
int Al;
int unread_marker;
struct jpeg_decomp_master *master;
struct jpeg_d_main_controller *main;
struct jpeg_d_coef_controller *coef;
struct jpeg_d_post_controller *post;
struct jpeg_input_controller *inputctl;
struct jpeg_marker_reader *marker;
struct jpeg_entropy_decoder *entropy;
struct jpeg_inverse_dct *idct;
struct jpeg_upsampler *upsample;
struct jpeg_color_deconverter *cconvert;
struct jpeg_color_quantizer *cquantize;
};
struct jpeg_error_mgr {
void (*error_exit) (j_common_ptr);
void (*emit_message) (j_common_ptr, int);
void (*output_message) (j_common_ptr);
void (*format_message) (j_common_ptr, char *);
void (*reset_error_mgr) (j_common_ptr);
int msg_code;
union {
int i[8];
char s[80];
} msg_parm;
int trace_level;
long int num_warnings;
const char *const *jpeg_message_table;
int last_jpeg_message;
const char *const *addon_message_table;
int first_addon_message;
int last_addon_message;
};
struct jpeg_common_struct {
struct jpeg_error_mgr *err;
struct jpeg_memory_mgr *mem;
struct jpeg_progress_mgr *progress;
void *client_data;
boolean is_decompressor;
int global_state;
};
struct jpeg_memory_mgr {
void *(*alloc_small) (j_common_ptr, int, size_t);
void *(*alloc_large) (j_common_ptr, int, size_t);
JSAMPARRAY(*alloc_sarray) (j_common_ptr, int, JDIMENSION, JDIMENSION);
JBLOCKARRAY(*alloc_barray) (j_common_ptr, int, JDIMENSION,
JDIMENSION);
jvirt_sarray_ptr(*request_virt_sarray) (j_common_ptr, int, boolean,
JDIMENSION, JDIMENSION,
JDIMENSION);
jvirt_barray_ptr(*request_virt_barray) (j_common_ptr, int, boolean,
JDIMENSION, JDIMENSION,
JDIMENSION);
void (*realize_virt_arrays) (j_common_ptr);
JSAMPARRAY(*access_virt_sarray) (j_common_ptr, jvirt_sarray_ptr,
JDIMENSION, JDIMENSION, boolean);
JBLOCKARRAY(*access_virt_barray) (j_common_ptr, jvirt_barray_ptr,
JDIMENSION, JDIMENSION, boolean);
void (*free_pool) (j_common_ptr, int);
void (*self_destruct) (j_common_ptr);
long int max_memory_to_use;
long int max_alloc_chunk;
};
typedef struct jpeg_common_struct *j_common_ptr;
typedef unsigned char JSAMPLE;
typedef JSAMPLE *JSAMPROW;
typedef JSAMPROW *JSAMPARRAY;
typedef unsigned int JDIMENSION;
typedef short int JCOEF;
typedef JCOEF JBLOCK[64];
typedef JBLOCK *JBLOCKROW;
typedef JBLOCKROW *JBLOCKARRAY;
typedef struct jvirt_sarray_control *jvirt_sarray_ptr;
typedef int boolean;
typedef struct jvirt_barray_control *jvirt_barray_ptr;
struct jpeg_progress_mgr {
void (*progress_monitor) (j_common_ptr);
long int pass_counter;
long int pass_limit;
int completed_passes;
int total_passes;
};
struct jpeg_source_mgr {
const JOCTET *next_input_byte;
size_t bytes_in_buffer;
void (*init_source) (j_decompress_ptr);
boolean(*fill_input_buffer) (j_decompress_ptr);
void (*skip_input_data) (j_decompress_ptr, long int);
boolean(*resync_to_restart) (j_decompress_ptr, int);
void (*term_source) (j_decompress_ptr);
};
typedef unsigned char JOCTET;
typedef struct jpeg_decompress_struct *j_decompress_ptr;
typedef enum {
JCS_UNKNOWN = 0,
JCS_GRAYSCALE = 1,
JCS_RGB = 2,
JCS_YCbCr = 3,
JCS_CMYK = 4,
JCS_YCCK = 5
} J_COLOR_SPACE;
typedef enum {
JDCT_ISLOW = 0,
JDCT_IFAST = 1,
JDCT_FLOAT = 2
} J_DCT_METHOD;
typedef enum {
JDITHER_NONE = 0,
JDITHER_ORDERED = 1,
JDITHER_FS = 2
} J_DITHER_MODE;
typedef short unsigned int UINT16;
typedef struct {
UINT16 quantval[64];
boolean sent_table;
} JQUANT_TBL;
typedef unsigned char UINT8;
typedef struct {
UINT8 bits[17];
UINT8 huffval[256];
boolean sent_table;
} JHUFF_TBL;
typedef struct {
int component_id;
int component_index;
int h_samp_factor;
int v_samp_factor;
int quant_tbl_no;
int dc_tbl_no;
int ac_tbl_no;
JDIMENSION width_in_blocks;
JDIMENSION height_in_blocks;
int DCT_scaled_size;
JDIMENSION downsampled_width;
JDIMENSION downsampled_height;
boolean component_needed;
int MCU_width;
int MCU_height;
int MCU_blocks;
int MCU_sample_width;
int last_col_width;
int last_row_height;
JQUANT_TBL *quant_table;
void *dct_table;
} jpeg_component_info;
struct jpeg_marker_struct {
jpeg_saved_marker_ptr next;
UINT8 marker;
unsigned int original_length;
unsigned int data_length;
JOCTET *data;
};
typedef struct jpeg_marker_struct *jpeg_saved_marker_ptr;
struct jpeg_compress_struct {
struct jpeg_error_mgr *err;
struct jpeg_memory_mgr *mem;
struct jpeg_progress_mgr *progress;
void *client_data;
boolean is_decompressor;
int global_state;
struct jpeg_destination_mgr *dest;
JDIMENSION image_width;
JDIMENSION image_height;
int input_components;
J_COLOR_SPACE in_color_space;
double input_gamma;
int data_precision;
int num_components;
J_COLOR_SPACE jpeg_color_space;
jpeg_component_info *comp_info;
JQUANT_TBL *quant_tbl_ptrs[4];
JHUFF_TBL *dc_huff_tbl_ptrs[4];
JHUFF_TBL *ac_huff_tbl_ptrs[4];
UINT8 arith_dc_L[16];
UINT8 arith_dc_U[16];
UINT8 arith_ac_K[16];
int num_scans;
const jpeg_scan_info *scan_info;
boolean raw_data_in;
boolean arith_code;
boolean optimize_coding;
boolean CCIR601_sampling;
int smoothing_factor;
J_DCT_METHOD dct_method;
unsigned int restart_interval;
int restart_in_rows;
boolean write_JFIF_header;
UINT8 JFIF_major_version;
UINT8 JFIF_minor_version;
UINT8 density_unit;
UINT16 X_density;
UINT16 Y_density;
boolean write_Adobe_marker;
JDIMENSION next_scanline;
boolean progressive_mode;
int max_h_samp_factor;
int max_v_samp_factor;
JDIMENSION total_iMCU_rows;
int comps_in_scan;
jpeg_component_info *cur_comp_info[4];
JDIMENSION MCUs_per_row;
JDIMENSION MCU_rows_in_scan;
int blocks_in_MCU;
int MCU_membership[10];
int Ss;
int Se;
int Ah;
int Al;
struct jpeg_comp_master *master;
struct jpeg_c_main_controller *main;
struct jpeg_c_prep_controller *prep;
struct jpeg_c_coef_controller *coef;
struct jpeg_marker_writer *marker;
struct jpeg_color_converter *cconvert;
struct jpeg_downsampler *downsample;
struct jpeg_forward_dct *fdct;
struct jpeg_entropy_encoder *entropy;
jpeg_scan_info *script_space;
int script_space_size;
};
struct jpeg_destination_mgr {
JOCTET *next_output_byte;
size_t free_in_buffer;
void (*init_destination) (j_compress_ptr);
boolean(*empty_output_buffer) (j_compress_ptr);
void (*term_destination) (j_compress_ptr);
};
typedef struct jpeg_compress_struct *j_compress_ptr;
typedef struct {
int comps_in_scan;
int component_index[4];
int Ss;
int Se;
int Ah;
int Al;
} jpeg_scan_info;
typedef JSAMPARRAY *JSAMPIMAGE;
typedef boolean(*jpeg_marker_parser_method) (j_decompress_ptr);
extern void jpeg_CreateCompress(j_compress_ptr, int, size_t);
extern void jpeg_CreateDecompress(j_decompress_ptr, int, size_t);
extern void jpeg_abort(j_common_ptr);
extern void jpeg_abort_compress(j_compress_ptr);
extern void jpeg_abort_decompress(j_decompress_ptr);
extern void jpeg_add_quant_table(j_compress_ptr, int, const unsigned int *,
int, boolean);
extern JHUFF_TBL *jpeg_alloc_huff_table(j_common_ptr);
extern JQUANT_TBL *jpeg_alloc_quant_table(j_common_ptr);
extern void jpeg_calc_output_dimensions(j_decompress_ptr);
extern int jpeg_consume_input(j_decompress_ptr);
extern void jpeg_copy_critical_parameters(j_decompress_ptr,
j_compress_ptr);
extern void jpeg_default_colorspace(j_compress_ptr);
extern void jpeg_destroy(j_common_ptr);
extern void jpeg_destroy_compress(j_compress_ptr);
extern void jpeg_destroy_decompress(j_decompress_ptr);
extern void jpeg_finish_compress(j_compress_ptr);
extern boolean jpeg_finish_decompress(j_decompress_ptr);
extern boolean jpeg_finish_output(j_decompress_ptr);
extern boolean jpeg_has_multiple_scans(j_decompress_ptr);
extern boolean jpeg_input_complete(j_decompress_ptr);
extern void jpeg_new_colormap(j_decompress_ptr);
extern int jpeg_quality_scaling(int);
extern jvirt_barray_ptr *jpeg_read_coefficients(j_decompress_ptr);
extern int jpeg_read_header(j_decompress_ptr, boolean);
extern JDIMENSION jpeg_read_raw_data(j_decompress_ptr, JSAMPIMAGE,
JDIMENSION);
extern JDIMENSION jpeg_read_scanlines(j_decompress_ptr, JSAMPARRAY,
JDIMENSION);
extern boolean jpeg_resync_to_restart(j_decompress_ptr, int);
extern void jpeg_save_markers(j_decompress_ptr, int, unsigned int);
extern void jpeg_set_colorspace(j_compress_ptr, J_COLOR_SPACE);
extern void jpeg_set_defaults(j_compress_ptr);
extern void jpeg_set_linear_quality(j_compress_ptr, int, boolean);
extern void jpeg_set_marker_processor(j_decompress_ptr, int,
jpeg_marker_parser_method);
extern void jpeg_set_quality(j_compress_ptr, int, boolean);
extern void jpeg_simple_progression(j_compress_ptr);
extern void jpeg_start_compress(j_compress_ptr, boolean);
extern boolean jpeg_start_decompress(j_decompress_ptr);
extern boolean jpeg_start_output(j_decompress_ptr, int);
extern struct jpeg_error_mgr *jpeg_std_error(struct jpeg_error_mgr *);
extern void jpeg_stdio_dest(j_compress_ptr, FILE *);
extern void jpeg_stdio_src(j_decompress_ptr, FILE *);
extern void jpeg_suppress_tables(j_compress_ptr, boolean);
extern void jpeg_write_coefficients(j_compress_ptr, jvirt_barray_ptr *);
extern void jpeg_write_m_byte(j_compress_ptr, int);
extern void jpeg_write_m_header(j_compress_ptr, int, unsigned int);
extern void jpeg_write_marker(j_compress_ptr, int, const JOCTET *,
unsigned int);
extern JDIMENSION jpeg_write_raw_data(j_compress_ptr, JSAMPIMAGE,
JDIMENSION);
extern JDIMENSION jpeg_write_scanlines(j_compress_ptr, JSAMPARRAY,
JDIMENSION);
extern void jpeg_write_tables(j_compress_ptr); |
The interfaces defined on the following pages are included in libjpeg and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.
Other interfaces listed in Section 9.1 shall behave as described in the referenced base document.
The function jpeg_CreateCompress() shall allocate and initialize a JPEG compression object of type struct jpeg_compress_struct. The error handler structure of type struct jpeg_error_mgr must be initialized before making a call to jpeg_CreateCompress(). JPEG_LIB_VERSION and size of the structure used to hold the JPEG compression object struct jpeg_compress_struct must be passed in arguments version and size respectively.
The function jpeg_CreateDecompress() shall allocate and initialize a JPEG decompression object of type struct jpeg_decompress_struct. The error handler structure of type struct jpeg_error_mgr must be initialized before making a call to jpeg_CreateDecompress(). JPEG_LIB_VERSION and size of the structure used to hold the JPEG compression object struct jpeg_decompress_struct must be passed in arguments version and size respectively.
The function jpeg_abort() shall abort the processing of a compression or decompression operation. The function shall return the given object to an idle state releasing any working memory. The object may be reused after a call to jpeg_abort().
The function jpeg_abort_compress() shall abort the processing of a JPEG compression operation. The function shall return the given compression object to an idle state releasing any working memory. The compression object may be reused after a call to jpeg_abort_compress().
The function jpeg_abort_decompress() shall abort the processing of a JPEG decompression operation. The function shall return the given decompression object to an idle state releasing any working memory. The decompression object may be reused after a call to jpeg_abort_decompress().
The function jpeg_add_quant_table() shall add a quantization table parameter at the "table_slot" index of the quantization table array. "basic_table" points to an array of 64 unsigned ints given in normal array order. These values are multiplied by "scale_factor"/100. The values are limited to the range 1..65535. If "force_baseline" is TRUE, the computed quantization table entries are limited to 1..255 for JPEG baseline compatibility.
jpeg_add_quant_table() shall return error and exit if "table_slot" is >= NUM_QUANT_TBLS. jpeg_add_quant_table() shall return error and exit if the state of the compression object indicates that the compression cycle has started.
jpeg_alloc_huff_table() shall allocate memory for a structure holding Huffman coding table.
jpeg_alloc_huff_table() shall return a pointer to allocated data structure for the Huffman coding table.
jpeg_alloc_quant_table() shall allocate memory for a structure holding quantization table.
jpeg_alloc_quant_table() shall return a pointer to allocated data structure for the quantization table.
jpeg_calc_output_dimensions() computes the output image dimensions based on the current compression parameter settings in the compression object. The following dimensions shall be computed:
| output_width | actual width of output image | |
| output_height | actual height of output image | |
| out_color_components | number of color components in out_color_space | |
| output_components | number of color components returned | |
| rec_outbuf_height | recommended height of scanline buffer |
jpeg_consume_input() shall decode the input data as it arrives, even if it is not to be displayed.
jpeg_consume_input() shall return with one of the following return codes:
| JPEG_REACHED_SOS | reached SOS marker | |
| JPEG_REACHED_EOI | reached EOI marker | |
| JPEG_ROW_COMPLETED | completed reading one MCU row of compressed data | |
| JPEG_SCAN_COMPLETED | completed reading last MCU row of compressed scan | |
| JPEG_SUSPENDED | if data source module requests suspension of the decompressor. |
jpeg_copy_critical_parameters() shall initialize the compression object with default parameters, then copy the parameters needed for lossless transcoding from the source decompression object.
jpeg_default_colorspace() shall set the JPEG color space to a default value based on the color space of the input image.
The function jpeg_destroy() shall deallocate and release all memory associated with the JPEG object. The object itself and the error manager struct allocated by the application should not be freed by this function.
The function jpeg_destroy_compress() shall deallocate and release all memory associated with the compression object. The jpeg_compress_struct itself and the error manager struct allocated by the application should not be freed by this function.
The function jpeg_destroy_decompress() shall deallocate and release all memory associated with the decompression object. The jpeg_decompress_struct itself and the error manager struct allocated by the application should not be freed by this function.
The function jpeg_finish_compress() shall set the compression state to completion. Any remaining bufferload of data shall be written to the data destination. jpeg_finish_compress() shall also release working memory associated with the JPEG object.
jpeg_finish_compress() shall return error if the function is invoked before writing the specified number of scanlines.
The function jpeg_finish_decompress() shall set the decompression state to completion. Any remaining input data shall be decoded and consumed. jpeg_finish_decompress() shall also release working memory associated with the JPEG object.
jpeg_finish_decompress() shall return FALSE if data source requests suspension of the decompressor. Otherwise, jpeg_finish_decompress() shall return TRUE.
jpeg_finish_decompress() shall return error if the function is invoked before reading the specified number of scanlines.
jpeg_start_output() shall change state for completion of an output pass in buffered-image mode. The scan number shall be incremented if the end-of-image marker is not reached.
jpeg_finish_output() shall return FALSE if decompression is suspended. Otherwise, jpeg_finish_output() shall return TRUE.
jpeg_has_multiple_scans() shall return TRUE if the incoming image file has more than one scan.
jpeg_input_complete() shall return TRUE if the end-of-image marker has not been read for the input image file.
jpeg_new_colormap() shall select 2-pass quantizer for using an external colormap and notify the quantizer of the switch to a colormap that is different from the one used in the previous pass. The new colormap must be set using cinfo.colormap before a call to jpeg_new_colormap().
The function jpeg_quality_scaling() shall convert a user-specified quality rating to a percentage scaling factor for an underlying quantization table, using IJG-recommended scaling curve. The input "quality" factor ranges from 0 to 100.
jpeg_read_coefficients() shall return the contents of the JPEG image file as DCT coefficients. The entire image shall be read as a set of virtual coefficient-block arrays, one array per component. The return value is a pointer to an array of virtual-array descriptors.
Each block in the block arrays shall contain quantized coefficient values in normal array order and not JPEG zigzag order. The block arrays shall contain only DCT blocks containing real data; any entirely-dummy blocks added to fill out interleaved MCUs at the right or bottom edges of the image shall be discarded during reading and shall not be stored in the block arrays. The size of each block array can be determined from the width_in_blocks and height_in_blocks fields of the component's comp_info entry.
jpeg_read_coefficients() shall return a pointer to an array of virtual-array descriptors containing DCT coefficients.
The function jpeg_read_header() shall read the JPEG datastream until the first SOS marker is encountered. The function shall initialize all decompression parameters to default values and save all tables and parameters in the decompression object structure.
jpeg_read_header() shall return with one of the following return codes:
if SOS marker is reached
for an abbreviated input image, if EOI is reached
if data source module requests suspension of the decompressor.
jpeg_read_raw_data() shall return upto max_lines number of scanlines of raw downsampled data into the JSAMPIMAGE array argument. The data buffer must be of atleast max_v_samp_factor*DCTSIZE scanlines as jpeg_read_raw_data() shall return one MCU row per call.
The passed max_lines value must be atleast (cinfo->max_v_samp_factor * DCTSIZE). Before starting the decompression sequence, cinfo->raw_data_out must be set to TRUE.
jpeg_read_raw_data() shall return the number of scanlines processed. jpeg_read_raw_data() shall return 0 if the data source is suspended.
jpeg_read_raw_data() shall report error and exit if max_lines is less than (cinfo->max_v_samp_factor*DCTSIZE).
jpeg_read_scanlines() shall return upto the maximum number of scanlines of decompressed image data. This may be less than the number requested in cases such as bottom of image, data source suspension, and operating modes that emit multiple scanlines at a time. Image data shall be returned in top-to-bottom scanline order.
jpeg_read_scanlines() shall report a non-fatal error if the requested number of scanlines is greater than the height of the original unscaled image.
jpeg_resync_to_restart() is the default resync procedure that a data source manager can invoke when the decompressor fails to find a restart (RSTn) marker where one is expected. The function shall find a suitable point for resuming decompression and position the input stream to the next data segment. The desired restart marker number (0..7) is passed as argument "desired".
jpeg_resync_to_restart() shall return FALSE if decompression is suspended. Otherwise, jpeg_start_output() shall return TRUE.
jpeg_save_markers() shall obtain length_limit bytes of special markers of type specified by marker_code. The marker_code shall take one of the following values: JPEG_COM, JPEG_APP0 - JPEG_APP15. The marker contents shall be stored in the marker field of cinfo. If length_limit is 0xFFFF, all marker bytes are saved.
jpeg_set_colorspace() shall set the JPEG file's colorspace to the given color space. The function may change the value of other compression parameters that are dependent on color space.
jpeg_set_colorspace() shall return error and exit if the state of the compression object indicates that the compression cycle has started.
The function jpeg_set_defaults() shall set all JPEG compression parameters to default values using the input image's color space.
jpeg_set_defaults() shall return error and exit if the state of the compression object indicates that the compression cycle has started.
The function jpeg_set_linear_quality() shall construct JPEG quantization tables from the sample table values in JPEG specification Section K.1, multiplied by the given percentage scale factor. If "force_baseline" is TRUE, the computed quantization table entries are limited to 1..255 for JPEG baseline compatibility.
jpeg_set_marker_processor() shall set a marker processor routine having signature boolean jpeg_marker_parser_method() j_decompress_ptr cinfo The marker processor routine must return TRUE if the marker and its parameters are processed completely. The routine must return FALSE if it is forced to suspend before reaching the end of marker parameters.
The function jpeg_set_quality() shall construct JPEG quantization tables for the given quality setting. The quality value ranges from 0..100. If "force_baseline" is TRUE, the computed quantization table entries are limited to 1..255 for JPEG baseline compatibility.
The function jpeg_simple_progression() shall generate a default scan script for writing a progressive JPEG file.
The function jpeg_start_compress() shall initialize state for a JPEG compression cycle. The compression parameters, data destination and source image information must be set prior to the invocation of jpeg_start_compress(). Setting write_all_tables to TRUE shall indicate that a complete JPEG interchange datastream will be written and all Huffman tables shall be emited. If write_all_tables is set to FALSE, the default behavior shall be to emit a pure abbreviated image with no tables.
The function jpeg_start_decompress() shall initialize state for a JPEG decompression cycle and allocate working memory. The JPEG datastream header must be read prior to the invokation of jpeg_start_decompress() to obtain the parameters for decompression.
jpeg_start_output() shall initialize state for an output pass in buffered-image mode. The scan_number indicates the scan of the image to be displayed. Scan numbers start from 1. The buffered-image mode must be selected before starting an output pass by setting cinfo.buffered_image = TRUE.
jpeg_start_output() shall return FALSE if decompression is suspended. Otherwise, jpeg_start_output() shall return TRUE.
jpeg_std_error() shall update the given jpeg_error_mgr object with standard error handling methods.
jpeg_stdio_dest() shall initialize state for output to the given stdio stream outfile. The stream outfile must be in open state.
jpeg_stdio_src() shall initialize state for input from the given stdio stream infile. The stream infile must be in open state.
The function jpeg_suppress_tables() forcibly suppress or un-suppresses all quantization and Huffman tables. If "suppress" is TRUE, the function shall mark all currently defined tables as already written. Otherwise, the tables will be marked as not written. This controls the emission of tables on subsequent calls to jpeg_start_compress().
jpeg_write_coefficients() shall write the contents of the JPEG file as DCT coefficients. The DCT coefficients shall be obtained from the array of virtual block array descriptors pointed to be "coeff_arrays". The number of arrays to be written is obtained from cinfo.num_components. Note: The virtual arrays may not be realized before jpeg_write_coefficients() is called. The virtual arrays requested from the compression object's memory manager may be realized by calling jpeg_write_coefficients() as a side-effect.
jpeg_write_marker_header() shall emit the marker header. The marker header consists of the marker code derived from "marker" followed by the length of marker data "datalen".
jpeg_write_marker() shall emit the marker header and "datalen" number of marker bytes obtained from "*dataptr". The marker header consists of the marker code followed by the length of marker data.
jpeg_write_raw_data() shall write the compressed image data for raw downsampled data supplied in the JSAMPIMAGE array argument. The number of scanlines passed in num_lines to jpeg_write_raw_data() is measured in terms of the component with the largest v_samp_factor.
If the image dimensions are not a multiple of the MCU size, the data must be padded to a multiple of a DCT block in each component, such that each downsampled row must contain a multiple of 8 valid samples, and there must be a multiple of 8 sample rows for each component. Data must be padded so that the passed num_lines value is atleast (cinfo->max_v_samp_factor * DCTSIZE). jpeg_write_raw_data() shall process one MCU row per call which is (cinfo->comp_info[0].v_samp_factor*DCTSIZE) sample rows of each component.
Before starting the compression sequence, cinfo->raw_data_in must be set to TRUE. cinfo->jpeg_color_space must be set to colorspace to be used in the JPEG file. The sampling factors, cinfo->comp_info[i].h_samp_factor and cinfo->comp_info[i].v_samp_factor must be set to the dimensions of the supplied data.
jpeg_write_raw_data() shall return the number of scanlines processed. jpeg_write_raw_data() shall return 0 if the compressor is suspended.
jpeg_write_raw_data() shall report error and exit if num_lines is less than (cinfo->max_v_samp_factor*DCTSIZE).
jpeg_write_scanlines() shall write the number of scanlines of image data to be compressed from in-memory buffers. The image data shall be written in top-to-bottom scanline order.
jpeg_write_scanlines() shall report a non-fatal error if the requested number of scanlines is greater than the height of the original unscaled image.
jpeg_write_tables() shall create a tables-only file by writing an abbreviated datastream containing only SOI, DQT and/or DHT and EOI markers. All the quantization and Huffman tables currently defined in the compression object shall be emitted unless their sent_table flag is set to TRUE. Once emitted, sent_table flag shall be set for all tables written.
Table 10-1 defines the library name and shared object name for the libfontconfig library
The behavior of the interfaces in this library is specified by the following specifications:
| [fontconfig] Fontconfig Developers Reference |
An LSB conforming implementation shall provide the generic functions for Font Customization and Configuration Library specified in Table 10-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 10-2. libfontconfig - Font Customization and Configuration Library Function Interfaces
| FcAtomicCreate [fontconfig] | FcAtomicDeleteNew [fontconfig] | FcAtomicDestroy [fontconfig] |
| FcAtomicLock [fontconfig] | FcAtomicNewFile [fontconfig] | FcAtomicOrigFile [fontconfig] |
| FcAtomicReplaceOrig [fontconfig] | FcAtomicUnlock [fontconfig] | FcBlanksAdd [fontconfig] |
| FcBlanksCreate [fontconfig] | FcBlanksDestroy [fontconfig] | FcBlanksIsMember [fontconfig] |
| FcCharSetAddChar [fontconfig] | FcCharSetCopy [fontconfig] | FcCharSetCount [fontconfig] |
| FcCharSetCreate [fontconfig] | FcCharSetDestroy [fontconfig] | FcCharSetEqual [fontconfig] |
| FcCharSetFirstPage [fontconfig] | FcCharSetHasChar [fontconfig] | FcCharSetIntersect [fontconfig] |
| FcCharSetIntersectCount [fontconfig] | FcCharSetIsSubset [fontconfig] | FcCharSetNextPage [fontconfig] |
| FcCharSetSubtract [fontconfig] | FcCharSetSubtractCount [fontconfig] | FcCharSetUnion [fontconfig] |
| FcConfigAppFontAddDir [fontconfig] | FcConfigAppFontAddFile [fontconfig] | FcConfigAppFontClear [fontconfig] |
| FcConfigBuildFonts [fontconfig] | FcConfigDestroy [fontconfig] | FcConfigEnableHome [fontconfig] |
| FcConfigFilename [fontconfig] | FcConfigGetBlanks [fontconfig] | FcConfigGetCache [fontconfig] |
| FcConfigGetConfigDirs [fontconfig] | FcConfigGetConfigFiles [fontconfig] | FcConfigGetCurrent [fontconfig] |
| FcConfigGetFontDirs [fontconfig] | FcConfigGetFonts [fontconfig] | FcConfigGetRescanInverval [fontconfig] |
| FcConfigHome [fontconfig] | FcConfigParseAndLoad [fontconfig] | FcConfigSetCurrent [fontconfig] |
| FcConfigSetRescanInverval [fontconfig] | FcConfigSubstitute [fontconfig] | FcConfigSubstituteWithPat [fontconfig] |
| FcConfigUptoDate [fontconfig] | FcDefaultSubstitute [fontconfig] | FcDirCacheValid [fontconfig] |
| FcDirSave [fontconfig] | FcDirScan [fontconfig] | FcFileScan [fontconfig] |
| FcFini [fontconfig] | FcFontList [fontconfig] | FcFontMatch [fontconfig] |
| FcFontRenderPrepare [fontconfig] | FcFontSetAdd [fontconfig] | FcFontSetCreate [fontconfig] |
| FcFontSetDestroy [fontconfig] | FcFontSetList [fontconfig] | FcFontSetMatch [fontconfig] |
| FcFontSetPrint [fontconfig] | FcFontSetSort [fontconfig] | FcFontSetSortDestroy [fontconfig] |
| FcFontSort [fontconfig] | FcFreeTypeCharIndex [fontconfig] | FcFreeTypeCharSet [fontconfig] |
| FcFreeTypeCharSetAndSpacing [fontconfig] | FcFreeTypeQuery [fontconfig] | FcGetVersion [fontconfig] |
| FcInit [fontconfig] | FcInitBringUptoDate [fontconfig] | FcInitLoadConfig [fontconfig] |
| FcInitLoadConfigAndFonts [fontconfig] | FcInitReinitialize [fontconfig] | FcLangSetAdd [fontconfig] |
| FcLangSetCompare [fontconfig] | FcLangSetContains [fontconfig] | FcLangSetCopy [fontconfig] |
| FcLangSetCreate [fontconfig] | FcLangSetDestroy [fontconfig] | FcLangSetEqual [fontconfig] |
| FcLangSetHasLang [fontconfig] | FcLangSetHash [fontconfig] | FcMatrixCopy [fontconfig] |
| FcMatrixEqual [fontconfig] | FcMatrixMultiply [fontconfig] | FcMatrixRotate [fontconfig] |
| FcMatrixScale [fontconfig] | FcMatrixShear [fontconfig] | FcNameConstant [fontconfig] |
| FcNameGetConstant [fontconfig] | FcNameGetObjectType [fontconfig] | FcNameParse [fontconfig] |
| FcNameRegisterConstants [fontconfig] | FcNameRegisterObjectTypes [fontconfig] | FcNameUnparse [fontconfig] |
| FcNameUnregisterConstants [fontconfig] | FcNameUnregisterObjectTypes [fontconfig] | FcObjectSetAdd [fontconfig] |
| FcObjectSetBuild [fontconfig] | FcObjectSetCreate [fontconfig] | FcObjectSetDestroy [fontconfig] |
| FcObjectSetVaBuild [fontconfig] | FcPatternAdd [fontconfig] | FcPatternAddBool [fontconfig] |
| FcPatternAddCharSet [fontconfig] | FcPatternAddDouble [fontconfig] | FcPatternAddFTFace [fontconfig] |
| FcPatternAddInteger [fontconfig] | FcPatternAddLangSet [fontconfig] | FcPatternAddMatrix [fontconfig] |
| FcPatternAddString [fontconfig] | FcPatternAddWeak [fontconfig] | FcPatternBuild [fontconfig] |
| FcPatternCreate [fontconfig] | FcPatternDel [fontconfig] | FcPatternDestroy [fontconfig] |
| FcPatternDuplicate [fontconfig] | FcPatternEqual [fontconfig] | FcPatternEqualSubset [fontconfig] |
| FcPatternGet [fontconfig] | FcPatternGetBool [fontconfig] | FcPatternGetCharSet [fontconfig] |
| FcPatternGetDouble [fontconfig] | FcPatternGetFTFace [fontconfig] | FcPatternGetInteger [fontconfig] |
| FcPatternGetLangSet [fontconfig] | FcPatternGetMatrix [fontconfig] | FcPatternGetString [fontconfig] |
| FcPatternHash [fontconfig] | FcPatternPrint [fontconfig] | FcPatternReference [fontconfig] |
| FcPatternVaBuild [fontconfig] | FcStrBasename [fontconfig] | FcStrCmp [fontconfig] |
| FcStrCmpIgnoreCase [fontconfig] | FcStrCopy [fontconfig] | FcStrCopyFilename [fontconfig] |
| FcStrDirname [fontconfig] | FcStrListCreate [fontconfig] | FcStrListDone [fontconfig] |
| FcStrListNext [fontconfig] | FcStrSetAdd [fontconfig] | FcStrSetAddFilename [fontconfig] |
| FcStrSetCreate [fontconfig] | FcStrSetDel [fontconfig] | FcStrSetDestroy [fontconfig] |
| FcStrSetEqual [fontconfig] | FcStrSetMember [fontconfig] | FcUcs4ToUtf8 [fontconfig] |
| FcUtf16Len [fontconfig] | FcUtf16ToUcs4 [fontconfig] | FcUtf8Len [fontconfig] |
| FcUtf8ToUcs4 [fontconfig] | FcValueDestroy [fontconfig] | FcValueEqual [fontconfig] |
| FcValuePrint [fontconfig] | FcValueSave [fontconfig] |
This section defines global identifiers and their values that are associated with interfaces contained in libfontconfig. 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.
extern FT_UInt FcFreeTypeCharIndex(FT_Face, FcChar32); extern FcCharSet *FcFreeTypeCharSet(FT_Face, FcBlanks *); extern FcCharSet *FcFreeTypeCharSetAndSpacing(FT_Face, FcBlanks *, int *); extern FcBool FcPatternAddFTFace(FcPattern *, const char *, const FT_Face); extern FcResult FcPatternGetFTFace(const FcPattern *, const char *, int, FT_Face *); |
#define FcObjectSetVapBuild(__ret__,__first__,__va__) \
{ FcObjectSet *__os__; const char *__ob__; __ret__ = 0; __os__ = \
FcObjectSetCreate (); if (!__os__) goto _FcObjectSetVapBuild_bail0; \
__ob__ = __first__; while (__ob__) { if (!FcObjectSetAdd (__os__, \
__ob__)) goto _FcObjectSetVapBuild_bail1; __ob__ = va_arg (__va__, \
const char *); } __ret__ = __os__; _FcObjectSetVapBuild_bail1: if \
(!__ret__ && __os__) FcObjectSetDestroy (__os__); \
_FcObjectSetVapBuild_bail0: ; }
#define FcPatternVapBuild(result,orig,va) \
{ FcPattern *__p__ = (orig); const char *__o__; FcValue __v__; if \
(!__p__) { __p__ = FcPatternCreate (); if (!__p__) goto \
_FcPatternVapBuild_bail0; } for (;;) { __o__ = va_arg (va, const char \
*); if (!__o__) break; __v__.type = va_arg (va, FcType); switch \
(__v__.type) { case FcTypeVoid: goto _FcPatternVapBuild_bail1; case \
FcTypeInteger: __v__.u.i = va_arg (va, int); break; case FcTypeDouble: \
__v__.u.d = va_arg (va, double); break; case FcTypeString: __v__.u.s = \
va_arg (va, FcChar8 *); break; case FcTypeBool: __v__.u.b = va_arg \
(va, FcBool); break; case FcTypeMatrix: __v__.u.m = va_arg (va, \
FcMatrix *); break; case FcTypeCharSet: __v__.u.c = va_arg (va, \
FcCharSet *); break; case FcTypeFTFace: __v__.u.f = va_arg (va, \
FT_Face); break; case FcTypeLangSet: __v__.u.l = va_arg (va, FcLangSet \
*); break; } if (!FcPatternAdd (__p__, __o__, __v__, FcTrue)) goto \
_FcPatternVapBuild_bail1; } result = __p__; goto \
_FcPatternVapBuild_return; _FcPatternVapBuild_bail1: if (!orig) \
FcPatternDestroy (__p__); _FcPatternVapBuild_bail0: result = (void*)0; \
_FcPatternVapBuild_return: ; } |
#define _FCFUNCPROTOBEGIN
#define _FCFUNCPROTOEND
#define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
#define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
#define FcIsUpper(c) ((0101 <= (c) && (c) <= 0132))
#define FcIsLower(c) ((0141 <= (c) && (c) <= 0172))
#define FC_CHARSET_DONE ((FcChar32) -1)
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
#define FcMatrixInit(m) ((m)->xx = (m)->yy = 1, (m)->xy = (m)->yx = 0)
#define FC_CHARSET_MAP_SIZE (256/32)
#define FcToLower(c) (FcIsUpper(c) ? (c) - 0101 + 0141 : (c))
#define FC_HINT_NONE 0
#define FC_PROPORTIONAL 0
#define FC_RGBA_UNKNOWN 0
#define FC_SLANT_ROMAN 0
#define FC_WEIGHT_THIN 0
#define FcFalse 0
#define FC_CACHE_VERSION "1"
#define FC_HINT_SLIGHT 1
#define FC_RGBA_RGB 1
#define FcTrue 1
#define FC_MONO 100
#define FC_SLANT_ITALIC 100
#define FC_WEIGHT_MEDIUM 100
#define FC_WIDTH_NORMAL 100
#define FC_CHARCELL 110
#define FC_SLANT_OBLIQUE 110
#define FC_WIDTH_SEMIEXPANDED 113
#define FC_WIDTH_EXPANDED 125
#define FC_WIDTH_EXTRAEXPANDED 150
#define FC_WEIGHT_DEMIBOLD 180
#define FC_HINT_MEDIUM 2
#define FC_MAJOR 2
#define FC_REVISION 2
#define FC_RGBA_BGR 2
#define FC_WEIGHT_BOLD 200
#define FC_WIDTH_ULTRAEXPANDED 200
#define FC_WEIGHT_EXTRABOLD 205
#define FC_WEIGHT_BLACK 210
#define FC_HINT_FULL 3
#define FC_MINOR 3
#define FC_RGBA_VRGB 3
#define FC_RGBA_VBGR 4
#define FC_WEIGHT_EXTRALIGHT 40
#define FC_RGBA_NONE 5
#define FC_WEIGHT_LIGHT 50
#define FC_WIDTH_ULTRACONDENSED 50
#define FC_UTF8_MAX_LEN 6
#define FC_WIDTH_EXTRACONDENSED 63
#define FC_WEIGHT_BOOK 75
#define FC_WIDTH_CONDENSED 75
#define FC_WEIGHT_REGULAR 80
#define FC_WIDTH_SEMICONDENSED 87
#define FC_DUAL 90
#define FC_ANTIALIAS "antialias"
#define FC_ASPECT "aspect"
#define FC_AUTOHINT "autohint"
#define FC_CAPABILITY "capability"
#define FC_CHAR_HEIGHT "charheight"
#define FC_CHARSET "charset"
#define FC_CHAR_WIDTH "charwidth"
#define FC_DPI "dpi"
#define FC_EMBOLDEN "embolden"
#define FC_FAMILY "family"
#define FC_FAMILYLANG "familylang"
#define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK
#define FC_WEIGHT_SEMIBOLD FC_WEIGHT_DEMIBOLD
#define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD
#define FC_WEIGHT_ULTRALIGHT FC_WEIGHT_EXTRALIGHT
#define FC_WEIGHT_NORMAL FC_WEIGHT_REGULAR
#define FC_FILE "file"
#define FC_FONTFORMAT "fontformat"
#define FC_FONTVERSION "fontversion"
#define FC_FOUNDRY "foundry"
#define FC_FT_FACE "ftface"
#define FC_FULLNAME "fullname"
#define FC_FULLNAMELANG "fullnamelang"
#define FC_GLOBAL_ADVANCE "globaladvance"
#define FC_HINTING "hinting"
#define FC_HINT_STYLE "hintstyle"
#define FC_INDEX "index"
#define FC_LANG "lang"
#define FC_MATRIX "matrix"
#define FC_MINSPACE "minspace"
#define FC_OUTLINE "outline"
#define FC_PIXEL_SIZE "pixelsize"
#define FC_RASTERIZER "rasterizer"
#define FC_RGBA "rgba"
#define FC_SCALABLE "scalable"
#define FC_SCALE "scale"
#define FC_SIZE "size"
#define FC_SLANT "slant"
#define FC_SOURCE "source"
#define FC_SPACING "spacing"
#define FC_STYLE "style"
#define FC_STYLELANG "stylelang"
#define FC_VERTICAL_LAYOUT "verticallayout"
#define FC_WEIGHT "weight"
#define FC_WIDTH "width"
typedef int FcBool;
typedef struct _FcPattern FcPattern;
typedef enum _FcType {
FcTypeVoid = 0,
FcTypeInteger = 1,
FcTypeDouble = 2,
FcTypeString = 3,
FcTypeBool = 4,
FcTypeMatrix = 5,
FcTypeCharSet = 6,
FcTypeFTFace = 7,
FcTypeLangSet = 8
} FcType;
typedef unsigned char FcChar8;
typedef struct _FcMatrix {
double xx;
double xy;
double yx;
double yy;
} FcMatrix;
typedef struct _FcCharSet FcCharSet;
typedef struct _FcLangSet FcLangSet;
typedef struct _FcValue {
FcType type;
union {
const FcChar8 *s;
int i;
FcBool b;
double d;
const FcMatrix *m;
const FcCharSet *c;
void *f;
const FcPattern *p;
const FcLangSet *l;
} u;
} FcValue;
typedef struct _FcStrList FcStrList;
typedef struct _FcConfig FcConfig;
typedef struct _FcStrSet FcStrSet;
typedef unsigned int FcChar32;
typedef enum _FcMatchKind {
FcMatchPattern = 0,
FcMatchFont = 1
} FcMatchKind;
typedef struct _FcObjectSet {
int nobject;
int sobject;
const char **objects;
} FcObjectSet;
typedef enum {
FcEndianBig = 0,
FcEndianLittle = 1
} FcEndian;
typedef struct _FcAtomic FcAtomic;
typedef struct _FcConstant {
const FcChar8 *name;
const char *object;
int value;
} FcConstant;
typedef struct _FcFontSet {
int nfont;
int sfont;
FcPattern **fonts;
} FcFontSet;
typedef enum _FcSetName {
FcSetSystem = 0,
FcSetApplication = 1
} FcSetName;
typedef struct _FcBlanks FcBlanks;
typedef enum _FcResult {
FcResultMatch = 0,
FcResultNoMatch = 1,
FcResultTypeMismatch = 2,
FcResultNoId = 3,
FcResultOutOfMemory = 4
} FcResult;
typedef struct _FcObjectType {
const char *object;
FcType type;
} FcObjectType;
typedef struct _FcGlobalCache FcGlobalCache;
typedef enum _FcLangResult {
FcLangEqual = 0,
FcLangDifferentCountry = 1,
FcLangDifferentLang = 2
} FcLangResult;
typedef short unsigned int FcChar16;
extern FcAtomic *FcAtomicCreate(const FcChar8 * file);
extern void FcAtomicDeleteNew(FcAtomic * atomic);
extern void FcAtomicDestroy(FcAtomic * atomic);
extern FcBool FcAtomicLock(FcAtomic * atomic);
extern FcChar8 *FcAtomicNewFile(FcAtomic * atomic);
extern FcChar8 *FcAtomicOrigFile(FcAtomic * atomic);
extern FcBool FcAtomicReplaceOrig(FcAtomic * atomic);
extern void FcAtomicUnlock(FcAtomic * atomic);
extern FcBool FcBlanksAdd(FcBlanks * b, FcChar32 ucs4);
extern FcBlanks *FcBlanksCreate(void);
extern void FcBlanksDestroy(FcBlanks * b);
extern FcBool FcBlanksIsMember(FcBlanks * b, FcChar32 ucs4);
extern FcBool FcCharSetAddChar(FcCharSet * fcs, FcChar32 ucs4);
extern FcCharSet *FcCharSetCopy(FcCharSet * src);
extern FcChar32 FcCharSetCount(const FcCharSet * a);
extern FcCharSet *FcCharSetCreate(void);
extern void FcCharSetDestroy(FcCharSet * fcs);
extern FcBool FcCharSetEqual(const FcCharSet * a, const FcCharSet * b);
extern FcChar32 FcCharSetFirstPage(const FcCharSet * a, FcChar32 * map,
FcChar32 * next);
extern FcBool FcCharSetHasChar(const FcCharSet * fcs, FcChar32 ucs4);
extern FcCharSet *FcCharSetIntersect(const FcCharSet * a,
const FcCharSet * b);
extern FcChar32 FcCharSetIntersectCount(const FcCharSet * a,
const FcCharSet * b);
extern FcBool FcCharSetIsSubset(const FcCharSet * a, const FcCharSet * b);
extern FcChar32 FcCharSetNextPage(const FcCharSet * a, FcChar32 * map,
FcChar32 * next);
extern FcCharSet *FcCharSetSubtract(const FcCharSet * a,
const FcCharSet * b);
extern FcChar32 FcCharSetSubtractCount(const FcCharSet * a,
const FcCharSet * b);
extern FcCharSet *FcCharSetUnion(const FcCharSet * a, const FcCharSet * b);
extern FcBool FcConfigAppFontAddDir(FcConfig * config,
const FcChar8 * dir);
extern FcBool FcConfigAppFontAddFile(FcConfig * config,
const FcChar8 * file);
extern void FcConfigAppFontClear(FcConfig * config);
extern FcBool FcConfigBuildFonts(FcConfig * config);
extern void FcConfigDestroy(FcConfig * config);
extern FcBool FcConfigEnableHome(FcBool enable);
extern FcChar8 *FcConfigFilename(const FcChar8 * url);
extern FcBlanks *FcConfigGetBlanks(FcConfig * config);
extern FcChar8 *FcConfigGetCache(FcConfig * config);
extern FcStrList *FcConfigGetConfigDirs(FcConfig * config);
extern FcStrList *FcConfigGetConfigFiles(FcConfig * config);
extern FcConfig *FcConfigGetCurrent(void);
extern FcStrList *FcConfigGetFontDirs(FcConfig * config);
extern FcFontSet *FcConfigGetFonts(FcConfig * config, FcSetName set);
extern int FcConfigGetRescanInverval(FcConfig * config);
extern FcChar8 *FcConfigHome(void);
extern FcBool FcConfigParseAndLoad(FcConfig * config, const FcChar8 * file,
FcBool complain);
extern FcBool FcConfigSetCurrent(FcConfig * config);
extern FcBool FcConfigSetRescanInverval(FcConfig * config,
int rescanInterval);
extern FcBool FcConfigSubstitute(FcConfig * config, FcPattern * p,
FcMatchKind kind);
extern FcBool FcConfigSubstituteWithPat(FcConfig * config, FcPattern * p,
FcPattern * p_pat,
FcMatchKind kind);
extern FcBool FcConfigUptoDate(FcConfig * config);
extern void FcDefaultSubstitute(FcPattern * pattern);
extern FcBool FcDirCacheValid(const FcChar8 * cache_file);
extern FcBool FcDirSave(FcFontSet * set, FcStrSet * dirs,
const FcChar8 * dir);
extern FcBool FcDirScan(FcFontSet * set, FcStrSet * dirs,
FcGlobalCache * cache, FcBlanks * blanks,
const FcChar8 * dir, FcBool force);
extern FcBool FcFileScan(FcFontSet * set, FcStrSet * dirs,
FcGlobalCache * cache, FcBlanks * blanks,
const FcChar8 * file, FcBool force);
extern void FcFini(void);
extern FcFontSet *FcFontList(FcConfig * config, FcPattern * p,
FcObjectSet * os);
extern FcPattern *FcFontMatch(FcConfig * config, FcPattern * p,
FcResult * result);
extern FcPattern *FcFontRenderPrepare(FcConfig * config, FcPattern * pat,
FcPattern * font);
extern FcBool FcFontSetAdd(FcFontSet * s, FcPattern * font);
extern FcFontSet *FcFontSetCreate(void);
extern void FcFontSetDestroy(FcFontSet * s);
extern FcFontSet *FcFontSetList(FcConfig * config, FcFontSet * *sets,
int nsets, FcPattern * p,
FcObjectSet * os);
extern FcPattern *FcFontSetMatch(FcConfig * config, FcFontSet * *sets,
int nsets, FcPattern * p,
FcResult * result);
extern void FcFontSetPrint(const FcFontSet * s);
extern FcFontSet *FcFontSetSort(FcConfig * config, FcFontSet * *sets,
int nsets, FcPattern * p, FcBool trim,
FcCharSet * *csp, FcResult * result);
extern void FcFontSetSortDestroy(FcFontSet * fs);
extern FcFontSet *FcFontSort(FcConfig * config, FcPattern * p, FcBool trim,
FcCharSet * *csp, FcResult * result);
extern FcPattern *FcFreeTypeQuery(const FcChar8 * file, int id,
FcBlanks * blanks, int *count);
extern int FcGetVersion(void);
extern FcBool FcInit(void);
extern FcBool FcInitBringUptoDate(void);
extern FcConfig *FcInitLoadConfig(void);
extern FcConfig *FcInitLoadConfigAndFonts(void);
extern FcBool FcInitReinitialize(void);
extern FcBool FcLangSetAdd(FcLangSet * ls, const FcChar8 * lang);
extern FcLangResult FcLangSetCompare(const FcLangSet * lsa,
const FcLangSet * lsb);
extern FcBool FcLangSetContains(const FcLangSet * lsa,
const FcLangSet * lsb);
extern FcLangSet *FcLangSetCopy(const FcLangSet * ls);
extern FcLangSet *FcLangSetCreate(void);
extern void FcLangSetDestroy(FcLangSet * ls);
extern FcBool FcLangSetEqual(const FcLangSet * lsa, const FcLangSet * lsb);
extern FcLangResult FcLangSetHasLang(const FcLangSet * ls,
const FcChar8 * lang);
extern FcChar32 FcLangSetHash(const FcLangSet * ls);
extern FcMatrix *FcMatrixCopy(const FcMatrix * mat);
extern FcBool FcMatrixEqual(const FcMatrix * mat1, const FcMatrix * mat2);
extern void FcMatrixMultiply(FcMatrix * result, const FcMatrix * a,
const FcMatrix * b);
extern void FcMatrixRotate(FcMatrix * m, double c, double s);
extern void FcMatrixScale(FcMatrix * m, double sx, double sy);
extern void FcMatrixShear(FcMatrix * m, double sh, double sv);
extern FcBool FcNameConstant(FcChar8 * string, int *result);
extern const FcConstant *FcNameGetConstant(FcChar8 * string);
extern const FcObjectType *FcNameGetObjectType(const char *object);
extern FcPattern *FcNameParse(const FcChar8 * name);
extern FcBool FcNameRegisterConstants(const FcConstant * consts,
int nconsts);
extern FcBool FcNameRegisterObjectTypes(const FcObjectType * types,
int ntype);
extern FcChar8 *FcNameUnparse(FcPattern * pat);
extern FcBool FcNameUnregisterConstants(const FcConstant * consts,
int nconsts);
extern FcBool FcNameUnregisterObjectTypes(const FcObjectType * types,
int ntype);
extern FcBool FcObjectSetAdd(FcObjectSet * os, const char *object);
extern FcObjectSet *FcObjectSetBuild(const char *first, ...);
extern FcObjectSet *FcObjectSetCreate(void);
extern void FcObjectSetDestroy(FcObjectSet * os);
extern FcObjectSet *FcObjectSetVaBuild(const char *first, va_list va);
extern FcBool FcPatternAdd(FcPattern * p, const char *object,
FcValue value, FcBool append);
extern FcBool FcPatternAddBool(FcPattern * p, const char *object,
FcBool b);
extern FcBool FcPatternAddCharSet(FcPattern * p, const char *object,
const FcCharSet * c);
extern FcBool FcPatternAddDouble(FcPattern * p, const char *object,
double d);
extern FcBool FcPatternAddInteger(FcPattern * p, const char *object,
int i);
extern FcBool FcPatternAddLangSet(FcPattern * p, const char *object,
const FcLangSet * ls);
extern FcBool FcPatternAddMatrix(FcPattern * p, const char *object,
const FcMatrix * s);
extern FcBool FcPatternAddString(FcPattern * p, const char *object,
const FcChar8 * s);
extern FcBool FcPatternAddWeak(FcPattern * p, const char *object,
FcValue value, FcBool append);
extern FcPattern *FcPatternBuild(FcPattern * orig, ...);
extern FcPattern *FcPatternCreate(void);
extern FcBool FcPatternDel(FcPattern * p, const char *object);
extern void FcPatternDestroy(FcPattern * p);
extern FcPattern *FcPatternDuplicate(const FcPattern * p);
extern FcBool FcPatternEqual(const FcPattern * pa, const FcPattern * pb);
extern FcBool FcPatternEqualSubset(const FcPattern * pa,
const FcPattern * pb,
const FcObjectSet * os);
extern FcResult FcPatternGet(const FcPattern * p, const char *object,
int id, FcValue * v);
extern FcResult FcPatternGetBool(const FcPattern * p, const char *object,
int n, FcBool * b);
extern FcResult FcPatternGetCharSet(const FcPattern * p,
const char *object, int n,
FcCharSet * *c);
extern FcResult FcPatternGetDouble(const FcPattern * p, const char *object,
int n, double *d);
extern FcResult FcPatternGetInteger(const FcPattern * p,
const char *object, int n, int *i);
extern FcResult FcPatternGetLangSet(const FcPattern * p,
const char *object, int n,
FcLangSet * *ls);
extern FcResult FcPatternGetMatrix(const FcPattern * p, const char *object,
int n, FcMatrix * *s);
extern FcResult FcPatternGetString(const FcPattern * p, const char *object,
int n, FcChar8 * *s);
extern FcChar32 FcPatternHash(const FcPattern * p);
extern void FcPatternPrint(const FcPattern * p);
extern void FcPatternReference(FcPattern * p);
extern FcPattern *FcPatternVaBuild(FcPattern * orig, va_list va);
extern FcChar8 *FcStrBasename(const FcChar8 * file);
extern int FcStrCmp(const FcChar8 * s1, const FcChar8 * s2);
extern int FcStrCmpIgnoreCase(const FcChar8 * s1, const FcChar8 * s2);
extern FcChar8 *FcStrCopy(const FcChar8 * s);
extern FcChar8 *FcStrCopyFilename(const FcChar8 * s);
extern FcChar8 *FcStrDirname(const FcChar8 * file);
extern FcStrList *FcStrListCreate(FcStrSet * set);
extern void FcStrListDone(FcStrList * list);
extern FcChar8 *FcStrListNext(FcStrList * list);
extern FcBool FcStrSetAdd(FcStrSet * set, const FcChar8 * s);
extern FcBool FcStrSetAddFilename(FcStrSet * set, const FcChar8 * s);
extern FcStrSet *FcStrSetCreate(void);
extern FcBool FcStrSetDel(FcStrSet * set, const FcChar8 * s);
extern void FcStrSetDestroy(FcStrSet * set);
extern FcBool FcStrSetEqual(FcStrSet * sa, FcStrSet * sb);
extern FcBool FcStrSetMember(FcStrSet * set, const FcChar8 * s);
extern int FcUcs4ToUtf8(FcChar32 ucs4, FcChar8 * dest);
extern FcBool FcUtf16Len(const FcChar8 * string, FcEndian endian, int len,
int *nchar, int *wchar);
extern int FcUtf16ToUcs4(const FcChar8 * src_orig, FcEndian endian,
FcChar32 * dst, int len);
extern FcBool FcUtf8Len(const FcChar8 * string, int len, int *nchar,
int *wchar);
extern int FcUtf8ToUcs4(const FcChar8 * src_orig, FcChar32 * dst, int len);
extern void FcValueDestroy(FcValue v);
extern FcBool FcValueEqual(FcValue va, FcValue vb);
extern void FcValuePrint(const FcValue v);
extern FcValue FcValueSave(FcValue v); |
An LSB conforming implementation shall provide the commands and utilities as described in Table 11-1, with at least the behavior described as mandatory in the referenced underlying specification, with the following exceptions:
If any operand (except one which follows --) starts with a
hyphen, the behavior is unspecified.
Rationale (Informative): Applications should place options before operands, or use
--, as needed. This text is needed because, by default, GNU option parsing differs from POSIX, unless the environment variablePOSIXLY_CORRECTis set. For example, ls . -a in GNU ls means to list the current directory, showing all files (that is,"."is an operand and-ais an option). In POSIX,"."and-aare both operands, and the command means to list the current directory, and also the file named -a. Suggesting that applications rely on the setting of thePOSIXLY_CORRECTenvironment variable, or try to set it, seems worse than just asking the applications to invoke commands in ways which work with either the POSIX or GNU behaviors.
Referenced Specification(s)
[1]. This Specification
This section contains descriptions for commands and utilities whose specified behavior in the LSB contradicts or extends the standards referenced. It also contains commands and utilities only required by the LSB and not specified by other standards.
fc-cache scans the font directories on the system and builds font information cache files for applications using fontconfig for their font handling. If directory arguments are not given, fc-cache uses each directory in the current font configuration. Each directory is scanned for font files readable by FreeType. A cache is created which contains properties of each font and the associated filename. This cache is used to speed up application startup when using the fontconfig library.
fc-cache [ -fsvV? ] [ --force ] [ --system-only ] [ --verbose ] [ --version ] [ --help ] [ dirs ]
This program follows the usual GNU command line syntax, with long options starting with two dashes ('-'). A summary of options is included below.
| -f --force | Force re-generation of apparently up-to-date cache files, overriding the timestamp checking. | |
| -s --system-only | Only scan system-wide directories, omitting the places located in the user's home directory. | |
| -v --verbose | Display status information while busy. | |
| -? --help | Show summary of options. | |
| -V --version | Show version of the program and exit. | |
| dirs | A list of directories to scan for fonts. |
fc-list lists fonts and styles available on the system for applications using fontconfig.
This program follows the usual GNU command line syntax, with long options starting with two dashes ('-'). A summary of options is included below.
| -v --verbose | Display status information while busy. | |
| -? --help | Show summary of options. | |
| -V --version | Show version of the program and exit. | |
| pattern | If this argument is set, only fonts matching pattern are displayed. | |
| element | If set, the element property is displayed for matching fonts. |
fc-match matches font-pattern (empty pattern by default) using the normal fontconfig matching rules to find the best font available. If --sort is given, the sorted list of best matching fonts is displayed. With --verbose, the whole font pattern for each match is printed, otherwise only the file, family and style are printed.
Table 12-1 defines the library name and shared object name for the libfreetype library
The behavior of the interfaces in this library is specified by the following specifications:
| [freetype] FreeType Reference |
| [LSB] This Specification |
An LSB conforming implementation shall provide the generic functions for FreeType Library specified in Table 12-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 12-2. libfreetype - FreeType Library Function Interfaces
| FT_Activate_Size [freetype] | FT_Add_Default_Modules [freetype] | FT_Add_Module [freetype] |
| FT_Angle_Diff [freetype] | FT_Atan2 [freetype] | FT_Attach_File [freetype] |
| FT_Attach_Stream [freetype] | FT_Bitmap_Convert [freetype] | FT_Bitmap_Copy [freetype] |
| FT_Bitmap_Done [freetype] | FT_Bitmap_Embolden [freetype] | FT_Bitmap_New [freetype] |
| FT_CeilFix [freetype] | FT_Cos [freetype] | FT_DivFix [freetype] |
| FT_Done_Face [freetype] | FT_Done_FreeType [freetype] | FT_Done_Glyph [freetype] |
| FT_Done_Library [freetype] | FT_Done_Size [freetype] | FT_FloorFix [freetype] |
| FT_Get_BDF_Charset_ID [freetype] | FT_Get_BDF_Property [freetype] | FT_Get_CMap_Language_ID [freetype] |
| FT_Get_Char_Index [freetype] | FT_Get_Charmap_Index [freetype] | FT_Get_First_Char [freetype] |
| FT_Get_Glyph [freetype] | FT_Get_Glyph_Name [freetype] | FT_Get_Kerning [freetype] |
| FT_Get_MM_Var [freetype] | FT_Get_Module [freetype] | FT_Get_Multi_Master [freetype] |
| FT_Get_Name_Index [freetype] | FT_Get_Next_Char [freetype] | FT_Get_PFR_Advance [freetype] |
| FT_Get_PFR_Kerning [freetype] | FT_Get_PFR_Metrics [freetype] | FT_Get_PS_Font_Info [freetype] |
| FT_Get_PS_Font_Private [freetype] | FT_Get_Postscript_Name [freetype] | FT_Get_Renderer [freetype] |
| FT_Get_Sfnt_Name [freetype] | FT_Get_Sfnt_Name_Count [freetype] | FT_Get_Sfnt_Table [freetype] |
| FT_Get_X11_Font_Format [LSB] | FT_Glyph_Copy [freetype] | FT_Glyph_Get_CBox [freetype] |
| FT_Glyph_Stroke [freetype] | FT_Glyph_StrokeBorder [freetype] | FT_Glyph_To_Bitmap [freetype] |
| FT_Glyph_Transform [freetype] | FT_Has_PS_Glyph_Names [freetype] | FT_Init_FreeType [freetype] |
| FT_Library_Version [freetype] | FT_List_Add [freetype] | FT_List_Finalize [freetype] |
| FT_List_Find [freetype] | FT_List_Insert [freetype] | FT_List_Iterate [freetype] |
| FT_List_Remove [freetype] | FT_List_Up [freetype] | FT_Load_Char [freetype] |
| FT_Load_Glyph [freetype] | FT_Load_Sfnt_Table [freetype] | FT_Matrix_Invert [freetype] |
| FT_Matrix_Multiply [freetype] | FT_MulDiv [freetype] | FT_MulFix [freetype] |
| FT_New_Face [freetype] | FT_New_Library [freetype] | FT_New_Memory_Face [freetype] |
| FT_New_Size [freetype] | FT_OpenType_Validate [freetype] | FT_Open_Face [freetype] |
| FT_Outline_Check [freetype] | FT_Outline_Copy [freetype] | FT_Outline_Decompose [freetype] |
| FT_Outline_Done [freetype] | FT_Outline_GetInsideBorder [freetype] | FT_Outline_GetOutsideBorder [freetype] |
| FT_Outline_Get_BBox [freetype] | FT_Outline_Get_Bitmap [freetype] | FT_Outline_Get_CBox [freetype] |
| FT_Outline_Get_Orientation [freetype] | FT_Outline_New [freetype] | FT_Outline_Render [freetype] |
| FT_Outline_Reverse [freetype] | FT_Outline_Transform [freetype] | FT_Outline_Translate [freetype] |
| FT_Remove_Module [freetype] | FT_Render_Glyph [freetype] | FT_RoundFix [freetype] |
| FT_Select_Charmap [freetype] | FT_Set_Char_Size [freetype] | FT_Set_Charmap [freetype] |
| FT_Set_Debug_Hook [freetype] | FT_Set_MM_Blend_Coordinates [freetype] | FT_Set_MM_Design_Coordinates [freetype] |
| FT_Set_Pixel_Sizes [freetype] | FT_Set_Renderer [freetype] | FT_Set_Transform [freetype] |
| FT_Set_Var_Blend_Coordinates [freetype] | FT_Set_Var_Design_Coordinates [freetype] | FT_Sfnt_Table_Info [freetype] |
| FT_Sin [freetype] | FT_Stroker_BeginSubPath [freetype] | FT_Stroker_ConicTo [freetype] |
| FT_Stroker_CubicTo [freetype] | FT_Stroker_Done [freetype] | FT_Stroker_EndSubPath [freetype] |
| FT_Stroker_Export [freetype] | FT_Stroker_ExportBorder [freetype] | FT_Stroker_GetBorderCounts [freetype] |
| FT_Stroker_GetCounts [freetype] | FT_Stroker_LineTo [freetype] | FT_Stroker_New [freetype] |
| FT_Stroker_ParseOutline [freetype] | FT_Stroker_Rewind [freetype] | FT_Stroker_Set [freetype] |
| FT_Tan [freetype] | FT_Vector_From_Polar [freetype] | FT_Vector_Length [freetype] |
| FT_Vector_Polarize [freetype] | FT_Vector_Rotate [freetype] | FT_Vector_Transform [freetype] |
| FT_Vector_Unit [freetype] |
This section defines global identifiers and their values that are associated with interfaces contained in libfreetype. 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.
#define FT_BEGIN_HEADER
#define FT_END_HEADER
#define FT_ERRORDEF_(e,v,s) \
FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s )
#define FT_NOERRORDEF_(e,v,s) \
FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s )
#define FT_ERR_BASE 0
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
#define FT_FREETYPE_H <freetype/freetype.h>
#define FT_BBOX_H <freetype/ftbbox.h>
#define FT_BDF_H <freetype/ftbdf.h>
#define FT_BITMAP_H <freetype/ftbitmap.h>
#define FT_CACHE_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_CACHE_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_GLYPH_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_IMAGE_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_MANAGER_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_MRU_H <freetype/ftcache.h>
#define FT_CACHE_INTERNAL_SBITS_H <freetype/ftcache.h>
#define FT_CACHE_MANAGER_H <freetype/ftcache.h>
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
#define FT_ERRORS_H <freetype/fterrors.h>
#define FT_GLYPH_H <freetype/ftglyph.h>
#define FT_GZIP_H <freetype/ftgzip.h>
#define FT_IMAGE_H <freetype/ftimage.h>
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
#define FT_LIST_H <freetype/ftlist.h>
#define FT_LZW_H <freetype/ftlzw.h>
#define FT_MAC_H <freetype/ftmac.h>
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
#define FT_MODULE_H <freetype/ftmodapi.h>
#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
#define FT_OUTLINE_H <freetype/ftoutln.h>
#define FT_RENDER_H <freetype/ftrender.h>
#define FT_SIZES_H <freetype/ftsizes.h>
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
#define FT_STROKER_H <freetype/ftstroke.h>
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
#define FT_SYSTEM_H <freetype/ftsystem.h>
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
#define FT_TYPES_H <freetype/fttypes.h>
#define FT_WINFONTS_H <freetype/ftwinfnt.h>
#define FT_XFREE86_H <freetype/ftxf86.h>
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h>
#define FT_ERRORDEF(e,v,s) e = v,
#define FT_ERROR_START_LIST enum {
#define FT_CACHE_CHARMAP_H FT_CACHE_H
#define FT_CACHE_IMAGE_H FT_CACHE_H
#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H
#define FT_ERR_PREFIX FT_Err_
#define FT_ERROR_END_LIST FT_ERR_CAT( FT_ERR_PREFIX, Max ) };
#define FT_ERR_CAT(x,y) FT_ERR_XCAT( x, y )
#define FT_ERR_XCAT(x,y) x ## y |
#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST #define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK #define FT_CONFIG_OPTION_MAC_FONTS #define FT_CONFIG_OPTION_POSTSCRIPT_NAMES #define FT_CONFIG_OPTION_USE_LZW #define FT_CONFIG_OPTION_USE_ZLIB #define TT_CONFIG_CMAP_FORMAT_0 #define TT_CONFIG_CMAP_FORMAT_10 #define TT_CONFIG_CMAP_FORMAT_12 #define TT_CONFIG_CMAP_FORMAT_2 #define TT_CONFIG_CMAP_FORMAT_4 #define TT_CONFIG_CMAP_FORMAT_6 #define TT_CONFIG_CMAP_FORMAT_8 #define TT_CONFIG_OPTION_EMBEDDED_BITMAPS #define TT_CONFIG_OPTION_GX_VAR_SUPPORT #define TT_CONFIG_OPTION_INTERPRETER_SWITCH #define TT_CONFIG_OPTION_POSTSCRIPT_NAMES #define TT_CONFIG_OPTION_SFNT_NAMES #define TT_CONFIG_OPTION_UNPATENTED_HINTING #define T1_MAX_SUBRS_CALLS 16 #define FT_RENDER_POOL_SIZE 16384L #define T1_MAX_CHARSTRINGS_OPERANDS 256 #define FT_MAX_MODULES 32 #define T1_MAX_DICT_DEPTH 5 |
#define ft_atol atol #define ft_exit exit #define FT_INT_MAX INT_MAX #define ft_isalnum isalnum #define ft_isdigit isdigit #define ft_islower islower #define ft_isupper isupper #define ft_isxdigit isxdigit #define ft_jmp_buf jmp_buf #define ft_longjmp longjmp #define ft_memcmp memcmp #define ft_memcpy memcpy #define ft_memmove memmove #define ft_memset memset #define ft_ptrdiff_t ptrdiff_t #define ft_qsort qsort #define ft_setjmp setjmp #define ft_sprintf sprintf #define ft_strcat strcat #define ft_strcmp strcmp #define ft_strcpy strcpy #define ft_strlen strlen #define ft_strncmp strncmp #define ft_strncpy strncpy #define ft_strrchr strrchr #define FT_UINT_MAX UINT_MAX #define FT_ULONG_MAX ULONG_MAX |
#define FT_HAS_FAST_GLYPHS(face) \
( face->face_flags & FT_FACE_FLAG_FAST_GLYPHS )
#define FT_HAS_FIXED_SIZES(face) \
( face->face_flags & FT_FACE_FLAG_FIXED_SIZES )
#define FT_IS_FIXED_WIDTH(face) \
( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH )
#define FT_HAS_GLYPH_NAMES(face) \
( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES )
#define FT_HAS_HORIZONTAL(face) \
( face->face_flags & FT_FACE_FLAG_HORIZONTAL )
#define FT_HAS_MULTIPLE_MASTERS(face) \
( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS )
#define FT_ENC_TAG(value,a,b,c,d) \
value = ( ( (FT_UInt32)(a) << 24 ) | ( (FT_UInt32)(b) << 16 ) | ( \
(FT_UInt32)(c) << 8 ) | (FT_UInt32)(d) )
#define FT_LOAD_TARGET_(x) ( (FT_Int32)( (x) & 15 ) << 16 )
#define FT_LOAD_TARGET_MODE(x) ( (FT_Render_Mode)( ( (x) >16 ) & 15 ) )
#define FT_STYLE_FLAG_ITALIC ( 1 << 0 )
#define FT_STYLE_FLAG_BOLD ( 1 << 1 )
#define FT_FACE_FLAG_SCALABLE ( 1L << 0 )
#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 )
#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 )
#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 )
#define FT_FACE_FLAG_SFNT ( 1L << 3 )
#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 )
#define FT_FACE_FLAG_VERTICAL ( 1L << 5 )
#define FT_FACE_FLAG_KERNING ( 1L << 6 )
#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 )
#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 )
#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 )
#define FT_HAS_KERNING(face) ( face->face_flags & FT_FACE_FLAG_KERNING )
#define FT_IS_SCALABLE(face) ( face->face_flags & FT_FACE_FLAG_SCALABLE )
#define FT_IS_SFNT(face) ( face->face_flags & FT_FACE_FLAG_SFNT )
#define FT_HAS_VERTICAL(face) ( face->face_flags & FT_FACE_FLAG_VERTICAL )
#define FT_LOAD_DEFAULT 0x0
#define FT_LOAD_NO_SCALE 0x1
#define FT_OPEN_MEMORY 0x1
#define FT_LOAD_VERTICAL_LAYOUT 0x10
#define FT_OPEN_PARAMS 0x10
#define FT_LOAD_MONOCHROME 0x1000
#define FT_LOAD_NO_HINTING 0x2
#define FT_OPEN_STREAM 0x2
#define FT_LOAD_FORCE_AUTOHINT 0x20
#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH 0x200
#define FT_LOAD_LINEAR_DESIGN 0x2000
#define FT_LOAD_RENDER 0x4
#define FT_OPEN_PATHNAME 0x4
#define FT_LOAD_CROP_BITMAP 0x40
#define FT_LOAD_NO_RECURSE 0x400
#define FT_LOAD_SBITS_ONLY 0x4000
#define FT_LOAD_NO_BITMAP 0x8
#define FT_OPEN_DRIVER 0x8
#define FT_LOAD_PEDANTIC 0x80
#define FT_LOAD_IGNORE_TRANSFORM 0x800
#define FT_LOAD_NO_AUTOHINT 0x8000U
#define FREETYPE_MINOR 1
#define FREETYPE_PATCH 10
#define FREETYPE_MAJOR 2
#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD )
#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V )
#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT )
#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO )
#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL )
typedef struct FT_FaceRec_ *FT_Face;
typedef struct FT_ModuleRec_ *FT_Module;
typedef struct FT_LibraryRec_ *FT_Library;
typedef struct FT_ModuleRec_ FT_ModuleRec;
typedef struct FT_RendererRec_ *FT_Renderer;
typedef struct FT_GlyphSlotRec_ *FT_GlyphSlot;
struct FT_GlyphSlotRec_ {
FT_Library library;
FT_Face face;
FT_GlyphSlot next;
FT_UInt reserved;
FT_Generic generic;
FT_Glyph_Metrics metrics;
FT_Fixed linearHoriAdvance;
FT_Fixed linearVertAdvance;
FT_Vector advance;
FT_Glyph_Format format;
FT_Bitmap bitmap;
FT_Int bitmap_left;
FT_Int bitmap_top;
FT_Outline outline;
FT_UInt num_subglyphs;
FT_SubGlyph subglyphs;
void *control_data;
long int control_len;
FT_Pos lsb_delta;
FT_Pos rsb_delta;
void *other;
FT_Slot_Internal internal;
};
typedef struct FT_Glyph_Metrics_ {
FT_Pos width;
FT_Pos height;
FT_Pos horiBearingX;
FT_Pos horiBearingY;
FT_Pos horiAdvance;
FT_Pos vertBearingX;
FT_Pos vertBearingY;
FT_Pos vertAdvance;
} FT_Glyph_Metrics;
typedef struct FT_SubGlyphRec_ *FT_SubGlyph;
typedef struct FT_Slot_InternalRec_ *FT_Slot_Internal;
struct FT_CharMapRec_ {
FT_Face face;
FT_Encoding encoding;
FT_UShort platform_id;
FT_UShort encoding_id;
};
typedef enum FT_Encoding_ {
FT_ENCODING_NONE = 0,
FT_ENCODING_MS_SYMBOL = 1937337698,
FT_ENCODING_UNICODE = 1970170211,
FT_ENCODING_SJIS = 1936353651,
FT_ENCODING_GB2312 = 1734484000,
FT_ENCODING_BIG5 = 1651074869,
FT_ENCODING_WANSUNG = 2002873971,
FT_ENCODING_JOHAB = 1785686113,
FT_ENCODING_MS_SJIS = 1936353651,
FT_ENCODING_MS_GB2312 = 1734484000,
FT_ENCODING_MS_BIG5 = 1651074869,
FT_ENCODING_MS_WANSUNG = 2002873971,
FT_ENCODING_MS_JOHAB = 1785686113,
FT_ENCODING_ADOBE_STANDARD = 1094995778,
FT_ENCODING_ADOBE_EXPERT = 1094992453,
FT_ENCODING_ADOBE_CUSTOM = 1094992451,
FT_ENCODING_ADOBE_LATIN_1 = 1818326065,
FT_ENCODING_OLD_LATIN_2 = 1818326066,
FT_ENCODING_APPLE_ROMAN = 1634889070
} FT_Encoding;
typedef struct FT_CharMapRec_ *FT_CharMap;
typedef long int FT_F26Dot6;
typedef enum FT_Render_Mode_ {
FT_RENDER_MODE_NORMAL = 0,
FT_RENDER_MODE_LIGHT = 1,
FT_RENDER_MODE_MONO = 2,
FT_RENDER_MODE_LCD = 3,
FT_RENDER_MODE_LCD_V = 4,
FT_RENDER_MODE_MAX = 5
} FT_Render_Mode;
typedef struct FT_Parameter_ {
FT_ULong tag;
FT_Pointer data;
} FT_Parameter;
typedef struct FT_Open_Args_ {
FT_UInt flags;
const FT_Byte *memory_base;
FT_Long memory_size;
FT_String *pathname;
FT_Stream stream;
FT_Module driver;
FT_Int num_params;
FT_Parameter *params;
} FT_Open_Args;
struct FT_SizeRec_ {
FT_Face face;
FT_Generic generic;
FT_Size_Metrics metrics;
FT_Size_Internal internal;
};
typedef struct FT_Size_Metrics_ {
FT_UShort x_ppem;
FT_UShort y_ppem;
FT_Fixed x_scale;
FT_Fixed y_scale;
FT_Pos ascender;
FT_Pos descender;
FT_Pos height;
FT_Pos max_advance;
} FT_Size_Metrics;
typedef struct FT_Size_InternalRec_ *FT_Size_Internal;
typedef struct FT_SizeRec_ *FT_Size;
typedef struct FT_Bitmap_Size_ {
FT_Short height;
FT_Short width;
FT_Pos size;
FT_Pos x_ppem;
FT_Pos y_ppem;
} FT_Bitmap_Size;
typedef struct FT_Face_InternalRec_ *FT_Face_Internal;
typedef struct FT_DriverRec_ *FT_Driver;
typedef struct FT_FaceRec_ {
FT_Long num_faces;
FT_Long face_index;
FT_Long face_flags;
FT_Long style_flags;
FT_Long num_glyphs;
const FT_String *family_name;
const FT_String *style_name;
FT_Int num_fixed_sizes;
FT_Bitmap_Size *available_sizes;
FT_Int num_charmaps;
FT_CharMap *charmaps;
FT_Generic generic;
FT_BBox bbox;
FT_UShort units_per_EM;
FT_Short ascender;
FT_Short descender;
FT_Short height;
FT_Short max_advance_width;
FT_Short max_advance_height;
FT_Short underline_position;
FT_Short underline_thickness;
FT_GlyphSlot glyph;
FT_Size size;
FT_CharMap charmap;
FT_Driver driver;
FT_Memory memory;
FT_Stream stream;
FT_ListRec sizes_list;
FT_Generic autohint;
void *extensions;
FT_Face_Internal internal;
} FT_FaceRec;
typedef enum FT_Kerning_Mode_ {
FT_KERNING_DEFAULT = 0,
FT_KERNING_UNFITTED = 1,
FT_KERNING_UNSCALED = 2
} FT_Kerning_Mode;
extern FT_Error FT_Attach_File(FT_Face, const char *);
extern FT_Error FT_Attach_Stream(FT_Face, FT_Open_Args *);
extern FT_Fixed FT_CeilFix(FT_Fixed);
extern FT_Long FT_DivFix(FT_Long, FT_Long);
extern FT_Error FT_Done_Face(FT_Face);
extern FT_Error FT_Done_FreeType(FT_Library);
extern FT_Fixed FT_FloorFix(FT_Fixed);
extern FT_UInt FT_Get_Char_Index(FT_Face, FT_ULong);
extern FT_Int FT_Get_Charmap_Index(FT_CharMap);
extern FT_ULong FT_Get_First_Char(FT_Face, FT_UInt *);
extern FT_Error FT_Get_Glyph_Name(FT_Face, FT_UInt, FT_Pointer, FT_UInt);
extern FT_Error FT_Get_Kerning(FT_Face, FT_UInt, FT_UInt, FT_UInt,
FT_Vector *);
extern FT_UInt FT_Get_Name_Index(FT_Face, FT_String *);
extern FT_ULong FT_Get_Next_Char(FT_Face, FT_ULong, FT_UInt *);
extern const char *FT_Get_Postscript_Name(FT_Face);
extern FT_Error FT_Init_FreeType(FT_Library *);
extern void FT_Library_Version(FT_Library, FT_Int *, FT_Int *, FT_Int *);
extern FT_Error FT_Load_Char(FT_Face, FT_ULong, FT_Int32);
extern FT_Error FT_Load_Glyph(FT_Face, FT_UInt, FT_Int32);
extern FT_Long FT_MulDiv(FT_Long, FT_Long, FT_Long);
extern FT_Long FT_MulFix(FT_Long, FT_Long);
extern FT_Error FT_New_Face(FT_Library, const char *, FT_Long, FT_Face *);
extern FT_Error FT_New_Memory_Face(FT_Library, const FT_Byte *, FT_Long,
FT_Long, FT_Face *);
extern FT_Error FT_Open_Face(FT_Library, const FT_Open_Args *, FT_Long,
FT_Face *);
extern FT_Error FT_Render_Glyph(FT_GlyphSlot, FT_Render_Mode);
extern FT_Fixed FT_RoundFix(FT_Fixed);
extern FT_Error FT_Select_Charmap(FT_Face, FT_Encoding);
extern FT_Error FT_Set_Char_Size(FT_Face, FT_F26Dot6, FT_F26Dot6, FT_UInt,
FT_UInt);
extern FT_Error FT_Set_Charmap(FT_Face, FT_CharMap);
extern FT_Error FT_Set_Pixel_Sizes(FT_Face, FT_UInt, FT_UInt);
extern void FT_Set_Transform(FT_Face, FT_Matrix *, FT_Vector *);
extern void FT_Vector_Transform(FT_Vector *, const FT_Matrix *); |
typedef enum BDF_PropertyType_ {
BDF_PROPERTY_TYPE_NONE = 0,
BDF_PROPERTY_TYPE_ATOM = 1,
BDF_PROPERTY_TYPE_INTEGER = 2,
BDF_PROPERTY_TYPE_CARDINAL = 3
} BDF_PropertyType;
typedef struct BDF_PropertyRec_ {
BDF_PropertyType type;
union {
const char *atom;
FT_Int32 integer;
FT_UInt32 cardinal;
} u;
} BDF_PropertyRec;
extern FT_Error FT_Get_BDF_Charset_ID(FT_Face, const char **,
const char **);
extern FT_Error FT_Get_BDF_Property(FT_Face, const char *,
BDF_PropertyRec *); |
extern FT_Error FT_Bitmap_Convert(FT_Library, const FT_Bitmap *, FT_Bitmap *, FT_Int); extern FT_Error FT_Bitmap_Copy(FT_Library, const FT_Bitmap *, FT_Bitmap *); extern FT_Error FT_Bitmap_Done(FT_Library, FT_Bitmap *); extern FT_Error FT_Bitmap_Embolden(FT_Library, FT_Bitmap *, FT_Pos, FT_Pos); extern void FT_Bitmap_New(FT_Bitmap *); |
enum {
FT_Err_Ok = 0x00,
FT_Err_Cannot_Open_Resource = 0x01,
FT_Err_Unknown_File_Format = 0x02,
FT_Err_Invalid_File_Format = 0x03,
FT_Err_Invalid_Version = 0x04,
FT_Err_Lower_Module_Version = 0x05,
FT_Err_Invalid_Argument = 0x06,
FT_Err_Unimplemented_Feature = 0x07,
FT_Err_Invalid_Table = 0x08,
FT_Err_Invalid_Offset = 0x09,
FT_Err_Invalid_Glyph_Index = 0x10,
FT_Err_Invalid_Character_Code = 0x11,
FT_Err_Invalid_Glyph_Format = 0x12,
FT_Err_Cannot_Render_Glyph = 0x13,
FT_Err_Invalid_Outline = 0x14,
FT_Err_Invalid_Composite = 0x15,
FT_Err_Too_Many_Hints = 0x16,
FT_Err_Invalid_Pixel_Size = 0x17,
FT_Err_Invalid_Handle = 0x20,
FT_Err_Invalid_Library_Handle = 0x21,
FT_Err_Invalid_Driver_Handle = 0x22,
FT_Err_Invalid_Face_Handle = 0x23,
FT_Err_Invalid_Size_Handle = 0x24,
FT_Err_Invalid_Slot_Handle = 0x25,
FT_Err_Invalid_CharMap_Handle = 0x26,
FT_Err_Invalid_Cache_Handle = 0x27,
FT_Err_Invalid_Stream_Handle = 0x28,
FT_Err_Too_Many_Drivers = 0x30,
FT_Err_Too_Many_Extensions = 0x31,
FT_Err_Out_Of_Memory = 0x40,
FT_Err_Unlisted_Object = 0x41,
FT_Err_Cannot_Open_Stream = 0x51,
FT_Err_Invalid_Stream_Seek = 0x52,
FT_Err_Invalid_Stream_Skip = 0x53,
FT_Err_Invalid_Stream_Read = 0x54,
FT_Err_Invalid_Stream_Operation = 0x55,
FT_Err_Invalid_Frame_Operation = 0x56,
FT_Err_Nested_Frame_Access = 0x57,
FT_Err_Invalid_Frame_Read = 0x58,
FT_Err_Raster_Uninitialized = 0x60,
FT_Err_Raster_Corrupted = 0x61,
FT_Err_Raster_Overflow = 0x62,
FT_Err_Raster_Negative_Height = 0x63,
FT_Err_Too_Many_Caches = 0x70,
FT_Err_Invalid_Opcode = 0x80,
FT_Err_Too_Few_Arguments = 0x81,
FT_Err_Stack_Overflow = 0x82,
FT_Err_Code_Overflow = 0x83,
FT_Err_Bad_Argument = 0x84,
FT_Err_Divide_By_Zero = 0x85,
FT_Err_Invalid_Reference = 0x86,
FT_Err_Debug_OpCode = 0x87,
FT_Err_ENDF_In_Exec_Stream = 0x88,
FT_Err_Nested_DEFS = 0x89,
FT_Err_Invalid_CodeRange = 0x8A,
FT_Err_Execution_Too_Long = 0x8B,
FT_Err_Too_Many_Function_Defs = 0x8C,
FT_Err_Too_Many_Instruction_Defs = 0x8D,
FT_Err_Table_Missing = 0x8E,
FT_Err_Horiz_Header_Missing = 0x8F,
FT_Err_Locations_Missing = 0x90,
FT_Err_Name_Table_Missing = 0x91,
FT_Err_CMap_Table_Missing = 0x92,
FT_Err_Hmtx_Table_Missing = 0x93,
FT_Err_Post_Table_Missing = 0x94,
FT_Err_Invalid_Horiz_Metrics = 0x95,
FT_Err_Invalid_CharMap_Format = 0x96,
FT_Err_Invalid_PPem = 0x97,
FT_Err_Invalid_Vert_Metrics = 0x98,
FT_Err_Could_Not_Find_Context = 0x99,
FT_Err_Invalid_Post_Table_Format = 0x9A,
FT_Err_Invalid_Post_Table = 0x9B,
FT_Err_Syntax_Error = 0xA0,
FT_Err_Stack_Underflow = 0xA1,
FT_Err_Ignore = 0xA2,
FT_Err_Missing_Startfont_Field = 0xB0,
FT_Err_Missing_Font_Field = 0xB1,
FT_Err_Missing_Size_Field = 0xB2,
FT_Err_Missing_Chars_Field = 0xB3,
FT_Err_Missing_Startchar_Field = 0xB4,
FT_Err_Missing_Encoding_Field = 0xB5,
FT_Err_Missing_Bbx_Field = 0xB6,
FT_Err_Bbx_Too_Big = 0xB7,
FT_Err_Max = 0xB8
}; |
typedef struct FT_Glyph_Class_ {
FT_Long glyph_size;
FT_Glyph_Format glyph_format;
FT_Glyph_InitFunc glyph_init;
FT_Glyph_DoneFunc glyph_done;
FT_Glyph_CopyFunc glyph_copy;
FT_Glyph_TransformFunc glyph_transform;
FT_Glyph_GetBBoxFunc glyph_bbox;
FT_Glyph_PrepareFunc glyph_prepare;
} FT_Glyph_Class;
typedef struct FT_GlyphRec_ *FT_Glyph;
typedef FT_Error(*FT_Glyph_InitFunc) (FT_Glyph, FT_GlyphSlot);
typedef void (*FT_Glyph_DoneFunc) (FT_Glyph);
typedef FT_Error(*FT_Glyph_CopyFunc) (FT_Glyph, FT_Glyph);
typedef void (*FT_Glyph_TransformFunc) (FT_Glyph, FT_Matrix *,
FT_Vector *);
typedef void (*FT_Glyph_GetBBoxFunc) (FT_Glyph, FT_BBox *);
typedef FT_Error(*FT_Glyph_PrepareFunc) (FT_Glyph, FT_GlyphSlot);
typedef enum FT_Glyph_BBox_Mode_ {
FT_GLYPH_BBOX_UNSCALED = 0,
FT_GLYPH_BBOX_SUBPIXELS = 0,
FT_GLYPH_BBOX_GRIDFIT = 1,
FT_GLYPH_BBOX_TRUNCATE = 2,
FT_GLYPH_BBOX_PIXELS = 3
} FT_Glyph_BBox_Mode;
struct FT_OutlineGlyphRec_ {
FT_GlyphRec root;
FT_Outline outline;
};
typedef struct FT_OutlineGlyphRec_ *FT_OutlineGlyph;
typedef struct FT_GlyphRec_ {
FT_Library library;
const FT_Glyph_Class *clazz;
FT_Glyph_Format format;
FT_Vector advance;
} FT_GlyphRec;
struct FT_BitmapGlyphRec_ {
FT_GlyphRec root;
FT_Int left;
FT_Int top;
FT_Bitmap bitmap;
};
typedef struct FT_BitmapGlyphRec_ *FT_BitmapGlyph;
extern void FT_Done_Glyph(FT_Glyph);
extern FT_Error FT_Get_Glyph(FT_GlyphSlot, FT_Glyph *);
extern FT_Error FT_Glyph_Copy(FT_Glyph, FT_Glyph *);
extern void FT_Glyph_Get_CBox(FT_Glyph, FT_UInt, FT_BBox *);
extern FT_Error FT_Glyph_To_Bitmap(FT_Glyph *, FT_Render_Mode, FT_Vector *,
FT_Bool);
extern FT_Error FT_Glyph_Transform(FT_Glyph, FT_Matrix *, FT_Vector *);
extern FT_Error FT_Matrix_Invert(FT_Matrix *);
extern void FT_Matrix_Multiply(const FT_Matrix *, FT_Matrix *); |
#define FT_CURVE_TAG_TOUCH_BOTH \
( FT_CURVE_TAG_TOUCH_X | FT_CURVE_TAG_TOUCH_Y )
#define FT_IMAGE_TAG(value,_x1,_x2,_x3,_x4) \
value = ( ( (unsigned long)_x1 << 24 ) | ( (unsigned long)_x2 << 16 ) \
| ( (unsigned long)_x3 << 8 ) | (unsigned long)_x4 )
#define FT_CURVE_TAG(flag) ( flag & 3 )
#define FT_CURVE_TAG_CONIC 0
#define FT_OUTLINE_NONE 0x0
#define FT_RASTER_FLAG_DEFAULT 0x0
#define FT_OUTLINE_OWNER 0x1
#define FT_RASTER_FLAG_AA 0x1
#define FT_OUTLINE_HIGH_PRECISION 0x100
#define FT_OUTLINE_EVEN_ODD_FILL 0x2
#define FT_RASTER_FLAG_DIRECT 0x2
#define FT_OUTLINE_SINGLE_PASS 0x200
#define FT_OUTLINE_REVERSE_FILL 0x4
#define FT_RASTER_FLAG_CLIP 0x4
#define FT_OUTLINE_IGNORE_DROPOUTS 0x8
#define FT_CURVE_TAG_ON 1
#define FT_CURVE_TAG_TOUCH_Y 16
#define FT_CURVE_TAG_CUBIC 2
#define FT_CURVE_TAG_TOUCH_X 8
#define FT_Curve_Tag_Conic FT_CURVE_TAG_CONIC
#define FT_Curve_Tag_Cubic FT_CURVE_TAG_CUBIC
#define FT_Curve_Tag_On FT_CURVE_TAG_ON
#define FT_Curve_Tag_Touch_X FT_CURVE_TAG_TOUCH_X
#define FT_Curve_Tag_Touch_Y FT_CURVE_TAG_TOUCH_Y
#define FT_Outline_ConicTo_Func FT_Outline_ConicToFunc
#define FT_Outline_CubicTo_Func FT_Outline_CubicToFunc
#define FT_Outline_LineTo_Func FT_Outline_LineToFunc
#define FT_Outline_MoveTo_Func FT_Outline_MoveToFunc
#define FT_Raster_Done_Func FT_Raster_DoneFunc
#define FT_Raster_New_Func FT_Raster_NewFunc
#define FT_Raster_Render_Func FT_Raster_RenderFunc
#define FT_Raster_Reset_Func FT_Raster_ResetFunc
#define FT_Raster_Set_Mode_Func FT_Raster_SetModeFunc
#define FT_Raster_Span_Func FT_SpanFunc
typedef struct FT_Bitmap_ {
int rows;
int width;
int pitch;
unsigned char *buffer;
short num_grays;
char pixel_mode;
char palette_mode;
void *palette;
} FT_Bitmap;
typedef long int FT_Pos;
typedef struct FT_Vector_ {
FT_Pos x;
FT_Pos y;
} FT_Vector;
typedef struct FT_Outline_ {
short n_contours;
short n_points;
FT_Vector *points;
char *tags;
short int *contours;
int flags;
} FT_Outline;
typedef enum FT_Glyph_Format_ {
FT_GLYPH_FORMAT_NONE = 0,
FT_GLYPH_FORMAT_COMPOSITE = 1668246896,
FT_GLYPH_FORMAT_BITMAP = 1651078259,
FT_GLYPH_FORMAT_OUTLINE = 1869968492,
FT_GLYPH_FORMAT_PLOTTER = 1886154612
} FT_Glyph_Format;
typedef struct FT_BBox_ {
FT_Pos xMin;
FT_Pos yMin;
FT_Pos xMax;
FT_Pos yMax;
} FT_BBox;
typedef struct FT_RasterRec_ *FT_Raster;
typedef int (*FT_Raster_NewFunc) (void *, FT_Raster *);
typedef void (*FT_Raster_ResetFunc) (FT_Raster, unsigned char *,
long unsigned int);
typedef int (*FT_Raster_SetModeFunc) (FT_Raster, long unsigned int,
void *);
typedef struct FT_Span_ {
short x;
unsigned short len;
unsigned char coverage;
} FT_Span;
typedef void (*FT_SpanFunc) (int, int, FT_Span *, void *);
typedef int (*FT_Raster_BitTest_Func) (int, int, void *);
typedef void (*FT_Raster_BitSet_Func) (int, int, void *);
typedef struct FT_Raster_Params_ {
const FT_Bitmap *target;
const void *source;
int flags;
FT_SpanFunc gray_spans;
FT_SpanFunc black_spans;
FT_Raster_BitTest_Func bit_test;
FT_Raster_BitSet_Func bit_set;
void *user;
FT_BBox clip_box;
} FT_Raster_Params;
typedef int (*FT_Raster_RenderFunc) (FT_Raster, FT_Raster_Params *);
typedef void (*FT_Raster_DoneFunc) (FT_Raster);
typedef struct FT_Raster_Funcs_ {
FT_Glyph_Format glyph_format;
FT_Raster_NewFunc raster_new;
FT_Raster_ResetFunc raster_reset;
FT_Raster_SetModeFunc raster_set_mode;
FT_Raster_RenderFunc raster_render;
FT_Raster_DoneFunc raster_done;
} FT_Raster_Funcs;
typedef int (*FT_Outline_MoveToFunc) (FT_Vector *, void *);
typedef int (*FT_Outline_LineToFunc) (FT_Vector *, void *);
typedef int (*FT_Outline_ConicToFunc) (FT_Vector *, FT_Vector *, void *);
typedef int (*FT_Outline_CubicToFunc) (FT_Vector *, FT_Vector *,
FT_Vector *, void *);
typedef struct FT_Outline_Funcs_ {
FT_Outline_MoveToFunc move_to;
FT_Outline_LineToFunc line_to;
FT_Outline_ConicToFunc conic_to;
FT_Outline_CubicToFunc cubic_to;
int shift;
FT_Pos delta;
} FT_Outline_Funcs;
typedef enum FT_Pixel_Mode_ {
FT_PIXEL_MODE_NONE = 0,
FT_PIXEL_MODE_MONO,
FT_PIXEL_MODE_GRAY,
FT_PIXEL_MODE_GRAY2,
FT_PIXEL_MODE_GRAY4,
FT_PIXEL_MODE_LCD,
FT_PIXEL_MODE_LCD_V,
FT_PIXEL_MODE_MAX
} FT_Pixel_Mode; |
typedef void (*FT_List_Destructor) (FT_Memory, void *, void *); typedef FT_Error(*FT_List_Iterator) (FT_ListNode, void *); extern void FT_List_Add(FT_List, FT_ListNode); extern void FT_List_Finalize(FT_List, FT_List_Destructor, FT_Memory, void *); extern FT_ListNode FT_List_Find(FT_List, void *); extern void FT_List_Insert(FT_List, FT_ListNode); extern FT_Error FT_List_Iterate(FT_List, FT_List_Iterator, void *); extern void FT_List_Remove(FT_List, FT_ListNode); extern void FT_List_Up(FT_List, FT_ListNode); |
typedef struct FT_MM_Axis_ {
FT_String *name;
FT_Long minimum;
FT_Long maximum;
} FT_MM_Axis;
typedef struct FT_Multi_Master_ {
FT_UInt num_axis;
FT_UInt num_designs;
FT_MM_Axis axis[4];
} FT_Multi_Master;
typedef struct FT_Var_Axis_ {
FT_String *name;
FT_Fixed minimum;
FT_Fixed def;
FT_Fixed maximum;
FT_ULong tag;
FT_UInt strid;
} FT_Var_Axis;
typedef struct FT_Var_Named_Style_ {
FT_Fixed *coords;
FT_UInt strid;
} FT_Var_Named_Style;
typedef struct FT_MM_Var_ {
FT_UInt num_axis;
FT_UInt num_designs;
FT_UInt num_namedstyles;
FT_Var_Axis *axis;
FT_Var_Named_Style *namedstyle;
} FT_MM_Var;
extern FT_Error FT_Get_MM_Var(FT_Face, FT_MM_Var * *);
extern FT_Error FT_Get_Multi_Master(FT_Face, FT_Multi_Master *);
extern FT_Error FT_Set_MM_Blend_Coordinates(FT_Face, FT_UInt, FT_Fixed *);
extern FT_Error FT_Set_MM_Design_Coordinates(FT_Face, FT_UInt, FT_Long *);
extern FT_Error FT_Set_Var_Blend_Coordinates(FT_Face, FT_UInt, FT_Fixed *);
extern FT_Error FT_Set_Var_Design_Coordinates(FT_Face, FT_UInt,
FT_Fixed *); |
#define FT_MODULE_DRIVER_SCALABLE 0x100
#define FT_MODULE_DRIVER_NO_OUTLINES 0x200
#define FT_MODULE_DRIVER_HAS_HINTER 0x400
#define FT_MODULE_FONT_DRIVER 1
#define FT_MODULE_RENDERER 2
#define FT_MODULE_HINTER 4
#define FT_MODULE_STYLER 8
typedef FT_Error(*FT_Module_Constructor) (FT_Module);
typedef void (*FT_Module_Destructor) (FT_Module);
typedef FT_Pointer FT_Module_Interface;
typedef FT_Module_Interface(*FT_Module_Requester) (FT_Module,
const char *);
typedef struct FT_Module_Class_ {
FT_ULong module_flags;
FT_Long module_size;
const FT_String *module_name;
FT_Fixed module_version;
FT_Fixed module_requires;
const void *module_interface;
FT_Module_Constructor module_init;
FT_Module_Destructor module_done;
FT_Module_Requester get_interface;
} FT_Module_Class;
typedef void (*FT_DebugHook_Func) (void *);
extern void FT_Add_Default_Modules(FT_Library);
extern FT_Error FT_Add_Module(FT_Library, const FT_Module_Class *);
extern FT_Error FT_Done_Library(FT_Library);
extern FT_Module FT_Get_Module(FT_Library, const char *);
extern FT_Error FT_New_Library(FT_Memory, FT_Library *);
extern FT_Error FT_Remove_Module(FT_Library, FT_Module);
extern void FT_Set_Debug_Hook(FT_Library, FT_UInt, FT_DebugHook_Func); |
#define FT_MODERR_START_LIST enum {
#define FT_MODERRDEF(e,v,s) FT_Mod_Err_ ## e = 0,
#define FT_MODERR_END_LIST FT_Mod_Err_Max }; |
#define FT_VALIDATE_OT \ FT_VALIDATE_BASE | FT_VALIDATE_GDEF | FT_VALIDATE_GPOS | \ FT_VALIDATE_GSUB | FT_VALIDATE_JSTF #define FT_VALIDATE_BASE 0x0100 #define FT_VALIDATE_GDEF 0x0200 #define FT_VALIDATE_GPOS 0x0400 #define FT_VALIDATE_GSUB 0x0800 #define FT_VALIDATE_JSTF 0x1000 extern FT_Error FT_OpenType_Validate(FT_Face, FT_UInt, FT_Bytes *, FT_Bytes *, FT_Bytes *, FT_Bytes *, FT_Bytes *); |
typedef enum {
FT_ORIENTATION_TRUETYPE = 0,
FT_ORIENTATION_POSTSCRIPT = 1,
FT_ORIENTATION_FILL_RIGHT = 0,
FT_ORIENTATION_FILL_LEFT = 1
} FT_Orientation;
extern FT_Error FT_Outline_Check(FT_Outline *);
extern FT_Error FT_Outline_Copy(const FT_Outline *, FT_Outline *);
extern FT_Error FT_Outline_Decompose(FT_Outline *,
const FT_Outline_Funcs *, void *);
extern FT_Error FT_Outline_Done(FT_Library, FT_Outline *);
extern FT_Error FT_Outline_Get_Bitmap(FT_Library, FT_Outline *,
const FT_Bitmap *);
extern void FT_Outline_Get_CBox(const FT_Outline *, FT_BBox *);
extern FT_Orientation FT_Outline_Get_Orientation(FT_Outline *);
extern FT_Error FT_Outline_New(FT_Library, FT_UInt, FT_Int, FT_Outline *);
extern FT_Error FT_Outline_Render(FT_Library, FT_Outline *,
FT_Raster_Params *);
extern void FT_Outline_Reverse(FT_Outline *);
extern void FT_Outline_Transform(const FT_Outline *, const FT_Matrix *);
extern void FT_Outline_Translate(const FT_Outline *, FT_Pos, FT_Pos); |
extern FT_Error FT_Get_PFR_Advance(FT_Face, FT_UInt, FT_Pos *); extern FT_Error FT_Get_PFR_Kerning(FT_Face, FT_UInt, FT_UInt, FT_Vector *); extern FT_Error FT_Get_PFR_Metrics(FT_Face, FT_UInt *, FT_UInt *, FT_Fixed *, FT_Fixed *); |
#define FT_Glyph_Done_Func FT_Glyph_DoneFunc
#define FT_Glyph_BBox_Func FT_Glyph_GetBBoxFunc
#define FT_Glyph_Init_Func FT_Glyph_InitFunc
#define FT_Glyph_Prepare_Func FT_Glyph_PrepareFunc
#define FTRenderer_getCBox FT_Renderer_GetCBoxFunc
#define FTRenderer_render FT_Renderer_RenderFunc
#define FTRenderer_setMode FT_Renderer_SetModeFunc
#define FTRenderer_transform FT_Renderer_TransformFunc
typedef FT_Error(*FT_Renderer_RenderFunc) (FT_Renderer, FT_GlyphSlot,
FT_UInt, FT_Vector *);
typedef FT_Error(*FT_Renderer_TransformFunc) (FT_Renderer, FT_GlyphSlot,
FT_Matrix *, FT_Vector *);
typedef void (*FT_Renderer_GetCBoxFunc) (FT_Renderer, FT_GlyphSlot,
FT_BBox *);
typedef FT_Error(*FT_Renderer_SetModeFunc) (FT_Renderer, FT_ULong,
FT_Pointer);
typedef struct FT_Renderer_Class_ {
FT_Module_Class root;
FT_Glyph_Format glyph_format;
FT_Renderer_RenderFunc render_glyph;
FT_Renderer_TransformFunc transform_glyph;
FT_Renderer_GetCBoxFunc get_glyph_cbox;
FT_Renderer_SetModeFunc set_mode;
FT_Raster_Funcs *raster_class;
} FT_Renderer_Class;
extern FT_Renderer FT_Get_Renderer(FT_Library, FT_Glyph_Format);
extern FT_Error FT_Set_Renderer(FT_Library, FT_Renderer, FT_UInt,
FT_Parameter *); |
extern FT_Error FT_Activate_Size(FT_Size); extern FT_Error FT_Done_Size(FT_Size); extern FT_Error FT_New_Size(FT_Face, FT_Size *); |
typedef struct FT_SfntName_ {
FT_UShort platform_id;
FT_UShort encoding_id;
FT_UShort language_id;
FT_UShort name_id;
FT_Byte *string;
FT_UInt string_len;
} FT_SfntName;
extern FT_Error FT_Get_Sfnt_Name(FT_Face, FT_UInt, FT_SfntName *);
extern FT_UInt FT_Get_Sfnt_Name_Count(FT_Face); |
typedef enum {
FT_STROKER_LINECAP_BUTT = 0,
FT_STROKER_LINECAP_ROUND = 1,
FT_STROKER_LINECAP_SQUARE = 2
} FT_Stroker_LineCap;
typedef enum {
FT_STROKER_LINEJOIN_ROUND = 0,
FT_STROKER_LINEJOIN_BEVEL = 1,
FT_STROKER_LINEJOIN_MITER = 2
} FT_Stroker_LineJoin;
typedef struct FT_StrokerRec_ *FT_Stroker;
typedef enum {
FT_STROKER_BORDER_LEFT = 0,
FT_STROKER_BORDER_RIGHT = 1
} FT_StrokerBorder;
extern FT_Error FT_Glyph_Stroke(FT_Glyph *, FT_Stroker, FT_Bool);
extern FT_Error FT_Glyph_StrokeBorder(FT_Glyph *, FT_Stroker, FT_Bool,
FT_Bool);
extern FT_StrokerBorder FT_Outline_GetInsideBorder(FT_Outline *);
extern FT_StrokerBorder FT_Outline_GetOutsideBorder(FT_Outline *);
extern FT_Error FT_Stroker_BeginSubPath(FT_Stroker, FT_Vector *, FT_Bool);
extern FT_Error FT_Stroker_ConicTo(FT_Stroker, FT_Vector *, FT_Vector *);
extern FT_Error FT_Stroker_CubicTo(FT_Stroker, FT_Vector *, FT_Vector *,
FT_Vector *);
extern void FT_Stroker_Done(FT_Stroker);
extern FT_Error FT_Stroker_EndSubPath(FT_Stroker);
extern void FT_Stroker_Export(FT_Stroker, FT_Outline *);
extern void FT_Stroker_ExportBorder(FT_Stroker, FT_StrokerBorder,
FT_Outline *);
extern FT_Error FT_Stroker_GetBorderCounts(FT_Stroker, FT_StrokerBorder,
FT_UInt *, FT_UInt *);
extern FT_Error FT_Stroker_GetCounts(FT_Stroker, FT_UInt *, FT_UInt *);
extern FT_Error FT_Stroker_LineTo(FT_Stroker, FT_Vector *);
extern FT_Error FT_Stroker_New(FT_Memory, FT_Stroker *);
extern FT_Error FT_Stroker_ParseOutline(FT_Stroker, FT_Outline *, FT_Bool);
extern void FT_Stroker_Rewind(FT_Stroker);
extern void FT_Stroker_Set(FT_Stroker, FT_Fixed, FT_Stroker_LineCap,
FT_Stroker_LineJoin, FT_Fixed); |
struct FT_MemoryRec_ {
void *user;
FT_Alloc_Func alloc;
FT_Free_Func free;
FT_Realloc_Func realloc;
};
typedef struct FT_MemoryRec_ *FT_Memory;
typedef void *(*FT_Alloc_Func) (FT_Memory, long int);
typedef void (*FT_Free_Func) (FT_Memory, void *);
typedef void *(*FT_Realloc_Func) (FT_Memory, long int, long int, void *);
union FT_StreamDesc_ {
long int value;
void *pointer;
};
struct FT_StreamRec_ {
unsigned char *base;
long unsigned int size;
long unsigned int pos;
FT_StreamDesc descriptor;
FT_StreamDesc pathname;
FT_Stream_IoFunc read;
FT_Stream_CloseFunc close;
FT_Memory memory;
unsigned char *cursor;
unsigned char *limit;
};
typedef union FT_StreamDesc_ {
long int value;
void *pointer;
} FT_StreamDesc;
typedef struct FT_StreamRec_ *FT_Stream;
typedef long unsigned int (*FT_Stream_IoFunc) (FT_Stream,
long unsigned int,
unsigned char *,
long unsigned int);
typedef void (*FT_Stream_CloseFunc) (FT_Stream); |
#define FT_ANGLE_PI ( 180L << 16 ) #define FT_ANGLE_2PI ( FT_ANGLE_PI * 2 ) #define FT_ANGLE_PI2 ( FT_ANGLE_PI / 2 ) #define FT_ANGLE_PI4 ( FT_ANGLE_PI / 4 ) typedef FT_Fixed FT_Angle; extern FT_Angle FT_Angle_Diff(FT_Angle, FT_Angle); extern FT_Angle FT_Atan2(FT_Fixed, FT_Fixed); extern FT_Fixed FT_Cos(FT_Angle); extern FT_Fixed FT_Sin(FT_Angle); extern FT_Fixed FT_Tan(FT_Angle); extern void FT_Vector_From_Polar(FT_Vector *, FT_Fixed, FT_Angle); extern FT_Fixed FT_Vector_Length(FT_Vector *); extern void FT_Vector_Polarize(FT_Vector *, FT_Fixed *, FT_Angle *); extern void FT_Vector_Rotate(FT_Vector *, FT_Angle); extern void FT_Vector_Unit(FT_Vector *, FT_Angle); |
#define FT_MAKE_TAG(_x1,_x2,_x3,_x4) \
( ( (FT_ULong)_x1 << 24 ) | ( (FT_ULong)_x2 << 16 ) | ( (FT_ULong)_x3 \
<< 8 ) | (FT_ULong)_x4 )
#define FT_BOOL(x) ( (FT_Bool)( x ) )
#define FT_IS_EMPTY(list) ( (list).head == 0 )
#define FT_ERROR_BASE(x) ( (x) & 0xFF )
#define FT_ERROR_MODULE(x) ( (x) & 0xFF00U )
typedef unsigned int FT_UInt;
typedef struct FT_ListNodeRec_ *FT_ListNode;
typedef struct FT_ListRec_ *FT_List;
typedef int FT_Error;
typedef void (*FT_Generic_Finalizer) (void *);
typedef struct FT_Generic_ {
void *data;
FT_Generic_Finalizer finalizer;
} FT_Generic;
typedef int FT_Int;
typedef long unsigned int FT_ULong;
typedef long int FT_Long;
typedef char FT_String;
typedef long int FT_Fixed;
typedef void *FT_Pointer;
typedef struct FT_ListRec_ {
FT_ListNode head;
FT_ListNode tail;
} FT_ListRec;
typedef short unsigned int FT_UShort;
typedef struct FT_Matrix_ {
FT_Fixed xx;
FT_Fixed xy;
FT_Fixed yx;
FT_Fixed yy;
} FT_Matrix;
typedef unsigned char FT_Bool;
typedef unsigned char FT_Byte;
typedef int FT_Int32;
typedef unsigned int FT_UInt32;
typedef const FT_Byte *FT_Bytes;
typedef short int FT_Short;
typedef struct FT_ListNodeRec_ {
FT_ListNode prev;
FT_ListNode next;
void *data;
} FT_ListNodeRec;
typedef char FT_Char; |
#define T1_MAX_MM_DESIGNS 16
#define T1_MAX_MM_MAP_POINTS 20
#define T1_MAX_MM_AXIS 4
#define t1_blend_blue_scale T1_BLEND_BLUE_SCALE
#define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT
#define t1_blend_blue_values T1_BLEND_BLUE_VALUES
#define t1_blend_family_blues T1_BLEND_FAMILY_BLUES
#define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES
#define t1_blend_force_bold T1_BLEND_FORCE_BOLD
#define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE
#define t1_blend_max T1_BLEND_MAX
#define t1_blend_other_blues T1_BLEND_OTHER_BLUES
#define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT
#define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH
#define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS
#define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS
#define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION
#define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS
typedef struct PS_PrivateRec_ {
FT_Int unique_id;
FT_Int lenIV;
FT_Byte num_blue_values;
FT_Byte num_other_blues;
FT_Byte num_family_blues;
FT_Byte num_family_other_blues;
FT_Short blue_values[14];
FT_Short other_blues[10];
FT_Short family_blues[14];
FT_Short family_other_blues[10];
FT_Fixed blue_scale;
FT_Int blue_shift;
FT_Int blue_fuzz;
FT_UShort standard_width[1];
FT_UShort standard_height[1];
FT_Byte num_snap_widths;
FT_Byte num_snap_heights;
FT_Bool force_bold;
FT_Bool round_stem_up;
FT_Short snap_widths[13];
FT_Short snap_heights[13];
FT_Fixed expansion_factor;
FT_Long language_group;
FT_Long password;
FT_Short min_feature[2];
} PS_PrivateRec;
typedef struct PS_FontInfoRec {
FT_String *version;
FT_String *notice;
FT_String *full_name;
FT_String *family_name;
FT_String *weight;
FT_Long italic_angle;
FT_Bool is_fixed_pitch;
FT_Short underline_position;
FT_UShort underline_thickness;
} PS_FontInfoRec;
typedef enum {
T1_BLEND_UNDERLINE_POSITION,
T1_BLEND_UNDERLINE_THICKNESS,
T1_BLEND_ITALIC_ANGLE,
T1_BLEND_BLUE_VALUES,
T1_BLEND_OTHER_BLUES,
T1_BLEND_STANDARD_WIDTH,
T1_BLEND_STANDARD_HEIGHT,
T1_BLEND_STEM_SNAP_WIDTHS,
T1_BLEND_STEM_SNAP_HEIGHTS,
T1_BLEND_BLUE_SCALE,
T1_BLEND_BLUE_SHIFT,
T1_BLEND_FAMILY_BLUES,
T1_BLEND_FAMILY_OTHER_BLUES,
T1_BLEND_FORCE_BOLD,
T1_BLEND_MAX
} T1_Blend_Flags;
extern FT_Error FT_Get_PS_Font_Info(FT_Face, PS_FontInfoRec *);
extern FT_Error FT_Get_PS_Font_Private(FT_Face, PS_PrivateRec *);
extern FT_Int FT_Has_PS_Glyph_Names(FT_Face); |
#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \ TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN #define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \ TT_MS_LANGID_SEPEDI_SOUTH_AFRICA #define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \ TT_UCR_COMBINING_DIACRITICS_SYMB #define TT_UCR_BASIC_LATIN (1L << 0) #define TT_UCR_COMBINING_HALF_MARKS (1L << 0) #define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) #define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) #define TT_UCR_CURRENCY_SYMBOLS (1L << 1) #define TT_UCR_LATIN1_SUPPLEMENT (1L << 1) #define TT_UCR_ARMENIAN (1L << 10) #define TT_UCR_ENCLOSED_ALPHANUMERICS (1L << 10) #define TT_UCR_MYANMAR (1L << 10) #define TT_UCR_BOX_DRAWING (1L << 11) #define TT_UCR_ETHIOPIC (1L << 11) #define TT_UCR_HEBREW (1L << 11) #define TT_UCR_BLOCK_ELEMENTS (1L << 12) #define TT_UCR_CHEROKEE (1L << 12) #define TT_UCR_ARABIC (1L << 13) #define TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS (1L << 13) #define TT_UCR_GEOMETRIC_SHAPES (1L << 13) #define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) #define TT_UCR_OGHAM (1L << 14) #define TT_UCR_DEVANAGARI (1L << 15) #define TT_UCR_DINGBATS (1L << 15) #define TT_UCR_RUNIC (1L << 15) #define TT_UCR_BENGALI (1L << 16) #define TT_UCR_CJK_SYMBOLS (1L << 16) #define TT_UCR_KHMER (1L << 16) #define TT_UCR_GURMUKHI (1L << 17) #define TT_UCR_HIRAGANA (1L << 17) #define TT_UCR_MONGOLIAN (1L << 17) #define TT_UCR_BRAILLE (1L << 18) #define TT_UCR_GUJARATI (1L << 18) #define TT_UCR_KATAKANA (1L << 18) #define TT_UCR_BOPOMOFO (1L << 19) #define TT_UCR_ORIYA (1L << 19) #define TT_UCR_YI (1L << 19) #define TT_UCR_COMBINING_DIACRITICS_SYMB (1L << 2) #define TT_UCR_LATIN_EXTENDED_A (1L << 2) #define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) #define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) #define TT_UCR_PHILIPPINE (1L << 20) #define TT_UCR_TAMIL (1L << 20) #define TT_UCR_CJK_MISC (1L << 21) #define TT_UCR_OLD_ITALIC (1L << 21) #define TT_UCR_TELUGU (1L << 21) #define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS (1L << 22) #define TT_UCR_GOTHIC (1L << 22) #define TT_UCR_KANNADA (1L << 22) #define TT_UCR_CJK_COMPATIBILITY (1L << 23) #define TT_UCR_DESERET (1L << 23) #define TT_UCR_MALAYALAM (1L << 23) #define TT_UCR_HANGUL (1L << 24) #define TT_UCR_MUSICAL_SYMBOLS (1L << 24) #define TT_UCR_THAI (1L << 24) #define TT_UCR_LAO (1L << 25) #define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) #define TT_UCR_SURROGATES (1L << 25) #define TT_UCR_GEORGIAN (1L << 26) #define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) #define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) #define TT_UCR_VARIATION_SELECTORS (1L << 27) #define TT_UCR_HANGUL_JAMO (1L << 28) #define TT_UCR_PRIVATE_USE (1L << 28) #define TT_UCR_TAGS (1L << 28) #define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) #define TT_UCR_LATIN_EXTENDED_ADDITIONAL (1L << 29) #define TT_UCR_ARABIC_PRESENTATIONS_B (1L << 3) #define TT_UCR_LATIN_EXTENDED_B (1L << 3) #define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) #define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) #define TT_UCR_GREEK_EXTENDED (1L << 30) #define TT_UCR_ARABIC_PRESENTATIONS_A (1L << 31) #define TT_UCR_GENERAL_PUNCTUATION (1L << 31) #define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS (1L << 4) #define TT_UCR_IPA_EXTENSIONS (1L << 4) #define TT_UCR_NUMBER_FORMS (1L << 4) #define TT_UCR_ARROWS (1L << 5) #define TT_UCR_SPACING_MODIFIER (1L << 5) #define TT_UCR_SPECIALS (1L << 5) #define TT_UCR_COMBINING_DIACRITICS (1L << 6) #define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) #define TT_UCR_TIBETAN (1L << 6) #define TT_UCR_GREEK (1L << 7) #define TT_UCR_MISCELLANEOUS_TECHNICAL (1L << 7) #define TT_UCR_SYRIAC (1L << 7) #define TT_UCR_CONTROL_PICTURES (1L << 8) #define TT_UCR_THAANA (1L << 8) #define TT_UCR_CYRILLIC (1L << 9) #define TT_UCR_OCR (1L << 9) #define TT_UCR_SINHALA (1L << 9) #define TT_ADOBE_ID_STANDARD 0 #define TT_APPLE_ID_DEFAULT 0 #define TT_ISO_ID_7BIT_ASCII 0 #define TT_MAC_ID_ROMAN 0 #define TT_MAC_LANGID_ENGLISH 0 #define TT_MS_ID_SYMBOL_CS 0 #define TT_NAME_ID_COPYRIGHT 0 #define TT_PLATFORM_APPLE_UNICODE 0 #define TT_MS_LANGID_ARABIC_GENERAL 0x0001 #define TT_MS_LANGID_CHINESE_GENERAL 0x0004 #define TT_MS_LANGID_ENGLISH_GENERAL 0x0009 #define TT_MS_LANGID_ARABIC_SAUDI_ARABIA 0x0401 #define TT_MS_LANGID_BULGARIAN_BULGARIA 0x0402 #define TT_MS_LANGID_CATALAN_SPAIN 0x0403 #define TT_MS_LANGID_CHINESE_TAIWAN 0x0404 #define TT_MS_LANGID_CZECH_CZECH_REPUBLIC 0x0405 #define TT_MS_LANGID_DANISH_DENMARK 0x0406 #define TT_MS_LANGID_GERMAN_GERMANY 0x0407 #define TT_MS_LANGID_GREEK_GREECE 0x0408 #define TT_MS_LANGID_ENGLISH_UNITED_STATES 0x0409 #define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT 0x040a #define TT_MS_LANGID_FINNISH_FINLAND 0x040b #define TT_MS_LANGID_FRENCH_FRANCE 0x040c #define TT_MS_LANGID_HEBREW_ISRAEL 0x040d #define TT_MS_LANGID_HUNGARIAN_HUNGARY 0x040e #define TT_MS_LANGID_ICELANDIC_ICELAND 0x040f #define TT_MS_LANGID_ITALIAN_ITALY 0x0410 #define TT_MS_LANGID_JAPANESE_JAPAN 0x0411 #define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA 0x0412 #define TT_MS_LANGID_DUTCH_NETHERLANDS 0x0413 #define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL 0x0414 #define TT_MS_LANGID_POLISH_POLAND 0x0415 #define TT_MS_LANGID_PORTUGUESE_BRAZIL 0x0416 #define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND 0x0417 #define TT_MS_LANGID_ROMANIAN_ROMANIA 0x0418 #define TT_MS_LANGID_RUSSIAN_RUSSIA 0x0419 #define TT_MS_LANGID_CROATIAN_CROATIA 0x041a #define TT_MS_LANGID_SLOVAK_SLOVAKIA 0x041b #define TT_MS_LANGID_ALBANIAN_ALBANIA 0x041c #define TT_MS_LANGID_SWEDISH_SWEDEN 0x041d #define TT_MS_LANGID_THAI_THAILAND 0x041e #define TT_MS_LANGID_TURKISH_TURKEY 0x041f #define TT_MS_LANGID_URDU_PAKISTAN 0x0420 #define TT_MS_LANGID_INDONESIAN_INDONESIA 0x0421 #define TT_MS_LANGID_UKRAINIAN_UKRAINE 0x0422 #define TT_MS_LANGID_BELARUSIAN_BELARUS 0x0423 #define TT_MS_LANGID_SLOVENE_SLOVENIA 0x0424 #define TT_MS_LANGID_ESTONIAN_ESTONIA 0x0425 #define TT_MS_LANGID_LATVIAN_LATVIA 0x0426 #define TT_MS_LANGID_LITHUANIAN_LITHUANIA 0x0427 #define TT_MS_LANGID_TAJIK_TAJIKISTAN 0x0428 #define TT_MS_LANGID_FARSI_IRAN 0x0429 #define TT_MS_LANGID_VIETNAMESE_VIET_NAM 0x042a #define TT_MS_LANGID_ARMENIAN_ARMENIA 0x042b #define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN 0x042c #define TT_MS_LANGID_BASQUE_SPAIN 0x042d #define TT_MS_LANGID_SORBIAN_GERMANY 0x042e #define TT_MS_LANGID_MACEDONIAN_MACEDONIA 0x042f #define TT_MS_LANGID_SUTU_SOUTH_AFRICA 0x0430 #define TT_MS_LANGID_TSONGA_SOUTH_AFRICA 0x0431 #define TT_MS_LANGID_TSWANA_SOUTH_AFRICA 0x0432 #define TT_MS_LANGID_VENDA_SOUTH_AFRICA 0x0433 #define TT_MS_LANGID_XHOSA_SOUTH_AFRICA 0x0434 #define TT_MS_LANGID_ZULU_SOUTH_AFRICA 0x0435 #define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA 0x0436 #define TT_MS_LANGID_GEORGIAN_GEORGIA 0x0437 #define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS 0x0438 #define TT_MS_LANGID_HINDI_INDIA 0x0439 #define TT_MS_LANGID_MALTESE_MALTA 0x043a #define TT_MS_LANGID_SAAMI_LAPONIA 0x043b #define TT_MS_LANGID_SAMI_NORTHERN_NORWAY 0x043b #define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043c #define TT_MS_LANGID_YIDDISH_GERMANY 0x043d #define TT_MS_LANGID_MALAY_MALAYSIA 0x043e #define TT_MS_LANGID_KAZAK_KAZAKSTAN 0x043f #define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN 0x0440 #define TT_MS_LANGID_SWAHILI_KENYA 0x0441 #define TT_MS_LANGID_TURKMEN_TURKMENISTAN 0x0442 #define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN 0x0443 #define TT_MS_LANGID_TATAR_TATARSTAN 0x0444 #define TT_MS_LANGID_BENGALI_INDIA 0x0445 #define TT_MS_LANGID_PUNJABI_INDIA 0x0446 #define TT_MS_LANGID_GUJARATI_INDIA 0x0447 #define TT_MS_LANGID_ORIYA_INDIA 0x0448 #define TT_MS_LANGID_TAMIL_INDIA 0x0449 #define TT_MS_LANGID_TELUGU_INDIA 0x044a #define TT_MS_LANGID_KANNADA_INDIA 0x044b #define TT_MS_LANGID_MALAYALAM_INDIA 0x044c #define TT_MS_LANGID_ASSAMESE_INDIA 0x044d #define TT_MS_LANGID_MARATHI_INDIA 0x044e #define TT_MS_LANGID_SANSKRIT_INDIA 0x044f #define TT_MS_LANGID_MONGOLIAN_MONGOLIA 0x0450 #define TT_MS_LANGID_TIBETAN_CHINA 0x0451 #define TT_MS_LANGID_WELSH_WALES 0x0452 #define TT_MS_LANGID_KHMER_CAMBODIA 0x0453 #define TT_MS_LANGID_LAO_LAOS 0x0454 #define TT_MS_LANGID_BURMESE_MYANMAR 0x0455 #define TT_MS_LANGID_GALICIAN_SPAIN 0x0456 #define TT_MS_LANGID_KONKANI_INDIA 0x0457 #define TT_MS_LANGID_MANIPURI_INDIA 0x0458 #define TT_MS_LANGID_SINDHI_INDIA 0x0459 #define TT_MS_LANGID_SYRIAC_SYRIA 0x045a #define TT_MS_LANGID_SINHALESE_SRI_LANKA 0x045b #define TT_MS_LANGID_CHEROKEE_UNITED_STATES 0x045c #define TT_MS_LANGID_INUKTITUT_CANADA 0x045d #define TT_MS_LANGID_AMHARIC_ETHIOPIA 0x045e #define TT_MS_LANGID_TAMAZIGHT_MOROCCO 0x045f #define TT_MS_LANGID_KASHMIRI_PAKISTAN 0x0460 #define TT_MS_LANGID_NEPALI_NEPAL 0x0461 #define TT_MS_LANGID_FRISIAN_NETHERLANDS 0x0462 #define TT_MS_LANGID_PASHTO_AFGHANISTAN 0x0463 #define TT_MS_LANGID_FILIPINO_PHILIPPINES 0x0464 #define TT_MS_LANGID_DHIVEHI_MALDIVES 0x0465 #define TT_MS_LANGID_EDO_NIGERIA 0x0466 #define TT_MS_LANGID_FULFULDE_NIGERIA 0x0467 #define TT_MS_LANGID_HAUSA_NIGERIA 0x0468 #define TT_MS_LANGID_IBIBIO_NIGERIA 0x0469 #define TT_MS_LANGID_YORUBA_NIGERIA 0x046a #define TT_MS_LANGID_QUECHUA_BOLIVIA 0x046b #define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA 0x046c #define TT_MS_LANGID_IGBO_NIGERIA 0x0470 #define TT_MS_LANGID_KANURI_NIGERIA 0x0471 #define TT_MS_LANGID_OROMO_ETHIOPIA 0x0472 #define TT_MS_LANGID_TIGRIGNA_ETHIOPIA 0x0473 #define TT_MS_LANGID_GUARANI_PARAGUAY 0x0474 #define TT_MS_LANGID_HAWAIIAN_UNITED_STATES 0x0475 #define TT_MS_LANGID_LATIN 0x0476 #define TT_MS_LANGID_SOMALI_SOMALIA 0x0477 #define TT_MS_LANGID_YI_CHINA 0x0478 #define TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES 0x0479 #define TT_MS_LANGID_UIGHUR_CHINA 0x0480 #define TT_MS_LANGID_MAORI_NEW_ZEALAND 0x0481 #define TT_MS_LANGID_ARABIC_IRAQ 0x0801 #define TT_MS_LANGID_CHINESE_PRC 0x0804 #define TT_MS_LANGID_GERMAN_SWITZERLAND 0x0807 #define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM 0x0809 #define TT_MS_LANGID_SPANISH_MEXICO 0x080a #define TT_MS_LANGID_FRENCH_BELGIUM 0x080c #define TT_MS_LANGID_ITALIAN_SWITZERLAND 0x0810 #define TT_MS_LANGID_KOREAN_JOHAB_KOREA 0x0812 #define TT_MS_LANGID_DUTCH_BELGIUM 0x0813 #define TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK 0x0814 #define TT_MS_LANGID_PORTUGUESE_PORTUGAL 0x0816 #define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA 0x0818 #define TT_MS_LANGID_RUSSIAN_MOLDAVIA 0x0819 #define TT_MS_LANGID_SERBIAN_SERBIA_LATIN 0x081a #define TT_MS_LANGID_SWEDISH_FINLAND 0x081d #define TT_MS_LANGID_URDU_INDIA 0x0820 #define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA 0x0827 #define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC 0x082c #define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN 0x083b #define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083c #define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM 0x083e #define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC 0x0843 #define TT_MS_LANGID_BENGALI_BANGLADESH 0x0845 #define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN 0x0846 #define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN 0x0850 #define TT_MS_LANGID_DZONGHKA_BHUTAN 0x0851 #define TT_MS_LANGID_SINDHI_PAKISTAN 0x0859 #define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN 0x085f #define TT_MS_LANGID_KASHMIRI_SASIA 0x0860 #define TT_MS_LANGID_NEPALI_INDIA 0x0861 #define TT_MS_LANGID_QUECHUA_ECUADOR 0x086b #define TT_MS_LANGID_TIGRIGNA_ERYTHREA 0x0873 #define TT_MS_LANGID_ARABIC_EGYPT 0x0c01 #define TT_MS_LANGID_CHINESE_HONG_KONG 0x0c04 #define TT_MS_LANGID_GERMAN_AUSTRIA 0x0c07 #define TT_MS_LANGID_ENGLISH_AUSTRALIA 0x0c09 #define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT 0x0c0a #define TT_MS_LANGID_FRENCH_CANADA 0x0c0c #define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC 0x0c1a #define TT_MS_LANGID_SAMI_NORTHERN_FINLAND 0x0C3b #define TT_MS_LANGID_QUECHUA_PERU 0x0c6b #define TT_MS_LANGID_ARABIC_LIBYA 0x1001 #define TT_MS_LANGID_CHINESE_SINGAPORE 0x1004 #define TT_MS_LANGID_GERMAN_LUXEMBOURG 0x1007 #define TT_MS_LANGID_ENGLISH_CANADA 0x1009 #define TT_MS_LANGID_SPANISH_GUATEMALA 0x100a #define TT_MS_LANGID_FRENCH_SWITZERLAND 0x100c #define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA 0x101a #define TT_MS_LANGID_SAMI_LULE_NORWAY 0x103b #define TT_MS_LANGID_ARABIC_ALGERIA 0x1401 #define TT_MS_LANGID_CHINESE_MACAU 0x1404 #define TT_MS_LANGID_GERMAN_LIECHTENSTEI 0x1407 #define TT_MS_LANGID_ENGLISH_NEW_ZEALAND 0x1409 #define TT_MS_LANGID_SPANISH_COSTA_RICA 0x140a #define TT_MS_LANGID_FRENCH_LUXEMBOURG 0x140c #define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x141a #define TT_MS_LANGID_SAMI_LULE_SWEDEN 0x143b #define TT_MS_LANGID_ARABIC_MOROCCO 0x1801 #define TT_MS_LANGID_ENGLISH_IRELAND 0x1809 #define TT_MS_LANGID_SPANISH_PANAMA 0x180a #define TT_MS_LANGID_FRENCH_MONACO 0x180c #define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC 0x181a #define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN 0x181a #define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY 0x183b #define TT_MS_LANGID_ARABIC_TUNISIA 0x1c01 #define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA 0x1c09 #define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC 0x1c0a #define TT_MS_LANGID_FRENCH_WEST_INDIES 0x1c0c #define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN 0x1C3b #define TT_MS_LANGID_ARABIC_OMAN 0x2001 #define TT_MS_LANGID_ENGLISH_JAMAICA 0x2009 #define TT_MS_LANGID_SPANISH_VENEZUELA 0x200a #define TT_MS_LANGID_FRENCH_REUNION 0x200c #define TT_MS_LANGID_SAMI_SKOLT_FINLAND 0x203b #define TT_MS_LANGID_ARABIC_YEMEN 0x2401 #define TT_MS_LANGID_ENGLISH_CARIBBEAN 0x2409 #define TT_MS_LANGID_SPANISH_COLOMBIA 0x240a #define TT_MS_LANGID_FRENCH_CONGO 0x240c #define TT_MS_LANGID_SAMI_INARI_FINLAND 0x243b #define TT_MS_LANGID_ARABIC_SYRIA 0x2801 #define TT_MS_LANGID_ENGLISH_BELIZE 0x2809 #define TT_MS_LANGID_SPANISH_PERU 0x280a #define TT_MS_LANGID_FRENCH_SENEGAL 0x280c #define TT_MS_LANGID_ARABIC_JORDAN 0x2c01 #define TT_MS_LANGID_ENGLISH_TRINIDAD 0x2c09 #define TT_MS_LANGID_SPANISH_ARGENTINA 0x2c0a #define TT_MS_LANGID_FRENCH_CAMEROON 0x2c0c #define TT_MS_LANGID_ARABIC_LEBANON 0x3001 #define TT_MS_LANGID_ENGLISH_ZIMBABWE 0x3009 #define TT_MS_LANGID_SPANISH_ECUADOR 0x300a #define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE 0x300c #define TT_MS_LANGID_ARABIC_KUWAIT 0x3401 #define TT_MS_LANGID_ENGLISH_PHILIPPINES 0x3409 #define TT_MS_LANGID_SPANISH_CHILE 0x340a #define TT_MS_LANGID_FRENCH_MALI 0x340c #define TT_MS_LANGID_ARABIC_UAE 0x3801 #define TT_MS_LANGID_ENGLISH_INDONESIA 0x3809 #define TT_MS_LANGID_SPANISH_URUGUAY 0x380a #define TT_MS_LANGID_FRENCH_MOROCCO 0x380c #define TT_MS_LANGID_ARABIC_BAHRAIN 0x3c01 #define TT_MS_LANGID_ENGLISH_HONG_KONG 0x3c09 #define TT_MS_LANGID_SPANISH_PARAGUAY 0x3c0a #define TT_MS_LANGID_FRENCH_HAITI 0x3c0c #define TT_MS_LANGID_ARABIC_QATAR 0x4001 #define TT_MS_LANGID_ENGLISH_INDIA 0x4009 #define TT_MS_LANGID_SPANISH_BOLIVIA 0x400a #define TT_MS_LANGID_ENGLISH_MALAYSIA 0x4409 #define TT_MS_LANGID_SPANISH_EL_SALVADOR 0x440a #define TT_MS_LANGID_ENGLISH_SINGAPORE 0x4809 #define TT_MS_LANGID_SPANISH_HONDURAS 0x480a #define TT_MS_LANGID_SPANISH_NICARAGUA 0x4c0a #define TT_MS_LANGID_SPANISH_PUERTO_RICO 0x500a #define TT_MS_LANGID_SPANISH_UNITED_STATES 0x540a #define TT_MS_LANGID_SPANISH_LATIN_AMERICA 0xE40aU #define TT_MS_LANGID_FRENCH_NORTH_AFRICA 0xE40cU #define TT_ADOBE_ID_EXPERT 1 #define TT_APPLE_ID_UNICODE_1_1 1 #define TT_ISO_ID_10646 1 #define TT_MAC_ID_JAPANESE 1 #define TT_MAC_LANGID_FRENCH 1 #define TT_MS_ID_UNICODE_CS 1 #define TT_NAME_ID_FONT_FAMILY 1 #define TT_PLATFORM_MACINTOSH 1 #define TT_MAC_ID_GURMUKHI 10 #define TT_MAC_LANGID_HEBREW 10 #define TT_MS_ID_UCS_4 10 #define TT_NAME_ID_DESCRIPTION 10 #define TT_MAC_ID_GUJARATI 11 #define TT_MAC_LANGID_JAPANESE 11 #define TT_NAME_ID_VENDOR_URL 11 #define TT_MAC_ID_ORIYA 12 #define TT_MAC_LANGID_ARABIC 12 #define TT_NAME_ID_DESIGNER_URL 12 #define TT_MAC_LANGID_WELSH 128 #define TT_MAC_LANGID_BASQUE 129 #define TT_MAC_ID_BENGALI 13 #define TT_MAC_LANGID_FINNISH 13 #define TT_NAME_ID_LICENSE 13 #define TT_MAC_LANGID_CATALAN 130 #define TT_MAC_LANGID_LATIN 131 #define TT_MAC_LANGID_QUECHUA 132 #define TT_MAC_LANGID_GUARANI 133 #define TT_MAC_LANGID_AYMARA 134 #define TT_MAC_LANGID_TATAR 135 #define TT_MAC_LANGID_UIGHUR 136 #define TT_MAC_LANGID_DZONGKHA 137 #define TT_MAC_LANGID_JAVANESE 138 #define TT_MAC_LANGID_SUNDANESE 139 #define TT_MAC_ID_TAMIL 14 #define TT_MAC_LANGID_GREEK 14 #define TT_NAME_ID_LICENSE_URL 14 #define TT_MAC_LANGID_GALICIAN 140 #define TT_MAC_LANGID_AFRIKAANS 141 #define TT_MAC_LANGID_BRETON 142 #define TT_MAC_LANGID_INUKTITUT 143 #define TT_MAC_LANGID_SCOTTISH_GAELIC 144 #define TT_MAC_LANGID_MANX_GAELIC 145 #define TT_MAC_LANGID_IRISH_GAELIC 146 #define TT_MAC_LANGID_TONGAN 147 #define TT_MAC_LANGID_GREEK_POLYTONIC 148 #define TT_MAC_LANGID_GREELANDIC 149 #define TT_MAC_ID_TELUGU 15 #define TT_MAC_LANGID_ICELANDIC 15 #define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT 150 #define TT_MAC_ID_KANNADA 16 #define TT_MAC_LANGID_MALTESE 16 #define TT_NAME_ID_PREFERRED_FAMILY 16 #define TT_MAC_ID_MALAYALAM 17 #define TT_MAC_LANGID_TURKISH 17 #define TT_NAME_ID_PREFERRED_SUBFAMILY 17 #define TT_MAC_ID_SINHALESE 18 #define TT_MAC_LANGID_CROATIAN 18 #define TT_NAME_ID_MAC_FULL_NAME 18 #define TT_MAC_ID_BURMESE 19 #define TT_MAC_LANGID_CHINESE_TRADITIONAL 19 #define TT_NAME_ID_SAMPLE_TEXT 19 #define TT_ADOBE_ID_CUSTOM 2 #define TT_APPLE_ID_ISO_10646 2 #define TT_ISO_ID_8859_1 2 #define TT_MAC_ID_TRADITIONAL_CHINESE 2 #define TT_MAC_LANGID_GERMAN 2 #define TT_MS_ID_SJIS 2 #define TT_NAME_ID_FONT_SUBFAMILY 2 #define TT_PLATFORM_ISO 2 #define TT_MAC_ID_KHMER 20 #define TT_MAC_LANGID_URDU 20 #define TT_NAME_ID_CID_FINDFONT_NAME 20 #define TT_MAC_ID_THAI 21 #define TT_MAC_LANGID_HINDI 21 #define TT_MAC_ID_LAOTIAN 22 #define TT_MAC_LANGID_THAI 22 #define TT_MAC_ID_GEORGIAN 23 #define TT_MAC_LANGID_KOREAN 23 #define TT_MAC_ID_ARMENIAN 24 #define TT_MAC_LANGID_LITHUANIAN 24 #define TT_MAC_ID_MALDIVIAN 25 #define TT_MAC_ID_SIMPLIFIED_CHINESE 25 #define TT_MAC_LANGID_POLISH 25 #define TT_MAC_ID_TIBETAN 26 #define TT_MAC_LANGID_HUNGARIAN 26 #define TT_MAC_ID_MONGOLIAN 27 #define TT_MAC_LANGID_ESTONIAN 27 #define TT_MAC_ID_GEEZ 28 #define TT_MAC_LANGID_LETTISH 28 #define TT_MAC_ID_SLAVIC 29 #define TT_MAC_LANGID_SAAMISK 29 #define TT_ADOBE_ID_LATIN_1 3 #define TT_APPLE_ID_UNICODE_2_0 3 #define TT_MAC_ID_KOREAN 3 #define TT_MAC_LANGID_ITALIAN 3 #define TT_MS_ID_GB2312 3 #define TT_NAME_ID_UNIQUE_ID 3 #define TT_PLATFORM_MICROSOFT 3 #define TT_MAC_ID_VIETNAMESE 30 #define TT_MAC_LANGID_FAEROESE 30 #define TT_MAC_ID_SINDHI 31 #define TT_MAC_LANGID_FARSI 31 #define TT_MAC_ID_UNINTERP 32 #define TT_MAC_LANGID_RUSSIAN 32 #define TT_MAC_LANGID_CHINESE_SIMPLIFIED 33 #define TT_MAC_LANGID_FLEMISH 34 #define TT_MAC_LANGID_IRISH 35 #define TT_MAC_LANGID_ALBANIAN 36 #define TT_MAC_LANGID_ROMANIAN 37 #define TT_MAC_LANGID_CZECH 38 #define TT_MAC_LANGID_SLOVAK 39 #define TT_APPLE_ID_UNICODE_32 4 #define TT_MAC_ID_ARABIC 4 #define TT_MAC_LANGID_DUTCH 4 #define TT_MS_ID_BIG_5 4 #define TT_NAME_ID_FULL_NAME 4 #define TT_PLATFORM_CUSTOM 4 #define TT_MAC_LANGID_SLOVENIAN 40 #define TT_MAC_LANGID_YIDDISH 41 #define TT_MAC_LANGID_SERBIAN 42 #define TT_MAC_LANGID_MACEDONIAN 43 #define TT_MAC_LANGID_BULGARIAN 44 #define TT_MAC_LANGID_UKRAINIAN 45 #define TT_MAC_LANGID_BYELORUSSIAN 46 #define TT_MAC_LANGID_UZBEK 47 #define TT_MAC_LANGID_KAZAKH 48 #define TT_MAC_LANGID_AZERBAIJANI 49 #define TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT 49 #define TT_MAC_ID_HEBREW 5 #define TT_MAC_LANGID_SWEDISH 5 #define TT_MS_ID_WANSUNG 5 #define TT_NAME_ID_VERSION_STRING 5 #define TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT 50 #define TT_MAC_LANGID_ARMENIAN 51 #define TT_MAC_LANGID_GEORGIAN 52 #define TT_MAC_LANGID_MOLDAVIAN 53 #define TT_MAC_LANGID_KIRGHIZ 54 #define TT_MAC_LANGID_TAJIKI 55 #define TT_MAC_LANGID_TURKMEN 56 #define TT_MAC_LANGID_MONGOLIAN 57 #define TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT 57 #define TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT 58 #define TT_MAC_LANGID_PASHTO 59 #define TT_MAC_ID_GREEK 6 #define TT_MAC_LANGID_SPANISH 6 #define TT_MS_ID_JOHAB 6 #define TT_NAME_ID_PS_NAME 6 #define TT_MAC_LANGID_KURDISH 60 #define TT_MAC_LANGID_KASHMIRI 61 #define TT_MAC_LANGID_SINDHI 62 #define TT_MAC_LANGID_TIBETAN 63 #define TT_MAC_LANGID_NEPALI 64 #define TT_MAC_LANGID_SANSKRIT 65 #define TT_MAC_LANGID_MARATHI 66 #define TT_MAC_LANGID_BENGALI 67 #define TT_MAC_LANGID_ASSAMESE 68 #define TT_MAC_LANGID_GUJARATI 69 #define TT_MAC_ID_RUSSIAN 7 #define TT_MAC_LANGID_DANISH 7 #define TT_NAME_ID_TRADEMARK 7 #define TT_PLATFORM_ADOBE 7 #define TT_MAC_LANGID_PUNJABI 70 #define TT_MAC_LANGID_ORIYA 71 #define TT_MAC_LANGID_MALAYALAM 72 #define TT_MAC_LANGID_KANNADA 73 #define TT_MAC_LANGID_TAMIL 74 #define TT_MAC_LANGID_TELUGU 75 #define TT_MAC_LANGID_SINHALESE 76 #define TT_MAC_LANGID_BURMESE 77 #define TT_MAC_LANGID_KHMER 78 #define TT_MAC_LANGID_LAO 79 #define TT_MAC_ID_RSYMBOL 8 #define TT_MAC_LANGID_PORTUGUESE 8 #define TT_NAME_ID_MANUFACTURER 8 #define TT_MAC_LANGID_VIETNAMESE 80 #define TT_MAC_LANGID_INDONESIAN 81 #define TT_MAC_LANGID_TAGALOG 82 #define TT_MAC_LANGID_MALAY_ROMAN_SCRIPT 83 #define TT_MAC_LANGID_MALAY_ARABIC_SCRIPT 84 #define TT_MAC_LANGID_AMHARIC 85 #define TT_MAC_LANGID_TIGRINYA 86 #define TT_MAC_LANGID_GALLA 87 #define TT_MAC_LANGID_SOMALI 88 #define TT_MAC_LANGID_SWAHILI 89 #define TT_MAC_ID_DEVANAGARI 9 #define TT_MAC_LANGID_NORWEGIAN 9 #define TT_NAME_ID_DESIGNER 9 #define TT_MAC_LANGID_RUANDA 90 #define TT_MAC_LANGID_RUNDI 91 #define TT_MAC_LANGID_CHEWA 92 #define TT_MAC_LANGID_MALAGASY 93 #define TT_MAC_LANGID_ESPERANTO 94 #define TT_MS_LANGID_DIVEHI_MALDIVES TT_MS_LANGID_DHIVEHI_MALDIVES #define TT_MS_LANGID_TIBETAN_BHUTAN TT_MS_LANGID_DZONGHKA_BHUTAN #define TT_MS_LANGID_FRENCH_ZAIRE TT_MS_LANGID_FRENCH_CONGO #define TT_MS_LANGID_KASHMIRI_INDIA TT_MS_LANGID_KASHMIRI_SASIA #define TT_MS_LANGID_TIGRIGNA_ERYTREA TT_MS_LANGID_TIGRIGNA_ERYTHREA #define TT_UCR_ARABIC_PRESENTATION_FORMS_A TT_UCR_ARABIC_PRESENTATIONS_A #define TT_UCR_ARABIC_PRESENTATION_FORMS_B TT_UCR_ARABIC_PRESENTATIONS_B #define TT_UCR_KANBUN TT_UCR_CJK_MISC #define TT_UCR_COMBINING_DIACRITICAL_MARKS TT_UCR_COMBINING_DIACRITICS |
typedef enum {
ft_sfnt_head = 0,
ft_sfnt_maxp = 1,
ft_sfnt_os2 = 2,
ft_sfnt_hhea = 3,
ft_sfnt_vhea = 4,
ft_sfnt_post = 5,
ft_sfnt_pclt = 6,
sfnt_max = 7
} FT_Sfnt_Tag;
typedef struct TT_Header_ {
FT_Fixed Table_Version;
FT_Fixed Font_Revision;
FT_Long CheckSum_Adjust;
FT_Long Magic_Number;
FT_UShort Flags;
FT_UShort Units_Per_EM;
FT_Long Created[2];
FT_Long Modified[2];
FT_Short xMin;
FT_Short yMin;
FT_Short xMax;
FT_Short yMax;
FT_UShort Mac_Style;
FT_UShort Lowest_Rec_PPEM;
FT_Short Font_Direction;
FT_Short Index_To_Loc_Format;
FT_Short Glyph_Data_Format;
} TT_Header;
typedef struct TT_HoriHeader_ {
FT_Fixed Version;
FT_Short Ascender;
FT_Short Descender;
FT_Short Line_Gap;
FT_UShort advance_Width_Max;
FT_Short min_Left_Side_Bearing;
FT_Short min_Right_Side_Bearing;
FT_Short xMax_Extent;
FT_Short caret_Slope_Rise;
FT_Short caret_Slope_Run;
FT_Short caret_Offset;
FT_Short Reserved[4];
FT_Short metric_Data_Format;
FT_UShort number_Of_HMetrics;
void *long_metrics;
void *short_metrics;
} TT_HoriHeader;
typedef struct TT_VertHeader_ {
FT_Fixed Version;
FT_Short Ascender;
FT_Short Descender;
FT_Short Line_Gap;
FT_UShort advance_Height_Max;
FT_Short min_Top_Side_Bearing;
FT_Short min_Bottom_Side_Bearing;
FT_Short yMax_Extent;
FT_Short caret_Slope_Rise;
FT_Short caret_Slope_Run;
FT_Short caret_Offset;
FT_Short Reserved[4];
FT_Short metric_Data_Format;
FT_UShort number_Of_VMetrics;
void *long_metrics;
void *short_metrics;
} TT_VertHeader;
typedef struct TT_OS2_ {
FT_UShort version;
FT_Short xAvgCharWidth;
FT_UShort usWeightClass;
FT_UShort usWidthClass;
FT_Short fsType;
FT_Short ySubscriptXSize;
FT_Short ySubscriptYSize;
FT_Short ySubscriptXOffset;
FT_Short ySubscriptYOffset;
FT_Short ySuperscriptXSize;
FT_Short ySuperscriptYSize;
FT_Short ySuperscriptXOffset;
FT_Short ySuperscriptYOffset;
FT_Short yStrikeoutSize;
FT_Short yStrikeoutPosition;
FT_Short sFamilyClass;
FT_Byte panose[10];
FT_ULong ulUnicodeRange1;
FT_ULong ulUnicodeRange2;
FT_ULong ulUnicodeRange3;
FT_ULong ulUnicodeRange4;
FT_Char achVendID[4];
FT_UShort fsSelection;
FT_UShort usFirstCharIndex;
FT_UShort usLastCharIndex;
FT_Short sTypoAscender;
FT_Short sTypoDescender;
FT_Short sTypoLineGap;
FT_UShort usWinAscent;
FT_UShort usWinDescent;
FT_ULong ulCodePageRange1;
FT_ULong ulCodePageRange2;
FT_Short sxHeight;
FT_Short sCapHeight;
FT_UShort usDefaultChar;
FT_UShort usBreakChar;
FT_UShort usMaxContext;
} TT_OS2;
typedef struct TT_Postscript_ {
FT_Fixed FormatType;
FT_Fixed italicAngle;
FT_Short underlinePosition;
FT_Short underlineThickness;
FT_ULong isFixedPitch;
FT_ULong minMemType42;
FT_ULong maxMemType42;
FT_ULong minMemType1;
FT_ULong maxMemType1;
} TT_Postscript;
typedef struct TT_PCLT_ {
FT_Fixed Version;
FT_ULong FontNumber;
FT_UShort Pitch;
FT_UShort xHeight;
FT_UShort Style;
FT_UShort TypeFamily;
FT_UShort CapHeight;
FT_UShort SymbolSet;
FT_Char TypeFace[16];
FT_Char CharacterComplement[8];
FT_Char FileName[6];
FT_Char StrokeWeight;
FT_Char WidthType;
FT_Byte SerifStyle;
FT_Byte Reserved;
} TT_PCLT;
typedef struct TT_MaxProfile_ {
FT_Fixed version;
FT_UShort numGlyphs;
FT_UShort maxPoints;
FT_UShort maxContours;
FT_UShort maxCompositePoints;
FT_UShort maxCompositeContours;
FT_UShort maxZones;
FT_UShort maxTwilightPoints;
FT_UShort maxStorage;
FT_UShort maxFunctionDefs;
FT_UShort maxInstructionDefs;
FT_UShort maxStackElements;
FT_UShort maxSizeOfInstructions;
FT_UShort maxComponentElements;
FT_UShort maxComponentDepth;
} TT_MaxProfile;
extern FT_ULong FT_Get_CMap_Language_ID(FT_CharMap);
extern void *FT_Get_Sfnt_Table(FT_Face, FT_Sfnt_Tag);
extern FT_Error FT_Load_Sfnt_Table(FT_Face, FT_ULong, FT_Long, FT_Byte *,
FT_ULong *);
extern FT_Error FT_Sfnt_Table_Info(FT_Face, FT_UInt, FT_ULong *,
FT_ULong *); |
#define TTAG_avar FT_MAKE_TAG( 'a', 'v', 'a', 'r' ) #define TTAG_BASE FT_MAKE_TAG( 'B', 'A', 'S', 'E' ) #define TTAG_bdat FT_MAKE_TAG( 'b', 'd', 'a', 't' ) #define TTAG_bhed FT_MAKE_TAG( 'b', 'h', 'e', 'd' ) #define TTAG_bloc FT_MAKE_TAG( 'b', 'l', 'o', 'c' ) #define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' ) #define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' ) #define TTAG_cvar FT_MAKE_TAG( 'c', 'v', 'a', 'r' ) #define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' ) #define TTAG_DSIG FT_MAKE_TAG( 'D', 'S', 'I', 'G' ) #define TTAG_EBDT FT_MAKE_TAG( 'E', 'B', 'D', 'T' ) #define TTAG_EBLC FT_MAKE_TAG( 'E', 'B', 'L', 'C' ) #define TTAG_EBSC FT_MAKE_TAG( 'E', 'B', 'S', 'C' ) #define TTAG_fpgm FT_MAKE_TAG( 'f', 'p', 'g', 'm' ) #define TTAG_fvar FT_MAKE_TAG( 'f', 'v', 'a', 'r' ) #define TTAG_gasp FT_MAKE_TAG( 'g', 'a', 's', 'p' ) #define TTAG_GDEF FT_MAKE_TAG( 'G', 'D', 'E', 'F' ) #define TTAG_glyf FT_MAKE_TAG( 'g', 'l', 'y', 'f' ) #define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' ) #define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' ) #define TTAG_gvar FT_MAKE_TAG( 'g', 'v', 'a', 'r' ) #define TTAG_hdmx FT_MAKE_TAG( 'h', 'd', 'm', 'x' ) #define TTAG_head FT_MAKE_TAG( 'h', 'e', 'a', 'd' ) #define TTAG_hhea FT_MAKE_TAG( 'h', 'h', 'e', 'a' ) #define TTAG_hmtx FT_MAKE_TAG( 'h', 'm', 't', 'x' ) #define TTAG_JSTF FT_MAKE_TAG( 'J', 'S', 'T', 'F' ) #define TTAG_kern FT_MAKE_TAG( 'k', 'e', 'r', 'n' ) #define TTAG_loca FT_MAKE_TAG( 'l', 'o', 'c', 'a' ) #define TTAG_LTSH FT_MAKE_TAG( 'L', 'T', 'S', 'H' ) #define TTAG_maxp FT_MAKE_TAG( 'm', 'a', 'x', 'p' ) #define TTAG_MMFX FT_MAKE_TAG( 'M', 'M', 'F', 'X' ) #define TTAG_MMSD FT_MAKE_TAG( 'M', 'M', 'S', 'D' ) #define TTAG_name FT_MAKE_TAG( 'n', 'a', 'm', 'e' ) #define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' ) #define TTAG_OTTO FT_MAKE_TAG( 'O', 'T', 'T', 'O' ) #define TTAG_PCLT FT_MAKE_TAG( 'P', 'C', 'L', 'T' ) #define TTAG_post FT_MAKE_TAG( 'p', 'o', 's', 't' ) #define TTAG_prep FT_MAKE_TAG( 'p', 'r', 'e', 'p' ) #define TTAG_true FT_MAKE_TAG( 't', 'r', 'u', 'e' ) #define TTAG_ttc FT_MAKE_TAG( 't', 't', 'c', ' ' ) #define TTAG_ttcf FT_MAKE_TAG( 't', 't', 'c', 'f' ) #define TTAG_VDMX FT_MAKE_TAG( 'V', 'D', 'M', 'X' ) #define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' ) #define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' ) |
#define FT_PARAM_TAG_UNPATENTED_HINTING FT_MAKE_TAG( 'u', 'n', 'p', 'a' ) |
The interfaces defined on the following pages are included in libfreetype and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.
Other interfaces listed in Section 12.1 shall behave as described in the referenced base document.
The FT_Get_X11_Font_Format() function can be used to return a string describing the format of the font face referenced by face.
Note that this information is not needed normally; however, there are special cases (like in PDF devices) where it is important to differentiate, in spite of FreeType's uniform API.
The FT_Get_X11_Font_FormaFT_Get_X11_Font_Format()
function returns return a string describing the format of a given face,
using values which can be used as an X11 FONT_PROPERTY.
Possible values are TrueType,
Type 1, BDF,
PCF, Type 42,
CID Type 1, CFF,
PFR, and Windows FNT.
In case of an error, NULL is returned.
Table 13-1 defines the library name and shared object name for the libXft library
The behavior of the interfaces in this library is specified by the following specifications:
| [LSB] This Specification |
An LSB conforming implementation shall provide the generic functions for X FreeType Library specified in Table 13-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 13-2. libXft - X FreeType Library Function Interfaces
| XftCharExists [LSB] | XftCharFontSpecRender [LSB] | XftCharIndex [LSB] |
| XftCharSpecRender [LSB] | XftColorAllocName [LSB] | XftColorAllocValue [LSB] |
| XftColorFree [LSB] | XftDefaultHasRender [LSB] | XftDefaultSet [LSB] |
| XftDefaultSubstitute [LSB] | XftDrawChange [LSB] | XftDrawCharFontSpec [LSB] |
| XftDrawCharSpec [LSB] | XftDrawColormap [LSB] | XftDrawCreate [LSB] |
| XftDrawCreateAlpha [LSB] | XftDrawCreateBitmap [LSB] | XftDrawDestroy [LSB] |
| XftDrawDisplay [LSB] | XftDrawDrawable [LSB] | XftDrawGlyphFontSpec [LSB] |
| XftDrawGlyphSpec [LSB] | XftDrawGlyphs [LSB] | XftDrawPicture [LSB] |
| XftDrawRect [LSB] | XftDrawSetClip [LSB] | XftDrawSetClipRectangles [LSB] |
| XftDrawSetSubwindowMode [LSB] | XftDrawSrcPicture [LSB] | XftDrawString16 [LSB] |
| XftDrawString32 [LSB] | XftDrawString8 [LSB] | XftDrawStringUtf16 [LSB] |
| XftDrawStringUtf8 [LSB] | XftDrawVisual [LSB] | XftFontCheckGlyph [LSB] |
| XftFontClose [LSB] | XftFontCopy [LSB] | XftFontInfoCreate [LSB] |
| XftFontInfoDestroy [LSB] | XftFontInfoEqual [LSB] | XftFontInfoHash [LSB] |
| XftFontLoadGlyphs [LSB] | XftFontMatch [LSB] | XftFontOpen [LSB] |
| XftFontOpenInfo [LSB] | XftFontOpenName [LSB] | XftFontOpenPattern [LSB] |
| XftFontOpenXlfd [LSB] | XftFontUnloadGlyphs [LSB] | XftGetVersion [LSB] |
| XftGlyphExtents [LSB] | XftGlyphFontSpecRender [LSB] | XftGlyphRender [LSB] |
| XftGlyphSpecRender [LSB] | XftInit [LSB] | XftInitFtLibrary [LSB] |
| XftListFonts [LSB] | XftLockFace [LSB] | XftNameParse [LSB] |
| XftTextExtents16 [LSB] | XftTextExtents32 [LSB] | XftTextExtents8 [LSB] |
| XftTextExtentsUtf16 [LSB] | XftTextExtentsUtf8 [LSB] | XftTextRender16 [LSB] |
| XftTextRender16BE [LSB] | XftTextRender16LE [LSB] | XftTextRender32 [LSB] |
| XftTextRender32BE [LSB] | XftTextRender32LE [LSB] | XftTextRender8 [LSB] |
| XftTextRenderUtf16 [LSB] | XftTextRenderUtf8 [LSB] | XftUnlockFace [LSB] |
| XftXlfdParse [LSB] |
This section defines global identifiers and their values that are associated with interfaces contained in libXft. 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.
#define _XFT_H_
#define XFT_VERSION \
((XFT_MAJOR * 10000) + (XFT_MINOR * 100) + (XFT_REVISION))
#define XFT_CORE "core"
#define XFT_MAX_GLYPH_MEMORY "maxglyphmemory"
#define XFT_MAX_UNREF_FONTS "maxunreffonts"
#define XFT_RENDER "render"
#define XFT_XLFD "xlfd"
#define XFT_MINOR 1
#define XFT_MAJOR 2
#define XFT_NMISSING 256
#define XFT_REVISION 8
#define XftVersion XFT_VERSION
typedef struct _XftDraw XftDraw;
typedef struct _XftColor {
unsigned long int pixel;
XRenderColor color;
} XftColor;
typedef struct _XftFont {
int ascent;
int descent;
int height;
int max_advance_width;
FcCharSet *charset;
FcPattern **pattern;
} XftFont;
typedef struct _XftGlyphSpec {
FT_UInt glyph;
short x;
short y;
} XftGlyphSpec;
typedef struct _XftCharSpec {
FcChar32 ucs4;
short x;
short y;
} XftCharSpec;
typedef struct _XftFtFile XftFtFile;
typedef struct _XftFontInfo XftFontInfo;
typedef struct _XftCharFontSpec {
XftFont *font;
FcChar32 ucs4;
short x;
short y;
} XftCharFontSpec;
typedef struct _XftGlyphFontSpec {
XftFont *font;
FT_UInt glyph;
short x;
short y;
} XftGlyphFontSpec;
extern FcBool XftCharExists(Display *, XftFont *, FcChar32);
extern void XftCharFontSpecRender(Display *, int, Picture, Picture, int,
int, const XftCharFontSpec *, int);
extern FT_UInt XftCharIndex(Display *, XftFont *, FcChar32);
extern void XftCharSpecRender(Display *, int, Picture, XftFont *, Picture,
int, int, const XftCharSpec *, int);
extern int XftColorAllocName(Display *, const Visual *, Colormap,
const char *, XftColor *);
extern int XftColorAllocValue(Display *, Visual *, Colormap,
const XRenderColor *, XftColor *);
extern void XftColorFree(Display *, Visual *, Colormap, XftColor *);
extern int XftDefaultHasRender(Display *);
extern int XftDefaultSet(Display *, FcPattern *);
extern void XftDefaultSubstitute(Display *, int, FcPattern *);
extern void XftDrawChange(XftDraw *, Drawable);
extern void XftDrawCharFontSpec(XftDraw *, const XftColor *,
const XftCharFontSpec *, int);
extern void XftDrawCharSpec(XftDraw *, const XftColor *, XftFont *,
const XftCharSpec *, int);
extern Colormap XftDrawColormap(XftDraw *);
extern XftDraw *XftDrawCreate(Display *, Drawable, Visual *, Colormap);
extern XftDraw *XftDrawCreateAlpha(Display *, Pixmap, int);
extern XftDraw *XftDrawCreateBitmap(Display *, Pixmap);
extern void XftDrawDestroy(XftDraw *);
extern Display *XftDrawDisplay(XftDraw *);
extern Drawable XftDrawDrawable(XftDraw *);
extern void XftDrawGlyphFontSpec(XftDraw *, const XftColor *,
const XftGlyphFontSpec *, int);
extern void XftDrawGlyphSpec(XftDraw *, const XftColor *, XftFont *,
const XftGlyphSpec *, int);
extern void XftDrawGlyphs(XftDraw *, const XftColor *, XftFont *, int, int,
const FT_UInt *, int);
extern Picture XftDrawPicture(XftDraw *);
extern void XftDrawRect(XftDraw *, const XftColor *, int, int,
unsigned int, unsigned int);
extern int XftDrawSetClip(XftDraw *, Region);
extern int XftDrawSetClipRectangles(XftDraw *, int, int,
const XRectangle *, int);
extern void XftDrawSetSubwindowMode(XftDraw *, int);
extern Picture XftDrawSrcPicture(XftDraw *, const XftColor *);
extern void XftDrawString16(XftDraw *, const XftColor *, XftFont *, int,
int, const FcChar16 *, int);
extern void XftDrawString32(XftDraw *, const XftColor *, XftFont *, int,
int, const FcChar32 *, int);
extern void XftDrawString8(XftDraw *, const XftColor *, XftFont *, int,
int, const FcChar8 *, int);
extern void XftDrawStringUtf16(XftDraw *, const XftColor *, XftFont *, int,
int, const FcChar8 *, FcEndian, int);
extern void XftDrawStringUtf8(XftDraw *, const XftColor *, XftFont *, int,
int, const FcChar8 *, int);
extern Visual *XftDrawVisual(XftDraw *);
extern FcBool XftFontCheckGlyph(Display *, XftFont *, FcBool, FT_UInt,
FT_UInt *, int *);
extern void XftFontClose(Display *, XftFont *);
extern XftFont *XftFontCopy(Display *, XftFont *);
extern XftFontInfo *XftFontInfoCreate(Display *, const FcPattern *);
extern void XftFontInfoDestroy(Display *, XftFontInfo *);
extern FcBool XftFontInfoEqual(const XftFontInfo *, const XftFontInfo *);
extern FcChar32 XftFontInfoHash(const XftFontInfo *);
extern void XftFontLoadGlyphs(Display *, XftFont *, FcBool,
const FT_UInt *, int);
extern FcPattern *XftFontMatch(Display *, int, const FcPattern *,
FcResult *);
extern XftFont *XftFontOpen(Display *, int, ...);
extern XftFont *XftFontOpenInfo(Display *, FcPattern *, XftFontInfo *);
extern XftFont *XftFontOpenName(Display *, int, const char *);
extern XftFont *XftFontOpenPattern(Display *, FcPattern *);
extern XftFont *XftFontOpenXlfd(Display *, int, const char *);
extern void XftFontUnloadGlyphs(Display *, XftFont *, const FT_UInt *,
int);
extern int XftGetVersion(void);
extern void XftGlyphExtents(Display *, XftFont *, const FT_UInt *, int,
XGlyphInfo *);
extern void XftGlyphFontSpecRender(Display *, int, Picture, Picture, int,
int, const XftGlyphFontSpec *, int);
extern void XftGlyphRender(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FT_UInt *, int);
extern void XftGlyphSpecRender(Display *, int, Picture, XftFont *, Picture,
int, int, const XftGlyphSpec *, int);
extern int XftInit(const char *);
extern FcBool XftInitFtLibrary(void);
extern FcFontSet *XftListFonts(Display *, int, ...);
extern FT_Face XftLockFace(XftFont *);
extern FcPattern *XftNameParse(const char *);
extern void XftTextExtents16(Display *, XftFont *, const FcChar16 *, int,
XGlyphInfo *);
extern void XftTextExtents32(Display *, XftFont *, const FcChar32 *, int,
XGlyphInfo *);
extern void XftTextExtents8(Display *, XftFont *, const FcChar8 *, int,
XGlyphInfo *);
extern void XftTextExtentsUtf16(Display *, XftFont *, const FcChar8 *,
FcEndian, int, XGlyphInfo *);
extern void XftTextExtentsUtf8(Display *, XftFont *, const FcChar8 *, int,
XGlyphInfo *);
extern void XftTextRender16(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar16 *, int);
extern void XftTextRender16BE(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar8 *, int);
extern void XftTextRender16LE(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar8 *, int);
extern void XftTextRender32(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar32 *, int);
extern void XftTextRender32BE(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar8 *, int);
extern void XftTextRender32LE(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar8 *, int);
extern void XftTextRender8(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar8 *, int);
extern void XftTextRenderUtf16(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar8 *,
FcEndian, int);
extern void XftTextRenderUtf8(Display *, int, Picture, XftFont *, Picture,
int, int, int, int, const FcChar8 *, int);
extern void XftUnlockFace(XftFont *);
extern FcPattern *XftXlfdParse(const char *, FcBool, FcBool); |
The interfaces defined on the following pages are included in libXft and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.
Other interfaces listed in Section 13.1 shall behave as described in the referenced base document.
Table 14-1 defines the library name and shared object name for the libXrender library
The behavior of the interfaces in this library is specified by the following specifications:
| [LSB] This Specification |
An LSB conforming implementation shall provide the generic functions for X Rendering Extension specified in Table 14-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 14-2. libXrender - X Rendering Extension Function Interfaces
| XRenderAddGlyphs [LSB] | XRenderAddTraps [LSB] | XRenderChangePicture [LSB] |
| XRenderComposite [LSB] | XRenderCompositeDoublePoly [LSB] | XRenderCompositeString16 [LSB] |
| XRenderCompositeString32 [LSB] | XRenderCompositeString8 [LSB] | XRenderCompositeText16 [LSB] |
| XRenderCompositeText32 [LSB] | XRenderCompositeText8 [LSB] | XRenderCompositeTrapezoids [LSB] |
| XRenderCompositeTriFan [LSB] | XRenderCompositeTriStrip [LSB] | XRenderCompositeTriangles [LSB] |
| XRenderCreateAnimCursor [LSB] | XRenderCreateConicalGradient [LSB] | XRenderCreateCursor [LSB] |
| XRenderCreateGlyphSet [LSB] | XRenderCreateLinearGradient [LSB] | XRenderCreatePicture [LSB] |
| XRenderCreateRadialGradient [LSB] | XRenderCreateSolidFill [LSB] | XRenderFillRectangle [LSB] |
| XRenderFillRectangles [LSB] | XRenderFindFormat [LSB] | XRenderFindStandardFormat [LSB] |
| XRenderFindVisualFormat [LSB] | XRenderFreeGlyphSet [LSB] | XRenderFreeGlyphs [LSB] |
| XRenderFreePicture [LSB] | XRenderParseColor [LSB] | XRenderQueryExtension [LSB] |
| XRenderQueryFilters [LSB] | XRenderQueryFormats [LSB] | XRenderQueryPictIndexValues [LSB] |
| XRenderQuerySubpixelOrder [LSB] | XRenderQueryVersion [LSB] | XRenderReferenceGlyphSet [LSB] |
| XRenderSetPictureClipRectangles [LSB] | XRenderSetPictureClipRegion [LSB] | XRenderSetPictureFilter [LSB] |
| XRenderSetPictureTransform [LSB] | XRenderSetSubpixelOrder [LSB] |
This section defines global identifiers and their values that are associated with interfaces contained in libXrender. 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.
#define XFixedToDouble(f) (((XDouble) (f)) / 65536)
#define XDoubleToFixed(f) ((XFixed) ((f) * 65536))
#define PictFormatID (1 << 0)
#define PictFormatType (1 << 1)
#define PictFormatAlphaMask (1 << 10)
#define PictFormatColormap (1 << 11)
#define PictFormatDepth (1 << 2)
#define PictFormatRed (1 << 3)
#define PictFormatRedMask (1 << 4)
#define PictFormatGreen (1 << 5)
#define PictFormatGreenMask (1 << 6)
#define PictFormatBlue (1 << 7)
#define PictFormatBlueMask (1 << 8)
#define PictFormatAlpha (1 << 9)
#define PictStandardARGB32 0
#define PictStandardRGB24 1
#define PictStandardA8 2
#define PictStandardA4 3
#define PictStandardA1 4
#define PictStandardNUM 5
typedef long unsigned int GlyphSet;
typedef int XFixed;
typedef struct _XPointFixed {
XFixed x;
XFixed y;
} XPointFixed;
typedef struct _XCircle {
XFixed x;
XFixed y;
XFixed radius;
} XCircle;
typedef double XDouble;
typedef struct _XSpanFix {
XFixed left;
XFixed right;
XFixed y;
} XSpanFix;
typedef struct _XLineFixed {
XPointFixed p1;
XPointFixed p2;
} XLineFixed;
typedef struct _XTrapezoid {
XFixed top;
XFixed bottom;
XLineFixed left;
XLineFixed right;
} XTrapezoid;
typedef struct {
unsigned short red;
unsigned short green;
unsigned short blue;
unsigned short alpha;
} XRenderColor;
typedef long unsigned int Glyph;
typedef long unsigned int PictFormat;
typedef struct {
short red;
short redMask;
short green;
short greenMask;
short blue;
short blueMask;
short alpha;
short alphaMask;
} XRenderDirectFormat;
typedef struct {
PictFormat id;
int type;
int depth;
XRenderDirectFormat direct;
Colormap colormap;
} XRenderPictFormat;
typedef struct _XGlyphInfo {
unsigned short width;
unsigned short height;
short x;
short y;
short xOff;
short yOff;
} XGlyphInfo;
typedef struct _XFilters {
int nfilter;
char **filter;
int nalias;
short int *alias;
} XFilters;
typedef struct _XTransform {
XFixed matrix[3][3];
} XTransform;
typedef struct _XAnimCursor {
Cursor cursor;
long unsigned int delay;
} XAnimCursor;
typedef struct _XRadialGradient {
XCircle inner;
XCircle outer;
} XRadialGradient;
typedef struct _XGlyphElt32 {
GlyphSet glyphset;
const unsigned int *chars;
int nchars;
int xOff;
int yOff;
} XGlyphElt32;
typedef struct _XGlyphElt8 {
GlyphSet glyphset;
const char *chars;
int nchars;
int xOff;
int yOff;
} XGlyphElt8;
typedef struct _XConicalGradient {
XPointFixed center;
XFixed angle;
} XConicalGradient;
typedef struct _XLinearGradient {
XPointFixed p1;
XPointFixed p2;
} XLinearGradient;
typedef struct _XPointDouble {
XDouble x;
XDouble y;
} XPointDouble;
typedef struct _XRenderPictureAttributes {
int repeat;
Picture alpha_map;
int alpha_x_origin;
int alpha_y_origin;
int clip_x_origin;
int clip_y_origin;
Pixmap clip_mask;
int graphics_exposures;
int subwindow_mode;
int poly_edge;
int poly_mode;
Atom dither;
int component_alpha;
} XRenderPictureAttributes;
typedef struct _XTrap {
XSpanFix top;
XSpanFix bottom;
} XTrap;
typedef struct _XIndexValue {
long unsigned int pixel;
unsigned short red;
unsigned short green;
unsigned short blue;
unsigned short alpha;
} XIndexValue;
typedef struct _XGlyphElt16 {
GlyphSet glyphset;
const short unsigned int *chars;
int nchars;
int xOff;
int yOff;
} XGlyphElt16;
typedef struct _XTriangle {
XPointFixed p1;
XPointFixed p2;
XPointFixed p3;
} XTriangle;
extern void XRenderAddGlyphs(Display * dpy, GlyphSet glyphset,
const Glyph * gids, const XGlyphInfo * glyphs,
int nglyphs, const char *images,
int nbyte_images);
extern void XRenderAddTraps(Display * dpy, Picture picture, int xOff,
int yOff, const XTrap * traps, int ntrap);
extern void XRenderChangePicture(Display * dpy, Picture picture,
long unsigned int valuemask,
const XRenderPictureAttributes *
attributes);
extern void XRenderComposite(Display * dpy, int op, Picture src,
Picture mask, Picture dst, int src_x,
int src_y, int mask_x, int mask_y, int dst_x,
int dst_y, unsigned int width,
unsigned int height);
extern void XRenderCompositeDoublePoly(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat *
maskFormat, int xSrc, int ySrc,
int xDst, int yDst,
const XPointDouble * fpoints,
int npoints, int winding);
extern void XRenderCompositeString16(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
GlyphSet glyphset, int xSrc, int ySrc,
int xDst, int yDst,
const short unsigned int *string,
int nchar);
extern void XRenderCompositeString32(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
GlyphSet glyphset, int xSrc, int ySrc,
int xDst, int yDst,
const unsigned int *string,
int nchar);
extern void XRenderCompositeString8(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
GlyphSet glyphset, int xSrc, int ySrc,
int xDst, int yDst, const char *string,
int nchar);
extern void XRenderCompositeText16(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
int xSrc, int ySrc, int xDst, int yDst,
const XGlyphElt16 * elts, int nelt);
extern void XRenderCompositeText32(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
int xSrc, int ySrc, int xDst, int yDst,
const XGlyphElt32 * elts, int nelt);
extern void XRenderCompositeText8(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
int xSrc, int ySrc, int xDst, int yDst,
const XGlyphElt8 * elts, int nelt);
extern void XRenderCompositeTrapezoids(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat *
maskFormat, int xSrc, int ySrc,
const XTrapezoid * traps,
int ntrap);
extern void XRenderCompositeTriFan(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
int xSrc, int ySrc,
const XPointFixed * points, int npoint);
extern void XRenderCompositeTriStrip(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
int xSrc, int ySrc,
const XPointFixed * points,
int npoint);
extern void XRenderCompositeTriangles(Display * dpy, int op, Picture src,
Picture dst,
const XRenderPictFormat * maskFormat,
int xSrc, int ySrc,
const XTriangle * triangles,
int ntriangle);
extern Cursor XRenderCreateAnimCursor(Display * dpy, int ncursor,
XAnimCursor * cursors);
extern Picture XRenderCreateConicalGradient(Display * dpy,
const XConicalGradient *
gradient, const XFixed * stops,
const XRenderColor * colors,
int nstops);
extern Cursor XRenderCreateCursor(Display * dpy, Picture source,
unsigned int x, unsigned int y);
extern GlyphSet XRenderCreateGlyphSet(Display * dpy,
const XRenderPictFormat * format);
extern Picture XRenderCreateLinearGradient(Display * dpy,
const XLinearGradient *
gradient, const XFixed * stops,
const XRenderColor * colors,
int nstops);
extern Picture XRenderCreatePicture(Display * dpy, Drawable drawable,
const XRenderPictFormat * format,
long unsigned int valuemask,
const XRenderPictureAttributes *
attributes);
extern Picture XRenderCreateRadialGradient(Display * dpy,
const XRadialGradient *
gradient, const XFixed * stops,
const XRenderColor * colors,
int nstops);
extern Picture XRenderCreateSolidFill(Display * dpy,
const XRenderColor * color);
extern void XRenderFillRectangle(Display * dpy, int op, Picture dst,
const XRenderColor * color, int x, int y,
unsigned int width, unsigned int height);
extern void XRenderFillRectangles(Display * dpy, int op, Picture dst,
const XRenderColor * color,
const XRectangle * rectangles,
int n_rects);
extern XRenderPictFormat *XRenderFindFormat(Display * dpy,
long unsigned int mask,
const XRenderPictFormat *
templ, int count);
extern XRenderPictFormat *XRenderFindStandardFormat(Display * dpy,
int format);
extern XRenderPictFormat *XRenderFindVisualFormat(Display * dpy,
const Visual * visual);
extern void XRenderFreeGlyphSet(Display * dpy, GlyphSet glyphset);
extern void XRenderFreeGlyphs(Display * dpy, GlyphSet glyphset,
const Glyph * gids, int nglyphs);
extern void XRenderFreePicture(Display * dpy, Picture picture);
extern int XRenderParseColor(Display * dpy, char *spec,
XRenderColor * def);
extern int XRenderQueryExtension(Display * dpy, int *event_basep,
int *error_basep);
extern XFilters *XRenderQueryFilters(Display * dpy, Drawable drawable);
extern int XRenderQueryFormats(Display * dpy);
extern XIndexValue *XRenderQueryPictIndexValues(Display * dpy,
const XRenderPictFormat *
format, int *num);
extern int XRenderQuerySubpixelOrder(Display * dpy, int screen);
extern int XRenderQueryVersion(Display * dpy, int *major_versionp,
int *minor_versionp);
extern GlyphSet XRenderReferenceGlyphSet(Display * dpy, GlyphSet existing);
extern void XRenderSetPictureClipRectangles(Display * dpy, Picture picture,
int xOrigin, int yOrigin,
const XRectangle * rects,
int n);
extern void XRenderSetPictureClipRegion(Display * dpy, Picture picture,
Region r);
extern void XRenderSetPictureTransform(Display * dpy, Picture picture,
XTransform * transform);
extern int XRenderSetSubpixelOrder(Display * dpy, int screen,
int subpixel); |
#define FilterBest "best" #define FilterBilinear "bilinear" #define FilterConvolution "convolution" #define FilterFast "fast" #define FilterGood "good" #define FilterNearest "nearest" #define RENDER_NAME "RENDER" #define CPRepeat (1 << 0) #define CPAlphaMap (1 << 1) #define CPPolyMode (1 << 10) #define CPDither (1 << 11) #define CPComponentAlpha (1 << 12) #define CPAlphaXOrigin (1 << 2) #define CPAlphaYOrigin (1 << 3) #define CPClipXOrigin (1 << 4) #define CPClipYOrigin (1 << 5) #define CPClipMask (1 << 6) #define CPGraphicsExposure (1 << 7) #define CPSubwindowMode (1 << 8) #define CPPolyEdge (1 << 9) #define RenderNumberErrors (BadGlyph+1) #define RenderNumberRequests (X_RenderCreateConicalGradient+1) #define FilterAliasNone -1 #define BadPictFormat 0 #define PictOpClear 0 #define PictOpMinimum 0 #define PictTypeIndexed 0 #define PolyEdgeSharp 0 #define PolyModePrecise 0 #define RENDER_MAJOR 0 #define RepeatNone 0 #define SubPixelUnknown 0 #define X_RenderQueryVersion 0 #define PictOpDisjointClear 0x10 #define PictOpDisjointMinimum 0x10 #define PictOpDisjointSrc 0x11 #define PictOpDisjointDst 0x12 #define PictOpDisjointOver 0x13 #define PictOpDisjointOverReverse 0x14 #define PictOpDisjointIn 0x15 #define PictOpDisjointInReverse 0x16 #define PictOpDisjointOut 0x17 #define PictOpDisjointOutReverse 0x18 #define PictOpDisjointAtop 0x19 #define PictOpDisjointAtopReverse 0x1a #define PictOpDisjointMaximum 0x1b #define PictOpDisjointXor 0x1b #define PictOpConjointClear 0x20 #define PictOpConjointMinimum 0x20 #define PictOpConjointSrc 0x21 #define PictOpConjointDst 0x22 #define PictOpConjointOver 0x23 #define PictOpConjointOverReverse 0x24 #define PictOpConjointIn 0x25 #define PictOpConjointInReverse 0x26 #define PictOpConjointOut 0x27 #define PictOpConjointOutReverse 0x28 #define PictOpConjointAtop 0x29 #define PictOpConjointAtopReverse 0x2a #define PictOpConjointMaximum 0x2b #define PictOpConjointXor 0x2b #define BadPicture 1 #define PictOpSrc 1 #define PictTypeDirect 1 #define PolyEdgeSmooth 1 #define PolyModeImprecise 1 #define RepeatNormal 1 #define SubPixelHorizontalRGB 1 #define X_RenderQueryPictFormats 1 #define PictOpAtopReverse 10 #define RENDER_MINOR 10 #define X_RenderTrapezoids 10 #define PictOpXor 11 #define X_RenderTriangles 11 #define CPLastBit 12 #define PictOpAdd 12 #define X_RenderTriStrip 12 #define PictOpMaximum 13 #define PictOpSaturate 13 #define X_RenderTriFan 13 #define X_RenderColorTrapezoids 14 #define X_RenderColorTriangles 15 #define X_RenderCreateGlyphSet 17 #define X_RenderReferenceGlyphSet 18 #define X_RenderFreeGlyphSet 19 #define BadPictOp 2 #define PictOpDst 2 #define RepeatPad 2 #define SubPixelHorizontalBGR 2 #define X_RenderQueryPictIndexValues 2 #define X_RenderAddGlyphs 20 #define X_RenderAddGlyphsFromPicture 21 #define X_RenderFreeGlyphs 22 #define X_RenderCompositeGlyphs8 23 #define X_RenderCompositeGlyphs16 24 #define X_RenderCompositeGlyphs32 25 #define X_RenderFillRectangles 26 #define X_RenderCreateCursor 27 #define X_RenderSetPictureTransform 28 #define X_RenderQueryFilters 29 #define BadGlyphSet 3 #define PictOpOver 3 #define RepeatReflect 3 #define SubPixelVerticalRGB 3 #define X_RenderQueryDithers 3 #define X_RenderSetPictureFilter 30 #define X_RenderCreateAnimCursor 31 #define X_RenderAddTraps 32 #define X_RenderCreateSolidFill 33 #define X_RenderCreateLinearGradient 34 #define X_RenderCreateRadialGradient 35 #define X_RenderCreateConicalGradient 36 #define BadGlyph 4 #define PictOpOverReverse 4 #define SubPixelVerticalBGR 4 #define X_RenderCreatePicture 4 #define PictOpIn 5 #define SubPixelNone 5 #define X_RenderChangePicture 5 #define PictOpInReverse 6 #define X_RenderSetPictureClipRectangles 6 #define PictOpOut 7 #define X_RenderFreePicture 7 #define PictOpOutReverse 8 #define X_RenderComposite 8 #define PictOpAtop 9 #define X_RenderScale 9 typedef long unsigned int Picture; |
The interfaces defined on the following pages are included in libXrender and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.
Other interfaces listed in Section 14.1 shall behave as described in the referenced base document.
Table 15-1 defines the library name and shared object name for the libcairo library
The behavior of the interfaces in this library is specified by the following specifications:
| [Cairo] Cairo API Reference |
An LSB conforming implementation shall provide the generic functions for Cairo Vector Graphics Library specified in Table 15-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 15-2. libcairo - Cairo Vector Graphics Library Function Interfaces
| cairo_append_path [Cairo] | cairo_arc [Cairo] | cairo_arc_negative [Cairo] |
| cairo_clip [Cairo] | cairo_clip_preserve [Cairo] | cairo_close_path [Cairo] |
| cairo_copy_page [Cairo] | cairo_copy_path [Cairo] | cairo_copy_path_flat [Cairo] |
| cairo_create [Cairo] | cairo_curve_to [Cairo] | cairo_destroy [Cairo] |
| cairo_device_to_user [Cairo] | cairo_device_to_user_distance [Cairo] | cairo_fill [Cairo] |
| cairo_fill_extents [Cairo] | cairo_fill_preserve [Cairo] | cairo_font_extents [Cairo] |
| cairo_font_face_destroy [Cairo] | cairo_font_face_get_user_data [Cairo] | cairo_font_face_reference [Cairo] |
| cairo_font_face_set_user_data [Cairo] | cairo_font_face_status [Cairo] | cairo_font_options_copy [Cairo] |
| cairo_font_options_create [Cairo] | cairo_font_options_destroy [Cairo] | cairo_font_options_equal [Cairo] |
| cairo_font_options_get_antialias [Cairo] | cairo_font_options_get_hint_metrics [Cairo] | cairo_font_options_get_hint_style [Cairo] |
| cairo_font_options_get_subpixel_order [Cairo] | cairo_font_options_hash [Cairo] | cairo_font_options_merge [Cairo] |
| cairo_font_options_set_antialias [Cairo] | cairo_font_options_set_hint_metrics [Cairo] | cairo_font_options_set_hint_style [Cairo] |
| cairo_font_options_set_subpixel_order [Cairo] | cairo_font_options_status [Cairo] | cairo_ft_font_face_create_for_ft_face [Cairo] |
| cairo_ft_font_face_create_for_pattern [Cairo] | cairo_ft_font_options_substitute [Cairo] | cairo_ft_scaled_font_lock_face [Cairo] |
| cairo_ft_scaled_font_unlock_face [Cairo] | cairo_get_antialias [Cairo] | cairo_get_current_point [Cairo] |
| cairo_get_fill_rule [Cairo] | cairo_get_font_face [Cairo] | cairo_get_font_matrix [Cairo] |
| cairo_get_font_options [Cairo] | cairo_get_line_cap [Cairo] | cairo_get_line_join [Cairo] |
| cairo_get_line_width [Cairo] | cairo_get_matrix [Cairo] | cairo_get_miter_limit [Cairo] |
| cairo_get_operator [Cairo] | cairo_get_source [Cairo] | cairo_get_target [Cairo] |
| cairo_get_tolerance [Cairo] | cairo_glyph_extents [Cairo] | cairo_glyph_path [Cairo] |
| cairo_identity_matrix [Cairo] | cairo_image_surface_create [Cairo] | cairo_image_surface_create_for_data [Cairo] |
| cairo_image_surface_create_from_png [Cairo] | cairo_image_surface_create_from_png_stream [Cairo] | cairo_image_surface_get_height [Cairo] |
| cairo_image_surface_get_width [Cairo] | cairo_in_fill [Cairo] | cairo_in_stroke [Cairo] |
| cairo_line_to [Cairo] | cairo_mask [Cairo] | cairo_mask_surface [Cairo] |
| cairo_matrix_init [Cairo] | cairo_matrix_init_identity [Cairo] | cairo_matrix_init_rotate [Cairo] |
| cairo_matrix_init_scale [Cairo] | cairo_matrix_init_translate [Cairo] | cairo_matrix_invert [Cairo] |
| cairo_matrix_multiply [Cairo] | cairo_matrix_rotate [Cairo] | cairo_matrix_scale [Cairo] |
| cairo_matrix_transform_distance [Cairo] | cairo_matrix_transform_point [Cairo] | cairo_matrix_translate [Cairo] |
| cairo_move_to [Cairo] | cairo_new_path [Cairo] | cairo_paint [Cairo] |
| cairo_paint_with_alpha [Cairo] | cairo_path_destroy [Cairo] | cairo_pattern_add_color_stop_rgb [Cairo] |
| cairo_pattern_add_color_stop_rgba [Cairo] | cairo_pattern_create_for_surface [Cairo] | cairo_pattern_create_linear [Cairo] |
| cairo_pattern_create_radial [Cairo] | cairo_pattern_create_rgb [Cairo] | cairo_pattern_create_rgba [Cairo] |
| cairo_pattern_destroy [Cairo] | cairo_pattern_get_extend [Cairo] | cairo_pattern_get_filter [Cairo] |
| cairo_pattern_get_matrix [Cairo] | cairo_pattern_reference [Cairo] | cairo_pattern_set_extend [Cairo] |
| cairo_pattern_set_filter [Cairo] | cairo_pattern_set_matrix [Cairo] | cairo_pattern_status [Cairo] |
| cairo_pdf_surface_create [Cairo] | cairo_pdf_surface_create_for_stream [Cairo] | cairo_ps_surface_create [Cairo] |
| cairo_ps_surface_create_for_stream [Cairo] | cairo_rectangle [Cairo] | cairo_reference [Cairo] |
| cairo_rel_curve_to [Cairo] | cairo_rel_line_to [Cairo] | cairo_rel_move_to [Cairo] |
| cairo_reset_clip [Cairo] | cairo_restore [Cairo] | cairo_rotate [Cairo] |
| cairo_save [Cairo] | cairo_scale [Cairo] | cairo_scaled_font_create [Cairo] |
| cairo_scaled_font_destroy [Cairo] | cairo_scaled_font_extents [Cairo] | cairo_scaled_font_glyph_extents [Cairo] |
| cairo_scaled_font_reference [Cairo] | cairo_scaled_font_status [Cairo] | cairo_select_font_face [Cairo] |
| cairo_set_antialias [Cairo] | cairo_set_dash [Cairo] | cairo_set_fill_rule [Cairo] |
| cairo_set_font_face [Cairo] | cairo_set_font_matrix [Cairo] | cairo_set_font_options [Cairo] |
| cairo_set_font_size [Cairo] | cairo_set_line_cap [Cairo] | cairo_set_line_join [Cairo] |
| cairo_set_line_width [Cairo] | cairo_set_matrix [Cairo] | cairo_set_miter_limit [Cairo] |
| cairo_set_operator [Cairo] | cairo_set_source [Cairo] | cairo_set_source_rgb [Cairo] |
| cairo_set_source_rgba [Cairo] | cairo_set_source_surface [Cairo] | cairo_set_tolerance [Cairo] |
| cairo_show_glyphs [Cairo] | cairo_show_page [Cairo] | cairo_show_text [Cairo] |
| cairo_status [Cairo] | cairo_status_to_string [Cairo] | cairo_stroke [Cairo] |
| cairo_stroke_extents [Cairo] | cairo_stroke_preserve [Cairo] | cairo_surface_create_similar [Cairo] |
| cairo_surface_destroy [Cairo] | cairo_surface_finish [Cairo] | cairo_surface_flush [Cairo] |
| cairo_surface_get_font_options [Cairo] | cairo_surface_get_user_data [Cairo] | cairo_surface_mark_dirty [Cairo] |
| cairo_surface_mark_dirty_rectangle [Cairo] | cairo_surface_reference [Cairo] | cairo_surface_set_device_offset [Cairo] |
| cairo_surface_set_user_data [Cairo] | cairo_surface_status [Cairo] | cairo_surface_write_to_png [Cairo] |
| cairo_surface_write_to_png_stream [Cairo] | cairo_text_extents [Cairo] | cairo_text_path [Cairo] |
| cairo_transform [Cairo] | cairo_translate [Cairo] | cairo_user_to_device [Cairo] |
| cairo_user_to_device_distance [Cairo] | cairo_version [Cairo] | cairo_version_string [Cairo] |
| cairo_xlib_surface_create [Cairo] | cairo_xlib_surface_create_for_bitmap [Cairo] | cairo_xlib_surface_create_with_xrender_format [Cairo] |
| cairo_xlib_surface_set_drawable [Cairo] | cairo_xlib_surface_set_size [Cairo] |
This section defines global identifiers and their values that are associated with interfaces contained in libcairo. 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.
#define CAIRO_VERSION_STRING "1.0.2" #define CAIRO_VERSION_MINOR 0 #define CAIRO_HAS_FT_FONT 1 #define CAIRO_HAS_GLITZ_SURFACE 1 #define CAIRO_HAS_PDF_SURFACE 1 #define CAIRO_HAS_PNG_FUNCTIONS 1 #define CAIRO_HAS_PS_SURFACE 1 #define CAIRO_HAS_XLIB_SURFACE 1 #define CAIRO_VERSION_MAJOR 1 #define CAIRO_VERSION_MICRO 2 |
extern cairo_font_face_t *cairo_ft_font_face_create_for_pattern(FcPattern *); extern void cairo_ft_font_options_substitute(const cairo_font_options_t *, FcPattern *); extern void cairo_ft_scaled_font_unlock_face(cairo_scaled_font_t *); extern cairo_font_face_t *cairo_ft_font_face_create_for_ft_face(FT_Face, int); extern void cairo_ft_scaled_font_lock_face(cairo_scaled_font_t *); |
extern cairo_surface_t *cairo_pdf_surface_create(const char *, double,
double);
extern cairo_surface_t
*cairo_pdf_surface_create_for_stream(cairo_write_func_t, void *,
double, double); |
extern cairo_surface_t *cairo_ps_surface_create(const char *, double,
double);
extern cairo_surface_t
*cairo_ps_surface_create_for_stream(cairo_write_func_t, void *, double,
double); |
extern cairo_surface_t
*cairo_xlib_surface_create_with_xrender_format(Display *, Drawable,
Screen *,
XRenderPictFormat *,
int, int); |
extern cairo_surface_t *cairo_xlib_surface_create(Display *, Drawable, Visual *, int, int); extern cairo_surface_t *cairo_xlib_surface_create_for_bitmap(Display *, Pixmap, Screen *, int, int); extern void cairo_xlib_surface_set_size(cairo_surface_t *, int, int); extern void cairo_xlib_surface_set_drawable(cairo_surface_t *, Drawable, int, int); |
#define CAIRO_VERSION \
CAIRO_VERSION_ENCODE( CAIRO_VERSION_MAJOR, CAIRO_VERSION_MINOR, \
CAIRO_VERSION_MICRO)
#define CAIRO_VERSION_ENCODE(major, minor, micro) (\
((major) * 10000) \
+ ((minor) * 100) \
+ ((micro) * 1))
typedef int cairo_bool_t;
typedef struct _cairo cairo_t;
typedef struct _cairo_surface cairo_surface_t;
typedef struct _cairo_matrix {
double xx;
double yx;
double xy;
double yy;
double x0;
double y0;
} cairo_matrix_t;
typedef struct _cairo_pattern cairo_pattern_t;
typedef void (*cairo_destroy_func_t) (void *);
typedef struct _cairo_user_data_key {
int unused;
} cairo_user_data_key_t;
typedef enum _cairo_status {
CAIRO_STATUS_SUCCESS,
CAIRO_STATUS_NO_MEMORY = 1,
CAIRO_STATUS_INVALID_RESTORE = 2,
CAIRO_STATUS_INVALID_POP_GROUP = 3,
CAIRO_STATUS_NO_CURRENT_POINT = 4,
CAIRO_STATUS_INVALID_MATRIX = 5,
CAIRO_STATUS_INVALID_STATUS = 6,
CAIRO_STATUS_NULL_POINTER = 7,
CAIRO_STATUS_INVALID_STRING = 8,
CAIRO_STATUS_INVALID_PATH_DATA = 9,
CAIRO_STATUS_READ_ERROR = 10,
CAIRO_STATUS_WRITE_ERROR = 11,
CAIRO_STATUS_SURFACE_FINISHED = 12,
CAIRO_STATUS_SURFACE_TYPE_MISMATCH = 13,
CAIRO_STATUS_PATTERN_TYPE_MISMATCH = 14,
CAIRO_STATUS_INVALID_CONTENT = 15,
CAIRO_STATUS_INVALID_FORMAT = 16,
CAIRO_STATUS_INVALID_VISUAL = 17,
CAIRO_STATUS_FILE_NOT_FOUND = 18,
CAIRO_STATUS_INVALID_DASH = 19,
CAIRO_STATUS_INVALID_DSC_COMMENT = 20,
CAIRO_STATUS_INVALID_INDEX = 21,
CAIRO_STATUS_CLIP_NOT_REPRESENTABLE = 22
} cairo_status_t;
typedef enum _cairo_content {
CAIRO_CONTENT_COLOR = 4096,
CAIRO_CONTENT_ALPHA = 8192,
CAIRO_CONTENT_COLOR_ALPHA = 12288
} cairo_content_t;
typedef cairo_status_t(*cairo_write_func_t) (void *, const unsigned char *,
unsigned int);
typedef cairo_status_t(*cairo_read_func_t) (void *, unsigned char *,
unsigned int);
typedef enum _cairo_operator {
CAIRO_OPERATOR_CLEAR,
CAIRO_OPERATOR_SOURCE = 1,
CAIRO_OPERATOR_OVER = 2,
CAIRO_OPERATOR_IN = 3,
CAIRO_OPERATOR_OUT = 4,
CAIRO_OPERATOR_ATOP = 5,
CAIRO_OPERATOR_DEST = 6,
CAIRO_OPERATOR_DEST_OVER = 7,
CAIRO_OPERATOR_DEST_IN = 8,
CAIRO_OPERATOR_DEST_OUT = 9,
CAIRO_OPERATOR_DEST_ATOP = 10,
CAIRO_OPERATOR_XOR = 11,
CAIRO_OPERATOR_ADD = 12,
CAIRO_OPERATOR_SATURATE = 13
} cairo_operator_t;
typedef enum _cairo_antialias {
CAIRO_ANTIALIAS_DEFAULT,
CAIRO_ANTIALIAS_NONE = 1,
CAIRO_ANTIALIAS_GRAY = 2,
CAIRO_ANTIALIAS_SUBPIXEL = 3
} cairo_antialias_t;
typedef enum _cairo_fill_rule {
CAIRO_FILL_RULE_WINDING,
CAIRO_FILL_RULE_EVEN_ODD = 1
} cairo_fill_rule_t;
typedef enum _cairo_line_cap {
CAIRO_LINE_CAP_BUTT,
CAIRO_LINE_CAP_ROUND = 1,
CAIRO_LINE_CAP_SQUARE = 2
} cairo_line_cap_t;
typedef enum _cairo_line_join {
CAIRO_LINE_JOIN_MITER,
CAIRO_LINE_JOIN_ROUND = 1,
CAIRO_LINE_JOIN_BEVEL = 2
} cairo_line_join_t;
typedef struct _cairo_scaled_font cairo_scaled_font_t;
typedef struct _cairo_font_face cairo_font_face_t;
typedef struct {
long unsigned int index;
double x;
double y;
} cairo_glyph_t;
typedef struct {
double x_bearing;
double y_bearing;
double width;
double height;
double x_advance;
double y_advance;
} cairo_text_extents_t;
typedef struct {
double ascent;
double descent;
double height;
double max_x_advance;
double max_y_advance;
} cairo_font_extents_t;
typedef enum _cairo_font_slant {
CAIRO_FONT_SLANT_NORMAL,
CAIRO_FONT_SLANT_ITALIC = 1,
CAIRO_FONT_SLANT_OBLIQUE = 2
} cairo_font_slant_t;
typedef enum _cairo_font_weight {
CAIRO_FONT_WEIGHT_NORMAL,
CAIRO_FONT_WEIGHT_BOLD = 1
} cairo_font_weight_t;
typedef enum _cairo_subpixel_order {
CAIRO_SUBPIXEL_ORDER_DEFAULT,
CAIRO_SUBPIXEL_ORDER_RGB = 1,
CAIRO_SUBPIXEL_ORDER_BGR = 2,
CAIRO_SUBPIXEL_ORDER_VRGB = 3,
CAIRO_SUBPIXEL_ORDER_VBGR = 4
} cairo_subpixel_order_t;
typedef enum _cairo_hint_style {
CAIRO_HINT_STYLE_DEFAULT,
CAIRO_HINT_STYLE_NONE = 1,
CAIRO_HINT_STYLE_SLIGHT = 2,
CAIRO_HINT_STYLE_MEDIUM = 3,
CAIRO_HINT_STYLE_FULL = 4
} cairo_hint_style_t;
typedef enum _cairo_hint_metrics {
CAIRO_HINT_METRICS_DEFAULT,
CAIRO_HINT_METRICS_OFF = 1,
CAIRO_HINT_METRICS_ON = 2
} cairo_hint_metrics_t;
typedef struct _cairo_font_options cairo_font_options_t;
typedef enum _cairo_path_data_type {
CAIRO_PATH_MOVE_TO,
CAIRO_PATH_LINE_TO = 1,
CAIRO_PATH_CURVE_TO = 2,
CAIRO_PATH_CLOSE_PATH = 3
} cairo_path_data_type_t;
typedef union _cairo_path_data_t {
struct {
cairo_path_data_type_t type;
int length;
} header;
struct {
double x;
double y;
} point;
} cairo_path_data_t;
typedef struct cairo_path {
cairo_status_t status;
cairo_path_data_t *data;
int num_data;
} cairo_path_t;
typedef enum _cairo_format {
CAIRO_FORMAT_ARGB32,
CAIRO_FORMAT_RGB24 = 1,
CAIRO_FORMAT_A8 = 2,
CAIRO_FORMAT_A1 = 3
} cairo_format_t;
typedef enum _cairo_extend {
CAIRO_EXTEND_NONE,
CAIRO_EXTEND_REPEAT = 1,
CAIRO_EXTEND_REFLECT = 2,
CAIRO_EXTEND_PAD = 3
} cairo_extend_t;
typedef enum _cairo_filter {
CAIRO_FILTER_FAST,
CAIRO_FILTER_GOOD = 1,
CAIRO_FILTER_BEST = 2,
CAIRO_FILTER_NEAREST = 3,
CAIRO_FILTER_BILINEAR = 4,
CAIRO_FILTER_GAUSSIAN = 5
} cairo_filter_t;
extern int cairo_version(void);
extern const char *cairo_version_string(void);
extern cairo_t *cairo_create(cairo_surface_t *);
extern cairo_t *cairo_reference(cairo_t *);
extern void cairo_destroy(cairo_t *);
extern void cairo_save(cairo_t *);
extern void cairo_restore(cairo_t *);
extern void cairo_set_operator(cairo_t *, cairo_operator_t);
extern void cairo_set_source(cairo_t *, cairo_pattern_t *);
extern void cairo_set_source_rgb(cairo_t *, double, double, double);
extern void cairo_set_source_rgba(cairo_t *, double, double, double,
double);
extern void cairo_set_source_surface(cairo_t *, cairo_surface_t *, double,
double);
extern void cairo_set_tolerance(cairo_t *, double);
extern void cairo_set_antialias(cairo_t *, cairo_antialias_t);
extern void cairo_set_fill_rule(cairo_t *, cairo_fill_rule_t);
extern void cairo_set_line_width(cairo_t *, double);
extern void cairo_set_line_cap(cairo_t *, cairo_line_cap_t);
extern void cairo_set_line_join(cairo_t *, cairo_line_join_t);
extern void cairo_set_dash(cairo_t *, const double *, int, double);
extern void cairo_set_miter_limit(cairo_t *, double);
extern void cairo_translate(cairo_t *, double, double);
extern void cairo_scale(cairo_t *, double, double);
extern void cairo_rotate(cairo_t *, double);
extern void cairo_transform(cairo_t *, const cairo_matrix_t *);
extern void cairo_set_matrix(cairo_t *, const cairo_matrix_t *);
extern void cairo_identity_matrix(cairo_t *);
extern void cairo_user_to_device(cairo_t *, double *, double *);
extern void cairo_user_to_device_distance(cairo_t *, double *, double *);
extern void cairo_device_to_user(cairo_t *, double *, double *);
extern void cairo_device_to_user_distance(cairo_t *, double *, double *);
extern void cairo_new_path(cairo_t *);
extern void cairo_move_to(cairo_t *, double, double);
extern void cairo_line_to(cairo_t *, double, double);
extern void cairo_curve_to(cairo_t *, double, double, double, double,
double, double);
extern void cairo_arc(cairo_t *, double, double, double, double, double);
extern void cairo_arc_negative(cairo_t *, double, double, double, double,
double);
extern void cairo_rel_move_to(cairo_t *, double, double);
extern void cairo_rel_line_to(cairo_t *, double, double);
extern void cairo_rel_curve_to(cairo_t *, double, double, double, double,
double, double);
extern void cairo_rectangle(cairo_t *, double, double, double, double);
extern void cairo_close_path(cairo_t *);
extern void cairo_paint(cairo_t *);
extern void cairo_paint_with_alpha(cairo_t *, double);
extern void cairo_mask(cairo_t *, cairo_pattern_t *);
extern void cairo_mask_surface(cairo_t *, cairo_surface_t *, double,
double);
extern void cairo_stroke(cairo_t *);
extern void cairo_stroke_preserve(cairo_t *);
extern void cairo_fill(cairo_t *);
extern void cairo_fill_preserve(cairo_t *);
extern void cairo_copy_page(cairo_t *);
extern void cairo_show_page(cairo_t *);
extern cairo_bool_t cairo_in_stroke(cairo_t *, double, double);
extern cairo_bool_t cairo_in_fill(cairo_t *, double, double);
extern void cairo_stroke_extents(cairo_t *, double *, double *, double *,
double *);
extern void cairo_fill_extents(cairo_t *, double *, double *, double *,
double *);
extern void cairo_reset_clip(cairo_t *);
extern void cairo_clip(cairo_t *);
extern void cairo_clip_preserve(cairo_t *);
extern cairo_font_options_t *cairo_font_options_create(void);
extern cairo_font_options_t *cairo_font_options_copy(const
cairo_font_options_t
*);
extern void cairo_font_options_destroy(cairo_font_options_t *);
extern cairo_status_t cairo_font_options_status(cairo_font_options_t *);
extern void cairo_font_options_merge(cairo_font_options_t *,
const cairo_font_options_t *);
extern cairo_bool_t cairo_font_options_equal(const cairo_font_options_t *,
const cairo_font_options_t *);
extern long unsigned int cairo_font_options_hash(const cairo_font_options_t
*);
extern void cairo_font_options_set_antialias(cairo_font_options_t *,
cairo_antialias_t);
extern cairo_antialias_t cairo_font_options_get_antialias(const
cairo_font_options_t
*);
extern void cairo_font_options_set_subpixel_order(cairo_font_options_t *,
cairo_subpixel_order_t);
extern cairo_subpixel_order_t cairo_font_options_get_subpixel_order(const
cairo_font_options_t
*);
extern void cairo_font_options_set_hint_style(cairo_font_options_t *,
cairo_hint_style_t);
extern cairo_hint_style_t cairo_font_options_get_hint_style(const
cairo_font_options_t
*);
extern void cairo_font_options_set_hint_metrics(cairo_font_options_t *,
cairo_hint_metrics_t);
extern cairo_hint_metrics_t cairo_font_options_get_hint_metrics(const
cairo_font_options_t
*);
extern void cairo_select_font_face(cairo_t *, const char *,
cairo_font_slant_t,
cairo_font_weight_t);
extern void cairo_set_font_size(cairo_t *, double);
extern void cairo_set_font_matrix(cairo_t *, const cairo_matrix_t *);
extern void cairo_get_font_matrix(cairo_t *, cairo_matrix_t *);
extern void cairo_set_font_options(cairo_t *,
const cairo_font_options_t *);
extern void cairo_get_font_options(cairo_t *, cairo_font_options_t *);
extern void cairo_set_font_face(cairo_t *, cairo_font_face_t *);
extern cairo_font_face_t *cairo_get_font_face(cairo_t *);
extern void cairo_show_text(cairo_t *, const char *);
extern void cairo_show_glyphs(cairo_t *, const cairo_glyph_t *, int);
extern void cairo_text_path(cairo_t *, const char *);
extern void cairo_glyph_path(cairo_t *, const cairo_glyph_t *, int);
extern void cairo_text_extents(cairo_t *, const char *,
cairo_text_extents_t *);
extern void cairo_glyph_extents(cairo_t *, const cairo_glyph_t *, int,
cairo_text_extents_t *);
extern void cairo_font_extents(cairo_t *, cairo_font_extents_t *);
extern cairo_font_face_t *cairo_font_face_reference(cairo_font_face_t *);
extern void cairo_font_face_destroy(cairo_font_face_t *);
extern cairo_status_t cairo_font_face_status(cairo_font_face_t *);
extern void *cairo_font_face_get_user_data(cairo_font_face_t *,
const cairo_user_data_key_t *);
extern cairo_status_t cairo_font_face_set_user_data(cairo_font_face_t *,
const
cairo_user_data_key_t
*, void *,
cairo_destroy_func_t);
extern cairo_scaled_font_t *cairo_scaled_font_create(cairo_font_face_t *,
const cairo_matrix_t
*,
const cairo_matrix_t
*,
const
cairo_font_options_t
*);
extern cairo_scaled_font_t *cairo_scaled_font_reference(cairo_scaled_font_t
*);
extern void cairo_scaled_font_destroy(cairo_scaled_font_t *);
extern cairo_status_t cairo_scaled_font_status(cairo_scaled_font_t *);
extern void cairo_scaled_font_extents(cairo_scaled_font_t *,
cairo_font_extents_t *);
extern void cairo_scaled_font_glyph_extents(cairo_scaled_font_t *,
const cairo_glyph_t *, int,
cairo_text_extents_t *);
extern cairo_operator_t cairo_get_operator(cairo_t *);
extern cairo_pattern_t *cairo_get_source(cairo_t *);
extern double cairo_get_tolerance(cairo_t *);
extern cairo_antialias_t cairo_get_antialias(cairo_t *);
extern void cairo_get_current_point(cairo_t *, double *, double *);
extern cairo_fill_rule_t cairo_get_fill_rule(cairo_t *);
extern double cairo_get_line_width(cairo_t *);
extern cairo_line_cap_t cairo_get_line_cap(cairo_t *);
extern cairo_line_join_t cairo_get_line_join(cairo_t *);
extern double cairo_get_miter_limit(cairo_t *);
extern void cairo_get_matrix(cairo_t *, cairo_matrix_t *);
extern cairo_surface_t *cairo_get_target(cairo_t *);
extern cairo_path_t *cairo_copy_path(cairo_t *);
extern cairo_path_t *cairo_copy_path_flat(cairo_t *);
extern void cairo_append_path(cairo_t *, const cairo_path_t *);
extern void cairo_path_destroy(cairo_path_t *);
extern cairo_status_t cairo_status(cairo_t *);
extern const char *cairo_status_to_string(cairo_status_t);
extern cairo_surface_t *cairo_surface_create_similar(cairo_surface_t *,
cairo_content_t, int,
int);
extern cairo_surface_t *cairo_surface_reference(cairo_surface_t *);
extern void cairo_surface_finish(cairo_surface_t *);
extern void cairo_surface_destroy(cairo_surface_t *);
extern cairo_status_t cairo_surface_status(cairo_surface_t *);
extern cairo_status_t cairo_surface_write_to_png(cairo_surface_t *,
const char *);
extern cairo_status_t cairo_surface_write_to_png_stream(cairo_surface_t *,
cairo_write_func_t,
void *);
extern void *cairo_surface_get_user_data(cairo_surface_t *,
const cairo_user_data_key_t *);
extern cairo_status_t cairo_surface_set_user_data(cairo_surface_t *,
const
cairo_user_data_key_t *,
void *,
cairo_destroy_func_t);
extern void cairo_surface_get_font_options(cairo_surface_t *,
cairo_font_options_t *);
extern void cairo_surface_flush(cairo_surface_t *);
extern void cairo_surface_mark_dirty(cairo_surface_t *);
extern void cairo_surface_mark_dirty_rectangle(cairo_surface_t *, int, int,
int, int);
extern void cairo_surface_set_device_offset(cairo_surface_t *, double,
double);
extern cairo_surface_t *cairo_image_surface_create(cairo_format_t, int,
int);
extern cairo_surface_t *cairo_image_surface_create_for_data(unsigned char
*,
cairo_format_t,
int, int, int);
extern int cairo_image_surface_get_width(cairo_surface_t *);
extern int cairo_image_surface_get_height(cairo_surface_t *);
extern cairo_surface_t *cairo_image_surface_create_from_png(const char *);
extern cairo_surface_t
*cairo_image_surface_create_from_png_stream(cairo_read_func_t, void *);
extern cairo_pattern_t *cairo_pattern_create_rgb(double, double, double);
extern cairo_pattern_t *cairo_pattern_create_rgba(double, double, double,
double);
extern cairo_pattern_t *cairo_pattern_create_for_surface(cairo_surface_t
*);
extern cairo_pattern_t *cairo_pattern_create_linear(double, double, double,
double);
extern cairo_pattern_t *cairo_pattern_create_radial(double, double, double,
double, double,
double);
extern cairo_pattern_t *cairo_pattern_reference(cairo_pattern_t *);
extern void cairo_pattern_destroy(cairo_pattern_t *);
extern cairo_status_t cairo_pattern_status(cairo_pattern_t *);
extern void cairo_pattern_add_color_stop_rgb(cairo_pattern_t *, double,
double, double, double);
extern void cairo_pattern_add_color_stop_rgba(cairo_pattern_t *, double,
double, double, double,
double);
extern void cairo_pattern_set_matrix(cairo_pattern_t *,
const cairo_matrix_t *);
extern void cairo_pattern_get_matrix(cairo_pattern_t *, cairo_matrix_t *);
extern void cairo_pattern_set_extend(cairo_pattern_t *, cairo_extend_t);
extern cairo_extend_t cairo_pattern_get_extend(cairo_pattern_t *);
extern void cairo_pattern_set_filter(cairo_pattern_t *, cairo_filter_t);
extern cairo_filter_t cairo_pattern_get_filter(cairo_pattern_t *);
extern void cairo_matrix_init(cairo_matrix_t *, double, double, double,
double, double, double);
extern void cairo_matrix_init_identity(cairo_matrix_t *);
extern void cairo_matrix_init_translate(cairo_matrix_t *, double, double);
extern void cairo_matrix_init_scale(cairo_matrix_t *, double, double);
extern void cairo_matrix_init_rotate(cairo_matrix_t *, double);
extern void cairo_matrix_translate(cairo_matrix_t *, double, double);
extern void cairo_matrix_scale(cairo_matrix_t *, double, double);
extern void cairo_matrix_rotate(cairo_matrix_t *, double);
extern cairo_status_t cairo_matrix_invert(cairo_matrix_t *);
extern void cairo_matrix_multiply(cairo_matrix_t *, const cairo_matrix_t *,
const cairo_matrix_t *);
extern void cairo_matrix_transform_distance(const cairo_matrix_t *,
double *, double *);
extern void cairo_matrix_transform_point(const cairo_matrix_t *, double *,
double *); |
A conforming implementation shall support the following GTK+ stack libraries which provide interfaces for creating rich graphical user interface applications.
| GLib | A general-purpose utility library, not specific to graphical user interfaces. GLib provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. libglib-2.0 libgmodule-2.0 libgobject-2.0 libgthread-2.0 | |
| ATK | ATK is the Accessibility Toolkit. It provides a set of generic interfaces allowing accessibility technologies to interact with a graphical user interface. For example, a screen reader uses ATK to discover the text in an interface and read it to blind users. GTK+ widgets have built-in support for accessibility using the ATK framework. libatk-1.0 | |
| Pango | Pango is a library for internationalized text handling. It centers around the PangoLayout object, representing a paragraph of text. Pango provides the engine for GtkTextView, GtkLabel, GtkEntry, and other widgets that display text. libpango-1.0 libpangocairo-1.0 libpangoxft-1.0 libpangoft2-1.0 | |
| GdkPixbuf | This is a small library which allows you to create GdkPixbuf ("pixel buffer") objects from image data or image files. Use a GdkPixbuf in combination with GtkImage to display images. libgdk_pixbuf-2.0 libgdk_pixbuf_xlib-2.0 | |
| GDK | GDK is the abstraction layer that allows GTK+ to support multiple windowing systems. GDK provides drawing and window system facilities on X11, Windows, and the Linux framebuffer device. libgdk-x11-2.0 | |
| GTK+ | The GTK+ library contains widgets, that is, GUI components such as GtkButton or GtkTextView. libgtk-x11-2.0 |
There are three main parts to the definition of each of these libraries.
The "Interfaces" section defines the required library name and version, and the required public symbols (interfaces and global data), as well as symbol versions, if any.
The "Interface Definitions" section provides complete or partial definitions of certain interfaces where either this specification is the source specification, or where there are variations from the source specification. If an interface definition requires one or more header files, one of those headers shall include the function prototype for the interface.
For source definitions of interfaces which include a reference to a header file, the contents of such header files form a part of the specification. The "Data Definitions" section provides the binary-level details for the header files from the source specifications, such as values for macros and enumerated types, as well as structure layouts, sizes and padding, etc. These data definitions, although presented in the form of header files for convenience, should not be taken a representing complete header files, as they are a supplement to the source specifications. Application developers should follow the guidelines of the source specifications when determining which header files need to be included to completely resolve all references.
Note: While the Data Definitions supplement the source specifications, this specification itself does not require conforming implementations to supply any header files.
Table 16-1 defines the library name and shared object name for the libglib-2.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Glib 2.8] Glib 2.8.6 Reference Manual |
| [LSB] This Specification |
An LSB conforming implementation shall provide the generic functions for GTK General purpose utility library specified in Table 16-2, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-2. libglib-2.0 - GTK General purpose utility library Function Interfaces
| g_assert_warning [Glib 2.8] | g_once_impl [Glib 2.8] |
| g_return_if_fail_warning [Glib 2.8] | g_static_mutex_get_mutex_impl [Glib 2.8] |
An LSB conforming implementation shall provide the generic data interfaces for GTK General purpose utility library specified in Table 16-3, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-3. libglib-2.0 - GTK General purpose utility library Data Interfaces
| g_ascii_table [Glib 2.8] | g_child_watch_funcs [Glib 2.8] |
| g_idle_funcs [Glib 2.8] | g_io_watch_funcs [Glib 2.8] |
| g_thread_functions_for_glib_use [Glib 2.8] | g_thread_use_default_impl [Glib 2.8] |
| g_threads_got_initialized [Glib 2.8] | g_timeout_funcs [Glib 2.8] |
| g_utf8_skip [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Arrays specified in Table 16-4, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-4. libglib-2.0 - Glib Arrays Function Interfaces
| g_array_append_vals [Glib 2.8] | g_array_free [Glib 2.8] |
| g_array_insert_vals [Glib 2.8] | g_array_new [Glib 2.8] |
| g_array_prepend_vals [Glib 2.8] | g_array_remove_index [Glib 2.8] |
| g_array_remove_index_fast [Glib 2.8] | g_array_remove_range [Glib 2.8] |
| g_array_set_size [Glib 2.8] | g_array_sized_new [Glib 2.8] |
| g_array_sort [Glib 2.8] | g_array_sort_with_data [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Asynchronous Queues specified in Table 16-5, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-5. libglib-2.0 - Glib Asynchronous Queues Function Interfaces
| g_async_queue_length [Glib 2.8] | g_async_queue_length_unlocked [Glib 2.8] |
| g_async_queue_lock [Glib 2.8] | g_async_queue_new [Glib 2.8] |
| g_async_queue_pop [Glib 2.8] | g_async_queue_pop_unlocked [Glib 2.8] |
| g_async_queue_push [Glib 2.8] | g_async_queue_push_unlocked [Glib 2.8] |
| g_async_queue_ref [Glib 2.8] | g_async_queue_timed_pop [Glib 2.8] |
| g_async_queue_timed_pop_unlocked [Glib 2.8] | g_async_queue_try_pop [Glib 2.8] |
| g_async_queue_try_pop_unlocked [Glib 2.8] | g_async_queue_unlock [Glib 2.8] |
| g_async_queue_unref [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Atomic Operations specified in Table 16-6, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-6. libglib-2.0 - Glib Atomic Operations Function Interfaces
| g_atomic_int_add [Glib 2.8] | g_atomic_int_compare_and_exchange [Glib 2.8] |
| g_atomic_int_exchange_and_add [Glib 2.8] | g_atomic_pointer_compare_and_exchange [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Automatic String Completion specified in Table 16-7, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-7. libglib-2.0 - Glib Automatic String Completion Function Interfaces
| g_completion_add_items [Glib 2.8] | g_completion_clear_items [Glib 2.8] |
| g_completion_complete [Glib 2.8] | g_completion_complete_utf8 [Glib 2.8] |
| g_completion_free [Glib 2.8] | g_completion_new [Glib 2.8] |
| g_completion_remove_items [Glib 2.8] | g_completion_set_compare [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Balanced Binary Trees specified in Table 16-8, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-8. libglib-2.0 - Glib Balanced Binary Trees Function Interfaces
| g_tree_destroy [Glib 2.8] | g_tree_foreach [Glib 2.8] |
| g_tree_height [Glib 2.8] | g_tree_insert [Glib 2.8] |
| g_tree_lookup [Glib 2.8] | g_tree_lookup_extended [Glib 2.8] |
| g_tree_new [Glib 2.8] | g_tree_new_full [Glib 2.8] |
| g_tree_new_with_data [Glib 2.8] | g_tree_nnodes [Glib 2.8] |
| g_tree_remove [Glib 2.8] | g_tree_replace [Glib 2.8] |
| g_tree_search [Glib 2.8] | g_tree_steal [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Byte Arrays specified in Table 16-9, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-9. libglib-2.0 - Glib Byte Arrays Function Interfaces
| g_byte_array_append [Glib 2.8] | g_byte_array_free [Glib 2.8] |
| g_byte_array_new [Glib 2.8] | g_byte_array_prepend [Glib 2.8] |
| g_byte_array_remove_index [Glib 2.8] | g_byte_array_remove_index_fast [Glib 2.8] |
| g_byte_array_remove_range [Glib 2.8] | g_byte_array_set_size [Glib 2.8] |
| g_byte_array_sized_new [Glib 2.8] | g_byte_array_sort [Glib 2.8] |
| g_byte_array_sort_with_data [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Caches specified in Table 16-10, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-10. libglib-2.0 - Glib Caches Function Interfaces
| g_cache_destroy [Glib 2.8] | g_cache_insert [Glib 2.8] |
| g_cache_key_foreach [Glib 2.8] | g_cache_new [Glib 2.8] |
| g_cache_remove [Glib 2.8] | g_cache_value_foreach [LSB] |
An LSB conforming implementation shall provide the generic deprecated functions for Glib Caches specified in Table 16-11, 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.
An LSB conforming implementation shall provide the generic functions for Glib Character Set Conversion specified in Table 16-12, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-12. libglib-2.0 - Glib Character Set Conversion Function Interfaces
| g_convert [Glib 2.8] | g_convert_error_quark [Glib 2.8] |
| g_convert_with_fallback [Glib 2.8] | g_convert_with_iconv [Glib 2.8] |
| g_filename_display_basename [Glib 2.8] | g_filename_display_name [Glib 2.8] |
| g_filename_from_uri [Glib 2.8] | g_filename_from_utf8 [Glib 2.8] |
| g_filename_to_uri [Glib 2.8] | g_filename_to_utf8 [Glib 2.8] |
| g_get_charset [Glib 2.8] | g_get_filename_charsets [Glib 2.8] |
| g_iconv [Glib 2.8] | g_iconv_close [Glib 2.8] |
| g_iconv_open [Glib 2.8] | g_locale_from_utf8 [Glib 2.8] |
| g_locale_to_utf8 [Glib 2.8] | g_uri_list_extract_uris [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Commandline Option Parser specified in Table 16-13, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-13. libglib-2.0 - Glib Commandline Option Parser Function Interfaces
| g_option_context_add_group [Glib 2.8] | g_option_context_add_main_entries [Glib 2.8] |
| g_option_context_free [Glib 2.8] | g_option_context_get_help_enabled [Glib 2.8] |
| g_option_context_get_ignore_unknown_options [Glib 2.8] | g_option_context_get_main_group [Glib 2.8] |
| g_option_context_new [Glib 2.8] | g_option_context_parse [Glib 2.8] |
| g_option_context_set_help_enabled [Glib 2.8] | g_option_context_set_ignore_unknown_options [Glib 2.8] |
| g_option_context_set_main_group [Glib 2.8] | g_option_error_quark [Glib 2.8] |
| g_option_group_add_entries [Glib 2.8] | g_option_group_free [Glib 2.8] |
| g_option_group_new [Glib 2.8] | g_option_group_set_error_hook [Glib 2.8] |
| g_option_group_set_parse_hooks [Glib 2.8] | g_option_group_set_translate_func [Glib 2.8] |
| g_option_group_set_translation_domain [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Datasets specified in Table 16-14, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-14. libglib-2.0 - Glib Datasets Function Interfaces
| g_dataset_destroy [Glib 2.8] | g_dataset_foreach [Glib 2.8] |
| g_dataset_id_get_data [Glib 2.8] | g_dataset_id_remove_no_notify [Glib 2.8] |
| g_dataset_id_set_data_full [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Date and Time Functions specified in Table 16-15, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-15. libglib-2.0 - Glib Date and Time Functions Function Interfaces
| g_date_add_days [Glib 2.8] | g_date_add_months [Glib 2.8] |
| g_date_add_years [Glib 2.8] | g_date_clamp [Glib 2.8] |
| g_date_clear [Glib 2.8] | g_date_compare [Glib 2.8] |
| g_date_days_between [Glib 2.8] | g_date_free [Glib 2.8] |
| g_date_get_day [Glib 2.8] | g_date_get_day_of_year [Glib 2.8] |
| g_date_get_days_in_month [Glib 2.8] | g_date_get_iso8601_week_of_year [Glib 2.8] |
| g_date_get_julian [Glib 2.8] | g_date_get_monday_week_of_year [Glib 2.8] |
| g_date_get_monday_weeks_in_year [Glib 2.8] | g_date_get_month [Glib 2.8] |
| g_date_get_sunday_week_of_year [Glib 2.8] | g_date_get_sunday_weeks_in_year [Glib 2.8] |
| g_date_get_weekday [Glib 2.8] | g_date_get_year [Glib 2.8] |
| g_date_is_first_of_month [Glib 2.8] | g_date_is_last_of_month [Glib 2.8] |
| g_date_is_leap_year [Glib 2.8] | g_date_new [Glib 2.8] |
| g_date_new_dmy [Glib 2.8] | g_date_new_julian [Glib 2.8] |
| g_date_order [Glib 2.8] | g_date_set_day [Glib 2.8] |
| g_date_set_dmy [Glib 2.8] | g_date_set_julian [Glib 2.8] |
| g_date_set_month [Glib 2.8] | g_date_set_parse [Glib 2.8] |
| g_date_set_time [Glib 2.8] | g_date_set_year [Glib 2.8] |
| g_date_strftime [Glib 2.8] | g_date_subtract_days [Glib 2.8] |
| g_date_subtract_months [Glib 2.8] | g_date_subtract_years [Glib 2.8] |
| g_date_to_struct_tm [Glib 2.8] | g_date_valid [Glib 2.8] |
| g_date_valid_day [Glib 2.8] | g_date_valid_dmy [Glib 2.8] |
| g_date_valid_julian [Glib 2.8] | g_date_valid_month [Glib 2.8] |
| g_date_valid_weekday [Glib 2.8] | g_date_valid_year [Glib 2.8] |
| g_get_current_time [Glib 2.8] | g_time_val_add [Glib 2.8] |
| g_usleep [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Double-Ended Queues specified in Table 16-16, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-16. libglib-2.0 - Glib Double-Ended Queues Function Interfaces
| g_queue_copy [Glib 2.8] | g_queue_delete_link [Glib 2.8] |
| g_queue_find [Glib 2.8] | g_queue_find_custom [Glib 2.8] |
| g_queue_foreach [Glib 2.8] | g_queue_free [Glib 2.8] |
| g_queue_get_length [Glib 2.8] | g_queue_index [Glib 2.8] |
| g_queue_insert_after [Glib 2.8] | g_queue_insert_before [Glib 2.8] |
| g_queue_insert_sorted [Glib 2.8] | g_queue_is_empty [Glib 2.8] |
| g_queue_link_index [Glib 2.8] | g_queue_new [Glib 2.8] |
| g_queue_peek_head [Glib 2.8] | g_queue_peek_head_link [Glib 2.8] |
| g_queue_peek_nth [Glib 2.8] | g_queue_peek_nth_link [Glib 2.8] |
| g_queue_peek_tail [Glib 2.8] | g_queue_peek_tail_link [Glib 2.8] |
| g_queue_pop_head [Glib 2.8] | g_queue_pop_head_link [Glib 2.8] |
| g_queue_pop_nth [Glib 2.8] | g_queue_pop_nth_link [Glib 2.8] |
| g_queue_pop_tail [Glib 2.8] | g_queue_pop_tail_link [Glib 2.8] |
| g_queue_push_head [Glib 2.8] | g_queue_push_head_link [Glib 2.8] |
| g_queue_push_nth [Glib 2.8] | g_queue_push_nth_link [Glib 2.8] |
| g_queue_push_tail [Glib 2.8] | g_queue_push_tail_link [Glib 2.8] |
| g_queue_remove [Glib 2.8] | g_queue_remove_all [Glib 2.8] |
| g_queue_reverse [Glib 2.8] | g_queue_sort [Glib 2.8] |
| g_queue_unlink [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Doubly-Linked Lists specified in Table 16-17, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-17. libglib-2.0 - Glib Doubly-Linked Lists Function Interfaces
| g_list_alloc [Glib 2.8] | g_list_append [Glib 2.8] |
| g_list_concat [Glib 2.8] | g_list_copy [Glib 2.8] |
| g_list_delete_link [Glib 2.8] | g_list_find [Glib 2.8] |
| g_list_find_custom [Glib 2.8] | g_list_first [Glib 2.8] |
| g_list_foreach [Glib 2.8] | g_list_free [Glib 2.8] |
| g_list_free_1 [Glib 2.8] | g_list_index [Glib 2.8] |
| g_list_insert [Glib 2.8] | g_list_insert_before [Glib 2.8] |
| g_list_insert_sorted [Glib 2.8] | g_list_last [Glib 2.8] |
| g_list_length [Glib 2.8] | g_list_nth [Glib 2.8] |
| g_list_nth_data [Glib 2.8] | g_list_nth_prev [Glib 2.8] |
| g_list_pop_allocator [Glib 2.8] | g_list_position [Glib 2.8] |
| g_list_prepend [Glib 2.8] | g_list_push_allocator [Glib 2.8] |
| g_list_remove [Glib 2.8] | g_list_remove_all [Glib 2.8] |
| g_list_remove_link [Glib 2.8] | g_list_reverse [Glib 2.8] |
| g_list_sort [Glib 2.8] | g_list_sort_with_data [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Error Reporting specified in Table 16-18, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-18. libglib-2.0 - Glib Error Reporting Function Interfaces
| g_clear_error [Glib 2.8] | g_error_copy [Glib 2.8] |
| g_error_free [Glib 2.8] | g_error_matches [Glib 2.8] |
| g_error_new [Glib 2.8] | g_error_new_literal [Glib 2.8] |
| g_propagate_error [Glib 2.8] | g_set_error [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib File Utilities specified in Table 16-19, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-19. libglib-2.0 - Glib File Utilities Function Interfaces
| g_dir_close [Glib 2.8] | g_dir_open [Glib 2.8] |
| g_dir_read_name [Glib 2.8] | g_dir_rewind [Glib 2.8] |
| g_file_error_from_errno [Glib 2.8] | g_file_error_quark [Glib 2.8] |
| g_file_get_contents [Glib 2.8] | g_file_open_tmp [Glib 2.8] |
| g_file_read_link [Glib 2.8] | g_file_set_contents [Glib 2.8] |
| g_file_test [Glib 2.8] | g_mapped_file_free [Glib 2.8] |
| g_mapped_file_get_contents [Glib 2.8] | g_mapped_file_get_length [Glib 2.8] |
| g_mapped_file_new [Glib 2.8] | g_mkstemp [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Glob-Style Pattern Matching specified in Table 16-20, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-20. libglib-2.0 - Glib Glob-Style Pattern Matching Function Interfaces
| g_pattern_match [Glib 2.8] | g_pattern_match_simple [Glib 2.8] |
| g_pattern_match_string [Glib 2.8] | g_pattern_spec_equal [Glib 2.8] |
| g_pattern_spec_free [Glib 2.8] | g_pattern_spec_new [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Hash Tables specified in Table 16-21, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-21. libglib-2.0 - Glib Hash Tables Function Interfaces
| g_direct_equal [Glib 2.8] | g_direct_hash [Glib 2.8] |
| g_hash_table_destroy [Glib 2.8] | g_hash_table_find [Glib 2.8] |
| g_hash_table_foreach [Glib 2.8] | g_hash_table_foreach_remove [Glib 2.8] |
| g_hash_table_foreach_steal [Glib 2.8] | g_hash_table_insert [Glib 2.8] |
| g_hash_table_lookup [Glib 2.8] | g_hash_table_lookup_extended [Glib 2.8] |
| g_hash_table_new [Glib 2.8] | g_hash_table_new_full [Glib 2.8] |
| g_hash_table_remove [Glib 2.8] | g_hash_table_replace [Glib 2.8] |
| g_hash_table_size [Glib 2.8] | g_hash_table_steal [Glib 2.8] |
| g_int_equal [Glib 2.8] | g_int_hash [Glib 2.8] |
| g_str_equal [Glib 2.8] | g_str_hash [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Hook Functions specified in Table 16-22, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-22. libglib-2.0 - Glib Hook Functions Function Interfaces
| g_hook_alloc [Glib 2.8] | g_hook_compare_ids [Glib 2.8] |
| g_hook_destroy [Glib 2.8] | g_hook_destroy_link [Glib 2.8] |
| g_hook_find [Glib 2.8] | g_hook_find_data [Glib 2.8] |
| g_hook_find_func [Glib 2.8] | g_hook_find_func_data [Glib 2.8] |
| g_hook_first_valid [Glib 2.8] | g_hook_free [Glib 2.8] |
| g_hook_get [Glib 2.8] | g_hook_insert_before [Glib 2.8] |
| g_hook_insert_sorted [Glib 2.8] | g_hook_list_clear [Glib 2.8] |
| g_hook_list_init [Glib 2.8] | g_hook_list_invoke [Glib 2.8] |
| g_hook_list_invoke_check [Glib 2.8] | g_hook_list_marshal [Glib 2.8] |
| g_hook_list_marshal_check [Glib 2.8] | g_hook_next_valid [Glib 2.8] |
| g_hook_prepend [Glib 2.8] | g_hook_ref [Glib 2.8] |
| g_hook_unref [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib IO Channels specified in Table 16-23, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-23. libglib-2.0 - Glib IO Channels Function Interfaces
| g_io_add_watch [Glib 2.8] | g_io_add_watch_full [Glib 2.8] |
| g_io_channel_error_from_errno [Glib 2.8] | g_io_channel_error_quark [Glib 2.8] |
| g_io_channel_flush [Glib 2.8] | g_io_channel_get_buffer_condition [Glib 2.8] |
| g_io_channel_get_buffer_size [Glib 2.8] | g_io_channel_get_buffered [Glib 2.8] |
| g_io_channel_get_close_on_unref [Glib 2.8] | g_io_channel_get_encoding [Glib 2.8] |
| g_io_channel_get_flags [Glib 2.8] | g_io_channel_get_line_term [Glib 2.8] |
| g_io_channel_init [Glib 2.8] | g_io_channel_new_file [Glib 2.8] |
| g_io_channel_read_chars [Glib 2.8] | g_io_channel_read_line [Glib 2.8] |
| g_io_channel_read_line_string [Glib 2.8] | g_io_channel_read_to_end [Glib 2.8] |
| g_io_channel_read_unichar [Glib 2.8] | g_io_channel_ref [Glib 2.8] |
| g_io_channel_seek_position [Glib 2.8] | g_io_channel_set_buffer_size [Glib 2.8] |
| g_io_channel_set_buffered [Glib 2.8] | g_io_channel_set_close_on_unref [Glib 2.8] |
| g_io_channel_set_encoding [Glib 2.8] | g_io_channel_set_flags [Glib 2.8] |
| g_io_channel_set_line_term [Glib 2.8] | g_io_channel_shutdown [Glib 2.8] |
| g_io_channel_unix_get_fd [Glib 2.8] | g_io_channel_unix_new [Glib 2.8] |
| g_io_channel_unref [Glib 2.8] | g_io_channel_write_chars [Glib 2.8] |
| g_io_channel_write_unichar [Glib 2.8] | g_io_create_watch [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Internationalization specified in Table 16-24, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-24. libglib-2.0 - Glib Internationalization Function Interfaces
| g_get_language_names [Glib 2.8] | g_strip_context [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Key-Value File Parser specified in Table 16-25, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-25. libglib-2.0 - Glib Key-Value File Parser Function Interfaces
| g_key_file_error_quark [Glib 2.8] | g_key_file_free [Glib 2.8] |
| g_key_file_get_boolean [Glib 2.8] | g_key_file_get_boolean_list [Glib 2.8] |
| g_key_file_get_comment [Glib 2.8] | g_key_file_get_groups [Glib 2.8] |
| g_key_file_get_integer [Glib 2.8] | g_key_file_get_integer_list [Glib 2.8] |
| g_key_file_get_keys [Glib 2.8] | g_key_file_get_locale_string [Glib 2.8] |
| g_key_file_get_locale_string_list [Glib 2.8] | g_key_file_get_start_group [Glib 2.8] |
| g_key_file_get_string [Glib 2.8] | g_key_file_get_string_list [Glib 2.8] |
| g_key_file_get_value [Glib 2.8] | g_key_file_has_group [Glib 2.8] |
| g_key_file_has_key [Glib 2.8] | g_key_file_load_from_data [Glib 2.8] |
| g_key_file_load_from_data_dirs [Glib 2.8] | g_key_file_load_from_file [Glib 2.8] |
| g_key_file_new [Glib 2.8] | g_key_file_remove_comment [Glib 2.8] |
| g_key_file_remove_group [Glib 2.8] | g_key_file_remove_key [Glib 2.8] |
| g_key_file_set_boolean [Glib 2.8] | g_key_file_set_boolean_list [Glib 2.8] |
| g_key_file_set_comment [Glib 2.8] | g_key_file_set_integer [Glib 2.8] |
| g_key_file_set_integer_list [Glib 2.8] | g_key_file_set_list_separator [Glib 2.8] |
| g_key_file_set_locale_string [Glib 2.8] | g_key_file_set_locale_string_list [Glib 2.8] |
| g_key_file_set_string [Glib 2.8] | g_key_file_set_string_list [Glib 2.8] |
| g_key_file_set_value [Glib 2.8] | g_key_file_to_data [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Keyed Data Lists specified in Table 16-26, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-26. libglib-2.0 - Glib Keyed Data Lists Function Interfaces
| g_datalist_clear [Glib 2.8] | g_datalist_foreach [Glib 2.8] |
| g_datalist_get_flags [Glib 2.8] | g_datalist_id_get_data [Glib 2.8] |
| g_datalist_id_remove_no_notify [Glib 2.8] | g_datalist_id_set_data_full [Glib 2.8] |
| g_datalist_init [Glib 2.8] | g_datalist_set_flags [Glib 2.8] |
| g_datalist_unset_flags [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Lexical Scanner specified in Table 16-27, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-27. libglib-2.0 - Glib Lexical Scanner Function Interfaces
| g_scanner_cur_line [Glib 2.8] | g_scanner_cur_position [Glib 2.8] |
| g_scanner_cur_token [Glib 2.8] | g_scanner_cur_value [Glib 2.8] |
| g_scanner_destroy [Glib 2.8] | g_scanner_eof [Glib 2.8] |
| g_scanner_error [Glib 2.8] | g_scanner_get_next_token [Glib 2.8] |
| g_scanner_input_file [Glib 2.8] | g_scanner_input_text [Glib 2.8] |
| g_scanner_lookup_symbol [Glib 2.8] | g_scanner_new [Glib 2.8] |
| g_scanner_peek_next_token [Glib 2.8] | g_scanner_scope_add_symbol [Glib 2.8] |
| g_scanner_scope_foreach_symbol [Glib 2.8] | g_scanner_scope_lookup_symbol [Glib 2.8] |
| g_scanner_scope_remove_symbol [Glib 2.8] | g_scanner_set_scope [Glib 2.8] |
| g_scanner_sync_file_offset [Glib 2.8] | g_scanner_unexp_token [Glib 2.8] |
| g_scanner_warn [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Memory Allocation specified in Table 16-28, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-28. libglib-2.0 - Glib Memory Allocation Function Interfaces
| g_free [Glib 2.8] | g_malloc [Glib 2.8] |
| g_malloc0 [Glib 2.8] | g_mem_is_system_malloc [Glib 2.8] |
| g_mem_profile [Glib 2.8] | g_mem_set_vtable [Glib 2.8] |
| g_memdup [Glib 2.8] | g_realloc [Glib 2.8] |
| g_try_malloc [Glib 2.8] | g_try_realloc [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Memory Allocators specified in Table 16-29, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-29. libglib-2.0 - Glib Memory Allocators Function Interfaces
| g_allocator_free [Glib 2.8] | g_allocator_new [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Memory Chunks specified in Table 16-30, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-30. libglib-2.0 - Glib Memory Chunks Function Interfaces
| g_blow_chunks [Glib 2.8] | g_mem_chunk_alloc [Glib 2.8] |
| g_mem_chunk_alloc0 [Glib 2.8] | g_mem_chunk_clean [Glib 2.8] |
| g_mem_chunk_destroy [Glib 2.8] | g_mem_chunk_free [Glib 2.8] |
| g_mem_chunk_info [Glib 2.8] | g_mem_chunk_new [Glib 2.8] |
| g_mem_chunk_print [Glib 2.8] | g_mem_chunk_reset [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Message Logging specified in Table 16-31, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-31. libglib-2.0 - Glib Message Logging Function Interfaces
| g_log [Glib 2.8] | g_log_default_handler [Glib 2.8] |
| g_log_remove_handler [Glib 2.8] | g_log_set_always_fatal [Glib 2.8] |
| g_log_set_default_handler [Glib 2.8] | g_log_set_fatal_mask [Glib 2.8] |
| g_log_set_handler [Glib 2.8] | g_logv [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Message Output and Debugging Functions specified in Table 16-32, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-32. libglib-2.0 - Glib Message Output and Debugging Functions Function Interfaces
| g_on_error_query [Glib 2.8] | g_on_error_stack_trace [Glib 2.8] |
| g_print [Glib 2.8] | g_printerr [Glib 2.8] |
| g_set_print_handler [Glib 2.8] | g_set_printerr_handler [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Miscellaneous Utility Functions specified in Table 16-33, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-33. libglib-2.0 - Glib Miscellaneous Utility Functions Function Interfaces
| g_atexit [Glib 2.8] | g_bit_nth_lsf [Glib 2.8] |
| g_bit_nth_msf [Glib 2.8] | g_bit_storage [Glib 2.8] |
| g_build_filename [Glib 2.8] | g_build_filenamev [Glib 2.8] |
| g_build_path [Glib 2.8] | g_build_pathv [Glib 2.8] |
| g_find_program_in_path [Glib 2.8] | g_get_application_name [Glib 2.8] |
| g_get_current_dir [Glib 2.8] | g_get_home_dir [Glib 2.8] |
| g_get_host_name [Glib 2.8] | g_get_prgname [Glib 2.8] |
| g_get_real_name [Glib 2.8] | g_get_system_config_dirs [Glib 2.8] |
| g_get_system_data_dirs [Glib 2.8] | g_get_tmp_dir [Glib 2.8] |
| g_get_user_cache_dir [Glib 2.8] | g_get_user_config_dir [Glib 2.8] |
| g_get_user_data_dir [Glib 2.8] | g_get_user_name [Glib 2.8] |
| g_getenv [Glib 2.8] | g_listenv [Glib 2.8] |
| g_nullify_pointer [Glib 2.8] | g_parse_debug_string [Glib 2.8] |
| g_path_get_basename [Glib 2.8] | g_path_get_dirname [Glib 2.8] |
| g_path_is_absolute [Glib 2.8] | g_path_skip_root [Glib 2.8] |
| g_qsort_with_data [Glib 2.8] | g_set_application_name [Glib 2.8] |
| g_set_prgname [Glib 2.8] | g_setenv [Glib 2.8] |
| g_spaced_primes_closest [Glib 2.8] | g_unsetenv [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib N-ary Trees specified in Table 16-34, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-34. libglib-2.0 - Glib N-ary Trees Function Interfaces
| g_node_child_index [Glib 2.8] | g_node_child_position [Glib 2.8] |
| g_node_children_foreach [Glib 2.8] | g_node_copy [Glib 2.8] |
| g_node_copy_deep [Glib 2.8] | g_node_depth [Glib 2.8] |
| g_node_destroy [Glib 2.8] | g_node_find [Glib 2.8] |
| g_node_find_child [Glib 2.8] | g_node_first_sibling [Glib 2.8] |
| g_node_get_root [Glib 2.8] | g_node_insert [Glib 2.8] |
| g_node_insert_after [Glib 2.8] | g_node_insert_before [Glib 2.8] |
| g_node_is_ancestor [Glib 2.8] | g_node_last_child [Glib 2.8] |
| g_node_last_sibling [Glib 2.8] | g_node_max_height [Glib 2.8] |
| g_node_n_children [Glib 2.8] | g_node_n_nodes [Glib 2.8] |
| g_node_new [Glib 2.8] | g_node_nth_child [Glib 2.8] |
| g_node_pop_allocator [Glib 2.8] | g_node_prepend [Glib 2.8] |
| g_node_push_allocator [Glib 2.8] | g_node_reverse_children [Glib 2.8] |
| g_node_traverse [Glib 2.8] | g_node_unlink [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Pointer Arrays specified in Table 16-35, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-35. libglib-2.0 - Glib Pointer Arrays Function Interfaces
| g_ptr_array_add [Glib 2.8] | g_ptr_array_foreach [Glib 2.8] |
| g_ptr_array_free [Glib 2.8] | g_ptr_array_new [Glib 2.8] |
| g_ptr_array_remove [Glib 2.8] | g_ptr_array_remove_fast [Glib 2.8] |
| g_ptr_array_remove_index [Glib 2.8] | g_ptr_array_remove_index_fast [Glib 2.8] |
| g_ptr_array_remove_range [Glib 2.8] | g_ptr_array_set_size [Glib 2.8] |
| g_ptr_array_sized_new [Glib 2.8] | g_ptr_array_sort [Glib 2.8] |
| g_ptr_array_sort_with_data [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Quarks specified in Table 16-36, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-36. libglib-2.0 - Glib Quarks Function Interfaces
| g_quark_from_static_string [Glib 2.8] | g_quark_from_string [Glib 2.8] |
| g_quark_to_string [Glib 2.8] | g_quark_try_string [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Random Numbers specified in Table 16-37, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-37. libglib-2.0 - Glib Random Numbers Function Interfaces
| g_rand_copy [Glib 2.8] | g_rand_double [Glib 2.8] |
| g_rand_double_range [Glib 2.8] | g_rand_free [Glib 2.8] |
| g_rand_int [Glib 2.8] | g_rand_int_range [Glib 2.8] |
| g_rand_new [Glib 2.8] | g_rand_new_with_seed [Glib 2.8] |
| g_rand_new_with_seed_array [Glib 2.8] | g_rand_set_seed [Glib 2.8] |
| g_rand_set_seed_array [Glib 2.8] | g_random_double [Glib 2.8] |
| g_random_double_range [Glib 2.8] | g_random_int [Glib 2.8] |
| g_random_int_range [Glib 2.8] | g_random_set_seed [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Relations and Tuples specified in Table 16-38, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-38. libglib-2.0 - Glib Relations and Tuples Function Interfaces
| g_relation_count [Glib 2.8] | g_relation_delete [Glib 2.8] |
| g_relation_destroy [Glib 2.8] | g_relation_exists [Glib 2.8] |
| g_relation_index [Glib 2.8] | g_relation_insert [Glib 2.8] |
| g_relation_new [Glib 2.8] | g_relation_print [Glib 2.8] |
| g_relation_select [Glib 2.8] | g_tuples_destroy [Glib 2.8] |
| g_tuples_index [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Shell-related Utilities specified in Table 16-39, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-39. libglib-2.0 - Glib Shell-related Utilities Function Interfaces
| g_shell_error_quark [Glib 2.8] | g_shell_parse_argv [Glib 2.8] |
| g_shell_quote [Glib 2.8] | g_shell_unquote [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Simple XML Subset Parser specified in Table 16-40, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-40. libglib-2.0 - Glib Simple XML Subset Parser Function Interfaces
| g_markup_error_quark [Glib 2.8] | g_markup_escape_text [Glib 2.8] |
| g_markup_parse_context_end_parse [Glib 2.8] | g_markup_parse_context_free [Glib 2.8] |
| g_markup_parse_context_get_element [Glib 2.8] | g_markup_parse_context_get_position [Glib 2.8] |
| g_markup_parse_context_new [Glib 2.8] | g_markup_parse_context_parse [Glib 2.8] |
| g_markup_printf_escaped [Glib 2.8] | g_markup_vprintf_escaped [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Singly-Linked Lists specified in Table 16-41, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-41. libglib-2.0 - Glib Singly-Linked Lists Function Interfaces
| g_slist_alloc [Glib 2.8] | g_slist_append [Glib 2.8] |
| g_slist_concat [Glib 2.8] | g_slist_copy [Glib 2.8] |
| g_slist_delete_link [Glib 2.8] | g_slist_find [Glib 2.8] |
| g_slist_find_custom [Glib 2.8] | g_slist_foreach [Glib 2.8] |
| g_slist_free [Glib 2.8] | g_slist_free_1 [Glib 2.8] |
| g_slist_index [Glib 2.8] | g_slist_insert [Glib 2.8] |
| g_slist_insert_before [Glib 2.8] | g_slist_insert_sorted [Glib 2.8] |
| g_slist_last [Glib 2.8] | g_slist_length [Glib 2.8] |
| g_slist_nth [Glib 2.8] | g_slist_nth_data [Glib 2.8] |
| g_slist_pop_allocator [Glib 2.8] | g_slist_position [Glib 2.8] |
| g_slist_prepend [Glib 2.8] | g_slist_push_allocator [Glib 2.8] |
| g_slist_remove [Glib 2.8] | g_slist_remove_all [Glib 2.8] |
| g_slist_remove_link [Glib 2.8] | g_slist_reverse [Glib 2.8] |
| g_slist_sort [Glib 2.8] | g_slist_sort_with_data [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Spawning Processes specified in Table 16-42, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-42. libglib-2.0 - Glib Spawning Processes Function Interfaces
| g_spawn_async [Glib 2.8] | g_spawn_async_with_pipes [Glib 2.8] |
| g_spawn_close_pid [Glib 2.8] | g_spawn_command_line_async [Glib 2.8] |
| g_spawn_command_line_sync [Glib 2.8] | g_spawn_error_quark [Glib 2.8] |
| g_spawn_sync [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib String Chunks specified in Table 16-43, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-43. libglib-2.0 - Glib String Chunks Function Interfaces
| g_string_chunk_free [Glib 2.8] | g_string_chunk_insert [Glib 2.8] |
| g_string_chunk_insert_const [Glib 2.8] | g_string_chunk_insert_len [Glib 2.8] |
| g_string_chunk_new [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib String Utility Functions specified in Table 16-44, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-44. libglib-2.0 - Glib String Utility Functions Function Interfaces
| g_ascii_digit_value [Glib 2.8] | g_ascii_dtostr [Glib 2.8] |
| g_ascii_formatd [Glib 2.8] | g_ascii_strcasecmp [Glib 2.8] |
| g_ascii_strdown [Glib 2.8] | g_ascii_strncasecmp [Glib 2.8] |
| g_ascii_strtod [Glib 2.8] | g_ascii_strtoull [Glib 2.8] |
| g_ascii_strup [Glib 2.8] | g_ascii_tolower [Glib 2.8] |
| g_ascii_toupper [Glib 2.8] | g_ascii_xdigit_value [Glib 2.8] |
| g_fprintf [Glib 2.8] | g_printf [Glib 2.8] |
| g_printf_string_upper_bound [Glib 2.8] | g_snprintf [Glib 2.8] |
| g_sprintf [Glib 2.8] | g_stpcpy [Glib 2.8] |
| g_str_has_prefix [Glib 2.8] | g_str_has_suffix [Glib 2.8] |
| g_strcanon [Glib 2.8] | g_strchomp [Glib 2.8] |
| g_strchug [Glib 2.8] | g_strcompress [Glib 2.8] |
| g_strconcat [Glib 2.8] | g_strdelimit [Glib 2.8] |
| g_strdup [Glib 2.8] | g_strdup_printf [Glib 2.8] |
| g_strdup_vprintf [Glib 2.8] | g_strdupv [Glib 2.8] |
| g_strerror [Glib 2.8] | g_strescape [Glib 2.8] |
| g_strfreev [Glib 2.8] | g_string_ascii_down [Glib 2.8] |
| g_string_ascii_up [Glib 2.8] | g_strjoin [Glib 2.8] |
| g_strjoinv [Glib 2.8] | g_strlcat [Glib 2.8] |
| g_strlcpy [Glib 2.8] | g_strndup [Glib 2.8] |
| g_strnfill [Glib 2.8] | g_strreverse [Glib 2.8] |
| g_strrstr [Glib 2.8] | g_strrstr_len [Glib 2.8] |
| g_strsignal [Glib 2.8] | g_strsplit [Glib 2.8] |
| g_strsplit_set [Glib 2.8] | g_strstr_len [Glib 2.8] |
| g_strtod [Glib 2.8] | g_strv_length [Glib 2.8] |
| g_vasprintf [Glib 2.8] | g_vfprintf [Glib 2.8] |
| g_vprintf [Glib 2.8] | g_vsnprintf [Glib 2.8] |
| g_vsprintf [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Strings specified in Table 16-45, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-45. libglib-2.0 - Glib Strings Function Interfaces
| g_string_append [Glib 2.8] | g_string_append_c [Glib 2.8] |
| g_string_append_len [Glib 2.8] | g_string_append_printf [Glib 2.8] |
| g_string_append_unichar [Glib 2.8] | g_string_assign [Glib 2.8] |
| g_string_equal [Glib 2.8] | g_string_erase [Glib 2.8] |
| g_string_free [Glib 2.8] | g_string_hash [Glib 2.8] |
| g_string_insert [Glib 2.8] | g_string_insert_c [Glib 2.8] |
| g_string_insert_len [Glib 2.8] | g_string_insert_unichar [Glib 2.8] |
| g_string_new [Glib 2.8] | g_string_new_len [Glib 2.8] |
| g_string_prepend [Glib 2.8] | g_string_prepend_c [Glib 2.8] |
| g_string_prepend_len [Glib 2.8] | g_string_prepend_unichar [Glib 2.8] |
| g_string_printf [Glib 2.8] | g_string_set_size [Glib 2.8] |
| g_string_sized_new [Glib 2.8] | g_string_truncate [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib - The Main Event Loop specified in Table 16-46, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-46. libglib-2.0 - Glib - The Main Event Loop Function Interfaces
| g_child_watch_add [Glib 2.8] | g_child_watch_add_full [Glib 2.8] |
| g_child_watch_source_new [Glib 2.8] | g_idle_add [Glib 2.8] |
| g_idle_add_full [Glib 2.8] | g_idle_remove_by_data [Glib 2.8] |
| g_idle_source_new [Glib 2.8] | g_main_context_acquire [Glib 2.8] |
| g_main_context_add_poll [Glib 2.8] | g_main_context_check [Glib 2.8] |
| g_main_context_default [Glib 2.8] | g_main_context_dispatch [Glib 2.8] |
| g_main_context_find_source_by_funcs_user_data [Glib 2.8] | g_main_context_find_source_by_id [Glib 2.8] |
| g_main_context_find_source_by_user_data [Glib 2.8] | g_main_context_get_poll_func [Glib 2.8] |
| g_main_context_iteration [Glib 2.8] | g_main_context_new [Glib 2.8] |
| g_main_context_pending [Glib 2.8] | g_main_context_prepare [Glib 2.8] |
| g_main_context_query [Glib 2.8] | g_main_context_ref [Glib 2.8] |
| g_main_context_release [Glib 2.8] | g_main_context_remove_poll [Glib 2.8] |
| g_main_context_set_poll_func [Glib 2.8] | g_main_context_unref [Glib 2.8] |
| g_main_context_wait [Glib 2.8] | g_main_context_wakeup [Glib 2.8] |
| g_main_depth [Glib 2.8] | g_main_loop_get_context [Glib 2.8] |
| g_main_loop_is_running [Glib 2.8] | g_main_loop_new [Glib 2.8] |
| g_main_loop_quit [Glib 2.8] | g_main_loop_ref [Glib 2.8] |
| g_main_loop_run [Glib 2.8] | g_main_loop_unref [Glib 2.8] |
| g_source_add_poll [Glib 2.8] | g_source_attach [Glib 2.8] |
| g_source_destroy [Glib 2.8] | g_source_get_can_recurse [Glib 2.8] |
| g_source_get_context [Glib 2.8] | g_source_get_current_time [Glib 2.8] |
| g_source_get_id [Glib 2.8] | g_source_get_priority [Glib 2.8] |
| g_source_new [Glib 2.8] | g_source_ref [Glib 2.8] |
| g_source_remove [Glib 2.8] | g_source_remove_by_funcs_user_data [Glib 2.8] |
| g_source_remove_by_user_data [Glib 2.8] | g_source_remove_poll [Glib 2.8] |
| g_source_set_callback [Glib 2.8] | g_source_set_callback_indirect [Glib 2.8] |
| g_source_set_can_recurse [Glib 2.8] | g_source_set_priority [Glib 2.8] |
| g_source_unref [Glib 2.8] | g_timeout_add [Glib 2.8] |
| g_timeout_add_full [Glib 2.8] | g_timeout_source_new [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Thread Pools specified in Table 16-47, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-47. libglib-2.0 - Glib Thread Pools Function Interfaces
| g_thread_pool_free [Glib 2.8] | g_thread_pool_get_max_threads [Glib 2.8] |
| g_thread_pool_get_max_unused_threads [Glib 2.8] | g_thread_pool_get_num_threads [Glib 2.8] |
| g_thread_pool_get_num_unused_threads [Glib 2.8] | g_thread_pool_new [Glib 2.8] |
| g_thread_pool_push [Glib 2.8] | g_thread_pool_set_max_threads [Glib 2.8] |
| g_thread_pool_set_max_unused_threads [Glib 2.8] | g_thread_pool_stop_unused_threads [Glib 2.8] |
| g_thread_pool_unprocessed [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Threads specified in Table 16-48, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-48. libglib-2.0 - Glib Threads Function Interfaces
| g_static_mutex_free [Glib 2.8] | g_static_mutex_init [Glib 2.8] |
| g_static_private_free [Glib 2.8] | g_static_private_get [Glib 2.8] |
| g_static_private_init [Glib 2.8] | g_static_private_set [Glib 2.8] |
| g_static_rec_mutex_free [Glib 2.8] | g_static_rec_mutex_init [Glib 2.8] |
| g_static_rec_mutex_lock [Glib 2.8] | g_static_rec_mutex_lock_full [Glib 2.8] |
| g_static_rec_mutex_trylock [Glib 2.8] | g_static_rec_mutex_unlock [Glib 2.8] |
| g_static_rec_mutex_unlock_full [Glib 2.8] | g_static_rw_lock_free [Glib 2.8] |
| g_static_rw_lock_init [Glib 2.8] | g_static_rw_lock_reader_lock [Glib 2.8] |
| g_static_rw_lock_reader_trylock [Glib 2.8] | g_static_rw_lock_reader_unlock [Glib 2.8] |
| g_static_rw_lock_writer_lock [Glib 2.8] | g_static_rw_lock_writer_trylock [Glib 2.8] |
| g_static_rw_lock_writer_unlock [Glib 2.8] | g_thread_create_full [Glib 2.8] |
| g_thread_error_quark [Glib 2.8] | g_thread_exit [Glib 2.8] |
| g_thread_join [Glib 2.8] | g_thread_self [Glib 2.8] |
| g_thread_set_priority [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Timers specified in Table 16-49, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-49. libglib-2.0 - Glib Timers Function Interfaces
| g_timer_continue [Glib 2.8] | g_timer_destroy [Glib 2.8] |
| g_timer_elapsed [Glib 2.8] | g_timer_new [Glib 2.8] |
| g_timer_reset [Glib 2.8] | g_timer_start [Glib 2.8] |
| g_timer_stop [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Trash Stacks specified in Table 16-50, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-50. libglib-2.0 - Glib Trash Stacks Function Interfaces
| g_trash_stack_height [Glib 2.8] | g_trash_stack_peek [Glib 2.8] |
| g_trash_stack_pop [Glib 2.8] | g_trash_stack_push [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Unicode Manipulation specified in Table 16-51, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-51. libglib-2.0 - Glib Unicode Manipulation Function Interfaces
| g_mkdir_with_parents [Glib 2.8] | g_ucs4_to_utf16 [Glib 2.8] |
| g_ucs4_to_utf8 [Glib 2.8] | g_unichar_break_type [Glib 2.8] |
| g_unichar_digit_value [Glib 2.8] | g_unichar_get_mirror_char [Glib 2.8] |
| g_unichar_isalnum [Glib 2.8] | g_unichar_isalpha [Glib 2.8] |
| g_unichar_iscntrl [Glib 2.8] | g_unichar_isdefined [Glib 2.8] |
| g_unichar_isdigit [Glib 2.8] | g_unichar_isgraph [Glib 2.8] |
| g_unichar_islower [Glib 2.8] | g_unichar_isprint [Glib 2.8] |
| g_unichar_ispunct [Glib 2.8] | g_unichar_isspace [Glib 2.8] |
| g_unichar_istitle [Glib 2.8] | g_unichar_isupper [Glib 2.8] |
| g_unichar_iswide [Glib 2.8] | g_unichar_isxdigit [Glib 2.8] |
| g_unichar_to_utf8 [Glib 2.8] | g_unichar_tolower [Glib 2.8] |
| g_unichar_totitle [Glib 2.8] | g_unichar_toupper [Glib 2.8] |
| g_unichar_type [Glib 2.8] | g_unichar_validate [Glib 2.8] |
| g_unichar_xdigit_value [Glib 2.8] | g_unicode_canonical_decomposition [Glib 2.8] |
| g_unicode_canonical_ordering [Glib 2.8] | g_utf16_to_ucs4 [Glib 2.8] |
| g_utf16_to_utf8 [Glib 2.8] | g_utf8_casefold [Glib 2.8] |
| g_utf8_collate [Glib 2.8] | g_utf8_collate_key [Glib 2.8] |
| g_utf8_collate_key_for_filename [Glib 2.8] | g_utf8_find_next_char [Glib 2.8] |
| g_utf8_find_prev_char [Glib 2.8] | g_utf8_get_char [Glib 2.8] |
| g_utf8_get_char_validated [Glib 2.8] | g_utf8_normalize [Glib 2.8] |
| g_utf8_offset_to_pointer [Glib 2.8] | g_utf8_pointer_to_offset [Glib 2.8] |
| g_utf8_prev_char [Glib 2.8] | g_utf8_strchr [Glib 2.8] |
| g_utf8_strdown [Glib 2.8] | g_utf8_strlen [Glib 2.8] |
| g_utf8_strncpy [Glib 2.8] | g_utf8_strrchr [Glib 2.8] |
| g_utf8_strreverse [Glib 2.8] | g_utf8_strup [Glib 2.8] |
| g_utf8_to_ucs4 [Glib 2.8] | g_utf8_to_ucs4_fast [Glib 2.8] |
| g_utf8_to_utf16 [Glib 2.8] | g_utf8_validate [Glib 2.8] |
An LSB conforming implementation shall provide the generic functions for Glib Version Information specified in Table 16-52, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-52. libglib-2.0 - Glib Version Information Function Interfaces
| glib_check_version [Glib 2.8] |
An LSB conforming implementation shall provide the generic data interfaces for Glib Version Information specified in Table 16-53, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-53. libglib-2.0 - Glib Version Information Data Interfaces
| glib_binary_age [Glib 2.8] | glib_interface_age [Glib 2.8] |
| glib_major_version [Glib 2.8] | glib_mem_profiler_table [Glib 2.8] |
| glib_micro_version [Glib 2.8] | glib_minor_version [Glib 2.8] |
This section defines global identifiers and their values that are associated with interfaces contained in libglib-2.0. 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.
#define GLIB_HAVE_ALLOCA_H
#define GLIB_HAVE_SYS_POLL_H
#ifdef __cplusplus
# define G_BEGIN_DECLS extern "C" {
#else
# define G_BEGIN_DECLS
#endif
#ifdef __cplusplus
# define G_END_DECLS }
#else
# define G_END_DECLS
#endif
#define G_GINT32_MODIFIER ""
#define G_GNUC_FUNCTION ""
#define G_GNUC_PRETTY_FUNCTION ""
#define G_OPTION_REMAINING ""
#define G_OS_UNIX
#define G_THREADS_ENABLED
#define G_THREADS_IMPL_POSIX
#define G_WIN32_DLLMAIN_FOR_DLL_NAME(static,dll_name)
#define G_CSET_LATINC \
"\300\301\302\303\304\305\306" \
"\307\310\311\312\313\314\315\316\317\320" "\321\322\323\324\325\326" \
"\330\331\332\333\334\335\336"
#define G_CSET_LATINS \
"\337\340\341\342\343\344\345\346" \
"\347\350\351\352\353\354\355\356\357\360" "\361\362\363\364\365\366" \
"\370\371\372\373\374\375\376\377"
#define g_mem_chunk_create(type,pre_alloc,alloc_type) \
( g_mem_chunk_new (#type " mem chunks (" #pre_alloc ")", sizeof \
(type), sizeof (type) * (pre_alloc), (alloc_type)) )
#define G_NODE_IS_ROOT(node) \
(((GNode*) (node))->parent == NULL && ((GNode*) (node))->prev == NULL \
&& ((GNode*) (node))->next == NULL)
#define g_once(once,func,arg) \
(((once)->status == G_ONCE_STATUS_READY) ? (once)->retval : \
g_once_impl ((once), (func), (arg)))
#define CLAMP(x,low,high) \
(((x) > (high)) ? (high) : (((x) < (low)) ? (low) : (x)))
#define G_STRUCT_OFFSET(struct_type,member) \
((glong) ((guint8*) &((struct_type*) 0)->member))
#define G_STRUCT_MEMBER_P(struct_p,struct_offset) \
((gpointer) ((guint8*) (struct_p) + (glong) (struct_offset)))
#define GUINT16_SWAP_LE_BE_CONSTANT(val) \
((guint16) ( (guint16) ((guint16) (val) >> 8) | (guint16) ((guint16) \
(val) << 8)))
#define GUINT32_SWAP_LE_BE_CONSTANT(val) \
((guint32) ( (((guint32) (val) & (guint32) 0x000000ffU) << 24) | \
(((guint32) (val) & (guint32) 0x0000ff00U) << 8) | (((guint32) (val) & \
(guint32) 0x00ff0000U) >> 8) | (((guint32) (val) & (guint32) \
0xff000000U) >> 24)))
#define GUINT32_SWAP_LE_PDP(val) \
((guint32) ( (((guint32) (val) & (guint32) 0x0000ffffU) << 16) | \
(((guint32) (val) & (guint32) 0xffff0000U) >> 16)))
#define GUINT32_SWAP_BE_PDP(val) \
((guint32) ( (((guint32) (val) & (guint32) 0x00ff00ffU) << 8) | \
(((guint32) (val) & (guint32) 0xff00ff00U) >> 8)))
#define GUINT64_SWAP_LE_BE_CONSTANT(val) \
((guint64) ( (((guint64) (val) & (guint64) G_GINT64_CONSTANT \
(0x00000000000000ffU)) << 56) | (((guint64) (val) & (guint64) \
G_GINT64_CONSTANT (0x000000000000ff00U)) << 40) | (((guint64) (val) & \
(guint64) G_GINT64_CONSTANT (0x0000000000ff0000U)) << 24) | \
(((guint64) (val) & (guint64) G_GINT64_CONSTANT (0x00000000ff000000U)) \
<< 8) | (((guint64) (val) & (guint64) G_GINT64_CONSTANT \
(0x000000ff00000000U)) >> 8) | (((guint64) (val) & (guint64) \
G_GINT64_CONSTANT (0x0000ff0000000000U)) >> 24) | (((guint64) (val) & \
(guint64) G_GINT64_CONSTANT (0x00ff000000000000U)) >> 40) | \
(((guint64) (val) & (guint64) G_GINT64_CONSTANT (0xff00000000000000U)) \
>> 56)))
#define g_ascii_isalnum(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_ALNUM) != 0)
#define g_ascii_isalpha(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_ALPHA) != 0)
#define g_ascii_iscntrl(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_CNTRL) != 0)
#define g_ascii_isdigit(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_DIGIT) != 0)
#define g_ascii_isgraph(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_GRAPH) != 0)
#define g_ascii_islower(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_LOWER) != 0)
#define g_ascii_isprint(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_PRINT) != 0)
#define g_ascii_ispunct(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_PUNCT) != 0)
#define g_ascii_isspace(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_SPACE) != 0)
#define g_ascii_isupper(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_UPPER) != 0)
#define g_ascii_isxdigit(c) \
((g_ascii_table[(guchar) (c)] & G_ASCII_XDIGIT) != 0)
#define G_HOOK_ACTIVE(hook) \
((G_HOOK_FLAGS (hook) & G_HOOK_FLAG_ACTIVE) != 0)
#define G_HOOK_IN_CALL(hook) \
((G_HOOK_FLAGS (hook) & G_HOOK_FLAG_IN_CALL) != 0)
#define g_node_first_child(node) \
((node) ? ((GNode*) (node))->children : NULL)
#define g_node_next_sibling(node) \
((node) ? ((GNode*) (node))->next : NULL)
#define g_node_prev_sibling(node) \
((node) ? ((GNode*) (node))->prev : NULL)
#define g_new(struct_type,n_structs) \
((struct_type *) g_malloc (((gsize) sizeof (struct_type)) * ((gsize) \
(n_structs))))
#define g_new0(struct_type,n_structs) \
((struct_type *) g_malloc0 (((gsize) sizeof (struct_type)) * ((gsize) \
(n_structs))))
#define g_renew(struct_type,mem,n_structs) \
((struct_type *) g_realloc ((mem), ((gsize) sizeof (struct_type)) * \
((gsize) (n_structs))))
#define g_newa(struct_type,n_structs) \
((struct_type*) g_alloca (sizeof (struct_type) * (gsize) \
(n_structs)))
#define G_STRUCT_MEMBER(member_type,struct_p,struct_offset) \
(*(member_type*) G_STRUCT_MEMBER_P ((struct_p), (struct_offset)))
#define G_THREAD_UF(op,arglist) \
(*g_thread_functions_for_glib_use . op) arglist
#define GLIB_CHECK_VERSION(major,minor,micro) \
(GLIB_MAJOR_VERSION > (major) || (GLIB_MAJOR_VERSION == (major) && \
GLIB_MINOR_VERSION > (minor)) || (GLIB_MAJOR_VERSION == (major) && \
GLIB_MINOR_VERSION == (minor) && GLIB_MICRO_VERSION >= (micro)))
#define g_atomic_int_dec_and_test(atomic) \
(g_atomic_int_exchange_and_add ((atomic), -1) == 1)
#define g_static_mutex_get_mutex_impl_shortcut(mutex) \
(g_atomic_pointer_get ((gpointer*)mutex) ? *(mutex) : \
g_static_mutex_get_mutex_impl (mutex))
#define g_datalist_get_data(dl,k) \
(g_datalist_id_get_data ((dl), g_quark_try_string (k)))
#define g_dataset_get_data(l,k) \
(g_dataset_id_get_data ((l), g_quark_try_string (k)))
#define G_HOOK_IS_VALID(hook) \
(G_HOOK (hook)->hook_id != 0 && (G_HOOK_FLAGS (hook) & \
G_HOOK_FLAG_ACTIVE))
#define G_HOOK_IS_UNLINKED(hook) \
(G_HOOK (hook)->next == NULL && G_HOOK (hook)->prev == NULL && G_HOOK \
(hook)->hook_id == 0 && G_HOOK (hook)->ref_count == 0)
#define g_thread_create(func,data,joinable,error) \
(g_thread_create_full (func, data, 0, joinable, FALSE, \
G_THREAD_PRIORITY_NORMAL, error))
#define G_THREAD_ECF(op,fail,mutex,type) \
(g_thread_supported () ? ((type(*)(GMutex*, gulong, gchar*)) \
(*g_thread_functions_for_glib_use . op)) (mutex, G_MUTEX_DEBUG_MAGIC, \
G_STRLOC) : (fail))
#define G_THREAD_CF(op,fail,arg) \
(g_thread_supported () ? G_THREAD_UF (op, arg) : (fail))
#define g_static_mutex_get_mutex(mutex) \
(g_thread_use_default_impl ? ((GMutex*) &((mutex)->static_mutex)) : \
g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
#define G_LOCK_DEFINE(name) \
GStaticMutex G_LOCK_NAME (name) = G_STATIC_MUTEX_INIT
#define g_datalist_remove_no_notify(dl,k) \
g_datalist_id_remove_no_notify ((dl), g_quark_try_string (k))
#define g_datalist_id_remove_data(dl,q) \
g_datalist_id_set_data ((dl), (q), NULL)
#define g_datalist_remove_data(dl,k) \
g_datalist_id_set_data ((dl), g_quark_try_string (k), NULL)
#define g_datalist_id_set_data(dl,q,d) \
g_datalist_id_set_data_full ((dl), (q), (d), NULL)
#define g_datalist_set_data_full(dl,k,d,f) \
g_datalist_id_set_data_full ((dl), g_quark_from_string (k), (d), (f))
#define g_datalist_set_data(dl,k,d) \
g_datalist_set_data_full ((dl), (k), (d), NULL)
#define g_dataset_remove_no_notify(l,k) \
g_dataset_id_remove_no_notify ((l), g_quark_try_string (k))
#define g_dataset_id_remove_data(l,k) \
g_dataset_id_set_data ((l), (k), NULL)
#define g_dataset_remove_data(l,k) \
g_dataset_id_set_data ((l), g_quark_try_string (k), NULL)
#define g_dataset_id_set_data(l,k,d) \
g_dataset_id_set_data_full ((l), (k), (d), NULL)
#define g_dataset_set_data_full(l,k,d,f) \
g_dataset_id_set_data_full ((l), g_quark_from_string (k), (d), (f))
#define g_dataset_set_data(l,k,d) \
g_dataset_set_data_full ((l), (k), (d), NULL)
#define g_hook_append(hook_list,hook) \
g_hook_insert_before ((hook_list), NULL, (hook))
#define g_critical(...) \
g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, __VA_ARGS__)
#define g_message(...) \
g_log (G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, __VA_ARGS__)
#define g_warning(...) \
g_log (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, __VA_ARGS__)
#define g_static_mutex_lock(mutex) \
g_mutex_lock (g_static_mutex_get_mutex (mutex))
#define g_static_mutex_trylock(mutex) \
g_mutex_trylock (g_static_mutex_get_mutex (mutex))
#define g_static_mutex_unlock(mutex) \
g_mutex_unlock (g_static_mutex_get_mutex (mutex))
#define g_node_insert_data(parent,position,data) \
g_node_insert ((parent), (position), g_node_new (data))
#define g_node_insert_data_before(parent,sibling,data) \
g_node_insert_before ((parent), (sibling), g_node_new (data))
#define g_node_append(parent,node) \
g_node_insert_before ((parent), NULL, (node))
#define g_node_append_data(parent,data) \
g_node_insert_before ((parent), NULL, g_node_new (data))
#define g_node_prepend_data(parent,data) \
g_node_prepend ((parent), g_node_new (data))
#define g_chunk_free(mem,mem_chunk) \
G_STMT_START { g_mem_chunk_free ((mem_chunk), (mem)); } G_STMT_END
#define g_memmove(d,s,n) \
G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
#define g_assert_not_reached() \
G_STMT_START{ g_assert_warning (G_LOG_DOMAIN, __FILE__, __LINE__, \
__PRETTY_FUNCTION__, NULL); }G_STMT_END
#define g_return_val_if_reached(val) \
G_STMT_START{ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "file %s: \
line %d (%s): should not be reached", __FILE__, __LINE__, \
__PRETTY_FUNCTION__); return (val); }G_STMT_END
#define g_return_if_reached() \
G_STMT_START{ g_log (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, "file %s: \
line %d (%s): should not be reached", __FILE__, __LINE__, \
__PRETTY_FUNCTION__); return; }G_STMT_END
#define g_assert(expr) \
G_STMT_START{ if G_LIKELY(expr) { } else g_assert_warning \
(G_LOG_DOMAIN, __FILE__, __LINE__, __PRETTY_FUNCTION__, #expr); \
}G_STMT_END
#define g_return_val_if_fail(expr,val) \
G_STMT_START{ if G_LIKELY(expr) { } else { g_return_if_fail_warning \
(G_LOG_DOMAIN, __PRETTY_FUNCTION__, #expr); return (val); }; \
}G_STMT_END
#define g_return_if_fail(expr) \
G_STMT_START{ if G_LIKELY(expr) { } else { g_return_if_fail_warning \
(G_LOG_DOMAIN, __PRETTY_FUNCTION__, #expr); return; }; }G_STMT_END
#define g_cond_broadcast(cond) \
G_THREAD_CF (cond_broadcast, (void)0, (cond))
#define g_cond_timed_wait(cond,mutex,abs_time) \
G_THREAD_CF (cond_timed_wait, TRUE, (cond, mutex, abs_time))
#define g_cond_wait(cond,mutex) \
G_THREAD_CF (cond_wait, (void)0, (cond, mutex))
#define g_private_get(private_key) \
G_THREAD_CF (private_get, ((gpointer)private_key), (private_key))
#define g_private_set(private_key,value) \
G_THREAD_CF (private_set, (void) (private_key = (GPrivate*) (value)), \
(private_key, value))
#define G_GNUC_PRINTF(format_idx,arg_idx) \
__attribute__((__format__ (__printf__, format_idx, arg_idx)))
#define G_GNUC_SCANF(format_idx,arg_idx) \
__attribute__((__format__ (__scanf__, format_idx, arg_idx)))
#define G_STATIC_RW_LOCK_INIT \
{ G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 }
#define G_STRINGIFY_ARG(contents) #contents
#define G_DIR_SEPARATOR '/'
#define g_chunk_new(type,chunk) ( (type *) g_mem_chunk_alloc (chunk) )
#define g_chunk_new0(type,chunk) ( (type *) g_mem_chunk_alloc0 (chunk) )
#define MIN(a,b) (((a) < (b)) ? (a) : (b))
#define ABS(a) (((a) < 0) ? -(a) : (a))
#define MAX(a,b) (((a) > (b)) ? (a) : (b))
#define G_NODE_IS_LEAF(node) (((GNode*) (node))->children == NULL)
#define g_array_index(a,t,i) (((t*) (void *) (a)->data) [(i)])
#define g_ptr_array_index(array,index_) ((array)->pdata)[index_]
#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR)
#define G_STRFUNC ((const char*) (__PRETTY_FUNCTION__))
#define G_LOG_DOMAIN ((gchar*) 0)
#define G_HOOK(hook) ((GHook*) (hook))
#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val))
#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val))
#define GINT16_TO_LE(val) ((gint16) (val))
#define G_MAXINT16 ((gint16) 0x7fff)
#define G_MININT16 ((gint16) 0x8000)
#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val))
#define GINT32_TO_LE(val) ((gint32) (val))
#define G_MAXINT32 ((gint32) 0x7fffffff)
#define G_MININT32 ((gint32) 0x80000000)
#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val))
#define GINT64_TO_LE(val) ((gint64) (val))
#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val))
#define G_MAXINT8 ((gint8) 0x7f)
#define G_MININT8 ((gint8) 0x80)
#define GSIZE_TO_POINTER(s) ((gpointer) (gsize) (s))
#define GPOINTER_TO_SIZE(p) ((gsize) (p))
#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val))
#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val))
#define GUINT16_SWAP_LE_PDP(val) ((guint16) (val))
#define GUINT16_TO_LE(val) ((guint16) (val))
#define G_MAXUINT16 ((guint16) 0xffff)
#define GUINT32_TO_LE(val) ((guint32) (val))
#define G_MAXUINT32 ((guint32) 0xffffffff)
#define GUINT64_TO_LE(val) ((guint64) (val))
#define G_MAXUINT8 ((guint8) 0xff)
#define g_random_boolean() ((g_random_int () & (1 << 15)) != 0)
#define g_rand_boolean(rand_) ((g_rand_int (rand_) & (1 << 15)) != 0)
#define g_list_next(list) ((list) ? (((GList *)(list))->next) : NULL)
#define g_list_previous(list) ((list) ? (((GList *)(list))->prev) : NULL)
#define g_slist_next(slist) ((slist) ? (((GSList *)(slist))->next) : NULL)
#define g_atomic_int_get(atomic) (*(atomic))
#define g_atomic_pointer_get(atomic) (*(atomic))
#define G_LOG_2_BASE_10 (0.30102999566398119521)
#define G_ALLOCATOR_LIST (1)
#define G_IEEE754_DOUBLE_BIAS (1023)
#define G_IEEE754_FLOAT_BIAS (127)
#define G_ALLOCATOR_SLIST (2)
#define G_ASCII_DTOSTR_BUF_SIZE (29 + 10)
#define G_ALLOCATOR_NODE (3)
#define G_HOOK_FLAG_USER_SHIFT (4)
#define G_LOG_LEVEL_USER_SHIFT (8)
#define g_ATEXIT(proc) (atexit (proc))
#define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(const guchar *)(p)])
#define G_LIKELY(expr) (expr)
#define G_UNLIKELY(expr) (expr)
#define GINT16_FROM_BE(val) (GINT16_TO_BE (val))
#define GINT16_FROM_LE(val) (GINT16_TO_LE (val))
#define GINT32_FROM_BE(val) (GINT32_TO_BE (val))
#define GINT32_FROM_LE(val) (GINT32_TO_LE (val))
#define GINT64_FROM_BE(val) (GINT64_TO_BE (val))
#define GINT64_FROM_LE(val) (GINT64_TO_LE (val))
#define GINT_FROM_BE(val) (GINT_TO_BE (val))
#define GINT_FROM_LE(val) (GINT_TO_LE (val))
#define GLONG_FROM_BE(val) (GLONG_TO_BE (val))
#define GLONG_FROM_LE(val) (GLONG_TO_LE (val))
#define g_ntohs(val) (GUINT16_FROM_BE (val))
#define GUINT16_SWAP_BE_PDP(val) (GUINT16_SWAP_LE_BE (val))
#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val))
#define GUINT16_SWAP_LE_BE(val) (GUINT16_SWAP_LE_BE_CONSTANT (val))
#define GUINT16_FROM_BE(val) (GUINT16_TO_BE (val))
#define g_htons(val) (GUINT16_TO_BE (val))
#define GUINT16_FROM_LE(val) (GUINT16_TO_LE (val))
#define g_ntohl(val) (GUINT32_FROM_BE (val))
#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val))
#define GUINT32_SWAP_LE_BE(val) (GUINT32_SWAP_LE_BE_CONSTANT (val))
#define GUINT32_FROM_BE(val) (GUINT32_TO_BE (val))
#define g_htonl(val) (GUINT32_TO_BE (val))
#define GUINT32_FROM_LE(val) (GUINT32_TO_LE (val))
#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val))
#define GUINT64_SWAP_LE_BE(val) (GUINT64_SWAP_LE_BE_CONSTANT (val))
#define GUINT64_FROM_BE(val) (GUINT64_TO_BE (val))
#define GUINT64_FROM_LE(val) (GUINT64_TO_LE (val))
#define GUINT_FROM_BE(val) (GUINT_TO_BE (val))
#define GUINT_FROM_LE(val) (GUINT_TO_LE (val))
#define GULONG_FROM_BE(val) (GULONG_TO_BE (val))
#define GULONG_FROM_LE(val) (GULONG_TO_LE (val))
#define g_atomic_int_inc(atomic) (g_atomic_int_add ((atomic), 1))
#define G_HOOK_FLAGS(hook) (G_HOOK (hook)->flags)
#define G_LOG_FATAL_MASK (G_LOG_FLAG_RECURSION | G_LOG_LEVEL_ERROR)
#define G_OPTION_ERROR (g_option_error_quark ())
#define g_thread_supported() (g_threads_got_initialized)
#define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0]))
#define G_STMT_START (void) __extension__ (
#define G_STMT_END )
#define G_PRIORITY_HIGH -100
#define G_DIR_SEPARATOR_S "/"
#define G_HAVE_GROWING_STACK 0
#define G_PRIORITY_DEFAULT 0
#define G_LN2 0.69314718055994530941723212145817656807550013436026
#define G_PI_4 0.78539816339744830961566084581987572104929234984378
#define G_CSET_DIGITS "0123456789"
#define G_DATE_BAD_DAY 0U
#define G_DATE_BAD_JULIAN 0U
#define G_DATE_BAD_YEAR 0U
#define G_MUTEX_DEBUG_MAGIC 0xf8e18ad7
#define G_ALLOC_ONLY 1
#define G_CAN_INLINE 1
#define G_HAVE_GINT64 1
#define G_HAVE_GNUC_VARARGS 1
#define G_HAVE_GNUC_VISIBILITY 1
#define G_HAVE_INLINE 1
#define G_HAVE_ISO_VARARGS 1
#define G_HAVE___INLINE 1
#define G_HAVE___INLINE__ 1
#define G_SQRT2 1.4142135623730950488016887242096980785696718753769
#define G_PI_2 1.5707963267948966192313216916397514420985846996876
#define G_PRIORITY_HIGH_IDLE 100
#define G_USEC_PER_SEC 1000000
#define G_LITTLE_ENDIAN 1234
#define GLIB_MAJOR_VERSION 2
#define G_ALLOC_AND_FREE 2
#define G_LN10 2.3025850929940456840179914546843642076011014886288
#define G_E 2.7182818284590452353602874713526624977572470937000
#define G_PRIORITY_DEFAULT_IDLE 200
#define G_PI 3.1415926535897932384626433832795028841971693993751
#define G_PRIORITY_LOW 300
#define G_PDP_ENDIAN 3412
#define G_BIG_ENDIAN 4321
#define GLIB_MICRO_VERSION 6
#define GLIB_MINOR_VERSION 8
#define G_SEARCHPATH_SEPARATOR :
#define G_SEARCHPATH_SEPARATOR_S ":"
#define GLIB_SYSDEF_POLLIN =1
#define GLIB_SYSDEF_POLLHUP =16
#define GLIB_SYSDEF_POLLPRI =2
#define GLIB_SYSDEF_POLLNVAL =32
#define GLIB_SYSDEF_POLLOUT =4
#define GLIB_SYSDEF_POLLERR =8
#define G_CSET_A_2_Z "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
#define G_CSET_a_2_z "abcdefghijklmnopqrstuvwxyz"
#define g_alloca(size) alloca (size)
#define G_CONST_RETURN const
#define G_MAXDOUBLE DBL_MAX
#define G_MINDOUBLE DBL_MIN
#define GLIB_VAR extern
#define G_LOCK_EXTERN(name) extern GStaticMutex G_LOCK_NAME (name)
#define G_INLINE_FUNC extern inline
#define G_MAXFLOAT FLT_MAX
#define G_MINFLOAT FLT_MIN
#define G_MEM_ALIGN GLIB_SIZEOF_LONG
#define g_array_append_val(a,v) g_array_append_vals (a, &(v), 1)
#define g_array_insert_val(a,i,v) g_array_insert_vals (a, i, &(v), 1)
#define g_array_prepend_val(a,v) g_array_prepend_vals (a, &(v), 1)
#define ATEXIT(proc) g_ATEXIT(proc)
#define G_CONVERT_ERROR g_convert_error_quark()
#define g_date_day g_date_get_day
#define g_date_days_in_month g_date_get_days_in_month
#define g_date_day_of_year g_date_get_day_of_year
#define g_date_julian g_date_get_julian
#define g_date_monday_weeks_in_year g_date_get_monday_weeks_in_year
#define g_date_monday_week_of_year g_date_get_monday_week_of_year
#define g_date_month g_date_get_month
#define g_date_sunday_weeks_in_year g_date_get_sunday_weeks_in_year
#define g_date_sunday_week_of_year g_date_get_sunday_week_of_year
#define g_date_weekday g_date_get_weekday
#define g_date_year g_date_get_year
#define G_FILE_ERROR g_file_error_quark ()
#define G_MAXINT64 G_GINT64_CONSTANT(0x7fffffffffffffff)
#define G_MININT64 G_GINT64_CONSTANT(0x8000000000000000)
#define G_MAXUINT64 G_GINT64_CONSTANT(0xffffffffffffffffU)
#define G_IO_CHANNEL_ERROR g_io_channel_error_quark()
#define G_KEY_FILE_ERROR g_key_file_error_quark()
#define g_debug(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, __VA_ARGS__)
#define g_error(...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, __VA_ARGS__)
#define G_MARKUP_ERROR g_markup_error_quark ()
#define G_SHELL_ERROR g_shell_error_quark ()
#define G_SPAWN_ERROR g_spawn_error_quark ()
#define G_LOCK(name) g_static_mutex_lock (&G_LOCK_NAME (name))
#define G_TRYLOCK(name) g_static_mutex_trylock (&G_LOCK_NAME (name))
#define G_UNLOCK(name) g_static_mutex_unlock (&G_LOCK_NAME (name))
#define g_strstrip(string) g_strchomp (g_strchug (string))
#define G_STRINGIFY(macro_or_string) G_STRINGIFY_ARG (macro_or_string)
#define g_cond_free(cond) G_THREAD_CF (cond_free, (void)0, (cond))
#define g_cond_signal(cond) G_THREAD_CF (cond_signal, (void)0, (cond))
#define g_mutex_free(mutex) G_THREAD_CF (mutex_free, (void)0, (mutex))
#define g_mutex_lock(mutex) G_THREAD_CF (mutex_lock, (void)0, (mutex))
#define g_mutex_trylock(mutex) G_THREAD_CF (mutex_trylock, TRUE, (mutex))
#define g_mutex_unlock(mutex) G_THREAD_CF (mutex_unlock, (void)0, (mutex))
#define g_thread_yield() G_THREAD_CF (thread_yield, (void)0, ())
#define G_THREAD_ERROR g_thread_error_quark ()
#define g_cond_new() G_THREAD_UF (cond_new, ())
#define g_mutex_new() G_THREAD_UF (mutex_new, ())
#define g_private_new(destructor) G_THREAD_UF (private_new, (destructor))
#define G_LOCK_NAME(name) g__ ## name ## _lock
#define G_GINT16_MODIFIER "h"
#define G_GINT16_FORMAT "hi"
#define G_GUINT16_FORMAT "hu"
#define G_GINT32_FORMAT "i"
#define G_MAXINT INT_MAX
#define G_MININT INT_MIN
#define G_MAXLONG LONG_MAX
#define G_MINLONG LONG_MIN
#define G_MAXSHORT SHRT_MAX
#define G_MINSHORT SHRT_MIN
#define G_MODULE_SUFFIX "so"
#define G_LOCK_DEFINE_STATIC(name) static G_LOCK_DEFINE (name)
#define G_GUINT32_FORMAT "u"
#define G_MAXUINT UINT_MAX
#define G_MAXULONG ULONG_MAX
#define G_MAXUSHORT USHRT_MAX
#define G_VA_COPY va_copy
#define G_STR_DELIMITERS "_-|> <."
#define G_GNUC_INTERNAL __attribute__((visibility("hidden")))
#define G_GNUC_CONST __attribute__((__const__))
#define G_GNUC_DEPRECATED __attribute__((__deprecated__))
#define G_GNUC_FORMAT(arg_idx) __attribute__((__format_arg__ (arg_idx)))
#define G_GNUC_MALLOC __attribute__((__malloc__))
#define G_GNUC_NORETURN __attribute__((__noreturn__))
#define G_GNUC_NO_INSTRUMENT __attribute__((__no_instrument_function__))
#define G_GNUC_PURE __attribute__((__pure__))
#define G_GNUC_UNUSED __attribute__((__unused__))
#define alloca(size) __builtin_alloca (size)
#define G_GNUC_EXTENSION __extension__
#define G_STRLOC __FILE__ ":" G_STRINGIFY (__LINE__)
#define G_STATIC_PRIVATE_INIT { 0 }
#define G_ONCE_INIT { G_ONCE_STATUS_NOTCALLED, NULL }
#define G_STATIC_REC_MUTEX_INIT { G_STATIC_MUTEX_INIT }
typedef short unsigned int guint16;
typedef int gint;
typedef gint gboolean;
typedef unsigned int guint;
typedef void *gpointer;
typedef gpointer(*GThreadFunc) (gpointer);
typedef enum {
G_THREAD_PRIORITY_LOW = 0,
G_THREAD_PRIORITY_NORMAL = 1,
G_THREAD_PRIORITY_HIGH = 2,
G_THREAD_PRIORITY_URGENT = 3
} GThreadPriority;
typedef struct _GThread {
GThreadFunc func;
gpointer data;
gboolean joinable;
GThreadPriority priority;
} GThread;
typedef unsigned int guint32;
typedef guint32 GQuark;
typedef char gchar;
typedef struct _GError {
GQuark domain;
gint code;
gchar *message;
} GError;
typedef void (*GPrintFunc) (const gchar *);
typedef struct _GMemChunk GMemChunk;
typedef long unsigned int gulong;
typedef struct _GList {
gpointer data;
GList *next;
GList *prev;
} GList;
typedef struct _GMainLoop GMainLoop;
typedef struct _GHook {
gpointer data;
GHook *next;
GHook *prev;
guint ref_count;
gulong hook_id;
guint flags;
gpointer func;
GDestroyNotify destroy;
} GHook;
typedef void (*GDestroyNotify) (gpointer);
typedef struct _GHookList {
gulong seq_id;
guint hook_size:16;
guint is_setup:1;
GHook *hooks;
gpointer dummy3;
GHookFinalizeFunc finalize_hook;
gpointer dummy[2];
} GHookList;
typedef void (*GHookFinalizeFunc) (GHookList *, GHook *);
typedef struct _GQueue {
GList *head;
GList *tail;
guint length;
} GQueue;
typedef struct _GSList {
gpointer data;
GSList *next;
} GSList;
typedef struct _GString {
gchar *str;
gsize len;
gsize allocated_len;
} GString;
typedef struct _GPtrArray {
gpointer *pdata;
guint len;
} GPtrArray;
typedef struct _GRand GRand;
typedef struct _GDir GDir;
typedef struct _GRelation GRelation;
typedef struct _GOptionContext GOptionContext;
typedef struct _GKeyFile GKeyFile;
typedef struct _GPatternSpec GPatternSpec;
typedef guint32 gunichar;
typedef gchar *(*GCompletionFunc) (gpointer);
typedef gint(*GCompletionStrncmpFunc) (const gchar *, const gchar *,
gsize);
typedef struct _GCompletion {
GList *items;
GCompletionFunc func;
gchar *prefix;
GList *cache;
GCompletionStrncmpFunc strncmp_func;
} GCompletion;
typedef struct _GTimer GTimer;
typedef struct _GHashTable GHashTable;
typedef const void *gconstpointer;
typedef guint(*GHashFunc) (gconstpointer);
typedef gboolean(*GEqualFunc) (gconstpointer, gconstpointer);
typedef struct _GStaticMutex {
struct _GMutex *runtime_mutex;
union {
char pad[GLIB_LSB_PADDING_SIZE];
double dummy_double;
void *dummy_pointer;
long int dummy_long;
} static_mutex;
} GStaticMutex;
typedef union _GSystemThread {
char data[GLIB_LSB_DATA_SIZE];
double dummy_double;
void *dummy_pointer;
long int dummy_long;
} GSystemThread;
typedef struct _GStaticRecMutex {
GStaticMutex mutex;
guint depth;
GSystemThread owner;
} GStaticRecMutex;
typedef struct _GMarkupParseContext GMarkupParseContext;
typedef struct _GData GData;
typedef enum {
G_IO_STATUS_ERROR = 0,
G_IO_STATUS_NORMAL = 1,
G_IO_STATUS_EOF = 2,
G_IO_STATUS_AGAIN = 3
} GIOStatus;
typedef struct _GIOChannel {
guint ref_count;
GIOFuncs *funcs;
gchar *encoding;
GIConv read_cd;
GIConv write_cd;
gchar *line_term;
guint line_term_len;
gsize buf_size;
GString *read_buf;
GString *encoded_read_buf;
GString *write_buf;
gchar partial_write_buf[6];
guint use_buffer:1;
guint do_encode:1;
guint close_on_unref:1;
guint is_readable:1;
guint is_writeable:1;
guint is_seekable:1;
gpointer reserved1;
gpointer reserved2;
} GIOChannel;
typedef enum {
G_SEEK_CUR = 0,
G_SEEK_SET = 1,
G_SEEK_END = 2
} GSeekType;
typedef struct _GSource {
gpointer callback_data;
GSourceCallbackFuncs *callback_funcs;
GSourceFuncs *source_funcs;
guint ref_count;
GMainContext *context;
gint priority;
guint flags;
guint source_id;
GSList *poll_fds;
GSource *prev;
GSource *next;
gpointer reserved1;
gpointer reserved2;
} GSource;
typedef gboolean(*GSourceFunc) (gpointer);
typedef struct _GSourceCallbackFuncs {
void (*ref) (gpointer);
void (*unref) (gpointer);
void (*get) (gpointer, GSource *, GSourceFunc *, gpointer *);
} GSourceCallbackFuncs;
typedef void (*GSourceDummyMarshal) (void);
typedef struct _GSourceFuncs {
gboolean(*prepare) (GSource *, gint *);
gboolean(*check) (GSource *);
gboolean(*dispatch) (GSource *, GSourceFunc, gpointer);
void (*finalize) (GSource *);
GSourceFunc closure_callback;
GSourceDummyMarshal closure_marshal;
} GSourceFuncs;
typedef struct _GMainContext GMainContext;
typedef enum {
G_IO_IN = 1,
G_IO_OUT = 4,
G_IO_PRI = 2,
G_IO_ERR = 8,
G_IO_HUP = 16,
G_IO_NVAL = 32
} GIOCondition;
typedef enum {
G_IO_FLAG_APPEND = 1,
G_IO_FLAG_NONBLOCK = 2,
G_IO_FLAG_IS_READABLE = 4,
G_IO_FLAG_IS_WRITEABLE = 8,
G_IO_FLAG_IS_SEEKABLE = 16,
G_IO_FLAG_MASK = 31,
G_IO_FLAG_GET_MASK = 31,
G_IO_FLAG_SET_MASK = 3
} GIOFlags;
typedef struct _GIOFuncs {
GIOStatus(*io_read) (GIOChannel *, gchar *, gsize, gsize *,
GError * *);
GIOStatus(*io_write) (GIOChannel *, const gchar *, gsize, gsize *,
GError * *);
GIOStatus(*io_seek) (GIOChannel *, gint64, GSeekType, GError * *);
GIOStatus(*io_close) (GIOChannel *, GError * *);
GSource *(*io_create_watch) (GIOChannel *, GIOCondition);
void (*io_free) (GIOChannel *);
GIOStatus(*io_set_flags) (GIOChannel *, GIOFlags, GError * *);
GIOFlags(*io_get_flags) (GIOChannel *);
} GIOFuncs;
typedef struct _GIConv *GIConv;
typedef struct _GOptionGroup GOptionGroup;
typedef enum {
G_SPAWN_LEAVE_DESCRIPTORS_OPEN = 1,
G_SPAWN_DO_NOT_REAP_CHILD = 2,
G_SPAWN_SEARCH_PATH = 4,
G_SPAWN_STDOUT_TO_DEV_NULL = 8,
G_SPAWN_STDERR_TO_DEV_NULL = 16,
G_SPAWN_CHILD_INHERITS_STDIN = 32,
G_SPAWN_FILE_AND_ARGV_ZERO = 64
} GSpawnFlags;
typedef void (*GSpawnChildSetupFunc) (gpointer);
typedef int GPid;
typedef void (*GFunc) (gpointer, gpointer);
typedef struct _GThreadPool {
GFunc func;
gpointer user_data;
gboolean exclusive;
} GThreadPool;
typedef struct _GDate {
guint julian_days:32;
guint julian:1;
guint dmy:1;
guint day:6;
guint month:4;
guint year:16;
} GDate;
typedef enum {
G_DATE_BAD_MONTH = 0,
G_DATE_JANUARY = 1,
G_DATE_FEBRUARY = 2,
G_DATE_MARCH = 3,
G_DATE_APRIL = 4,
G_DATE_MAY = 5,
G_DATE_JUNE = 6,
G_DATE_JULY = 7,
G_DATE_AUGUST = 8,
G_DATE_SEPTEMBER = 9,
G_DATE_OCTOBER = 10,
G_DATE_NOVEMBER = 11,
G_DATE_DECEMBER = 12
} GDateMonth;
typedef struct _GAsyncQueue GAsyncQueue;
typedef short unsigned int gushort;
typedef struct _GPollFD {
gint fd;
gushort events;
gushort revents;
} GPollFD;
typedef double gdouble;
typedef struct _GTree GTree;
typedef gint(*GCompareDataFunc) (gconstpointer, gconstpointer, gpointer);
typedef unsigned char guint8;
typedef guint16 GDateYear;
typedef struct _GCache GCache;
typedef void (*GHFunc) (gpointer, gpointer, gpointer);
typedef struct _GScannerConfig {
gchar *cset_skip_characters;
gchar *cset_identifier_first;
gchar *cset_identifier_nth;
gchar *cpair_comment_single;
guint case_sensitive:1;
guint skip_comment_multi:1;
guint skip_comment_single:1;
guint scan_comment_multi:1;
guint scan_identifier:1;
guint scan_identifier_1char:1;
guint scan_identifier_NULL:1;
guint scan_symbols:1;
guint scan_binary:1;
guint scan_octal:1;
guint scan_float:1;
guint scan_hex:1;
guint scan_hex_dollar:1;
guint scan_string_sq:1;
guint scan_string_dq:1;
guint numbers_2_int:1;
guint int_2_float:1;
guint identifier_2_string:1;
guint char_2_token:1;
guint symbol_2_token:1;
guint scope_0_fallback:1;
guint store_int64:1;
guint padding_dummy;
} GScannerConfig;
typedef enum {
G_TOKEN_EOF = 0,
G_TOKEN_LEFT_PAREN = 40,
G_TOKEN_RIGHT_PAREN = 41,
G_TOKEN_LEFT_CURLY = 123,
G_TOKEN_RIGHT_CURLY = 125,
G_TOKEN_LEFT_BRACE = 91,
G_TOKEN_RIGHT_BRACE = 93,
G_TOKEN_EQUAL_SIGN = 61,
G_TOKEN_COMMA = 44,
G_TOKEN_NONE = 256,
G_TOKEN_ERROR = 257,
G_TOKEN_CHAR = 258,
G_TOKEN_BINARY = 259,
G_TOKEN_OCTAL = 260,
G_TOKEN_INT = 261,
G_TOKEN_HEX = 262,
G_TOKEN_FLOAT = 263,
G_TOKEN_STRING = 264,
G_TOKEN_SYMBOL = 265,
G_TOKEN_IDENTIFIER = 266,
G_TOKEN_IDENTIFIER_NULL = 267,
G_TOKEN_COMMENT_SINGLE = 268,
G_TOKEN_COMMENT_MULTI = 269,
G_TOKEN_LAST = 270
} GTokenType;
typedef unsigned char guchar;
typedef union _GTokenValue {
gpointer v_symbol;
gchar *v_identifier;
gulong v_binary;
gulong v_octal;
gulong v_int;
guint64 v_int64;
gdouble v_float;
gulong v_hex;
gchar *v_string;
gchar *v_comment;
guchar v_char;
guint v_error;
} GTokenValue;
typedef struct _GScanner {
gpointer user_data;
guint max_parse_errors;
guint parse_errors;
const gchar *input_name;
GData *qdata;
GScannerConfig *config;
GTokenType token;
GTokenValue value;
guint line;
guint position;
GTokenType next_token;
GTokenValue next_value;
guint next_line;
guint next_position;
GHashTable *symbol_table;
gint input_fd;
const gchar *text;
const gchar *text_end;
gchar *buffer;
guint scope_id;
GScannerMsgFunc msg_handler;
} GScanner;
typedef void (*GScannerMsgFunc) (GScanner *, gchar *, gboolean);
typedef struct _GByteArray {
guint8 *data;
guint len;
} GByteArray;
typedef enum {
G_KEY_FILE_NONE = 0,
G_KEY_FILE_KEEP_COMMENTS = 1,
G_KEY_FILE_KEEP_TRANSLATIONS = 2
} GKeyFileFlags;
typedef struct _GTrashStack {
GTrashStack *next;
} GTrashStack;
typedef guint16 gunichar2;
typedef long int glong;
typedef struct _GArray {
gchar *data;
guint len;
} GArray;
typedef struct _GNode {
gpointer data;
GNode *next;
GNode *prev;
GNode *parent;
GNode *children;
} GNode;
typedef gboolean(*GHRFunc) (gpointer, gpointer, gpointer);
typedef gint(*GCompareFunc) (gconstpointer, gconstpointer);
typedef int gint32;
typedef gint32 GTime;
typedef gint(*GPollFunc) (GPollFD *, guint, gint);
typedef guint8 GDateDay;
typedef enum {
G_UNICODE_BREAK_MANDATORY = 0,
G_UNICODE_BREAK_CARRIAGE_RETURN = 1,
G_UNICODE_BREAK_LINE_FEED = 2,
G_UNICODE_BREAK_COMBINING_MARK = 3,
G_UNICODE_BREAK_SURROGATE = 4,
G_UNICODE_BREAK_ZERO_WIDTH_SPACE = 5,
G_UNICODE_BREAK_INSEPARABLE = 6,
G_UNICODE_BREAK_NON_BREAKING_GLUE = 7,
G_UNICODE_BREAK_CONTINGENT = 8,
G_UNICODE_BREAK_SPACE = 9,
G_UNICODE_BREAK_AFTER = 10,
G_UNICODE_BREAK_BEFORE = 11,
G_UNICODE_BREAK_BEFORE_AND_AFTER = 12,
G_UNICODE_BREAK_HYPHEN = 13,
G_UNICODE_BREAK_NON_STARTER = 14,
G_UNICODE_BREAK_OPEN_PUNCTUATION = 15,
G_UNICODE_BREAK_CLOSE_PUNCTUATION = 16,
G_UNICODE_BREAK_QUOTATION = 17,
G_UNICODE_BREAK_EXCLAMATION = 18,
G_UNICODE_BREAK_IDEOGRAPHIC = 19,
G_UNICODE_BREAK_NUMERIC = 20,
G_UNICODE_BREAK_INFIX_SEPARATOR = 21,
G_UNICODE_BREAK_SYMBOL = 22,
G_UNICODE_BREAK_ALPHABETIC = 23,
G_UNICODE_BREAK_PREFIX = 24,
G_UNICODE_BREAK_POSTFIX = 25,
G_UNICODE_BREAK_COMPLEX_CONTEXT = 26,
G_UNICODE_BREAK_AMBIGUOUS = 27,
G_UNICODE_BREAK_UNKNOWN = 28,
G_UNICODE_BREAK_NEXT_LINE = 29,
G_UNICODE_BREAK_WORD_JOINER = 30
} GUnicodeBreakType;
typedef struct _GStringChunk GStringChunk;
typedef struct _GCond GCond;
typedef struct _GStaticRWLock {
GStaticMutex mutex;
GCond *read_cond;
GCond *write_cond;
guint read_counter;
gboolean have_writer;
guint want_to_read;
guint want_to_write;
} GStaticRWLock;
typedef void (*GChildWatchFunc) (GPid, gint, gpointer);
typedef struct _GTimeVal {
glong tv_sec;
glong tv_usec;
} GTimeVal;
typedef enum {
G_LOG_FLAG_RECURSION = 1,
G_LOG_FLAG_FATAL = 2,
G_LOG_LEVEL_ERROR = 4,
G_LOG_LEVEL_CRITICAL = 8,
G_LOG_LEVEL_WARNING = 16,
G_LOG_LEVEL_MESSAGE = 32,
G_LOG_LEVEL_INFO = 64,
G_LOG_LEVEL_DEBUG = 128,
G_LOG_LEVEL_MASK = -4
} GLogLevelFlags;
typedef enum {
G_DATE_BAD_WEEKDAY = 0,
G_DATE_MONDAY = 1,
G_DATE_TUESDAY = 2,
G_DATE_WEDNESDAY = 3,
G_DATE_THURSDAY = 4,
G_DATE_FRIDAY = 5,
G_DATE_SATURDAY = 6,
G_DATE_SUNDAY = 7
} GDateWeekday;
typedef enum {
G_IN_ORDER = 0,
G_PRE_ORDER = 1,
G_POST_ORDER = 2,
G_LEVEL_ORDER = 3
} GTraverseType;
typedef enum {
G_TRAVERSE_LEAVES = 1,
G_TRAVERSE_NON_LEAVES = 2,
G_TRAVERSE_ALL = 3,
G_TRAVERSE_MASK = 3,
G_TRAVERSE_LEAFS = 1,
G_TRAVERSE_NON_LEAFS = 2
} GTraverseFlags;
typedef struct _GMarkupParser {
void (*start_element) (GMarkupParseContext *, const gchar *,
const gchar * *, const gchar * *, gpointer,
GError * *);
void (*end_element) (GMarkupParseContext *, const gchar *, gpointer,
GError * *);
void (*text) (GMarkupParseContext *, const gchar *, gsize, gpointer,
GError * *);
void (*passthrough) (GMarkupParseContext *, const gchar *, gsize,
gpointer, GError * *);
void (*error) (GMarkupParseContext *, GError *, gpointer);
} GMarkupParser;
typedef enum {
G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG = 1
} GMarkupParseFlags;
typedef gboolean(*GHookCheckMarshaller) (GHook *, gpointer);
typedef gboolean(*GNodeTraverseFunc) (GNode *, gpointer);
typedef enum {
G_NORMALIZE_DEFAULT = 0,
G_NORMALIZE_NFD = 0,
G_NORMALIZE_DEFAULT_COMPOSE = 1,
G_NORMALIZE_NFC = 1,
G_NORMALIZE_ALL = 2,
G_NORMALIZE_NFKD = 2,
G_NORMALIZE_ALL_COMPOSE = 3,
G_NORMALIZE_NFKC = 3
} GNormalizeMode;
typedef struct _GMutex GMutex;
typedef struct _GStaticPrivate {
guint index;
} GStaticPrivate;
typedef enum {
G_FILE_ERROR_EXIST = 0,
G_FILE_ERROR_ISDIR = 1,
G_FILE_ERROR_ACCES = 2,
G_FILE_ERROR_NAMETOOLONG = 3,
G_FILE_ERROR_NOENT = 4,
G_FILE_ERROR_NOTDIR = 5,
G_FILE_ERROR_NXIO = 6,
G_FILE_ERROR_NODEV = 7,
G_FILE_ERROR_ROFS = 8,
G_FILE_ERROR_TXTBSY = 9,
G_FILE_ERROR_FAULT = 10,
G_FILE_ERROR_LOOP = 11,
G_FILE_ERROR_NOSPC = 12,
G_FILE_ERROR_NOMEM = 13,
G_FILE_ERROR_MFILE = 14,
G_FILE_ERROR_NFILE = 15,
G_FILE_ERROR_BADF = 16,
G_FILE_ERROR_INVAL = 17,
G_FILE_ERROR_PIPE = 18,
G_FILE_ERROR_AGAIN = 19,
G_FILE_ERROR_INTR = 20,
G_FILE_ERROR_IO = 21,
G_FILE_ERROR_PERM = 22,
G_FILE_ERROR_NOSYS = 23,
G_FILE_ERROR_FAILED = 24
} GFileError;
typedef void (*GDataForeachFunc) (GQuark, gpointer, gpointer);
typedef struct _GMemVTable {
gpointer(*malloc) (gsize);
gpointer(*realloc) (gpointer, gsize);
void (*free) (gpointer);
gpointer(*calloc) (gsize, gsize);
gpointer(*try_malloc) (gsize);
gpointer(*try_realloc) (gpointer, gsize);
} GMemVTable;
typedef enum {
G_OPTION_ARG_NONE = 0,
G_OPTION_ARG_STRING = 1,
G_OPTION_ARG_INT = 2,
G_OPTION_ARG_CALLBACK = 3,
G_OPTION_ARG_FILENAME = 4,
G_OPTION_ARG_STRING_ARRAY = 5,
G_OPTION_ARG_FILENAME_ARRAY = 6
} GOptionArg;
typedef struct _GOptionEntry {
const gchar *long_name;
gchar short_name;
gint flags;
GOptionArg arg;
gpointer arg_data;
const gchar *description;
const gchar *arg_description;
} GOptionEntry;
typedef enum {
G_UNICODE_CONTROL = 0,
G_UNICODE_FORMAT = 1,
G_UNICODE_UNASSIGNED = 2,
G_UNICODE_PRIVATE_USE = 3,
G_UNICODE_SURROGATE = 4,
G_UNICODE_LOWERCASE_LETTER = 5,
G_UNICODE_MODIFIER_LETTER = 6,
G_UNICODE_OTHER_LETTER = 7,
G_UNICODE_TITLECASE_LETTER = 8,
G_UNICODE_UPPERCASE_LETTER = 9,
G_UNICODE_COMBINING_MARK = 10,
G_UNICODE_ENCLOSING_MARK = 11,
G_UNICODE_NON_SPACING_MARK = 12,
G_UNICODE_DECIMAL_NUMBER = 13,
G_UNICODE_LETTER_NUMBER = 14,
G_UNICODE_OTHER_NUMBER = 15,
G_UNICODE_CONNECT_PUNCTUATION = 16,
G_UNICODE_DASH_PUNCTUATION = 17,
G_UNICODE_CLOSE_PUNCTUATION = 18,
G_UNICODE_FINAL_PUNCTUATION = 19,
G_UNICODE_INITIAL_PUNCTUATION = 20,
G_UNICODE_OTHER_PUNCTUATION = 21,
G_UNICODE_OPEN_PUNCTUATION = 22,
G_UNICODE_CURRENCY_SYMBOL = 23,
G_UNICODE_MODIFIER_SYMBOL = 24,
G_UNICODE_MATH_SYMBOL = 25,
G_UNICODE_OTHER_SYMBOL = 26,
G_UNICODE_LINE_SEPARATOR = 27,
G_UNICODE_PARAGRAPH_SEPARATOR = 28,
G_UNICODE_SPACE_SEPARATOR = 29
} GUnicodeType;
typedef void (*GLogFunc) (const gchar *, GLogLevelFlags, const gchar *,
gpointer);
typedef struct _GAllocator GAllocator;
typedef const gchar *(*GTranslateFunc) (const gchar *, gpointer);
typedef gboolean(*GOptionParseFunc) (GOptionContext *, GOptionGroup *,
gpointer, GError * *);
typedef void (*GVoidFunc) (void);
typedef gboolean(*GHookFindFunc) (GHook *, gpointer);
typedef struct _GTuples {
guint len;
} GTuples;
typedef gpointer(*GCopyFunc) (gconstpointer, gpointer);
typedef void (*GOptionErrorFunc) (GOptionContext *, GOptionGroup *,
gpointer, GError * *);
typedef gpointer(*GCacheNewFunc) (gpointer);
typedef void (*GCacheDestroyFunc) (gpointer);
typedef gpointer(*GCacheDupFunc) (gpointer);
typedef enum {
G_FILE_TEST_IS_REGULAR = 1,
G_FILE_TEST_IS_SYMLINK = 2,
G_FILE_TEST_IS_DIR = 4,
G_FILE_TEST_IS_EXECUTABLE = 8,
G_FILE_TEST_EXISTS = 16
} GFileTest;
typedef enum {
G_ONCE_STATUS_NOTCALLED = 0,
G_ONCE_STATUS_PROGRESS = 1,
G_ONCE_STATUS_READY = 2
} GOnceStatus;
typedef struct _GOnce {
volatile GOnceStatus status;
volatile gpointer retval;
} GOnce;
typedef gboolean(*GTraverseFunc) (gpointer, gpointer, gpointer);
typedef gint(*GHookCompareFunc) (GHook *, GHook *);
typedef void (*GNodeForeachFunc) (GNode *, gpointer);
typedef struct _GDebugKey {
gchar *key;
guint value;
} GDebugKey;
typedef struct _GPrivate GPrivate;
typedef struct _GThreadFunctions {
GMutex *(*mutex_new) (void);
void (*mutex_lock) (GMutex *);
gboolean(*mutex_trylock) (GMutex *);
void (*mutex_unlock) (GMutex *);
void (*mutex_free) (GMutex *);
GCond *(*cond_new) (void);
void (*cond_signal) (GCond *);
void (*cond_broadcast) (GCond *);
void (*cond_wait) (GCond *, GMutex *);
gboolean(*cond_timed_wait) (GCond *, GMutex *, GTimeVal *);
void (*cond_free) (GCond *);
GPrivate *(*private_new) (GDestroyNotify);
gpointer(*private_get) (GPrivate *);
void (*private_set) (GPrivate *, gpointer);
void (*thread_create) (GThreadFunc, gpointer, gulong, gboolean,
gboolean, GThreadPriority, gpointer,
GError * *);
void (*thread_yield) (void);
void (*thread_join) (gpointer);
void (*thread_exit) (void);
void (*thread_set_priority) (gpointer, GThreadPriority);
void (*thread_self) (gpointer);
gboolean(*thread_equal) (gpointer, gpointer);
} GThreadFunctions;
typedef void (*GHookMarshaller) (GHook *, gpointer);
typedef enum {
G_IO_CHANNEL_ERROR_FBIG = 0,
G_IO_CHANNEL_ERROR_INVAL = 1,
G_IO_CHANNEL_ERROR_IO = 2,
G_IO_CHANNEL_ERROR_ISDIR = 3,
G_IO_CHANNEL_ERROR_NOSPC = 4,
G_IO_CHANNEL_ERROR_NXIO = 5,
G_IO_CHANNEL_ERROR_OVERFLOW = 6,
G_IO_CHANNEL_ERROR_PIPE = 7,
G_IO_CHANNEL_ERROR_FAILED = 8
} GIOChannelError;
typedef gboolean(*GIOFunc) (GIOChannel *, GIOCondition, gpointer);
typedef void (*GFreeFunc) (gpointer);
typedef gboolean(*GHookCheckFunc) (gpointer);
typedef void (*GHookFunc) (gpointer);
typedef short int gint16;
typedef enum {
G_DATE_DAY = 0,
G_DATE_MONTH = 1,
G_DATE_YEAR = 2
} GDateDMY;
typedef signed char gint8;
typedef enum {
G_MARKUP_ERROR_BAD_UTF8 = 0,
G_MARKUP_ERROR_EMPTY = 1,
G_MARKUP_ERROR_PARSE = 2,
G_MARKUP_ERROR_UNKNOWN_ELEMENT = 3,
G_MARKUP_ERROR_UNKNOWN_ATTRIBUTE = 4,
G_MARKUP_ERROR_INVALID_CONTENT = 5
} GMarkupError;
typedef enum {
G_IO_ERROR_NONE = 0,
G_IO_ERROR_AGAIN = 1,
G_IO_ERROR_INVAL = 2,
G_IO_ERROR_UNKNOWN = 3
} GIOError;
typedef gboolean(*GOptionArgFunc) (const gchar *, const gchar *, gpointer,
GError * *);
typedef enum {
G_OPTION_FLAG_HIDDEN = 1 << 0,
G_OPTION_FLAG_IN_MAIN = 1 << 1,
G_OPTION_FLAG_REVERSE = 1 << 2
} GOptionFlags;
typedef enum {
G_CONVERT_ERROR_NO_CONVERSION,
G_CONVERT_ERROR_ILLEGAL_SEQUENCE,
G_CONVERT_ERROR_FAILED,
G_CONVERT_ERROR_PARTIAL_INPUT,
G_CONVERT_ERROR_BAD_URI,
G_CONVERT_ERROR_NOT_ABSOLUTE_PATH
} GConvertError;
typedef enum {
G_ERR_UNKNOWN,
G_ERR_UNEXP_EOF,
G_ERR_UNEXP_EOF_IN_STRING,
G_ERR_UNEXP_EOF_IN_COMMENT,
G_ERR_NON_DIGIT_IN_CONST,
G_ERR_DIGIT_RADIX,
G_ERR_FLOAT_RADIX,
G_ERR_FLOAT_MALFORMED
} GErrorType;
typedef enum {
G_KEY_FILE_ERROR_UNKNOWN_ENCODING,
G_KEY_FILE_ERROR_PARSE,
G_KEY_FILE_ERROR_NOT_FOUND,
G_KEY_FILE_ERROR_KEY_NOT_FOUND,
G_KEY_FILE_ERROR_GROUP_NOT_FOUND,
G_KEY_FILE_ERROR_INVALID_VALUE
} GKeyFileError;
typedef enum {
G_SPAWN_ERROR_FORK,
G_SPAWN_ERROR_READ,
G_SPAWN_ERROR_CHDIR,
G_SPAWN_ERROR_ACCES,
G_SPAWN_ERROR_PERM,
G_SPAWN_ERROR_2BIG,
G_SPAWN_ERROR_NOEXEC,
G_SPAWN_ERROR_NAMETOOLONG,
G_SPAWN_ERROR_NOENT,
G_SPAWN_ERROR_NOMEM,
G_SPAWN_ERROR_NOTDIR,
G_SPAWN_ERROR_LOOP,
G_SPAWN_ERROR_TXTBUSY,
G_SPAWN_ERROR_IO,
G_SPAWN_ERROR_NFILE,
G_SPAWN_ERROR_MFILE,
G_SPAWN_ERROR_INVAL,
G_SPAWN_ERROR_ISDIR,
G_SPAWN_ERROR_LIBBAD,
G_SPAWN_ERROR_FAILED
} GSpawnError;
typedef enum {
G_HOOK_FLAG_ACTIVE = 1 << 0,
G_HOOK_FLAG_IN_CALL = 1 << 1,
G_HOOK_FLAG_MASK = 0x0f
} GHookFlagMask;
typedef enum {
G_THREAD_ERROR_AGAIN
} GThreadError;
typedef enum {
G_OPTION_ERROR_UNKNOWN_OPTION,
G_OPTION_ERROR_BAD_VALUE,
G_OPTION_ERROR_FAILED
} GOptionError;
typedef enum {
G_ASCII_ALNUM = 1 << 0,
G_ASCII_ALPHA = 1 << 1,
G_ASCII_CNTRL = 1 << 2,
G_ASCII_DIGIT = 1 << 3,
G_ASCII_GRAPH = 1 << 4,
G_ASCII_LOWER = 1 << 5,
G_ASCII_PRINT = 1 << 6,
G_ASCII_PUNCT = 1 << 7,
G_ASCII_SPACE = 1 << 8,
G_ASCII_UPPER = 1 << 9,
G_ASCII_XDIGIT = 1 << 10
} GAsciiType;
typedef enum {
G_SHELL_ERROR_BAD_QUOTING,
G_SHELL_ERROR_EMPTY_STRING,
G_SHELL_ERROR_FAILED
} GShellError;
typedef struct _GMappedFile GMappedFile;
extern void g_allocator_free(GAllocator * allocator);
extern GAllocator *g_allocator_new(const gchar * name, guint n_preallocs);
extern GArray *g_array_append_vals(GArray * array, gconstpointer data,
guint len);
extern gchar *g_array_free(GArray * array, gboolean free_segment);
extern GArray *g_array_insert_vals(GArray * array, guint index_,
gconstpointer data, guint len);
extern GArray *g_array_new(gboolean zero_terminated, gboolean clear_,
guint element_size);
extern GArray *g_array_prepend_vals(GArray * array, gconstpointer data,
guint len);
extern GArray *g_array_remove_index(GArray * array, guint index_);
extern GArray *g_array_remove_index_fast(GArray * array, guint index_);
extern GArray *g_array_remove_range(GArray * array, guint index_,
guint length);
extern GArray *g_array_set_size(GArray * array, guint length);
extern GArray *g_array_sized_new(gboolean zero_terminated, gboolean clear_,
guint element_size, guint reserved_size);
extern void g_array_sort(GArray * array, GCompareFunc compare_func);
extern void g_array_sort_with_data(GArray * array,
GCompareDataFunc compare_func,
gpointer user_data);
extern gint g_ascii_digit_value(gchar c);
extern gchar *g_ascii_dtostr(gchar * buffer, gint buf_len, gdouble d);
extern gchar *g_ascii_formatd(gchar * buffer, gint buf_len,
const gchar * format, gdouble d);
extern gint g_ascii_strcasecmp(const gchar * s1, const gchar * s2);
extern gchar *g_ascii_strdown(const gchar * str, gssize len);
extern gint g_ascii_strncasecmp(const gchar * s1, const gchar * s2,
gsize n);
extern gdouble g_ascii_strtod(const gchar * nptr, gchar * *endptr);
extern guint64 g_ascii_strtoull(const gchar * nptr, gchar * *endptr,
guint base);
extern gchar *g_ascii_strup(const gchar * str, gssize len);
extern const guint16 *const g_ascii_table;
extern gchar g_ascii_tolower(gchar c);
extern gchar g_ascii_toupper(gchar c);
extern gint g_ascii_xdigit_value(gchar c);
extern void g_assert_warning(const char *log_domain, const char *file,
const int line, const char *pretty_function,
const char *expression);
extern gint g_async_queue_length(GAsyncQueue * queue);
extern gint g_async_queue_length_unlocked(GAsyncQueue * queue);
extern void g_async_queue_lock(GAsyncQueue * queue);
extern GAsyncQueue *g_async_queue_new(void);
extern gpointer g_async_queue_pop(GAsyncQueue * queue);
extern gpointer g_async_queue_pop_unlocked(GAsyncQueue * queue);
extern void g_async_queue_push(GAsyncQueue * queue, gpointer data);
extern void g_async_queue_push_unlocked(GAsyncQueue * queue,
gpointer data);
extern GAsyncQueue *g_async_queue_ref(GAsyncQueue * queue);
extern gpointer g_async_queue_timed_pop(GAsyncQueue * queue,
GTimeVal * end_time);
extern gpointer g_async_queue_timed_pop_unlocked(GAsyncQueue * queue,
GTimeVal * end_time);
extern gpointer g_async_queue_try_pop(GAsyncQueue * queue);
extern gpointer g_async_queue_try_pop_unlocked(GAsyncQueue * queue);
extern void g_async_queue_unlock(GAsyncQueue * queue);
extern void g_async_queue_unref(GAsyncQueue * queue);
extern void g_atexit(GVoidFunc func);
extern void g_atomic_int_add(gint * volatile atomic, gint val);
extern gboolean g_atomic_int_compare_and_exchange(gint * volatile atomic,
gint oldval,
gint newval);
extern gint g_atomic_int_exchange_and_add(gint * atomic, gint val);
extern gboolean g_atomic_pointer_compare_and_exchange(gpointer *
volatile atomic,
gpointer oldval,
gpointer newval);
extern gint g_bit_nth_lsf(gulong mask, gint nth_bit);
extern gint g_bit_nth_msf(gulong mask, gint nth_bit);
extern guint g_bit_storage(gulong number);
extern void g_blow_chunks(void);
extern gchar *g_build_filename(const gchar * first_element, ...);
extern gchar *g_build_filenamev(gchar * *args);
extern gchar *g_build_path(const gchar * separator,
const gchar * first_element, ...);
extern gchar *g_build_pathv(const gchar * separator, gchar * *args);
extern GByteArray *g_byte_array_append(GByteArray * array,
const guint8 * data, guint len);
extern guint8 *g_byte_array_free(GByteArray * array,
gboolean free_segment);
extern GByteArray *g_byte_array_new(void);
extern GByteArray *g_byte_array_prepend(GByteArray * array,
const guint8 * data, guint len);
extern GByteArray *g_byte_array_remove_index(GByteArray * array,
guint index_);
extern GByteArray *g_byte_array_remove_index_fast(GByteArray * array,
guint index_);
extern GByteArray *g_byte_array_remove_range(GByteArray * array,
guint index_, guint length);
extern GByteArray *g_byte_array_set_size(GByteArray * array, guint length);
extern GByteArray *g_byte_array_sized_new(guint reserved_size);
extern void g_byte_array_sort(GByteArray * array,
GCompareFunc compare_func);
extern void g_byte_array_sort_with_data(GByteArray * array,
GCompareDataFunc compare_func,
gpointer user_data);
extern void g_cache_destroy(GCache * cache);
extern gpointer g_cache_insert(GCache * cache, gpointer key);
extern void g_cache_key_foreach(GCache * cache, GHFunc func,
gpointer user_data);
extern GCache *g_cache_new(GCacheNewFunc value_new_func,
GCacheDestroyFunc value_destroy_func,
GCacheDupFunc key_dup_func,
GCacheDestroyFunc key_destroy_func,
GHashFunc hash_key_func,
GHashFunc hash_value_func,
GEqualFunc key_equal_func);
extern void g_cache_remove(GCache * cache, gconstpointer value);
extern void g_cache_value_foreach(GCache * cache, GHFunc func,
gpointer user_data);
extern guint g_child_watch_add(GPid pid, GChildWatchFunc function,
gpointer data);
extern guint g_child_watch_add_full(gint priority, GPid pid,
GChildWatchFunc function,
gpointer data, GDestroyNotify notify);
extern GSourceFuncs g_child_watch_funcs;
extern GSource *g_child_watch_source_new(GPid pid);
extern void g_clear_error(GError * *err);
extern void g_completion_add_items(GCompletion * cmp, GList * items);
extern void g_completion_clear_items(GCompletion * cmp);
extern GList *g_completion_complete(GCompletion * cmp,
const gchar * prefix,
gchar * *new_prefix);
extern GList *g_completion_complete_utf8(GCompletion * cmp,
const gchar * prefix,
gchar * *new_prefix);
extern void g_completion_free(GCompletion * cmp);
extern GCompletion *g_completion_new(GCompletionFunc func);
extern void g_completion_remove_items(GCompletion * cmp, GList * items);
extern void g_completion_set_compare(GCompletion * cmp,
GCompletionStrncmpFunc strncmp_func);
extern gchar *g_convert(const gchar * str, gssize len,
const gchar * to_codeset,
const gchar * from_codeset, gsize * bytes_read,
gsize * bytes_written, GError * *error);
extern GQuark g_convert_error_quark(void);
extern gchar *g_convert_with_fallback(const gchar * str, gssize len,
const gchar * to_codeset,
const gchar * from_codeset,
gchar * fallback, gsize * bytes_read,
gsize * bytes_written,
GError * *error);
extern gchar *g_convert_with_iconv(const gchar * str, gssize len,
GIConv converter, gsize * bytes_read,
gsize * bytes_written, GError * *error);
extern void g_datalist_clear(GData * *datalist);
extern void g_datalist_foreach(GData * *datalist, GDataForeachFunc func,
gpointer user_data);
extern guint g_datalist_get_flags(GData * *datalist);
extern gpointer g_datalist_id_get_data(GData * *datalist, GQuark key_id);
extern gpointer g_datalist_id_remove_no_notify(GData * *datalist,
GQuark key_id);
extern void g_datalist_id_set_data_full(GData * *datalist, GQuark key_id,
gpointer data,
GDestroyNotify destroy_func);
extern void g_datalist_init(GData * *datalist);
extern void g_datalist_set_flags(GData * *datalist, guint flags);
extern void g_datalist_unset_flags(GData * *datalist, guint flags);
extern void g_dataset_destroy(gconstpointer dataset_location);
extern void g_dataset_foreach(gconstpointer dataset_location,
GDataForeachFunc func, gpointer user_data);
extern gpointer g_dataset_id_get_data(gconstpointer dataset_location,
GQuark key_id);
extern gpointer g_dataset_id_remove_no_notify(gconstpointer
dataset_location,
GQuark key_id);
extern void g_dataset_id_set_data_full(gconstpointer dataset_location,
GQuark key_id, gpointer data,
GDestroyNotify destroy_func);
extern void g_date_add_days(GDate * date, guint n_days);
extern void g_date_add_months(GDate * date, guint n_months);
extern void g_date_add_years(GDate * date, guint n_years);
extern void g_date_clamp(GDate * date, const GDate * min_date,
const GDate * max_date);
extern void g_date_clear(GDate * date, guint n_dates);
extern gint g_date_compare(const GDate * lhs, const GDate * rhs);
extern gint g_date_days_between(const GDate * date1, const GDate * date2);
extern void g_date_free(GDate * date);
extern GDateDay g_date_get_day(const GDate * date);
extern guint g_date_get_day_of_year(const GDate * date);
extern guint8 g_date_get_days_in_month(GDateMonth month, GDateYear year);
extern guint g_date_get_iso8601_week_of_year(const GDate * date);
extern guint32 g_date_get_julian(const GDate * date);
extern guint g_date_get_monday_week_of_year(const GDate * date);
extern guint8 g_date_get_monday_weeks_in_year(GDateYear year);
extern GDateMonth g_date_get_month(const GDate * date);
extern guint g_date_get_sunday_week_of_year(const GDate * date);
extern guint8 g_date_get_sunday_weeks_in_year(GDateYear year);
extern GDateWeekday g_date_get_weekday(const GDate * date);
extern GDateYear g_date_get_year(const GDate * date);
extern gboolean g_date_is_first_of_month(const GDate * date);
extern gboolean g_date_is_last_of_month(const GDate * date);
extern gboolean g_date_is_leap_year(GDateYear year);
extern GDate *g_date_new(void);
extern GDate *g_date_new_dmy(GDateDay day, GDateMonth month,
GDateYear year);
extern GDate *g_date_new_julian(guint32 julian_day);
extern void g_date_order(GDate * date1, GDate * date2);
extern void g_date_set_day(GDate * date, GDateDay day);
extern void g_date_set_dmy(GDate * date, GDateDay day, GDateMonth month,
GDateYear y);
extern void g_date_set_julian(GDate * date, guint32 julian_date);
extern void g_date_set_month(GDate * date, GDateMonth month);
extern void g_date_set_parse(GDate * date, const gchar * str);
extern void g_date_set_time(GDate * date, GTime time_);
extern void g_date_set_year(GDate * date, GDateYear year);
extern gsize g_date_strftime(gchar * s, gsize slen, const gchar * format,
const GDate * date);
extern void g_date_subtract_days(GDate * date, guint n_days);
extern void g_date_subtract_months(GDate * date, guint n_months);
extern void g_date_subtract_years(GDate * date, guint n_years);
extern void g_date_to_struct_tm(const GDate * date, struct tm *tm);
extern gboolean g_date_valid(const GDate * date);
extern gboolean g_date_valid_day(GDateDay day);
extern gboolean g_date_valid_dmy(GDateDay day, GDateMonth month,
GDateYear year);
extern gboolean g_date_valid_julian(guint32 julian_date);
extern gboolean g_date_valid_month(GDateMonth month);
extern gboolean g_date_valid_weekday(GDateWeekday weekday);
extern gboolean g_date_valid_year(GDateYear year);
extern void g_dir_close(GDir * dir);
extern GDir *g_dir_open(const gchar * path, guint flags, GError * *error);
extern const gchar *g_dir_read_name(GDir * dir);
extern void g_dir_rewind(GDir * dir);
extern gboolean g_direct_equal(gconstpointer v1, gconstpointer v2);
extern guint g_direct_hash(gconstpointer v);
extern GError *g_error_copy(const GError * error);
extern void g_error_free(GError * error);
extern gboolean g_error_matches(const GError * error, GQuark domain,
gint code);
extern GError *g_error_new(GQuark domain, gint code, const gchar * format,
...);
extern GError *g_error_new_literal(GQuark domain, gint code,
const gchar * message);
extern GFileError g_file_error_from_errno(gint err_no);
extern GQuark g_file_error_quark(void);
extern gboolean g_file_get_contents(const gchar * filename,
gchar * *contents, gsize * length,
GError * *error);
extern gint g_file_open_tmp(const gchar * tmpl, gchar * *name_used,
GError * *error);
extern gchar *g_file_read_link(const gchar * filename, GError * *error);
extern gboolean g_file_set_contents(const gchar * filename,
const gchar * contents, gssize length,
GError * *error);
extern gboolean g_file_test(const gchar * filename, GFileTest test);
extern gchar *g_filename_display_basename(const gchar * filename);
extern gchar *g_filename_display_name(const gchar * filename);
extern gchar *g_filename_from_uri(const gchar * uri, gchar * *hostname,
GError * *error);
extern gchar *g_filename_from_utf8(const gchar * utf8string, gssize len,
gsize * bytes_read,
gsize * bytes_written, GError * *error);
extern gchar *g_filename_to_uri(const gchar * filename,
const gchar * hostname, GError * *error);
extern gchar *g_filename_to_utf8(const gchar * opsysstring, gssize len,
gsize * bytes_read, gsize * bytes_written,
GError * *error);
extern gchar *g_find_program_in_path(const gchar * program);
extern void g_free(gpointer mem);
extern const gchar *g_get_application_name(void);
extern gboolean g_get_charset(const char **charset);
extern gchar *g_get_current_dir(void);
extern void g_get_current_time(GTimeVal * result);
extern gboolean g_get_filename_charsets(const gchar * **charsets);
extern const gchar *g_get_home_dir(void);
extern const gchar *g_get_host_name(void);
extern const gchar *const *g_get_language_names(void);
extern gchar *g_get_prgname(void);
extern const gchar *g_get_real_name(void);
extern const gchar *const *g_get_system_config_dirs(void);
extern const gchar *const *g_get_system_data_dirs(void);
extern const gchar *g_get_tmp_dir(void);
extern const gchar *g_get_user_cache_dir(void);
extern const gchar *g_get_user_config_dir(void);
extern const gchar *g_get_user_data_dir(void);
extern const gchar *g_get_user_name(void);
extern const gchar *g_getenv(const gchar * variable);
extern void g_hash_table_destroy(GHashTable * hash_table);
extern gpointer g_hash_table_find(GHashTable * hash_table,
GHRFunc predicate, gpointer user_data);
extern void g_hash_table_foreach(GHashTable * hash_table, GHFunc func,
gpointer user_data);
extern guint g_hash_table_foreach_remove(GHashTable * hash_table,
GHRFunc func, gpointer user_data);
extern guint g_hash_table_foreach_steal(GHashTable * hash_table,
GHRFunc func, gpointer user_data);
extern void g_hash_table_insert(GHashTable * hash_table, gpointer key,
gpointer value);
extern gpointer g_hash_table_lookup(GHashTable * hash_table,
gconstpointer key);
extern gboolean g_hash_table_lookup_extended(GHashTable * hash_table,
gconstpointer lookup_key,
gpointer * orig_key,
gpointer * value);
extern GHashTable *g_hash_table_new(GHashFunc hash_func,
GEqualFunc key_equal_func);
extern GHashTable *g_hash_table_new_full(GHashFunc hash_func,
GEqualFunc key_equal_func,
GDestroyNotify key_destroy_func,
GDestroyNotify
value_destroy_func);
extern gboolean g_hash_table_remove(GHashTable * hash_table,
gconstpointer key);
extern void g_hash_table_replace(GHashTable * hash_table, gpointer key,
gpointer value);
extern guint g_hash_table_size(GHashTable * hash_table);
extern gboolean g_hash_table_steal(GHashTable * hash_table,
gconstpointer key);
extern GHook *g_hook_alloc(GHookList * hook_list);
extern gint g_hook_compare_ids(GHook * new_hook, GHook * sibling);
extern gboolean g_hook_destroy(GHookList * hook_list, gulong hook_id);
extern void g_hook_destroy_link(GHookList * hook_list, GHook * hook);
extern GHook *g_hook_find(GHookList * hook_list, gboolean need_valids,
GHookFindFunc func, gpointer data);
extern GHook *g_hook_find_data(GHookList * hook_list, gboolean need_valids,
gpointer data);
extern GHook *g_hook_find_func(GHookList * hook_list, gboolean need_valids,
gpointer func);
extern GHook *g_hook_find_func_data(GHookList * hook_list,
gboolean need_valids, gpointer func,
gpointer data);
extern GHook *g_hook_first_valid(GHookList * hook_list,
gboolean may_be_in_call);
extern void g_hook_free(GHookList * hook_list, GHook * hook);
extern GHook *g_hook_get(GHookList * hook_list, gulong hook_id);
extern void g_hook_insert_before(GHookList * hook_list, GHook * sibling,
GHook * hook);
extern void g_hook_insert_sorted(GHookList * hook_list, GHook * hook,
GHookCompareFunc func);
extern void g_hook_list_clear(GHookList * hook_list);
extern void g_hook_list_init(GHookList * hook_list, guint hook_size);
extern void g_hook_list_invoke(GHookList * hook_list,
gboolean may_recurse);
extern void g_hook_list_invoke_check(GHookList * hook_list,
gboolean may_recurse);
extern void g_hook_list_marshal(GHookList * hook_list,
gboolean may_recurse,
GHookMarshaller marshaller,
gpointer marshal_data);
extern void g_hook_list_marshal_check(GHookList * hook_list,
gboolean may_recurse,
GHookCheckMarshaller marshaller,
gpointer marshal_data);
extern GHook *g_hook_next_valid(GHookList * hook_list, GHook * hook,
gboolean may_be_in_call);
extern void g_hook_prepend(GHookList * hook_list, GHook * hook);
extern GHook *g_hook_ref(GHookList * hook_list, GHook * hook);
extern void g_hook_unref(GHookList * hook_list, GHook * hook);
extern size_t g_iconv(GIConv converter, gchar * *inbuf,
gsize * inbytes_left, gchar * *outbuf,
gsize * outbytes_left);
extern gint g_iconv_close(GIConv converter);
extern GIConv g_iconv_open(const gchar * to_codeset,
const gchar * from_codeset);
extern guint g_idle_add(GSourceFunc function, gpointer data);
extern guint g_idle_add_full(gint priority, GSourceFunc function,
gpointer data, GDestroyNotify notify);
extern GSourceFuncs g_idle_funcs;
extern gboolean g_idle_remove_by_data(gpointer data);
extern GSource *g_idle_source_new(void);
extern gboolean g_int_equal(gconstpointer v1, gconstpointer v2);
extern guint g_int_hash(gconstpointer v);
extern guint g_io_add_watch(GIOChannel * channel, GIOCondition condition,
GIOFunc func, gpointer user_data);
extern guint g_io_add_watch_full(GIOChannel * channel, gint priority,
GIOCondition condition, GIOFunc func,
gpointer user_data,
GDestroyNotify notify);
extern GIOChannelError g_io_channel_error_from_errno(gint en);
extern GQuark g_io_channel_error_quark(void);
extern GIOStatus g_io_channel_flush(GIOChannel * channel, GError * *error);
extern GIOCondition g_io_channel_get_buffer_condition(GIOChannel *
channel);
extern gsize g_io_channel_get_buffer_size(GIOChannel * channel);
extern gboolean g_io_channel_get_buffered(GIOChannel * channel);
extern gboolean g_io_channel_get_close_on_unref(GIOChannel * channel);
extern const gchar *g_io_channel_get_encoding(GIOChannel * channel);
extern GIOFlags g_io_channel_get_flags(GIOChannel * channel);
extern const gchar *g_io_channel_get_line_term(GIOChannel * channel,
gint * length);
extern void g_io_channel_init(GIOChannel * channel);
extern GIOChannel *g_io_channel_new_file(const gchar * filename,
const gchar * mode,
GError * *error);
extern GIOStatus g_io_channel_read_chars(GIOChannel * channel, gchar * buf,
gsize count, gsize * bytes_read,
GError * *error);
extern GIOStatus g_io_channel_read_line(GIOChannel * channel,
gchar * *str_return,
gsize * length,
gsize * terminator_pos,
GError * *error);
extern GIOStatus g_io_channel_read_line_string(GIOChannel * channel,
GString * buffer,
gsize * terminator_pos,
GError * *error);
extern GIOStatus g_io_channel_read_to_end(GIOChannel * channel,
gchar * *str_return,
gsize * length, GError * *error);
extern GIOStatus g_io_channel_read_unichar(GIOChannel * channel,
gunichar * thechar,
GError * *error);
extern GIOChannel *g_io_channel_ref(GIOChannel * channel);
extern GIOStatus g_io_channel_seek_position(GIOChannel * channel,
gint64 offset, GSeekType type,
GError * *error);
extern void g_io_channel_set_buffer_size(GIOChannel * channel, gsize size);
extern void g_io_channel_set_buffered(GIOChannel * channel,
gboolean buffered);
extern void g_io_channel_set_close_on_unref(GIOChannel * channel,
gboolean do_close);
extern GIOStatus g_io_channel_set_encoding(GIOChannel * channel,
const gchar * encoding,
GError * *error);
extern GIOStatus g_io_channel_set_flags(GIOChannel * channel,
GIOFlags flags, GError * *error);
extern void g_io_channel_set_line_term(GIOChannel * channel,
const gchar * line_term,
gint length);
extern GIOStatus g_io_channel_shutdown(GIOChannel * channel,
gboolean flush, GError * *err);
extern gint g_io_channel_unix_get_fd(GIOChannel * channel);
extern GIOChannel *g_io_channel_unix_new(gint fd);
extern void g_io_channel_unref(GIOChannel * channel);
extern GIOStatus g_io_channel_write_chars(GIOChannel * channel,
const gchar * buf, gssize count,
gsize * bytes_written,
GError * *error);
extern GIOStatus g_io_channel_write_unichar(GIOChannel * channel,
gunichar thechar,
GError * *error);
extern GSource *g_io_create_watch(GIOChannel * channel,
GIOCondition condition);
extern GSourceFuncs g_io_watch_funcs;
extern GQuark g_key_file_error_quark(void);
extern void g_key_file_free(GKeyFile * key_file);
extern gboolean g_key_file_get_boolean(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern gboolean *g_key_file_get_boolean_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
gsize * length,
GError * *error);
extern gchar *g_key_file_get_comment(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern gchar **g_key_file_get_groups(GKeyFile * key_file, gsize * length);
extern gint g_key_file_get_integer(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern gint *g_key_file_get_integer_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, gsize * length,
GError * *error);
extern gchar **g_key_file_get_keys(GKeyFile * key_file,
const gchar * group_name,
gsize * length, GError * *error);
extern gchar *g_key_file_get_locale_string(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
const gchar * locale,
GError * *error);
extern gchar **g_key_file_get_locale_string_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
const gchar * locale,
gsize * length,
GError * *error);
extern gchar *g_key_file_get_start_group(GKeyFile * key_file);
extern gchar *g_key_file_get_string(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern gchar **g_key_file_get_string_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
gsize * length, GError * *error);
extern gchar *g_key_file_get_value(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern gboolean g_key_file_has_group(GKeyFile * key_file,
const gchar * group_name);
extern gboolean g_key_file_has_key(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern gboolean g_key_file_load_from_data(GKeyFile * key_file,
const gchar * data, gsize length,
GKeyFileFlags flags,
GError * *error);
extern gboolean g_key_file_load_from_data_dirs(GKeyFile * key_file,
const gchar * file,
gchar * *full_path,
GKeyFileFlags flags,
GError * *error);
extern gboolean g_key_file_load_from_file(GKeyFile * key_file,
const gchar * file,
GKeyFileFlags flags,
GError * *error);
extern GKeyFile *g_key_file_new(void);
extern void g_key_file_remove_comment(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern void g_key_file_remove_group(GKeyFile * key_file,
const gchar * group_name,
GError * *error);
extern void g_key_file_remove_key(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, GError * *error);
extern void g_key_file_set_boolean(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, gboolean value);
extern void g_key_file_set_boolean_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, gboolean * list,
gsize length);
extern void g_key_file_set_comment(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
const gchar * comment, GError * *error);
extern void g_key_file_set_integer(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, gint value);
extern void g_key_file_set_integer_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, gint * list,
gsize length);
extern void g_key_file_set_list_separator(GKeyFile * key_file,
gchar separator);
extern void g_key_file_set_locale_string(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
const gchar * locale,
const gchar * string);
extern void g_key_file_set_locale_string_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
const gchar * locale,
const gchar * const *list,
gsize length);
extern void g_key_file_set_string(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, const gchar * string);
extern void g_key_file_set_string_list(GKeyFile * key_file,
const gchar * group_name,
const gchar * key,
const gchar * const *list,
gsize length);
extern void g_key_file_set_value(GKeyFile * key_file,
const gchar * group_name,
const gchar * key, const gchar * value);
extern gchar *g_key_file_to_data(GKeyFile * key_file, gsize * length,
GError * *error);
extern GList *g_list_alloc(void);
extern GList *g_list_append(GList * list, gpointer data);
extern GList *g_list_concat(GList * list1, GList * list2);
extern GList *g_list_copy(GList * list);
extern GList *g_list_delete_link(GList * list, GList * link_);
extern GList *g_list_find(GList * list, gconstpointer data);
extern GList *g_list_find_custom(GList * list, gconstpointer data,
GCompareFunc func);
extern GList *g_list_first(GList * list);
extern void g_list_foreach(GList * list, GFunc func, gpointer user_data);
extern void g_list_free(GList * list);
extern void g_list_free_1(GList * list);
extern gint g_list_index(GList * list, gconstpointer data);
extern GList *g_list_insert(GList * list, gpointer data, gint position);
extern GList *g_list_insert_before(GList * list, GList * sibling,
gpointer data);
extern GList *g_list_insert_sorted(GList * list, gpointer data,
GCompareFunc func);
extern GList *g_list_last(GList * list);
extern guint g_list_length(GList * list);
extern GList *g_list_nth(GList * list, guint n);
extern gpointer g_list_nth_data(GList * list, guint n);
extern GList *g_list_nth_prev(GList * list, guint n);
extern void g_list_pop_allocator(void);
extern gint g_list_position(GList * list, GList * llink);
extern GList *g_list_prepend(GList * list, gpointer data);
extern void g_list_push_allocator(GAllocator * allocator);
extern GList *g_list_remove(GList * list, gconstpointer data);
extern GList *g_list_remove_all(GList * list, gconstpointer data);
extern GList *g_list_remove_link(GList * list, GList * llink);
extern GList *g_list_reverse(GList * list);
extern GList *g_list_sort(GList * list, GCompareFunc compare_func);
extern GList *g_list_sort_with_data(GList * list,
GCompareDataFunc compare_func,
gpointer user_data);
extern gchar **g_listenv(void);
extern gchar *g_locale_from_utf8(const gchar * utf8string, gssize len,
gsize * bytes_read, gsize * bytes_written,
GError * *error);
extern gchar *g_locale_to_utf8(const gchar * opsysstring, gssize len,
gsize * bytes_read, gsize * bytes_written,
GError * *error);
extern void g_log(const gchar * log_domain, GLogLevelFlags log_level,
const gchar * format, ...);
extern void g_log_default_handler(const gchar * log_domain,
GLogLevelFlags log_level,
const gchar * message,
gpointer unused_data);
extern void g_log_remove_handler(const gchar * log_domain,
guint handler_id);
extern GLogLevelFlags g_log_set_always_fatal(GLogLevelFlags fatal_mask);
extern GLogFunc g_log_set_default_handler(GLogFunc log_func,
gpointer user_data);
extern GLogLevelFlags g_log_set_fatal_mask(const gchar * log_domain,
GLogLevelFlags fatal_mask);
extern guint g_log_set_handler(const gchar * log_domain,
GLogLevelFlags log_levels,
GLogFunc log_func, gpointer user_data);
extern void g_logv(const gchar * log_domain, GLogLevelFlags log_level,
const gchar * format, va_list args);
extern gboolean g_main_context_acquire(GMainContext * context);
extern void g_main_context_add_poll(GMainContext * context, GPollFD * fd,
gint priority);
extern gint g_main_context_check(GMainContext * context, gint max_priority,
GPollFD * fds, gint n_fds);
extern GMainContext *g_main_context_default(void);
extern void g_main_context_dispatch(GMainContext * context);
extern GSource *g_main_context_find_source_by_funcs_user_data(GMainContext
* context,
GSourceFuncs
* funcs,
gpointer
user_data);
extern GSource *g_main_context_find_source_by_id(GMainContext * context,
guint source_id);
extern GSource *g_main_context_find_source_by_user_data(GMainContext *
context,
gpointer
user_data);
extern GPollFunc g_main_context_get_poll_func(GMainContext * context);
extern gboolean g_main_context_iteration(GMainContext * context,
gboolean may_block);
extern GMainContext *g_main_context_new(void);
extern gboolean g_main_context_pending(GMainContext * context);
extern gboolean g_main_context_prepare(GMainContext * context,
gint * priority);
extern gint g_main_context_query(GMainContext * context, gint max_priority,
gint * timeout_, GPollFD * fds,
gint n_fds);
extern GMainContext *g_main_context_ref(GMainContext * context);
extern void g_main_context_release(GMainContext * context);
extern void g_main_context_remove_poll(GMainContext * context,
GPollFD * fd);
extern void g_main_context_set_poll_func(GMainContext * context,
GPollFunc func);
extern void g_main_context_unref(GMainContext * context);
extern gboolean g_main_context_wait(GMainContext * context, GCond * cond,
GMutex * mutex);
extern void g_main_context_wakeup(GMainContext * context);
extern int g_main_depth(void);
extern GMainContext *g_main_loop_get_context(GMainLoop * loop);
extern gboolean g_main_loop_is_running(GMainLoop * loop);
extern GMainLoop *g_main_loop_new(GMainContext * context,
gboolean is_running);
extern void g_main_loop_quit(GMainLoop * loop);
extern GMainLoop *g_main_loop_ref(GMainLoop * loop);
extern void g_main_loop_run(GMainLoop * loop);
extern void g_main_loop_unref(GMainLoop * loop);
extern gpointer g_malloc(gulong n_bytes);
extern gpointer g_malloc0(gulong n_bytes);
extern void g_mapped_file_free(GMappedFile * file);
extern gchar *g_mapped_file_get_contents(GMappedFile * file);
extern gsize g_mapped_file_get_length(GMappedFile * file);
extern GMappedFile *g_mapped_file_new(const gchar * filename,
gboolean writable, GError * *error);
extern GQuark g_markup_error_quark(void);
extern gchar *g_markup_escape_text(const gchar * text, gssize length);
extern gboolean g_markup_parse_context_end_parse(GMarkupParseContext *
context, GError * *error);
extern void g_markup_parse_context_free(GMarkupParseContext * context);
extern const gchar *g_markup_parse_context_get_element(GMarkupParseContext
* context);
extern void g_markup_parse_context_get_position(GMarkupParseContext *
context,
gint * line_number,
gint * char_number);
extern GMarkupParseContext *g_markup_parse_context_new(const GMarkupParser
* parser,
GMarkupParseFlags
flags,
gpointer user_data,
GDestroyNotify
user_data_dnotify);
extern gboolean g_markup_parse_context_parse(GMarkupParseContext * context,
const gchar * text,
gssize text_len,
GError * *error);
extern char *g_markup_printf_escaped(const char *format, ...);
extern char *g_markup_vprintf_escaped(const char *format, va_list args);
extern gpointer g_mem_chunk_alloc(GMemChunk * mem_chunk);
extern gpointer g_mem_chunk_alloc0(GMemChunk * mem_chunk);
extern void g_mem_chunk_clean(GMemChunk * mem_chunk);
extern void g_mem_chunk_destroy(GMemChunk * mem_chunk);
extern void g_mem_chunk_free(GMemChunk * mem_chunk, gpointer mem);
extern void g_mem_chunk_info(void);
extern GMemChunk *g_mem_chunk_new(const gchar * name, gint atom_size,
gulong area_size, gint type);
extern void g_mem_chunk_print(GMemChunk * mem_chunk);
extern void g_mem_chunk_reset(GMemChunk * mem_chunk);
extern gboolean g_mem_is_system_malloc(void);
extern void g_mem_profile(void);
extern void g_mem_set_vtable(GMemVTable * vtable);
extern gpointer g_memdup(gconstpointer mem, guint byte_size);
extern int g_mkdir_with_parents(const gchar * pathname, int mode);
extern gint g_mkstemp(gchar * tmpl);
extern gint g_node_child_index(GNode * node, gpointer data);
extern gint g_node_child_position(GNode * node, GNode * child);
extern void g_node_children_foreach(GNode * node, GTraverseFlags flags,
GNodeForeachFunc func, gpointer data);
extern GNode *g_node_copy(GNode * node);
extern GNode *g_node_copy_deep(GNode * node, GCopyFunc copy_func,
gpointer data);
extern guint g_node_depth(GNode * node);
extern void g_node_destroy(GNode * root);
extern GNode *g_node_find(GNode * root, GTraverseType order,
GTraverseFlags flags, gpointer data);
extern GNode *g_node_find_child(GNode * node, GTraverseFlags flags,
gpointer data);
extern GNode *g_node_first_sibling(GNode * node);
extern GNode *g_node_get_root(GNode * node);
extern GNode *g_node_insert(GNode * parent, gint position, GNode * node);
extern GNode *g_node_insert_after(GNode * parent, GNode * sibling,
GNode * node);
extern GNode *g_node_insert_before(GNode * parent, GNode * sibling,
GNode * node);
extern gboolean g_node_is_ancestor(GNode * node, GNode * descendant);
extern GNode *g_node_last_child(GNode * node);
extern GNode *g_node_last_sibling(GNode * node);
extern guint g_node_max_height(GNode * root);
extern guint g_node_n_children(GNode * node);
extern guint g_node_n_nodes(GNode * root, GTraverseFlags flags);
extern GNode *g_node_new(gpointer data);
extern GNode *g_node_nth_child(GNode * node, guint n);
extern void g_node_pop_allocator(void);
extern GNode *g_node_prepend(GNode * parent, GNode * node);
extern void g_node_push_allocator(GAllocator * dummy);
extern void g_node_reverse_children(GNode * node);
extern void g_node_traverse(GNode * root, GTraverseType order,
GTraverseFlags flags, gint max_depth,
GNodeTraverseFunc func, gpointer data);
extern void g_node_unlink(GNode * node);
extern void g_nullify_pointer(gpointer * nullify_location);
extern void g_on_error_query(const gchar * prg_name);
extern void g_on_error_stack_trace(const gchar * prg_name);
extern gpointer g_once_impl(GOnce * once, GThreadFunc func, gpointer arg);
extern void g_option_context_add_group(GOptionContext * context,
GOptionGroup * group);
extern void g_option_context_add_main_entries(GOptionContext * context,
const GOptionEntry * entries,
const gchar *
translation_domain);
extern void g_option_context_free(GOptionContext * context);
extern gboolean g_option_context_get_help_enabled(GOptionContext *
context);
extern gboolean g_option_context_get_ignore_unknown_options(GOptionContext
* context);
extern GOptionGroup *g_option_context_get_main_group(GOptionContext *
context);
extern GOptionContext *g_option_context_new(const gchar *
parameter_string);
extern gboolean g_option_context_parse(GOptionContext * context,
gint * argc, gchar * **argv,
GError * *error);
extern void g_option_context_set_help_enabled(GOptionContext * context,
gboolean help_enabled);
extern void g_option_context_set_ignore_unknown_options(GOptionContext *
context,
gboolean
ignore_unknown);
extern void g_option_context_set_main_group(GOptionContext * context,
GOptionGroup * group);
extern GQuark g_option_error_quark(void);
extern void g_option_group_add_entries(GOptionGroup * group,
const GOptionEntry * entries);
extern void g_option_group_free(GOptionGroup * group);
extern GOptionGroup *g_option_group_new(const gchar * name,
const gchar * description,
const gchar * help_description,
gpointer user_data,
GDestroyNotify destroy);
extern void g_option_group_set_error_hook(GOptionGroup * group,
GOptionErrorFunc error_func);
extern void g_option_group_set_parse_hooks(GOptionGroup * group,
GOptionParseFunc pre_parse_func,
GOptionParseFunc
post_parse_func);
extern void g_option_group_set_translate_func(GOptionGroup * group,
GTranslateFunc func,
gpointer data,
GDestroyNotify
destroy_notify);
extern void g_option_group_set_translation_domain(GOptionGroup * group,
const gchar * domain);
extern guint g_parse_debug_string(const gchar * string,
const GDebugKey * keys, guint nkeys);
extern gchar *g_path_get_basename(const gchar * file_name);
extern gchar *g_path_get_dirname(const gchar * file_name);
extern gboolean g_path_is_absolute(const gchar * file_name);
extern const gchar *g_path_skip_root(const gchar * file_name);
extern gboolean g_pattern_match(GPatternSpec * pspec, guint string_length,
const gchar * string,
const gchar * string_reversed);
extern gboolean g_pattern_match_simple(const gchar * pattern,
const gchar * string);
extern gboolean g_pattern_match_string(GPatternSpec * pspec,
const gchar * string);
extern gboolean g_pattern_spec_equal(GPatternSpec * pspec1,
GPatternSpec * pspec2);
extern void g_pattern_spec_free(GPatternSpec * pspec);
extern GPatternSpec *g_pattern_spec_new(const gchar * pattern);
extern void g_print(const gchar * format, ...);
extern void g_printerr(const gchar * format, ...);
extern gsize g_printf_string_upper_bound(const gchar * format,
va_list args);
extern void g_propagate_error(GError * *dest, GError * src);
extern void g_ptr_array_add(GPtrArray * array, gpointer data);
extern void g_ptr_array_foreach(GPtrArray * array, GFunc func,
gpointer user_data);
extern gpointer *g_ptr_array_free(GPtrArray * array, gboolean free_seg);
extern GPtrArray *g_ptr_array_new(void);
extern gboolean g_ptr_array_remove(GPtrArray * array, gpointer data);
extern gboolean g_ptr_array_remove_fast(GPtrArray * array, gpointer data);
extern gpointer g_ptr_array_remove_index(GPtrArray * array, guint index_);
extern gpointer g_ptr_array_remove_index_fast(GPtrArray * array,
guint index_);
extern void g_ptr_array_remove_range(GPtrArray * array, guint index_,
guint length);
extern void g_ptr_array_set_size(GPtrArray * array, gint length);
extern GPtrArray *g_ptr_array_sized_new(guint reserved_size);
extern void g_ptr_array_sort(GPtrArray * array, GCompareFunc compare_func);
extern void g_ptr_array_sort_with_data(GPtrArray * array,
GCompareDataFunc compare_func,
gpointer user_data);
extern void g_qsort_with_data(gconstpointer pbase, gint total_elems,
gsize size, GCompareDataFunc compare_func,
gpointer user_data);
extern GQuark g_quark_from_static_string(const gchar * string);
extern GQuark g_quark_from_string(const gchar * string);
extern const gchar *g_quark_to_string(GQuark quark);
extern GQuark g_quark_try_string(const gchar * string);
extern GQueue *g_queue_copy(GQueue * queue);
extern void g_queue_delete_link(GQueue * queue, GList * link_);
extern GList *g_queue_find(GQueue * queue, gconstpointer data);
extern GList *g_queue_find_custom(GQueue * queue, gconstpointer data,
GCompareFunc func);
extern void g_queue_foreach(GQueue * queue, GFunc func,
gpointer user_data);
extern void g_queue_free(GQueue * queue);
extern guint g_queue_get_length(GQueue * queue);
extern gint g_queue_index(GQueue * queue, gconstpointer data);
extern void g_queue_insert_after(GQueue * queue, GList * sibling,
gpointer data);
extern void g_queue_insert_before(GQueue * queue, GList * sibling,
gpointer data);
extern void g_queue_insert_sorted(GQueue * queue, gpointer data,
GCompareDataFunc func,
gpointer user_data);
extern gboolean g_queue_is_empty(GQueue * queue);
extern gint g_queue_link_index(GQueue * queue, GList * link_);
extern GQueue *g_queue_new(void);
extern gpointer g_queue_peek_head(GQueue * queue);
extern GList *g_queue_peek_head_link(GQueue * queue);
extern gpointer g_queue_peek_nth(GQueue * queue, guint n);
extern GList *g_queue_peek_nth_link(GQueue * queue, guint n);
extern gpointer g_queue_peek_tail(GQueue * queue);
extern GList *g_queue_peek_tail_link(GQueue * queue);
extern gpointer g_queue_pop_head(GQueue * queue);
extern GList *g_queue_pop_head_link(GQueue * queue);
extern gpointer g_queue_pop_nth(GQueue * queue, guint n);
extern GList *g_queue_pop_nth_link(GQueue * queue, guint n);
extern gpointer g_queue_pop_tail(GQueue * queue);
extern GList *g_queue_pop_tail_link(GQueue * queue);
extern void g_queue_push_head(GQueue * queue, gpointer data);
extern void g_queue_push_head_link(GQueue * queue, GList * link_);
extern void g_queue_push_nth(GQueue * queue, gpointer data, gint n);
extern void g_queue_push_nth_link(GQueue * queue, gint n, GList * link_);
extern void g_queue_push_tail(GQueue * queue, gpointer data);
extern void g_queue_push_tail_link(GQueue * queue, GList * link_);
extern void g_queue_remove(GQueue * queue, gconstpointer data);
extern void g_queue_remove_all(GQueue * queue, gconstpointer data);
extern void g_queue_reverse(GQueue * queue);
extern void g_queue_sort(GQueue * queue, GCompareDataFunc compare_func,
gpointer user_data);
extern void g_queue_unlink(GQueue * queue, GList * link_);
extern GRand *g_rand_copy(GRand * rand_);
extern gdouble g_rand_double(GRand * rand_);
extern gdouble g_rand_double_range(GRand * rand_, gdouble begin,
gdouble end);
extern void g_rand_free(GRand * rand_);
extern guint32 g_rand_int(GRand * rand_);
extern gint32 g_rand_int_range(GRand * rand_, gint32 begin, gint32 end);
extern GRand *g_rand_new(void);
extern GRand *g_rand_new_with_seed(guint32 seed);
extern GRand *g_rand_new_with_seed_array(const guint32 * seed,
guint seed_length);
extern void g_rand_set_seed(GRand * rand_, guint32 seed);
extern void g_rand_set_seed_array(GRand * rand_, const guint32 * seed,
guint seed_length);
extern gdouble g_random_double(void);
extern gdouble g_random_double_range(gdouble begin, gdouble end);
extern guint32 g_random_int(void);
extern gint32 g_random_int_range(gint32 begin, gint32 end);
extern void g_random_set_seed(guint32 seed);
extern gpointer g_realloc(gpointer mem, gulong n_bytes);
extern gint g_relation_count(GRelation * relation, gconstpointer key,
gint field);
extern gint g_relation_delete(GRelation * relation, gconstpointer key,
gint field);
extern void g_relation_destroy(GRelation * relation);
extern gboolean g_relation_exists(GRelation * relation, ...);
extern void g_relation_index(GRelation * relation, gint field,
GHashFunc hash_func,
GEqualFunc key_equal_func);
extern void g_relation_insert(GRelation * relation, ...);
extern GRelation *g_relation_new(gint fields);
extern void g_relation_print(GRelation * relation);
extern GTuples *g_relation_select(GRelation * relation, gconstpointer key,
gint field);
extern void g_return_if_fail_warning(const char *log_domain,
const char *pretty_function,
const char *expression);
extern guint g_scanner_cur_line(GScanner * scanner);
extern guint g_scanner_cur_position(GScanner * scanner);
extern GTokenType g_scanner_cur_token(GScanner * scanner);
extern GTokenValue g_scanner_cur_value(GScanner * scanner);
extern void g_scanner_destroy(GScanner * scanner);
extern gboolean g_scanner_eof(GScanner * scanner);
extern void g_scanner_error(GScanner * scanner, const gchar * format, ...);
extern GTokenType g_scanner_get_next_token(GScanner * scanner);
extern void g_scanner_input_file(GScanner * scanner, gint input_fd);
extern void g_scanner_input_text(GScanner * scanner, const gchar * text,
guint text_len);
extern gpointer g_scanner_lookup_symbol(GScanner * scanner,
const gchar * symbol);
extern GScanner *g_scanner_new(const GScannerConfig * config_templ);
extern GTokenType g_scanner_peek_next_token(GScanner * scanner);
extern void g_scanner_scope_add_symbol(GScanner * scanner, guint scope_id,
const gchar * symbol,
gpointer value);
extern void g_scanner_scope_foreach_symbol(GScanner * scanner,
guint scope_id, GHFunc func,
gpointer user_data);
extern gpointer g_scanner_scope_lookup_symbol(GScanner * scanner,
guint scope_id,
const gchar * symbol);
extern void g_scanner_scope_remove_symbol(GScanner * scanner,
guint scope_id,
const gchar * symbol);
extern guint g_scanner_set_scope(GScanner * scanner, guint scope_id);
extern void g_scanner_sync_file_offset(GScanner * scanner);
extern void g_scanner_unexp_token(GScanner * scanner,
GTokenType expected_token,
const gchar * identifier_spec,
const gchar * symbol_spec,
const gchar * symbol_name,
const gchar * message, gint is_error);
extern void g_scanner_warn(GScanner * scanner, const gchar * format, ...);
extern void g_set_application_name(const gchar * application_name);
extern void g_set_error(GError * *err, GQuark domain, gint code,
const gchar * format, ...);
extern void g_set_prgname(const gchar * prgname);
extern GPrintFunc g_set_print_handler(GPrintFunc func);
extern GPrintFunc g_set_printerr_handler(GPrintFunc func);
extern gboolean g_setenv(const gchar * variable, const gchar * value,
gboolean overwrite);
extern GQuark g_shell_error_quark(void);
extern gboolean g_shell_parse_argv(const gchar * command_line,
gint * argcp, gchar * **argvp,
GError * *error);
extern gchar *g_shell_quote(const gchar * unquoted_string);
extern gchar *g_shell_unquote(const gchar * quoted_string,
GError * *error);
extern GSList *g_slist_alloc(void);
extern GSList *g_slist_append(GSList * list, gpointer data);
extern GSList *g_slist_concat(GSList * list1, GSList * list2);
extern GSList *g_slist_copy(GSList * list);
extern GSList *g_slist_delete_link(GSList * list, GSList * link_);
extern GSList *g_slist_find(GSList * list, gconstpointer data);
extern GSList *g_slist_find_custom(GSList * list, gconstpointer data,
GCompareFunc func);
extern void g_slist_foreach(GSList * list, GFunc func, gpointer user_data);
extern void g_slist_free(GSList * list);
extern void g_slist_free_1(GSList * list);
extern gint g_slist_index(GSList * list, gconstpointer data);
extern GSList *g_slist_insert(GSList * list, gpointer data, gint position);
extern GSList *g_slist_insert_before(GSList * slist, GSList * sibling,
gpointer data);
extern GSList *g_slist_insert_sorted(GSList * list, gpointer data,
GCompareFunc func);
extern GSList *g_slist_last(GSList * list);
extern guint g_slist_length(GSList * list);
extern GSList *g_slist_nth(GSList * list, guint n);
extern gpointer g_slist_nth_data(GSList * list, guint n);
extern void g_slist_pop_allocator(void);
extern gint g_slist_position(GSList * list, GSList * llink);
extern GSList *g_slist_prepend(GSList * list, gpointer data);
extern void g_slist_push_allocator(GAllocator * dummy);
extern GSList *g_slist_remove(GSList * list, gconstpointer data);
extern GSList *g_slist_remove_all(GSList * list, gconstpointer data);
extern GSList *g_slist_remove_link(GSList * list, GSList * link_);
extern GSList *g_slist_reverse(GSList * list);
extern GSList *g_slist_sort(GSList * list, GCompareFunc compare_func);
extern GSList *g_slist_sort_with_data(GSList * list,
GCompareDataFunc compare_func,
gpointer user_data);
extern void g_source_add_poll(GSource * source, GPollFD * fd);
extern guint g_source_attach(GSource * source, GMainContext * context);
extern void g_source_destroy(GSource * source);
extern gboolean g_source_get_can_recurse(GSource * source);
extern GMainContext *g_source_get_context(GSource * source);
extern void g_source_get_current_time(GSource * source,
GTimeVal * timeval);
extern guint g_source_get_id(GSource * source);
extern gint g_source_get_priority(GSource * source);
extern GSource *g_source_new(GSourceFuncs * source_funcs,
guint struct_size);
extern GSource *g_source_ref(GSource * source);
extern gboolean g_source_remove(guint tag);
extern gboolean g_source_remove_by_funcs_user_data(GSourceFuncs * funcs,
gpointer user_data);
extern gboolean g_source_remove_by_user_data(gpointer user_data);
extern void g_source_remove_poll(GSource * source, GPollFD * fd);
extern void g_source_set_callback(GSource * source, GSourceFunc func,
gpointer data, GDestroyNotify notify);
extern void g_source_set_callback_indirect(GSource * source,
gpointer callback_data,
GSourceCallbackFuncs *
callback_funcs);
extern void g_source_set_can_recurse(GSource * source,
gboolean can_recurse);
extern void g_source_set_priority(GSource * source, gint priority);
extern void g_source_unref(GSource * source);
extern guint g_spaced_primes_closest(guint num);
extern gboolean g_spawn_async(const gchar * working_directory,
gchar * *argv, gchar * *envp,
GSpawnFlags flags,
GSpawnChildSetupFunc child_setup,
gpointer user_data, GPid * child_pid,
GError * *error);
extern gboolean g_spawn_async_with_pipes(const gchar * working_directory,
gchar * *argv, gchar * *envp,
GSpawnFlags flags,
GSpawnChildSetupFunc child_setup,
gpointer user_data,
GPid * child_pid,
gint * standard_input,
gint * standard_output,
gint * standard_error,
GError * *error);
extern void g_spawn_close_pid(GPid pid);
extern gboolean g_spawn_command_line_async(const gchar * command_line,
GError * *error);
extern gboolean g_spawn_command_line_sync(const gchar * command_line,
gchar * *standard_output,
gchar * *standard_error,
gint * exit_status,
GError * *error);
extern GQuark g_spawn_error_quark(void);
extern gboolean g_spawn_sync(const gchar * working_directory,
gchar * *argv, gchar * *envp,
GSpawnFlags flags,
GSpawnChildSetupFunc child_setup,
gpointer user_data, gchar * *standard_output,
gchar * *standard_error, gint * exit_status,
GError * *error);
extern void g_static_mutex_free(GStaticMutex * mutex);
extern GMutex *g_static_mutex_get_mutex_impl(GMutex * *mutex);
extern void g_static_mutex_init(GStaticMutex * mutex);
extern void g_static_private_free(GStaticPrivate * private_key);
extern gpointer g_static_private_get(GStaticPrivate * private_key);
extern void g_static_private_init(GStaticPrivate * private_key);
extern void g_static_private_set(GStaticPrivate * private_key,
gpointer data, GDestroyNotify notify);
extern void g_static_rec_mutex_free(GStaticRecMutex * mutex);
extern void g_static_rec_mutex_init(GStaticRecMutex * mutex);
extern void g_static_rec_mutex_lock(GStaticRecMutex * mutex);
extern void g_static_rec_mutex_lock_full(GStaticRecMutex * mutex,
guint depth);
extern gboolean g_static_rec_mutex_trylock(GStaticRecMutex * mutex);
extern void g_static_rec_mutex_unlock(GStaticRecMutex * mutex);
extern guint g_static_rec_mutex_unlock_full(GStaticRecMutex * mutex);
extern void g_static_rw_lock_free(GStaticRWLock * lock);
extern void g_static_rw_lock_init(GStaticRWLock * lock);
extern void g_static_rw_lock_reader_lock(GStaticRWLock * lock);
extern gboolean g_static_rw_lock_reader_trylock(GStaticRWLock * lock);
extern void g_static_rw_lock_reader_unlock(GStaticRWLock * lock);
extern void g_static_rw_lock_writer_lock(GStaticRWLock * lock);
extern gboolean g_static_rw_lock_writer_trylock(GStaticRWLock * lock);
extern void g_static_rw_lock_writer_unlock(GStaticRWLock * lock);
extern gchar *g_stpcpy(gchar * dest, const gchar * src);
extern gboolean g_str_equal(gconstpointer v1, gconstpointer v2);
extern gboolean g_str_has_prefix(const gchar * str, const gchar * prefix);
extern gboolean g_str_has_suffix(const gchar * str, const gchar * suffix);
extern guint g_str_hash(gconstpointer v);
extern gchar *g_strcanon(gchar * string, const gchar * valid_chars,
gchar substitutor);
extern gchar *g_strchomp(gchar * string);
extern gchar *g_strchug(gchar * string);
extern gchar *g_strcompress(const gchar * source);
extern gchar *g_strconcat(const gchar * string1, ...);
extern gchar *g_strdelimit(gchar * string, const gchar * delimiters,
gchar new_delimiter);
extern gchar *g_strdup(const gchar * str);
extern gchar *g_strdup_printf(const gchar * format, ...);
extern gchar *g_strdup_vprintf(const gchar * format, va_list args);
extern gchar **g_strdupv(gchar * *str_array);
extern const gchar *g_strerror(gint errnum);
extern gchar *g_strescape(const gchar * source, const gchar * exceptions);
extern void g_strfreev(gchar * *str_array);
extern GString *g_string_append(GString * string, const gchar * val);
extern GString *g_string_append_c(GString * string, gchar c);
extern GString *g_string_append_len(GString * string, const gchar * val,
gssize len);
extern void g_string_append_printf(GString * string, const gchar * format,
...);
extern GString *g_string_append_unichar(GString * string, gunichar wc);
extern GString *g_string_ascii_down(GString * string);
extern GString *g_string_ascii_up(GString * string);
extern GString *g_string_assign(GString * string, const gchar * rval);
extern void g_string_chunk_free(GStringChunk * chunk);
extern gchar *g_string_chunk_insert(GStringChunk * chunk,
const gchar * string);
extern gchar *g_string_chunk_insert_const(GStringChunk * chunk,
const gchar * string);
extern gchar *g_string_chunk_insert_len(GStringChunk * chunk,
const gchar * string, gssize len);
extern GStringChunk *g_string_chunk_new(gsize size);
extern gboolean g_string_equal(const GString * v, const GString * v2);
extern GString *g_string_erase(GString * string, gssize pos, gssize len);
extern gchar *g_string_free(GString * string, gboolean free_segment);
extern guint g_string_hash(const GString * str);
extern GString *g_string_insert(GString * string, gssize pos,
const gchar * val);
extern GString *g_string_insert_c(GString * string, gssize pos, gchar c);
extern GString *g_string_insert_len(GString * string, gssize pos,
const gchar * val, gssize len);
extern GString *g_string_insert_unichar(GString * string, gssize pos,
gunichar wc);
extern GString *g_string_new(const gchar * init);
extern GString *g_string_new_len(const gchar * init, gssize len);
extern GString *g_string_prepend(GString * string, const gchar * val);
extern GString *g_string_prepend_c(GString * string, gchar c);
extern GString *g_string_prepend_len(GString * string, const gchar * val,
gssize len);
extern GString *g_string_prepend_unichar(GString * string, gunichar wc);
extern void g_string_printf(GString * string, const gchar * format, ...);
extern GString *g_string_set_size(GString * string, gsize len);
extern GString *g_string_sized_new(gsize dfl_size);
extern GString *g_string_truncate(GString * string, gsize len);
extern const gchar *g_strip_context(const gchar * msgid,
const gchar * msgval);
extern gchar *g_strjoin(const gchar * separator, ...);
extern gchar *g_strjoinv(const gchar * separator, gchar * *str_array);
extern gsize g_strlcat(gchar * dest, const gchar * src, gsize dest_size);
extern gsize g_strlcpy(gchar * dest, const gchar * src, gsize dest_size);
extern gchar *g_strndup(const gchar * str, gsize n);
extern gchar *g_strnfill(gsize length, gchar fill_char);
extern gchar *g_strreverse(gchar * string);
extern gchar *g_strrstr(const gchar * haystack, const gchar * needle);
extern gchar *g_strrstr_len(const gchar * haystack, gssize haystack_len,
const gchar * needle);
extern const gchar *g_strsignal(gint signum);
extern gchar **g_strsplit(const gchar * string, const gchar * delimiter,
gint max_tokens);
extern gchar **g_strsplit_set(const gchar * string,
const gchar * delimiters, gint max_tokens);
extern gchar *g_strstr_len(const gchar * haystack, gssize haystack_len,
const gchar * needle);
extern gdouble g_strtod(const gchar * nptr, gchar * *endptr);
extern guint g_strv_length(gchar * *str_array);
extern GThread *g_thread_create_full(GThreadFunc func, gpointer data,
gulong stack_size, gboolean joinable,
gboolean bound,
GThreadPriority priority,
GError * *error);
extern GQuark g_thread_error_quark(void);
extern void g_thread_exit(gpointer retval);
extern GThreadFunctions g_thread_functions_for_glib_use;
extern void g_thread_init(GThreadFunctions * vtable);
extern void g_thread_init_with_errorcheck_mutexes(GThreadFunctions *
vtable);
extern gpointer g_thread_join(GThread * thread);
extern void g_thread_pool_free(GThreadPool * pool, gboolean immediate,
gboolean wait_);
extern gint g_thread_pool_get_max_threads(GThreadPool * pool);
extern gint g_thread_pool_get_max_unused_threads(void);
extern guint g_thread_pool_get_num_threads(GThreadPool * pool);
extern guint g_thread_pool_get_num_unused_threads(void);
extern GThreadPool *g_thread_pool_new(GFunc func, gpointer user_data,
gint max_threads, gboolean exclusive,
GError * *error);
extern void g_thread_pool_push(GThreadPool * pool, gpointer data,
GError * *error);
extern void g_thread_pool_set_max_threads(GThreadPool * pool,
gint max_threads,
GError * *error);
extern void g_thread_pool_set_max_unused_threads(gint max_threads);
extern void g_thread_pool_stop_unused_threads(void);
extern guint g_thread_pool_unprocessed(GThreadPool * pool);
extern GThread *g_thread_self(void);
extern void g_thread_set_priority(GThread * thread,
GThreadPriority priority);
extern gboolean g_thread_use_default_impl;
extern gboolean g_threads_got_initialized;
extern void g_time_val_add(GTimeVal * time_, glong microseconds);
extern guint g_timeout_add(guint32 interval, GSourceFunc function,
gpointer data);
extern guint g_timeout_add_full(gint priority, guint interval,
GSourceFunc function, gpointer data,
GDestroyNotify notify);
extern GSourceFuncs g_timeout_funcs;
extern GSource *g_timeout_source_new(guint interval);
extern void g_timer_continue(GTimer * timer);
extern void g_timer_destroy(GTimer * timer);
extern gdouble g_timer_elapsed(GTimer * timer, gulong * microseconds);
extern GTimer *g_timer_new(void);
extern void g_timer_reset(GTimer * timer);
extern void g_timer_start(GTimer * timer);
extern void g_timer_stop(GTimer * timer);
extern guint g_trash_stack_height(GTrashStack * *stack_p);
extern gpointer g_trash_stack_peek(GTrashStack * *stack_p);
extern gpointer g_trash_stack_pop(GTrashStack * *stack_p);
extern void g_trash_stack_push(GTrashStack * *stack_p, gpointer data_p);
extern void g_tree_destroy(GTree * tree);
extern void g_tree_foreach(GTree * tree, GTraverseFunc func,
gpointer user_data);
extern gint g_tree_height(GTree * tree);
extern void g_tree_insert(GTree * tree, gpointer key, gpointer value);
extern gpointer g_tree_lookup(GTree * tree, gconstpointer key);
extern gboolean g_tree_lookup_extended(GTree * tree,
gconstpointer lookup_key,
gpointer * orig_key,
gpointer * value);
extern GTree *g_tree_new(GCompareFunc key_compare_func);
extern GTree *g_tree_new_full(GCompareDataFunc key_compare_func,
gpointer key_compare_data,
GDestroyNotify key_destroy_func,
GDestroyNotify value_destroy_func);
extern GTree *g_tree_new_with_data(GCompareDataFunc key_compare_func,
gpointer key_compare_data);
extern gint g_tree_nnodes(GTree * tree);
extern gboolean g_tree_remove(GTree * tree, gconstpointer key);
extern void g_tree_replace(GTree * tree, gpointer key, gpointer value);
extern gpointer g_tree_search(GTree * tree, GCompareFunc search_func,
gconstpointer user_data);
extern gboolean g_tree_steal(GTree * tree, gconstpointer key);
extern gpointer g_try_malloc(gulong n_bytes);
extern gpointer g_try_realloc(gpointer mem, gulong n_bytes);
extern void g_tuples_destroy(GTuples * tuples);
extern gpointer g_tuples_index(GTuples * tuples, gint index_, gint field);
extern gunichar2 *g_ucs4_to_utf16(const gunichar * str, glong len,
glong * items_read,
glong * items_written, GError * *error);
extern gchar *g_ucs4_to_utf8(const gunichar * str, glong len,
glong * items_read, glong * items_written,
GError * *error);
extern GUnicodeBreakType g_unichar_break_type(gunichar c);
extern gint g_unichar_digit_value(gunichar c);
extern gboolean g_unichar_get_mirror_char(gunichar ch,
gunichar * mirrored_ch);
extern gboolean g_unichar_isalnum(gunichar c);
extern gboolean g_unichar_isalpha(gunichar c);
extern gboolean g_unichar_iscntrl(gunichar c);
extern gboolean g_unichar_isdefined(gunichar c);
extern gboolean g_unichar_isdigit(gunichar c);
extern gboolean g_unichar_isgraph(gunichar c);
extern gboolean g_unichar_islower(gunichar c);
extern gboolean g_unichar_isprint(gunichar c);
extern gboolean g_unichar_ispunct(gunichar c);
extern gboolean g_unichar_isspace(gunichar c);
extern gboolean g_unichar_istitle(gunichar c);
extern gboolean g_unichar_isupper(gunichar c);
extern gboolean g_unichar_iswide(gunichar c);
extern gboolean g_unichar_isxdigit(gunichar c);
extern gint g_unichar_to_utf8(gunichar c, gchar * outbuf);
extern gunichar g_unichar_tolower(gunichar c);
extern gunichar g_unichar_totitle(gunichar c);
extern gunichar g_unichar_toupper(gunichar c);
extern GUnicodeType g_unichar_type(gunichar c);
extern gboolean g_unichar_validate(gunichar ch);
extern gint g_unichar_xdigit_value(gunichar c);
extern gunichar *g_unicode_canonical_decomposition(gunichar ch,
gsize * result_len);
extern void g_unicode_canonical_ordering(gunichar * string, gsize len);
extern void g_unsetenv(const gchar * variable);
extern gchar **g_uri_list_extract_uris(const gchar * uri_list);
extern void g_usleep(gulong microseconds);
extern gunichar *g_utf16_to_ucs4(const gunichar2 * str, glong len,
glong * items_read, glong * items_written,
GError * *error);
extern gchar *g_utf16_to_utf8(const gunichar2 * str, glong len,
glong * items_read, glong * items_written,
GError * *error);
extern gchar *g_utf8_casefold(const gchar * str, gssize len);
extern gint g_utf8_collate(const gchar * str1, const gchar * str2);
extern gchar *g_utf8_collate_key(const gchar * str, gssize len);
extern gchar *g_utf8_collate_key_for_filename(const gchar * str,
gssize len);
extern gchar *g_utf8_find_next_char(const gchar * p, const gchar * end);
extern gchar *g_utf8_find_prev_char(const char *str, const char *p);
extern gunichar g_utf8_get_char(const gchar * p);
extern gunichar g_utf8_get_char_validated(const gchar * p, gssize max_len);
extern gchar *g_utf8_normalize(const gchar * str, gssize len,
GNormalizeMode mode);
extern gchar *g_utf8_offset_to_pointer(const gchar * str, glong offset);
extern glong g_utf8_pointer_to_offset(const gchar * str,
const gchar * pos);
extern gchar *g_utf8_prev_char(const gchar * p);
extern const gchar *const g_utf8_skip;
extern gchar *g_utf8_strchr(const char *p, gssize len, gunichar c);
extern gchar *g_utf8_strdown(const gchar * str, gssize len);
extern glong g_utf8_strlen(const gchar * p, gssize max);
extern gchar *g_utf8_strncpy(gchar * dest, const gchar * src, gsize n);
extern gchar *g_utf8_strrchr(const char *p, gssize len, gunichar c);
extern gchar *g_utf8_strreverse(const gchar * str, gssize len);
extern gchar *g_utf8_strup(const gchar * str, gssize len);
extern gunichar *g_utf8_to_ucs4(const gchar * str, glong len,
glong * items_read, glong * items_written,
GError * *error);
extern gunichar *g_utf8_to_ucs4_fast(const gchar * str, glong len,
glong * items_written);
extern gunichar2 *g_utf8_to_utf16(const gchar * str, glong len,
glong * items_read,
glong * items_written, GError * *error);
extern gboolean g_utf8_validate(const char *str, gssize max_len,
const gchar * *end);
extern const guint glib_binary_age;
extern const gchar *glib_check_version(guint required_major,
guint required_minor,
guint required_micro);
extern const guint glib_interface_age;
extern const guint glib_major_version;
extern GMemVTable *glib_mem_profiler_table;
extern const guint glib_micro_version;
extern const guint glib_minor_version; |
extern gint g_fprintf(FILE * file, const gchar * format, ...); extern gint g_printf(const gchar * format, ...); extern gint g_snprintf(gchar * string, gulong n, const gchar * format, ...); extern gint g_sprintf(gchar * string, const gchar * format, ...); extern gint g_vasprintf(gchar * *string, const gchar * format, va_list args); extern gint g_vfprintf(FILE * file, const gchar * format, va_list args); extern gint g_vprintf(const gchar * format, va_list args); extern gint g_vsnprintf(gchar * string, gulong n, const gchar * format, va_list args); extern gint g_vsprintf(gchar * string, const gchar * format, va_list args); |
#define g_access access #define g_chdir chdir #define g_chmod chmod #define g_creat creat #define g_fopen fopen #define g_freopen freopen #define g_lstat lstat #define g_mkdir mkdir #define g_open open #define g_remove remove #define g_rename rename #define g_rmdir rmdir #define g_stat stat #define g_unlink unlink |
The interfaces defined on the following pages are included in libglib-2.0 and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.
Other interfaces listed in Section 16.2 shall behave as described in the referenced base document.
The interface g_cache_value_foreach() shall behave as described in Glib 2.8.6 Reference Manual. However, this interface is deprecated and should not be used in newly-written code, because it passes pointers to unspecified internal data structures to func. Use g_cache_key_foreach() instead.
Table 16-54 defines the library name and shared object name for the libgobject-2.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Gobject 2.8] Gobject 2.8.6 Reference Manual |
| [LSB] This Specification |
An LSB conforming implementation shall provide the generic functions for Gobject GTypeModule specified in Table 16-55, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-55. libgobject-2.0 - Gobject GTypeModule Function Interfaces
| g_type_module_add_interface [Gobject 2.8] | g_type_module_get_type [Gobject 2.8] |
| g_type_module_register_enum [Gobject 2.8] | g_type_module_register_flags [Gobject 2.8] |
| g_type_module_register_type [Gobject 2.8] | g_type_module_set_name [Gobject 2.8] |
| g_type_module_unuse [Gobject 2.8] | g_type_module_use [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject Enums and Flags specified in Table 16-56, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-56. libgobject-2.0 - Gobject Enums and Flags Function Interfaces
| g_enum_complete_type_info [Gobject 2.8] | g_enum_get_value [Gobject 2.8] |
| g_enum_get_value_by_name [Gobject 2.8] | g_enum_get_value_by_nick [Gobject 2.8] |
| g_enum_register_static [Gobject 2.8] | g_flags_complete_type_info [Gobject 2.8] |
| g_flags_get_first_value [Gobject 2.8] | g_flags_get_value_by_name [Gobject 2.8] |
| g_flags_get_value_by_nick [Gobject 2.8] | g_flags_register_static [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject Signals specified in Table 16-57, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-57. libgobject-2.0 - Gobject Signals Function Interfaces
| g_signal_accumulator_true_handled [Gobject 2.8] | g_signal_add_emission_hook [Gobject 2.8] |
| g_signal_chain_from_overridden [Gobject 2.8] | g_signal_connect_closure [Gobject 2.8] |
| g_signal_connect_closure_by_id [Gobject 2.8] | g_signal_connect_data [Gobject 2.8] |
| g_signal_connect_object [Gobject 2.8] | g_signal_emit [Gobject 2.8] |
| g_signal_emit_by_name [Gobject 2.8] | g_signal_emit_valist [Gobject 2.8] |
| g_signal_emitv [Gobject 2.8] | g_signal_get_invocation_hint [Gobject 2.8] |
| g_signal_handler_block [Gobject 2.8] | g_signal_handler_disconnect [Gobject 2.8] |
| g_signal_handler_find [Gobject 2.8] | g_signal_handler_is_connected [Gobject 2.8] |
| g_signal_handler_unblock [Gobject 2.8] | g_signal_handlers_block_matched [Gobject 2.8] |
| g_signal_handlers_destroy [Gobject 2.8] | g_signal_handlers_disconnect_matched [Gobject 2.8] |
| g_signal_handlers_unblock_matched [Gobject 2.8] | g_signal_has_handler_pending [Gobject 2.8] |
| g_signal_list_ids [Gobject 2.8] | g_signal_lookup [Gobject 2.8] |
| g_signal_name [Gobject 2.8] | g_signal_new [Gobject 2.8] |
| g_signal_new_valist [Gobject 2.8] | g_signal_newv [Gobject 2.8] |
| g_signal_override_class_closure [Gobject 2.8] | g_signal_parse_name [Gobject 2.8] |
| g_signal_query [Gobject 2.8] | g_signal_remove_emission_hook [Gobject 2.8] |
| g_signal_stop_emission [Gobject 2.8] | g_signal_stop_emission_by_name [Gobject 2.8] |
| g_signal_type_cclosure_new [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject Value arrays specified in Table 16-58, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-58. libgobject-2.0 - Gobject Value arrays Function Interfaces
| g_value_array_append [Gobject 2.8] | g_value_array_copy [Gobject 2.8] |
| g_value_array_free [Gobject 2.8] | g_value_array_get_nth [Gobject 2.8] |
| g_value_array_insert [Gobject 2.8] | g_value_array_new [Gobject 2.8] |
| g_value_array_prepend [Gobject 2.8] | g_value_array_remove [Gobject 2.8] |
| g_value_array_sort [Gobject 2.8] | g_value_array_sort_with_data [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject Generic Values specified in Table 16-59, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-59. libgobject-2.0 - Gobject Generic Values Function Interfaces
| g_strdup_value_contents [Gobject 2.8] | g_value_array_get_type [Gobject 2.8] |
| g_value_copy [Gobject 2.8] | g_value_fits_pointer [Gobject 2.8] |
| g_value_get_type [Gobject 2.8] | g_value_init [Gobject 2.8] |
| g_value_peek_pointer [Gobject 2.8] | g_value_register_transform_func [Gobject 2.8] |
| g_value_reset [Gobject 2.8] | g_value_set_instance [LSB] |
| g_value_transform [Gobject 2.8] | g_value_type_compatible [Gobject 2.8] |
| g_value_type_transformable [Gobject 2.8] | g_value_unset [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject Parameters and Values specified in Table 16-60, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-60. libgobject-2.0 - Gobject Parameters and Values Function Interfaces
| g_param_spec_boolean [Gobject 2.8] | g_param_spec_boxed [Gobject 2.8] |
| g_param_spec_char [Gobject 2.8] | g_param_spec_double [Gobject 2.8] |
| g_param_spec_enum [Gobject 2.8] | g_param_spec_flags [Gobject 2.8] |
| g_param_spec_float [Gobject 2.8] | g_param_spec_int [Gobject 2.8] |
| g_param_spec_int64 [Gobject 2.8] | g_param_spec_long [Gobject 2.8] |
| g_param_spec_object [Gobject 2.8] | g_param_spec_override [Gobject 2.8] |
| g_param_spec_param [Gobject 2.8] | g_param_spec_pointer [Gobject 2.8] |
| g_param_spec_string [Gobject 2.8] | g_param_spec_uchar [Gobject 2.8] |
| g_param_spec_uint [Gobject 2.8] | g_param_spec_uint64 [Gobject 2.8] |
| g_param_spec_ulong [Gobject 2.8] | g_param_spec_unichar [Gobject 2.8] |
| g_param_spec_value_array [Gobject 2.8] | g_value_dup_boxed [Gobject 2.8] |
| g_value_dup_object [Gobject 2.8] | g_value_dup_param [Gobject 2.8] |
| g_value_dup_string [Gobject 2.8] | g_value_get_boolean [Gobject 2.8] |
| g_value_get_boxed [Gobject 2.8] | g_value_get_char [Gobject 2.8] |
| g_value_get_double [Gobject 2.8] | g_value_get_enum [Gobject 2.8] |
| g_value_get_flags [Gobject 2.8] | g_value_get_float [Gobject 2.8] |
| g_value_get_int [Gobject 2.8] | g_value_get_int64 [Gobject 2.8] |
| g_value_get_long [Gobject 2.8] | g_value_get_object [Gobject 2.8] |
| g_value_get_param [Gobject 2.8] | g_value_get_pointer [Gobject 2.8] |
| g_value_get_string [Gobject 2.8] | g_value_get_uchar [Gobject 2.8] |
| g_value_get_uint [Gobject 2.8] | g_value_get_uint64 [Gobject 2.8] |
| g_value_get_ulong [Gobject 2.8] | g_value_set_boolean [Gobject 2.8] |
| g_value_set_boxed [Gobject 2.8] | g_value_set_char [Gobject 2.8] |
| g_value_set_double [Gobject 2.8] | g_value_set_enum [Gobject 2.8] |
| g_value_set_flags [Gobject 2.8] | g_value_set_float [Gobject 2.8] |
| g_value_set_int [Gobject 2.8] | g_value_set_int64 [Gobject 2.8] |
| g_value_set_long [Gobject 2.8] | g_value_set_object [Gobject 2.8] |
| g_value_set_param [Gobject 2.8] | g_value_set_pointer [Gobject 2.8] |
| g_value_set_static_boxed [Gobject 2.8] | g_value_set_static_string [Gobject 2.8] |
| g_value_set_string [Gobject 2.8] | g_value_set_uchar [Gobject 2.8] |
| g_value_set_uint [Gobject 2.8] | g_value_set_uint64 [Gobject 2.8] |
| g_value_set_ulong [Gobject 2.8] | g_value_take_boxed [Gobject 2.8] |
| g_value_take_object [Gobject 2.8] | g_value_take_param [Gobject 2.8] |
| g_value_take_string [Gobject 2.8] |
An LSB conforming implementation shall provide the generic data interfaces for Gobject Parameters and Values specified in Table 16-61, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-61. libgobject-2.0 - Gobject Parameters and Values Data Interfaces
| g_param_spec_types [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject GParamSpec specified in Table 16-62, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-62. libgobject-2.0 - Gobject GParamSpec Function Interfaces
| g_param_spec_get_blurb [Gobject 2.8] | g_param_spec_get_name [Gobject 2.8] |
| g_param_spec_get_nick [Gobject 2.8] | g_param_spec_get_qdata [Gobject 2.8] |
| g_param_spec_get_redirect_target [Gobject 2.8] | g_param_spec_internal [Gobject 2.8] |
| g_param_spec_pool_insert [Gobject 2.8] | g_param_spec_pool_list [Gobject 2.8] |
| g_param_spec_pool_list_owned [Gobject 2.8] | g_param_spec_pool_lookup [Gobject 2.8] |
| g_param_spec_pool_new [Gobject 2.8] | g_param_spec_pool_remove [Gobject 2.8] |
| g_param_spec_ref [Gobject 2.8] | g_param_spec_set_qdata [Gobject 2.8] |
| g_param_spec_set_qdata_full [Gobject 2.8] | g_param_spec_sink [Gobject 2.8] |
| g_param_spec_steal_qdata [Gobject 2.8] | g_param_spec_unref [Gobject 2.8] |
| g_param_type_register_static [Gobject 2.8] | g_param_value_convert [Gobject 2.8] |
| g_param_value_defaults [Gobject 2.8] | g_param_value_set_default [Gobject 2.8] |
| g_param_value_validate [Gobject 2.8] | g_param_values_cmp [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject GBoxed specified in Table 16-63, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-63. libgobject-2.0 - Gobject GBoxed Function Interfaces
| g_boxed_copy [Gobject 2.8] | g_boxed_free [Gobject 2.8] |
| g_boxed_type_register_static [Gobject 2.8] | g_gstring_get_type [Gobject 2.8] |
| g_pointer_type_register_static [Gobject 2.8] | g_strv_get_type [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject Closures specified in Table 16-64, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-64. libgobject-2.0 - Gobject Closures Function Interfaces
| g_cclosure_marshal_BOOLEAN__FLAGS [Gobject 2.8] | g_cclosure_marshal_STRING__OBJECT_POINTER [Gobject 2.8] |
| g_cclosure_marshal_VOID__BOOLEAN [Gobject 2.8] | g_cclosure_marshal_VOID__BOXED [Gobject 2.8] |
| g_cclosure_marshal_VOID__CHAR [Gobject 2.8] | g_cclosure_marshal_VOID__DOUBLE [Gobject 2.8] |
| g_cclosure_marshal_VOID__ENUM [Gobject 2.8] | g_cclosure_marshal_VOID__FLAGS [Gobject 2.8] |
| g_cclosure_marshal_VOID__FLOAT [Gobject 2.8] | g_cclosure_marshal_VOID__INT [Gobject 2.8] |
| g_cclosure_marshal_VOID__LONG [Gobject 2.8] | g_cclosure_marshal_VOID__OBJECT [Gobject 2.8] |
| g_cclosure_marshal_VOID__PARAM [Gobject 2.8] | g_cclosure_marshal_VOID__POINTER [Gobject 2.8] |
| g_cclosure_marshal_VOID__STRING [Gobject 2.8] | g_cclosure_marshal_VOID__UCHAR [Gobject 2.8] |
| g_cclosure_marshal_VOID__UINT [Gobject 2.8] | g_cclosure_marshal_VOID__UINT_POINTER [Gobject 2.8] |
| g_cclosure_marshal_VOID__ULONG [Gobject 2.8] | g_cclosure_marshal_VOID__VOID [Gobject 2.8] |
| g_cclosure_new [Gobject 2.8] | g_cclosure_new_object [Gobject 2.8] |
| g_cclosure_new_object_swap [Gobject 2.8] | g_cclosure_new_swap [Gobject 2.8] |
| g_closure_add_finalize_notifier [Gobject 2.8] | g_closure_add_invalidate_notifier [Gobject 2.8] |
| g_closure_add_marshal_guards [Gobject 2.8] | g_closure_invalidate [Gobject 2.8] |
| g_closure_invoke [Gobject 2.8] | g_closure_new_object [Gobject 2.8] |
| g_closure_new_simple [Gobject 2.8] | g_closure_ref [Gobject 2.8] |
| g_closure_remove_finalize_notifier [Gobject 2.8] | g_closure_remove_invalidate_notifier [Gobject 2.8] |
| g_closure_set_marshal [Gobject 2.8] | g_closure_set_meta_marshal [Gobject 2.8] |
| g_closure_sink [Gobject 2.8] | g_closure_unref [Gobject 2.8] |
| g_source_set_closure [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject Gobject specified in Table 16-65, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-65. libgobject-2.0 - Gobject Gobject Function Interfaces
| g_object_add_toggle_ref [Gobject 2.8] | g_object_add_weak_pointer [Gobject 2.8] |
| g_object_class_find_property [Gobject 2.8] | g_object_class_install_property [Gobject 2.8] |
| g_object_class_list_properties [Gobject 2.8] | g_object_class_override_property [Gobject 2.8] |
| g_object_connect [Gobject 2.8] | g_object_disconnect [Gobject 2.8] |
| g_object_freeze_notify [Gobject 2.8] | g_object_get [Gobject 2.8] |
| g_object_get_data [Gobject 2.8] | g_object_get_property [Gobject 2.8] |
| g_object_get_qdata [Gobject 2.8] | g_object_get_valist [Gobject 2.8] |
| g_object_interface_find_property [Gobject 2.8] | g_object_interface_install_property [Gobject 2.8] |
| g_object_interface_list_properties [Gobject 2.8] | g_object_new [Gobject 2.8] |
| g_object_new_valist [Gobject 2.8] | g_object_newv [Gobject 2.8] |
| g_object_notify [Gobject 2.8] | g_object_ref [Gobject 2.8] |
| g_object_remove_toggle_ref [Gobject 2.8] | g_object_remove_weak_pointer [Gobject 2.8] |
| g_object_run_dispose [Gobject 2.8] | g_object_set [Gobject 2.8] |
| g_object_set_data [Gobject 2.8] | g_object_set_data_full [Gobject 2.8] |
| g_object_set_property [Gobject 2.8] | g_object_set_qdata [Gobject 2.8] |
| g_object_set_qdata_full [Gobject 2.8] | g_object_set_valist [Gobject 2.8] |
| g_object_steal_data [Gobject 2.8] | g_object_steal_qdata [Gobject 2.8] |
| g_object_thaw_notify [Gobject 2.8] | g_object_unref [Gobject 2.8] |
| g_object_watch_closure [Gobject 2.8] | g_object_weak_ref [Gobject 2.8] |
| g_object_weak_unref [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject GType specified in Table 16-66, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-66. libgobject-2.0 - Gobject GType Function Interfaces
| g_closure_get_type [Gobject 2.8] | g_io_channel_get_type [Gobject 2.8] |
| g_io_condition_get_type [Gobject 2.8] | g_type_add_class_cache_func [Gobject 2.8] |
| g_type_add_interface_check [Gobject 2.8] | g_type_add_interface_dynamic [Gobject 2.8] |
| g_type_add_interface_static [Gobject 2.8] | g_type_check_class_cast [Gobject 2.8] |
| g_type_check_class_is_a [Gobject 2.8] | g_type_check_instance [Gobject 2.8] |
| g_type_check_instance_cast [Gobject 2.8] | g_type_check_instance_is_a [Gobject 2.8] |
| g_type_check_is_value_type [Gobject 2.8] | g_type_check_value [Gobject 2.8] |
| g_type_check_value_holds [Gobject 2.8] | g_type_children [Gobject 2.8] |
| g_type_class_add_private [Gobject 2.8] | g_type_class_peek [Gobject 2.8] |
| g_type_class_peek_parent [Gobject 2.8] | g_type_class_peek_static [Gobject 2.8] |
| g_type_class_ref [Gobject 2.8] | g_type_class_unref [Gobject 2.8] |
| g_type_class_unref_uncached [Gobject 2.8] | g_type_create_instance [Gobject 2.8] |
| g_type_default_interface_peek [Gobject 2.8] | g_type_default_interface_ref [Gobject 2.8] |
| g_type_default_interface_unref [Gobject 2.8] | g_type_depth [Gobject 2.8] |
| g_type_free_instance [Gobject 2.8] | g_type_from_name [Gobject 2.8] |
| g_type_fundamental [Gobject 2.8] | g_type_fundamental_next [Gobject 2.8] |
| g_type_get_plugin [Gobject 2.8] | g_type_get_qdata [Gobject 2.8] |
| g_type_init [Gobject 2.8] | g_type_init_with_debug_flags [Gobject 2.8] |
| g_type_instance_get_private [Gobject 2.8] | g_type_interface_add_prerequisite [Gobject 2.8] |
| g_type_interface_get_plugin [Gobject 2.8] | g_type_interface_peek [Gobject 2.8] |
| g_type_interface_peek_parent [Gobject 2.8] | g_type_interface_prerequisites [Gobject 2.8] |
| g_type_interfaces [Gobject 2.8] | g_type_is_a [Gobject 2.8] |
| g_type_name [Gobject 2.8] | g_type_name_from_class [LSB] |
| g_type_name_from_instance [LSB] | g_type_next_base [Gobject 2.8] |
| g_type_parent [Gobject 2.8] | g_type_qname [Gobject 2.8] |
| g_type_query [Gobject 2.8] | g_type_register_dynamic [Gobject 2.8] |
| g_type_register_fundamental [Gobject 2.8] | g_type_register_static [Gobject 2.8] |
| g_type_remove_class_cache_func [Gobject 2.8] | g_type_remove_interface_check [Gobject 2.8] |
| g_type_set_qdata [Gobject 2.8] | g_type_test_flags [Gobject 2.8] |
| g_type_value_table_peek [Gobject 2.8] |
An LSB conforming implementation shall provide the generic functions for Gobject GTypePlugin specified in Table 16-67, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-67. libgobject-2.0 - Gobject GTypePlugin Function Interfaces
| g_type_plugin_complete_interface_info [Gobject 2.8] | g_type_plugin_complete_type_info [Gobject 2.8] |
| g_type_plugin_get_type [Gobject 2.8] | g_type_plugin_unuse [Gobject 2.8] |
| g_type_plugin_use [Gobject 2.8] |
This section defines global identifiers and their values that are associated with interfaces contained in libgobject-2.0. 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.
#define G_CLOSURE_NEEDS_MARSHAL(closure) \
(((GClosure*) (closure))->marshal == NULL)
#define G_TYPE_FROM_INTERFACE(g_iface) \
(((GTypeInterface*) (g_iface))->g_type)
#define G_CLOSURE_N_NOTIFIERS(cl) \
((cl)->meta_marshal + ((cl)->n_guards << 1L) + (cl)->n_fnotifiers + \
(cl)->n_inotifiers)
#define _G_TYPE_CCC(cp,gt,ct) \
((ct*) g_type_check_class_cast ((GTypeClass*) cp, gt))
#define _G_TYPE_CIC(ip,gt,ct) \
((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
#define _G_TYPE_IGI(ip,gt,ct) \
((ct*) g_type_interface_peek (((GTypeInstance*) ip)->g_class, gt))
#define G_TYPE_INSTANCE_GET_PRIVATE(instance,g_type,c_type) \
((c_type*) g_type_instance_get_private ((GTypeInstance*) (instance), \
(g_type)))
#define G_TYPE_MAKE_FUNDAMENTAL(x) \
((GType) ((x) << G_TYPE_FUNDAMENTAL_SHIFT))
#define _G_TYPE_CCT(cp,gt) \
(G_GNUC_EXTENSION ({ GTypeClass *__class = (GTypeClass*) cp; GType \
__t = gt; gboolean __r; if (__class && __class->g_type == __t) __r = \
TRUE; else __r = g_type_check_class_is_a (__class, __t); __r; }))
#define _G_TYPE_CIT(ip,gt) \
(G_GNUC_EXTENSION ({ GTypeInstance *__inst = (GTypeInstance*) ip; \
GType __t = gt; gboolean __r; if (__inst && __inst->g_class && \
__inst->g_class->g_type == __t) __r = TRUE; else __r = \
g_type_check_instance_is_a (__inst, __t); __r; }))
#define _G_TYPE_CVH(vl,gt) \
(G_GNUC_EXTENSION ({ GValue *__val = (GValue*) vl; GType __t = gt; \
gboolean __r; if (__val && __val->g_type == __t) __r = TRUE; else __r \
= g_type_check_value_holds (__val, __t); __r; }))
#define G_ENUM_CLASS(class) \
(G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_ENUM, GEnumClass))
#define G_FLAGS_CLASS(class) \
(G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_FLAGS, GFlagsClass))
#define G_OBJECT_CLASS(class) \
(G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_OBJECT, GObjectClass))
#define G_TYPE_MODULE_CLASS(class) \
(G_TYPE_CHECK_CLASS_CAST ((class), G_TYPE_TYPE_MODULE, \
GTypeModuleClass))
#define G_PARAM_SPEC_CLASS(pclass) \
(G_TYPE_CHECK_CLASS_CAST ((pclass), G_TYPE_PARAM, GParamSpecClass))
#define G_TYPE_PLUGIN_CLASS(vtable) \
(G_TYPE_CHECK_CLASS_CAST ((vtable), G_TYPE_TYPE_PLUGIN, \
GTypePluginClass))
#define G_IS_ENUM_CLASS(class) \
(G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_ENUM))
#define G_IS_FLAGS_CLASS(class) \
(G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_FLAGS))
#define G_IS_OBJECT_CLASS(class) \
(G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_OBJECT))
#define G_IS_TYPE_MODULE_CLASS(class) \
(G_TYPE_CHECK_CLASS_TYPE ((class), G_TYPE_TYPE_MODULE))
#define G_IS_PARAM_SPEC_CLASS(pclass) \
(G_TYPE_CHECK_CLASS_TYPE ((pclass), G_TYPE_PARAM))
#define G_IS_TYPE_PLUGIN_CLASS(vtable) \
(G_TYPE_CHECK_CLASS_TYPE ((vtable), G_TYPE_TYPE_PLUGIN))
#define G_TYPE_PLUGIN(inst) \
(G_TYPE_CHECK_INSTANCE_CAST ((inst), G_TYPE_TYPE_PLUGIN, \
GTypePlugin))
#define G_TYPE_MODULE(module) \
(G_TYPE_CHECK_INSTANCE_CAST ((module), G_TYPE_TYPE_MODULE, \
GTypeModule))
#define G_OBJECT(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_OBJECT, GObject))
#define G_PARAM_SPEC(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM, GParamSpec))
#define G_PARAM_SPEC_BOOLEAN(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, \
GParamSpecBoolean))
#define G_PARAM_SPEC_BOXED(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, \
GParamSpecBoxed))
#define G_PARAM_SPEC_CHAR(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, \
GParamSpecChar))
#define G_PARAM_SPEC_DOUBLE(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, \
GParamSpecDouble))
#define G_PARAM_SPEC_ENUM(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, \
GParamSpecEnum))
#define G_PARAM_SPEC_FLAGS(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, \
GParamSpecFlags))
#define G_PARAM_SPEC_FLOAT(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, \
GParamSpecFloat))
#define G_PARAM_SPEC_INT(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, \
GParamSpecInt))
#define G_PARAM_SPEC_INT64(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, \
GParamSpecInt64))
#define G_PARAM_SPEC_LONG(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, \
GParamSpecLong))
#define G_PARAM_SPEC_OBJECT(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, \
GParamSpecObject))
#define G_PARAM_SPEC_OVERRIDE(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, \
GParamSpecOverride))
#define G_PARAM_SPEC_PARAM(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, \
GParamSpecParam))
#define G_PARAM_SPEC_POINTER(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, \
GParamSpecPointer))
#define G_PARAM_SPEC_STRING(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, \
GParamSpecString))
#define G_PARAM_SPEC_UCHAR(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, \
GParamSpecUChar))
#define G_PARAM_SPEC_UINT(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, \
GParamSpecUInt))
#define G_PARAM_SPEC_UINT64(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, \
GParamSpecUInt64))
#define G_PARAM_SPEC_ULONG(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, \
GParamSpecULong))
#define G_PARAM_SPEC_UNICHAR(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, \
GParamSpecUnichar))
#define G_PARAM_SPEC_VALUE_ARRAY(pspec) \
(G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, \
GParamSpecValueArray))
#define G_IS_TYPE_PLUGIN(inst) \
(G_TYPE_CHECK_INSTANCE_TYPE ((inst), G_TYPE_TYPE_PLUGIN))
#define G_IS_TYPE_MODULE(module) \
(G_TYPE_CHECK_INSTANCE_TYPE ((module), G_TYPE_TYPE_MODULE))
#define G_IS_OBJECT(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), G_TYPE_OBJECT))
#define G_IS_PARAM_SPEC(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM))
#define G_IS_PARAM_SPEC_BOOLEAN(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
#define G_IS_PARAM_SPEC_BOXED(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED))
#define G_IS_PARAM_SPEC_CHAR(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
#define G_IS_PARAM_SPEC_DOUBLE(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
#define G_IS_PARAM_SPEC_ENUM(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
#define G_IS_PARAM_SPEC_FLAGS(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
#define G_IS_PARAM_SPEC_FLOAT(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
#define G_IS_PARAM_SPEC_INT(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
#define G_IS_PARAM_SPEC_INT64(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64))
#define G_IS_PARAM_SPEC_LONG(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
#define G_IS_PARAM_SPEC_OBJECT(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
#define G_IS_PARAM_SPEC_OVERRIDE(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE))
#define G_IS_PARAM_SPEC_PARAM(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM))
#define G_IS_PARAM_SPEC_POINTER(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER))
#define G_IS_PARAM_SPEC_STRING(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
#define G_IS_PARAM_SPEC_UCHAR(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
#define G_IS_PARAM_SPEC_UINT(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
#define G_IS_PARAM_SPEC_UINT64(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64))
#define G_IS_PARAM_SPEC_ULONG(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
#define G_IS_PARAM_SPEC_UNICHAR(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR))
#define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) \
(G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY))
#define G_VALUE_HOLDS(value,type) \
(G_TYPE_CHECK_VALUE_TYPE ((value), (type)))
#define G_VALUE_HOLDS_BOOLEAN(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOOLEAN))
#define G_VALUE_HOLDS_BOXED(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOXED))
#define G_VALUE_HOLDS_CHAR(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_CHAR))
#define G_VALUE_HOLDS_DOUBLE(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_DOUBLE))
#define G_VALUE_HOLDS_ENUM(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ENUM))
#define G_VALUE_HOLDS_FLAGS(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLAGS))
#define G_VALUE_HOLDS_FLOAT(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLOAT))
#define G_VALUE_HOLDS_INT(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT))
#define G_VALUE_HOLDS_INT64(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT64))
#define G_VALUE_HOLDS_LONG(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_LONG))
#define G_VALUE_HOLDS_OBJECT(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_OBJECT))
#define G_VALUE_HOLDS_PARAM(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_PARAM))
#define G_VALUE_HOLDS_POINTER(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_POINTER))
#define G_VALUE_HOLDS_STRING(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_STRING))
#define G_VALUE_HOLDS_UCHAR(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UCHAR))
#define G_VALUE_HOLDS_UINT(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT))
#define G_VALUE_HOLDS_UINT64(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT64))
#define G_VALUE_HOLDS_ULONG(value) \
(G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ULONG))
#define G_TYPE_FROM_INSTANCE(instance) \
(G_TYPE_FROM_CLASS (((GTypeInstance*) (instance))->g_class))
#define G_TYPE_IS_INTERFACE(type) \
(G_TYPE_FUNDAMENTAL (type) == G_TYPE_INTERFACE)
#define G_TYPE_IS_OBJECT(type) \
(G_TYPE_FUNDAMENTAL (type) == G_TYPE_OBJECT)
#define G_TYPE_MODULE_GET_CLASS(module) \
(G_TYPE_INSTANCE_GET_CLASS ((module), G_TYPE_TYPE_MODULE, \
GTypeModuleClass))
#define G_OBJECT_GET_CLASS(object) \
(G_TYPE_INSTANCE_GET_CLASS ((object), G_TYPE_OBJECT, GObjectClass))
#define G_PARAM_SPEC_GET_CLASS(pspec) \
(G_TYPE_INSTANCE_GET_CLASS ((pspec), G_TYPE_PARAM, GParamSpecClass))
#define G_TYPE_PLUGIN_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), G_TYPE_TYPE_PLUGIN, \
GTypePluginClass))
#define G_ENUM_CLASS_TYPE_NAME(class) \
(g_type_name (G_ENUM_CLASS_TYPE (class)))
#define G_FLAGS_CLASS_TYPE_NAME(class) \
(g_type_name (G_FLAGS_TYPE (class)))
#define G_OBJECT_CLASS_NAME(class) \
(g_type_name (G_OBJECT_CLASS_TYPE (class)))
#define G_PARAM_SPEC_TYPE_NAME(pspec) \
(g_type_name (G_PARAM_SPEC_TYPE (pspec)))
#define G_TYPE_IS_ABSTRACT(type) \
(g_type_test_flags ((type), G_TYPE_FLAG_ABSTRACT))
#define G_TYPE_IS_CLASSED(type) \
(g_type_test_flags ((type), G_TYPE_FLAG_CLASSED))
#define G_TYPE_IS_DEEP_DERIVABLE(type) \
(g_type_test_flags ((type), G_TYPE_FLAG_DEEP_DERIVABLE))
#define G_TYPE_IS_DERIVABLE(type) \
(g_type_test_flags ((type), G_TYPE_FLAG_DERIVABLE))
#define G_TYPE_IS_INSTANTIATABLE(type) \
(g_type_test_flags ((type), G_TYPE_FLAG_INSTANTIATABLE))
#define G_TYPE_IS_VALUE_ABSTRACT(type) \
(g_type_test_flags ((type), G_TYPE_FLAG_VALUE_ABSTRACT))
#define G_TYPE_HAS_VALUE_TABLE(type) \
(g_type_value_table_peek (type) != NULL)
#define G_TYPE_CHECK_CLASS_CAST(g_class,g_type,c_type) \
(_G_TYPE_CCC ((g_class), (g_type), c_type))
#define G_TYPE_CHECK_CLASS_TYPE(g_class,g_type) \
(_G_TYPE_CCT ((g_class), (g_type)))
#define G_TYPE_CHECK_INSTANCE(instance) \
(_G_TYPE_CHI ((GTypeInstance*) (instance)))
#define G_TYPE_CHECK_INSTANCE_CAST(instance,g_type,c_type) \
(_G_TYPE_CIC ((instance), (g_type), c_type))
#define G_TYPE_CHECK_INSTANCE_TYPE(instance,g_type) \
(_G_TYPE_CIT ((instance), (g_type)))
#define G_TYPE_CHECK_VALUE_TYPE(value,g_type) \
(_G_TYPE_CVH ((value), (g_type)))
#define G_TYPE_INSTANCE_GET_CLASS(instance,g_type,c_type) \
(_G_TYPE_IGC ((instance), (g_type), c_type))
#define G_TYPE_INSTANCE_GET_INTERFACE(instance,g_type,c_type) \
(_G_TYPE_IGI ((instance), (g_type), c_type))
#define G_DEFINE_TYPE_WITH_CODE(TN,t_n,T_P,_C_) \
G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, _C_)
#define G_DEFINE_TYPE(TN,t_n,T_P) \
G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, 0, {})
#define G_DEFINE_ABSTRACT_TYPE_WITH_CODE(TN,t_n,T_P,_C_) \
G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, _C_)
#define G_DEFINE_ABSTRACT_TYPE(TN,t_n,T_P) \
G_DEFINE_TYPE_EXTENDED (TN, t_n, T_P, G_TYPE_FLAG_ABSTRACT, {})
#define G_OBJECT_WARN_INVALID_PROPERTY_ID(object,property_id,pspec) \
G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), \
(pspec))
#define g_signal_connect(instance,detailed_signal,c_handler,data) \
g_signal_connect_data ((instance), (detailed_signal), (c_handler), \
(data), NULL, (GConnectFlags) 0)
#define g_signal_connect_after(instance,detailed_signal,c_handler,data) \
g_signal_connect_data ((instance), (detailed_signal), (c_handler), \
(data), NULL, G_CONNECT_AFTER)
#define g_signal_connect_swapped(instance,detailed_signal,c_handler,data) \
g_signal_connect_data ((instance), (detailed_signal), (c_handler), \
(data), NULL, G_CONNECT_SWAPPED)
#define g_signal_handlers_block_by_func(instance,func,data) \
g_signal_handlers_block_matched ((instance), (GSignalMatchType) \
(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, NULL, (func), \
(data))
#define g_signal_handlers_disconnect_by_func(instance,func,data) \
g_signal_handlers_disconnect_matched ((instance), (GSignalMatchType) \
(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, NULL, (func), \
(data))
#define g_signal_handlers_unblock_by_func(instance,func,data) \
g_signal_handlers_unblock_matched ((instance), (GSignalMatchType) \
(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), 0, 0, NULL, (func), \
(data))
#define G_OBJECT_WARN_INVALID_PSPEC(object,pname,property_id,pspec) \
G_STMT_START { GObject *_object = (GObject*) (object); GParamSpec \
*_pspec = (GParamSpec*) (pspec); guint _property_id = (property_id); \
g_warning ("%s: invalid %s id %u for \"%s\" of type %s in %s", \
G_STRLOC, (pname), _property_id, _pspec->name, g_type_name \
(G_PARAM_SPEC_TYPE (_pspec)), G_OBJECT_TYPE_NAME (_object)); } \
G_STMT_END
#define G_DEFINE_TYPE_EXTENDED(TypeName,type_name,TYPE_PARENT,flags,CODE) \
static void type_name ##_init (TypeName *self); static void type_name \
##_class_init (TypeName ##Class *klass); static gpointer type_name \
##_parent_class = NULL; static void type_name ##_class_intern_init \
(gpointer klass) { type_name ##_parent_class = \
g_type_class_peek_parent (klass); type_name ##_class_init ((TypeName \
##Class*) klass); } GType type_name ##_get_type (void) { static GType \
g_define_type_id = 0; if (G_UNLIKELY (g_define_type_id == 0)) { static \
const GTypeInfo g_define_type_info = { sizeof (TypeName ##Class), \
(GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) \
type_name ##_class_intern_init, (GClassFinalizeFunc) NULL, NULL, \
sizeof (TypeName), 0, (GInstanceInitFunc) type_name ##_init, NULL }; \
g_define_type_id = g_type_register_static (TYPE_PARENT, #TypeName, \
&g_define_type_info, (GTypeFlags) flags); { CODE ; } } return \
g_define_type_id; }
#define G_IMPLEMENT_INTERFACE(TYPE_IFACE,iface_init) \
{ static const GInterfaceInfo g_implement_interface_info = { \
(GInterfaceInitFunc) iface_init }; g_type_add_interface_static \
(g_define_type_id, TYPE_IFACE, &g_implement_interface_info); }
#define G_CCLOSURE_SWAP_DATA(cclosure) \
(((GClosure*) (cclosure))->derivative_flag)
#define G_TYPE_FROM_CLASS(g_class) (((GTypeClass*) (g_class))->g_type)
#define G_VALUE_TYPE(value) (((GValue*) (value))->g_type)
#define _G_TYPE_IGC(ip,gt,ct) ((ct*) (((GTypeInstance*) ip)->g_class))
#define G_CALLBACK(f) ((GCallback) (f))
#define G_TYPE_FLAG_RESERVED_ID_BIT ((GType) (1 << 0))
#define G_TYPE_IS_FUNDAMENTAL(type) ((type) <= G_TYPE_FUNDAMENTAL_MAX)
#define G_TYPE_IS_DERIVED(type) ((type) > G_TYPE_FUNDAMENTAL_MAX)
#define G_PARAM_MASK (0x000000ff)
#define G_VALUE_NOCOPY_CONTENTS (1 << 27)
#define G_TYPE_FUNDAMENTAL_SHIFT (2)
#define G_TYPE_RESERVED_GLIB_FIRST (21)
#define G_TYPE_FUNDAMENTAL_MAX (255 << G_TYPE_FUNDAMENTAL_SHIFT)
#define G_TYPE_RESERVED_GLIB_LAST (31)
#define G_TYPE_RESERVED_BSE_FIRST (32)
#define G_TYPE_RESERVED_BSE_LAST (48)
#define G_TYPE_RESERVED_USER_FIRST (49)
#define G_PARAM_USER_SHIFT (8)
#define G_TYPE_CLOSURE (g_closure_get_type ())
#define G_TYPE_GSTRING (g_gstring_get_type ())
#define G_TYPE_IO_CHANNEL (g_io_channel_get_type ())
#define G_TYPE_IO_CONDITION (g_io_condition_get_type ())
#define G_PARAM_READWRITE (G_PARAM_READABLE | G_PARAM_WRITABLE)
#define G_PARAM_SPEC_VALUE_TYPE(pspec) (G_PARAM_SPEC (pspec)->value_type)
#define G_TYPE_PARAM_CHAR (g_param_spec_types[0])
#define G_TYPE_PARAM_ENUM (g_param_spec_types[10])
#define G_TYPE_PARAM_FLAGS (g_param_spec_types[11])
#define G_TYPE_PARAM_FLOAT (g_param_spec_types[12])
#define G_TYPE_PARAM_DOUBLE (g_param_spec_types[13])
#define G_TYPE_PARAM_STRING (g_param_spec_types[14])
#define G_TYPE_PARAM_PARAM (g_param_spec_types[15])
#define G_TYPE_PARAM_BOXED (g_param_spec_types[16])
#define G_TYPE_PARAM_POINTER (g_param_spec_types[17])
#define G_TYPE_PARAM_VALUE_ARRAY (g_param_spec_types[18])
#define G_TYPE_PARAM_OBJECT (g_param_spec_types[19])
#define G_TYPE_PARAM_UCHAR (g_param_spec_types[1])
#define G_TYPE_PARAM_OVERRIDE (g_param_spec_types[20])
#define G_TYPE_PARAM_BOOLEAN (g_param_spec_types[2])
#define G_TYPE_PARAM_INT (g_param_spec_types[3])
#define G_TYPE_PARAM_UINT (g_param_spec_types[4])
#define G_TYPE_PARAM_LONG (g_param_spec_types[5])
#define G_TYPE_PARAM_ULONG (g_param_spec_types[6])
#define G_TYPE_PARAM_INT64 (g_param_spec_types[7])
#define G_TYPE_PARAM_UINT64 (g_param_spec_types[8])
#define G_TYPE_PARAM_UNICHAR (g_param_spec_types[9])
#define G_TYPE_STRV (g_strv_get_type ())
#define _G_TYPE_CHI(ip) (g_type_check_instance ((GTypeInstance*) ip))
#define G_TYPE_IS_VALUE(type) (g_type_check_is_value_type (type))
#define G_TYPE_IS_VALUE_TYPE(type) (g_type_check_is_value_type (type))
#define _G_TYPE_CHV(vl) (g_type_check_value ((GValue*) vl))
#define G_IS_VALUE(value) (G_TYPE_CHECK_VALUE (value))
#define G_SIGNAL_TYPE_STATIC_SCOPE (G_TYPE_FLAG_RESERVED_ID_BIT)
#define G_ENUM_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
#define G_FLAGS_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
#define G_OBJECT_CLASS_TYPE(class) (G_TYPE_FROM_CLASS (class))
#define G_OBJECT_TYPE(object) (G_TYPE_FROM_INSTANCE (object))
#define G_PARAM_SPEC_TYPE(pspec) (G_TYPE_FROM_INSTANCE (pspec))
#define G_TYPE_IS_BOXED(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_BOXED)
#define G_TYPE_IS_ENUM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_ENUM)
#define G_TYPE_IS_FLAGS(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_FLAGS)
#define G_TYPE_IS_PARAM(type) (G_TYPE_FUNDAMENTAL (type) == G_TYPE_PARAM)
#define G_TYPE_FUNDAMENTAL(type) (g_type_fundamental (type))
#define G_TYPE_TYPE_MODULE (g_type_module_get_type ())
#define G_OBJECT_TYPE_NAME(object) (g_type_name (G_OBJECT_TYPE (object)))
#define G_VALUE_TYPE_NAME(value) (g_type_name (G_VALUE_TYPE (value)))
#define G_TYPE_TYPE_PLUGIN (g_type_plugin_get_type ())
#define G_TYPE_VALUE_ARRAY (g_value_array_get_type ())
#define G_TYPE_VALUE (g_value_get_type ())
#define G_TYPE_CHECK_VALUE(value) (_G_TYPE_CHV ((value)))
#define G_SIGNAL_MATCH_MASK 0x3f
#define G_SIGNAL_FLAGS_MASK 0x7f
#define GOBJECT_VAR extern
#define g_cclosure_marshal_BOOL__FLAGS g_cclosure_marshal_BOOLEAN__FLAGS
#define G_TYPE_INVALID G_TYPE_MAKE_FUNDAMENTAL (0)
#define G_TYPE_NONE G_TYPE_MAKE_FUNDAMENTAL (1)
#define G_TYPE_INT64 G_TYPE_MAKE_FUNDAMENTAL (10)
#define G_TYPE_UINT64 G_TYPE_MAKE_FUNDAMENTAL (11)
#define G_TYPE_ENUM G_TYPE_MAKE_FUNDAMENTAL (12)
#define G_TYPE_FLAGS G_TYPE_MAKE_FUNDAMENTAL (13)
#define G_TYPE_FLOAT G_TYPE_MAKE_FUNDAMENTAL (14)
#define G_TYPE_DOUBLE G_TYPE_MAKE_FUNDAMENTAL (15)
#define G_TYPE_STRING G_TYPE_MAKE_FUNDAMENTAL (16)
#define G_TYPE_POINTER G_TYPE_MAKE_FUNDAMENTAL (17)
#define G_TYPE_BOXED G_TYPE_MAKE_FUNDAMENTAL (18)
#define G_TYPE_PARAM G_TYPE_MAKE_FUNDAMENTAL (19)
#define G_TYPE_INTERFACE G_TYPE_MAKE_FUNDAMENTAL (2)
#define G_TYPE_OBJECT G_TYPE_MAKE_FUNDAMENTAL (20)
#define G_TYPE_CHAR G_TYPE_MAKE_FUNDAMENTAL (3)
#define G_TYPE_UCHAR G_TYPE_MAKE_FUNDAMENTAL (4)
#define G_TYPE_BOOLEAN G_TYPE_MAKE_FUNDAMENTAL (5)
#define G_TYPE_INT G_TYPE_MAKE_FUNDAMENTAL (6)
#define G_TYPE_UINT G_TYPE_MAKE_FUNDAMENTAL (7)
#define G_TYPE_LONG G_TYPE_MAKE_FUNDAMENTAL (8)
#define G_TYPE_ULONG G_TYPE_MAKE_FUNDAMENTAL (9)
typedef gulong GType;
typedef struct _GTypeClass {
GType g_type;
} GTypeClass;
typedef struct _GTypeInstance {
GTypeClass *g_class;
} GTypeInstance;
typedef struct _GObject {
GTypeInstance g_type_instance;
volatile guint ref_count;
GData *qdata;
} GObject;
typedef float gfloat;
typedef struct _GValue {
GType g_type;
union {
gint v_int;
guint v_uint;
glong v_long;
gulong v_ulong;
gint64 v_int64;
guint64 v_uint64;
gfloat v_float;
gdouble v_double;
gpointer v_pointer;
} data[2];
} GValue;
typedef enum {
G_PARAM_READABLE = 1,
G_PARAM_WRITABLE = 2,
G_PARAM_CONSTRUCT = 4,
G_PARAM_CONSTRUCT_ONLY = 8,
G_PARAM_LAX_VALIDATION = 16,
G_PARAM_STATIC_NAME = 32,
G_PARAM_PRIVATE = G_PARAM_STATIC_NAME,
G_PARAM_STATIC_NICK = 64,
G_PARAM_STATIC_BLURB = 128
} GParamFlags;
typedef struct _GParamSpec {
GTypeInstance g_type_instance;
gchar *name;
GParamFlags flags;
GType value_type;
GType owner_type;
gchar *_nick;
gchar *_blurb;
GData *qdata;
guint ref_count;
guint param_id;
} GParamSpec;
typedef struct _GObjectConstructParam {
GParamSpec *pspec;
GValue *value;
} GObjectConstructParam;
typedef struct _GObjectClass {
GTypeClass g_type_class;
GSList *construct_properties;
GObject *(*constructor) (GType, guint, GObjectConstructParam *);
void (*set_property) (GObject *, guint, const GValue *, GParamSpec *);
void (*get_property) (GObject *, guint, GValue *, GParamSpec *);
void (*dispose) (GObject *);
void (*finalize) (GObject *);
void (*dispatch_properties_changed) (GObject *, guint, GParamSpec * *);
void (*notify) (GObject *, GParamSpec *);
gpointer pdummy[8];
} GObjectClass;
typedef struct _GClosure {
volatile guint ref_count:15;
volatile guint meta_marshal:1;
volatile guint n_guards:1;
volatile guint n_fnotifiers:2;
volatile guint n_inotifiers:8;
volatile guint in_inotify:1;
volatile guint floating:1;
volatile guint derivative_flag:1;
volatile guint in_marshal:1;
volatile guint is_invalid:1;
void (*marshal) (GClosure *, GValue *, guint, const GValue *, gpointer,
gpointer);
gpointer data;
GClosureNotifyData *notifiers;
} GClosure;
typedef void (*GClosureNotify) (gpointer, GClosure *);
typedef struct _GClosureNotifyData {
gpointer data;
GClosureNotify notify;
} GClosureNotifyData;
typedef void (*GTypeInterfaceCheckFunc) (gpointer, gpointer);
typedef struct _GValueArray {
guint n_values;
GValue *values;
guint n_prealloced;
} GValueArray;
typedef struct _GEnumValue {
gint value;
gchar *value_name;
gchar *value_nick;
} GEnumValue;
typedef struct _GEnumClass {
GTypeClass g_type_class;
gint minimum;
gint maximum;
guint n_values;
GEnumValue *values;
} GEnumClass;
typedef struct _GParamSpecPool GParamSpecPool;
typedef enum {
G_TYPE_DEBUG_NONE = 0,
G_TYPE_DEBUG_OBJECTS = 1,
G_TYPE_DEBUG_SIGNALS = 2,
G_TYPE_DEBUG_MASK = 3
} GTypeDebugFlags;
typedef struct _GTypePlugin GTypePlugin;
typedef enum {
G_SIGNAL_MATCH_ID = 1,
G_SIGNAL_MATCH_DETAIL = 2,
G_SIGNAL_MATCH_CLOSURE = 4,
G_SIGNAL_MATCH_FUNC = 8,
G_SIGNAL_MATCH_DATA = 16,
G_SIGNAL_MATCH_UNBLOCKED = 32
} GSignalMatchType;
typedef struct _GFlagsValue {
guint value;
gchar *value_name;
gchar *value_nick;
} GFlagsValue;
typedef void (*GClosureMarshal) (GClosure *, GValue *, guint,
const GValue *, gpointer, gpointer);
typedef void (*GCallback) (void);
typedef struct _GFlagsClass {
GTypeClass g_type_class;
guint mask;
guint n_values;
GFlagsValue *values;
} GFlagsClass;
typedef gboolean(*GTypeClassCacheFunc) (gpointer, GTypeClass *);
typedef enum {
G_SIGNAL_RUN_FIRST = 1,
G_SIGNAL_RUN_LAST = 2,
G_SIGNAL_RUN_CLEANUP = 4,
G_SIGNAL_NO_RECURSE = 8,
G_SIGNAL_DETAILED = 16,
G_SIGNAL_ACTION = 32,
G_SIGNAL_NO_HOOKS = 64
} GSignalFlags;
typedef struct _GSignalInvocationHint {
guint signal_id;
GQuark detail;
GSignalFlags run_type;
} GSignalInvocationHint;
typedef void (*GWeakNotify) (gpointer, GObject *);
typedef void (*GBaseInitFunc) (gpointer);
typedef void (*GBaseFinalizeFunc) (gpointer);
typedef void (*GClassInitFunc) (gpointer, gpointer);
typedef void (*GClassFinalizeFunc) (gpointer, gpointer);
typedef void (*GInstanceInitFunc) (GTypeInstance *, gpointer);
typedef union _GTypeCValue GTypeCValue;
typedef struct _GTypeValueTable {
void (*value_init) (GValue *);
void (*value_free) (GValue *);
void (*value_copy) (const GValue *, GValue *);
gpointer(*value_peek_pointer) (const GValue *);
gchar *collect_format;
gchar *(*collect_value) (GValue *, guint, GTypeCValue *, guint);
gchar *lcopy_format;
gchar *(*lcopy_value) (const GValue *, guint, GTypeCValue *, guint);
} GTypeValueTable;
typedef struct _GTypeInfo {
guint16 class_size;
GBaseInitFunc base_init;
GBaseFinalizeFunc base_finalize;
GClassInitFunc class_init;
GClassFinalizeFunc class_finalize;
gconstpointer class_data;
guint16 instance_size;
guint16 n_preallocs;
GInstanceInitFunc instance_init;
const GTypeValueTable *value_table;
} GTypeInfo;
typedef enum {
G_TYPE_FLAG_ABSTRACT = 16,
G_TYPE_FLAG_VALUE_ABSTRACT = 32
} GTypeFlags;
typedef struct _GTypeModule {
GObject parent_instance;
guint use_count;
GSList *type_infos;
GSList *interface_infos;
gchar *name;
} GTypeModule;
typedef void (*GInterfaceInitFunc) (gpointer, gpointer);
typedef void (*GInterfaceFinalizeFunc) (gpointer, gpointer);
typedef struct _GInterfaceInfo {
GInterfaceInitFunc interface_init;
GInterfaceFinalizeFunc interface_finalize;
gpointer interface_data;
} GInterfaceInfo;
typedef gboolean(*GSignalAccumulator) (GSignalInvocationHint *, GValue *,
const GValue *, gpointer);
typedef GClosureMarshal GSignalCMarshaller;
typedef enum {
G_CONNECT_AFTER = 1,
G_CONNECT_SWAPPED = 2
} GConnectFlags;
typedef enum {
G_TYPE_FLAG_CLASSED = 1,
G_TYPE_FLAG_INSTANTIATABLE = 2,
G_TYPE_FLAG_DERIVABLE = 4,
G_TYPE_FLAG_DEEP_DERIVABLE = 8
} GTypeFundamentalFlags;
typedef struct _GTypeFundamentalInfo {
GTypeFundamentalFlags type_flags;
} GTypeFundamentalInfo;
typedef struct _GTypeQuery {
GType type;
const gchar *type_name;
guint class_size;
guint instance_size;
} GTypeQuery;
typedef gboolean(*GSignalEmissionHook) (GSignalInvocationHint *, guint,
const GValue *, gpointer);
typedef void (*GValueTransform) (const GValue *, GValue *);
typedef struct _GParameter {
const gchar *name;
GValue value;
} GParameter;
typedef struct _GParamSpecTypeInfo {
guint16 instance_size;
guint16 n_preallocs;
void (*instance_init) (GParamSpec *);
GType value_type;
void (*finalize) (GParamSpec *);
void (*value_set_default) (GParamSpec *, GValue *);
gboolean(*value_validate) (GParamSpec *, GValue *);
gint(*values_cmp) (GParamSpec *, const GValue *, const GValue *);
} GParamSpecTypeInfo;
typedef gpointer(*GBoxedCopyFunc) (gpointer);
typedef void (*GBoxedFreeFunc) (gpointer);
typedef struct _GSignalQuery {
guint signal_id;
const gchar *signal_name;
GType itype;
GSignalFlags signal_flags;
GType return_type;
guint n_params;
const GType *param_types;
} GSignalQuery;
typedef struct _GTypeInterface {
GType g_type;
GType g_instance_type;
} GTypeInterface;
typedef void (*GTypePluginCompleteInterfaceInfo) (GTypePlugin *, GType,
GType, GInterfaceInfo *);
typedef struct _GParamSpecObject {
GParamSpec parent_instance;
} GParamSpecObject;
typedef void (*GTypePluginUnuse) (GTypePlugin *);
typedef void (*GTypePluginUse) (GTypePlugin *);
typedef void (*GTypePluginCompleteTypeInfo) (GTypePlugin *, GType,
GTypeInfo *,
GTypeValueTable *);
typedef struct _GTypePluginClass {
GTypeInterface base_iface;
GTypePluginUse use_plugin;
GTypePluginUnuse unuse_plugin;
GTypePluginCompleteTypeInfo complete_type_info;
GTypePluginCompleteInterfaceInfo complete_interface_info;
} GTypePluginClass;
typedef struct _GCClosure {
GClosure closure;
gpointer callback;
} GCClosure;
typedef struct _GParamSpecUnichar {
GParamSpec parent_instance;
gunichar default_value;
} GParamSpecUnichar;
typedef struct _GParamSpecUInt64 {
GParamSpec parent_instance;
guint64 minimum;
guint64 maximum;
guint64 default_value;
} GParamSpecUInt64;
typedef struct _GParamSpecBoxed {
GParamSpec parent_instance;
} GParamSpecBoxed;
typedef struct _GParamSpecOverride {
GParamSpec parent_instance;
GParamSpec *overridden;
} GParamSpecOverride;
typedef struct _GParamSpecClass {
GTypeClass g_type_class;
GType value_type;
void (*finalize) (GParamSpec *);
void (*value_set_default) (GParamSpec *, GValue *);
gboolean(*value_validate) (GParamSpec *, GValue *);
gint(*values_cmp) (GParamSpec *, const GValue *, const GValue *);
gpointer dummy[4];
} GParamSpecClass;
typedef struct _GParamSpecLong {
GParamSpec parent_instance;
glong minimum;
glong maximum;
glong default_value;
} GParamSpecLong;
typedef struct _GParamSpecEnum {
GParamSpec parent_instance;
GEnumClass *enum_class;
gint default_value;
} GParamSpecEnum;
typedef struct _GParamSpecFloat {
GParamSpec parent_instance;
gfloat minimum;
gfloat maximum;
gfloat default_value;
gfloat epsilon;
} GParamSpecFloat;
typedef struct _GParamSpecString {
GParamSpec parent_instance;
gchar *default_value;
gchar *cset_first;
gchar *cset_nth;
gchar substitutor;
guint null_fold_if_empty:1;
guint ensure_non_null:1;
} GParamSpecString;
typedef struct _GParamSpecDouble {
GParamSpec parent_instance;
gdouble minimum;
gdouble maximum;
gdouble default_value;
gdouble epsilon;
} GParamSpecDouble;
typedef struct _GParamSpecParam {
GParamSpec parent_instance;
} GParamSpecParam;
typedef struct _GParamSpecValueArray {
GParamSpec parent_instance;
GParamSpec *element_spec;
guint fixed_n_elements;
} GParamSpecValueArray;
typedef struct _GParamSpecFlags {
GParamSpec parent_instance;
GFlagsClass *flags_class;
guint default_value;
} GParamSpecFlags;
typedef struct _GParamSpecInt64 {
GParamSpec parent_instance;
gint64 minimum;
gint64 maximum;
gint64 default_value;
} GParamSpecInt64;
typedef struct _GParamSpecPointer {
GParamSpec parent_instance;
} GParamSpecPointer;
typedef struct _GParamSpecInt {
GParamSpec parent_instance;
gint minimum;
gint maximum;
gint default_value;
} GParamSpecInt;
typedef struct _GTypeModuleClass {
GObjectClass parent_class;
gboolean(*load) (GTypeModule *);
void (*unload) (GTypeModule *);
void (*reserved1) (void);
void (*reserved2) (void);
void (*reserved3) (void);
void (*reserved4) (void);
} GTypeModuleClass;
typedef struct _GParamSpecUInt {
GParamSpec parent_instance;
guint minimum;
guint maximum;
guint default_value;
} GParamSpecUInt;
typedef struct _GParamSpecUChar {
GParamSpec parent_instance;
guint8 minimum;
guint8 maximum;
guint8 default_value;
} GParamSpecUChar;
typedef struct _GParamSpecULong {
GParamSpec parent_instance;
gulong minimum;
gulong maximum;
gulong default_value;
} GParamSpecULong;
typedef struct _GParamSpecChar {
GParamSpec parent_instance;
gint8 minimum;
gint8 maximum;
gint8 default_value;
} GParamSpecChar;
typedef struct _GParamSpecBoolean {
GParamSpec parent_instance;
gboolean default_value;
} GParamSpecBoolean;
typedef void (*GObjectFinalizeFunc) (GObject *);
typedef void (*GObjectGetPropertyFunc) (GObject *, guint, GValue *,
GParamSpec *);
typedef void (*GObjectSetPropertyFunc) (GObject *, guint, const GValue *,
GParamSpec *);
typedef gchar *gchararray;
typedef gchar **GStrv;
typedef void (*GToggleNotify) (gpointer, GObject *, gboolean);
extern gpointer g_boxed_copy(GType, gconstpointer);
extern void g_boxed_free(GType, gpointer);
extern GType g_boxed_type_register_static(const gchar *, GBoxedCopyFunc,
GBoxedFreeFunc);
extern void g_cclosure_marshal_BOOLEAN__FLAGS(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_STRING__OBJECT_POINTER(GClosure *, GValue *,
guint,
const GValue *,
gpointer, gpointer);
extern void g_cclosure_marshal_VOID__BOOLEAN(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__BOXED(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__CHAR(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__DOUBLE(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__ENUM(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__FLAGS(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__FLOAT(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__INT(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__LONG(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__OBJECT(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__PARAM(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__POINTER(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__STRING(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__UCHAR(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__UINT(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__UINT_POINTER(GClosure *, GValue *,
guint, const GValue *,
gpointer, gpointer);
extern void g_cclosure_marshal_VOID__ULONG(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern void g_cclosure_marshal_VOID__VOID(GClosure *, GValue *, guint,
const GValue *, gpointer,
gpointer);
extern GClosure *g_cclosure_new(GCallback, gpointer, GClosureNotify);
extern GClosure *g_cclosure_new_object(GCallback, GObject *);
extern GClosure *g_cclosure_new_object_swap(GCallback, GObject *);
extern GClosure *g_cclosure_new_swap(GCallback, gpointer, GClosureNotify);
extern void g_closure_add_finalize_notifier(GClosure *, gpointer,
GClosureNotify);
extern void g_closure_add_invalidate_notifier(GClosure *, gpointer,
GClosureNotify);
extern void g_closure_add_marshal_guards(GClosure *, gpointer,
GClosureNotify, gpointer,
GClosureNotify);
extern GType g_closure_get_type(void);
extern void g_closure_invalidate(GClosure *);
extern void g_closure_invoke(GClosure *, GValue *, guint, const GValue *,
gpointer);
extern GClosure *g_closure_new_object(guint, GObject *);
extern GClosure *g_closure_new_simple(guint, gpointer);
extern GClosure *g_closure_ref(GClosure *);
extern void g_closure_remove_finalize_notifier(GClosure *, gpointer,
GClosureNotify);
extern void g_closure_remove_invalidate_notifier(GClosure *, gpointer,
GClosureNotify);
extern void g_closure_set_marshal(GClosure *, GClosureMarshal);
extern void g_closure_set_meta_marshal(GClosure *, gpointer,
GClosureMarshal);
extern void g_closure_sink(GClosure *);
extern void g_closure_unref(GClosure *);
extern void g_enum_complete_type_info(GType, GTypeInfo *,
const GEnumValue *);
extern GEnumValue *g_enum_get_value(GEnumClass *, gint);
extern GEnumValue *g_enum_get_value_by_name(GEnumClass *, const gchar *);
extern GEnumValue *g_enum_get_value_by_nick(GEnumClass *, const gchar *);
extern GType g_enum_register_static(const gchar *, const GEnumValue *);
extern void g_flags_complete_type_info(GType, GTypeInfo *,
const GFlagsValue *);
extern GFlagsValue *g_flags_get_first_value(GFlagsClass *, guint);
extern GFlagsValue *g_flags_get_value_by_name(GFlagsClass *,
const gchar *);
extern GFlagsValue *g_flags_get_value_by_nick(GFlagsClass *,
const gchar *);
extern GType g_flags_register_static(const gchar *, const GFlagsValue *);
extern GType g_gstring_get_type(void);
extern GType g_io_channel_get_type(void);
extern GType g_io_condition_get_type(void);
extern void g_object_add_toggle_ref(GObject *, GToggleNotify, gpointer);
extern void g_object_add_weak_pointer(GObject *, gpointer *);
extern GParamSpec *g_object_class_find_property(GObjectClass *,
const gchar *);
extern void g_object_class_install_property(GObjectClass *, guint,
GParamSpec *);
extern GParamSpec **g_object_class_list_properties(GObjectClass *,
guint *);
extern void g_object_class_override_property(GObjectClass *, guint,
const gchar *);
extern gpointer g_object_connect(gpointer, const gchar *, ...);
extern void g_object_disconnect(gpointer, const gchar *, ...);
extern void g_object_freeze_notify(GObject *);
extern void g_object_get(gpointer, const gchar *, ...);
extern gpointer g_object_get_data(GObject *, const gchar *);
extern void g_object_get_property(GObject *, const gchar *, GValue *);
extern gpointer g_object_get_qdata(GObject *, GQuark);
extern void g_object_get_valist(GObject *, const gchar *, va_list);
extern GParamSpec *g_object_interface_find_property(gpointer,
const gchar *);
extern void g_object_interface_install_property(gpointer, GParamSpec *);
extern GParamSpec **g_object_interface_list_properties(gpointer, guint *);
extern gpointer g_object_new(GType, const gchar *, ...);
extern GObject *g_object_new_valist(GType, const gchar *, va_list);
extern gpointer g_object_newv(GType, guint, GParameter *);
extern void g_object_notify(GObject *, const gchar *);
extern gpointer g_object_ref(gpointer);
extern void g_object_remove_toggle_ref(GObject *, GToggleNotify, gpointer);
extern void g_object_remove_weak_pointer(GObject *, gpointer *);
extern void g_object_run_dispose(GObject *);
extern void g_object_set(gpointer, const gchar *, ...);
extern void g_object_set_data(GObject *, const gchar *, gpointer);
extern void g_object_set_data_full(GObject *, const gchar *, gpointer,
GDestroyNotify);
extern void g_object_set_property(GObject *, const gchar *,
const GValue *);
extern void g_object_set_qdata(GObject *, GQuark, gpointer);
extern void g_object_set_qdata_full(GObject *, GQuark, gpointer,
GDestroyNotify);
extern void g_object_set_valist(GObject *, const gchar *, va_list);
extern gpointer g_object_steal_data(GObject *, const gchar *);
extern gpointer g_object_steal_qdata(GObject *, GQuark);
extern void g_object_thaw_notify(GObject *);
extern void g_object_unref(gpointer);
extern void g_object_watch_closure(GObject *, GClosure *);
extern void g_object_weak_ref(GObject *, GWeakNotify, gpointer);
extern void g_object_weak_unref(GObject *, GWeakNotify, gpointer);
extern GParamSpec *g_param_spec_boolean(const gchar *, const gchar *,
const gchar *, gboolean,
GParamFlags);
extern GParamSpec *g_param_spec_boxed(const gchar *, const gchar *,
const gchar *, GType, GParamFlags);
extern GParamSpec *g_param_spec_char(const gchar *, const gchar *,
const gchar *, gint8, gint8, gint8,
GParamFlags);
extern GParamSpec *g_param_spec_double(const gchar *, const gchar *,
const gchar *, gdouble, gdouble,
gdouble, GParamFlags);
extern GParamSpec *g_param_spec_enum(const gchar *, const gchar *,
const gchar *, GType, gint,
GParamFlags);
extern GParamSpec *g_param_spec_flags(const gchar *, const gchar *,
const gchar *, GType, guint,
GParamFlags);
extern GParamSpec *g_param_spec_float(const gchar *, const gchar *,
const gchar *, gfloat, gfloat,
gfloat, GParamFlags);
extern const gchar *g_param_spec_get_blurb(GParamSpec *);
extern const gchar *g_param_spec_get_name(GParamSpec *);
extern const gchar *g_param_spec_get_nick(GParamSpec *);
extern gpointer g_param_spec_get_qdata(GParamSpec *, GQuark);
extern GParamSpec *g_param_spec_get_redirect_target(GParamSpec *);
extern GParamSpec *g_param_spec_int(const gchar *, const gchar *,
const gchar *, gint, gint, gint,
GParamFlags);
extern GParamSpec *g_param_spec_int64(const gchar *, const gchar *,
const gchar *, gint64, gint64,
gint64, GParamFlags);
extern gpointer g_param_spec_internal(GType, const gchar *, const gchar *,
const gchar *, GParamFlags);
extern GParamSpec *g_param_spec_long(const gchar *, const gchar *,
const gchar *, glong, glong, glong,
GParamFlags);
extern GParamSpec *g_param_spec_object(const gchar *, const gchar *,
const gchar *, GType, GParamFlags);
extern GParamSpec *g_param_spec_override(const gchar *, GParamSpec *);
extern GParamSpec *g_param_spec_param(const gchar *, const gchar *,
const gchar *, GType, GParamFlags);
extern GParamSpec *g_param_spec_pointer(const gchar *, const gchar *,
const gchar *, GParamFlags);
extern void g_param_spec_pool_insert(GParamSpecPool *, GParamSpec *,
GType);
extern GParamSpec **g_param_spec_pool_list(GParamSpecPool *, GType,
guint *);
extern GList *g_param_spec_pool_list_owned(GParamSpecPool *, GType);
extern GParamSpec *g_param_spec_pool_lookup(GParamSpecPool *,
const gchar *, GType,
gboolean);
extern GParamSpecPool *g_param_spec_pool_new(gboolean);
extern void g_param_spec_pool_remove(GParamSpecPool *, GParamSpec *);
extern GParamSpec *g_param_spec_ref(GParamSpec *);
extern void g_param_spec_set_qdata(GParamSpec *, GQuark, gpointer);
extern void g_param_spec_set_qdata_full(GParamSpec *, GQuark, gpointer,
GDestroyNotify);
extern void g_param_spec_sink(GParamSpec *);
extern gpointer g_param_spec_steal_qdata(GParamSpec *, GQuark);
extern GParamSpec *g_param_spec_string(const gchar *, const gchar *,
const gchar *, const gchar *,
GParamFlags);
extern GType *g_param_spec_types;
extern GParamSpec *g_param_spec_uchar(const gchar *, const gchar *,
const gchar *, guint8, guint8,
guint8, GParamFlags);
extern GParamSpec *g_param_spec_uint(const gchar *, const gchar *,
const gchar *, guint, guint, guint,
GParamFlags);
extern GParamSpec *g_param_spec_uint64(const gchar *, const gchar *,
const gchar *, guint64, guint64,
guint64, GParamFlags);
extern GParamSpec *g_param_spec_ulong(const gchar *, const gchar *,
const gchar *, gulong, gulong,
gulong, GParamFlags);
extern GParamSpec *g_param_spec_unichar(const gchar *, const gchar *,
const gchar *, gunichar,
GParamFlags);
extern void g_param_spec_unref(GParamSpec *);
extern GParamSpec *g_param_spec_value_array(const gchar *, const gchar *,
const gchar *, GParamSpec *,
GParamFlags);
extern GType g_param_type_register_static(const gchar *,
const GParamSpecTypeInfo *);
extern gboolean g_param_value_convert(GParamSpec *, const GValue *,
GValue *, gboolean);
extern gboolean g_param_value_defaults(GParamSpec *, GValue *);
extern void g_param_value_set_default(GParamSpec *, GValue *);
extern gboolean g_param_value_validate(GParamSpec *, GValue *);
extern gint g_param_values_cmp(GParamSpec *, const GValue *,
const GValue *);
extern GType g_pointer_type_register_static(const gchar *);
extern gboolean g_signal_accumulator_true_handled(GSignalInvocationHint *,
GValue *, const GValue *,
gpointer);
extern gulong g_signal_add_emission_hook(guint, GQuark,
GSignalEmissionHook, gpointer,
GDestroyNotify);
extern void g_signal_chain_from_overridden(const GValue *, GValue *);
extern gulong g_signal_connect_closure(gpointer, const gchar *, GClosure *,
gboolean);
extern gulong g_signal_connect_closure_by_id(gpointer, guint, GQuark,
GClosure *, gboolean);
extern gulong g_signal_connect_data(gpointer, const gchar *, GCallback,
gpointer, GClosureNotify,
GConnectFlags);
extern gulong g_signal_connect_object(gpointer, const gchar *, GCallback,
gpointer, GConnectFlags);
extern void g_signal_emit(gpointer, guint, GQuark, ...);
extern void g_signal_emit_by_name(gpointer, const gchar *, ...);
extern void g_signal_emit_valist(gpointer, guint, GQuark, va_list);
extern void g_signal_emitv(const GValue *, guint, GQuark, GValue *);
extern GSignalInvocationHint *g_signal_get_invocation_hint(gpointer);
extern void g_signal_handler_block(gpointer, gulong);
extern void g_signal_handler_disconnect(gpointer, gulong);
extern gulong g_signal_handler_find(gpointer, GSignalMatchType, guint,
GQuark, GClosure *, gpointer,
gpointer);
extern gboolean g_signal_handler_is_connected(gpointer, gulong);
extern void g_signal_handler_unblock(gpointer, gulong);
extern guint g_signal_handlers_block_matched(gpointer, GSignalMatchType,
guint, GQuark, GClosure *,
gpointer, gpointer);
extern void g_signal_handlers_destroy(gpointer);
extern guint g_signal_handlers_disconnect_matched(gpointer,
GSignalMatchType, guint,
GQuark, GClosure *,
gpointer, gpointer);
extern guint g_signal_handlers_unblock_matched(gpointer, GSignalMatchType,
guint, GQuark, GClosure *,
gpointer, gpointer);
extern gboolean g_signal_has_handler_pending(gpointer, guint, GQuark,
gboolean);
extern guint *g_signal_list_ids(GType, guint *);
extern guint g_signal_lookup(const gchar *, GType);
extern const gchar *g_signal_name(guint);
extern guint g_signal_new(const gchar *, GType, GSignalFlags, guint,
GSignalAccumulator, gpointer, GSignalCMarshaller,
GType, guint, ...);
extern guint g_signal_new_valist(const gchar *, GType, GSignalFlags,
GClosure *, GSignalAccumulator, gpointer,
GSignalCMarshaller, GType, guint,
va_list);
extern guint g_signal_newv(const gchar *, GType, GSignalFlags, GClosure *,
GSignalAccumulator, gpointer,
GSignalCMarshaller, GType, guint, GType *);
extern void g_signal_override_class_closure(guint, GType, GClosure *);
extern gboolean g_signal_parse_name(const gchar *, GType, guint *,
GQuark *, gboolean);
extern void g_signal_query(guint, GSignalQuery *);
extern void g_signal_remove_emission_hook(guint, gulong);
extern void g_signal_stop_emission(gpointer, guint, GQuark);
extern void g_signal_stop_emission_by_name(gpointer, const gchar *);
extern GClosure *g_signal_type_cclosure_new(GType, guint);
extern void g_source_set_closure(GSource *, GClosure *);
extern gchar *g_strdup_value_contents(const GValue *);
extern GType g_strv_get_type(void);
extern void g_type_add_class_cache_func(gpointer, GTypeClassCacheFunc);
extern void g_type_add_interface_check(gpointer, GTypeInterfaceCheckFunc);
extern void g_type_add_interface_dynamic(GType, GType, GTypePlugin *);
extern void g_type_add_interface_static(GType, GType,
const GInterfaceInfo *);
extern GTypeClass *g_type_check_class_cast(GTypeClass *, GType);
extern gboolean g_type_check_class_is_a(GTypeClass *, GType);
extern gboolean g_type_check_instance(GTypeInstance *);
extern GTypeInstance *g_type_check_instance_cast(GTypeInstance *, GType);
extern gboolean g_type_check_instance_is_a(GTypeInstance *, GType);
extern gboolean g_type_check_is_value_type(GType);
extern gboolean g_type_check_value(GValue *);
extern gboolean g_type_check_value_holds(GValue *, GType);
extern GType *g_type_children(GType, guint *);
extern void g_type_class_add_private(gpointer, gsize);
extern gpointer g_type_class_peek(GType);
extern gpointer g_type_class_peek_parent(gpointer);
extern gpointer g_type_class_peek_static(GType);
extern gpointer g_type_class_ref(GType);
extern void g_type_class_unref(gpointer);
extern void g_type_class_unref_uncached(gpointer);
extern GTypeInstance *g_type_create_instance(GType);
extern gpointer g_type_default_interface_peek(GType);
extern gpointer g_type_default_interface_ref(GType);
extern void g_type_default_interface_unref(gpointer);
extern guint g_type_depth(GType);
extern void g_type_free_instance(GTypeInstance *);
extern GType g_type_from_name(const gchar *);
extern GType g_type_fundamental(GType);
extern GType g_type_fundamental_next(void);
extern GTypePlugin *g_type_get_plugin(GType);
extern gpointer g_type_get_qdata(GType, GQuark);
extern void g_type_init(void);
extern void g_type_init_with_debug_flags(GTypeDebugFlags);
extern gpointer g_type_instance_get_private(GTypeInstance *, GType);
extern void g_type_interface_add_prerequisite(GType, GType);
extern GTypePlugin *g_type_interface_get_plugin(GType, GType);
extern gpointer g_type_interface_peek(gpointer, GType);
extern gpointer g_type_interface_peek_parent(gpointer);
extern GType *g_type_interface_prerequisites(GType, guint *);
extern GType *g_type_interfaces(GType, guint *);
extern gboolean g_type_is_a(GType, GType);
extern void g_type_module_add_interface(GTypeModule *, GType, GType,
const GInterfaceInfo *);
extern GType g_type_module_get_type(void);
extern GType g_type_module_register_enum(GTypeModule *, const gchar *,
const GEnumValue *);
extern GType g_type_module_register_flags(GTypeModule *, const gchar *,
const GFlagsValue *);
extern GType g_type_module_register_type(GTypeModule *, GType,
const gchar *, const GTypeInfo *,
GTypeFlags);
extern void g_type_module_set_name(GTypeModule *, const gchar *);
extern void g_type_module_unuse(GTypeModule *);
extern gboolean g_type_module_use(GTypeModule *);
extern const gchar *g_type_name(GType);
extern const gchar *g_type_name_from_class(GTypeClass *);
extern const gchar *g_type_name_from_instance(GTypeInstance *);
extern GType g_type_next_base(GType, GType);
extern GType g_type_parent(GType);
extern void g_type_plugin_complete_interface_info(GTypePlugin *, GType,
GType, GInterfaceInfo *);
extern void g_type_plugin_complete_type_info(GTypePlugin *, GType,
GTypeInfo *,
GTypeValueTable *);
extern GType g_type_plugin_get_type(void);
extern void g_type_plugin_unuse(GTypePlugin *);
extern void g_type_plugin_use(GTypePlugin *);
extern GQuark g_type_qname(GType);
extern void g_type_query(GType, GTypeQuery *);
extern GType g_type_register_dynamic(GType, const gchar *, GTypePlugin *,
GTypeFlags);
extern GType g_type_register_fundamental(GType, const gchar *,
const GTypeInfo *,
const GTypeFundamentalInfo *,
GTypeFlags);
extern GType g_type_register_static(GType, const gchar *,
const GTypeInfo *, GTypeFlags);
extern void g_type_remove_class_cache_func(gpointer, GTypeClassCacheFunc);
extern void g_type_remove_interface_check(gpointer,
GTypeInterfaceCheckFunc);
extern void g_type_set_qdata(GType, GQuark, gpointer);
extern gboolean g_type_test_flags(GType, guint);
extern GTypeValueTable *g_type_value_table_peek(GType);
extern GValueArray *g_value_array_append(GValueArray *, const GValue *);
extern GValueArray *g_value_array_copy(const GValueArray *);
extern void g_value_array_free(GValueArray *);
extern GValue *g_value_array_get_nth(GValueArray *, guint);
extern GType g_value_array_get_type(void);
extern GValueArray *g_value_array_insert(GValueArray *, guint,
const GValue *);
extern GValueArray *g_value_array_new(guint);
extern GValueArray *g_value_array_prepend(GValueArray *, const GValue *);
extern GValueArray *g_value_array_remove(GValueArray *, guint);
extern GValueArray *g_value_array_sort(GValueArray *, GCompareFunc);
extern GValueArray *g_value_array_sort_with_data(GValueArray *,
GCompareDataFunc,
gpointer);
extern void g_value_copy(const GValue *, GValue *);
extern gpointer g_value_dup_boxed(const GValue *);
extern GObject *g_value_dup_object(const GValue *);
extern GParamSpec *g_value_dup_param(const GValue *);
extern gchar *g_value_dup_string(const GValue *);
extern gboolean g_value_fits_pointer(const GValue *);
extern gboolean g_value_get_boolean(const GValue *);
extern gpointer g_value_get_boxed(const GValue *);
extern gchar g_value_get_char(const GValue *);
extern gdouble g_value_get_double(const GValue *);
extern gint g_value_get_enum(const GValue *);
extern guint g_value_get_flags(const GValue *);
extern gfloat g_value_get_float(const GValue *);
extern gint g_value_get_int(const GValue *);
extern gint64 g_value_get_int64(const GValue *);
extern glong g_value_get_long(const GValue *);
extern gpointer g_value_get_object(const GValue *);
extern GParamSpec *g_value_get_param(const GValue *);
extern gpointer g_value_get_pointer(const GValue *);
extern const gchar *g_value_get_string(const GValue *);
extern GType g_value_get_type(void);
extern guchar g_value_get_uchar(const GValue *);
extern guint g_value_get_uint(const GValue *);
extern guint64 g_value_get_uint64(const GValue *);
extern gulong g_value_get_ulong(const GValue *);
extern GValue *g_value_init(GValue *, GType);
extern gpointer g_value_peek_pointer(const GValue *);
extern void g_value_register_transform_func(GType, GType, GValueTransform);
extern GValue *g_value_reset(GValue *);
extern void g_value_set_boolean(GValue *, gboolean);
extern void g_value_set_boxed(GValue *, gconstpointer);
extern void g_value_set_char(GValue *, gchar);
extern void g_value_set_double(GValue *, gdouble);
extern void g_value_set_enum(GValue *, gint);
extern void g_value_set_flags(GValue *, guint);
extern void g_value_set_float(GValue *, gfloat);
extern void g_value_set_instance(GValue *, gpointer);
extern void g_value_set_int(GValue *, gint);
extern void g_value_set_int64(GValue *, gint64);
extern void g_value_set_long(GValue *, glong);
extern void g_value_set_object(GValue *, gpointer);
extern void g_value_set_param(GValue *, GParamSpec *);
extern void g_value_set_pointer(GValue *, gpointer);
extern void g_value_set_static_boxed(GValue *, gconstpointer);
extern void g_value_set_static_string(GValue *, const gchar *);
extern void g_value_set_string(GValue *, const gchar *);
extern void g_value_set_uchar(GValue *, guchar);
extern void g_value_set_uint(GValue *, guint);
extern void g_value_set_uint64(GValue *, guint64);
extern void g_value_set_ulong(GValue *, gulong);
extern void g_value_take_boxed(GValue *, gconstpointer);
extern void g_value_take_object(GValue *, gpointer);
extern void g_value_take_param(GValue *, GParamSpec *);
extern void g_value_take_string(GValue *, gchar *);
extern gboolean g_value_transform(const GValue *, GValue *);
extern gboolean g_value_type_compatible(GType, GType);
extern gboolean g_value_type_transformable(GType, GType);
extern void g_value_unset(GValue *); |
#define G_VALUE_LCOPY(value,var_args,flags,__error) \
G_STMT_START { const GValue *_value = (value); guint _flags = \
(flags); GType _value_type = G_VALUE_TYPE (_value); GTypeValueTable \
*_vtable = g_type_value_table_peek (_value_type); gchar *_lcopy_format \
= _vtable->lcopy_format; GTypeCValue \
_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; guint \
_n_values = 0; while (*_lcopy_format) { GTypeCValue *_cvalue = \
_cvalues + _n_values++; switch (*_lcopy_format++) { case \
G_VALUE_COLLECT_INT: _cvalue->v_int = va_arg ((var_args), gint); \
break; case G_VALUE_COLLECT_LONG: _cvalue->v_long = va_arg \
((var_args), glong); break; case G_VALUE_COLLECT_INT64: \
_cvalue->v_int64 = va_arg ((var_args), gint64); break; case \
G_VALUE_COLLECT_DOUBLE: _cvalue->v_double = va_arg ((var_args), \
gdouble); break; case G_VALUE_COLLECT_POINTER: _cvalue->v_pointer = \
va_arg ((var_args), gpointer); break; default: g_assert_not_reached \
(); } } *(__error) = _vtable->lcopy_value (_value, _n_values, \
_cvalues, _flags); } G_STMT_END
#define G_VALUE_COLLECT(value,var_args,flags,__error) \
G_STMT_START { GValue *_value = (value); guint _flags = (flags); \
GType _value_type = G_VALUE_TYPE (_value); GTypeValueTable *_vtable = \
g_type_value_table_peek (_value_type); gchar *_collect_format = \
_vtable->collect_format; GTypeCValue \
_cvalues[G_VALUE_COLLECT_FORMAT_MAX_LENGTH] = { { 0, }, }; guint \
_n_values = 0; if (_vtable->value_free) _vtable->value_free (_value); \
_value->g_type = _value_type; memset (_value->data, 0, sizeof \
(_value->data)); while (*_collect_format) { GTypeCValue *_cvalue = \
_cvalues + _n_values++; switch (*_collect_format++) { case \
G_VALUE_COLLECT_INT: _cvalue->v_int = va_arg ((var_args), gint); \
break; case G_VALUE_COLLECT_LONG: _cvalue->v_long = va_arg \
((var_args), glong); break; case G_VALUE_COLLECT_INT64: \
_cvalue->v_int64 = va_arg ((var_args), gint64); break; case \
G_VALUE_COLLECT_DOUBLE: _cvalue->v_double = va_arg ((var_args), \
gdouble); break; case G_VALUE_COLLECT_POINTER: _cvalue->v_pointer = \
va_arg ((var_args), gpointer); break; default: g_assert_not_reached \
(); } } *(__error) = _vtable->collect_value (_value, _n_values, \
_cvalues, _flags); } G_STMT_END
#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH (8)
enum {
G_VALUE_COLLECT_INT = 'i',
G_VALUE_COLLECT_LONG = 'l',
G_VALUE_COLLECT_INT64 = 'q',
G_VALUE_COLLECT_DOUBLE = 'd',
G_VALUE_COLLECT_POINTER = 'p'
}; |
The interfaces defined on the following pages are included in libgobject-2.0 and are defined by this specification. Unless otherwise noted, these interfaces shall be included in the source standard.
Other interfaces listed in Section 16.5 shall behave as described in the referenced base document.
The g_type_name_from_class() returns the unique name that is assigned to a type ID of g_class class structure.
The g_type_name_from_class() function returns a pointer referring to the static string with the unique name.
The g_type_name_from_instance() returns the name of type from the instance instance in a Camel case. Instance should be valid instance pointer.
The g_type_name_from_instance() function returns a pointer referring to the string with the type name.
Table 16-68 defines the library name and shared object name for the libgmodule-2.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Glib 2.8] Glib 2.8.6 Reference Manual |
An LSB conforming implementation shall provide the generic functions for Glib-Dynamic loading of Modules specified in Table 16-69, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-69. libgmodule-2.0 - Glib-Dynamic loading of Modules Function Interfaces
| g_module_build_path [Glib 2.8] | g_module_close [Glib 2.8] |
| g_module_error [Glib 2.8] | g_module_make_resident [Glib 2.8] |
| g_module_name [Glib 2.8] | g_module_open [Glib 2.8] |
| g_module_supported [Glib 2.8] | g_module_symbol [Glib 2.8] |
This section defines global identifiers and their values that are associated with interfaces contained in libgmodule-2.0. 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.
#define G_MODULE_EXPORT
#define G_MODULE_IMPORT extern
typedef struct _GModule GModule;
typedef enum {
G_MODULE_BIND_LAZY = 1,
G_MODULE_BIND_LOCAL = 2,
G_MODULE_BIND_MASK = 3
} GModuleFlags;
typedef void (*GModuleUnload) (GModule *);
typedef const gchar *(*GModuleCheckInit) (GModule *);
extern gchar *g_module_build_path(const gchar * directory,
const gchar * module_name);
extern gboolean g_module_close(GModule * module);
extern const gchar *g_module_error(void);
extern void g_module_make_resident(GModule * module);
extern const gchar *g_module_name(GModule * module);
extern GModule *g_module_open(const gchar * file_name, GModuleFlags flags);
extern gboolean g_module_supported(void);
extern gboolean g_module_symbol(GModule * module,
const gchar * symbol_name,
gpointer * symbol); |
Table 16-70 defines the library name and shared object name for the libgthread-2.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Glib 2.8] Glib 2.8.6 Reference Manual |
An LSB conforming implementation shall provide the generic functions for Glib thread abstraction specified in Table 16-71, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-71. libgthread-2.0 - Glib thread abstraction Function Interfaces
| g_thread_init [Glib 2.8] | g_thread_init_with_errorcheck_mutexes [Glib 2.8] |
Table 16-72 defines the library name and shared object name for the libatk-1.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [ATK 1.10] ATK 1.10.3 Reference Manual |
| [Gobject 2.8] Gobject 2.8.6 Reference Manual |
An LSB conforming implementation shall provide the generic functions for GTK Accessibility Toolkit specified in Table 16-73, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-73. libatk-1.0 - GTK Accessibility Toolkit Function Interfaces
| atk_action_do_action [ATK 1.10] | atk_action_get_description [ATK 1.10] |
| atk_action_get_keybinding [ATK 1.10] | atk_action_get_localized_name [ATK 1.10] |
| atk_action_get_n_actions [ATK 1.10] | atk_action_get_name [ATK 1.10] |
| atk_action_get_type [Gobject 2.8] | atk_action_set_description [ATK 1.10] |
| atk_add_focus_tracker [ATK 1.10] | atk_add_global_event_listener [ATK 1.10] |
| atk_add_key_event_listener [ATK 1.10] | atk_attribute_set_free [ATK 1.10] |
| atk_component_add_focus_handler [ATK 1.10] | atk_component_contains [ATK 1.10] |
| atk_component_get_extents [ATK 1.10] | atk_component_get_layer [ATK 1.10] |
| atk_component_get_mdi_zorder [ATK 1.10] | atk_component_get_position [ATK 1.10] |
| atk_component_get_size [ATK 1.10] | atk_component_get_type [Gobject 2.8] |
| atk_component_grab_focus [ATK 1.10] | atk_component_ref_accessible_at_point [ATK 1.10] |
| atk_component_remove_focus_handler [ATK 1.10] | atk_component_set_extents [ATK 1.10] |
| atk_component_set_position [ATK 1.10] | atk_component_set_size [ATK 1.10] |
| atk_coord_type_get_type [Gobject 2.8] | atk_document_get_document [ATK 1.10] |
| atk_document_get_document_type [ATK 1.10] | atk_document_get_type [Gobject 2.8] |
| atk_editable_text_copy_text [ATK 1.10] | atk_editable_text_cut_text [ATK 1.10] |
| atk_editable_text_delete_text [ATK 1.10] | atk_editable_text_get_type [Gobject 2.8] |
| atk_editable_text_insert_text [ATK 1.10] | atk_editable_text_paste_text [ATK 1.10] |
| atk_editable_text_set_run_attributes [ATK 1.10] | atk_editable_text_set_text_contents [ATK 1.10] |
| atk_focus_tracker_init [ATK 1.10] | atk_focus_tracker_notify [ATK 1.10] |
| atk_get_default_registry [ATK 1.10] | atk_get_focus_object [ATK 1.10] |
| atk_get_root [ATK 1.10] | atk_get_toolkit_name [ATK 1.10] |
| atk_get_toolkit_version [ATK 1.10] | atk_gobject_accessible_for_object [ATK 1.10] |
| atk_gobject_accessible_get_object [ATK 1.10] | atk_gobject_accessible_get_type [Gobject 2.8] |
| atk_hyperlink_get_end_index [ATK 1.10] | atk_hyperlink_get_n_anchors [ATK 1.10] |
| atk_hyperlink_get_object [ATK 1.10] | atk_hyperlink_get_start_index [ATK 1.10] |
| atk_hyperlink_get_type [Gobject 2.8] | atk_hyperlink_get_uri [ATK 1.10] |
| atk_hyperlink_is_inline [ATK 1.10] | atk_hyperlink_is_selected_link [ATK 1.10] |
| atk_hyperlink_is_valid [ATK 1.10] | atk_hyperlink_state_flags_get_type [Gobject 2.8] |
| atk_hypertext_get_link [ATK 1.10] | atk_hypertext_get_link_index [ATK 1.10] |
| atk_hypertext_get_n_links [ATK 1.10] | atk_hypertext_get_type [Gobject 2.8] |
| atk_image_get_image_description [ATK 1.10] | atk_image_get_image_position [ATK 1.10] |
| atk_image_get_image_size [ATK 1.10] | atk_image_get_type [Gobject 2.8] |
| atk_image_set_image_description [ATK 1.10] | atk_implementor_get_type [Gobject 2.8] |
| atk_implementor_ref_accessible [ATK 1.10] | atk_key_event_type_get_type [Gobject 2.8] |
| atk_layer_get_type [Gobject 2.8] | atk_no_op_object_factory_get_type [Gobject 2.8] |
| atk_no_op_object_factory_new [ATK 1.10] | atk_no_op_object_get_type [Gobject 2.8] |
| atk_no_op_object_new [ATK 1.10] | atk_object_add_relationship [ATK 1.10] |
| atk_object_connect_property_change_handler [ATK 1.10] | atk_object_factory_create_accessible [ATK 1.10] |
| atk_object_factory_get_accessible_type [ATK 1.10] | atk_object_factory_get_type [Gobject 2.8] |
| atk_object_factory_invalidate [ATK 1.10] | atk_object_get_description [ATK 1.10] |
| atk_object_get_index_in_parent [ATK 1.10] | atk_object_get_n_accessible_children [ATK 1.10] |
| atk_object_get_name [ATK 1.10] | atk_object_get_parent [ATK 1.10] |
| atk_object_get_role [ATK 1.10] | atk_object_get_type [Gobject 2.8] |
| atk_object_initialize [ATK 1.10] | atk_object_notify_state_change [ATK 1.10] |
| atk_object_ref_accessible_child [ATK 1.10] | atk_object_ref_relation_set [ATK 1.10] |
| atk_object_ref_state_set [ATK 1.10] | atk_object_remove_property_change_handler [ATK 1.10] |
| atk_object_remove_relationship [ATK 1.10] | atk_object_set_description [ATK 1.10] |
| atk_object_set_name [ATK 1.10] | atk_object_set_parent [ATK 1.10] |
| atk_object_set_role [ATK 1.10] | atk_rectangle_get_type [Gobject 2.8] |
| atk_registry_get_factory [ATK 1.10] | atk_registry_get_factory_type [ATK 1.10] |
| atk_registry_get_type [Gobject 2.8] | atk_registry_set_factory_type [ATK 1.10] |
| atk_relation_add_target [ATK 1.10] | atk_relation_get_relation_type [ATK 1.10] |
| atk_relation_get_target [ATK 1.10] | atk_relation_get_type [Gobject 2.8] |
| atk_relation_new [ATK 1.10] | atk_relation_set_add [ATK 1.10] |
| atk_relation_set_add_relation_by_type [ATK 1.10] | atk_relation_set_contains [ATK 1.10] |
| atk_relation_set_get_n_relations [ATK 1.10] | atk_relation_set_get_relation [ATK 1.10] |
| atk_relation_set_get_relation_by_type [ATK 1.10] | atk_relation_set_get_type [Gobject 2.8] |
| atk_relation_set_new [ATK 1.10] | atk_relation_set_remove [ATK 1.10] |
| atk_relation_type_for_name [ATK 1.10] | atk_relation_type_get_name [ATK 1.10] |
| atk_relation_type_get_type [Gobject 2.8] | atk_relation_type_register [ATK 1.10] |
| atk_remove_focus_tracker [ATK 1.10] | atk_remove_global_event_listener [ATK 1.10] |
| atk_remove_key_event_listener [ATK 1.10] | atk_role_for_name [ATK 1.10] |
| atk_role_get_localized_name [ATK 1.10] | atk_role_get_name [ATK 1.10] |
| atk_role_get_type [Gobject 2.8] | atk_role_register [ATK 1.10] |
| atk_selection_add_selection [ATK 1.10] | atk_selection_clear_selection [ATK 1.10] |
| atk_selection_get_selection_count [ATK 1.10] | atk_selection_get_type [Gobject 2.8] |
| atk_selection_is_child_selected [ATK 1.10] | atk_selection_ref_selection [ATK 1.10] |
| atk_selection_remove_selection [ATK 1.10] | atk_selection_select_all_selection [ATK 1.10] |
| atk_state_set_add_state [ATK 1.10] | atk_state_set_add_states [ATK 1.10] |
| atk_state_set_and_sets [ATK 1.10] | atk_state_set_clear_states [ATK 1.10] |
| atk_state_set_contains_state [ATK 1.10] | atk_state_set_contains_states [ATK 1.10] |
| atk_state_set_get_type [Gobject 2.8] | atk_state_set_is_empty [ATK 1.10] |
| atk_state_set_new [ATK 1.10] | atk_state_set_or_sets [ATK 1.10] |
| atk_state_set_remove_state [ATK 1.10] | atk_state_set_xor_sets [ATK 1.10] |
| atk_state_type_for_name [ATK 1.10] | atk_state_type_get_name [ATK 1.10] |
| atk_state_type_get_type [Gobject 2.8] | atk_state_type_register [ATK 1.10] |
| atk_streamable_content_get_mime_type [ATK 1.10] | atk_streamable_content_get_n_mime_types [ATK 1.10] |
| atk_streamable_content_get_stream [ATK 1.10] | atk_streamable_content_get_type [Gobject 2.8] |
| atk_table_add_column_selection [ATK 1.10] | atk_table_add_row_selection [ATK 1.10] |
| atk_table_get_caption [ATK 1.10] | atk_table_get_column_at_index [ATK 1.10] |
| atk_table_get_column_description [ATK 1.10] | atk_table_get_column_extent_at [ATK 1.10] |
| atk_table_get_column_header [ATK 1.10] | atk_table_get_index_at [ATK 1.10] |
| atk_table_get_n_columns [ATK 1.10] | atk_table_get_n_rows [ATK 1.10] |
| atk_table_get_row_at_index [ATK 1.10] | atk_table_get_row_description [ATK 1.10] |
| atk_table_get_row_extent_at [ATK 1.10] | atk_table_get_row_header [ATK 1.10] |
| atk_table_get_selected_columns [ATK 1.10] | atk_table_get_selected_rows [ATK 1.10] |
| atk_table_get_summary [ATK 1.10] | atk_table_get_type [Gobject 2.8] |
| atk_table_is_column_selected [ATK 1.10] | atk_table_is_row_selected [ATK 1.10] |
| atk_table_is_selected [ATK 1.10] | atk_table_ref_at [ATK 1.10] |
| atk_table_remove_column_selection [ATK 1.10] | atk_table_remove_row_selection [ATK 1.10] |
| atk_table_set_caption [ATK 1.10] | atk_table_set_column_description [ATK 1.10] |
| atk_table_set_column_header [ATK 1.10] | atk_table_set_row_description [ATK 1.10] |
| atk_table_set_row_header [ATK 1.10] | atk_table_set_summary [ATK 1.10] |
| atk_text_add_selection [ATK 1.10] | atk_text_attribute_for_name [ATK 1.10] |
| atk_text_attribute_get_name [ATK 1.10] | atk_text_attribute_get_type [Gobject 2.8] |
| atk_text_attribute_get_value [ATK 1.10] | atk_text_attribute_register [ATK 1.10] |
| atk_text_boundary_get_type [Gobject 2.8] | atk_text_clip_type_get_type [Gobject 2.8] |
| atk_text_free_ranges [ATK 1.10] | atk_text_get_bounded_ranges [ATK 1.10] |
| atk_text_get_caret_offset [ATK 1.10] | atk_text_get_character_at_offset [ATK 1.10] |
| atk_text_get_character_count [ATK 1.10] | atk_text_get_character_extents [ATK 1.10] |
| atk_text_get_default_attributes [ATK 1.10] | atk_text_get_n_selections [ATK 1.10] |
| atk_text_get_offset_at_point [ATK 1.10] | atk_text_get_range_extents [ATK 1.10] |
| atk_text_get_run_attributes [ATK 1.10] | atk_text_get_selection [ATK 1.10] |
| atk_text_get_text [ATK 1.10] | atk_text_get_text_after_offset [ATK 1.10] |
| atk_text_get_text_at_offset [ATK 1.10] | atk_text_get_text_before_offset [ATK 1.10] |
| atk_text_get_type [Gobject 2.8] | atk_text_remove_selection [ATK 1.10] |
| atk_text_set_caret_offset [ATK 1.10] | atk_text_set_selection [ATK 1.10] |
| atk_util_get_type [Gobject 2.8] | atk_value_get_current_value [ATK 1.10] |
| atk_value_get_maximum_value [ATK 1.10] | atk_value_get_minimum_value [ATK 1.10] |
| atk_value_get_type [Gobject 2.8] | atk_value_set_current_value [ATK 1.10] |
This section defines global identifiers and their values that are associated with interfaces contained in libatk-1.0. 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.
#define ATK_TYPE_HYPERLINK_STATE_FLAGS \ (atk_hyperlink_state_flags_get_type()) #define ATK_TYPE_COORD_TYPE (atk_coord_type_get_type()) #define ATK_TYPE_KEY_EVENT_TYPE (atk_key_event_type_get_type()) #define ATK_TYPE_LAYER (atk_layer_get_type()) #define ATK_TYPE_RELATION_TYPE (atk_relation_type_get_type()) #define ATK_TYPE_ROLE (atk_role_get_type()) #define ATK_TYPE_STATE_TYPE (atk_state_type_get_type()) #define ATK_TYPE_TEXT_ATTRIBUTE (atk_text_attribute_get_type()) #define ATK_TYPE_TEXT_BOUNDARY (atk_text_boundary_get_type()) #define ATK_TYPE_TEXT_CLIP_TYPE (atk_text_clip_type_get_type()) extern GType atk_coord_type_get_type(void); extern GType atk_hyperlink_state_flags_get_type(void); extern GType atk_key_event_type_get_type(void); extern GType atk_layer_get_type(void); extern GType atk_relation_type_get_type(void); extern GType atk_role_get_type(void); extern GType atk_state_type_get_type(void); extern GType atk_text_attribute_get_type(void); extern GType atk_text_boundary_get_type(void); extern GType atk_text_clip_type_get_type(void); |
#define _TYPEDEF_ATK_ACTION_
#define _TYPEDEF_ATK_COMPONENT_
#define _TYPEDEF_ATK_DOCUMENT_
#define _TYPEDEF_ATK_EDITABLE_TEXT_
#define _TYPEDEF_ATK_HYPERTEXT_
#define _TYPEDEF_ATK_IMAGE_
#define _TYPEDEF_ATK_SELECTION_
#define _TYPEDEF_ATK_STREAMABLE_CONTENT
#define _TYPEDEF_ATK_TABLE_
#define _TYPEDEF_ATK_TEXT_
#define _TYPEDEF_ATK_UTIL_
#define _TYPEDEF_ATK_VALUE__
#define ATK_TYPE_NO_OP_OBJECT_FACTORY \
(atk_no_op_object_factory_get_type ())
#define ATK_GOBJECT_ACCESSIBLE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_GOBJECT_ACCESSIBLE, \
AtkGObjectAccessibleClass))
#define ATK_HYPERLINK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_HYPERLINK, \
AtkHyperlinkClass))
#define ATK_NO_OP_OBJECT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_NO_OP_OBJECT, \
AtkNoOpObjectClass))
#define ATK_NO_OP_OBJECT_FACTORY_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_NO_OP_OBJECT_FACTORY, \
AtkNoOpObjectFactoryClass))
#define ATK_OBJECT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_OBJECT, AtkObjectClass))
#define ATK_OBJECT_FACTORY_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_OBJECT_FACTORY, \
AtkObjectFactoryClass))
#define ATK_REGISTRY_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_REGISTRY, \
AtkRegistryClass))
#define ATK_RELATION_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_RELATION, \
AtkRelationClass))
#define ATK_RELATION_SET_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_RELATION_SET, \
AtkRelationSetClass))
#define ATK_STATE_SET_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_STATE_SET, \
AtkStateSetClass))
#define ATK_UTIL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_UTIL, AtkUtilClass))
#define ATK_IS_GOBJECT_ACCESSIBLE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_GOBJECT_ACCESSIBLE))
#define ATK_IS_HYPERLINK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_HYPERLINK))
#define ATK_IS_NO_OP_OBJECT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_NO_OP_OBJECT))
#define ATK_IS_NO_OP_OBJECT_FACTORY_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_NO_OP_OBJECT_FACTORY))
#define ATK_IS_OBJECT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_OBJECT))
#define ATK_IS_OBJECT_FACTORY_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_OBJECT_FACTORY))
#define ATK_IS_REGISTRY_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_REGISTRY))
#define ATK_IS_RELATION_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_RELATION))
#define ATK_IS_RELATION_SET_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_RELATION_SET))
#define ATK_IS_STATE_SET_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_STATE_SET))
#define ATK_IS_UTIL_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_UTIL))
#define ATK_GOBJECT_ACCESSIBLE(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_GOBJECT_ACCESSIBLE, \
AtkGObjectAccessible))
#define ATK_HYPERLINK(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK, \
AtkHyperlink))
#define ATK_NO_OP_OBJECT(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_NO_OP_OBJECT, \
AtkNoOpObject))
#define ATK_NO_OP_OBJECT_FACTORY(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_NO_OP_OBJECT_FACTORY, \
AtkNoOpObjectFactory))
#define ATK_OBJECT(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_OBJECT, AtkObject))
#define ATK_OBJECT_FACTORY(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_OBJECT_FACTORY, \
AtkObjectFactory))
#define ATK_REGISTRY(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_REGISTRY, AtkRegistry))
#define ATK_RELATION(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_RELATION, AtkRelation))
#define ATK_RELATION_SET(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_RELATION_SET, \
AtkRelationSet))
#define ATK_STATE_SET(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_STATE_SET, AtkStateSet))
#define ATK_IS_GOBJECT_ACCESSIBLE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_GOBJECT_ACCESSIBLE))
#define ATK_IS_HYPERLINK(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERLINK))
#define ATK_IS_NO_OP_OBJECT(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_NO_OP_OBJECT))
#define ATK_IS_NO_OP_OBJECT_FACTORY(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_NO_OP_OBJECT_FACTORY))
#define ATK_IS_OBJECT(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_OBJECT))
#define ATK_IS_OBJECT_FACTORY(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_OBJECT_FACTORY))
#define ATK_IS_REGISTRY(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_REGISTRY))
#define ATK_IS_RELATION(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_RELATION))
#define ATK_IS_RELATION_SET(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_RELATION_SET))
#define ATK_IS_STATE_SET(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_STATE_SET))
#define ATK_NO_OP_OBJECT_FACTORY_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ( (obj), ATK_TYPE_NO_OP_OBJECT_FACTORY, \
AtkNoOpObjectFactoryClass))
#define ATK_GOBJECT_ACCESSIBLE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_GOBJECT_ACCESSIBLE, \
AtkGObjectAccessibleClass))
#define ATK_HYPERLINK_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_HYPERLINK, \
AtkHyperlinkClass))
#define ATK_NO_OP_OBJECT_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_NO_OP_OBJECT, \
AtkNoOpObjectClass))
#define ATK_OBJECT_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_OBJECT, AtkObjectClass))
#define ATK_OBJECT_FACTORY_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_OBJECT_FACTORY, \
AtkObjectFactoryClass))
#define ATK_REGISTRY_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_REGISTRY, \
AtkRegistryClass))
#define ATK_RELATION_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_RELATION, \
AtkRelationClass))
#define ATK_RELATION_SET_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_RELATION_SET, \
AtkRelationSetClass))
#define ATK_STATE_SET_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_STATE_SET, \
AtkStateSetClass))
#define ATK_UTIL_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_UTIL, AtkUtilClass))
#define ATK_ACTION_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_ACTION, \
AtkActionIface))
#define ATK_COMPONENT_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_COMPONENT, \
AtkComponentIface))
#define ATK_DOCUMENT_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_DOCUMENT, \
AtkDocumentIface))
#define ATK_EDITABLE_TEXT_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_EDITABLE_TEXT, \
AtkEditableTextIface))
#define ATK_HYPERTEXT_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_HYPERTEXT, \
AtkHypertextIface))
#define ATK_IMAGE_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_IMAGE, \
AtkImageIface))
#define ATK_IMPLEMENTOR_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_IMPLEMENTOR, \
AtkImplementorIface))
#define ATK_SELECTION_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_SELECTION, \
AtkSelectionIface))
#define ATK_STREAMABLE_CONTENT_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_STREAMABLE_CONTENT, \
AtkStreamableContentIface))
#define ATK_TABLE_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_TABLE, \
AtkTableIface))
#define ATK_TEXT_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_TEXT, AtkTextIface))
#define ATK_VALUE_GET_IFACE(obj) \
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_VALUE, \
AtkValueIface))
#define ATK_ACTION(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_ACTION, AtkAction)
#define ATK_COMPONENT(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_COMPONENT, AtkComponent)
#define ATK_DOCUMENT(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_DOCUMENT, AtkDocument)
#define ATK_EDITABLE_TEXT(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_EDITABLE_TEXT, \
AtkEditableText)
#define ATK_HYPERTEXT(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERTEXT, AtkHypertext)
#define ATK_IMAGE(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_IMAGE, AtkImage)
#define ATK_IMPLEMENTOR(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_IMPLEMENTOR, \
AtkImplementor)
#define ATK_SELECTION(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_SELECTION, AtkSelection)
#define ATK_STREAMABLE_CONTENT(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_STREAMABLE_CONTENT, \
AtkStreamableContent)
#define ATK_TABLE(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_TABLE, AtkTable)
#define ATK_TEXT(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_TEXT, AtkText)
#define ATK_UTIL(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_UTIL, AtkUtil)
#define ATK_VALUE(obj) \
G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_VALUE, AtkValue)
#define ATK_IS_ACTION(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_ACTION)
#define ATK_IS_COMPONENT(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_COMPONENT)
#define ATK_IS_DOCUMENT(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_DOCUMENT)
#define ATK_IS_EDITABLE_TEXT(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_EDITABLE_TEXT)
#define ATK_IS_HYPERTEXT(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERTEXT)
#define ATK_IS_IMAGE(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_IMAGE)
#define ATK_IS_IMPLEMENTOR(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_IMPLEMENTOR)
#define ATK_IS_SELECTION(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_SELECTION)
#define ATK_IS_STREAMABLE_CONTENT(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_STREAMABLE_CONTENT)
#define ATK_IS_TABLE(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_TABLE)
#define ATK_IS_VALUE(obj) \
G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_VALUE)
#define ATK_TYPE_ACTION (atk_action_get_type ())
#define ATK_TYPE_COMPONENT (atk_component_get_type ())
#define ATK_TYPE_DOCUMENT (atk_document_get_type ())
#define ATK_TYPE_EDITABLE_TEXT (atk_editable_text_get_type ())
#define ATK_TYPE_GOBJECT_ACCESSIBLE (atk_gobject_accessible_get_type ())
#define ATK_TYPE_HYPERLINK (atk_hyperlink_get_type ())
#define ATK_TYPE_HYPERTEXT (atk_hypertext_get_type ())
#define ATK_TYPE_IMAGE (atk_image_get_type ())
#define ATK_TYPE_IMPLEMENTOR (atk_implementor_get_type ())
#define ATK_TYPE_NO_OP_OBJECT (atk_no_op_object_get_type ())
#define ATK_TYPE_OBJECT_FACTORY (atk_object_factory_get_type ())
#define ATK_TYPE_OBJECT (atk_object_get_type ())
#define ATK_TYPE_RECTANGLE (atk_rectangle_get_type ())
#define ATK_TYPE_REGISTRY (atk_registry_get_type ())
#define ATK_TYPE_RELATION (atk_relation_get_type ())
#define ATK_TYPE_RELATION_SET (atk_relation_set_get_type ())
#define ATK_TYPE_SELECTION (atk_selection_get_type ())
#define ATK_TYPE_STATE_SET (atk_state_set_get_type ())
#define ATK_TYPE_STREAMABLE_CONTENT (atk_streamable_content_get_type ())
#define ATK_TYPE_TABLE (atk_table_get_type ())
#define ATK_TYPE_TEXT (atk_text_get_type ())
#define ATK_TYPE_UTIL (atk_util_get_type ())
#define ATK_TYPE_VALUE (atk_value_get_type ())
#define ATK_IS_TEXT(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_TEXT)
#define ATK_IS_UTIL(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_UTIL)
typedef struct _AtkText AtkText;
typedef struct _AtkObject {
GObject parent;
gchar *description;
gchar *name;
AtkObject *accessible_parent;
AtkRole role;
AtkRelationSet *relation_set;
AtkLayer layer;
} AtkObject;
typedef enum {
ATK_ROLE_INVALID = 0,
ATK_ROLE_ACCEL_LABEL = 1,
ATK_ROLE_ALERT = 2,
ATK_ROLE_ANIMATION = 3,
ATK_ROLE_ARROW = 4,
ATK_ROLE_CALENDAR = 5,
ATK_ROLE_CANVAS = 6,
ATK_ROLE_CHECK_BOX = 7,
ATK_ROLE_CHECK_MENU_ITEM = 8,
ATK_ROLE_COLOR_CHOOSER = 9,
ATK_ROLE_COLUMN_HEADER = 10,
ATK_ROLE_COMBO_BOX = 11,
ATK_ROLE_DATE_EDITOR = 12,
ATK_ROLE_DESKTOP_ICON = 13,
ATK_ROLE_DESKTOP_FRAME = 14,
ATK_ROLE_DIAL = 15,
ATK_ROLE_DIALOG = 16,
ATK_ROLE_DIRECTORY_PANE = 17,
ATK_ROLE_DRAWING_AREA = 18,
ATK_ROLE_FILE_CHOOSER = 19,
ATK_ROLE_FILLER = 20,
ATK_ROLE_FONT_CHOOSER = 21,
ATK_ROLE_FRAME = 22,
ATK_ROLE_GLASS_PANE = 23,
ATK_ROLE_HTML_CONTAINER = 24,
ATK_ROLE_ICON = 25,
ATK_ROLE_IMAGE = 26,
ATK_ROLE_INTERNAL_FRAME = 27,
ATK_ROLE_LABEL = 28,
ATK_ROLE_LAYERED_PANE = 29,
ATK_ROLE_LIST = 30,
ATK_ROLE_LIST_ITEM = 31,
ATK_ROLE_MENU = 32,
ATK_ROLE_MENU_BAR = 33,
ATK_ROLE_MENU_ITEM = 34,
ATK_ROLE_OPTION_PANE = 35,
ATK_ROLE_PAGE_TAB = 36,
ATK_ROLE_PAGE_TAB_LIST = 37,
ATK_ROLE_PANEL = 38,
ATK_ROLE_PASSWORD_TEXT = 39,
ATK_ROLE_POPUP_MENU = 40,
ATK_ROLE_PROGRESS_BAR = 41,
ATK_ROLE_PUSH_BUTTON = 42,
ATK_ROLE_RADIO_BUTTON = 43,
ATK_ROLE_RADIO_MENU_ITEM = 44,
ATK_ROLE_ROOT_PANE = 45,
ATK_ROLE_ROW_HEADER = 46,
ATK_ROLE_SCROLL_BAR = 47,
ATK_ROLE_SCROLL_PANE = 48,
ATK_ROLE_SEPARATOR = 49,
ATK_ROLE_SLIDER = 50,
ATK_ROLE_SPLIT_PANE = 51,
ATK_ROLE_SPIN_BUTTON = 52,
ATK_ROLE_STATUSBAR = 53,
ATK_ROLE_TABLE = 54,
ATK_ROLE_TABLE_CELL = 55,
ATK_ROLE_TABLE_COLUMN_HEADER = 56,
ATK_ROLE_TABLE_ROW_HEADER = 57,
ATK_ROLE_TEAR_OFF_MENU_ITEM = 58,
ATK_ROLE_TERMINAL = 59,
ATK_ROLE_TEXT = 60,
ATK_ROLE_TOGGLE_BUTTON = 61,
ATK_ROLE_TOOL_BAR = 62,
ATK_ROLE_TOOL_TIP = 63,
ATK_ROLE_TREE = 64,
ATK_ROLE_TREE_TABLE = 65,
ATK_ROLE_UNKNOWN = 66,
ATK_ROLE_VIEWPORT = 67,
ATK_ROLE_WINDOW = 68,
ATK_ROLE_HEADER = 69,
ATK_ROLE_FOOTER = 70,
ATK_ROLE_PARAGRAPH = 71,
ATK_ROLE_RULER = 72,
ATK_ROLE_APPLICATION = 73,
ATK_ROLE_AUTOCOMPLETE = 74,
ATK_ROLE_EDITBAR = 75,
ATK_ROLE_EMBEDDED = 76,
ATK_ROLE_LAST_DEFINED = 77
} AtkRole;
typedef struct _AtkRelationSet {
GObject parent;
GPtrArray *relations;
} AtkRelationSet;
typedef enum {
ATK_LAYER_INVALID = 0,
ATK_LAYER_BACKGROUND = 1,
ATK_LAYER_CANVAS = 2,
ATK_LAYER_WIDGET = 3,
ATK_LAYER_MDI = 4,
ATK_LAYER_POPUP = 5,
ATK_LAYER_OVERLAY = 6,
ATK_LAYER_WINDOW = 7
} AtkLayer;
typedef struct _AtkPropertyValues {
const gchar *property_name;
GValue old_value;
GValue new_value;
} AtkPropertyValues;
typedef void (*AtkPropertyChangeHandler) (AtkObject *,
AtkPropertyValues *);
typedef struct _AtkImage AtkImage;
typedef enum {
ATK_XY_SCREEN = 0,
ATK_XY_WINDOW = 1
} AtkCoordType;
typedef enum {
ATK_RELATION_NULL = 0,
ATK_RELATION_CONTROLLED_BY = 1,
ATK_RELATION_CONTROLLER_FOR = 2,
ATK_RELATION_LABEL_FOR = 3,
ATK_RELATION_LABELLED_BY = 4,
ATK_RELATION_MEMBER_OF = 5,
ATK_RELATION_NODE_CHILD_OF = 6,
ATK_RELATION_FLOWS_TO = 7,
ATK_RELATION_FLOWS_FROM = 8,
ATK_RELATION_SUBWINDOW_OF = 9,
ATK_RELATION_EMBEDS = 10,
ATK_RELATION_EMBEDDED_BY = 11,
ATK_RELATION_POPUP_FOR = 12,
ATK_RELATION_PARENT_WINDOW_OF = 13,
ATK_RELATION_LAST_DEFINED = 14
} AtkRelationType;
typedef struct _AtkRelation {
GObject parent;
GPtrArray *target;
AtkRelationType relationship;
} AtkRelation;
typedef struct _AtkDocument AtkDocument;
typedef struct _AtkTable AtkTable;
typedef struct _AtkHyperlink {
GObject parent;
} AtkHyperlink;
typedef struct _AtkStateSet {
GObject parent;
} AtkStateSet;
typedef struct _AtkObjectFactory {
GObject parent;
} AtkObjectFactory;
typedef struct _AtkRegistry {
GObject parent;
GHashTable *factory_type_registry;
GHashTable *factory_singleton_cache;
} AtkRegistry;
typedef struct _AtkEditableText AtkEditableText;
typedef GSList AtkAttributeSet;
typedef struct _AtkHypertext AtkHypertext;
typedef struct _AtkSelection AtkSelection;
typedef struct _AtkAction AtkAction;
typedef struct _AtkComponent AtkComponent;
typedef struct _AtkValue AtkValue;
typedef struct _AtkStreamableContent AtkStreamableContent;
typedef void (*AtkEventListenerInit) (void);
typedef enum {
ATK_TEXT_ATTR_INVALID = 0,
ATK_TEXT_ATTR_LEFT_MARGIN = 1,
ATK_TEXT_ATTR_RIGHT_MARGIN = 2,
ATK_TEXT_ATTR_INDENT = 3,
ATK_TEXT_ATTR_INVISIBLE = 4,
ATK_TEXT_ATTR_EDITABLE = 5,
ATK_TEXT_ATTR_PIXELS_ABOVE_LINES = 6,
ATK_TEXT_ATTR_PIXELS_BELOW_LINES = 7,
ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP = 8,
ATK_TEXT_ATTR_BG_FULL_HEIGHT = 9,
ATK_TEXT_ATTR_RISE = 10,
ATK_TEXT_ATTR_UNDERLINE = 11,
ATK_TEXT_ATTR_STRIKETHROUGH = 12,
ATK_TEXT_ATTR_SIZE = 13,
ATK_TEXT_ATTR_SCALE = 14,
ATK_TEXT_ATTR_WEIGHT = 15,
ATK_TEXT_ATTR_LANGUAGE = 16,
ATK_TEXT_ATTR_FAMILY_NAME = 17,
ATK_TEXT_ATTR_BG_COLOR = 18,
ATK_TEXT_ATTR_FG_COLOR = 19,
ATK_TEXT_ATTR_BG_STIPPLE = 20,
ATK_TEXT_ATTR_FG_STIPPLE = 21,
ATK_TEXT_ATTR_WRAP_MODE = 22,
ATK_TEXT_ATTR_DIRECTION = 23,
ATK_TEXT_ATTR_JUSTIFICATION = 24,
ATK_TEXT_ATTR_STRETCH = 25,
ATK_TEXT_ATTR_VARIANT = 26,
ATK_TEXT_ATTR_STYLE = 27,
ATK_TEXT_ATTR_LAST_DEFINED = 28
} AtkTextAttribute;
typedef enum {
ATK_TEXT_BOUNDARY_CHAR = 0,
ATK_TEXT_BOUNDARY_WORD_START = 1,
ATK_TEXT_BOUNDARY_WORD_END = 2,
ATK_TEXT_BOUNDARY_SENTENCE_START = 3,
ATK_TEXT_BOUNDARY_SENTENCE_END = 4,
ATK_TEXT_BOUNDARY_LINE_START = 5,
ATK_TEXT_BOUNDARY_LINE_END = 6
} AtkTextBoundary;
typedef enum {
ATK_STATE_INVALID = 0,
ATK_STATE_ACTIVE = 1,
ATK_STATE_ARMED = 2,
ATK_STATE_BUSY = 3,
ATK_STATE_CHECKED = 4,
ATK_STATE_DEFUNCT = 5,
ATK_STATE_EDITABLE = 6,
ATK_STATE_ENABLED = 7,
ATK_STATE_EXPANDABLE = 8,
ATK_STATE_EXPANDED = 9,
ATK_STATE_FOCUSABLE = 10,
ATK_STATE_FOCUSED = 11,
ATK_STATE_HORIZONTAL = 12,
ATK_STATE_ICONIFIED = 13,
ATK_STATE_MODAL = 14,
ATK_STATE_MULTI_LINE = 15,
ATK_STATE_MULTISELECTABLE = 16,
ATK_STATE_OPAQUE = 17,
ATK_STATE_PRESSED = 18,
ATK_STATE_RESIZABLE = 19,
ATK_STATE_SELECTABLE = 20,
ATK_STATE_SELECTED = 21,
ATK_STATE_SENSITIVE = 22,
ATK_STATE_SHOWING = 23,
ATK_STATE_SINGLE_LINE = 24,
ATK_STATE_STALE = 25,
ATK_STATE_TRANSIENT = 26,
ATK_STATE_VERTICAL = 27,
ATK_STATE_VISIBLE = 28,
ATK_STATE_MANAGES_DESCENDANTS = 29,
ATK_STATE_INDETERMINATE = 30,
ATK_STATE_TRUNCATED = 31,
ATK_STATE_LAST_DEFINED = 32
} AtkStateType;
typedef struct _AtkGObjectAccessible {
AtkObject parent;
} AtkGObjectAccessible;
typedef guint64 AtkState;
typedef void (*AtkFocusHandler) (AtkObject *, gboolean);
typedef struct _AtkKeyEventStruct {
gint type;
guint state;
guint keyval;
gint length;
gchar *string;
guint16 keycode;
guint32 timestamp;
} AtkKeyEventStruct;
typedef gint(*AtkKeySnoopFunc) (AtkKeyEventStruct *, gpointer);
typedef struct _AtkTextRectangle {
gint x;
gint y;
gint width;
gint height;
} AtkTextRectangle;
typedef struct _AtkTextRange {
AtkTextRectangle bounds;
gint start_offset;
gint end_offset;
gchar *content;
} AtkTextRange;
typedef enum {
ATK_TEXT_CLIP_NONE = 0,
ATK_TEXT_CLIP_MIN = 1,
ATK_TEXT_CLIP_MAX = 2,
ATK_TEXT_CLIP_BOTH = 3
} AtkTextClipType;
typedef struct _AtkImplementor AtkImplementor;
typedef void (*AtkEventListener) (AtkObject *);
typedef gboolean(*AtkFunction) (gpointer);
typedef struct _AtkImplementorIface {
GTypeInterface parent;
AtkObject *(*ref_accessible) (AtkImplementor *);
} AtkImplementorIface;
typedef struct _AtkRegistryClass {
GObjectClass parent_class;
} AtkRegistryClass;
typedef struct _AtkHypertextIface {
GTypeInterface parent;
AtkHyperlink *(*get_link) (AtkHypertext *, gint);
gint(*get_n_links) (AtkHypertext *);
gint(*get_link_index) (AtkHypertext *, gint);
void (*link_selected) (AtkHypertext *, gint);
AtkFunction pad1;
AtkFunction pad2;
AtkFunction pad3;
} AtkHypertextIface;
typedef struct _AtkStreamableContentIface {
GTypeInterface parent;
gint(*get_n_mime_types) (AtkStreamableContent *);
const gchar *(*get_mime_type) (AtkStreamableContent *, gint);
GIOChannel *(*get_stream) (AtkStreamableContent *, const gchar *);
AtkFunction pad1;
AtkFunction pad2;
AtkFunction pad3;
AtkFunction pad4;
} AtkStreamableContentIface;
typedef struct _AtkRectangle {
gint x;
gint y;
gint width;
gint height;
} AtkRectangle;
typedef struct _AtkStateSetClass {
GObjectClass parent;
} AtkStateSetClass;
typedef struct _AtkAttribute {
gchar *name;
gchar *value;
} AtkAttribute;
typedef struct _AtkObjectClass {
GObjectClass parent;
const gchar *(*get_name) (AtkObject *);
const gchar *(*get_description) (AtkObject *);
AtkObject *(*get_parent) (AtkObject *);
gint(*get_n_children) (AtkObject *);
AtkObject *(*ref_child) (AtkObject *, gint);
gint(*get_index_in_parent) (AtkObject *);
AtkRelationSet *(*ref_relation_set) (AtkObject *);
AtkRole(*get_role) (AtkObject *);
AtkLayer(*get_layer) (AtkObject *);
gint(*get_mdi_zorder) (AtkObject *);
AtkStateSet *(*ref_state_set) (AtkObject *);
void (*set_name) (AtkObject *, const gchar *);
void (*set_description) (AtkObject *, const gchar *);
void (*set_parent) (AtkObject *, AtkObject *);
void (*set_role) (AtkObject *, AtkRole);
guint(*connect_property_change_handler) (AtkObject *,
AtkPropertyChangeHandler *);
void (*remove_property_change_handler) (AtkObject *, guint);
void (*initialize) (AtkObject *, gpointer);
void (*children_changed) (AtkObject *, guint, gpointer);
void (*focus_event) (AtkObject *, gboolean);
void (*property_change) (AtkObject *, AtkPropertyValues *);
void (*state_change) (AtkObject *, const gchar *, gboolean);
void (*visible_data_changed) (AtkObject *);
void (*active_descendant_changed) (AtkObject *, gpointer *);
AtkFunction pad1;
AtkFunction pad2;
AtkFunction pad3;
} AtkObjectClass;
typedef struct _AtkGObjectAccessibleClass {
AtkObjectClass parent_class;
AtkFunction pad1;
AtkFunction pad2;
} AtkGObjectAccessibleClass;
typedef struct _AtkObjectFactoryClass {
GObjectClass parent_class;
AtkObject *(*create_accessible) (GObject *);
void (*invalidate) (AtkObjectFactory *);
GType(*get_accessible_type) (void);
AtkFunction pad1;
AtkFunction pad2;
} AtkObjectFactoryClass;
typedef struct _AtkNoOpObjectFactoryClass {
AtkObjectFactoryClass parent_class;
} AtkNoOpObjectFactoryClass;
typedef struct _AtkActionIface {
GTypeInterface parent;
gboolean(*do_action) (AtkAction *, gint);
gint(*get_n_actions) (AtkAction *);
const gchar *(*get_description) (AtkAction *, gint);
const gchar *(*get_name) (AtkAction *, gint);
const gchar *(*get_keybinding) (AtkAction *, gint);
gboolean(*set_description) (AtkAction *, gint, const gchar *);
const gchar *(*get_localized_name) (AtkAction *, gint);
AtkFunction pad2;
} AtkActionIface;
typedef struct _AtkTableIface {
GTypeInterface parent;
AtkObject *(*ref_at) (AtkTable *, gint, gint);
gint(*get_index_at) (AtkTable *, gint, gint);
gint(*get_column_at_index) (AtkTable *, gint);
gint(*get_row_at_index) (AtkTable *, gint);
gint(*get_n_columns) (AtkTable *);
gint(*get_n_rows) (AtkTable *);
gint(*get_column_extent_at) (AtkTable *, gint, gint);
gint(*get_row_extent_at) (AtkTable *, gint, gint);
AtkObject *(*get_caption) (AtkTable *);
const gchar *(*get_column_description) (AtkTable *, gint);
AtkObject *(*get_column_header) (AtkTable *, gint);
const gchar *(*get_row_description) (AtkTable *, gint);
AtkObject *(*get_row_header) (AtkTable *, gint);
AtkObject *(*get_summary) (AtkTable *);
void (*set_caption) (AtkTable *, AtkObject *);
void (*set_column_description) (AtkTable *, gint, const gchar *);
void (*set_column_header) (AtkTable *, gint, AtkObject *);
void (*set_row_description) (AtkTable *, gint, const gchar *);
void (*set_row_header) (AtkTable *, gint, AtkObject *);
void (*set_summary) (AtkTable *, AtkObject *);
gint(*get_selected_columns) (AtkTable *, gint * *);
gint(*get_selected_rows) (AtkTable *, gint * *);
gboolean(*is_column_selected) (AtkTable *, gint);
gboolean(*is_row_selected) (AtkTable *, gint);
gboolean(*is_selected) (AtkTable *, gint, gint);
gboolean(*add_row_selection) (AtkTable *, gint);
gboolean(*remove_row_selection) (AtkTable *, gint);
gboolean(*add_column_selection) (AtkTable *, gint);
gboolean(*remove_column_selection) (AtkTable *, gint);
void (*row_inserted) (AtkTable *, gint, gint);
void (*column_inserted) (AtkTable *, gint, gint);
void (*row_deleted) (AtkTable *, gint, gint);
void (*column_deleted) (AtkTable *, gint, gint);
void (*row_reordered) (AtkTable *);
void (*column_reordered) (AtkTable *);
void (*model_changed) (AtkTable *);
AtkFunction pad1;
AtkFunction pad2;
AtkFunction pad3;
AtkFunction pad4;
} AtkTableIface;
typedef struct _AtkValueIface {
GTypeInterface parent;
void (*get_current_value) (AtkValue *, GValue *);
void (*get_maximum_value) (AtkValue *, GValue *);
void (*get_minimum_value) (AtkValue *, GValue *);
gboolean(*set_current_value) (AtkValue *, const GValue *);
AtkFunction pad1;
AtkFunction pad2;
} AtkValueIface;
typedef struct _AtkRelationClass {
GObjectClass parent;
} AtkRelationClass;
typedef struct _AtkTextIface {
GTypeInterface parent;
gchar *(*get_text) (AtkText *, gint, gint);
gchar *(*get_text_after_offset) (AtkText *, gint, AtkTextBoundary,
gint *, gint *);
gchar *(*get_text_at_offset) (AtkText *, gint, AtkTextBoundary, gint *,
gint *);
gunichar(*get_character_at_offset) (AtkText *, gint);
gchar *(*get_text_before_offset) (AtkText *, gint, AtkTextBoundary,
gint *, gint *);
gint(*get_caret_offset) (AtkText *);
AtkAttributeSet *(*get_run_attributes) (AtkText *, gint, gint *,
gint *);
AtkAttributeSet *(*get_default_attributes) (AtkText *);
void (*get_character_extents) (AtkText *, gint, gint *, gint *, gint *,
gint *, AtkCoordType);
gint(*get_character_count) (AtkText *);
gint(*get_offset_at_point) (AtkText *, gint, gint, AtkCoordType);
gint(*get_n_selections) (AtkText *);
gchar *(*get_selection) (AtkText *, gint, gint *, gint *);
gboolean(*add_selection) (AtkText *, gint, gint);
gboolean(*remove_selection) (AtkText *, gint);
gboolean(*set_selection) (AtkText *, gint, gint, gint);
gboolean(*set_caret_offset) (AtkText *, gint);
void (*text_changed) (AtkText *, gint, gint);
void (*text_caret_moved) (AtkText *, gint);
void (*text_selection_changed) (AtkText *);
void (*text_attributes_changed) (AtkText *);
void (*get_range_extents) (AtkText *, gint, gint, AtkCoordType,
AtkTextRectangle *);
AtkTextRange **(*get_bounded_ranges) (AtkText *, AtkTextRectangle *,
AtkCoordType, AtkTextClipType,
AtkTextClipType);
AtkFunction pad4;
} AtkTextIface;
typedef struct _AtkRelationSetClass {
GObjectClass parent;
AtkFunction pad1;
AtkFunction pad2;
} AtkRelationSetClass;
typedef struct _AtkSelectionIface {
GTypeInterface parent;
gboolean(*add_selection) (AtkSelection *, gint);
gboolean(*clear_selection) (AtkSelection *);
AtkObject *(*ref_selection) (AtkSelection *, gint);
gint(*get_selection_count) (AtkSelection *);
gboolean(*is_child_selected) (AtkSelection *, gint);
gboolean(*remove_selection) (AtkSelection *, gint);
gboolean(*select_all_selection) (AtkSelection *);
void (*selection_changed) (AtkSelection *);
AtkFunction pad1;
AtkFunction pad2;
} AtkSelectionIface;
typedef struct _AtkUtilClass {
GObjectClass parent;
guint(*add_global_event_listener) (GSignalEmissionHook,
const gchar *);
void (*remove_global_event_listener) (guint);
guint(*add_key_event_listener) (AtkKeySnoopFunc, gpointer);
void (*remove_key_event_listener) (guint);
AtkObject *(*get_root) (void);
const gchar *(*get_toolkit_name) (void);
const gchar *(*get_toolkit_version) (void);
} AtkUtilClass;
typedef struct _AtkNoOpObjectClass {
AtkObjectClass parent_class;
} AtkNoOpObjectClass;
typedef struct _AtkImageIface {
GTypeInterface parent;
void (*get_image_position) (AtkImage *, gint *, gint *, AtkCoordType);
const gchar *(*get_image_description) (AtkImage *);
void (*get_image_size) (AtkImage *, gint *, gint *);
gboolean(*set_image_description) (AtkImage *, const gchar *);
AtkFunction pad1;
AtkFunction pad2;
} AtkImageIface;
typedef struct _AtkComponentIface {
GTypeInterface parent;
guint(*add_focus_handler) (AtkComponent *, AtkFocusHandler);
gboolean(*contains) (AtkComponent *, gint, gint, AtkCoordType);
AtkObject *(*ref_accessible_at_point) (AtkComponent *, gint, gint,
AtkCoordType);
void (*get_extents) (AtkComponent *, gint *, gint *, gint *, gint *,
AtkCoordType);
void (*get_position) (AtkComponent *, gint *, gint *, AtkCoordType);
void (*get_size) (AtkComponent *, gint *, gint *);
gboolean(*grab_focus) (AtkComponent *);
void (*remove_focus_handler) (AtkComponent *, guint);
gboolean(*set_extents) (AtkComponent *, gint, gint, gint, gint,
AtkCoordType);
gboolean(*set_position) (AtkComponent *, gint, gint, AtkCoordType);
gboolean(*set_size) (AtkComponent *, gint, gint);
AtkLayer(*get_layer) (AtkComponent *);
gint(*get_mdi_zorder) (AtkComponent *);
void (*bounds_changed) (AtkComponent *, AtkRectangle *);
AtkFunction pad2;
} AtkComponentIface;
typedef struct _AtkEditableTextIface {
GTypeInterface parent_interface;
gboolean(*set_run_attributes) (AtkEditableText *, AtkAttributeSet *,
gint, gint);
void (*set_text_contents) (AtkEditableText *, const gchar *);
void (*insert_text) (AtkEditableText *, const gchar *, gint, gint *);
void (*copy_text) (AtkEditableText *, gint, gint);
void (*cut_text) (AtkEditableText *, gint, gint);
void (*delete_text) (AtkEditableText *, gint, gint);
void (*paste_text) (AtkEditableText *, gint);
AtkFunction pad1;
AtkFunction pad2;
} AtkEditableTextIface;
typedef struct _AtkDocumentIface {
GTypeInterface parent;
const gchar *(*get_document_type) (AtkDocument *);
gpointer(*get_document) (AtkDocument *);
AtkFunction pad1;
AtkFunction pad2;
AtkFunction pad3;
AtkFunction pad4;
AtkFunction pad5;
AtkFunction pad6;
AtkFunction pad7;
AtkFunction pad8;
} AtkDocumentIface;
typedef struct _AtkHyperlinkClass {
GObjectClass parent;
gchar *(*get_uri) (AtkHyperlink *, gint);
AtkObject *(*get_object) (AtkHyperlink *, gint);
gint(*get_end_index) (AtkHyperlink *);
gint(*get_start_index) (AtkHyperlink *);
gboolean(*is_valid) (AtkHyperlink *);
gint(*get_n_anchors) (AtkHyperlink *);
guint(*link_state) (AtkHyperlink *);
gboolean(*is_selected_link) (AtkHyperlink *);
void (*link_activated) (AtkHyperlink *);
AtkFunction pad1;
} AtkHyperlinkClass;
typedef enum {
ATK_KEY_EVENT_PRESS,
ATK_KEY_EVENT_RELEASE,
ATK_KEY_EVENT_LAST_DEFINED
} AtkKeyEventType;
typedef struct _AtkUtil {
GObject parent;
} AtkUtil;
typedef enum {
ATK_HYPERLINK_IS_INLINE = 1 << 0
} AtkHyperlinkStateFlags;
typedef struct _AtkNoOpObjectFactory {
AtkObjectFactory parent;
} AtkNoOpObjectFactory;
typedef struct _AtkNoOpObject {
AtkObject parent;
} AtkNoOpObject;
extern gboolean atk_action_do_action(AtkAction * action, gint i);
extern const gchar *atk_action_get_description(AtkAction * action, gint i);
extern const gchar *atk_action_get_keybinding(AtkAction * action, gint i);
extern const gchar *atk_action_get_localized_name(AtkAction * action,
gint i);
extern gint atk_action_get_n_actions(AtkAction * action);
extern const gchar *atk_action_get_name(AtkAction * action, gint i);
extern GType atk_action_get_type(void);
extern gboolean atk_action_set_description(AtkAction * action, gint i,
const gchar * desc);
extern guint atk_add_focus_tracker(AtkEventListener focus_tracker);
extern guint atk_add_global_event_listener(GSignalEmissionHook listener,
const gchar * event_type);
extern guint atk_add_key_event_listener(AtkKeySnoopFunc listener,
gpointer data);
extern void atk_attribute_set_free(AtkAttributeSet * attrib_set);
extern guint atk_component_add_focus_handler(AtkComponent * component,
AtkFocusHandler handler);
extern gboolean atk_component_contains(AtkComponent * component, gint x,
gint y, AtkCoordType coord_type);
extern void atk_component_get_extents(AtkComponent * component, gint * x,
gint * y, gint * width,
gint * height,
AtkCoordType coord_type);
extern AtkLayer atk_component_get_layer(AtkComponent * component);
extern gint atk_component_get_mdi_zorder(AtkComponent * component);
extern void atk_component_get_position(AtkComponent * component, gint * x,
gint * y, AtkCoordType coord_type);
extern void atk_component_get_size(AtkComponent * component, gint * width,
gint * height);
extern GType atk_component_get_type(void);
extern gboolean atk_component_grab_focus(AtkComponent * component);
extern AtkObject *atk_component_ref_accessible_at_point(AtkComponent *
component, gint x,
gint y,
AtkCoordType
coord_type);
extern void atk_component_remove_focus_handler(AtkComponent * component,
guint handler_id);
extern gboolean atk_component_set_extents(AtkComponent * component, gint x,
gint y, gint width, gint height,
AtkCoordType coord_type);
extern gboolean atk_component_set_position(AtkComponent * component,
gint x, gint y,
AtkCoordType coord_type);
extern gboolean atk_component_set_size(AtkComponent * component,
gint width, gint height);
extern gpointer atk_document_get_document(AtkDocument * document);
extern const gchar *atk_document_get_document_type(AtkDocument * document);
extern GType atk_document_get_type(void);
extern void atk_editable_text_copy_text(AtkEditableText * text,
gint start_pos, gint end_pos);
extern void atk_editable_text_cut_text(AtkEditableText * text,
gint start_pos, gint end_pos);
extern void atk_editable_text_delete_text(AtkEditableText * text,
gint start_pos, gint end_pos);
extern GType atk_editable_text_get_type(void);
extern void atk_editable_text_insert_text(AtkEditableText * text,
const gchar * string,
gint length, gint * position);
extern void atk_editable_text_paste_text(AtkEditableText * text,
gint position);
extern gboolean atk_editable_text_set_run_attributes(AtkEditableText *
text,
AtkAttributeSet *
attrib_set,
gint start_offset,
gint end_offset);
extern void atk_editable_text_set_text_contents(AtkEditableText * text,
const gchar * string);
extern void atk_focus_tracker_init(AtkEventListenerInit init);
extern void atk_focus_tracker_notify(AtkObject * object);
extern AtkRegistry *atk_get_default_registry(void);
extern AtkObject *atk_get_focus_object(void);
extern AtkObject *atk_get_root(void);
extern const gchar *atk_get_toolkit_name(void);
extern const gchar *atk_get_toolkit_version(void);
extern AtkObject *atk_gobject_accessible_for_object(GObject * obj);
extern GObject *atk_gobject_accessible_get_object(AtkGObjectAccessible *
obj);
extern GType atk_gobject_accessible_get_type(void);
extern gint atk_hyperlink_get_end_index(AtkHyperlink * link_);
extern gint atk_hyperlink_get_n_anchors(AtkHyperlink * link_);
extern AtkObject *atk_hyperlink_get_object(AtkHyperlink * link_, gint i);
extern gint atk_hyperlink_get_start_index(AtkHyperlink * link_);
extern GType atk_hyperlink_get_type(void);
extern gchar *atk_hyperlink_get_uri(AtkHyperlink * link_, gint i);
extern gboolean atk_hyperlink_is_inline(AtkHyperlink * link_);
extern gboolean atk_hyperlink_is_selected_link(AtkHyperlink * link_);
extern gboolean atk_hyperlink_is_valid(AtkHyperlink * link_);
extern AtkHyperlink *atk_hypertext_get_link(AtkHypertext * hypertext,
gint link_index);
extern gint atk_hypertext_get_link_index(AtkHypertext * hypertext,
gint char_index);
extern gint atk_hypertext_get_n_links(AtkHypertext * hypertext);
extern GType atk_hypertext_get_type(void);
extern const gchar *atk_image_get_image_description(AtkImage * image);
extern void atk_image_get_image_position(AtkImage * image, gint * x,
gint * y,
AtkCoordType coord_type);
extern void atk_image_get_image_size(AtkImage * image, int *width,
int *height);
extern GType atk_image_get_type(void);
extern gboolean atk_image_set_image_description(AtkImage * image,
const gchar * description);
extern GType atk_implementor_get_type(void);
extern AtkObject *atk_implementor_ref_accessible(AtkImplementor *
implementor);
extern GType atk_no_op_object_factory_get_type(void);
extern AtkObjectFactory *atk_no_op_object_factory_new(void);
extern GType atk_no_op_object_get_type(void);
extern AtkObject *atk_no_op_object_new(GObject *);
extern gboolean atk_object_add_relationship(AtkObject * object,
AtkRelationType relationship,
AtkObject * target);
extern guint atk_object_connect_property_change_handler(AtkObject *
accessible,
AtkPropertyChangeHandler
* handler);
extern AtkObject *atk_object_factory_create_accessible(AtkObjectFactory *
factory,
GObject * obj);
extern GType atk_object_factory_get_accessible_type(AtkObjectFactory *
factory);
extern GType atk_object_factory_get_type(void);
extern void atk_object_factory_invalidate(AtkObjectFactory * factory);
extern const gchar *atk_object_get_description(AtkObject * accessible);
extern gint atk_object_get_index_in_parent(AtkObject * accessible);
extern gint atk_object_get_n_accessible_children(AtkObject * accessible);
extern const gchar *atk_object_get_name(AtkObject * accessible);
extern AtkObject *atk_object_get_parent(AtkObject * accessible);
extern AtkRole atk_object_get_role(AtkObject * accessible);
extern GType atk_object_get_type(void);
extern void atk_object_initialize(AtkObject * accessible, gpointer data);
extern void atk_object_notify_state_change(AtkObject * accessible,
AtkState state, gboolean value);
extern AtkObject *atk_object_ref_accessible_child(AtkObject * accessible,
gint i);
extern AtkRelationSet *atk_object_ref_relation_set(AtkObject * accessible);
extern AtkStateSet *atk_object_ref_state_set(AtkObject * accessible);
extern void atk_object_remove_property_change_handler(AtkObject *
accessible,
guint handler_id);
extern gboolean atk_object_remove_relationship(AtkObject * object,
AtkRelationType
relationship,
AtkObject * target);
extern void atk_object_set_description(AtkObject * accessible,
const gchar * description);
extern void atk_object_set_name(AtkObject * accessible,
const gchar * name);
extern void atk_object_set_parent(AtkObject * accessible,
AtkObject * parent);
extern void atk_object_set_role(AtkObject * accessible, AtkRole role);
extern GType atk_rectangle_get_type(void);
extern AtkObjectFactory *atk_registry_get_factory(AtkRegistry * registry,
GType type);
extern GType atk_registry_get_factory_type(AtkRegistry * registry,
GType type);
extern GType atk_registry_get_type(void);
extern void atk_registry_set_factory_type(AtkRegistry * registry,
GType type, GType factory_type);
extern void atk_relation_add_target(AtkRelation *, AtkObject *);
extern AtkRelationType atk_relation_get_relation_type(AtkRelation *);
extern GPtrArray *atk_relation_get_target(AtkRelation *);
extern GType atk_relation_get_type(void);
extern AtkRelation *atk_relation_new(AtkObject * *, gint, AtkRelationType);
extern void atk_relation_set_add(AtkRelationSet * set,
AtkRelation * relation);
extern void atk_relation_set_add_relation_by_type(AtkRelationSet * set,
AtkRelationType
relationship,
AtkObject * target);
extern gboolean atk_relation_set_contains(AtkRelationSet * set,
AtkRelationType relationship);
extern gint atk_relation_set_get_n_relations(AtkRelationSet * set);
extern AtkRelation *atk_relation_set_get_relation(AtkRelationSet * set,
gint i);
extern AtkRelation *atk_relation_set_get_relation_by_type(AtkRelationSet *
set,
AtkRelationType
relationship);
extern GType atk_relation_set_get_type(void);
extern AtkRelationSet *atk_relation_set_new(void);
extern void atk_relation_set_remove(AtkRelationSet * set,
AtkRelation * relation);
extern AtkRelationType atk_relation_type_for_name(const gchar *);
extern const gchar *atk_relation_type_get_name(AtkRelationType);
extern AtkRelationType atk_relation_type_register(const gchar *);
extern void atk_remove_focus_tracker(guint tracker_id);
extern void atk_remove_global_event_listener(guint listener_id);
extern void atk_remove_key_event_listener(guint listener_id);
extern AtkRole atk_role_for_name(const gchar * name);
extern const gchar *atk_role_get_localized_name(AtkRole role);
extern const gchar *atk_role_get_name(AtkRole role);
extern AtkRole atk_role_register(const gchar * name);
extern gboolean atk_selection_add_selection(AtkSelection * selection,
gint i);
extern gboolean atk_selection_clear_selection(AtkSelection * selection);
extern gint atk_selection_get_selection_count(AtkSelection * selection);
extern GType atk_selection_get_type(void);
extern gboolean atk_selection_is_child_selected(AtkSelection * selection,
gint i);
extern AtkObject *atk_selection_ref_selection(AtkSelection * selection,
gint i);
extern gboolean atk_selection_remove_selection(AtkSelection * selection,
gint i);
extern gboolean atk_selection_select_all_selection(AtkSelection *
selection);
extern gboolean atk_state_set_add_state(AtkStateSet * set,
AtkStateType type);
extern void atk_state_set_add_states(AtkStateSet * set,
AtkStateType * types, gint n_types);
extern AtkStateSet *atk_state_set_and_sets(AtkStateSet * set,
AtkStateSet * compare_set);
extern void atk_state_set_clear_states(AtkStateSet * set);
extern gboolean atk_state_set_contains_state(AtkStateSet * set,
AtkStateType type);
extern gboolean atk_state_set_contains_states(AtkStateSet * set,
AtkStateType * types,
gint n_types);
extern GType atk_state_set_get_type(void);
extern gboolean atk_state_set_is_empty(AtkStateSet * set);
extern AtkStateSet *atk_state_set_new(void);
extern AtkStateSet *atk_state_set_or_sets(AtkStateSet * set,
AtkStateSet * compare_set);
extern gboolean atk_state_set_remove_state(AtkStateSet * set,
AtkStateType type);
extern AtkStateSet *atk_state_set_xor_sets(AtkStateSet * set,
AtkStateSet * compare_set);
extern AtkStateType atk_state_type_for_name(const gchar * name);
extern const gchar *atk_state_type_get_name(AtkStateType type);
extern AtkStateType atk_state_type_register(const gchar * name);
extern const gchar
*atk_streamable_content_get_mime_type(AtkStreamableContent *
streamable, gint i);
extern gint atk_streamable_content_get_n_mime_types(AtkStreamableContent *
streamable);
extern GIOChannel *atk_streamable_content_get_stream(AtkStreamableContent *
streamable,
const gchar *
mime_type);
extern GType atk_streamable_content_get_type(void);
extern gboolean atk_table_add_column_selection(AtkTable * table,
gint column);
extern gboolean atk_table_add_row_selection(AtkTable * table, gint row);
extern AtkObject *atk_table_get_caption(AtkTable * table);
extern gint atk_table_get_column_at_index(AtkTable * table, gint index_);
extern const gchar *atk_table_get_column_description(AtkTable * table,
gint column);
extern gint atk_table_get_column_extent_at(AtkTable * table, gint row,
gint column);
extern AtkObject *atk_table_get_column_header(AtkTable * table,
gint column);
extern gint atk_table_get_index_at(AtkTable * table, gint row,
gint column);
extern gint atk_table_get_n_columns(AtkTable * table);
extern gint atk_table_get_n_rows(AtkTable * table);
extern gint atk_table_get_row_at_index(AtkTable * table, gint index_);
extern const gchar *atk_table_get_row_description(AtkTable * table,
gint row);
extern gint atk_table_get_row_extent_at(AtkTable * table, gint row,
gint column);
extern AtkObject *atk_table_get_row_header(AtkTable * table, gint row);
extern gint atk_table_get_selected_columns(AtkTable * table,
gint * *selected);
extern gint atk_table_get_selected_rows(AtkTable * table,
gint * *selected);
extern AtkObject *atk_table_get_summary(AtkTable * table);
extern GType atk_table_get_type(void);
extern gboolean atk_table_is_column_selected(AtkTable * table,
gint column);
extern gboolean atk_table_is_row_selected(AtkTable * table, gint row);
extern gboolean atk_table_is_selected(AtkTable * table, gint row,
gint column);
extern AtkObject *atk_table_ref_at(AtkTable * table, gint row,
gint column);
extern gboolean atk_table_remove_column_selection(AtkTable * table,
gint column);
extern gboolean atk_table_remove_row_selection(AtkTable * table, gint row);
extern void atk_table_set_caption(AtkTable * table, AtkObject * caption);
extern void atk_table_set_column_description(AtkTable * table, gint column,
const gchar * description);
extern void atk_table_set_column_header(AtkTable * table, gint column,
AtkObject * header);
extern void atk_table_set_row_description(AtkTable * table, gint row,
const gchar * description);
extern void atk_table_set_row_header(AtkTable * table, gint row,
AtkObject * header);
extern void atk_table_set_summary(AtkTable * table,
AtkObject * accessible);
extern gboolean atk_text_add_selection(AtkText * text, gint start_offset,
gint end_offset);
extern AtkTextAttribute atk_text_attribute_for_name(const gchar * name);
extern const gchar *atk_text_attribute_get_name(AtkTextAttribute attr);
extern const gchar *atk_text_attribute_get_value(AtkTextAttribute attr,
gint index_);
extern AtkTextAttribute atk_text_attribute_register(const gchar * name);
extern void atk_text_free_ranges(AtkTextRange * *ranges);
extern AtkTextRange **atk_text_get_bounded_ranges(AtkText * text,
AtkTextRectangle * rect,
AtkCoordType coord_type,
AtkTextClipType
x_clip_type,
AtkTextClipType
y_clip_type);
extern gint atk_text_get_caret_offset(AtkText * text);
extern gunichar atk_text_get_character_at_offset(AtkText * text,
gint offset);
extern gint atk_text_get_character_count(AtkText * text);
extern void atk_text_get_character_extents(AtkText * text, gint offset,
gint * x, gint * y,
gint * width, gint * height,
AtkCoordType coords);
extern AtkAttributeSet *atk_text_get_default_attributes(AtkText * text);
extern gint atk_text_get_n_selections(AtkText * text);
extern gint atk_text_get_offset_at_point(AtkText * text, gint x, gint y,
AtkCoordType coords);
extern void atk_text_get_range_extents(AtkText * text, gint start_offset,
gint end_offset,
AtkCoordType coord_type,
AtkTextRectangle * rect);
extern AtkAttributeSet *atk_text_get_run_attributes(AtkText * text,
gint offset,
gint * start_offset,
gint * end_offset);
extern gchar *atk_text_get_selection(AtkText * text, gint selection_num,
gint * start_offset,
gint * end_offset);
extern gchar *atk_text_get_text(AtkText * text, gint start_offset,
gint end_offset);
extern gchar *atk_text_get_text_after_offset(AtkText * text, gint offset,
AtkTextBoundary boundary_type,
gint * start_offset,
gint * end_offset);
extern gchar *atk_text_get_text_at_offset(AtkText * text, gint offset,
AtkTextBoundary boundary_type,
gint * start_offset,
gint * end_offset);
extern gchar *atk_text_get_text_before_offset(AtkText * text, gint offset,
AtkTextBoundary
boundary_type,
gint * start_offset,
gint * end_offset);
extern GType atk_text_get_type(void);
extern gboolean atk_text_remove_selection(AtkText * text,
gint selection_num);
extern gboolean atk_text_set_caret_offset(AtkText * text, gint offset);
extern gboolean atk_text_set_selection(AtkText * text, gint selection_num,
gint start_offset, gint end_offset);
extern GType atk_util_get_type(void);
extern void atk_value_get_current_value(AtkValue * obj, GValue * value);
extern void atk_value_get_maximum_value(AtkValue * obj, GValue * value);
extern void atk_value_get_minimum_value(AtkValue * obj, GValue * value);
extern GType atk_value_get_type(void);
extern gboolean atk_value_set_current_value(AtkValue * obj,
const GValue * value); |
Table 16-74 defines the library name and shared object name for the libpango-1.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Gobject 2.8] Gobject 2.8.6 Reference Manual |
| [Pango 1.10] Pango 1.10.4 Reference Manual |
An LSB conforming implementation shall provide the generic functions for GTK Internationalized Text Layout and Rendering library specified in Table 16-75, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-75. libpango-1.0 - GTK Internationalized Text Layout and Rendering library Function Interfaces
| pango_alignment_get_type [Gobject 2.8] | pango_attr_background_new [Pango 1.10] |
| pango_attr_fallback_new [Pango 1.10] | pango_attr_family_new [Pango 1.10] |
| pango_attr_font_desc_new [Pango 1.10] | pango_attr_foreground_new [Pango 1.10] |
| pango_attr_iterator_copy [Pango 1.10] | pango_attr_iterator_destroy [Pango 1.10] |
| pango_attr_iterator_get [Pango 1.10] | pango_attr_iterator_get_attrs [Pango 1.10] |
| pango_attr_iterator_get_font [Pango 1.10] | pango_attr_iterator_next [Pango 1.10] |
| pango_attr_iterator_range [Pango 1.10] | pango_attr_language_new [Pango 1.10] |
| pango_attr_letter_spacing_new [Pango 1.10] | pango_attr_list_change [Pango 1.10] |
| pango_attr_list_copy [Pango 1.10] | pango_attr_list_filter [Pango 1.10] |
| pango_attr_list_get_iterator [Pango 1.10] | pango_attr_list_get_type [Gobject 2.8] |
| pango_attr_list_insert [Pango 1.10] | pango_attr_list_insert_before [Pango 1.10] |
| pango_attr_list_new [Pango 1.10] | pango_attr_list_ref [Pango 1.10] |
| pango_attr_list_splice [Pango 1.10] | pango_attr_list_unref [Pango 1.10] |
| pango_attr_rise_new [Pango 1.10] | pango_attr_scale_new [Pango 1.10] |
| pango_attr_shape_new [Pango 1.10] | pango_attr_shape_new_with_data [Pango 1.10] |
| pango_attr_size_new [Pango 1.10] | pango_attr_size_new_absolute [Pango 1.10] |
| pango_attr_stretch_new [Pango 1.10] | pango_attr_strikethrough_color_new [Pango 1.10] |
| pango_attr_strikethrough_new [Pango 1.10] | pango_attr_style_new [Pango 1.10] |
| pango_attr_type_get_type [Gobject 2.8] | pango_attr_type_register [Pango 1.10] |
| pango_attr_underline_color_new [Pango 1.10] | pango_attr_underline_new [Pango 1.10] |
| pango_attr_variant_new [Pango 1.10] | pango_attr_weight_new [Pango 1.10] |
| pango_attribute_copy [Pango 1.10] | pango_attribute_destroy [Pango 1.10] |
| pango_attribute_equal [Pango 1.10] | pango_break [Pango 1.10] |
| pango_color_copy [Pango 1.10] | pango_color_free [Pango 1.10] |
| pango_color_get_type [Gobject 2.8] | pango_color_parse [Pango 1.10] |
| pango_context_get_base_dir [Pango 1.10] | pango_context_get_font_description [Pango 1.10] |
| pango_context_get_font_map [Pango 1.10] | pango_context_get_language [Pango 1.10] |
| pango_context_get_matrix [Pango 1.10] | pango_context_get_metrics [Pango 1.10] |
| pango_context_get_type [Gobject 2.8] | pango_context_list_families [Pango 1.10] |
| pango_context_load_font [Pango 1.10] | pango_context_load_fontset [Pango 1.10] |
| pango_context_set_base_dir [Pango 1.10] | pango_context_set_font_description [Pango 1.10] |
| pango_context_set_language [Pango 1.10] | pango_context_set_matrix [Pango 1.10] |
| pango_coverage_from_bytes [Pango 1.10] | pango_coverage_get [Pango 1.10] |
| pango_coverage_level_get_type [Gobject 2.8] | pango_coverage_max [Pango 1.10] |
| pango_coverage_new [Pango 1.10] | pango_coverage_ref [Pango 1.10] |
| pango_coverage_set [Pango 1.10] | pango_coverage_to_bytes [Pango 1.10] |
| pango_coverage_unref [Pango 1.10] | pango_direction_get_type [Gobject 2.8] |
| pango_ellipsize_mode_get_type [Gobject 2.8] | pango_find_base_dir [Pango 1.10] |
| pango_find_paragraph_boundary [Pango 1.10] | pango_font_describe [Pango 1.10] |
| pango_font_description_better_match [Pango 1.10] | pango_font_description_copy [Pango 1.10] |
| pango_font_description_copy_static [Pango 1.10] | pango_font_description_equal [Pango 1.10] |
| pango_font_description_free [Pango 1.10] | pango_font_description_from_string [Pango 1.10] |
| pango_font_description_get_family [Pango 1.10] | pango_font_description_get_set_fields [Pango 1.10] |
| pango_font_description_get_size [Pango 1.10] | pango_font_description_get_size_is_absolute [Pango 1.10] |
| pango_font_description_get_stretch [Pango 1.10] | pango_font_description_get_style [Pango 1.10] |
| pango_font_description_get_type [Gobject 2.8] | pango_font_description_get_variant [Pango 1.10] |
| pango_font_description_get_weight [Pango 1.10] | pango_font_description_hash [Pango 1.10] |
| pango_font_description_merge [Pango 1.10] | pango_font_description_merge_static [Pango 1.10] |
| pango_font_description_new [Pango 1.10] | pango_font_description_set_absolute_size [Pango 1.10] |
| pango_font_description_set_family [Pango 1.10] | pango_font_description_set_family_static [Pango 1.10] |
| pango_font_description_set_size [Pango 1.10] | pango_font_description_set_stretch [Pango 1.10] |
| pango_font_description_set_style [Pango 1.10] | pango_font_description_set_variant [Pango 1.10] |
| pango_font_description_set_weight [Pango 1.10] | pango_font_description_to_filename [Pango 1.10] |
| pango_font_description_to_string [Pango 1.10] | pango_font_description_unset_fields [Pango 1.10] |
| pango_font_descriptions_free [Pango 1.10] | pango_font_face_describe [Pango 1.10] |
| pango_font_face_get_face_name [Pango 1.10] | pango_font_face_get_type [Gobject 2.8] |
| pango_font_face_list_sizes [Pango 1.10] | pango_font_family_get_name [Pango 1.10] |
| pango_font_family_get_type [Gobject 2.8] | pango_font_family_is_monospace [Pango 1.10] |
| pango_font_family_list_faces [Pango 1.10] | pango_font_find_shaper [Pango 1.10] |
| pango_font_get_coverage [Pango 1.10] | pango_font_get_font_map [Pango 1.10] |
| pango_font_get_glyph_extents [Pango 1.10] | pango_font_get_metrics [Pango 1.10] |
| pango_font_get_type [Gobject 2.8] | pango_font_map_get_type [Gobject 2.8] |
| pango_font_map_list_families [Pango 1.10] | pango_font_map_load_font [Pango 1.10] |
| pango_font_map_load_fontset [Pango 1.10] | pango_font_mask_get_type [Gobject 2.8] |
| pango_font_metrics_get_approximate_char_width [Pango 1.10] | pango_font_metrics_get_approximate_digit_width [Pango 1.10] |
| pango_font_metrics_get_ascent [Pango 1.10] | pango_font_metrics_get_descent [Pango 1.10] |
| pango_font_metrics_get_strikethrough_position [Pango 1.10] | pango_font_metrics_get_strikethrough_thickness [Pango 1.10] |
| pango_font_metrics_get_type [Gobject 2.8] | pango_font_metrics_get_underline_position [Pango 1.10] |
| pango_font_metrics_get_underline_thickness [Pango 1.10] | pango_font_metrics_ref [Pango 1.10] |
| pango_font_metrics_unref [Pango 1.10] | pango_fontset_foreach [Pango 1.10] |
| pango_fontset_get_font [Pango 1.10] | pango_fontset_get_metrics [Pango 1.10] |
| pango_fontset_get_type [Gobject 2.8] | pango_get_log_attrs [Pango 1.10] |
| pango_glyph_item_apply_attrs [Pango 1.10] | pango_glyph_item_free [Pango 1.10] |
| pango_glyph_item_letter_space [Pango 1.10] | pango_glyph_item_split [Pango 1.10] |
| pango_glyph_string_copy [Pango 1.10] | pango_glyph_string_extents [Pango 1.10] |
| pango_glyph_string_extents_range [Pango 1.10] | pango_glyph_string_free [Pango 1.10] |
| pango_glyph_string_get_logical_widths [Pango 1.10] | pango_glyph_string_get_type [Gobject 2.8] |
| pango_glyph_string_index_to_x [Pango 1.10] | pango_glyph_string_new [Pango 1.10] |
| pango_glyph_string_set_size [Pango 1.10] | pango_glyph_string_x_to_index [Pango 1.10] |
| pango_is_zero_width [Pango 1.10] | pango_item_copy [Pango 1.10] |
| pango_item_free [Pango 1.10] | pango_item_new [Pango 1.10] |
| pango_item_split [Pango 1.10] | pango_itemize [Pango 1.10] |
| pango_itemize_with_base_dir [Pango 1.10] | pango_language_from_string [Pango 1.10] |
| pango_language_get_sample_string [Pango 1.10] | pango_language_get_type [Gobject 2.8] |
| pango_language_includes_script [Pango 1.10] | pango_language_matches [Pango 1.10] |
| pango_layout_context_changed [Pango 1.10] | pango_layout_copy [Pango 1.10] |
| pango_layout_get_alignment [Pango 1.10] | pango_layout_get_attributes [Pango 1.10] |
| pango_layout_get_auto_dir [Pango 1.10] | pango_layout_get_context [Pango 1.10] |
| pango_layout_get_cursor_pos [Pango 1.10] | pango_layout_get_ellipsize [Pango 1.10] |
| pango_layout_get_extents [Pango 1.10] | pango_layout_get_font_description [Pango 1.10] |
| pango_layout_get_indent [Pango 1.10] | pango_layout_get_iter [Pango 1.10] |
| pango_layout_get_justify [Pango 1.10] | pango_layout_get_line [Pango 1.10] |
| pango_layout_get_line_count [Pango 1.10] | pango_layout_get_lines [Pango 1.10] |
| pango_layout_get_log_attrs [Pango 1.10] | pango_layout_get_pixel_extents [Pango 1.10] |
| pango_layout_get_pixel_size [Pango 1.10] | pango_layout_get_single_paragraph_mode [Pango 1.10] |
| pango_layout_get_size [Pango 1.10] | pango_layout_get_spacing [Pango 1.10] |
| pango_layout_get_tabs [Pango 1.10] | pango_layout_get_text [Pango 1.10] |
| pango_layout_get_type [Gobject 2.8] | pango_layout_get_width [Pango 1.10] |
| pango_layout_get_wrap [Pango 1.10] | pango_layout_index_to_pos [Pango 1.10] |
| pango_layout_iter_at_last_line [Pango 1.10] | pango_layout_iter_free [Pango 1.10] |
| pango_layout_iter_get_baseline [Pango 1.10] | pango_layout_iter_get_char_extents [Pango 1.10] |
| pango_layout_iter_get_cluster_extents [Pango 1.10] | pango_layout_iter_get_index [Pango 1.10] |
| pango_layout_iter_get_layout_extents [Pango 1.10] | pango_layout_iter_get_line [Pango 1.10] |
| pango_layout_iter_get_line_extents [Pango 1.10] | pango_layout_iter_get_line_yrange [Pango 1.10] |
| pango_layout_iter_get_run [Pango 1.10] | pango_layout_iter_get_run_extents [Pango 1.10] |
| pango_layout_iter_get_type [Gobject 2.8] | pango_layout_iter_next_char [Pango 1.10] |
| pango_layout_iter_next_cluster [Pango 1.10] | pango_layout_iter_next_line [Pango 1.10] |
| pango_layout_iter_next_run [Pango 1.10] | pango_layout_line_get_extents [Pango 1.10] |
| pango_layout_line_get_pixel_extents [Pango 1.10] | pango_layout_line_get_x_ranges [Pango 1.10] |
| pango_layout_line_index_to_x [Pango 1.10] | pango_layout_line_ref [Pango 1.10] |
| pango_layout_line_unref [Pango 1.10] | pango_layout_line_x_to_index [Pango 1.10] |
| pango_layout_move_cursor_visually [Pango 1.10] | pango_layout_new [Pango 1.10] |
| pango_layout_set_alignment [Pango 1.10] | pango_layout_set_attributes [Pango 1.10] |
| pango_layout_set_auto_dir [Pango 1.10] | pango_layout_set_ellipsize [Pango 1.10] |
| pango_layout_set_font_description [Pango 1.10] | pango_layout_set_indent [Pango 1.10] |
| pango_layout_set_justify [Pango 1.10] | pango_layout_set_markup [Pango 1.10] |
| pango_layout_set_markup_with_accel [Pango 1.10] | pango_layout_set_single_paragraph_mode [Pango 1.10] |
| pango_layout_set_spacing [Pango 1.10] | pango_layout_set_tabs [Pango 1.10] |
| pango_layout_set_text [Pango 1.10] | pango_layout_set_width [Pango 1.10] |
| pango_layout_set_wrap [Pango 1.10] | pango_layout_xy_to_index [Pango 1.10] |
| pango_log2vis_get_embedding_levels [Pango 1.10] | pango_matrix_concat [Pango 1.10] |
| pango_matrix_copy [Pango 1.10] | pango_matrix_free [Pango 1.10] |
| pango_matrix_get_type [Gobject 2.8] | pango_matrix_rotate [Pango 1.10] |
| pango_matrix_scale [Pango 1.10] | pango_matrix_translate [Pango 1.10] |
| pango_parse_markup [Pango 1.10] | pango_parse_stretch [Pango 1.10] |
| pango_parse_style [Pango 1.10] | pango_parse_variant [Pango 1.10] |
| pango_parse_weight [Pango 1.10] | pango_read_line [Pango 1.10] |
| pango_render_part_get_type [Gobject 2.8] | pango_renderer_activate [Pango 1.10] |
| pango_renderer_deactivate [Pango 1.10] | pango_renderer_draw_error_underline [Pango 1.10] |
| pango_renderer_draw_glyph [Pango 1.10] | pango_renderer_draw_glyphs [Pango 1.10] |
| pango_renderer_draw_layout [Pango 1.10] | pango_renderer_draw_layout_line [Pango 1.10] |
| pango_renderer_draw_rectangle [Pango 1.10] | pango_renderer_draw_trapezoid [Pango 1.10] |
| pango_renderer_get_color [Pango 1.10] | pango_renderer_get_matrix [Pango 1.10] |
| pango_renderer_get_type [Gobject 2.8] | pango_renderer_part_changed [Pango 1.10] |
| pango_renderer_set_color [Pango 1.10] | pango_renderer_set_matrix [Pango 1.10] |
| pango_reorder_items [Pango 1.10] | pango_scan_int [Pango 1.10] |
| pango_scan_string [Pango 1.10] | pango_scan_word [Pango 1.10] |
| pango_script_for_unichar [Pango 1.10] | pango_script_get_sample_language [Pango 1.10] |
| pango_script_get_type [Gobject 2.8] | pango_script_iter_free [Pango 1.10] |
| pango_script_iter_get_range [Pango 1.10] | pango_script_iter_new [Pango 1.10] |
| pango_script_iter_next [Pango 1.10] | pango_shape [Pango 1.10] |
| pango_skip_space [Pango 1.10] | pango_split_file_list [Pango 1.10] |
| pango_stretch_get_type [Gobject 2.8] | pango_style_get_type [Gobject 2.8] |
| pango_tab_align_get_type [Gobject 2.8] | pango_tab_array_copy [Pango 1.10] |
| pango_tab_array_free [Pango 1.10] | pango_tab_array_get_positions_in_pixels [Pango 1.10] |
| pango_tab_array_get_size [Pango 1.10] | pango_tab_array_get_tab [Pango 1.10] |
| pango_tab_array_get_tabs [Pango 1.10] | pango_tab_array_get_type [Gobject 2.8] |
| pango_tab_array_new [Pango 1.10] | pango_tab_array_new_with_positions [Pango 1.10] |
| pango_tab_array_resize [Pango 1.10] | pango_tab_array_set_tab [Pango 1.10] |
| pango_trim_string [Pango 1.10] | pango_underline_get_type [Gobject 2.8] |
| pango_unichar_direction [Pango 1.10] | pango_variant_get_type [Gobject 2.8] |
| pango_weight_get_type [Gobject 2.8] | pango_wrap_mode_get_type [Gobject 2.8] |
This section defines global identifiers and their values that are associated with interfaces contained in libpango-1.0. 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.
extern gboolean pango_is_zero_width(gunichar ch); extern const char *pango_language_get_sample_string(PangoLanguage * language); extern gboolean pango_log2vis_get_embedding_levels(gunichar * text, gint length, PangoDirection * pbase_dir, guint8 *); extern gboolean pango_parse_stretch(const char *str, PangoStretch * stretch, gboolean warn); extern gboolean pango_parse_style(const char *str, PangoStyle * style, gboolean warn); extern gboolean pango_parse_variant(const char *str, PangoVariant * variant, gboolean warn); extern gboolean pango_parse_weight(const char *str, PangoWeight * weight, gboolean warn); extern gint pango_read_line(FILE * stream, GString * str); extern gboolean pango_scan_int(const char **pos, int *out); extern gboolean pango_scan_string(const char **pos, GString * out); extern gboolean pango_scan_word(const char **pos, GString * out); extern gboolean pango_skip_space(const char **pos); extern char **pango_split_file_list(const char *str); extern char *pango_trim_string(const char *str); |
#define PANGO_CONTEXT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_CONTEXT, \
PangoContextClass))
#define PANGO_LAYOUT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_LAYOUT, \
PangoLayoutClass))
#define PANGO_RENDERER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_RENDERER, \
PangoRendererClass))
#define PANGO_IS_CONTEXT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_CONTEXT))
#define PANGO_IS_LAYOUT_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_LAYOUT))
#define PANGO_IS_RENDERER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_RENDERER))
#define PANGO_CONTEXT(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_CONTEXT, \
PangoContext))
#define PANGO_FONT(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT, PangoFont))
#define PANGO_FONTSET(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONTSET, \
PangoFontset))
#define PANGO_FONT_FACE(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FACE, \
PangoFontFace))
#define PANGO_FONT_FAMILY(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_FAMILY, \
PangoFontFamily))
#define PANGO_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FONT_MAP, \
PangoFontMap))
#define PANGO_LAYOUT(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_LAYOUT, \
PangoLayout))
#define PANGO_RENDERER(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_RENDERER, \
PangoRenderer))
#define PANGO_IS_CONTEXT(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_CONTEXT))
#define PANGO_IS_FONT(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT))
#define PANGO_IS_FONTSET(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONTSET))
#define PANGO_IS_FONT_FACE(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FACE))
#define PANGO_IS_FONT_FAMILY(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_FAMILY))
#define PANGO_IS_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FONT_MAP))
#define PANGO_IS_LAYOUT(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_LAYOUT))
#define PANGO_IS_RENDERER(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_RENDERER))
#define PANGO_CONTEXT_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_CONTEXT, \
PangoContextClass))
#define PANGO_LAYOUT_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_LAYOUT, \
PangoLayoutClass))
#define PANGO_RENDERER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_RENDERER, \
PangoRendererClass))
#define PANGO_PIXELS(d) (((int)(d) + 512) >> 10)
#define pango_language_to_string(language) ((const char *)language)
#define PANGO_SCALE_XX_SMALL ((double)0.5787037037037)
#define PANGO_SCALE_X_SMALL ((double)0.6444444444444)
#define PANGO_SCALE_SMALL ((double)0.8333333333333)
#define PANGO_SCALE_MEDIUM ((double)1.0)
#define PANGO_SCALE_LARGE ((double)1.2)
#define PANGO_SCALE_X_LARGE ((double)1.4399999999999)
#define PANGO_SCALE_XX_LARGE ((double)1.728)
#if defined(PANGO_ENABLE_ENGINE) || defined(PANGO_ENABLE_BACKEND)
#define PANGO_GET_UNKNOWN_GLYPH(wc) ((PangoGlyph)(wc)|PANGO_GLYPH_UNKNOWN_FLAG)
#endif
#if defined(PANGO_ENABLE_ENGINE) || defined(PANGO_ENABLE_BACKEND)
#define PANGO_GLYPH_UNKNOWN_FLAG ((PangoGlyph)0x10000000)
#endif
#define PANGO_RBEARING(rect) ((rect).x + (rect).width)
#define PANGO_LBEARING(rect) ((rect).x)
#define PANGO_DESCENT(rect) ((rect).y + (rect).height)
#define PANGO_ASCENT(rect) (-(rect).y)
#define PANGO_TYPE_ALIGNMENT (pango_alignment_get_type())
#define PANGO_TYPE_ATTR_TYPE (pango_attr_type_get_type())
#define PANGO_TYPE_CONTEXT (pango_context_get_type ())
#define PANGO_TYPE_COVERAGE_LEVEL (pango_coverage_level_get_type())
#define PANGO_TYPE_DIRECTION (pango_direction_get_type())
#define PANGO_TYPE_ELLIPSIZE_MODE (pango_ellipsize_mode_get_type())
#define PANGO_TYPE_FONTSET (pango_fontset_get_type ())
#define PANGO_TYPE_FONT_DESCRIPTION (pango_font_description_get_type ())
#define PANGO_TYPE_FONT_FACE (pango_font_face_get_type ())
#define PANGO_TYPE_FONT_FAMILY (pango_font_family_get_type ())
#define PANGO_TYPE_FONT (pango_font_get_type ())
#define PANGO_TYPE_FONT_MAP (pango_font_map_get_type ())
#define PANGO_TYPE_FONT_MASK (pango_font_mask_get_type())
#define PANGO_TYPE_FONT_METRICS (pango_font_metrics_get_type ())
#define PANGO_TYPE_GLYPH_STRING (pango_glyph_string_get_type ())
#define PANGO_TYPE_LANGUAGE (pango_language_get_type ())
#define PANGO_TYPE_LAYOUT (pango_layout_get_type ())
#define PANGO_TYPE_LAYOUT_ITER (pango_layout_iter_get_type ())
#define PANGO_TYPE_MATRIX (pango_matrix_get_type ())
#define PANGO_TYPE_RENDERER (pango_renderer_get_type())
#define PANGO_TYPE_RENDER_PART (pango_render_part_get_type())
#define PANGO_TYPE_SCRIPT (pango_script_get_type())
#define PANGO_TYPE_STRETCH (pango_stretch_get_type())
#define PANGO_TYPE_STYLE (pango_style_get_type())
#define PANGO_TYPE_TAB_ALIGN (pango_tab_align_get_type())
#define PANGO_TYPE_TAB_ARRAY (pango_tab_array_get_type ())
#define PANGO_TYPE_UNDERLINE (pango_underline_get_type())
#define PANGO_TYPE_VARIANT (pango_variant_get_type())
#define PANGO_TYPE_WEIGHT (pango_weight_get_type())
#define PANGO_TYPE_WRAP_MODE (pango_wrap_mode_get_type())
#define PANGO_SCALE 1024
#define PANGO_TYPE_ATTR_LIST pango_attr_list_get_type ()
#define PANGO_TYPE_COLOR pango_color_get_type ()
#define PANGO_MATRIX_INIT { 1., 0., 0., 1., 0., 0. }
typedef struct _PangoFontFace PangoFontFace;
typedef enum {
PANGO_WRAP_WORD = 0,
PANGO_WRAP_CHAR = 1,
PANGO_WRAP_WORD_CHAR = 2
} PangoWrapMode;
typedef struct _PangoLayout PangoLayout;
typedef struct _PangoScriptIter PangoScriptIter;
typedef enum {
PANGO_SCRIPT_INVALID_CODE = -1,
PANGO_SCRIPT_COMMON = 0,
PANGO_SCRIPT_INHERITED = 1,
PANGO_SCRIPT_ARABIC = 2,
PANGO_SCRIPT_ARMENIAN = 3,
PANGO_SCRIPT_BENGALI = 4,
PANGO_SCRIPT_BOPOMOFO = 5,
PANGO_SCRIPT_CHEROKEE = 6,
PANGO_SCRIPT_COPTIC = 7,
PANGO_SCRIPT_CYRILLIC = 8,
PANGO_SCRIPT_DESERET = 9,
PANGO_SCRIPT_DEVANAGARI = 10,
PANGO_SCRIPT_ETHIOPIC = 11,
PANGO_SCRIPT_GEORGIAN = 12,
PANGO_SCRIPT_GOTHIC = 13,
PANGO_SCRIPT_GREEK = 14,
PANGO_SCRIPT_GUJARATI = 15,
PANGO_SCRIPT_GURMUKHI = 16,
PANGO_SCRIPT_HAN = 17,
PANGO_SCRIPT_HANGUL = 18,
PANGO_SCRIPT_HEBREW = 19,
PANGO_SCRIPT_HIRAGANA = 20,
PANGO_SCRIPT_KANNADA = 21,
PANGO_SCRIPT_KATAKANA = 22,
PANGO_SCRIPT_KHMER = 23,
PANGO_SCRIPT_LAO = 24,
PANGO_SCRIPT_LATIN = 25,
PANGO_SCRIPT_MALAYALAM = 26,
PANGO_SCRIPT_MONGOLIAN = 27,
PANGO_SCRIPT_MYANMAR = 28,
PANGO_SCRIPT_OGHAM = 29,
PANGO_SCRIPT_OLD_ITALIC = 30,
PANGO_SCRIPT_ORIYA = 31,
PANGO_SCRIPT_RUNIC = 32,
PANGO_SCRIPT_SINHALA = 33,
PANGO_SCRIPT_SYRIAC = 34,
PANGO_SCRIPT_TAMIL = 35,
PANGO_SCRIPT_TELUGU = 36,
PANGO_SCRIPT_THAANA = 37,
PANGO_SCRIPT_THAI = 38,
PANGO_SCRIPT_TIBETAN = 39,
PANGO_SCRIPT_CANADIAN_ABORIGINAL = 40,
PANGO_SCRIPT_YI = 41,
PANGO_SCRIPT_TAGALOG = 42,
PANGO_SCRIPT_HANUNOO = 43,
PANGO_SCRIPT_BUHID = 44,
PANGO_SCRIPT_TAGBANWA = 45,
PANGO_SCRIPT_BRAILLE = 46,
PANGO_SCRIPT_CYPRIOT = 47,
PANGO_SCRIPT_LIMBU = 48,
PANGO_SCRIPT_OSMANYA = 49,
PANGO_SCRIPT_SHAVIAN = 50,
PANGO_SCRIPT_LINEAR_B = 51,
PANGO_SCRIPT_TAI_LE = 52,
PANGO_SCRIPT_UGARITIC = 53
} PangoScript;
typedef struct _PangoFont PangoFont;
typedef struct _PangoContext PangoContext;
typedef struct _PangoFontDescription PangoFontDescription;
typedef enum {
PANGO_ATTR_INVALID = 0,
PANGO_ATTR_LANGUAGE = 1,
PANGO_ATTR_FAMILY = 2,
PANGO_ATTR_STYLE = 3,
PANGO_ATTR_WEIGHT = 4,
PANGO_ATTR_VARIANT = 5,
PANGO_ATTR_STRETCH = 6,
PANGO_ATTR_SIZE = 7,
PANGO_ATTR_FONT_DESC = 8,
PANGO_ATTR_FOREGROUND = 9,
PANGO_ATTR_BACKGROUND = 10,
PANGO_ATTR_UNDERLINE = 11,
PANGO_ATTR_STRIKETHROUGH = 12,
PANGO_ATTR_RISE = 13,
PANGO_ATTR_SHAPE = 14,
PANGO_ATTR_SCALE = 15,
PANGO_ATTR_FALLBACK = 16,
PANGO_ATTR_LETTER_SPACING = 17,
PANGO_ATTR_UNDERLINE_COLOR = 18,
PANGO_ATTR_STRIKETHROUGH_COLOR = 19,
PANGO_ATTR_ABSOLUTE_SIZE = 20
} PangoAttrType;
typedef struct _PangoAttribute {
const PangoAttrClass *klass;
guint start_index;
guint end_index;
} PangoAttribute;
typedef struct _PangoAttrClass {
PangoAttrType type;
PangoAttribute *(*copy) (const PangoAttribute *);
void (*destroy) (PangoAttribute *);
gboolean(*equal) (const PangoAttribute *, const PangoAttribute *);
} PangoAttrClass;
typedef struct _PangoLanguage PangoLanguage;
typedef struct _PangoLogAttr {
guint is_line_break:1;
guint is_mandatory_break:1;
guint is_char_break:1;
guint is_white:1;
guint is_cursor_position:1;
guint is_word_start:1;
guint is_word_end:1;
guint is_sentence_boundary:1;
guint is_sentence_start:1;
guint is_sentence_end:1;
guint backspace_deletes_character:1;
} PangoLogAttr;
typedef struct _PangoColor {
guint16 red;
guint16 green;
guint16 blue;
} PangoColor;
typedef struct _PangoMatrix {
double xx;
double xy;
double yx;
double yy;
double x0;
double y0;
} PangoMatrix;
typedef struct _PangoEngineShape PangoEngineShape;
typedef struct _PangoEngineLang PangoEngineLang;
typedef struct _PangoAnalysis {
PangoEngineShape *shape_engine;
PangoEngineLang *lang_engine;
PangoFont *font;
guint8 level;
PangoLanguage *language;
GSList *extra_attrs;
} PangoAnalysis;
typedef struct _PangoItem {
gint offset;
gint length;
gint num_chars;
PangoAnalysis analysis;
} PangoItem;
typedef guint32 PangoGlyph;
typedef gint32 PangoGlyphUnit;
typedef struct _PangoGlyphGeometry {
PangoGlyphUnit width;
PangoGlyphUnit x_offset;
PangoGlyphUnit y_offset;
} PangoGlyphGeometry;
typedef struct _PangoGlyphVisAttr {
guint is_cluster_start:1;
} PangoGlyphVisAttr;
typedef struct _PangoGlyphInfo {
PangoGlyph glyph;
PangoGlyphGeometry geometry;
PangoGlyphVisAttr attr;
} PangoGlyphInfo;
typedef struct _PangoGlyphString {
gint num_glyphs;
PangoGlyphInfo *glyphs;
gint *log_clusters;
gint space;
} PangoGlyphString;
typedef struct _PangoGlyphItem {
PangoItem *item;
PangoGlyphString *glyphs;
} PangoGlyphItem;
typedef PangoGlyphItem PangoLayoutRun;
typedef struct _PangoLayoutIter PangoLayoutIter;
typedef enum {
PANGO_UNDERLINE_NONE = 0,
PANGO_UNDERLINE_SINGLE = 1,
PANGO_UNDERLINE_DOUBLE = 2,
PANGO_UNDERLINE_LOW = 3,
PANGO_UNDERLINE_ERROR = 4
} PangoUnderline;
typedef struct _PangoRendererPrivate PangoRendererPrivate;
typedef struct _PangoRenderer {
GObject parent_instance;
PangoUnderline underline;
gboolean strikethrough;
int active_count;
PangoMatrix *matrix;
PangoRendererPrivate *priv;
} PangoRenderer;
typedef enum {
PANGO_RENDER_PART_FOREGROUND = 0,
PANGO_RENDER_PART_BACKGROUND = 1,
PANGO_RENDER_PART_UNDERLINE = 2,
PANGO_RENDER_PART_STRIKETHROUGH = 3
} PangoRenderPart;
typedef struct _PangoAttrList PangoAttrList;
typedef struct _PangoLayoutLine {
PangoLayout *layout;
gint start_index;
gint length;
GSList *runs;
guint is_paragraph_start:1;
guint resolved_dir:3;
} PangoLayoutLine;
typedef enum {
PANGO_STRETCH_ULTRA_CONDENSED = 0,
PANGO_STRETCH_EXTRA_CONDENSED = 1,
PANGO_STRETCH_CONDENSED = 2,
PANGO_STRETCH_SEMI_CONDENSED = 3,
PANGO_STRETCH_NORMAL = 4,
PANGO_STRETCH_SEMI_EXPANDED = 5,
PANGO_STRETCH_EXPANDED = 6,
PANGO_STRETCH_EXTRA_EXPANDED = 7,
PANGO_STRETCH_ULTRA_EXPANDED = 8
} PangoStretch;
typedef struct _PangoRectangle {
int x;
int y;
int width;
int height;
} PangoRectangle;
typedef struct _PangoFontFamily PangoFontFamily;
typedef struct _PangoFontMetrics PangoFontMetrics;
typedef struct _PangoTabArray PangoTabArray;
typedef enum {
PANGO_TAB_LEFT = 0
} PangoTabAlign;
typedef enum {
PANGO_ALIGN_LEFT = 0,
PANGO_ALIGN_CENTER = 1,
PANGO_ALIGN_RIGHT = 2
} PangoAlignment;
typedef struct _PangoAttrIterator PangoAttrIterator;
typedef enum {
PANGO_FONT_MASK_FAMILY = 1,
PANGO_FONT_MASK_STYLE = 2,
PANGO_FONT_MASK_VARIANT = 4,
PANGO_FONT_MASK_WEIGHT = 8,
PANGO_FONT_MASK_STRETCH = 16,
PANGO_FONT_MASK_SIZE = 32
} PangoFontMask;
typedef enum {
PANGO_DIRECTION_LTR = 0,
PANGO_DIRECTION_RTL = 1,
PANGO_DIRECTION_TTB_LTR = 2,
PANGO_DIRECTION_TTB_RTL = 3,
PANGO_DIRECTION_WEAK_LTR = 4,
PANGO_DIRECTION_WEAK_RTL = 5,
PANGO_DIRECTION_NEUTRAL = 6
} PangoDirection;
typedef enum {
PANGO_ELLIPSIZE_NONE = 0,
PANGO_ELLIPSIZE_START = 1,
PANGO_ELLIPSIZE_MIDDLE = 2,
PANGO_ELLIPSIZE_END = 3
} PangoEllipsizeMode;
typedef struct _PangoCoverage PangoCoverage;
typedef enum {
PANGO_STYLE_NORMAL = 0,
PANGO_STYLE_OBLIQUE = 1,
PANGO_STYLE_ITALIC = 2
} PangoStyle;
typedef enum {
PANGO_COVERAGE_NONE = 0,
PANGO_COVERAGE_FALLBACK = 1,
PANGO_COVERAGE_APPROXIMATE = 2,
PANGO_COVERAGE_EXACT = 3
} PangoCoverageLevel;
typedef struct _PangoFontMap PangoFontMap;
typedef gboolean(*PangoAttrFilterFunc) (PangoAttribute *, gpointer);
typedef struct _PangoFontset PangoFontset;
typedef enum {
PANGO_WEIGHT_ULTRALIGHT = 200,
PANGO_WEIGHT_LIGHT = 300,
PANGO_WEIGHT_NORMAL = 400,
PANGO_WEIGHT_SEMIBOLD = 600,
PANGO_WEIGHT_BOLD = 700,
PANGO_WEIGHT_ULTRABOLD = 800,
PANGO_WEIGHT_HEAVY = 900
} PangoWeight;
typedef gboolean(*PangoFontsetForeachFunc) (PangoFontset *, PangoFont *,
gpointer);
typedef enum {
PANGO_VARIANT_NORMAL = 0,
PANGO_VARIANT_SMALL_CAPS = 1
} PangoVariant;
typedef gpointer(*PangoAttrDataCopyFunc) (gconstpointer);
typedef struct _PangoAttrShape {
PangoAttribute attr;
PangoRectangle ink_rect;
PangoRectangle logical_rect;
gpointer data;
PangoAttrDataCopyFunc copy_func;
GDestroyNotify destroy_func;
} PangoAttrShape;
typedef struct _PangoContextClass PangoContextClass;
typedef struct _PangoAttrString {
PangoAttribute attr;
char *value;
} PangoAttrString;
typedef struct _PangoAttrColor {
PangoAttribute attr;
PangoColor color;
} PangoAttrColor;
typedef struct _PangoAttrFontDesc {
PangoAttribute attr;
PangoFontDescription *desc;
} PangoAttrFontDesc;
typedef struct _PangoAttrFloat {
PangoAttribute attr;
double value;
} PangoAttrFloat;
typedef struct _PangoRendererClass {
GObjectClass parent_class;
void (*draw_glyphs) (PangoRenderer *, PangoFont *, PangoGlyphString *,
int, int);
void (*draw_rectangle) (PangoRenderer *, PangoRenderPart, int, int,
int, int);
void (*draw_error_underline) (PangoRenderer *, int, int, int, int);
void (*draw_shape) (PangoRenderer *, PangoAttrShape *, int, int);
void (*draw_trapezoid) (PangoRenderer *, PangoRenderPart, double,
double, double, double, double, double);
void (*draw_glyph) (PangoRenderer *, PangoFont *, PangoGlyph, double,
double);
void (*part_changed) (PangoRenderer *, PangoRenderPart);
void (*begin) (PangoRenderer *);
void (*end) (PangoRenderer *);
void (*prepare_run) (PangoRenderer *, PangoLayoutRun *);
void (*_pango_reserved1) (void);
void (*_pango_reserved2) (void);
void (*_pango_reserved3) (void);
void (*_pango_reserved4) (void);
} PangoRendererClass;
typedef struct _PangoAttrLanguage {
PangoAttribute attr;
PangoLanguage *value;
} PangoAttrLanguage;
typedef struct _PangoAttrInt {
PangoAttribute attr;
int value;
} PangoAttrInt;
typedef struct _PangoAttrSize {
PangoAttribute attr;
int size;
guint absolute:1;
} PangoAttrSize;
typedef struct _PangoLayoutClass PangoLayoutClass;
extern GType pango_alignment_get_type(void);
extern PangoAttribute *pango_attr_background_new(guint16 red,
guint16 green,
guint16 blue);
extern PangoAttribute *pango_attr_fallback_new(gboolean enable_fallback);
extern PangoAttribute *pango_attr_family_new(const char *family);
extern PangoAttribute *pango_attr_font_desc_new(const PangoFontDescription
* desc);
extern PangoAttribute *pango_attr_foreground_new(guint16 red,
guint16 green,
guint16 blue);
extern PangoAttrIterator *pango_attr_iterator_copy(PangoAttrIterator *
iterator);
extern void pango_attr_iterator_destroy(PangoAttrIterator * iterator);
extern PangoAttribute *pango_attr_iterator_get(PangoAttrIterator *
iterator,
PangoAttrType type);
extern GSList *pango_attr_iterator_get_attrs(PangoAttrIterator * iterator);
extern void pango_attr_iterator_get_font(PangoAttrIterator * iterator,
PangoFontDescription * desc,
PangoLanguage * *language,
GSList * *extra_attrs);
extern gboolean pango_attr_iterator_next(PangoAttrIterator * iterator);
extern void pango_attr_iterator_range(PangoAttrIterator * iterator,
gint * start, gint * end);
extern PangoAttribute *pango_attr_language_new(PangoLanguage * language);
extern PangoAttribute *pango_attr_letter_spacing_new(int letter_spacing);
extern void pango_attr_list_change(PangoAttrList * list,
PangoAttribute * attr);
extern PangoAttrList *pango_attr_list_copy(PangoAttrList * list);
extern PangoAttrList *pango_attr_list_filter(PangoAttrList * list,
PangoAttrFilterFunc func,
gpointer data);
extern PangoAttrIterator *pango_attr_list_get_iterator(PangoAttrList *
list);
extern GType pango_attr_list_get_type(void);
extern void pango_attr_list_insert(PangoAttrList * list,
PangoAttribute * attr);
extern void pango_attr_list_insert_before(PangoAttrList * list,
PangoAttribute * attr);
extern PangoAttrList *pango_attr_list_new(void);
extern PangoAttrList *pango_attr_list_ref(PangoAttrList * list);
extern void pango_attr_list_splice(PangoAttrList * list,
PangoAttrList * other, gint pos,
gint len);
extern void pango_attr_list_unref(PangoAttrList * list);
extern PangoAttribute *pango_attr_rise_new(int rise);
extern PangoAttribute *pango_attr_scale_new(double scale_factor);
extern PangoAttribute *pango_attr_shape_new(const PangoRectangle *
ink_rect,
const PangoRectangle *
logical_rect);
extern PangoAttribute *pango_attr_shape_new_with_data(const PangoRectangle
* ink_rect,
const PangoRectangle
* logical_rect,
gpointer data,
PangoAttrDataCopyFunc
copy_func,
GDestroyNotify
destroy_func);
extern PangoAttribute *pango_attr_size_new(int size);
extern PangoAttribute *pango_attr_size_new_absolute(int size);
extern PangoAttribute *pango_attr_stretch_new(PangoStretch stretch);
extern PangoAttribute *pango_attr_strikethrough_color_new(guint16 red,
guint16 green,
guint16 blue);
extern PangoAttribute *pango_attr_strikethrough_new(gboolean
strikethrough);
extern PangoAttribute *pango_attr_style_new(PangoStyle style);
extern GType pango_attr_type_get_type(void);
extern PangoAttrType pango_attr_type_register(const gchar * name);
extern PangoAttribute *pango_attr_underline_color_new(guint16 red,
guint16 green,
guint16 blue);
extern PangoAttribute *pango_attr_underline_new(PangoUnderline underline);
extern PangoAttribute *pango_attr_variant_new(PangoVariant variant);
extern PangoAttribute *pango_attr_weight_new(PangoWeight weight);
extern PangoAttribute *pango_attribute_copy(const PangoAttribute * attr);
extern void pango_attribute_destroy(PangoAttribute * attr);
extern gboolean pango_attribute_equal(const PangoAttribute * attr1,
const PangoAttribute * attr2);
extern void pango_break(const gchar * text, gint length,
PangoAnalysis * analysis, PangoLogAttr * attrs,
int attrs_len);
extern PangoColor *pango_color_copy(const PangoColor * src);
extern void pango_color_free(PangoColor * color);
extern GType pango_color_get_type(void);
extern gboolean pango_color_parse(PangoColor * color, const char *spec);
extern PangoDirection pango_context_get_base_dir(PangoContext * context);
extern PangoFontDescription
*pango_context_get_font_description(PangoContext * context);
extern PangoFontMap *pango_context_get_font_map(PangoContext * context);
extern PangoLanguage *pango_context_get_language(PangoContext * context);
extern const PangoMatrix *pango_context_get_matrix(PangoContext * context);
extern PangoFontMetrics *pango_context_get_metrics(PangoContext * context,
const
PangoFontDescription *
desc,
PangoLanguage *
language);
extern GType pango_context_get_type(void);
extern void pango_context_list_families(PangoContext * context,
PangoFontFamily * **families,
int *n_families);
extern PangoFont *pango_context_load_font(PangoContext * context,
const PangoFontDescription *
desc);
extern PangoFontset *pango_context_load_fontset(PangoContext * context,
const PangoFontDescription
* desc,
PangoLanguage * language);
extern void pango_context_set_base_dir(PangoContext * context,
PangoDirection direction);
extern void pango_context_set_font_description(PangoContext * context,
const PangoFontDescription *
desc);
extern void pango_context_set_language(PangoContext * context,
PangoLanguage * language);
extern void pango_context_set_matrix(PangoContext * context,
const PangoMatrix * matrix);
extern PangoCoverage *pango_coverage_from_bytes(guchar * bytes,
int n_bytes);
extern PangoCoverageLevel pango_coverage_get(PangoCoverage * coverage,
int index_);
extern GType pango_coverage_level_get_type(void);
extern void pango_coverage_max(PangoCoverage * coverage,
PangoCoverage * other);
extern PangoCoverage *pango_coverage_new(void);
extern PangoCoverage *pango_coverage_ref(PangoCoverage * coverage);
extern void pango_coverage_set(PangoCoverage * coverage, int index_,
PangoCoverageLevel level);
extern void pango_coverage_to_bytes(PangoCoverage * coverage,
guchar * *bytes, int *n_bytes);
extern void pango_coverage_unref(PangoCoverage * coverage);
extern GType pango_direction_get_type(void);
extern GType pango_ellipsize_mode_get_type(void);
extern PangoDirection pango_find_base_dir(const gchar * text, gint length);
extern void pango_find_paragraph_boundary(const gchar * text, gint length,
gint * paragraph_delimiter_index,
gint * next_paragraph_start);
extern PangoFontDescription *pango_font_describe(PangoFont * font);
extern gboolean pango_font_description_better_match(const
PangoFontDescription *
desc,
const
PangoFontDescription *
old_match,
const
PangoFontDescription *
new_match);
extern PangoFontDescription *pango_font_description_copy(const
PangoFontDescription
* desc);
extern PangoFontDescription *pango_font_description_copy_static(const
PangoFontDescription
* desc);
extern gboolean pango_font_description_equal(const PangoFontDescription *
desc1,
const PangoFontDescription *
desc2);
extern void pango_font_description_free(PangoFontDescription * desc);
extern PangoFontDescription *pango_font_description_from_string(const char
*str);
extern const char *pango_font_description_get_family(const
PangoFontDescription *
desc);
extern PangoFontMask pango_font_description_get_set_fields(const
PangoFontDescription
* desc);
extern gint pango_font_description_get_size(const PangoFontDescription *
desc);
extern gboolean pango_font_description_get_size_is_absolute(const
PangoFontDescription
* desc);
extern PangoStretch pango_font_description_get_stretch(const
PangoFontDescription
* desc);
extern PangoStyle pango_font_description_get_style(const
PangoFontDescription *
desc);
extern GType pango_font_description_get_type(void);
extern PangoVariant pango_font_description_get_variant(const
PangoFontDescription
* desc);
extern PangoWeight pango_font_description_get_weight(const
PangoFontDescription *
desc);
extern guint pango_font_description_hash(const PangoFontDescription *
desc);
extern void pango_font_description_merge(PangoFontDescription * desc,
const PangoFontDescription *
desc_to_merge,
gboolean replace_existing);
extern void pango_font_description_merge_static(PangoFontDescription *
desc,
const PangoFontDescription
* desc_to_merge,
gboolean replace_existing);
extern PangoFontDescription *pango_font_description_new(void);
extern void pango_font_description_set_absolute_size(PangoFontDescription *
desc, double size);
extern void pango_font_description_set_family(PangoFontDescription * desc,
const char *family);
extern void pango_font_description_set_family_static(PangoFontDescription *
desc,
const char *family);
extern void pango_font_description_set_size(PangoFontDescription * desc,
gint size);
extern void pango_font_description_set_stretch(PangoFontDescription * desc,
PangoStretch stretch);
extern void pango_font_description_set_style(PangoFontDescription * desc,
PangoStyle style);
extern void pango_font_description_set_variant(PangoFontDescription * desc,
PangoVariant variant);
extern void pango_font_description_set_weight(PangoFontDescription * desc,
PangoWeight weight);
extern char *pango_font_description_to_filename(const PangoFontDescription
* desc);
extern char *pango_font_description_to_string(const PangoFontDescription *
desc);
extern void pango_font_description_unset_fields(PangoFontDescription *
desc,
PangoFontMask to_unset);
extern void pango_font_descriptions_free(PangoFontDescription * *descs,
int n_descs);
extern PangoFontDescription *pango_font_face_describe(PangoFontFace *
face);
extern const char *pango_font_face_get_face_name(PangoFontFace * face);
extern GType pango_font_face_get_type(void);
extern void pango_font_face_list_sizes(PangoFontFace * face, int **sizes,
int *n_sizes);
extern const char *pango_font_family_get_name(PangoFontFamily * family);
extern GType pango_font_family_get_type(void);
extern gboolean pango_font_family_is_monospace(PangoFontFamily * family);
extern void pango_font_family_list_faces(PangoFontFamily * family,
PangoFontFace * **faces,
int *n_faces);
extern PangoEngineShape *pango_font_find_shaper(PangoFont * font,
PangoLanguage * language,
guint32 ch);
extern PangoCoverage *pango_font_get_coverage(PangoFont * font,
PangoLanguage * language);
extern PangoFontMap *pango_font_get_font_map(PangoFont * font);
extern void pango_font_get_glyph_extents(PangoFont * font,
PangoGlyph glyph,
PangoRectangle * ink_rect,
PangoRectangle * logical_rect);
extern PangoFontMetrics *pango_font_get_metrics(PangoFont * font,
PangoLanguage * language);
extern GType pango_font_get_type(void);
extern GType pango_font_map_get_type(void);
extern void pango_font_map_list_families(PangoFontMap * fontmap,
PangoFontFamily * **families,
int *n_families);
extern PangoFont *pango_font_map_load_font(PangoFontMap * fontmap,
PangoContext * context,
const PangoFontDescription *
desc);
extern PangoFontset *pango_font_map_load_fontset(PangoFontMap * fontmap,
PangoContext * context,
const PangoFontDescription
* desc,
PangoLanguage * language);
extern GType pango_font_mask_get_type(void);
extern int pango_font_metrics_get_approximate_char_width(PangoFontMetrics *
metrics);
extern int pango_font_metrics_get_approximate_digit_width(PangoFontMetrics
* metrics);
extern int pango_font_metrics_get_ascent(PangoFontMetrics * metrics);
extern int pango_font_metrics_get_descent(PangoFontMetrics * metrics);
extern int pango_font_metrics_get_strikethrough_position(PangoFontMetrics *
metrics);
extern int pango_font_metrics_get_strikethrough_thickness(PangoFontMetrics
* metrics);
extern GType pango_font_metrics_get_type(void);
extern int pango_font_metrics_get_underline_position(PangoFontMetrics *
metrics);
extern int pango_font_metrics_get_underline_thickness(PangoFontMetrics *
metrics);
extern PangoFontMetrics *pango_font_metrics_ref(PangoFontMetrics *
metrics);
extern void pango_font_metrics_unref(PangoFontMetrics * metrics);
extern void pango_fontset_foreach(PangoFontset *, PangoFontsetForeachFunc,
gpointer);
extern PangoFont *pango_fontset_get_font(PangoFontset *, guint);
extern PangoFontMetrics *pango_fontset_get_metrics(PangoFontset *);
extern GType pango_fontset_get_type(void);
extern void pango_get_log_attrs(const char *text, int length, int level,
PangoLanguage * language,
PangoLogAttr * log_attrs, int attrs_len);
extern GSList *pango_glyph_item_apply_attrs(PangoGlyphItem * glyph_item,
const char *text,
PangoAttrList * list);
extern void pango_glyph_item_free(PangoGlyphItem * glyph_item);
extern void pango_glyph_item_letter_space(PangoGlyphItem * glyph_item,
const char *text,
PangoLogAttr * log_attrs,
int letter_spacing);
extern PangoGlyphItem *pango_glyph_item_split(PangoGlyphItem * orig,
const char *text,
int split_index);
extern PangoGlyphString *pango_glyph_string_copy(PangoGlyphString *
string);
extern void pango_glyph_string_extents(PangoGlyphString * glyphs,
PangoFont * font,
PangoRectangle * ink_rect,
PangoRectangle * logical_rect);
extern void pango_glyph_string_extents_range(PangoGlyphString * glyphs,
int start, int end,
PangoFont * font,
PangoRectangle * ink_rect,
PangoRectangle *
logical_rect);
extern void pango_glyph_string_free(PangoGlyphString * string);
extern void pango_glyph_string_get_logical_widths(PangoGlyphString *
glyphs, const char *text,
int length,
int embedding_level,
int *logical_widths);
extern GType pango_glyph_string_get_type(void);
extern void pango_glyph_string_index_to_x(PangoGlyphString * glyphs,
char *text, int length,
PangoAnalysis * analysis,
int index_, gboolean trailing,
int *x_pos);
extern PangoGlyphString *pango_glyph_string_new(void);
extern void pango_glyph_string_set_size(PangoGlyphString * string,
gint new_len);
extern void pango_glyph_string_x_to_index(PangoGlyphString * glyphs,
char *text, int length,
PangoAnalysis * analysis,
int x_pos, int *index_,
gboolean * trailing);
extern PangoItem *pango_item_copy(PangoItem * item);
extern void pango_item_free(PangoItem * item);
extern PangoItem *pango_item_new(void);
extern PangoItem *pango_item_split(PangoItem * orig, int split_index,
int split_offset);
extern GList *pango_itemize(PangoContext * context, const char *text,
int start_index, int length,
PangoAttrList * attrs,
PangoAttrIterator * cached_iter);
extern GList *pango_itemize_with_base_dir(PangoContext * context,
PangoDirection base_dir,
const char *text,
int start_index, int length,
PangoAttrList * attrs,
PangoAttrIterator * cached_iter);
extern PangoLanguage *pango_language_from_string(const char *language);
extern GType pango_language_get_type(void);
extern gboolean pango_language_includes_script(PangoLanguage * language,
PangoScript script);
extern gboolean pango_language_matches(PangoLanguage * language,
const char *range_list);
extern void pango_layout_context_changed(PangoLayout * layout);
extern PangoLayout *pango_layout_copy(PangoLayout * src);
extern PangoAlignment pango_layout_get_alignment(PangoLayout * layout);
extern PangoAttrList *pango_layout_get_attributes(PangoLayout * layout);
extern gboolean pango_layout_get_auto_dir(PangoLayout * layout);
extern PangoContext *pango_layout_get_context(PangoLayout * layout);
extern void pango_layout_get_cursor_pos(PangoLayout * layout, int index_,
PangoRectangle * strong_pos,
PangoRectangle * weak_pos);
extern PangoEllipsizeMode pango_layout_get_ellipsize(PangoLayout * layout);
extern void pango_layout_get_extents(PangoLayout * layout,
PangoRectangle * ink_rect,
PangoRectangle * logical_rect);
extern const PangoFontDescription
*pango_layout_get_font_description(PangoLayout * layout);
extern int pango_layout_get_indent(PangoLayout * layout);
extern PangoLayoutIter *pango_layout_get_iter(PangoLayout * layout);
extern gboolean pango_layout_get_justify(PangoLayout * layout);
extern PangoLayoutLine *pango_layout_get_line(PangoLayout * layout,
int line);
extern int pango_layout_get_line_count(PangoLayout * layout);
extern GSList *pango_layout_get_lines(PangoLayout * layout);
extern void pango_layout_get_log_attrs(PangoLayout * layout,
PangoLogAttr * *attrs,
gint * n_attrs);
extern void pango_layout_get_pixel_extents(PangoLayout * layout,
PangoRectangle * ink_rect,
PangoRectangle * logical_rect);
extern void pango_layout_get_pixel_size(PangoLayout * layout, int *width,
int *height);
extern gboolean pango_layout_get_single_paragraph_mode(PangoLayout *
layout);
extern void pango_layout_get_size(PangoLayout * layout, int *width,
int *height);
extern int pango_layout_get_spacing(PangoLayout * layout);
extern PangoTabArray *pango_layout_get_tabs(PangoLayout * layout);
extern const char *pango_layout_get_text(PangoLayout * layout);
extern GType pango_layout_get_type(void);
extern int pango_layout_get_width(PangoLayout * layout);
extern PangoWrapMode pango_layout_get_wrap(PangoLayout * layout);
extern void pango_layout_index_to_pos(PangoLayout * layout, int index_,
PangoRectangle * pos);
extern gboolean pango_layout_iter_at_last_line(PangoLayoutIter * iter);
extern void pango_layout_iter_free(PangoLayoutIter * iter);
extern int pango_layout_iter_get_baseline(PangoLayoutIter * iter);
extern void pango_layout_iter_get_char_extents(PangoLayoutIter * iter,
PangoRectangle *
logical_rect);
extern void pango_layout_iter_get_cluster_extents(PangoLayoutIter * iter,
PangoRectangle *
ink_rect,
PangoRectangle *
logical_rect);
extern int pango_layout_iter_get_index(PangoLayoutIter * iter);
extern void pango_layout_iter_get_layout_extents(PangoLayoutIter * iter,
PangoRectangle * ink_rect,
PangoRectangle *
logical_rect);
extern PangoLayoutLine *pango_layout_iter_get_line(PangoLayoutIter * iter);
extern void pango_layout_iter_get_line_extents(PangoLayoutIter * iter,
PangoRectangle * ink_rect,
PangoRectangle *
logical_rect);
extern void pango_layout_iter_get_line_yrange(PangoLayoutIter * iter,
int *y0_, int *y1_);
extern PangoLayoutRun *pango_layout_iter_get_run(PangoLayoutIter * iter);
extern void pango_layout_iter_get_run_extents(PangoLayoutIter * iter,
PangoRectangle * ink_rect,
PangoRectangle *
logical_rect);
extern GType pango_layout_iter_get_type(void);
extern gboolean pango_layout_iter_next_char(PangoLayoutIter * iter);
extern gboolean pango_layout_iter_next_cluster(PangoLayoutIter * iter);
extern gboolean pango_layout_iter_next_line(PangoLayoutIter * iter);
extern gboolean pango_layout_iter_next_run(PangoLayoutIter * iter);
extern void pango_layout_line_get_extents(PangoLayoutLine * line,
PangoRectangle * ink_rect,
PangoRectangle * logical_rect);
extern void pango_layout_line_get_pixel_extents(PangoLayoutLine *
layout_line,
PangoRectangle * ink_rect,
PangoRectangle *
logical_rect);
extern void pango_layout_line_get_x_ranges(PangoLayoutLine * line,
int start_index, int end_index,
int **ranges, int *n_ranges);
extern void pango_layout_line_index_to_x(PangoLayoutLine * line,
int index_, int trailing,
int *x_pos);
extern PangoLayoutLine *pango_layout_line_ref(PangoLayoutLine * line);
extern void pango_layout_line_unref(PangoLayoutLine * line);
extern gboolean pango_layout_line_x_to_index(PangoLayoutLine * line,
int x_pos, int *index_,
int *trailing);
extern void pango_layout_move_cursor_visually(PangoLayout * layout,
gboolean strong,
int old_index,
int old_trailing,
int direction,
int *new_index,
int *new_trailing);
extern PangoLayout *pango_layout_new(PangoContext * context);
extern void pango_layout_set_alignment(PangoLayout * layout,
PangoAlignment alignment);
extern void pango_layout_set_attributes(PangoLayout * layout,
PangoAttrList * attrs);
extern void pango_layout_set_auto_dir(PangoLayout * layout,
gboolean auto_dir);
extern void pango_layout_set_ellipsize(PangoLayout * layout,
PangoEllipsizeMode ellipsize);
extern void pango_layout_set_font_description(PangoLayout * layout,
const PangoFontDescription *
desc);
extern void pango_layout_set_indent(PangoLayout * layout, int indent);
extern void pango_layout_set_justify(PangoLayout * layout,
gboolean justify);
extern void pango_layout_set_markup(PangoLayout * layout,
const char *markup, int length);
extern void pango_layout_set_markup_with_accel(PangoLayout * layout,
const char *markup,
int length,
gunichar accel_marker,
gunichar * accel_char);
extern void pango_layout_set_single_paragraph_mode(PangoLayout * layout,
gboolean setting);
extern void pango_layout_set_spacing(PangoLayout * layout, int spacing);
extern void pango_layout_set_tabs(PangoLayout * layout,
PangoTabArray * tabs);
extern void pango_layout_set_text(PangoLayout * layout, const char *text,
int length);
extern void pango_layout_set_width(PangoLayout * layout, int width);
extern void pango_layout_set_wrap(PangoLayout * layout,
PangoWrapMode wrap);
extern gboolean pango_layout_xy_to_index(PangoLayout * layout, int x,
int y, int *index_,
gint * trailing);
extern void pango_matrix_concat(PangoMatrix * matrix,
const PangoMatrix * new_matrix);
extern PangoMatrix *pango_matrix_copy(const PangoMatrix * matrix);
extern void pango_matrix_free(PangoMatrix * matrix);
extern GType pango_matrix_get_type(void);
extern void pango_matrix_rotate(PangoMatrix * matrix, double degrees);
extern void pango_matrix_scale(PangoMatrix * matrix, double scale_x,
double scale_y);
extern void pango_matrix_translate(PangoMatrix * matrix, double tx,
double ty);
extern gboolean pango_parse_markup(const char *markup_text, int length,
gunichar accel_marker,
PangoAttrList * *attr_list, char **text,
gunichar * accel_char, GError * *error);
extern GType pango_render_part_get_type(void);
extern void pango_renderer_activate(PangoRenderer * renderer);
extern void pango_renderer_deactivate(PangoRenderer * renderer);
extern void pango_renderer_draw_error_underline(PangoRenderer * renderer,
int x, int y, int width,
int height);
extern void pango_renderer_draw_glyph(PangoRenderer * renderer,
PangoFont * font, PangoGlyph glyph,
double x, double y);
extern void pango_renderer_draw_glyphs(PangoRenderer * renderer,
PangoFont * font,
PangoGlyphString * glyphs, int x,
int y);
extern void pango_renderer_draw_layout(PangoRenderer * renderer,
PangoLayout * layout, int x, int y);
extern void pango_renderer_draw_layout_line(PangoRenderer * renderer,
PangoLayoutLine * line, int x,
int y);
extern void pango_renderer_draw_rectangle(PangoRenderer * renderer,
PangoRenderPart part, int x,
int y, int width, int height);
extern void pango_renderer_draw_trapezoid(PangoRenderer * renderer,
PangoRenderPart part, double y1_,
double x11, double x21,
double y2, double x12,
double x22);
extern PangoColor *pango_renderer_get_color(PangoRenderer * renderer,
PangoRenderPart part);
extern const PangoMatrix *pango_renderer_get_matrix(PangoRenderer *
renderer);
extern GType pango_renderer_get_type(void);
extern void pango_renderer_part_changed(PangoRenderer * renderer,
PangoRenderPart part);
extern void pango_renderer_set_color(PangoRenderer * renderer,
PangoRenderPart part,
const PangoColor * color);
extern void pango_renderer_set_matrix(PangoRenderer * renderer,
const PangoMatrix * matrix);
extern GList *pango_reorder_items(GList * logical_items);
extern PangoScript pango_script_for_unichar(gunichar ch);
extern PangoLanguage *pango_script_get_sample_language(PangoScript script);
extern GType pango_script_get_type(void);
extern void pango_script_iter_free(PangoScriptIter * iter);
extern void pango_script_iter_get_range(PangoScriptIter * iter,
const char **start,
const char **end,
PangoScript * script);
extern PangoScriptIter *pango_script_iter_new(const char *text,
int length);
extern gboolean pango_script_iter_next(PangoScriptIter * iter);
extern void pango_shape(const gchar * text, gint length,
PangoAnalysis * analysis,
PangoGlyphString * glyphs);
extern GType pango_stretch_get_type(void);
extern GType pango_style_get_type(void);
extern GType pango_tab_align_get_type(void);
extern PangoTabArray *pango_tab_array_copy(PangoTabArray * src);
extern void pango_tab_array_free(PangoTabArray * tab_array);
extern gboolean pango_tab_array_get_positions_in_pixels(PangoTabArray *
tab_array);
extern gint pango_tab_array_get_size(PangoTabArray * tab_array);
extern void pango_tab_array_get_tab(PangoTabArray * tab_array,
gint tab_index,
PangoTabAlign * alignment,
gint * location);
extern void pango_tab_array_get_tabs(PangoTabArray * tab_array,
PangoTabAlign * *alignments,
gint * *locations);
extern GType pango_tab_array_get_type(void);
extern PangoTabArray *pango_tab_array_new(gint initial_size,
gboolean positions_in_pixels);
extern PangoTabArray *pango_tab_array_new_with_positions(gint size,
gboolean
positions_in_pixels,
PangoTabAlign
first_alignment,
gint
first_position,
...);
extern void pango_tab_array_resize(PangoTabArray * tab_array,
gint new_size);
extern void pango_tab_array_set_tab(PangoTabArray * tab_array,
gint tab_index,
PangoTabAlign alignment,
gint location);
extern GType pango_underline_get_type(void);
extern PangoDirection pango_unichar_direction(gunichar ch);
extern GType pango_variant_get_type(void);
extern GType pango_weight_get_type(void);
extern GType pango_wrap_mode_get_type(void); |
Table 16-76 defines the library name and shared object name for the libpangocairo-1.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Pango 1.10] Pango 1.10.4 Reference Manual |
An LSB conforming implementation shall provide the generic functions for Pango Cairo Rendering specified in Table 16-77, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-77. libpangocairo-1.0 - Pango Cairo Rendering Function Interfaces
| pango_cairo_context_get_font_options [Pango 1.10] | pango_cairo_context_get_resolution [Pango 1.10] |
| pango_cairo_context_set_font_options [Pango 1.10] | pango_cairo_context_set_resolution [Pango 1.10] |
| pango_cairo_create_layout [Pango 1.10] | pango_cairo_font_map_create_context [Pango 1.10] |
| pango_cairo_font_map_get_default [Pango 1.10] | pango_cairo_font_map_get_resolution [Pango 1.10] |
| pango_cairo_font_map_new [Pango 1.10] | pango_cairo_font_map_set_resolution [Pango 1.10] |
| pango_cairo_glyph_string_path [Pango 1.10] | pango_cairo_layout_line_path [Pango 1.10] |
| pango_cairo_layout_path [Pango 1.10] | pango_cairo_show_glyph_string [Pango 1.10] |
| pango_cairo_show_layout [Pango 1.10] | pango_cairo_show_layout_line [Pango 1.10] |
| pango_cairo_update_context [Pango 1.10] | pango_cairo_update_layout [Pango 1.10] |
This section defines global identifiers and their values that are associated with interfaces contained in libpangocairo-1.0. 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.
#define PANGO_CAIRO_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_CAIRO_FONT_MAP, \
PangoCairoFontMap))
#define PANGO_IS_CAIRO_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_CAIRO_FONT_MAP))
#define PANGO_TYPE_CAIRO_FONT_MAP (pango_cairo_font_map_get_type ())
typedef struct _PangoCairoFont PangoCairoFont;
typedef struct _PangoCairoFontMap PangoCairoFontMap;
extern const cairo_font_options_t
*pango_cairo_context_get_font_options(PangoContext * context);
extern double pango_cairo_context_get_resolution(PangoContext * context);
extern void pango_cairo_context_set_font_options(PangoContext * context,
const cairo_font_options_t
* options);
extern void pango_cairo_context_set_resolution(PangoContext * context,
double dpi);
extern PangoLayout *pango_cairo_create_layout(cairo_t * cr);
extern PangoContext *pango_cairo_font_map_create_context(PangoCairoFontMap
* fontmap);
extern PangoFontMap *pango_cairo_font_map_get_default(void);
extern double pango_cairo_font_map_get_resolution(PangoCairoFontMap *
fontmap);
extern PangoFontMap *pango_cairo_font_map_new(void);
extern void pango_cairo_font_map_set_resolution(PangoCairoFontMap *
fontmap, double dpi);
extern void pango_cairo_glyph_string_path(cairo_t * cr, PangoFont * font,
PangoGlyphString * glyphs);
extern void pango_cairo_layout_line_path(cairo_t * cr,
PangoLayoutLine * line);
extern void pango_cairo_layout_path(cairo_t * cr, PangoLayout * layout);
extern void pango_cairo_show_glyph_string(cairo_t * cr, PangoFont * font,
PangoGlyphString * glyphs);
extern void pango_cairo_show_layout(cairo_t * cr, PangoLayout * layout);
extern void pango_cairo_show_layout_line(cairo_t * cr,
PangoLayoutLine * line);
extern void pango_cairo_update_context(cairo_t * cr,
PangoContext * context);
extern void pango_cairo_update_layout(cairo_t * cr, PangoLayout * layout); |
Table 16-78 defines the library name and shared object name for the libpangoxft-1.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Gobject 2.8] Gobject 2.8.6 Reference Manual |
| [Pango 1.10] Pango 1.10.4 Reference Manual |
An LSB conforming implementation shall provide the generic functions for Pango Xft Fonts and Rendering library specified in Table 16-79, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-79. libpangoxft-1.0 - Pango Xft Fonts and Rendering library Function Interfaces
| pango_xft_font_get_type [Gobject 2.8] | pango_xft_font_map_get_type [Gobject 2.8] |
| pango_xft_get_context [Pango 1.10] | pango_xft_get_font_map [Pango 1.10] |
| pango_xft_picture_render [Pango 1.10] | pango_xft_render [Pango 1.10] |
| pango_xft_render_layout [Pango 1.10] | pango_xft_render_layout_line [Pango 1.10] |
| pango_xft_render_transformed [Pango 1.10] | pango_xft_renderer_get_type [Gobject 2.8] |
| pango_xft_renderer_new [Pango 1.10] | pango_xft_renderer_set_default_color [Pango 1.10] |
| pango_xft_renderer_set_draw [Pango 1.10] | pango_xft_set_default_substitute [Pango 1.10] |
| pango_xft_shutdown_display [Pango 1.10] | pango_xft_substitute_changed [Pango 1.10] |
This section defines global identifiers and their values that are associated with interfaces contained in libpangoxft-1.0. 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.
#define PANGO_XFT_RENDERER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_XFT_RENDERER, \
PangoXftRendererClass))
#define PANGO_IS_XFT_RENDERER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_XFT_RENDERER))
#define PANGO_XFT_FONT(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT, \
PangoXftFont))
#define PANGO_XFT_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_FONT_MAP, \
PangoXftFontMap))
#define PANGO_XFT_RENDERER(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_XFT_RENDERER, \
PangoXftRenderer))
#define PANGO_XFT_IS_FONT(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT))
#define PANGO_XFT_IS_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_FONT_MAP))
#define PANGO_IS_XFT_RENDERER(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_XFT_RENDERER))
#define PANGO_XFT_RENDERER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_XFT_RENDERER, \
PangoXftRendererClass))
#define PANGO_TYPE_XFT_FONT (pango_xft_font_get_type ())
#define PANGO_TYPE_XFT_FONT_MAP (pango_xft_font_map_get_type ())
#define PANGO_TYPE_XFT_RENDERER (pango_xft_renderer_get_type())
#define PANGO_RENDER_TYPE_XFT "PangoRenderXft"
typedef struct _PangoXftRenderer PangoXftRenderer;
typedef void (*PangoXftSubstituteFunc) (FcPattern *, gpointer);
typedef struct _PangoXftFontMap PangoXftFontMap;
typedef struct _PangoXftRendererClass {
PangoRendererClass parent_class;
void (*composite_trapezoids) (PangoXftRenderer *, PangoRenderPart,
XTrapezoid *, int);
void (*composite_glyphs) (PangoXftRenderer *, XftFont *,
XftGlyphSpec *, int);
} PangoXftRendererClass;
typedef struct _PangoFcFontClass PangoFcFontClass;
typedef struct _PangoFcFont PangoFcFont;
typedef struct _PangoXftFont PangoXftFont;
typedef struct _PangoXftRendererPrivate PangoXftRendererPrivate;
extern GType pango_xft_font_get_type(void);
extern GType pango_xft_font_map_get_type(void);
extern PangoContext *pango_xft_get_context(Display * display, int screen);
extern PangoFontMap *pango_xft_get_font_map(Display * display, int screen);
extern void pango_xft_picture_render(Display * display,
Picture src_picture,
Picture dest_picture,
PangoFont * font,
PangoGlyphString * glyphs, gint x,
gint y);
extern void pango_xft_render(XftDraw * draw, XftColor * color,
PangoFont * font, PangoGlyphString * glyphs,
gint x, gint y);
extern void pango_xft_render_layout(XftDraw * draw, XftColor * color,
PangoLayout * layout, int x, int y);
extern void pango_xft_render_layout_line(XftDraw * draw, XftColor * color,
PangoLayoutLine * line, int x,
int y);
extern void pango_xft_render_transformed(XftDraw * draw, XftColor * color,
PangoMatrix * matrix,
PangoFont * font,
PangoGlyphString * glyphs, int x,
int y);
extern GType pango_xft_renderer_get_type(void);
extern PangoRenderer *pango_xft_renderer_new(Display * display,
int screen);
extern void pango_xft_renderer_set_default_color(PangoXftRenderer *
xftrenderer,
PangoColor *
default_color);
extern void pango_xft_renderer_set_draw(PangoXftRenderer * xftrenderer,
XftDraw * draw);
extern void pango_xft_set_default_substitute(Display * display, int screen,
PangoXftSubstituteFunc func,
gpointer data,
GDestroyNotify notify);
extern void pango_xft_shutdown_display(Display * display, int screen);
extern void pango_xft_substitute_changed(Display * display, int screen); |
Table 16-80 defines the library name and shared object name for the libpangoft2-1.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Gobject 2.8] Gobject 2.8.6 Reference Manual |
| [Pango 1.10] Pango 1.10.4 Reference Manual |
An LSB conforming implementation shall provide the generic functions for Pango Freetype Fonts and Rendering library specified in Table 16-81, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-81. libpangoft2-1.0 - Pango Freetype Fonts and Rendering library Function Interfaces
| pango_fc_decoder_get_charset [Pango 1.10] | pango_fc_decoder_get_glyph [Pango 1.10] |
| pango_fc_decoder_get_type [Gobject 2.8] | pango_fc_font_description_from_pattern [Pango 1.10] |
| pango_fc_font_get_type [Gobject 2.8] | pango_fc_font_lock_face [Pango 1.10] |
| pango_fc_font_map_add_decoder_find_func [Pango 1.10] | pango_fc_font_map_get_type [Gobject 2.8] |
| pango_fc_font_unlock_face [Pango 1.10] | pango_ft2_font_map_create_context [Pango 1.10] |
| pango_ft2_font_map_get_type [Gobject 2.8] | pango_ft2_font_map_new [Pango 1.10] |
| pango_ft2_font_map_set_default_substitute [Pango 1.10] | pango_ft2_font_map_set_resolution [Pango 1.10] |
| pango_ft2_font_map_substitute_changed [Pango 1.10] | pango_ft2_render [Pango 1.10] |
| pango_ft2_render_layout [Pango 1.10] | pango_ft2_render_layout_line [Pango 1.10] |
| pango_ft2_render_layout_line_subpixel [Pango 1.10] | pango_ft2_render_layout_subpixel [Pango 1.10] |
| pango_ft2_render_transformed [Pango 1.10] |
This section defines global identifiers and their values that are associated with interfaces contained in libpangoft2-1.0. 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.
#define PANGO_FC_DECODER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), PANGO_TYPE_FC_DECODER, \
PangoFcDecoderClass))
#define PANGO_IS_FC_DECODER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), PANGO_TYPE_FC_DECODER))
#define PANGO_FC_DECODER(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_DECODER, \
PangoFcDecoder))
#define PANGO_IS_FC_DECODER(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_DECODER))
#define PANGO_FC_DECODER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), PANGO_TYPE_FC_DECODER, \
PangoFcDecoderClass))
#define PANGO_TYPE_FC_DECODER (pango_fc_decoder_get_type())
typedef struct _PangoFcDecoder {
GObject parent_instance;
} PangoFcDecoder;
typedef struct _PangoFcDecoderClass {
GObjectClass parent_class;
FcCharSet *(*get_charset) (PangoFcDecoder *, PangoFcFont *);
PangoGlyph(*get_glyph) (PangoFcDecoder *, PangoFcFont *, guint32);
void (*_pango_reserved1) (void);
void (*_pango_reserved2) (void);
void (*_pango_reserved3) (void);
void (*_pango_reserved4) (void);
} PangoFcDecoderClass;
extern FcCharSet *pango_fc_decoder_get_charset(PangoFcDecoder * decoder,
PangoFcFont * fcfont);
extern PangoGlyph pango_fc_decoder_get_glyph(PangoFcDecoder * decoder,
PangoFcFont * fcfont,
guint32 wc);
extern GType pango_fc_decoder_get_type(void); |
#define PANGO_FC_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_FONT_MAP, \
PangoFcFontMap))
#define PANGO_IS_FC_FONT_MAP(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_FONT_MAP))
#define PANGO_TYPE_FC_FONT_MAP (pango_fc_font_map_get_type ())
typedef struct _PangoFcFontMap PangoFcFontMap;
typedef PangoFcDecoder *(*PangoFcDecoderFindFunc) (FcPattern *, gpointer);
typedef struct _PangoFcFontMapClass PangoFcFontMapClass;
extern PangoFontDescription
*pango_fc_font_description_from_pattern(FcPattern * pattern,
gboolean include_size);
extern void pango_fc_font_map_add_decoder_find_func(PangoFcFontMap *
fcfontmap,
PangoFcDecoderFindFunc
findfunc,
gpointer user_data,
GDestroyNotify
dnotify);
extern GType pango_fc_font_map_get_type(void); |
#define PANGO_FC_FONT(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FC_FONT, \ PangoFcFont)) #define PANGO_FT2_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT_MAP, \ PangoFT2FontMap)) #define PANGO_IS_FC_FONT(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FC_FONT)) #define PANGO_FT2_IS_FONT_MAP(object) \ (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_FONT_MAP)) #define PANGO_TYPE_FC_FONT (pango_fc_font_get_type ()) #define PANGO_TYPE_FT2_FONT_MAP (pango_ft2_font_map_get_type ()) typedef struct _PangoFT2FontMap PangoFT2FontMap; typedef void (*PangoFT2SubstituteFunc) (FcPattern *, gpointer); extern GType pango_fc_font_get_type(void); extern FT_Face pango_fc_font_lock_face(PangoFcFont * font); extern void pango_fc_font_unlock_face(PangoFcFont * font); extern PangoContext *pango_ft2_font_map_create_context(PangoFT2FontMap * fontmap); extern GType pango_ft2_font_map_get_type(void); extern PangoFontMap *pango_ft2_font_map_new(void); extern void pango_ft2_font_map_set_default_substitute(PangoFT2FontMap * fontmap, PangoFT2SubstituteFunc func, gpointer data, GDestroyNotify notify); extern void pango_ft2_font_map_set_resolution(PangoFT2FontMap * fontmap, double dpi_x, double dpi_y); extern void pango_ft2_font_map_substitute_changed(PangoFT2FontMap * fontmap); extern void pango_ft2_render(FT_Bitmap * bitmap, PangoFont * font, PangoGlyphString * glyphs, int x, int y); extern void pango_ft2_render_layout(FT_Bitmap * bitmap, PangoLayout * layout, int x, int y); extern void pango_ft2_render_layout_line(FT_Bitmap * bitmap, PangoLayoutLine * line, int x, int y); extern void pango_ft2_render_layout_line_subpixel(FT_Bitmap * bitmap, PangoLayoutLine * line, int x, int y); extern void pango_ft2_render_layout_subpixel(FT_Bitmap * bitmap, PangoLayout * layout, int x, int y); extern void pango_ft2_render_transformed(FT_Bitmap * bitmap, const PangoMatrix * matrix, PangoFont * font, PangoGlyphString * glyphs, int x, int y); |
Table 16-82 defines the library name and shared object name for the libgdk_pixbuf-2.0 library
The behavior of the interfaces in this library is specified by the following specifications:
| [Gdk-pixbuf 2.8] Gdk-pixbuf 2.8.20 Reference Manual |
| [Gobject 2.8] Gobject 2.8.6 Reference Manual |
An LSB conforming implementation shall provide the generic functions for GDK pixbuf rendering on drawables library specified in Table 16-83, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-83. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Function Interfaces
| gdk_colorspace_get_type [Gobject 2.8] | gdk_interp_type_get_type [Gobject 2.8] |
| gdk_pixbuf_add_alpha [Gdk-pixbuf 2.8] | gdk_pixbuf_alpha_mode_get_type [Gobject 2.8] |
| gdk_pixbuf_animation_get_height [Gdk-pixbuf 2.8] | gdk_pixbuf_animation_get_iter [Gdk-pixbuf 2.8] |
| gdk_pixbuf_animation_get_static_image [Gdk-pixbuf 2.8] | gdk_pixbuf_animation_get_type [Gobject 2.8] |
| gdk_pixbuf_animation_get_width [Gdk-pixbuf 2.8] | gdk_pixbuf_animation_is_static_image [Gdk-pixbuf 2.8] |
| gdk_pixbuf_animation_iter_advance [Gdk-pixbuf 2.8] | gdk_pixbuf_animation_iter_get_delay_time [Gdk-pixbuf 2.8] |
| gdk_pixbuf_animation_iter_get_pixbuf [Gdk-pixbuf 2.8] | gdk_pixbuf_animation_iter_get_type [Gobject 2.8] |
| gdk_pixbuf_animation_iter_on_currently_loading_frame [Gdk-pixbuf 2.8] | gdk_pixbuf_animation_new_from_file [Gdk-pixbuf 2.8] |
| gdk_pixbuf_composite [Gdk-pixbuf 2.8] | gdk_pixbuf_composite_color [Gdk-pixbuf 2.8] |
| gdk_pixbuf_composite_color_simple [Gdk-pixbuf 2.8] | gdk_pixbuf_copy [Gdk-pixbuf 2.8] |
| gdk_pixbuf_copy_area [Gdk-pixbuf 2.8] | gdk_pixbuf_error_get_type [Gobject 2.8] |
| gdk_pixbuf_error_quark [Gdk-pixbuf 2.8] | gdk_pixbuf_fill [Gdk-pixbuf 2.8] |
| gdk_pixbuf_flip [Gdk-pixbuf 2.8] | gdk_pixbuf_format_get_description [Gdk-pixbuf 2.8] |
| gdk_pixbuf_format_get_extensions [Gdk-pixbuf 2.8] | gdk_pixbuf_format_get_license [Gdk-pixbuf 2.8] |
| gdk_pixbuf_format_get_mime_types [Gdk-pixbuf 2.8] | gdk_pixbuf_format_get_name [Gdk-pixbuf 2.8] |
| gdk_pixbuf_format_is_disabled [Gdk-pixbuf 2.8] | gdk_pixbuf_format_is_scalable [Gdk-pixbuf 2.8] |
| gdk_pixbuf_format_is_writable [Gdk-pixbuf 2.8] | gdk_pixbuf_format_set_disabled [Gdk-pixbuf 2.8] |
| gdk_pixbuf_from_pixdata [Gdk-pixbuf 2.8] | gdk_pixbuf_get_bits_per_sample [Gdk-pixbuf 2.8] |
| gdk_pixbuf_get_colorspace [Gdk-pixbuf 2.8] | gdk_pixbuf_get_file_info [Gdk-pixbuf 2.8] |
| gdk_pixbuf_get_formats [Gdk-pixbuf 2.8] | gdk_pixbuf_get_has_alpha [Gdk-pixbuf 2.8] |
| gdk_pixbuf_get_height [Gdk-pixbuf 2.8] | gdk_pixbuf_get_n_channels [Gdk-pixbuf 2.8] |
| gdk_pixbuf_get_option [Gdk-pixbuf 2.8] | gdk_pixbuf_get_pixels [Gdk-pixbuf 2.8] |
| gdk_pixbuf_get_rowstride [Gdk-pixbuf 2.8] | gdk_pixbuf_get_type [Gobject 2.8] |
| gdk_pixbuf_get_width [Gdk-pixbuf 2.8] | gdk_pixbuf_loader_close [Gdk-pixbuf 2.8] |
| gdk_pixbuf_loader_get_animation [Gdk-pixbuf 2.8] | gdk_pixbuf_loader_get_format [Gdk-pixbuf 2.8] |
| gdk_pixbuf_loader_get_pixbuf [Gdk-pixbuf 2.8] | gdk_pixbuf_loader_get_type [Gobject 2.8] |
| gdk_pixbuf_loader_new [Gdk-pixbuf 2.8] | gdk_pixbuf_loader_new_with_mime_type [Gdk-pixbuf 2.8] |
| gdk_pixbuf_loader_new_with_type [Gdk-pixbuf 2.8] | gdk_pixbuf_loader_set_size [Gdk-pixbuf 2.8] |
| gdk_pixbuf_loader_write [Gdk-pixbuf 2.8] | gdk_pixbuf_new [Gdk-pixbuf 2.8] |
| gdk_pixbuf_new_from_data [Gdk-pixbuf 2.8] | gdk_pixbuf_new_from_file [Gdk-pixbuf 2.8] |
| gdk_pixbuf_new_from_file_at_scale [Gdk-pixbuf 2.8] | gdk_pixbuf_new_from_file_at_size [Gdk-pixbuf 2.8] |
| gdk_pixbuf_new_from_inline [Gdk-pixbuf 2.8] | gdk_pixbuf_new_from_xpm_data [Gdk-pixbuf 2.8] |
| gdk_pixbuf_new_subpixbuf [Gdk-pixbuf 2.8] | gdk_pixbuf_rotate_simple [Gdk-pixbuf 2.8] |
| gdk_pixbuf_rotation_get_type [Gobject 2.8] | gdk_pixbuf_saturate_and_pixelate [Gdk-pixbuf 2.8] |
| gdk_pixbuf_save [Gdk-pixbuf 2.8] | gdk_pixbuf_save_to_buffer [Gdk-pixbuf 2.8] |
| gdk_pixbuf_save_to_bufferv [Gdk-pixbuf 2.8] | gdk_pixbuf_save_to_callback [Gdk-pixbuf 2.8] |
| gdk_pixbuf_save_to_callbackv [Gdk-pixbuf 2.8] | gdk_pixbuf_savev [Gdk-pixbuf 2.8] |
| gdk_pixbuf_scale [Gdk-pixbuf 2.8] | gdk_pixbuf_scale_simple [Gdk-pixbuf 2.8] |
| gdk_pixbuf_simple_anim_add_frame [Gdk-pixbuf 2.8] | gdk_pixbuf_simple_anim_get_type [Gobject 2.8] |
| gdk_pixbuf_simple_anim_iter_get_type [Gobject 2.8] | gdk_pixbuf_simple_anim_new [Gdk-pixbuf 2.8] |
| gdk_pixdata_deserialize [Gdk-pixbuf 2.8] | gdk_pixdata_from_pixbuf [Gdk-pixbuf 2.8] |
| gdk_pixdata_serialize [Gdk-pixbuf 2.8] | gdk_pixdata_to_csource [Gdk-pixbuf 2.8] |
An LSB conforming implementation shall provide the generic data interfaces for GDK pixbuf rendering on drawables library specified in Table 16-84, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-84. libgdk_pixbuf-2.0 - GDK pixbuf rendering on drawables library Data Interfaces
| gdk_pixbuf_major_version [Gdk-pixbuf 2.8] | gdk_pixbuf_micro_version [Gdk-pixbuf 2.8] |
| gdk_pixbuf_minor_version [Gdk-pixbuf 2.8] | gdk_pixbuf_version [Gdk-pixbuf 2.8] |
This section defines global identifiers and their values that are associated with interfaces contained in libgdk_pixbuf-2.0. 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.
#define GDK_TYPE_PIXBUF_ANIMATION_ITER \
(gdk_pixbuf_animation_iter_get_type ())
#define GDK_PIXBUF_LOADER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_LOADER, \
GdkPixbufLoaderClass))
#define GDK_IS_PIXBUF_LOADER_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_LOADER))
#define GDK_PIXBUF_LOADER(obj) \
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PIXBUF_LOADER, \
GdkPixbufLoader))
#define GDK_PIXBUF(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF, GdkPixbuf))
#define GDK_PIXBUF_ANIMATION(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF_ANIMATION, \
GdkPixbufAnimation))
#define GDK_PIXBUF_ANIMATION_ITER(object) \
(G_TYPE_CHECK_INSTANCE_CAST ((object), \
GDK_TYPE_PIXBUF_ANIMATION_ITER, GdkPixbufAnimationIter))
#define GDK_IS_PIXBUF_LOADER(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PIXBUF_LOADER))
#define GDK_IS_PIXBUF(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF))
#define GDK_IS_PIXBUF_ANIMATION(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF_ANIMATION))
#define GDK_IS_PIXBUF_ANIMATION_ITER(object) \
(G_TYPE_CHECK_INSTANCE_TYPE ((object), \
GDK_TYPE_PIXBUF_ANIMATION_ITER))
#define GDK_PIXBUF_LOADER_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_LOADER, \
GdkPixbufLoaderClass))
#define GDK_PIXBUF_MICRO (10)
#define GDK_PIXBUF_MAJOR (2)
#define GDK_PIXBUF_MINOR (6)
#define GDK_TYPE_COLORSPACE (gdk_colorspace_get_type())
#define GDK_TYPE_INTERP_TYPE (gdk_interp_type_get_type())
#define GDK_TYPE_PIXBUF_ALPHA_MODE (gdk_pixbuf_alpha_mode_get_type())
#define GDK_TYPE_PIXBUF_ANIMATION (gdk_pixbuf_animation_get_type ())
#define GDK_TYPE_PIXBUF_ERROR (gdk_pixbuf_error_get_type())
#define GDK_TYPE_PIXBUF (gdk_pixbuf_get_type ())
#define GDK_TYPE_PIXBUF_LOADER (gdk_pixbuf_loader_get_type ())
#define GDK_TYPE_PIXBUF_ROTATION (gdk_pixbuf_rotation_get_type())
#define GDK_TYPE_PIXBUF_SIMPLE_ANIM (gdk_pixbuf_simple_anim_get_type ())
#define GDK_PIXBUF_SIMPLE_ANIM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_PIXBUF_SIMPLE_ANIM, GdkPixbufSimpleAnimClass))
#define GDK_IS_PIXBUF_SIMPLE_ANIM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_PIXBUF_SIMPLE_ANIM))
#define GDK_PIXBUF_SIMPLE_ANIM(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_PIXBUF_SIMPLE_ANIM, GdkPixbufSimpleAnim))
#define GDK_IS_PIXBUF_SIMPLE_ANIM(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_PIXBUF_SIMPLE_ANIM))
#define GDK_PIXBUF_SIMPLE_ANIM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_PIXBUF_SIMPLE_ANIM, GdkPixbufSimpleAnimClass))
#define GDK_PIXBUF_VERSION "2.8.11"
#define GDK_PIXBUF_VAR extern
#define GDK_PIXBUF_ERROR gdk_pixbuf_error_quark ()
typedef struct _GdkPixbuf GdkPixbuf;
typedef gboolean(*GdkPixbufSaveFunc) (const gchar *, gsize, GError * *,
gpointer);
typedef struct _GdkPixbufLoader {
GObject parent_instance;
gpointer priv;
} GdkPixbufLoader;
typedef struct _GdkPixbufFormat GdkPixbufFormat;
typedef enum {
GDK_INTERP_NEAREST = 0,
GDK_INTERP_TILES = 1,
GDK_INTERP_BILINEAR = 2,
GDK_INTERP_HYPER = 3
} GdkInterpType;
typedef enum {
GDK_COLORSPACE_RGB = 0
} GdkColorspace;
typedef void (*GdkPixbufDestroyNotify) (guchar *, gpointer);
typedef struct _GdkPixbufAnimationIter GdkPixbufAnimationIter;
typedef struct _GdkPixbufAnimation GdkPixbufAnimation;
typedef enum {
GDK_PIXBUF_ROTATE_NONE = 0,
GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE = 90,
GDK_PIXBUF_ROTATE_UPSIDEDOWN = 180,
GDK_PIXBUF_ROTATE_CLOCKWISE = 270
} GdkPixbufRotation;
typedef struct _GdkPixbufLoaderClass {
GObjectClass parent_class;
void (*size_prepared) (GdkPixbufLoader *, int, int);
void (*area_prepared) (GdkPixbufLoader *);
void (*area_updated) (GdkPixbufLoader *, int, int, int, int);
void (*closed) (GdkPixbufLoader *);
} GdkPixbufLoaderClass;
typedef enum {
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY,
GDK_PIXBUF_ERROR_BAD_OPTION,
GDK_PIXBUF_ERROR_UNKNOWN_TYPE,
GDK_PIXBUF_ERROR_UNSUPPORTED_OPERATION,
GDK_PIXBUF_ERROR_FAILED
} GdkPixbufError;
typedef enum {
GDK_PIXBUF_ALPHA_BILEVEL,
GDK_PIXBUF_ALPHA_FULL
} GdkPixbufAlphaMode;
typedef struct _GdkPixbufSimpleAnim GdkPixbufSimpleAnim;
typedef struct _GdkPixbufSimpleAnimClass GdkPixbufSimpleAnimClass;
extern GType gdk_colorspace_get_type(void);
extern GType gdk_interp_type_get_type(void);
extern GdkPixbuf *gdk_pixbuf_add_alpha(const GdkPixbuf * pixbuf,
gboolean substitute_color, guchar r,
guchar g, guchar b);
extern GType gdk_pixbuf_alpha_mode_get_type(void);
extern int gdk_pixbuf_animation_get_height(GdkPixbufAnimation * animation);
extern GdkPixbufAnimationIter
*gdk_pixbuf_animation_get_iter(GdkPixbufAnimation * animation,
const GTimeVal * start_time);
extern GdkPixbuf *gdk_pixbuf_animation_get_static_image(GdkPixbufAnimation
* animation);
extern GType gdk_pixbuf_animation_get_type(void);
extern int gdk_pixbuf_animation_get_width(GdkPixbufAnimation * animation);
extern gboolean gdk_pixbuf_animation_is_static_image(GdkPixbufAnimation *
animation);
extern gboolean gdk_pixbuf_animation_iter_advance(GdkPixbufAnimationIter *
iter,
const GTimeVal *
current_time);
extern int gdk_pixbuf_animation_iter_get_delay_time(GdkPixbufAnimationIter
* iter);
extern GdkPixbuf
*gdk_pixbuf_animation_iter_get_pixbuf(GdkPixbufAnimationIter * iter);
extern GType gdk_pixbuf_animation_iter_get_type(void);
extern gboolean
gdk_pixbuf_animation_iter_on_currently_loading_frame(GdkPixbufAnimationIter
* iter);
extern GdkPixbufAnimation *gdk_pixbuf_animation_new_from_file(const char
*filename,
GError *
*error);
extern void gdk_pixbuf_composite(const GdkPixbuf * src, GdkPixbuf * dest,
int dest_x, int dest_y, int dest_width,
int dest_height, double offset_x,
double offset_y, double scale_x,
double scale_y, GdkInterpType interp_type,
int overall_alpha);
extern void gdk_pixbuf_composite_color(const GdkPixbuf * src,
GdkPixbuf * dest, int dest_x,
int dest_y, int dest_width,
int dest_height, double offset_x,
double offset_y, double scale_x,
double scale_y,
GdkInterpType interp_type,
int overall_alpha, int check_x,
int check_y, int check_size,
guint32 color1, guint32 color2);
extern GdkPixbuf *gdk_pixbuf_composite_color_simple(const GdkPixbuf * src,
int dest_width,
int dest_height,
GdkInterpType
interp_type,
int overall_alpha,
int check_size,
guint32 color1,
guint32 color2);
extern GdkPixbuf *gdk_pixbuf_copy(const GdkPixbuf * pixbuf);
extern void gdk_pixbuf_copy_area(const GdkPixbuf * src_pixbuf, int src_x,
int src_y, int width, int height,
GdkPixbuf * dest_pixbuf, int dest_x,
int dest_y);
extern GType gdk_pixbuf_error_get_type(void);
extern GQuark gdk_pixbuf_error_quark(void);
extern void gdk_pixbuf_fill(GdkPixbuf * pixbuf, guint32 pixel);
extern GdkPixbuf *gdk_pixbuf_flip(const GdkPixbuf * src,
gboolean horizontal);
extern gchar *gdk_pixbuf_format_get_description(GdkPixbufFormat * format);
extern gchar **gdk_pixbuf_format_get_extensions(GdkPixbufFormat * format);
extern gchar *gdk_pixbuf_format_get_license(GdkPixbufFormat * format);
extern gchar **gdk_pixbuf_format_get_mime_types(GdkPixbufFormat * format);
extern gchar *gdk_pixbuf_format_get_name(GdkPixbufFormat * format);
extern gboolean gdk_pixbuf_format_is_disabled(GdkPixbufFormat * format);
extern gboolean gdk_pixbuf_format_is_scalable(GdkPixbufFormat * format);
extern gboolean gdk_pixbuf_format_is_writable(GdkPixbufFormat * format);
extern void gdk_pixbuf_format_set_disabled(GdkPixbufFormat * format,
gboolean disabled);
extern int gdk_pixbuf_get_bits_per_sample(const GdkPixbuf * pixbuf);
extern GdkColorspace gdk_pixbuf_get_colorspace(const GdkPixbuf * pixbuf);
extern GdkPixbufFormat *gdk_pixbuf_get_file_info(const gchar * filename,
gint * width,
gint * height);
extern GSList *gdk_pixbuf_get_formats(void);
extern gboolean gdk_pixbuf_get_has_alpha(const GdkPixbuf * pixbuf);
extern int gdk_pixbuf_get_height(const GdkPixbuf * pixbuf);
extern int gdk_pixbuf_get_n_channels(const GdkPixbuf * pixbuf);
extern const gchar *gdk_pixbuf_get_option(GdkPixbuf * pixbuf,
const gchar * key);
extern guchar *gdk_pixbuf_get_pixels(const GdkPixbuf * pixbuf);
extern int gdk_pixbuf_get_rowstride(const GdkPixbuf * pixbuf);
extern GType gdk_pixbuf_get_type(void);
extern int gdk_pixbuf_get_width(const GdkPixbuf * pixbuf);
extern gboolean gdk_pixbuf_loader_close(GdkPixbufLoader * loader,
GError * *error);
extern GdkPixbufAnimation *gdk_pixbuf_loader_get_animation(GdkPixbufLoader
* loader);
extern GdkPixbufFormat *gdk_pixbuf_loader_get_format(GdkPixbufLoader *
loader);
extern GdkPixbuf *gdk_pixbuf_loader_get_pixbuf(GdkPixbufLoader * loader);
extern GType gdk_pixbuf_loader_get_type(void);
extern GdkPixbufLoader *gdk_pixbuf_loader_new(void);
extern GdkPixbufLoader *gdk_pixbuf_loader_new_with_mime_type(const char
*mime_type,
GError *
*error);
extern GdkPixbufLoader *gdk_pixbuf_loader_new_with_type(const char
*image_type,
GError * *error);
extern void gdk_pixbuf_loader_set_size(GdkPixbufLoader * loader,
gint width, gint height);
extern gboolean gdk_pixbuf_loader_write(GdkPixbufLoader * loader,
const guchar * buf, gsize count,
GError * *error);
extern const guint gdk_pixbuf_major_version;
extern const guint gdk_pixbuf_micro_version;
extern const guint gdk_pixbuf_minor_version;
extern GdkPixbuf *gdk_pixbuf_new(GdkColorspace colorspace,
gboolean has_alpha, int bits_per_sample,
int width, int height);
extern GdkPixbuf *gdk_pixbuf_new_from_data(const guchar * data,
GdkColorspace colorspace,
gboolean has_alpha,
int bits_per_sample, int width,
int height, int rowstride,
GdkPixbufDestroyNotify
destroy_fn,
gpointer destroy_fn_data);
extern GdkPixbuf *gdk_pixbuf_new_from_file(const char *filename,
GError * *error);
extern GdkPixbuf *gdk_pixbuf_new_from_file_at_scale(const char *filename,
int width, int height,
gboolean
preserve_aspect_ratio,
GError * *error);
extern GdkPixbuf *gdk_pixbuf_new_from_file_at_size(const char *filename,
int width, int height,
GError * *error);
extern GdkPixbuf *gdk_pixbuf_new_from_inline(gint data_length,
const guint8 * data,
gboolean copy_pixels,
GError * *error);
extern GdkPixbuf *gdk_pixbuf_new_from_xpm_data(const char **data);
extern GdkPixbuf *gdk_pixbuf_new_subpixbuf(GdkPixbuf * src_pixbuf,
int src_x, int src_y, int width,
int height);
extern GdkPixbuf *gdk_pixbuf_rotate_simple(const GdkPixbuf * src,
GdkPixbufRotation angle);
extern GType gdk_pixbuf_rotation_get_type(void);
extern void gdk_pixbuf_saturate_and_pixelate(const GdkPixbuf * src,
GdkPixbuf * dest,
gfloat saturation,
gboolean pixelate);
extern gboolean gdk_pixbuf_save(GdkPixbuf * pixbuf, const char *filename,
const char *type, GError * *error, ...);
extern gboolean gdk_pixbuf_save_to_buffer(GdkPixbuf * pixbuf,
gchar * *buffer,
gsize * buffer_size,
const char *type,
GError * *error, ...);
extern gboolean gdk_pixbuf_save_to_bufferv(GdkPixbuf * pixbuf,
gchar * *buffer,
gsize * buffer_size,
const char *type,
char **option_keys,
char **option_values,
GError * *error);
extern gboolean gdk_pixbuf_save_to_callback(GdkPixbuf * pixbuf,
GdkPixbufSaveFunc save_func,
gpointer user_data,
const char *type,
GError * *error, ...);
extern gboolean gdk_pixbuf_save_to_callbackv(GdkPixbuf * pixbuf,
GdkPixbufSaveFunc save_func,
gpointer user_data,
const char *type,
char **option_keys,
char **option_values,
GError * *error);
extern gboolean gdk_pixbuf_savev(GdkPixbuf * pixbuf, const char *filename,
const char *type, char **option_keys,
char **option_values, GError * *error);
extern void gdk_pixbuf_scale(const GdkPixbuf * src, GdkPixbuf * dest,
int dest_x, int dest_y, int dest_width,
int dest_height, double offset_x,
double offset_y, double scale_x,
double scale_y, GdkInterpType interp_type);
extern GdkPixbuf *gdk_pixbuf_scale_simple(const GdkPixbuf * src,
int dest_width, int dest_height,
GdkInterpType interp_type);
extern void gdk_pixbuf_simple_anim_add_frame(GdkPixbufSimpleAnim *
animation,
GdkPixbuf * pixbuf);
extern GType gdk_pixbuf_simple_anim_get_type(void);
extern GType gdk_pixbuf_simple_anim_iter_get_type(void);
extern GdkPixbufSimpleAnim *gdk_pixbuf_simple_anim_new(gint width,
gint height,
gfloat rate);
extern const char *gdk_pixbuf_version; |
#define GDK_PIXBUF_MAGIC_NUMBER (0x47646b50)
#define GDK_PIXDATA_HEADER_LENGTH (4 + 4 + 4 + 4 + 4 + 4)
typedef struct _GdkPixdata {
guint32 magic;
gint32 length;
guint32 pixdata_type;
guint32 rowstride;
guint32 width;
guint32 height;
guint8 *pixel_data;
} GdkPixdata;
typedef enum {
GDK_PIXDATA_DUMP_PIXDATA_STREAM = 0,
GDK_PIXDATA_DUMP_PIXDATA_STRUCT = 1,
GDK_PIXDATA_DUMP_MACROS = 2,
GDK_PIXDATA_DUMP_GTYPES = 0,
GDK_PIXDATA_DUMP_CTYPES = 256,
GDK_PIXDATA_DUMP_STATIC = 512,
GDK_PIXDATA_DUMP_CONST = 1024,
GDK_PIXDATA_DUMP_RLE_DECODER = 65536
} GdkPixdataDumpType;
typedef enum {
GDK_PIXDATA_COLOR_TYPE_RGB = 0x01,
GDK_PIXDATA_COLOR_TYPE_RGBA = 0x02,
GDK_PIXDATA_COLOR_TYPE_MASK = 0xff,
GDK_PIXDATA_SAMPLE_WIDTH_8 = 0x01 << 16,
GDK_PIXDATA_SAMPLE_WIDTH_MASK = 0x0f << 16,
GDK_PIXDATA_ENCODING_RAW = 0x01 << 24,
GDK_PIXDATA_ENCODING_RLE = 0x02 << 24,
GDK_PIXDATA_ENCODING_MASK = 0x0f << 24
} GdkPixdataType;
extern GdkPixbuf *gdk_pixbuf_from_pixdata(const GdkPixdata * pixdata,
gboolean copy_pixels,
GError * *error);
extern gboolean gdk_pixdata_deserialize(GdkPixdata * pixdata,
guint stream_length,
const guint8 * stream,
GError * *error);
extern gpointer gdk_pixdata_from_pixbuf(GdkPixdata * pixdata,
const GdkPixbuf * pixbuf,
gboolean use_rle);
extern guint8 *gdk_pixdata_serialize(const GdkPixdata * pixdata,
guint * stream_length_p);
extern GString *gdk_pixdata_to_csource(GdkPixdata * pixdata,
const gchar * name,
GdkPixdataDumpType dump_type); |
Table 16-85 defines the library name and shared object name for the libgdk_pixbuf_xlib-2.0 library
Table 16-85. libgdk_pixbuf_xlib-2.0 Definition
| Library: | libgdk_pixbuf_xlib-2.0 |
| SONAME: | libgdk_pixbuf_xlib-2.0.so.0 |
The behavior of the interfaces in this library is specified by the following specifications:
| [Gdk-pixbuf 2.8] Gdk-pixbuf 2.8.20 Reference Manual |
An LSB conforming implementation shall provide the generic functions for GDK pixbuf rendering to an X drawable library specified in Table 16-86, with the full mandatory functionality as described in the referenced underlying specification.
Table 16-86. libgdk_pixbuf_xlib-2.0 - GDK pixbuf rendering to an X drawable library Function Interfaces
| gdk_pixbuf_xlib_get_from_drawable [Gdk-pixbuf 2.8] | gdk_pixbuf_xlib_init [Gdk-pixbuf 2.8] |
| gdk_pixbuf_xlib_init_with_depth [Gdk-pixbuf 2.8] | gdk_pixbuf_xlib_render_pixmap_and_mask [Gdk-pixbuf 2.8] |
| gdk_pixbuf_xlib_render_threshold_alpha [Gdk-pixbuf 2.8] | gdk_pixbuf_xlib_render_to_drawable [Gdk-pixbuf 2.8] |
| gdk_pixbuf_xlib_render_to_drawable_alpha [Gdk-pixbuf 2.8] | xlib_draw_gray_image [Gdk-pixbuf 2.8] |
| xlib_draw_indexed_image [Gdk-pixbuf 2.8] | xlib_draw_rgb_32_image [Gdk-pixbuf 2.8] |
| xlib_draw_rgb_image [Gdk-pixbuf 2.8] | xlib_draw_rgb_image_dithalign [Gdk-pixbuf 2.8] |
| xlib_rgb_cmap_free [Gdk-pixbuf 2.8] | xlib_rgb_cmap_new [Gdk-pixbuf 2.8] |
| xlib_rgb_ditherable [Gdk-pixbuf 2.8] | xlib_rgb_gc_set_background [Gdk-pixbuf 2.8] |
| xlib_rgb_gc_set_foreground [Gdk-pixbuf 2.8] | xlib_rgb_get_cmap [Gdk-pixbuf 2.8] |
| xlib_rgb_get_depth [Gdk-pixbuf 2.8] | xlib_rgb_get_display [Gdk-pixbuf 2.8] |
| xlib_rgb_get_screen [Gdk-pixbuf 2.8] | xlib_rgb_get_visual [Gdk-pixbuf 2.8] |
| xlib_rgb_get_visual_info [Gdk-pixbuf 2.8] | xlib_rgb_init [Gdk-pixbuf 2.8] |
| xlib_rgb_init_with_depth [Gdk-pixbuf 2.8] | xlib_rgb_set_install [Gdk-pixbuf 2.8] |
| xlib_rgb_set_min_colors [Gdk-pixbuf 2.8] | xlib_rgb_set_verbose [Gdk-pixbuf 2.8] |
| xlib_rgb_xpixel_from_rgb [Gdk-pixbuf 2.8] |
This section defines global identifiers and their values that are associated with interfaces contained in libgdk_pixbuf_xlib-2.0. 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.
typedef enum {
XLIB_RGB_DITHER_NONE = 0,
XLIB_RGB_DITHER_NORMAL = 1,
XLIB_RGB_DITHER_MAX = 2
} XlibRgbDither;
typedef struct _XlibRgbCmap {
unsigned int colors[256];
unsigned char lut[256];
} XlibRgbCmap;
extern GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable(GdkPixbuf * dest,
Drawable src,
Colormap cmap,
Visual * visual,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height);
extern void gdk_pixbuf_xlib_init(Display * display, int screen_num);
extern void gdk_pixbuf_xlib_init_with_depth(Display * display,
int screen_num, int prefDepth);
extern void gdk_pixbuf_xlib_render_pixmap_and_mask(GdkPixbuf * pixbuf,
Pixmap * pixmap_return,
Pixmap * mask_return,
int alpha_threshold);
extern void gdk_pixbuf_xlib_render_threshold_alpha(GdkPixbuf * pixbuf,
Pixmap bitmap,
int src_x, int src
|