Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • wjp/xserver
  • DemiMarie/xserver
  • metux/xserver
  • alanc/xserver
  • uvas/xserver
  • cl91/xserver
  • heymiaoO/xserver
  • oreaus/xserver
  • stapelberg/xserver
  • PaulKocialkowski/xserver
  • CendioOssman/xserver
  • wiz/xserver
  • maos20008/xserver
  • dougvj/xserver
  • mgorse1/xserver
  • gldrk/xserver
  • TMR5454/xserver
  • Kyawswat/xserver
  • hexiaodong/xserver
  • gilvbp/xserver
  • vliaskov/xserver
  • aarondill/xserver
  • zzyiwei/xserver
  • kleinerm/xserver
  • jcherry/xserver
  • jcristau/xserver
  • nathankidd/xserver
  • jexposit/xserver
  • refi_64/xserver
  • kbrenneman/xserver
  • kupper.pa/xserver
  • LickmeDown/xserver
  • zboszor/xserver
  • jadahl/xserver
  • shadeslayer/xserver
  • mherrb/xserver
  • Julia/xserver
  • twaik/xserver
  • fvalasiad/xserver
  • zzxyb/xserver
  • HermannSW/xserver
  • erwinou/xserver
  • ekurzinger/xserver
  • nacho.resa/xserver
  • agoins/xserver
  • NSUTanghaixiang/xserver
  • huxd1532/xserver
  • keithp/xserver
  • vinilokorlok/xserver
  • bbeckett/xserver
  • dslater38/xserver
  • zzag/xserver
  • emersion/xserver
  • djlucas/xserver
  • ccullumbine2018/xserver
  • daniels/xserver
  • llandwerlin/xserver
  • doraskayo/xserver
  • afett/xserver
  • XDXTHX/xserver
  • xexaxo/xserver
  • ecurtin/xserver
  • rbernon/xserver
  • pekdon/xserver
  • karolherbst/xserver
  • russellcnv/xserver
  • mbiebl/xserver
  • orbea/xserver
  • vsyrjala/xserver
  • lyudess/xserver
  • manu/xserver
  • lucmann/xserver
  • tholin/xserver
  • yarivb/xserver
  • tmlind/xserver
  • chema/xserver
  • J-Bu/xserver
  • chenhuacai/xserver
  • E5ten/xserver
  • haagch/xserver
  • whot/xserver
  • strassek/xserver
  • mntmn/xserver
  • liyi42/xserver
  • YusufKhan-gamedev/xserver
  • iv-m/xserver
  • vanvugt/xserver
  • Rui511/xserver
  • catap/xserver
  • tjbp/xserver
  • webi123/xserver
  • noblock/xserver
  • freemangordon/xserver
  • xdandys/xserver
  • jbeich/xserver
  • zeising/xserver
  • romangg/xserver
  • pq/xserver
  • azhadchenko/xserver
  • Emantor/xserver
  • xorg/xserver
  • carlosg/xserver
  • kwg/xserver
  • pichika/xserver
  • klniu/xserver
  • TAAPArthur/xserver
  • sjoerd/xserver
  • Sjecai2/xserver
  • jturney/xserver
  • pkubaj/xserver
  • os369510/xserver
  • Zamundaaa/xserver
  • Gorg/xserver
  • lkundrak/xserver
  • niveditharau/xserver
  • ForTheReallys/xserver
  • jmonteiro/xserver
  • jocelyn/xserver
  • ThatMG393/xserver
  • fweimer/xserver
  • mlankhorst/xserver
  • marv/xserver
  • dbn/xserver
  • mattrope/xserver
  • coypoop/xserver
  • mwyraz/xserver
  • frog/xserver
  • 3v1n0/xserver
  • awilfox/xserver
  • muesli4/xserver
  • rarbab/xserver
  • yshui/xserver
  • jannau/xserver
  • mikeroyal/xserver
  • andrebsguedes/xserver
  • JeffyCN/xserver
  • ipominov/xserver
  • gtrentalancia/xserver
  • josch/xserver
  • lucyllewy/xserver
  • tomty89/xserver
  • qarmin/xserver
  • tagr/xserver
  • zwenna/xserver
  • bkylerussell/xserver
  • mupuf/xserver
  • zubzub/xserver
  • galaxytgtabiday/xserver
  • OlCe/xserver
  • ashafer/xserver
  • dengbo/xserver
  • valpackett/xserver
  • andreyknyazev077/xserver
  • antonovitch/xserver
  • contactshashanksharma/xserver-fork-shashank
  • akihiko.odaki/xserver
  • sknsean/xserver
  • rnpnr/xserver
  • hitong602/xserver
  • halfline/xserver
  • ismailsiege/xserver
  • dongwonk/xserver
  • Fatton1/xserver
  • GermanAizek/xserver
  • daenzer/xserver
  • FeepingCreature/xserver
  • mvlad/xserver
  • puleglot/xserver
  • smelenius/xserver
  • sewn/xserver
  • kaichuan.hsieh/xserver
  • SimonPilkington/xserver
  • adamdruppe/xserver
  • floppym/xserver
  • trevdave/xserver
  • luke-jr/xserver
  • headrush/xserver
  • davidriley/xserver
  • heitbaum/xserver
  • mrisaacb/xserver
  • goosen78/xserver
  • Ma/xserver
  • gmbr3/xserver
  • tsutsui/xserver
  • sherrodejjohnson/xserver
  • hassoon1986/xserver
  • lanodan/xserver
  • ydc-dadada/xserver
  • wengxt/xserver
  • icenowy/xserver
  • denisfa/xserver
  • StarsGreen/xserver
  • adamjrichter/xserver
  • bigon/xserver
  • djacewicz/xserver
  • davidre/xserver
  • kylin0061/xserver
  • arrowd/xserver
  • p12tic/xserver
  • ernstp/xserver
  • bbrezillon/xserver
  • penguin42/xserver
  • anarsoul/xserver
  • marvinjr35/xserver
  • gerddie/xserver
  • xry111/xserver
  • psyruss85/xserver
  • volkanorhan/xserver
  • luporl/xserver
  • cbur201592/xserver
  • bphaslett/xserver
  • guillem/xserver
  • haihao/xserver
  • peterh/xserver
  • miztake/xserver
  • zaps166/xserver
  • lostgoat/xserver
  • vfjpl/xserver
  • bentiss/xserver
  • rilian-la-te/xserver
  • wujiangGitHub/xserver
  • cubanismo/xserver
  • arichardson/xserver
  • schreibemirhalt/xserver
  • jsg/xserver
  • karlosrangel337/xserver
  • knisht/xserver
  • manuelcrack642/xserver
  • ross/xserver
  • topimiettinen/xserver
  • davidedmundson/xserver
  • DPA/xserver
  • dkorkmazturk/xserver
  • karamjameelmoore/xserver
  • lihongtao/xserver
  • sthibaul/xserver
  • RyzenDew/xserver
  • christian-rauch/xserver
  • Vivek/xserver
  • peigongdsd/xserver
  • peng.jin/xserver
  • alagner/xserver
  • mehdigh419/xserver
  • dixler/xserver
  • BBaoVanC/xserver
  • Drakulix/xserver
  • Acidburn0zzz/xserver
  • bafanahub/xserver
  • benpicco/xserver
  • yangxiaojuan-loongson/xserver
  • kaocher82/xserver
  • pepp/xserver
  • luyn/xserver
  • cgzones/xserver
  • 1740301466jxz/xserver
  • ids1024/xserver
  • svalaskevicius/xserver
  • ZhiJie.Zhang/xserver
  • chengbo7135/xserver
  • eschwartz/xserver
  • jayantpranjal0/xserver
  • hmazlan/xserver
  • kerneltoast/xserver
  • Michaelypk/xserver
  • dottedmag/xserver
  • aplattner/xserver
  • sergiomb/xserver
  • looi/xserver
  • robclark/xserver
  • tzimmermann/xserver
  • vitoux.pascal/xserver
  • aditj/xserver
  • kennylevinsen/xserver
  • Kishore409/xserver
  • Daasin/xserver
  • dirbaio/xserver
  • xinbowang/xserver
  • mwei/xserver
  • SpikyCaterpillar1/xserver
  • devin11911191/xserver
  • alex-tu-cc/xserver
  • kaniini/xserver
  • jcourreges/xserver
  • n3rdopolis/xserver
  • zagursky/xserver
  • thesamesam/xserver
  • anholt/xserver
  • themaister/xserver
  • jrtc27/xserver
  • JoseExposito/xserver
  • Hi-Angel/xserver
  • City-busz/xserver
  • ydirson/xserver
  • dawnhan/xserver
  • avolkov/xserver
  • meMuszr/xserver
  • dk/xserver
  • cooperch/xserver
  • Tuetuopay/xserver
  • gabifalk/xserver
  • jeremyhu/xserver
  • road2react/xserver
  • 1480c1/xserver
  • Spintzyk/xserver
  • MisterDA/xserver
  • starnight/xserver
  • abono/xserver
  • ajax/xserver
  • dougg3/xserver
  • chenx_dust/xserver
  • EXtremeExploit/xserver
  • jwrdegoede/xserver
  • acelan/xserver
  • airlied/xserver
  • justazarsky/xserver
  • sri-ka1ki/xserver
  • rgfernandes/xserver
  • lynxeye/xserver
  • tintou/xserver
  • mattst88/xserver
  • rmader/xserver
  • linkmauve/xserver
  • kamarul6401/xserver
  • andy-zetier/xserver
  • gsittyz/xserver
  • bernhardu/xserver
  • causztic/xserver
  • cpmichael/modesetting
  • ryanneph/xserver
  • zhangyaning/xserver
  • olv/xserver
  • hongaoo/xserver
  • LiChenG-P/xserver
  • Ivaniku/x-taylan
  • dkg/xserver
  • ofourdan/xserver
  • mahkoh/xserver
  • AkiSakurai/xserver
  • msizanoen1/xserver
