Linux Standard Base Graphics Module Specification 3.0Preview1

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 are 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

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

Linux is a trademark of Linus Torvalds.

UNIX a registered trademark of the Open Group in the United States and other countries.

LSB is a trademark of the Free Standards Group in the USA and other countries.

AMD is a trademark of Advanced Micro Devices, Inc.

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

OpenGL is a registered trademark of Silicon Graphics, Inc.

Table of Contents
Specification Introduction
Graphics Specification
Free Documentation License

Foreword

This is version 3.0Preview1 of the LSB-Graphics Module Specification. This version is a preliminary version for review only. Conclusion of work on this version will result in version 1.0 of the LSB-Graphics Moudle Specification.

Implmentations may not claim conformance to this version.


Introduction

The LSB-Graphics Module defines The graphics components that are required to be present on a Linux 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.

I. Introductory Elements


Chapter 1. Scope

The LSB Graphics defines the graphical interface found on an LSB conforming system.


Chapter 2. Normative References

The specifications listed below are referenced in whole or in part by the LSB-Graphics Module Standard. 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-Graphics Module may make normative references to a portion of these specifications (that is, to define a specific function or group of functions); in such cases, only the explicitly referenced portion of the specification is to be considered normative.

Table 2-1. Normative References

NameTitleURL
Double Buffer Extension LibraryDouble Buffer Extension Libraryhttp://www.x.org/
OpenGLOpenGLŪ Application Binary Interface for Linuxhttp://oss.sgi.com/projects/ogl-sample/ABI/
The MIT Shared Memory ExtensionMIT-SHM--The MIT Shared Memory Extensionhttp://www.x.org/
this specificationLinux Standard Basehttp://www.linuxbase.org/spec/
X Display Power Management SignalingX Display Power Management Signaling (DPMS) Extension, Library Specificationhttp://www.x.org/
X Nonrectangular Window Shape Extension LibraryX Nonrectangular Window Shape Extension Library Version 1.0http://www.x.org/
X Record Extension LibraryX Record Extension Libraryhttp://www.x.org/
X Security Extension SpecificationSecurity Extension Specification, Version 7.1http://www.x.org/
X Synchronization Extension LibraryX Synchronization Extension Libraryhttp://www.x.org/
X11 C LibraryX11R6.4 Xlib - C libraryhttp://www.x.org/
X11 Inter-Client ExchangeX11R6.4 X Inter-Client Exchange (ICE) Protocolhttp://www.x.org/
X11 Session ManagementX11R6.4 X Session Management Libraryhttp://www.x.org/
X11 Toolkit IntrinsicsX11R6.4 X Toolkit Intrinsicshttp://www.x.org/

Chapter 3. Requirements

3.1. Relevant Libraries

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

Table 3-1. Standard Library Names

LibraryRuntime Name
libX11libX11.so.6
libXtlibXt.so.6
libGLlibGL.so.1
libXextlibXext.so.6
libICElibICE.so.6
libSMlibSM.so.6

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


Chapter 4. Definitions

For the purposes of this document, the following definitions, as specified in the ISO/IEC Directives, Part 2, 2001, 4th Edition, apply:

can

be able to; there is a possibility of; it is possible to

cannot

be unable to; there is no possibilty of; it is not possible to

may

is permitted; is allowed; is permissible

need not

it is not required that; no...is required

shall

is to; is required to; it is required that; has to; only...is permitted; it is necessary

shall not

is not allowed [permitted] [acceptable] [permissible]; is required to be not; is required that...be not; is not to be

should

it is recommended that; ought to

should not

it is not recommended that; ought not to


Chapter 5. Terminology

For the purposes of this document, the following terms apply:

implementation-defined

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

Shell Script

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

undefined

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

unspecified

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

I. Graphic Libraries

Table of Contents
1. Libraries

Chapter 1. Libraries

The X Libraries should be built thread-safe.


1.1. Interfaces for libX11

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

Table 1-1. libX11 Definition

Library:libX11
SONAME:libX11.so.6

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

this specification
X11 C Library


1.1.1. X Windows System Interface


1.1.1.1. Interfaces for X Windows System Interface

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

Table 1-2. libX11 - X Windows System Interface Function Interfaces

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

Referenced Specification(s)

An LSB conforming implementation shall provide the generic data interfaces for X Windows System Interface specified in Table 1-3, with the full mandatory functionality as described in the referenced underlying specification.

Table 1-3. libX11 - X Windows System Interface Data Interfaces

XSetAfterFunction [1]XSynchronize [1]  

Referenced Specification(s)


1.2. Data Definitions for libX11

This section defines global identifiers and their values that are associated with interfaces contained in libX11. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 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.


1.2.1. X11/X.h


typedef unsigned long int XID;
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 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 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 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

1.2.2. X11/Xauth.h


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;

1.2.3. X11/Xcms.h


