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]XtRemoveEventTypeHan