From d27b05a472c6f4eae961bfe8fb4af4ea0f08ec35 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Tue, 20 Feb 2018 18:59:27 +0100 Subject: [PATCH] - added missing patch (missing legacy protos files from git) - added make patch (fix Makefile typo that broke xcalibrate headers installation) - release 4 (max from xorg-proto-*proto-devel + 1) --- xorg-proto-xorgproto.spec | 51 +- xorgproto-make.patch | 11 + xorgproto-missing.patch | 1226 +++++++++++++++++++++++++++++++++++++ 3 files changed, 1284 insertions(+), 4 deletions(-) create mode 100644 xorgproto-make.patch create mode 100644 xorgproto-missing.patch diff --git a/xorg-proto-xorgproto.spec b/xorg-proto-xorgproto.spec index e87068b..66ff16a 100644 --- a/xorg-proto-xorgproto.spec +++ b/xorg-proto-xorgproto.spec @@ -1,3 +1,7 @@ +# NOTE: +# when updating spec, adjust particular proto versions +# and bump release (unless all versions are increased) + # whole package version %define ver 2018.2 # subpackage versions (see .pc files) # last standalone spec EVR as comment @@ -47,12 +51,16 @@ Summary: Header files of X Window System Unified Protocol Summary(pl.UTF-8): Pliki nagłówkowe zunifikowanego protokołu systemu X Window Name: xorg-proto-xorgproto Version: 2018.2 -# bump release on updates unless all subpackage versions are increased! +# bump release on updates unless ALL subpackage versions are increased! Release: 4 License: MIT Group: X11/Development/Libraries Source0: https://xorg.freedesktop.org/releases/individual/proto/xorgproto-%{ver}.tar.bz2 # Source0-md5: 490677ddbc649b177eda7ddb8d3e2074 +# from git://anongit.freedesktop.org/xorg/proto/xorgproto, missing man/ and include/X11/extensions/ files +# TODO: specs/ dir, but there are no build rules for processing XML +Patch0: xorgproto-missing.patch +Patch1: xorgproto-make.patch URL: https://xorg.freedesktop.org/ BuildRequires: autoconf >= 2.60 BuildRequires: automake @@ -436,6 +444,20 @@ Pliki nagłówkowe rozszerzenia WindowsWM udostępniają definicję rozszerzenia WindowsWM do protokołu X11, służącego do współpracy między serwerem X11 a natywnym zarządcą okien Microsoft Windows. +%package -n xorg-proto-xcalibrateproto-devel +Summary: XCalibrate extension headers +Summary(pl.UTF-8): Pliki nagłówkowe rozszerzenia XCalibrate +Version: %{xcalibrate_ver} +Group: X11/Development/Libraries +# just for dirs +Requires: xorg-proto-xproto-devel = %{x_ver}-%{release} + +%description -n xorg-proto-xcalibrateproto-devel +XCalibrate extension headers. + +%description -n xorg-proto-xcalibrateproto-devel -l pl.UTF-8 +Pliki nagłówkowe rozszerzenia XCalibrate. + %package -n xorg-proto-xcmiscproto-devel Summary: XCMisc extension headers Summary(pl.UTF-8): Pliki nagłówkowe rozszerzenia XCMisc @@ -525,6 +547,7 @@ Pliki nagłówkowe rozszerzenia XF86DGA. %package -n xorg-proto-xf86driproto-devel Summary: XF86DRI extension headers Summary(pl.UTF-8): Pliki nagłówkowe rozszerzenia XF86DRI +Version: %{xf86dri_ver} Group: X11/Development/Libraries Requires: libdrm-devel Requires: xorg-proto-xproto-devel = %{x_ver}-%{release} @@ -643,6 +666,8 @@ usługi proxy. %prep %setup -q -n xorgproto-%{ver} +%patch0 -p1 +%patch1 -p1 %build %{__aclocal} @@ -654,7 +679,6 @@ usługi proxy. --build=%{_host} \ %endif %{?with_legacy:--enable-legacy} \ - --disable-specs \ --without-fop %{__make} @@ -670,6 +694,9 @@ rm -rf $RPM_BUILD_ROOT %{__rm} $RPM_BUILD_ROOT%{_npkgconfigdir}/{applewmproto,windowswmproto}.pc %endif +# packaged as %doc +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/xorgproto + %clean rm -rf $RPM_BUILD_ROOT @@ -684,6 +711,7 @@ rm -rf $RPM_BUILD_ROOT %files -n xorg-proto-bigreqsproto-devel %defattr(644,root,root,755) %doc COPYING-bigreqsproto +# specs/bigreq.html %{_includedir}/X11/extensions/bigreqs*.h %{_npkgconfigdir}/bigreqsproto.pc @@ -736,13 +764,14 @@ rm -rf $RPM_BUILD_ROOT %files -n xorg-proto-fontcacheproto-devel %defattr(644,root,root,755) %doc COPYING-fontcacheproto -%{_includedir}/X11/extensions/fontcache*.h +%{_includedir}/X11/extensions/fontcach*.h %{_npkgconfigdir}/fontcacheproto.pc %endif %files -n xorg-proto-fontsproto-devel %defattr(644,root,root,755) %doc COPYING-fontsproto +# specs/fsproto.html %dir %{_includedir}/X11/fonts %{_includedir}/X11/fonts/FS.h %{_includedir}/X11/fonts/FSproto.h @@ -766,6 +795,7 @@ rm -rf $RPM_BUILD_ROOT %files -n xorg-proto-inputproto-devel %defattr(644,root,root,755) %doc COPYING-inputproto +# specs/{XIproto.txt,XI2proto.txt} %{_includedir}/X11/extensions/XI.h %{_includedir}/X11/extensions/XIproto.h %{_includedir}/X11/extensions/XI2.h @@ -775,6 +805,7 @@ rm -rf $RPM_BUILD_ROOT %files -n xorg-proto-kbproto-devel %defattr(644,root,root,755) %doc COPYING-kbproto +# specs/{XKBproto-*.svg,xkbproto.html} %{_includedir}/X11/extensions/XKB.h %{_includedir}/X11/extensions/XKBgeom.h %{_includedir}/X11/extensions/XKBproto.h @@ -802,6 +833,7 @@ rm -rf $RPM_BUILD_ROOT %doc COPYING-printproto %{_includedir}/X11/extensions/Print*.h %{_npkgconfigdir}/printproto.pc +%{_mandir}/man7/Xprint.7* %endif %files -n xorg-proto-randrproto-devel @@ -813,6 +845,7 @@ rm -rf $RPM_BUILD_ROOT %files -n xorg-proto-recordproto-devel %defattr(644,root,root,755) %doc COPYING-recordproto +# specs/record.html %{_includedir}/X11/extensions/record*.h %{_npkgconfigdir}/recordproto.pc @@ -831,6 +864,7 @@ rm -rf $RPM_BUILD_ROOT %files -n xorg-proto-scrnsaverproto-devel %defattr(644,root,root,755) %doc COPYING-scrnsaverproto +# specs/saver.html %{_includedir}/X11/extensions/saver*.h %{_npkgconfigdir}/scrnsaverproto.pc @@ -858,15 +892,24 @@ rm -rf $RPM_BUILD_ROOT %{_npkgconfigdir}/windowswmproto.pc %endif +%if %{with legacy} +%files -n xorg-proto-xcalibrateproto-devel +%defattr(644,root,root,755) +%{_includedir}/X11/extensions/xcalibrate*.h +%{_npkgconfigdir}/xcalibrateproto.pc +%endif + %files -n xorg-proto-xcmiscproto-devel %defattr(644,root,root,755) %doc COPYING-xcmiscproto +# specs/xc-misc.html %{_includedir}/X11/extensions/xcmisc*.h %{_npkgconfigdir}/xcmiscproto.pc %files -n xorg-proto-xextproto-devel %defattr(644,root,root,755) %doc COPYING-xextproto +# specs/{dbe,dpms,evi,geproto,lbx,multibuf,security,shape,shm,sync,tog-cup,xtest}.html %{_includedir}/X11/extensions/EVI*.h %{_includedir}/X11/extensions/ag*.h %{_includedir}/X11/extensions/cup*.h @@ -932,7 +975,7 @@ rm -rf $RPM_BUILD_ROOT %files -n xorg-proto-xproto-devel %defattr(644,root,root,755) %doc AUTHORS COPYING-x11proto README -# specs/*.html specs/SIAddresses/{IPv6,hostname,localuser}.txt +# specs/x11protocol.html specs/SIAddresses/{IPv6,hostname,localuser}.txt %{_includedir}/X11/DECkeysym.h %{_includedir}/X11/HPkeysym.h %{_includedir}/X11/Sunkeysym.h diff --git a/xorgproto-make.patch b/xorgproto-make.patch new file mode 100644 index 0000000..aa7ded2 --- /dev/null +++ b/xorgproto-make.patch @@ -0,0 +1,11 @@ +--- xorgproto-2018.2/Makefile.am.orig 2018-02-12 17:18:57.000000000 +0100 ++++ xorgproto-2018.2/Makefile.am 2018-02-20 16:07:57.395032824 +0100 +@@ -16,7 +16,7 @@ + + if LEGACY + XCalibrateincludedir = $(includedir)/X11/extensions +-XCalibrateinclude_HEADERS = ++XCalibrateinclude_HEADERS = \ + include/X11/extensions/xcalibrateproto.h \ + include/X11/extensions/xcalibratewire.h + diff --git a/xorgproto-missing.patch b/xorgproto-missing.patch new file mode 100644 index 0000000..e76b3cb --- /dev/null +++ b/xorgproto-missing.patch @@ -0,0 +1,1226 @@ +diff -Nur xorgproto/man.orig/Xprint.man xorgproto/man/Xprint.man +--- xorgproto/man.orig/Xprint.man 1970-01-01 01:00:00.000000000 +0100 ++++ xorgproto/man/Xprint.man 2018-02-20 15:29:03.205059476 +0100 +@@ -0,0 +1,421 @@ ++.\" -*- coding: us-ascii -*- ++.TH Xprint __miscmansuffix__ "8 October 2004" ++.SH NAME ++Xprint \- The "X print service" - a portable, network-transparent printing system based on the X11 protocol ++.SH SYNOPSIS ++Xprint is a very flexible, extensible, scaleable, client/server ++print system based on ISO 10175 (and some other specs) and the X11 ++rendering protocol. ++Using Xprint an application can search, query and use devices like ++printers, FAX machines or create documents in formats like PDF. ++In particular, an application can seek a printer, query supported ++attributes (like paper size, trays, fonts etc.), configure the printer ++device to match it\(cqs needs and print on it like on any other X device ++reusing parts of the code which is used for the video card Xserver. ++.SH OVERVIEW ++The "X Print Service" technology allows X rendering to devices such as ++printers and fax. Most of the service is available in the X11 ++technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE). ++Modifications have also been made to the LessTif/Motif/Qt technology ++stacks to support Xprint. ++.PP ++The Xp portion consists of: ++.TP 0.2i ++\(bu ++Xp Extension for the X-Server (included in the X-Server Xprt) ++.TP 0.2i ++\(bu ++Xp Extension API for the client side (libXp/libXprintUtils) ++.TP 0.2i ++\(bu ++PCL ddx driver that converts core X to native PCL ++.TP 0.2i ++\(bu ++PDF ddx driver that converts core X to native PDF ++.TP 0.2i ++\(bu ++PostScript ddx driver that converts core X to native PostScript ++.TP 0.2i ++\(bu ++Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters ++.PP ++.PP ++From an X clients perspective, it can attach to one of two nearly ++identical X-Servers, a "Video" X-Server, and a "Print" X-Server ++which has the additional Xp capability but otherwise looks and ++behaves the same. ++.SH "HOW THE X PRINT SERVICE WORKS" ++The X Print Service expands on the traditional X-Server and Xlib world ++in four ways. ++.TP 0.4i ++1. ++Most obvious is the use of "print ddx drivers" instead of ++"video ddx drivers". While a video ddx driver modifies pixels ++in a video frame buffer, a print ddx driver generates "page ++description language (PDL)" output (such as PCL, PDF or PostScript) ++or sends the print rendering instructions to a platform-specific ++print API (like Win32/GDI). ++ ++Once a print ddx driver generates PDL output, it can be sent to ++a spooler such as \fBlp\fR(1) ++or retrieved by the client (to implement functionality like "print-to-file"). ++ ++Though not currently done, a single X-Server can support both ++print and video ddx drivers. ++.TP 0.4i ++2. ++Since printers support "paged" output, unlike video, a portion ++of the Xp Extension supports APIs to delineate printed output. ++For example, XpStartPage and XpEndPage tell the X-Server where ++a physical page starts and ends in an otherwise continuous ++stream of X rendering primitives. Likewise, XpStartJob and ++XpEndJob determine when a collection of pages starts and ends. ++XpEndJob typically causes the generated PDL to be submitted to ++a spooler, such as \fBlp\fR(1). ++.TP 0.4i ++3. ++Since printers have extensive capabilities, another portion of ++the Xp Extension supports APIs to manipulate "print contexts". ++ ++Once a printer is selected using the Xp Extension API, a print ++context to represent it can be created. A print context ++embodies the printer selected - it contains the printer's ++default capabilities, selectable range of capabilities, ++printer state, and generated output. Some "attributes" within ++the print context can be modified by the user, and the ++X-Server and print ddx driver will react accordingly. For ++example, the attribute "content-orientation" can be set to ++"landscape" or "portrait" (if the printer supports these ++values - which can be queried using the Xprint API as well). ++.TP 0.4i ++4. ++Since printers can have "built in" fonts, the Xp Extension in ++the X-Server works with the print ddx drivers to make ++available (for printing only) additional fonts on a per print ++context basis. ++ ++When a print context is created and set for a given printer, ++the X font calls may be able to access additional printer ++fonts. To do this (typically), the X-Server must have access ++to "printer metric files" (.pmf) that describe at minimum the ++metrics of the built in fonts. ++.PP ++.SH USAGE ++There are three tasks to start the X Print Service: ++.TP 0.4i ++1. ++configuring the X Print Server, ++.TP 0.4i ++2. ++starting the X Print Service ++.TP 0.4i ++3. ++configuring the user session so that clients can find the running X Print Service ++.PP ++.PP ++The tasks are described in detail below. ++.SH "SERVER CONFIGURATION" ++The X Print Server (Xprt) can read a number of configuration files which ++control its behavior and support for printers. Each vendor platform has ++a default location for this information. Xprt can also read the ++environment variable \fBXPCONFIGDIR\fR to locate alternate configuration ++directories. Common settings include: ++ ++export XPCONFIGDIR=/X11/lib/X11/XpConfig/ ++.PP ++export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/ ++ ++.PP ++Xprt has many built-in defaults, and lacking any configuration files, ++will immediately try to support all printers visible via \fBlpstat\fR(1). ++.PP ++In order of importance for configuration by a system administrator, the ++configuration files for a "C" locale are as follows (see \fBXprt\fR(__appmansuffix__) for more ++details (including support for non-"C" locales)): ++.TP ++\fB${XPCONFIGDIR}/C/print/Xprinters\fR ++\&'Xprinters' is the top most configuration file. It tells ++Xprt which specific printer names (e.g. mylaser) should ++be supported, and whether \fBlpstat\fR(1) or other commands ++should be used to automatically supplement the list of ++printers. ++.TP ++\fB${XPCONFIGDIR}/C/print/attributes/printer\fR ++The 'printer' file maps printer names to model ++configurations (see 'model-config' below). For example, ++"mylaser" could be mapped to a "HPDJ1600C", and all other ++arbitrary printers could be mapped to a default, such as ++"HPLJ4SI". When depending on \fBlpstat\fR(1) in the Xprinters ++file, setting up defaults in 'printer' becomes all the ++more important. ++.TP ++\fB${XPCONFIGDIR}/C/print/attributes/document\fR ++The 'document' file specifies the initial document values ++for any print jobs. For example, which paper tray to ++use, what default resolution, etc. ++.TP ++\fB${XPCONFIGDIR}/C/print/attributes/job\fR ++The 'job' file specifies the initial job values for any ++print jobs. For example, "notification-profile" can be ++set so that when a print job is successfully sent to a ++printer, e-mail is sent to the user. ++.TP ++\fB${XPCONFIGDIR}/C/print/models/PSdefault/model\-config\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf\fR, \fB${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf\fR ++The 'model-config' file has attributes that describe the ++printer model\(cqs capabilities and default settings. ++Printer model fonts may also be present. The model-config ++file also identifies the print ddx driver to be used. ++For each printer model supported, a complete hierarchy of ++files should exist. In most cases, these files do not ++need to be modified. ++.TP ++\fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pcl\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/pdf\fR, \fB${XPCONFIGDIR}/C/print/ddx\-config/raster/postscript\fR ++The print ddx drivers can have highly specific ++configuration files to control their behavior. In most ++cases, these files do not need to be modified. ++.PP ++More information in how to configure and customize the X print server can be found in the ++\fBXprt\fR(__appmansuffix__) ++manual page. ++.SH "STARTING UP" ++The summary checklist for starting the X Print Service is as follows: ++.TP 0.4i ++1. ++Choose an execution model for the X Print Service. The X ++Print Service can be run on a per-user session basis, per ++machine basis, or can be run on a few machines globally ++available to a number of users. ++.TP 0.4i ++2. ++If print jobs are to be submitted to a spooler (almost always ++the case), make sure all needed printers are available to the ++spooler subsystem (most often \fBlp\fR(1)) ++on the same machine running the X Print Service. ++.TP 0.4i ++3. ++Configure the X Print Server. See ``X Print Server ++Configuration''. ++.TP 0.4i ++4. ++Depending on #1, start the X Print Server process "Xprt", and ++then the toolkit-specific Print Dialog Manager Daemon process ++(such as CDEnext's "dtpdmd") at the appropriate times. ++Note that libXprintUtils-based applications/toolkits do not need ++a Print Dialog Manager Daemon process to use Xprint. ++.PP ++The details are described below. ++.PP ++Because the X Print Service is based on X, it can be easily distributed. ++The most significant factors in which execution model to choose will be ++driven by: ++.TP 0.2i ++\(bu ++how many printers will be accessable through the printer ++subsystem on any given machine. A system administrator may ++choose to cluster printers on a few given machines, or ++scatter them across an organization and possibly make ++extensive use of remote spoolers to make them globally ++available. ++.TP 0.2i ++\(bu ++how many machines will need a copy of the X Print Server ++configuration files. The files have been architected so ++that one super-set version of them can be maintained and ++distributed (e.g. via NFS), and a per-machine or per-user ++version of the `Xprinters' is all that is needed to have the ++appropriate information in them utilized or ignored. ++.TP 0.2i ++\(bu ++how many users can demand services from a given X Print ++Service. ++.PP ++With the above in mind, some obvious execution models include: ++.TP 0.2i ++\(bu ++Global - in this model, the system administrator is choosing ++to run the X Print Service on a *few* select machines with ++appropriate printers configured, and allow clients access to ++the global resource. This can centralize the administration ++of printers and configuration files, but may have to be ++monitored for performance loading. ++ ++Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR). ++.TP 0.2i ++\(bu ++Per-machine - every machine with potential X Print Service ++users would run the service. Printer and configuration file ++administration is decentralized, and usage would be limited ++to the users on the machine. ++ ++Startup would likely be done by boot-up scripts (such as \fB/etc/init.d/xprint\fR). ++.TP 0.2i ++\(bu ++Per-user session - every user would run an entire X Print ++Service for themselves. In the future, the Video X Server ++normally started may contain Print X Server capability, so ++this model becomes very natural. ++ ++Startup would likely be done at session login or by ++launching actions or processes manually once the user ++logs in. Note: Deamons like "dtpdmd" must be started after Xprt. ++.PP ++.PP ++Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage): ++.TP 0.4i ++1. ++ ++.nf ++[machineA] % Xprt [\-XpFile ] [:dispNum] & ++.fi ++ ++ ++Note that Xprt will look for configuration files in either ++a default location or where \fBXPCONFIGDIR\fR points. ++ ++\fB\-XpFile\fR specifies an alternate `Xprinters' file, rather ++than the default one or `\fB${XPCONFIGDIR}/C/print/Xprinters\fR'. ++.TP 0.4i ++2. ++ ++.nf ++[machineA] % dtpdmd \-d machineA[:dispNum] [\-l /tmp/dtpdmd.log] & ++.fi ++ ++ ++The dtpdmd will maintain an X-Selection on the X-Server, ++and will start dtpdm's as required to service requests. ++.PP ++.PP ++In all but the per-user session model, the machine running the dtpdmd ++(thus dtpdm's) will need display authorization to the users video ++display. ++.SH "CLIENT CONFIGURATION" ++Once a X Print Server and dtpdmd have been started -- many of them ++in some cases -- clients will need to find and use them. There are ++two mechanisms that allow clients to discover X Print Servers and ++printers. ++.TP 0.2i ++\(bu ++"X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print ++applications, the following notation is understood: ++ ++ ++.nf ++printer_name@machine[:dispNum] ++.fi ++ ++ ++For example: ++ ++ ++.nf ++colorlj7@printhub:2 ++.fi ++ ++ ++In the above example, the X Print Server running at `printhub:2' ++is assumed to support the printer named `colorlj7'. ++.TP 0.2i ++\(bu ++\fB${XPSERVERLIST}\fR - assuming usage of the DtPrint print dialogs, ++the environment variable \fB${XPSERVERLIST}\fR can contain a list ++of X Print Servers. For example: ++ ++ ++.nf ++XPSERVERLIST="printhub:2 printhub:3 otherdept:0" ++.fi ++ ++ ++Then in the dialogs, only a printer name needs to be entered. ++The dialog will then search the X Print Servers in \fB${XPSERVERLIST}\fR ++for a server than supports the printer, and then establish ++contact. ++.PP ++.SH "END-USER SEQUENCE" ++From most CDEnext applications, printing is accomplished by bringing ++down the menu and selecting . This will result in ++the DtPrintSetupBox dialog, which will request the name of a printer, ++and offer limited capability to configure print options (e.g. number ++of copies). If the user wishes, they can select , which ++will start a dtpdm capable of modifying additional print options. ++Finally, the user should select . ++.SH ENVIRONMENT ++.TP ++\fB${XPCONFIGDIR}\fR ++This environment variable points to the root ++of the Xprint server configuration directory hierarchy. ++If the variable is not defined, the default ++path is be assumed. The default path may be ++\fB/usr/X11R6/lib/X11/xserver/\fR, ++\fB/usr/lib/X11/xserver/\fR, ++\fB/usr/share/Xprint/xserver/\fR or ++\fB/usr/openwin/server/etc/XpConfig\fR, depending on the ++system, and may be configured in \fB/etc/init.d/xprint\fR. ++.TP ++\fB${LANG}\fR ++This environment variable selects the locale settings used by the Xprint server. ++Xprt allows language-specific settings (stored in \fB${XPCONFIGDIR}/${LANG}/print/\fR) ++which will override the default settings (stored in \fB${XPCONFIGDIR}/C/print/\fR). ++If \fB${LANG}\fR is not set "C" is assumed. ++.TP ++\fB${XPSERVERLIST}\fR ++The environment variable \fB${XPSERVERLIST}\fR contains a list ++of display identifiers (separated by whitespace) which tell an ++application where it can find the Xprint servers. Usually ++\fB${XPSERVERLIST}\fR is set by the profile startup scripts (e.g. ++\fB/etc/profile\fR or \fB/etc/profile.d/xprint.sh\fR) using the output of ++\fB/etc/init.d/xprint get_xpserverlist\fR. ++ ++Example: ++ ++.nf ++ ++ export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`" ++.fi ++ ++ ++Alternatively \fB${XPSERVERLIST}\fR can be set ++manually. Example: ++ ++.nf ++ ++ export XPSERVERLIST="littlecat:80 bitdog:72" ++.fi ++ ++instructs an application to find an Xprint server at display ++80 on the machine "littlecat" and at display 72 on the ++machine bigdog. ++.TP ++\fB${XPRINTER}\fR ++The environment variable \fB${XPRINTER}\fR ++defines the default printer used by print ++applications. The syntax is either ++\fIprintername\fR or ++\fIprintername\fR@\fIdisplay\fR. ++ ++Examples: ++.RS ++.TP ++\fBXPRINTER=ps003\fR ++tells an application to look for the ++first printer named "ps003" on all Xprint ++servers. ++.TP ++\fBXPRINTER=hplaser19@littlecat:80\fR ++tells an application to use the printer "hplaser19" ++on the Xprint server at display ++"littlecat:80". ++.RE ++ ++ ++If \fB${XPRINTER}\fR is not set the applications ++will examine the values of the \fB${PDPRINTER}\fR, ++\fB${LPDEST}\fR, and ++\fB${PRINTER}\fR environment variables (in that order). ++.SH "SEE ALSO" ++\fBX11\fR(__miscmansuffix__), \fBxplsprinters\fR(__appmansuffix__), \fBxprehashprinterlist\fR(__appmansuffix__), \fBxphelloworld\fR(__appmansuffix__), \fBxpxmhelloworld\fR(__appmansuffix__), \fBxpawhelloworld\fR(__appmansuffix__), \fBxpxthelloworld\fR(__appmansuffix__), \fBxpsimplehelloworld\fR(__appmansuffix__), \fBXserver\fR(__appmansuffix__), \fBXprt\fR(__appmansuffix__), \fBlibXp\fR(__libmansuffix__), \fBlibXprintUtils\fR(__libmansuffix__), \fBlibXprintAppUtils\fR(__libmansuffix__), \fBXmPrintShell\fR(__libmansuffix__), \fBXawPrintShell\fR(__libmansuffix__), Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html), Xprint main site (http://xprint.mozdev.org/) ++.SH AUTHORS ++This manual page was written by ++Roland Mainz based on the original X11R6.6 ++\fBxc/programs/Xserver/XpConfig/README\fR. +diff -Nur xorgproto/man.orig/Xprint.sgml xorgproto/man/Xprint.sgml +--- xorgproto/man.orig/Xprint.sgml 1970-01-01 01:00:00.000000000 +0100 ++++ xorgproto/man/Xprint.sgml 2018-02-20 15:29:03.205059476 +0100 +@@ -0,0 +1,627 @@ ++ ++ ++ ++ ++ ++ ++ Xprint ++ __miscmansuffix__ ++ ++ ++ Xprint ++ ++ The "X print service" - a portable, network-transparent printing system based on the X11 protocol ++ ++ ++ Xprint is a very flexible, extensible, scaleable, client/server ++ print system based on ISO 10175 (and some other specs) and the X11 ++ rendering protocol. ++ Using Xprint an application can search, query and use devices like ++ printers, FAX machines or create documents in formats like PDF. ++ In particular, an application can seek a printer, query supported ++ attributes (like paper size, trays, fonts etc.), configure the printer ++ device to match it’s needs and print on it like on any other X device ++ reusing parts of the code which is used for the video card Xserver. ++ ++ ++ ++ ++ OVERVIEW ++ ++ The "X Print Service" technology allows X rendering to devices such as ++ printers and fax. Most of the service is available in the X11 ++ technology stack as Xp, with the remainder in single toolkit stacks (e.g. DtPrint for CDE). ++ Modifications have also been made to the LessTif/Motif/Qt technology ++ stacks to support Xprint. ++ ++ ++ The Xp portion consists of: ++ ++ Xp Extension for the X-Server (included in the X-Server Xprt) ++ Xp Extension API for the client side (libXp/libXprintUtils) ++ PCL ddx driver that converts core X to native PCL ++ PDF ddx driver that converts core X to native PDF ++ PostScript ddx driver that converts core X to native PostScript ++ Raster ddx driver that generates xwd rasters which can be converted to PCL, PDF or PostScript rasters ++ ++ ++ ++ From an X clients perspective, it can attach to one of two nearly ++ identical X-Servers, a "Video" X-Server, and a "Print" X-Server ++ which has the additional Xp capability but otherwise looks and ++ behaves the same. ++ ++ ++ ++ ++ HOW THE X PRINT SERVICE WORKS ++ ++ The X Print Service expands on the traditional X-Server and Xlib world ++ in four ways. ++ ++ ++ ++ ++ Most obvious is the use of "print ddx drivers" instead of ++ "video ddx drivers". While a video ddx driver modifies pixels ++ in a video frame buffer, a print ddx driver generates "page ++ description language (PDL)" output (such as PCL, PDF or PostScript) ++ or sends the print rendering instructions to a platform-specific ++ print API (like Win32/GDI). ++ ++ ++ Once a print ddx driver generates PDL output, it can be sent to ++ a spooler such as lp1 ++ or retrieved by the client (to implement functionality like "print-to-file"). ++ ++ ++ Though not currently done, a single X-Server can support both ++ print and video ddx drivers. ++ ++ ++ ++ ++ ++ Since printers support "paged" output, unlike video, a portion ++ of the Xp Extension supports APIs to delineate printed output. ++ For example, XpStartPage and XpEndPage tell the X-Server where ++ a physical page starts and ends in an otherwise continuous ++ stream of X rendering primitives. Likewise, XpStartJob and ++ XpEndJob determine when a collection of pages starts and ends. ++ XpEndJob typically causes the generated PDL to be submitted to ++ a spooler, such as lp1. ++ ++ ++ ++ ++ Since printers have extensive capabilities, another portion of ++ the Xp Extension supports APIs to manipulate "print contexts". ++ ++ ++ Once a printer is selected using the Xp Extension API, a print ++ context to represent it can be created. A print context ++ embodies the printer selected - it contains the printer's ++ default capabilities, selectable range of capabilities, ++ printer state, and generated output. Some "attributes" within ++ the print context can be modified by the user, and the ++ X-Server and print ddx driver will react accordingly. For ++ example, the attribute "content-orientation" can be set to ++ "landscape" or "portrait" (if the printer supports these ++ values - which can be queried using the Xprint API as well). ++ ++ ++ ++ ++ Since printers can have "built in" fonts, the Xp Extension in ++ the X-Server works with the print ddx drivers to make ++ available (for printing only) additional fonts on a per print ++ context basis. ++ ++ ++ When a print context is created and set for a given printer, ++ the X font calls may be able to access additional printer ++ fonts. To do this (typically), the X-Server must have access ++ to "printer metric files" (.pmf) that describe at minimum the ++ metrics of the built in fonts. ++ ++ ++ ++ ++ ++ ++ ++ USAGE ++ ++ There are three tasks to start the X Print Service: ++ ++ configuring the X Print Server, ++ starting the X Print Service ++ configuring the user session so that clients can find the running X Print Service ++ ++ ++ ++ The tasks are described in detail below. ++ ++ ++ ++ ++ SERVER CONFIGURATION ++ ++ The X Print Server (Xprt) can read a number of configuration files which ++ control its behavior and support for printers. Each vendor platform has ++ a default location for this information. Xprt can also read the ++ environment variable XPCONFIGDIR to locate alternate configuration ++ directories. Common settings include: ++ ++ ++ export XPCONFIGDIR=/X11/lib/X11/XpConfig/ ++ export XPCONFIGDIR=/proj/x11/xc/programs/Xserver/XpConfig/ ++ ++ ++ ++ Xprt has many built-in defaults, and lacking any configuration files, ++ will immediately try to support all printers visible via lpstat1. ++ ++ ++ In order of importance for configuration by a system administrator, the ++ configuration files for a "C" locale are as follows (see Xprt__appmansuffix__ for more ++ details (including support for non-"C" locales)): ++ ++ ++ ${XPCONFIGDIR}/C/print/Xprinters ++ ++ ++ 'Xprinters' is the top most configuration file. It tells ++ Xprt which specific printer names (e.g. mylaser) should ++ be supported, and whether lpstat1 or other commands ++ should be used to automatically supplement the list of ++ printers. ++ ++ ++ ++ ++ ++ ${XPCONFIGDIR}/C/print/attributes/printer ++ ++ ++ The 'printer' file maps printer names to model ++ configurations (see 'model-config' below). For example, ++ "mylaser" could be mapped to a "HPDJ1600C", and all other ++ arbitrary printers could be mapped to a default, such as ++ "HPLJ4SI". When depending on lpstat1 in the Xprinters ++ file, setting up defaults in 'printer' becomes all the ++ more important. ++ ++ ++ ++ ++ ++ ${XPCONFIGDIR}/C/print/attributes/document ++ ++ ++ The 'document' file specifies the initial document values ++ for any print jobs. For example, which paper tray to ++ use, what default resolution, etc. ++ ++ ++ ++ ++ ++ ${XPCONFIGDIR}/C/print/attributes/job ++ ++ ++ The 'job' file specifies the initial job values for any ++ print jobs. For example, "notification-profile" can be ++ set so that when a print job is successfully sent to a ++ printer, e-mail is sent to the user. ++ ++ ++ ++ ++ ++ ${XPCONFIGDIR}/C/print/models/PSdefault/model-config ++ ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/fonts.dir ++ ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00051.pmf ++ ${XPCONFIGDIR}/C/print/models/PSdefault/fonts/9nb00093.pmf ++ ++ ++ ++ The 'model-config' file has attributes that describe the ++ printer model’s capabilities and default settings. ++ Printer model fonts may also be present. The model-config ++ file also identifies the print ddx driver to be used. ++ ++ For each printer model supported, a complete hierarchy of ++ files should exist. In most cases, these files do not ++ need to be modified. ++ ++ ++ ++ ++ ++ ${XPCONFIGDIR}/C/print/ddx-config/raster/pcl ++ ${XPCONFIGDIR}/C/print/ddx-config/raster/pdf ++ ${XPCONFIGDIR}/C/print/ddx-config/raster/postscript ++ ++ ++ ++ The print ddx drivers can have highly specific ++ configuration files to control their behavior. In most ++ cases, these files do not need to be modified. ++ ++ ++ ++ ++ ++ More information in how to configure and customize the X print server can be found in the ++ Xprt__appmansuffix__ ++ manual page. ++ ++ ++ ++ ++ STARTING UP ++ ++ The summary checklist for starting the X Print Service is as follows: ++ ++ ++ ++ ++ Choose an execution model for the X Print Service. The X ++ Print Service can be run on a per-user session basis, per ++ machine basis, or can be run on a few machines globally ++ available to a number of users. ++ ++ ++ ++ ++ If print jobs are to be submitted to a spooler (almost always ++ the case), make sure all needed printers are available to the ++ spooler subsystem (most often lp1) ++ on the same machine running the X Print Service. ++ ++ ++ ++ ++ Configure the X Print Server. See ``X Print Server ++ Configuration''. ++ ++ ++ ++ ++ Depending on #1, start the X Print Server process "Xprt", and ++ then the toolkit-specific Print Dialog Manager Daemon process ++ (such as CDEnext's "dtpdmd") at the appropriate times. ++ Note that libXprintUtils-based applications/toolkits do not need ++ a Print Dialog Manager Daemon process to use Xprint. ++ ++ ++ ++ The details are described below. ++ ++ ++ Because the X Print Service is based on X, it can be easily distributed. ++ The most significant factors in which execution model to choose will be ++ driven by: ++ ++ ++ ++ how many printers will be accessable through the printer ++ subsystem on any given machine. A system administrator may ++ choose to cluster printers on a few given machines, or ++ scatter them across an organization and possibly make ++ extensive use of remote spoolers to make them globally ++ available. ++ ++ ++ ++ ++ how many machines will need a copy of the X Print Server ++ configuration files. The files have been architected so ++ that one super-set version of them can be maintained and ++ distributed (e.g. via NFS), and a per-machine or per-user ++ version of the `Xprinters' is all that is needed to have the ++ appropriate information in them utilized or ignored. ++ ++ ++ ++ ++ how many users can demand services from a given X Print ++ Service. ++ ++ ++ ++ ++ With the above in mind, some obvious execution models include: ++ ++ ++ ++ Global - in this model, the system administrator is choosing ++ to run the X Print Service on a *few* select machines with ++ appropriate printers configured, and allow clients access to ++ the global resource. This can centralize the administration ++ of printers and configuration files, but may have to be ++ monitored for performance loading. ++ ++ ++ Startup would likely be done by boot-up scripts (such as /etc/init.d/xprint). ++ ++ ++ ++ ++ ++ Per-machine - every machine with potential X Print Service ++ users would run the service. Printer and configuration file ++ administration is decentralized, and usage would be limited ++ to the users on the machine. ++ ++ ++ Startup would likely be done by boot-up scripts (such as /etc/init.d/xprint). ++ ++ ++ ++ ++ ++ Per-user session - every user would run an entire X Print ++ Service for themselves. In the future, the Video X Server ++ normally started may contain Print X Server capability, so ++ this model becomes very natural. ++ ++ ++ Startup would likely be done at session login or by ++ launching actions or processes manually once the user ++ logs in. Note: Deamons like "dtpdmd" must be started after Xprt. ++ ++ ++ ++ ++ ++ Starting of the processes is straight forward. In strict order (example is for manually starting the X print server for CDEnext usage): ++ ++ ++ ++ [machineA] % Xprt [-XpFile <Xprinters file>] [:dispNum] & ++ ++ ++ Note that Xprt will look for configuration files in either ++ a default location or where XPCONFIGDIR points. ++ ++ ++ specifies an alternate `Xprinters' file, rather ++ than the default one or `${XPCONFIGDIR}/C/print/Xprinters'. ++ ++ ++ ++ ++ [machineA] % dtpdmd -d machineA[:dispNum] [-l /tmp/dtpdmd.log] & ++ ++ ++ The dtpdmd will maintain an X-Selection on the X-Server, ++ and will start dtpdm's as required to service requests. ++ ++ ++ ++ ++ ++ In all but the per-user session model, the machine running the dtpdmd ++ (thus dtpdm's) will need display authorization to the users video ++ display. ++ ++ ++ ++ ++ CLIENT CONFIGURATION ++ ++ Once a X Print Server and dtpdmd have been started -- many of them ++ in some cases -- clients will need to find and use them. There are ++ two mechanisms that allow clients to discover X Print Servers and ++ printers. ++ ++ ++ ++ ++ "X Print Specifier" - assuming usage of the DtPrint/XprintUtils-based print ++ applications, the following notation is understood: ++ ++ ++ printer_name@machine[:dispNum] ++ ++ ++ For example: ++ ++ ++ colorlj7@printhub:2 ++ ++ ++ In the above example, the X Print Server running at `printhub:2' ++ is assumed to support the printer named `colorlj7'. ++ ++ ++ ++ ++ ${XPSERVERLIST} - assuming usage of the DtPrint print dialogs, ++ the environment variable ${XPSERVERLIST} can contain a list ++ of X Print Servers. For example: ++ ++ ++ XPSERVERLIST="printhub:2 printhub:3 otherdept:0" ++ ++ ++ Then in the dialogs, only a printer name needs to be entered. ++ The dialog will then search the X Print Servers in ${XPSERVERLIST} ++ for a server than supports the printer, and then establish ++ contact. ++ ++ ++ ++ ++ ++ ++ ++ END-USER SEQUENCE ++ ++ From most CDEnext applications, printing is accomplished by bringing ++ down the <File> menu and selecting <Print...>. This will result in ++ the DtPrintSetupBox dialog, which will request the name of a printer, ++ and offer limited capability to configure print options (e.g. number ++ of copies). If the user wishes, they can select <Setup...>, which ++ will start a dtpdm capable of modifying additional print options. ++ Finally, the user should select <Print>. ++ ++ ++ ++ ++ ENVIRONMENT ++ ++ ++ ${XPCONFIGDIR} ++ ++ This environment variable points to the root ++ of the Xprint server configuration directory hierarchy. ++ If the variable is not defined, the default ++ path is be assumed. The default path may be ++ /usr/X11R6/lib/X11/xserver/, ++ /usr/lib/X11/xserver/, ++ /usr/share/Xprint/xserver/ or ++ /usr/openwin/server/etc/XpConfig, depending on the ++ system, and may be configured in /etc/init.d/xprint. ++ ++ ++ ++ ++ ${LANG} ++ ++ ++ This environment variable selects the locale settings used by the Xprint server. ++ Xprt allows language-specific settings (stored in ${XPCONFIGDIR}/${LANG}/print/) ++ which will override the default settings (stored in ${XPCONFIGDIR}/C/print/). ++ If ${LANG} is not set "C" is assumed. ++ ++ ++ ++ ++ ++ ${XPSERVERLIST} ++ ++ The environment variable ${XPSERVERLIST} contains a list ++ of display identifiers (separated by whitespace) which tell an ++ application where it can find the Xprint servers. Usually ++ ${XPSERVERLIST} is set by the profile startup scripts (e.g. ++ /etc/profile or /etc/profile.d/xprint.sh) using the output of ++ /etc/init.d/xprint get_xpserverlist. ++ Example: ++ ++ ++ export XPSERVERLIST="`/etc/init.d/xprint get_xpserverlist`" ++ ++ ++ Alternatively ${XPSERVERLIST} can be set ++ manually. Example: ++ ++ ++ export XPSERVERLIST="littlecat:80 bitdog:72" ++ ++ ++ instructs an application to find an Xprint server at display ++ 80 on the machine "littlecat" and at display 72 on the ++ machine bigdog. ++ ++ ++ ++ ++ ++ ${XPRINTER} ++ ++ ++ The environment variable ${XPRINTER} ++ defines the default printer used by print ++ applications. The syntax is either ++ printername or ++ printername@display. ++ Examples: ++ ++ ++ XPRINTER=ps003 ++ ++ tells an application to look for the ++ first printer named "ps003" on all Xprint ++ servers. ++ ++ ++ ++ ++ ++ XPRINTER=hplaser19@littlecat:80 ++ ++ tells an application to use the printer "hplaser19" ++ on the Xprint server at display ++ "littlecat:80". ++ ++ ++ ++ ++ ++ If ${XPRINTER} is not set the applications ++ will examine the values of the ${PDPRINTER}, ++ ${LPDEST}, and ++ ${PRINTER} environment variables (in that order). ++ ++ ++ ++ ++ ++ ++ ++ SEE ALSO ++ ++ ++ ++ ++ ++ ++ ++ X11__miscmansuffix__ ++ xplsprinters__appmansuffix__ ++ xprehashprinterlist__appmansuffix__ ++ xphelloworld__appmansuffix__ ++ xpxmhelloworld__appmansuffix__ ++ xpawhelloworld__appmansuffix__ ++ xpxthelloworld__appmansuffix__ ++ xpsimplehelloworld__appmansuffix__ ++ Xserver__appmansuffix__ ++ Xprt__appmansuffix__ ++ ++ libXp__libmansuffix__ ++ libXprintUtils__libmansuffix__ ++ libXprintAppUtils__libmansuffix__ ++ XmPrintShell__libmansuffix__ ++ XawPrintShell__libmansuffix__ ++ Xprint FAQ (http://xprint.mozdev.org/docs/Xprint_FAQ.html) ++ Xprint main site (http://xprint.mozdev.org/) ++ ++ ++ ++ ++ ++ AUTHORS ++ ++ This manual page was written by ++ Roland Mainz roland.mainz@nrubsig.org based on the original X11R6.6 ++ xc/programs/Xserver/XpConfig/README. ++ ++ ++ ++ +--- xorgproto.orig/include/X11/extensions/xcalibrateproto.h 1970-01-01 01:00:00.000000000 +0100 ++++ xorgproto/include/X11/extensions/xcalibrateproto.h 2018-02-20 15:29:03.198392810 +0100 +@@ -0,0 +1,120 @@ ++/* ++ * $Id: xcalibrateproto.h,v 1.1.1.1 2004/06/02 19:18:47 pb Exp $ ++ * ++ * Copyright © 2003 Philip Blundell ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of Philip Blundell not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. Philip Blundell makes no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifndef XCALIBRATEPROTO_H ++#define XCALIBRATEPROTO_H ++ ++/* ++ * requests and replies ++ */ ++typedef struct { ++ CARD8 reqType; ++ CARD8 xCalibrateReqType; ++ CARD16 length B16; ++ CARD32 majorVersion B32; ++ CARD32 minorVersion B32; ++} xXCalibrateQueryVersionReq; ++ ++#define sz_xXCalibrateQueryVersionReq 12 ++ ++typedef struct { ++ BYTE type; /* X_Reply */ ++ BYTE pad1; ++ CARD16 sequenceNumber B16; ++ CARD32 length B32; ++ CARD32 majorVersion B32; ++ CARD32 minorVersion B32; ++ CARD32 pad2 B32; ++ CARD32 pad3 B32; ++ CARD32 pad4 B32; ++ CARD32 pad5 B32; ++} xXCalibrateQueryVersionReply; ++ ++#define sz_xXCalibrateQueryVersionReply 32 ++ ++typedef struct { ++ CARD8 reqType; ++ CARD8 xCalibrateReqType; ++ CARD16 length B16; ++ CARD16 on B16; ++ CARD16 pad B16; ++} xXCalibrateRawModeReq; ++ ++#define sz_xXCalibrateRawModeReq 8 ++ ++typedef struct { ++ BYTE type; /* X_Reply */ ++ BYTE pad1; ++ CARD16 sequenceNumber B16; ++ CARD32 status; ++ CARD32 pad2 B32; ++ CARD32 pad3 B32; ++ CARD32 pad4 B32; ++ CARD32 pad5 B32; ++ CARD32 pad6 B32; ++ CARD32 pad7 B32; ++} xXCalibrateRawModeReply; ++ ++#define sz_xXCalibrateRawModeReply 32 ++ ++typedef struct { ++ CARD8 reqType; ++ CARD8 xCalibrateReqType; ++ CARD16 length B16; ++ CARD32 x B32; ++ CARD32 y B32; ++} xXCalibrateScreenToCoordReq; ++ ++#define sz_xXCalibrateScreenToCoordReq 12 ++ ++typedef struct { ++ BYTE type; /* X_Reply */ ++ BYTE pad1; ++ CARD16 sequenceNumber B16; ++ CARD32 x; ++ CARD32 y; ++ CARD32 pad2 B32; ++ CARD32 pad3 B32; ++ CARD32 pad4 B32; ++ CARD32 pad5 B32; ++ CARD32 pad6 B32; ++} xXCalibrateScreenToCoordReply; ++ ++#define sz_xXCalibrateScreenToCoordReply 32 ++ ++/* Events */ ++ ++typedef struct { ++ CARD8 type; ++ CARD8 pad1; ++ CARD16 sequenceNumber B16; ++ CARD16 x; ++ CARD16 y; ++ CARD16 pressure; ++ CARD16 pad2; ++} xXCalibrateRawTouchscreenEvent; ++ ++#define sz_xXCalibrateRawTouchscreenEvent 12 ++ ++#endif +--- xorgproto.orig/include/X11/extensions/xcalibratewire.h 1970-01-01 01:00:00.000000000 +0100 ++++ xorgproto/include/X11/extensions/xcalibratewire.h 2018-02-20 15:29:03.198392810 +0100 +@@ -0,0 +1,44 @@ ++/* ++ * $Id: xcalibratewire.h,v 1.1.1.1 2004/06/02 19:18:47 pb Exp $ ++ * ++ * Copyright © 2003 Philip Blundell ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that ++ * copyright notice and this permission notice appear in supporting ++ * documentation, and that the name of Philip Blundell not be used in ++ * advertising or publicity pertaining to distribution of the software without ++ * specific, written prior permission. Philip Blundell makes no ++ * representations about the suitability of this software for any purpose. It ++ * is provided "as is" without express or implied warranty. ++ * ++ * PHILIP BLUNDELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL PHILIP BLUNDELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR ++ * PERFORMANCE OF THIS SOFTWARE. ++ */ ++ ++#ifndef XCALIBRATEWIRE_H ++#define XCALIBRATEWIRE_H ++ ++#define XCALIBRATE_MAJOR_VERSION 0 ++#define XCALIBRATE_MINOR_VERSION 1 ++#define XCALIBRATE_NAME "XCALIBRATE" ++ ++#define X_XCalibrateQueryVersion 0 ++#define X_XCalibrateRawMode 1 ++#define X_XCalibrateScreenToCoord 2 ++ ++#define XCalibrateNumberRequests (X_XCalibrateScreenToCoord + 1) ++ ++#define X_XCalibrateRawTouchscreen 0 ++ ++#define XCalibrateNumberEvents (X_XCalibrateRawTouchscreen + 1) ++ ++#define XCalibrateNumberErrors 0 ++ ++#endif -- 2.43.0