typedef struct _XcmsFunctionSet
{
  XcmsColorSpace **DDColorSpaces;
  XcmsScreenInitProc screenInitProc;
  XcmsScreenFreeProc screenFreeProc;
}
XcmsFunctionSet;

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 union
{
  XcmsRGB RGB;
  XcmsRGBi RGBi;
  XcmsCIEXYZ CIEXYZ;
  XcmsCIEuvY CIEuvY;
  XcmsCIExyY CIExyY;
  XcmsCIELab CIELab;
  XcmsCIELuv CIELuv;
  XcmsTekHVC TekHVC;
  XcmsPad Pad;
}
XcmsColor;

typedef struct _XcmsPerScrnInfo
{
  XcmsColor screenWhitePt;
  XPointer functionSet;
  XPointer screenData;
  unsigned char state;
  char pad[1];
}
XcmsPerScrnInfo;

typedef int (*XcmsCompressionProc) (void);
typedef int (*XcmsWhiteAdjustProc) (void);
typedef int (*XcmsScreenInitProc) (void);
typedef void (*XcmsScreenFreeProc) (void);
typedef int (*XcmsConversionProc) (void);
typedef int (*XcmsParseStringProc) (void);

typedef struct _XcmsCCC
{
  Display *dpy;
  int screenNumber;
  Visual *visual;
  XcmsColor clientWhitePt;
  XcmsCompressionProc gamutCompProc;
  XPointer gamutCompClientData;
  XcmsWhiteAdjustProc whitePtAdjProc;
  XPointer whitePtAdjClientData;
  XcmsPerScrnInfo *pPerScrnInfo;
}
 *XcmsCCC;

typedef XcmsConversionProc *XcmsFuncListPtr;

typedef struct _XcmsColorSpace
{
  char *prefix;
  XcmsColorFormat id;
  XcmsParseStringProc parseString;
  XcmsFuncListPtr to_CIEXYZ;
  XcmsFuncListPtr from_CIEXYZ;
  int inverse_flag;
}
XcmsColorSpace;

1.2.4. X11/Xlib.h


struct _XDisplay;
typedef struct XColor;
typedef void *XVaNestedList;
typedef int (*XErrorHandler) (void);
typedef int (*XIOErrorHandler) (void);
typedef void (*XConnectionWatchProc) (void);

typedef char *XPointer;

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

typedef struct XPixmapFormatValues;

typedef struct XGCValues;

typedef struct _XGC *GC;

typedef struct Visual;

typedef struct Depth;

typedef struct Screen;

typedef struct ScreenFormat;

typedef struct XSetWindowAttributes;
typedef struct XWindowAttributes;

typedef struct XHostAddress;

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 XWindowChanges;

typedef struct XSegment;
typedef struct XPoint;
typedef struct XRectangle;
typedef struct XArc;

typedef struct XKeyboardControl;

typedef struct XKeyboardState;

typedef struct XTimeCoord;

typedef struct XModifierKeymap;

typedef struct _XDisplay Display;

typedef struct XKeyEvent;
typedef XKeyEvent XKeyPressedEvent;
typedef XKeyEvent XKeyReleasedEvent;
typedef struct XButtonEvent;
typedef XButtonEvent XButtonPressedEvent;
typedef XButtonEvent XButtonReleasedEvent;
typedef struct XMotionEvent;
typedef XMotionEvent XPointerMovedEvent;
typedef struct XCrossingEvent;
typedef XCrossingEvent XEnterWindowEvent;
typedef XCrossingEvent XLeaveWindowEvent;
typedef struct XFocusChangeEvent;
typedef XFocusChangeEvent XFocusInEvent;
typedef XFocusChangeEvent XFocusOutEvent;
typedef struct XKeymapEvent;
typedef struct XExposeEvent;
typedef struct XGraphicsExposeEvent;
typedef struct XNoExposeEvent;
typedef struct XVisibilityEvent;
typedef struct XCreateWindowEvent;
typedef struct XDestroyWindowEvent;
typedef struct XUnmapEvent;
typedef struct XMapEvent;
typedef struct XMapRequestEvent;
typedef struct XReparentEvent;
typedef struct XConfigureEvent;
typedef struct XGravityEvent;
typedef struct XResizeRequestEvent;
typedef struct XConfigureRequestEvent;
typedef struct XCirculateEvent;
typedef struct XCirculateRequestEvent;
typedef struct XPropertyEvent;
typedef struct XSelectionClearEvent;
typedef struct XSelectionRequestEvent;
typedef struct XSelectionEvent;
typedef struct XColormapEvent;
typedef union XClientMessageEvent;
typedef struct XMappingEvent;
typedef struct XErrorEvent;
typedef struct XAnyEvent;

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[1];
}
XEvent;

typedef struct XCharStruct;

typedef struct XFontProp;
typedef struct XFontStruct;
typedef struct XFontSetExtents;

typedef struct XTextItem;
typedef struct XChar2b;
typedef struct XTextItem16;

typedef union XEDataObject;

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

typedef struct XmbTextItem;
typedef struct XwcTextItem;