339 results
Show changes
Commits on Source (13)
......@@ -893,7 +893,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts)
rules = "base";
/* Xkb default options. */
XkbInitRules(&set, rules, "pc105", "us", NULL, NULL);
XkbInitRules(&set, rules, XKB_DFLT_MODEL, XKB_DFLT_LAYOUT, NULL, NULL);
XkbSetRulesDflts(&set);
XkbFreeRMLVOSet(&set, FALSE);
......
......@@ -550,10 +550,8 @@ can_exchange(ScrnInfoPtr scrn, DrawablePtr draw,
drmmode_crtc_private_ptr drmmode_crtc = config->crtc[i]->driver_private;
/* Don't do pageflipping if CRTCs are rotated. */
#ifdef GLAMOR_HAS_GBM
if (drmmode_crtc->rotate_bo.gbm)
return FALSE;
#endif
if (xf86_crtc_on(config->crtc[i]))
num_crtcs_on++;
......
......@@ -54,6 +54,7 @@
#endif
#include <errno.h>
#include <sys/srn.h>
#include <X11/X.h>
#include "os.h"
......@@ -63,34 +64,11 @@
#include "xf86_OSproc.h"
#include "xf86_OSlib.h"
#ifndef PLEASE_FIX_THIS
#define APM_STANDBY_REQ 0xa01
#define APM_SUSPEND_REQ 0xa02
#define APM_NORMAL_RESUME 0xa03
#define APM_CRIT_RESUME 0xa04
#define APM_BATTERY_LOW 0xa05
#define APM_POWER_CHANGE 0xa06
#define APM_UPDATE_TIME 0xa07
#define APM_CRIT_SUSPEND_REQ 0xa08
#define APM_USER_STANDBY_REQ 0xa09
#define APM_USER_SUSPEND_REQ 0xa0a
#define APM_SYS_STANDBY_RESUME 0xa0b
#define APM_IOC_NEXTEVENT 0xa0c
#define APM_IOC_RESUME 0xa0d
#define APM_IOC_SUSPEND 0xa0e
#define APM_IOC_STANDBY 0xa0f
#endif
typedef struct apm_event_info {
int type;
} apm_event_info;
/*
This may be replaced with a better device name
very soon...
*/
#define APM_DEVICE "/dev/srn"
#define APM_DEVICE1 "/dev/apm"
static void *APMihPtr = NULL;
static void sunCloseAPM(void);
......@@ -99,20 +77,17 @@ static struct {
u_int apmBsd;
pmEvent xf86;
} sunToXF86Array[] = {
{APM_STANDBY_REQ, XF86_APM_SYS_STANDBY},
{APM_SUSPEND_REQ, XF86_APM_SYS_SUSPEND},
{APM_NORMAL_RESUME, XF86_APM_NORMAL_RESUME},
{APM_CRIT_RESUME, XF86_APM_CRITICAL_RESUME},
{APM_BATTERY_LOW, XF86_APM_LOW_BATTERY},
{APM_POWER_CHANGE, XF86_APM_POWER_STATUS_CHANGE},
{APM_UPDATE_TIME, XF86_APM_UPDATE_TIME},
{APM_CRIT_SUSPEND_REQ, XF86_APM_CRITICAL_SUSPEND},
{APM_USER_STANDBY_REQ, XF86_APM_USER_STANDBY},
{APM_USER_SUSPEND_REQ, XF86_APM_USER_SUSPEND},
{APM_SYS_STANDBY_RESUME, XF86_APM_STANDBY_RESUME},
#ifdef APM_CAPABILITY_CHANGE
{APM_CAPABILITY_CHANGE, XF86_APM_CAPABILITY_CHANGED},
#endif
{SRN_STANDBY_REQ, XF86_APM_SYS_STANDBY},
{SRN_SUSPEND_REQ, XF86_APM_SYS_SUSPEND},
{SRN_NORMAL_RESUME, XF86_APM_NORMAL_RESUME},
{SRN_CRIT_RESUME, XF86_APM_CRITICAL_RESUME},
{SRN_BATTERY_LOW, XF86_APM_LOW_BATTERY},
{SRN_POWER_CHANGE, XF86_APM_POWER_STATUS_CHANGE},
{SRN_UPDATE_TIME, XF86_APM_UPDATE_TIME},
{SRN_CRIT_SUSPEND_REQ, XF86_APM_CRITICAL_SUSPEND},
{SRN_USER_STANDBY_REQ, XF86_APM_USER_STANDBY},
{SRN_USER_SUSPEND_REQ, XF86_APM_USER_SUSPEND},
{SRN_SYS_STANDBY_RESUME, XF86_APM_STANDBY_RESUME},
};
static pmEvent
......@@ -139,9 +114,9 @@ sunPMGetEventFromOS(int fd, pmEvent * events, int num)
for (i = 0; i < num; i++) {
if (ioctl(fd, APM_IOC_NEXTEVENT, &sunEvent) < 0) {
if (ioctl(fd, SRN_IOC_NEXTEVENT, &sunEvent) < 0) {
if (errno != EAGAIN) {
xf86Msg(X_WARNING, "sunPMGetEventFromOS: APM_IOC_NEXTEVENT"
xf86Msg(X_WARNING, "sunPMGetEventFromOS: SRN_IOC_NEXTEVENT"
" %s\n", strerror(errno));
}
break;
......@@ -159,7 +134,7 @@ sunPMConfirmEventToOs(int fd, pmEvent event)
/* XXX: NOT CURRENTLY RETURNED FROM OS */
case XF86_APM_SYS_STANDBY:
case XF86_APM_USER_STANDBY:
if (ioctl(fd, APM_IOC_STANDBY, NULL) == 0)
if (ioctl(fd, SRN_IOC_STANDBY, NULL) == 0)
return PM_WAIT; /* should we stop the Xserver in standby, too? */
else
return PM_NONE;
......@@ -167,10 +142,10 @@ sunPMConfirmEventToOs(int fd, pmEvent event)
case XF86_APM_CRITICAL_SUSPEND:
case XF86_APM_USER_SUSPEND:
xf86Msg(X_WARNING, "Got SUSPENDED\n");
if (ioctl(fd, APM_IOC_SUSPEND, NULL) == 0)
if (ioctl(fd, SRN_IOC_SUSPEND, NULL) == 0)
return PM_CONTINUE;
else {
xf86Msg(X_WARNING, "sunPMConfirmEventToOs: APM_IOC_SUSPEND"
xf86Msg(X_WARNING, "sunPMConfirmEventToOs: SRN_IOC_SUSPEND"
" %s\n", strerror(errno));
return PM_FAILED;
}
......@@ -180,10 +155,10 @@ sunPMConfirmEventToOs(int fd, pmEvent event)
case XF86_APM_STANDBY_FAILED:
case XF86_APM_SUSPEND_FAILED:
xf86Msg(X_WARNING, "Got RESUME\n");
if (ioctl(fd, APM_IOC_RESUME, NULL) == 0)
if (ioctl(fd, SRN_IOC_RESUME, NULL) == 0)
return PM_CONTINUE;
else {
xf86Msg(X_WARNING, "sunPMConfirmEventToOs: APM_IOC_RESUME"
xf86Msg(X_WARNING, "sunPMConfirmEventToOs: SRN_IOC_RESUME"
" %s\n", strerror(errno));
return PM_FAILED;
}
......@@ -202,9 +177,7 @@ xf86OSPMOpen(void)
}
if ((fd = open(APM_DEVICE, O_RDWR)) == -1) {
if ((fd = open(APM_DEVICE1, O_RDWR)) == -1) {
return NULL;
}
return NULL;
}
xf86PMGetEventFromOs = sunPMGetEventFromOS;
xf86PMConfirmEventToOs = sunPMConfirmEventToOs;
......
......@@ -182,6 +182,7 @@ pkgconfig.generate(
filebase: 'xwayland',
name: 'Xwayland',
description: 'X Server for Wayland',
dataonly: true,
variables: [
'exec_prefix=${prefix}',
'xwayland=' + xwayland_path / xwayland_server.name(),
......
......@@ -1514,6 +1514,11 @@ xwl_glamor_gbm_init_main_dev(struct xwl_screen *xwl_screen)
}
main_dev = xwl_screen->default_feedback.main_dev;
if (!main_dev) {
ErrorF("No main linux-dmabuf device advertised by compositor\n");
return FALSE;
}
if (!(main_dev->available_nodes & (1 << DRM_NODE_RENDER))) {
ErrorF("Main linux-dmabuf device has no render node\n");
return FALSE;
......
......@@ -1351,6 +1351,9 @@ xwl_window_update_surface_window(struct xwl_window *xwl_window)
if (!RegionEqual(&window->winSize, &surface_window->winSize))
break;
if (!window->mapped)
break;
/* The surface window must be top-level for its window pixmap */
window_pixmap = screen->GetWindowPixmap(window);
if (window_pixmap == surface_pixmap)
......@@ -1365,6 +1368,9 @@ xwl_window_update_surface_window(struct xwl_window *xwl_window)
if (window->drawable.depth == 32)
continue;
if (window->redirectDraw == RedirectDrawManual)
break;
surface_window = window;
}
......
......@@ -29,13 +29,6 @@
#include "xkbstr.h"
/***====================================================================***/
#define XkbXKMFile 0
#define XkbCFile 1
#define XkbXKBFile 2
#define XkbMessage 3
typedef void (*XkbFileAddOnFunc) (FILE * /* file */ ,
XkbDescPtr /* result */ ,
Bool /* topLevel */ ,
......@@ -78,84 +71,6 @@ typedef void (*XkbFileAddOnFunc) (FILE * /* file */ ,
_XFUNCPROTOBEGIN
extern _X_EXPORT char *XkbIndentText(unsigned /* size */
);
extern _X_EXPORT char *XkbAtomText(Atom /* atm */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbKeysymText(KeySym /* sym */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbStringText(char * /* str */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbKeyNameText(char * /* name */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbModIndexText(unsigned /* ndx */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbModMaskText(unsigned /* mask */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbVModIndexText(XkbDescPtr /* xkb */ ,
unsigned /* ndx */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbVModMaskText(XkbDescPtr /* xkb */ ,
unsigned /* modMask */ ,
unsigned /* mask */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbConfigText(unsigned /* config */ ,
unsigned /* format */
);
extern _X_EXPORT const char *XkbSIMatchText(unsigned /* type */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbIMWhichStateMaskText(unsigned /* use_which */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbControlsMaskText(unsigned /* ctrls */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbGeomFPText(int /* val */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbDoodadTypeText(unsigned /* type */ ,
unsigned /* format */
);
extern _X_EXPORT const char *XkbActionTypeText(unsigned /* type */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbActionText(XkbDescPtr /* xkb */ ,
XkbAction * /* action */ ,
unsigned /* format */
);
extern _X_EXPORT char *XkbBehaviorText(XkbDescPtr /* xkb */ ,
XkbBehavior * /* behavior */ ,
unsigned /* format */
);
/***====================================================================***/
#define _XkbKSLower (1<<0)
#define _XkbKSUpper (1<<1)
......
......@@ -60,6 +60,7 @@ SOFTWARE.
#include <limits.h>
#include <stddef.h>
#include <X11/Xos.h>
#include <X11/Xmd.h>
/* If EAGAIN and EWOULDBLOCK are distinct errno values, then we check errno
* for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX
......
......@@ -16,11 +16,18 @@ hdrs_present = [
'presentext.h',
]
if host_machine.system() in ['freebsd', 'openbsd']
epoll_dep = dependency('epoll-shim')
else
epoll_dep = []
endif
libxserver_present = static_library('libxserver_present',
srcs_present,
include_directories: inc,
dependencies: [
common_dep,
epoll_dep,
dependency('presentproto', version: '>= 1.2')
],
)
......
......@@ -75,13 +75,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
#endif
#endif
#define MAX_TOC 16
typedef struct _SrvXkmInfo {
DeviceIntPtr dev;
FILE *file;
XkbDescPtr xkb;
} SrvXkmInfo;
/***====================================================================***/
#ifndef XKB_DFLT_RULES_PROP
......
......@@ -32,11 +32,13 @@
#include <ctype.h>
#include <stdlib.h>
#include <X11/Xfuncs.h>
#include <X11/X.h>
#include <X11/keysym.h>
#include <X11/Xproto.h>
#include <X11/extensions/XKMformat.h>
#include "xkb/xkbtext_priv.h"
#include "misc.h"
#include "inputstr.h"
#include "dix.h"
......
......@@ -31,12 +31,13 @@
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <X11/Xos.h>
#include <X11/X.h>
#include <X11/Xproto.h>
#include <X11/extensions/XKMformat.h>
#include "xkb/xkbtext_priv.h"
#include "misc.h"
#include "inputstr.h"
#include "dix.h"
......
/* SPDX-License-Identifier: MIT OR X11
*
* Copyright © 2024 Enrico Weigelt, metux IT consult <info@metux.net>
*/
#ifndef _XSERVER_XKB_XKBTEXT_PRIV_H
#define _XSERVER_XKB_XKBTEXt_PRIV_H
#include <X11/X.h>
#include "xkbstr.h"
#define XkbXKMFile 0
#define XkbCFile 1
#define XkbXKBFile 2
#define XkbMessage 3
char *XkbIndentText(unsigned size);
char *XkbAtomText(Atom atm, unsigned format);
char *XkbKeysymText(KeySym sym, unsigned format);
char *XkbStringText(char *str, unsigned format);
char *XkbKeyNameText(char *name, unsigned format);
char *XkbModIndexText(unsigned ndx, unsigned format);
char *XkbModMaskText(unsigned mask, unsigned format);
char *XkbVModIndexText(XkbDescPtr xkb, unsigned ndx, unsigned format);
char *XkbVModMaskText(XkbDescPtr xkb, unsigned modMask, unsigned mask,
unsigned format);
char *XkbConfigText(unsigned config, unsigned format);
const char *XkbSIMatchText(unsigned type, unsigned format);
char *XkbIMWhichStateMaskText(unsigned use_which, unsigned format);
char *XkbControlsMaskText(unsigned ctrls, unsigned format);
char *XkbGeomFPText(int val, unsigned format);
char *XkbDoodadTypeText(unsigned type, unsigned format);
const char *XkbActionTypeText(unsigned type, unsigned format);
char *XkbActionText(XkbDescPtr xkb, XkbAction *action, unsigned format);
char *XkbBehaviorText(XkbDescPtr xkb, XkbBehavior *behavior, unsigned format);
#endif /* _XSERVER_XKB_XKBTEXT_PRIV_H */