typedef struct _XIM *XIM;
typedef struct _XIC *XIC;
typedef void (*XIDProc) (void);

1.2.5. X11/Xutil.h


typedef struct XSizeHints;
typedef struct XWMHints;
typedef struct XTextProperty;
typedef struct XIconSize;
typedef struct XClassHint;
typedef struct _XComposeStatus
{
  XPointer compose_ptr;
  int chars_matched;
}
XComposeStatus;
typedef struct _XRegion *Region;
typedef struct XVisualInfo;
typedef struct XStandardColormap;
typedef int XContext;
typedef enum XICCEncodingStyle;

1.3. Interface Definitions for libX11

The following interfaces 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 above for libX11 shall behave as described in the referenced base document.


1.4. Interfaces for libXext

Table 1-4 defines the library name and shared object name for the libXext library

Table 1-4. libXext Definition

Library:libXext
SONAME:libXext.so.6

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

Double Buffer Extension Library
X Display Power Management Signaling
X Security Extension Specification
X Nonrectangular Window Shape Extension Library
The MIT Shared Memory Extension
X Synchronization Extension Library


1.4.1. X Shape Extension


1.4.1.1. Interfaces for X Shape Extension

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

Table 1-5. libXext - X Shape Extension Function Interfaces

XShapeCombineMask [1]XShapeCombineShape [1]XShapeOffsetShape [1]XShapeQueryVersion [1]
XShapeCombineRectangles [1]XShapeGetRectangles [1]XShapeQueryExtension [1]XShapeSelectInput [1]
XShapeCombineRegion [1]XShapeInputSelected [1]XShapeQueryExtents [1] 

Referenced Specification(s)


1.4.2. X Display Power Management Signaling Extension


1.4.2.1. Interfaces for X Display Power Management Signaling Extension

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

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

DPMSCapable [1]DPMSForceLevel [1]DPMSInfo [1] 
DPMSDisable [1]DPMSGetTimeouts [1]DPMSQueryExtension [1] 
DPMSEnable [1]DPMSGetVersion [1]DPMSSetTimeouts [1] 

Referenced Specification(s)


1.4.3. X Shared Memory Extensions


1.4.3.1. Interfaces for X Shared Memory Extensions

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

Table 1-7. libXext - X Shared Memory Extensions Function Interfaces

XShmAttach [1]XShmDetach [1]XShmPixmapFormat [1]XShmQueryVersion [1]
XShmCreateImage [1]XShmGetEventBase [1]XShmPutImage [1] 
XShmCreatePixmap [1]XShmGetImage [1]XShmQueryExtension [1] 

Referenced Specification(s)


1.4.4. MIT-MISC Extension


1.4.4.1. Interfaces for MIT-MISC Extension

No external functions are defined for libXext - MIT-MISC Extension


1.4.5. X Synchronization Extension


1.4.5.1. Interfaces for X Synchronization Extension

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

Table 1-8. libXext - X Synchronization Extension Function Interfaces

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

Referenced Specification(s)


1.4.6. X Security Extension


1.4.6.1. Interfaces for X Security Extension

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

Table 1-9. libXext - X Security Extension Function Interfaces

XSecurityAllocXauth [1]XSecurityGenerateAuthorization [1]XSecurityRevokeAuthorization [1] 
XSecurityFreeXauth [1]XSecurityQueryExtension [1]  

Referenced Specification(s)


1.4.7. X Double Buffer Extension


1.4.7.1. Interfaces for X Double Buffer Extension

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

Table 1-10. libXext - X Double Buffer Extension Function Interfaces

XdbeAllocateBackBufferName [1]XdbeEndIdiom [1]XdbeGetVisualInfo [1] 
XdbeBeginIdiom [1]XdbeFreeVisualInfo [1]XdbeQueryExtension [1] 
XdbeDeallocateBackBufferName [1]XdbeGetBackBufferAttributes [1]XdbeSwapBuffers [1] 

Referenced Specification(s)


1.5. Data Definitions for libXext

This section defines global identifiers and their values that are associated with interfaces contained in libXext. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 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.


1.5.1. X11/extensions/security.h


typedef unsigned long int XSecurityAuthorization;
typedef struct
{
  unsigned int timeout;
  unsigned int trust_level;
  XID group;
  long int event_mask;
}
XSecurityAuthorizationAttributes;

1.5.2. X11/extensions/sync.h


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 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;

1.6. Interfaces for libSM

Table 1-11 defines the library name and shared object name for the libSM library

Table 1-11. libSM Definition

Library:libSM
SONAME:libSM.so.6

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

X11 Session Management


1.6.1. Session Management Functions


1.6.1.1. Interfaces for Session Management Functions

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

Table 1-12. libSM - Session Management Functions Function Interfaces

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

Referenced Specification(s)


1.7. Data Definitions for libSM

This section defines global identifiers and their values that are associated with interfaces contained in libSM. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 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.


1.7.1. X11/SM/SMlib.h


typedef IcePointer SmPointer;
typedef struct _SmcConn *SmcConn;
typedef struct _SmsConn *SmsConn;

typedef struct
{
  int length;
  SmPointer value;
}
SmPropValue;
typedef struct
{
  char *name;
  char *type;
  int num_vals;
  SmPropValue *vals;
}
SmProp;

typedef enum
{
  SmcClosedNow, SmcClosedASAP, SmcConnectionInUse
}
SmcCloseStatus;

typedef void (*SmcSaveYourselfPhase2Proc) (void);
typedef void (*SmcInteractProc) (void);
typedef void (*SmcDieProc) (void);
typedef void (*SmcShutdownCancelledProc) (void);
typedef void (*SmcSaveCompleteProc) (void);
typedef void (*SmcPropReplyProc) (void);

typedef struct
{
  SmcShutdownCancelledProc callback;
  SmPointer client_data;
}
SmcCallbacks;

typedef void (*SmsSetPropertiesProc) (void);
typedef void (*SmsDeletePropertiesProc) (void);
typedef void (*SmsGetPropertiesProc) (void);

typedef struct
{
  SmsGetPropertiesProc callback;
  SmPointer manager_data;
}
SmsCallbacks;

typedef int (*SmsNewClientProc) (void);

typedef void (*SmcErrorHandler) (void);
typedef void (*SmsErrorHandler) (void);

1.8. Interfaces for libICE

Table 1-13 defines the library name and shared object name for the libICE library

Table 1-13. libICE Definition

Library:libICE
SONAME:libICE.so.6

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

X11 Inter-Client Exchange


1.8.1. ICE Functions


1.8.1.1. Interfaces for ICE Functions

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

Table 1-14. libICE - ICE Functions Function Interfaces

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

Referenced Specification(s)


1.9. Data Definitions for libICE

This section defines global identifiers and their values that are associated with interfaces contained in libICE. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 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.


1.9.1. X11/ICE/ICElib.h


typedef void *IcePointer;
typedef enum
{
  IcePoAuthHaveReply, IcePoAuthRejected, IcePoAuthFailed, IcePoAuthDoneCleanup
}
IcePoAuthStatus;
typedef enum
{
  IcePaAuthContinue, IcePaAuthAccepted, IcePaAuthRejected, IcePaAuthFailed
}
IcePaAuthStatus;
typedef enum
{
  IceConnectPending, IceConnectAccepted, IceConnectRejected, IceConnectIOError
}
IceConnectStatus;
typedef enum
{
  IceProtocolSetupSuccess, IceProtocolSetupFailure, IceProtocolSetupIOError,
    IceProtocolAlreadyActive
}
IceProtocolSetupStatus;
typedef enum
{
  IceAcceptSuccess, IceAcceptFailure, IceAcceptBadMalloc
}
IceAcceptStatus;
typedef enum
{
  IceClosedNow, IceClosedASAP, IceConnectionInUse,
    IceStartedShutdownNegotiation
}
IceCloseStatus;
typedef enum
{
  IceProcessMessagesSuccess, IceProcessMessagesIOError,
    IceProcessMessagesConnectionClosed
}
IceProcessMessagesStatus;

typedef struct
{
  unsigned long int sequence_of_request;
  int major_opcode_of_request;
  int minor_opcode_of_request;
  IcePointer reply;
}
IceReplyWaitInfo;

typedef struct _IceConn *IceConn;
typedef struct _IceListenObj *IceListenObj;

typedef void (*IceWatchProc) (void);
typedef void (*IcePoProcessMsgProc) (void);
typedef void (*IcePaProcessMsgProc) (void);
typedef IcePoAuthStatus (*IcePoAuthProc) (void);
typedef IcePaAuthStatus (*IcePaAuthProc) (void);
typedef int (*IceHostBasedAuthProc) (void);
typedef int (*IceProtocolSetupProc) (void);
typedef void (*IceProtocolActivateProc) (void);
typedef void (*IceIOErrorProc) (void);
typedef void (*IcePingReplyProc) (void);
typedef void (*IceErrorHandler) (void);
typedef void (*IceIOErrorHandler) (void);

typedef struct
{
  int major_version;
  int minor_version;
  IcePoProcessMsgProc process_msg_proc;
}
IcePoVersionRec;
typedef struct
{
  int major_version;
  int minor_version;
  IcePaProcessMsgProc process_msg_proc;
}
IcePaVersionRec;

1.9.2. X11/ICE/ICEutil.h


typedef struct
{
  char *protocol_name;
  unsigned short protocol_data_length;
  char *protocol_data;
  char *network_id;
  char *auth_name;
  unsigned short auth_data_length;
  char *auth_data;
}
IceAuthFileEntry;
typedef struct
{
  char *protocol_name;
  char *network_id;
  char *auth_name;
  unsigned short auth_data_length;
  char *auth_data;
}
IceAuthDataEntry;

1.10. Interfaces for libXt

Table 1-15 defines the library name and shared object name for the libXt library

Table 1-15. libXt Definition

Library:libXt
SONAME:libXt.so.6

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

this specification
X11 Toolkit Intrinsics


1.10.1. X Toolkit


1.10.1.1. Interfaces for X Toolkit

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

Table 1-16. libXt - X Toolkit Function Interfaces

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

Referenced Specification(s)

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

Table 1-17. libXt - X Toolkit Data Interfaces

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

Referenced Specification(s)


1.11. Data Definitions for libXt

This section defines global identifiers and their values that are associated with interfaces contained in libXt. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 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.


1.11.1. X11/Composite.h


typedef Cardinal (*XtOrderProc) (Widget child);
typedef void (*XtDoChangeProc) (Widget composite_parent,
				WidgetList unmanage_children,
				Cardinal * num_unmanage_children,
				WidgetList manage_children,
				Cardinal * num_manage_children,
				XtPointer client_data);

1.11.2. X11/CompositeP.h


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

typedef struct _CompositeClassPart CompositeClassPart;

typedef struct _CompositeClassRec CompositeClassRec;

1.11.3. X11/ConstrainP.h


#define XtConstraintExtensionVersion	1L

typedef struct _ConstraintPart ConstraintPart;
typedef struct _ConstraintClassPart ConstraintClassPart;
typedef struct _ConstraintClassRec
{
  CoreClassPart core_class;
  CompositeClassPart composite_class;
  ConstraintClassPart constraint_class;
}
ConstraintClassRec;

1.11.4. X11/Constraint.h


typedef struct _ConstraintClassRec *ConstraintWidgetClass;

1.11.5. X11/Intrinsic.h


typedef struct _WidgetRec *Widget;
typedef Widget *WidgetList;
typedef struct _WidgetClassRec *WidgetClass;
typedef struct _CompositeRec *CompositeWidget;
typedef struct _XtActionsRec *XtActionList;
typedef struct _XtEventRec *XtEventTable;
typedef struct _XtAppStruct *XtAppContext;
typedef unsigned long int XtValueMask;
typedef unsigned long int XtIntervalId;
typedef unsigned long int XtInputId;
typedef unsigned long int XtSignalId;
typedef unsigned int XtGeometryMask;
typedef unsigned long int XtGCMask;
typedef unsigned long int Pixel;
typedef int XtCacheType;
typedef char Boolean;
typedef long int XtArgVal;
typedef unsigned char XtEnum;
typedef unsigned int Cardinal;
typedef unsigned short Dimension;
typedef short Position;
typedef void *XtPointer;
typedef XtPointer Opaque;

1.11.6. X11/ObjectP.h


#define XtInheritAllocate	((XtAllocateProc) _XtInherit)
#define XtInheritDeallocate	((XtDeallocateProc) _XtInherit)
#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;
  XtProc obj2;
  XtProc 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;

struct
{
  XtPointer next_extension;
  XrmQuark record_type;
  long int version;
  Cardinal record_size;
  XtAllocateProc allocate;
  XtDeallocateProc deallocate;
}
 ;

typedef struct
{
  XtPointer next_extension;
  XrmQuark record_type;
  long int version;
  Cardinal record_size;
  XtAllocateProc allocate;
  XtDeallocateProc deallocate;
}
ObjectClassExtensionRec;
typedef struct
{
  XtPointer next_extension;
  XrmQuark record_type;
  long int version;
  Cardinal record_size;
  XtAllocateProc allocate;
  XtDeallocateProc deallocate;
}
 *ObjectClassExtension;

typedef struct _ObjectClassRec
{
  ObjectClassPart object_class;
}
ObjectClassRec;

1.12. Interface Definitions for libXt

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

The following interfaces 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 above for libXt shall behave as described in the referenced base document.

_XtCopyFromArg

Name

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

Synopsis

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

Description

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

_XtInherit

Name

_XtInherit -- inheritance operation.

Synopsis

#include <IntrinsicP.h>

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

Description

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

_XtInheritTranslations

Name

_XtInheritTranslations -- an inheritance constant

Synopsis

#include <CoreP.h>

externalref int _XtInheritTranslations;

Description

_XtInheritTranslations is an inheritance constant.

_XtIsSubclassOf

Name

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

Synopsis

#include <Intrinsic.h>

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

Description

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

II. OpenGL Libraries

Table of Contents
2. Libraries

Chapter 2. Libraries

2.1. Interfaces for libGL

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

Table 2-1. libGL Definition

Library:libGL
SONAME:libGL.so.1

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

OpenGL


2.1.1. GL X interface


2.1.1.1. Interfaces for GL X interface

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

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

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

Referenced Specification(s)

[1]. OpenGL


2.1.2. OpenGL


2.1.2.1. Interfaces for OpenGL

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

Table 2-3. libGL - OpenGL Function Interfaces

glAccum [1]glDisable [1]glIndexPointer [1]glNormal3bv [1]glTexCoord1dv [1]
glActiveTextureARB [1]glDisableClientState [1]glIndexd [1]glNormal3d [1]glTexCoord1f [1]
glAlphaFunc [1]glDrawArrays [1]glIndexdv [1]glNormal3dv [1]glTexCoord1fv [1]
glAreTexturesResident [1]glDrawBuffer [1]glIndexf [1]glNormal3f [1]glTexCoord1i [1]
glArrayElement [1]glDrawElements [1]glIndexfv [1]glNormal3fv [1]glTexCoord1iv [1]
glBegin [1]glDrawPixels [1]glIndexi [1]glNormal3i [1]glTexCoord1s [1]
glBindTexture [1]glDrawRangeElements [1]glIndexiv [1]glNormal3iv [1]glTexCoord1sv [1]
glBitmap [1]glEdgeFlag [1]glIndexs [1]glNormal3s [1]glTexCoord2d [1]
glBlendColor [1]glEdgeFlagPointer [1]glIndexsv [1]glNormal3sv [1]glTexCoord2dv [1]
glBlendEquation [1]glEdgeFlagv [1]glIndexub [1]glNormalPointer [1]glTexCoord2f [1]
glBlendFunc [1]glEnable [1]glIndexubv [1]glOrtho [1]glTexCoord2fv [1]
glCallList [1]glEnableClientState [1]glInitNames [1]glPassThrough [1]glTexCoord2i [1]
glCallLists [1]glEnd [1]glInterleavedArrays [1]glPixelMapfv [1]glTexCoord2iv [1]
glClear [1]glEndList [1]glIsEnabled [1]glPixelMapuiv [1]glTexCoord2s [1]
glClearAccum [1]glEvalCoord1d [1]glIsList [1]glPixelMapusv [1]glTexCoord2sv [1]
glClearColor [1]glEvalCoord1dv [1]glIsTexture [1]glPixelStoref [1]glTexCoord3d [1]
glClearDepth [1]glEvalCoord1f [1]glLightModelf [1]glPixelStorei [1]glTexCoord3dv [1]
glClearIndex [1]glEvalCoord1fv [1]glLightModelfv [1]glPixelTransferf [1]glTexCoord3f [1]
glClearStencil [1]glEvalCoord2d [1]glLightModeli [1]glPixelTransferi [1]glTexCoord3fv [1]
glClientActiveTextureARB [1]glEvalCoord2dv [1]glLightModeliv [1]glPixelZoom [1]glTexCoord3i [1]
glClipPlane [1]glEvalCoord2f [1]glLightf [1]glPointSize [1]glTexCoord3iv [1]
glColor3b [1]glEvalCoord2fv [1]glLightfv [1]glPolygonMode [1]glTexCoord3s [1]
glColor3bv [1]glEvalMesh1 [1]glLighti [1]glPolygonOffset [1]glTexCoord3sv [1]
glColor3d [1]glEvalMesh2 [1]glLightiv [1]glPolygonStipple [1]glTexCoord4d [1]
glColor3dv [1]glEvalPoint1 [1]glLineStipple [1]glPopAttrib [1]glTexCoord4dv [1]
glColor3f [1]glEvalPoint2 [1]glLineWidth [1]glPopClientAttrib [1]glTexCoord4f [1]
glColor3fv [1]glFeedbackBuffer [1]glListBase [1]glPopMatrix [1]glTexCoord4fv [1]
glColor3i [1]glFinish [1]glLoadIdentity [1]glPopName [1]glTexCoord4i [1]
glColor3iv [1]glFlush [1]glLoadMatrixd [1]glPrioritizeTextures [1]glTexCoord4iv [1]
glColor3s [1]glFogf [1]glLoadMatrixf [1]glPushAttrib [1]glTexCoord4s [1]
glColor3sv [1]glFogfv [1]glLoadName [1]glPushClientAttrib [1]glTexCoord4sv [1]
glColor3ub [1]glFogi [1]glLogicOp [1]glPushMatrix [1]glTexCoordPointer [1]
glColor3ubv [1]glFogiv [1]glMap1d [1]glPushName [1]glTexEnvf [1]
glColor3ui [1]glFrontFace [1]glMap1f [1]glRasterPos2d [1]glTexEnvfv [1]
glColor3uiv [1]glFrustum [1]glMap2d [1]glRasterPos2dv [1]glTexEnvi [1]
glColor3us [1]glGenLists [1]glMap2f [1]glRasterPos2f [1]glTexEnviv [1]
glColor3usv [1]glGenTextures [1]glMapGrid1d [1]glRasterPos2fv [1]glTexGend [1]
glColor4b [1]glGetBooleanv [1]glMapGrid1f [1]glRasterPos2i [1]glTexGendv [1]
glColor4bv [1]glGetClipPlane [1]glMapGrid2d [1]glRasterPos2iv [1]glTexGenf [1]
glColor4d [1]glGetColorTable [1]glMapGrid2f [1]glRasterPos2s [1]glTexGenfv [1]
glColor4dv [1]glGetColorTableParameterfv [1]glMaterialf [1]glRasterPos2sv [1]glTexGeni [1]
glColor4f [1]glGetColorTableParameteriv [1]glMaterialfv [1]glRasterPos3d [1]glTexGeniv [1]
glColor4fv [1]glGetConvolutionFilter [1]glMateriali [1]glRasterPos3dv [1]glTexImage1D [1]
glColor4i [1]glGetConvolutionParameterfv [1]glMaterialiv [1]glRasterPos3f [1]glTexImage2D [1]
glColor4iv [1]glGetConvolutionParameteriv [1]glMatrixMode [1]glRasterPos3fv [1]glTexImage3D [1]
glColor4s [1]glGetDoublev [1]glMinmax [1]glRasterPos3i [1]glTexParameterf [1]
glColor4sv [1]glGetError [1]glMultMatrixd [1]glRasterPos3iv [1]glTexParameterfv [1]
glColor4ub [1]glGetFloatv [1]glMultMatrixf [1]glRasterPos3s [1]glTexParameteri [1]
glColor4ubv [1]glGetHistogram [1]glMultiTexCoord1dARB [1]glRasterPos3sv [1]glTexParameteriv [1]
glColor4ui [1]glGetHistogramParameterfv [1]glMultiTexCoord1dvARB [1]glRasterPos4d [1]glTexSubImage1D [1]
glColor4uiv [1]glGetHistogramParameteriv [1]glMultiTexCoord1fARB [1]glRasterPos4dv [1]glTexSubImage2D [1]
glColor4us [1]glGetIntegerv [1]glMultiTexCoord1fvARB [1]glRasterPos4f [1]glTexSubImage3D [1]
glColor4usv [1]glGetLightfv [1]glMultiTexCoord1iARB [1]glRasterPos4fv [1]glTranslated [1]
glColorMask [1]glGetLightiv [1]glMultiTexCoord1ivARB [1]glRasterPos4i [1]glTranslatef [1]
glColorMaterial [1]glGetMapdv [1]glMultiTexCoord1sARB [1]glRasterPos4iv [1]glVertex2d [1]
glColorPointer [1]glGetMapfv [1]glMultiTexCoord1svARB [1]glRasterPos4s [1]glVertex2dv [1]
glColorSubTable [1]glGetMapiv [1]glMultiTexCoord2dARB [1]glRasterPos4sv [1]glVertex2f [1]
glColorTable [1]glGetMaterialfv [1]glMultiTexCoord2dvARB [1]glReadBuffer [1]glVertex2fv [1]
glColorTableParameterfv [1]glGetMaterialiv [1]glMultiTexCoord2fARB [1]glReadPixels [1]glVertex2i [1]
glColorTableParameteriv [1]glGetMinmax [1]glMultiTexCoord2fvARB [1]glRectd [1]glVertex2iv [1]
glConvolutionFilter1D [1]glGetMinmaxParameterfv [1]glMultiTexCoord2iARB [1]glRectdv [1]glVertex2s [1]
glConvolutionFilter2D [1]glGetMinmaxParameteriv [1]glMultiTexCoord2ivARB [1]glRectf [1]glVertex2sv [1]
glConvolutionParameterf [1]glGetPixelMapfv [1]glMultiTexCoord2sARB [1]glRectfv [1]glVertex3d [1]
glConvolutionParameterfv [1]glGetPixelMapuiv [1]glMultiTexCoord2svARB [1]glRecti [1]glVertex3dv [1]
glConvolutionParameteri [1]glGetPixelMapusv [1]glMultiTexCoord3dARB [1]glRectiv [1]glVertex3f [1]
glConvolutionParameteriv [1]glGetPointerv [1]glMultiTexCoord3dvARB [1]glRects [1]glVertex3fv [1]
glCopyColorSubTable [1]glGetPolygonStipple [1]glMultiTexCoord3fARB [1]glRectsv [1]glVertex3i [1]
glCopyColorTable [1]glGetSeparableFilter [1]glMultiTexCoord3fvARB [1]glRenderMode [1]glVertex3iv [1]
glCopyConvolutionFilter1D [1]glGetString [1]glMultiTexCoord3iARB [1]glResetHistogram [1]glVertex3s [1]
glCopyConvolutionFilter2D [1]glGetTexEnvfv [1]glMultiTexCoord3ivARB [1]glResetMinmax [1]glVertex3sv [1]
glCopyPixels [1]glGetTexEnviv [1]glMultiTexCoord3sARB [1]glRotated [1]glVertex4d [1]
glCopyTexImage1D [1]glGetTexGendv [1]glMultiTexCoord3svARB [1]glRotatef [1]glVertex4dv [1]
glCopyTexImage2D [1]glGetTexGenfv [1]glMultiTexCoord4dARB [1]glScaled [1]glVertex4f [1]
glCopyTexSubImage1D [1]glGetTexGeniv [1]glMultiTexCoord4dvARB [1]glScalef [1]glVertex4fv [1]
glCopyTexSubImage2D [1]glGetTexImage [1]glMultiTexCoord4fARB [1]glScissor [1]glVertex4i [1]
glCopyTexSubImage3D [1]glGetTexLevelParameterfv [1]glMultiTexCoord4fvARB [1]glSelectBuffer [1]glVertex4iv [1]
glCullFace [1]glGetTexLevelParameteriv [1]glMultiTexCoord4iARB [1]glSeparableFilter2D [1]glVertex4s [1]
glDeleteLists [1]glGetTexParameterfv [1]glMultiTexCoord4ivARB [1]glShadeModel [1]glVertex4sv [1]
glDeleteTextures [1]glGetTexParameteriv [1]glMultiTexCoord4sARB [1]glStencilFunc [1]glVertexPointer [1]
glDepthFunc [1]glHint [1]glMultiTexCoord4svARB [1]glStencilMask [1]glViewport [1]
glDepthMask [1]glHistogram [1]glNewList [1]glStencilOp [1]glXChooseFBConfig [1]
glDepthRange [1]glIndexMask [1]glNormal3b [1]glTexCoord1d [1] 

Referenced Specification(s)

[1]. OpenGL


2.2. Data Definitions for libGL

This section defines global identifiers and their values that are associated with interfaces contained in libGL. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.

These definitions are intended to supplement those provided in the referenced underlying specifications.

This specification uses ISO/IEC 9899 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.


2.2.1. GL/gl.h


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_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_MATRIX_MODE	0x0BA0
#define GL_MODELVIEW	0x1700
#define GL_PROJECTION	0x1701
#define GL_TEXTURE	0x1702

2.2.2. GL/glx.h


typedef struct __GLXcontextRec *GLXContext;
typedef struct __GLXFBConfigRec *GLXFBConfig;
typedef XID GLXContextID;
typedef XID GLXPixmap;
typedef XID GLXDrawable;
typedef XID GLXPbuffer;
typedef XID GLXWindow;

III. Package Information

Table of Contents
3. Package Dependencies

Chapter 3. Package Dependencies

3.1. Package Dependencies

The LSB runtime environment shall provide the following dependencies.

lsb-graphics-arch

This dependency is used to indicate that the application is dependent on features contained in the LSB-Graphics module.

lsb-graphics-noarch

This dependency is used to indicate that the application is dependent on features contained in the LSB-Graphics module and that the package does not contain any architecture specific files.

These dependencies shall have a version of 3.0.

The arch component of any package name is described in the relevant architecture specific LSB.


Appendix A. GNU Free Documentation License

Version 1.1, March 2000

Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.


A.1. PREAMBLE

The purpose of this License is to make a manual, textbook, or other written document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.


A.2. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you".

A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (For example, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, whose contents can be viewed and edited directly and straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup has been designed to thwart or discourage subsequent modification by readers is not Transparent. A copy that is not "Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML designed for human modification. Opaque formats include PostScript, PDF, proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text.


A.3. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display copies.


A.4. COPYING IN QUANTITY

If you publish printed copies of the Document numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a publicly-accessible computer-network location containing a complete Transparent copy of the Document, free of added material, which the general network-using public has access to download anonymously at no charge using public-standard network protocols. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.


A.5. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

  1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.

  2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has less than five).

  3. State on the Title page the name of the publisher of the Modified Version, as the publisher.

  4. Preserve all the copyright notices of the Document.

  5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.

  6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.

  7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice.

  8. Include an unaltered copy of this License.

  9. Preserve the section entitled "History", and its title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.

  10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.

  11. In any section entitled "Acknowledgements" or "Dedications", preserve the section's title, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.

  12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.

  13. Delete any section entitled "Endorsements". Such a section may not be included in the Modified Version.

  14. Do not retitle any existing section as "Endorsements" or to conflict in title with any Invariant Section.

If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles.

You may add a section entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.


A.6. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice.

The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

In the combination, you must combine any sections entitled "History" in the various original documents, forming one section entitled "History"; likewise combine any sections entitled "Acknowledgements", and any sections entitled "Dedications". You must delete all sections entitled "Endorsements."


A.7. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.


A.8. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified Version of the Document, provided no compilation copyright is claimed for the compilation. Such a compilation is called an "aggregate", and this License does not apply to the other self-contained works thus compiled with the Document, on account of their being thus compiled, if they are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one quarter of the entire aggregate, the Document's Cover Texts may be placed on covers that surround only the Document within the aggregate. Otherwise they must appear on covers around the whole aggregate.


A.9. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License provided that you also include the original English version of this License. In case of a disagreement between the translation and the original English version of this License, the original English version will prevail.


A.10. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.


A.11. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.


A.12. How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. A copy of the license is included in the section entitled "GNU Free Documentation License".

If you have no Invariant Sections, write "with no Invariant Sections" instead of saying which ones are invariant. If you have no Front-Cover Texts, write "no Front-Cover Texts" instead of "Front-Cover Texts being LIST"; likewise for Back-Cover Texts.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.