Comparar commits
1 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| 145d01c946 |
+22
-288
@@ -1,293 +1,6 @@
|
||||
CHANGES.txt - 07/10/2000
|
||||
CHANGES.txt - 03/13/2000
|
||||
------------------------
|
||||
|
||||
CHANGES IN CUPS v1.1
|
||||
|
||||
- Documentation updates.
|
||||
- Configuration script updates.
|
||||
- Didn't map charset and language value strings to lowercase
|
||||
and _ to - as required by SLP and IPP.
|
||||
- ppdLoadXYZ() didn't add the list of available fonts to the
|
||||
ppd_file_t structure.
|
||||
- The text filter common code was freeing the PPD file data
|
||||
before it was used.
|
||||
- The text filter now embeds missing fonts.
|
||||
- The CGI interface now maps local access to the server to
|
||||
the localhost address.
|
||||
- The HP-GL/2 filter didn't use the specified (or default)
|
||||
color ranges, resulting in strange colors.
|
||||
- The HP-GL/2 filter didn't default to no input window, which
|
||||
caused unnecessary clipping of plots.
|
||||
- Integrated Xpdf's pdftops filter into CUPS, which is a
|
||||
lightweight and reliable replacement for Ghostscript's
|
||||
PDF support.
|
||||
- Removed all PDF support from Ghostscript.
|
||||
- Updated HP driver to set top margin; this seems to fix
|
||||
the offset problem seen on HP DeskJet printers.
|
||||
- Fixed dependencies on the ZLIB and JPEG libraries in
|
||||
pstoraster.
|
||||
- The lpr command wasn't using the lpoptions defined by
|
||||
the user.
|
||||
- The lpr command would segfault if the CUPS server was
|
||||
not running.
|
||||
- The top-level makefile was not installing the CUPS
|
||||
initialization script. It now does so if it sees there
|
||||
is an init.d directory in /sbin, /etc/rc.d, or /etc.
|
||||
- "lpstat -v all" didn't work.
|
||||
- pstoraster would crash on some platforms doing the
|
||||
setpagedevice operator.
|
||||
- The web administration interface now allows you to set
|
||||
the default banner pages.
|
||||
- Images can now be positioned on the page using the new
|
||||
"position" option.
|
||||
- The AccessLog, ErrorLog, and PageLog directives now
|
||||
support "%s" to insert the server name.
|
||||
- Added a new BrowseShortNames directive to allow for
|
||||
short remote printer names ("printer" instead of
|
||||
"printer@server") when possible.
|
||||
- The scheduler could crash if given an invalid PPD file
|
||||
with no PageSize attributes.
|
||||
- Updated the serial, parallel, and usb backends to do
|
||||
multiple writes and ignore ioctl() errors as needed;
|
||||
this should fix problems with serial printing on old
|
||||
serial drivers and with the UltraSPARC parallel port
|
||||
driver under Solaris 2.7.
|
||||
- Now propagate LD_LIBRARY_PATH to child processes from
|
||||
cupsd.
|
||||
- New DataDir directive for installing in alternate
|
||||
locations.
|
||||
- New CUPS_SERVERROOT and CUPS_DATADIR environment
|
||||
variables to specify installation directories as
|
||||
needed.
|
||||
- Queued remote jobs recreate remote printers as needed
|
||||
when the scheduler is started.
|
||||
- Deleting a printer also purges all jobs on that
|
||||
printer.
|
||||
- Old job and control files that don't belong to a
|
||||
printer are automatically deleted.
|
||||
- Wasn't updating time-at-processing and
|
||||
time-at-completed attributes in job.
|
||||
- Didn't send required multiple-operation-time-out
|
||||
attribute in response to a get-printer-attributes
|
||||
request.
|
||||
- cups-lpd now supports options set with lpoptions.
|
||||
- The job-hold-until attribute is now provided with all
|
||||
jobs. For jobs that are not currently held the value
|
||||
is "no-hold".
|
||||
- The scheduler was not sending "unknown" values in IPP
|
||||
responses.
|
||||
- The lpoptions command now accumulates options from
|
||||
previous runs rather than replacing all options for a
|
||||
printer.
|
||||
- The IPP backend now switches to IPP/1.0 if a 1.1
|
||||
request fails.
|
||||
- The lpadmin and admin.cgi programs now validate new
|
||||
printer and class names.
|
||||
- The access_log file now includes the number of IPP bytes
|
||||
received in a POST request.
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.1b5
|
||||
|
||||
- Documentation updates.
|
||||
- The pstoraster filter didn't compile without the JPEG library.
|
||||
- The cupsd server didn't support the HTTP OPTIONS request
|
||||
method.
|
||||
- Dropped the "CLOSE" method supported by the cupsd server.
|
||||
(not defined in HTTP specification)
|
||||
- Makefile/configure script fixes.
|
||||
- Missing the job-restart template.
|
||||
- Added IPP test suite for testing.
|
||||
- Missing IPP documentation from binary distributions.
|
||||
- Fixed multiple-document handling code when last-document
|
||||
not specified.
|
||||
- Added more checks to IPP requests to prevent bad requests
|
||||
from getting through.
|
||||
- Not all of the Ghostscript error output was being sent to
|
||||
stderr.
|
||||
- The PostScript filter now added PJL commands to set the
|
||||
job name and display string, if supported.
|
||||
- The scheduler would crash if the browse socket could not
|
||||
be bound. Now disables browsing if port 631 (reserved for
|
||||
IPP) is being used by a misbehaving daemon.
|
||||
- The USB backend now looks for the older Linux 2.2.x USB
|
||||
printer device filenames as well as the newer ones.
|
||||
- The IPP backend now uses the UTF-8 charset exclusively,
|
||||
since apparently only CUPS handles more than US-ASCII and
|
||||
UTF-8...
|
||||
- Wasn't quoting ( in PostScript banners...
|
||||
- Send-document requests with no document-format attribute
|
||||
could cause cupsd to crash.
|
||||
- Old jobs in the spool directory might cause cupsd to
|
||||
crash.
|
||||
- CUPS now supports all of the recommended job-hold-until
|
||||
keywords as well as name values of the form "HH:MM" and
|
||||
"HH:MM:SS".
|
||||
- Added placeholder pointer for TLS encryption to the HTTP
|
||||
connection structure.
|
||||
- Fixed the "fast poll" bug reported by DISA - the
|
||||
status pipe wasn't being closed for multi-file jobs.
|
||||
- Revamped put_params code in pstoraster to fix bitmap
|
||||
allocation bug with FrameMaker output.
|
||||
- Ripped out filename, etc. code from pstoraster as it
|
||||
is a potential security hole.
|
||||
- Added support for RIP_CACHE environment variable in the
|
||||
new pstoraster.
|
||||
- Fixed USB device filenames for Linux; now support new
|
||||
pre-2.4 devices (/dev/usb/lp#) and 2.2 devices
|
||||
(/dev/usblp#)
|
||||
- Fixed accept-jobs crash with classes.
|
||||
- Didn't include dot-matrix EPSON drivers in previous
|
||||
release.
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.1b4
|
||||
|
||||
- Documentation updates.
|
||||
- Many makefile and configuration script fixes (should
|
||||
now compile better under *BSD.)
|
||||
- The MediaPosition attribute was being mishandled by
|
||||
GhostScript, causing the RIP to fail whenever a paper
|
||||
tray was selected.
|
||||
- The scheduler now logs the final line of log information
|
||||
from a filter, even if it doesn't end with a newline; this
|
||||
primarily affects GhostScript error output.
|
||||
- The scheduler was saving implicit classes, so after a few
|
||||
restarts you'll end up with AnyPrinter, AnyAnyPrinter, etc.
|
||||
- The JPEG autodetection didn't work with some JPEG files that
|
||||
came from digital cameras (JPEG but not JFIF); the new
|
||||
magic types should work with all images that the JPEG library
|
||||
can handle.
|
||||
- Fixed a bug in the new contains() MIME type rule that could
|
||||
cause cupsd to crash.
|
||||
- Switched to using strtol() in the MIME type code so that you
|
||||
can use hex, octal, or decimal constants as desired in the
|
||||
mime.types file.
|
||||
- Banner files are now treated as templates, allowing any type
|
||||
of file to be used as a banner.
|
||||
- Added a 30-second timeout to backend device reports so that a
|
||||
hung backend will not prevent the scheduler from starting.
|
||||
- Backends are once again terminated when jobs are stopped; the
|
||||
CUPS-supplied backends will stay alive until the downstream
|
||||
filters have had a chance to clear out old page data.
|
||||
- The charset lookup in the CUPS localization support was wrong
|
||||
(iso8859-x instead of iso-8859-x)
|
||||
- Changed the "cpNNNN" code page files to "windows-NNNN" to match
|
||||
the IANA registrations.
|
||||
- New PostScript banner pages.
|
||||
- Added Windows BMP and Alias PIX image file support to the image
|
||||
filter.
|
||||
- The PNG reading coded didn't free all of its buffers.
|
||||
- Added Digest authentication support to the client and server
|
||||
code.
|
||||
- Added Solaris options to System V commands.
|
||||
- Now support the output-bin job template attribute.
|
||||
- Now log the job-billing attribute in the page_log file, and
|
||||
keep track of the total number of pages in the
|
||||
job-media-sheets-completed attribute.
|
||||
- The penwidth option is now in micrometers to support more
|
||||
accurate width specification.
|
||||
- The image filters now support interlaced and transparent PNG
|
||||
files.
|
||||
- Didn't handle Keep-Alive for HTTP/1.0 clients.
|
||||
- The BrowsePoll support didn't handle when BrowseInterval
|
||||
was set to 0 (now uses 30 seconds if BrowseInterval is 0)
|
||||
- The DeskJet driver now supports 600 DPI color for printers
|
||||
that support it.
|
||||
- New lpinfo and lpmove commands.
|
||||
- The lpq command now supports the Digital UNIX output format.
|
||||
- The LPD mini-daemon now supports all required LPD operations.
|
||||
- Implemented timeouts for multi-file documents.
|
||||
- New cupsPrintFiles() function in the CUPS API library to
|
||||
print multiple files using create-job and send-document
|
||||
requests (1 job ID for multiple files)
|
||||
- The lp command now sends multiple files as a single job,
|
||||
matching the behavior of the System V command.
|
||||
- The "cancel -a" command now purges job history files.
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.1b3
|
||||
|
||||
- Documentation updates.
|
||||
- The startup script redirected stderr before stdout,
|
||||
which caused problems with some versions of Bourne
|
||||
shell and Bash.
|
||||
- Fixed a bug in the scheduler's PPD language reading
|
||||
code.
|
||||
- Fixed a bug in the scheduler's check for the
|
||||
manufacturer in the PPD.
|
||||
- The pstoraster filter didn't allow some input and
|
||||
output attributes to be set.
|
||||
- Added banner page support.
|
||||
- Added missing PAM configuration file.
|
||||
- Configuration script fixes for Linux and *BSD.
|
||||
- The log file code was using the wrong sign for the
|
||||
timezone offset.
|
||||
- The default printcap file is now empty (no printcap
|
||||
file is generated).
|
||||
- The scheduler did not start jobs destined for remote
|
||||
printers when they became available.
|
||||
- The scheduler now sends jobs to remote printers
|
||||
immediately. (when sending jobs to a class, the remote
|
||||
printer is only used when it becomes available)
|
||||
- The scheduler now supports printing of banner pages
|
||||
via the job-sheets attribute (banner files go in
|
||||
/usr/share/cups/banners)
|
||||
- The cupsd process now forks itself into the background
|
||||
(override with -f)
|
||||
- Added several *BSD enhancements.
|
||||
- Added UNSUPPORTED libtool option to configuration
|
||||
script to allow the use of libtool. Note that this is
|
||||
UNSUPPORTED by us, but added by request of the *BSD
|
||||
folks.
|
||||
- The parallel, serial, and usb backends now retry the
|
||||
opening of their ports. This allows multiple print
|
||||
queues to be associated with a single physical port,
|
||||
and will allow CUPS to support several types of
|
||||
parallel port auto-switches in the near future.
|
||||
- Set-Job-Attributes now supports adding, changing, and
|
||||
deleting job template attributes, and no longer allows
|
||||
job-printer-uri to be set (see CUPS-Move-Job)
|
||||
- Added CUPS-Move-Job operation to support moving of jobs.
|
||||
- The CGI template functionality now supports multiple
|
||||
languages (still only have templates for English)
|
||||
- The CUPS-Get-Printers and CUPS-Get-Classes operations
|
||||
now support filtering as defined in the IDD.
|
||||
- The Get-Jobs, CUPS-Get-Printers, and CUPS-Get-Classes
|
||||
operations no longer limit themselves to 1000 jobs,
|
||||
printers, or classes (believe it or not, this is
|
||||
needed for some sites)
|
||||
- The web interfaces now support language-specific
|
||||
templates.
|
||||
- The web admin interface now supports class management.
|
||||
- The web admin interface now shows a list of
|
||||
manufacturers before selecting the PPD/driver for a
|
||||
specific printer.
|
||||
- The web admin interface now supports configuration of
|
||||
the default printer options in the PPD file.
|
||||
- The web interface now uses printer/class
|
||||
authentication for the test page instead of admin
|
||||
authentication.
|
||||
- Updated the RPM spec file for the current release.
|
||||
- Updated language support for Windows code pages.
|
||||
- 8-bit character set files can now use multiple fonts
|
||||
(needed for Arabic, Greek, Hebrew, etc.)
|
||||
- Added basic right-to-left text support in the text
|
||||
filter.
|
||||
- The POSIX locale now uses ISO-8859-1 instead of
|
||||
US-ASCII.
|
||||
- Fixed PDF printing problems.
|
||||
- Fixed PostScript RIP page device dictionary elements
|
||||
that weren't getting passed in cups_get_params().
|
||||
- Added a new "contains" rule for the magic file typing.
|
||||
- The "printable" rule now accepts characters from 128 to 255
|
||||
(needed for Microsoft character sets)
|
||||
- Added support for ~/.cupsrc as well as /etc/cups/client.conf
|
||||
so that the default server can be configured on a per-user
|
||||
basis without environment variables.
|
||||
- Added LPD mini-daemon to support incoming LPD jobs.
|
||||
|
||||
|
||||
CHANGES IN CUPS v1.1b2
|
||||
|
||||
- Documentation updates.
|
||||
@@ -520,46 +233,67 @@ CHANGES IN CUPS v1.0.2
|
||||
CHANGES IN CUPS v1.0.1
|
||||
|
||||
- Documentation updates.
|
||||
|
||||
- Fixed a bunch of possible buffer-overflow conditions.
|
||||
|
||||
- The scheduler now supports authentication using PAM.
|
||||
|
||||
- Updated the Italian message file.
|
||||
|
||||
- httpEncode64() didn't add an extra "=" if there was
|
||||
only one byte in the last three-byte group.
|
||||
|
||||
- Now drop any trailing character set from the locale
|
||||
string (e.g. "en_US.ISO_8859-1" becomes "en_US")
|
||||
|
||||
- Fixed "timezone" vs "tm_gmtoff" usage for BSD-based
|
||||
operating systems.
|
||||
|
||||
- Updated IPP security so that "get" operations can be
|
||||
done from any resource name; this allows the CGIs to
|
||||
work with printer authentication enabled so long as
|
||||
authentication isn't turned on for the whole "site".
|
||||
|
||||
- The IPP code didn't properly handle the "unsupported"
|
||||
group; this caused problems with the HP JetDirect since
|
||||
it doesn't seem to support the "copies" attribute.
|
||||
|
||||
- The HTTP chunking code was missing a CR LF pair at the
|
||||
end of a 0-length chunk.
|
||||
|
||||
- The httpSeparate() function didn't handle embedded
|
||||
usernames and passwords in the URI properly.
|
||||
|
||||
- Doing "lpadmin -p printer -E" didn't restart printing
|
||||
if there were pending jobs.
|
||||
|
||||
- The cancel-job operation now requires either a
|
||||
requesting-user-name attribute or an authenticated
|
||||
username.
|
||||
|
||||
- The add-printer code did not report errors if the
|
||||
interface script or PPD file could not be renamed.
|
||||
|
||||
- Request files are now created without world read
|
||||
permissions.
|
||||
|
||||
- Added a cupsLastError() function to the CUPS API to
|
||||
retrieve the IPP error code from the last request.
|
||||
|
||||
- Options are now case-insensitive.
|
||||
|
||||
- The lpq command now provides 10 characters for the
|
||||
username instead of the original (Berkeley standard)
|
||||
7.
|
||||
|
||||
- The cancel command needed a local CUPS server to work
|
||||
(or the appropriate ServerName in cupsd.conf)
|
||||
|
||||
- The cancel and lprm commands didn't report the IPP
|
||||
error if the job could not be cancelled.
|
||||
|
||||
- The lp and lpr commands didn't intercept SIGTERM to
|
||||
remove temporary files when printing from stdin.
|
||||
|
||||
- The lp and lpr commands didn't report the IPP error if
|
||||
the job could not be printed.
|
||||
|
||||
+42
-551
@@ -3,36 +3,26 @@
|
||||
<TITLE>Software License Agreement - Common UNIX Printing System</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#ffffff" TEXT="#000000">
|
||||
<BODY BGCOLOR=#ffffff>
|
||||
|
||||
<H2 ALIGN="CENTER">Common UNIX Printing System License Agreement</H2>
|
||||
|
||||
<P ALIGN="CENTER">Copyright 1997-2000 by Easy Software Products<BR>
|
||||
<P ALIGN="CENTER">Copyright 1997-1999 by Easy Software Products<BR>
|
||||
44141 AIRPORT VIEW DR STE 204<BR>
|
||||
HOLLYWOOD, MARYLAND 20636-3111 USA<BR>
|
||||
<BR>
|
||||
Voice: +1.301.373.9603<BR>
|
||||
Email: <A HREF="mailto:cups-info@cups.org">cups-info@cups.org</A><BR>
|
||||
WWW: <A HREF="http://www.cups.org">http://www.cups.org</A>
|
||||
Email: cups-info@cups.org<BR>
|
||||
WWW: http://www.cups.org
|
||||
|
||||
<H3>Introduction</H3>
|
||||
|
||||
<P>The Common UNIX Printing System<SUP>TM</SUP>, ("CUPS<SUP>TM</SUP>"),
|
||||
is provided under the GNU General Public License ("GPL") and GNU
|
||||
Library General Public License ("LGPL"), Version 2. A copy of these
|
||||
licenses follow this introduction.
|
||||
<P>The Common UNIX Printing System<SUP>TM</SUP>, or CUPS<SUP>TM</SUP>,
|
||||
is provided under the GNU General Public License, Version 2. A copy of
|
||||
this license follows this introduction.
|
||||
|
||||
<P>The GNU LGPL applies to the CUPS API library, located in the "cups"
|
||||
subdirectory of the CUPS source distribution and in the
|
||||
"/usr/include/cups" directory and "libcups.a", "libcups.sl", or
|
||||
"libcups.so" files in the binary distributions.
|
||||
|
||||
<P>The GNU GPL applies to the remainder of the CUPS distribution,
|
||||
including the "pstoraster" filter which is based upon GNU Ghostscript
|
||||
5.50 and the "pdftops" filter which is based upon Xpdf 0.90.
|
||||
|
||||
<P>For those not familiar with the GNU GPL, the license basically
|
||||
allows you to:
|
||||
<P>For those not familiar with the GNU General Public License, the license
|
||||
basically allows you to:
|
||||
|
||||
<UL>
|
||||
|
||||
@@ -44,88 +34,66 @@ allows you to:
|
||||
<LI>Sell verbatim copies of the software for a media fee, or
|
||||
sell support for the software.
|
||||
|
||||
<LI>Distribute or sell printer drivers and filters that use
|
||||
CUPS so long as source code is made available under the GPL.
|
||||
<LI>Distribute or sell printer drivers and filters that use the
|
||||
CUPS API so long as source code is made available under the GPL.
|
||||
|
||||
</UL>
|
||||
|
||||
<P>What this license <B>does not</B> allow you to do is make changes or
|
||||
add features to CUPS and then sell a binary distribution without source
|
||||
code. You must provide source for any new drivers, changes, or
|
||||
additions to the software, and all code must be provided under the GPL
|
||||
or LGPL as appropriate.
|
||||
code. You have to provide source for any new drivers, changes, or
|
||||
additions to the software, and all code must be provided under the GPL.
|
||||
|
||||
<P>The GNU LGPL relaxes the "link-to" restriction, allowing you to
|
||||
develop applications that use the CUPS API library under other licenses
|
||||
and/or conditions as appropriate for your application.
|
||||
|
||||
<H3>Trademarks</H3>
|
||||
|
||||
<P>Easy Software Products has trademarked the Common UNIX Printing
|
||||
System, CUPS, and CUPS logo. These names and logos may be used freely
|
||||
in any direct port or binary distribution of CUPS. To use them in
|
||||
derivative products, please contract Easy Software Products for written
|
||||
permission. Our intention is to protect the value of these trademarks and
|
||||
ensure that any derivative product meets the same high-quality
|
||||
standards as the original.
|
||||
<P>Also, since we have trademarked the Common UNIX Printing System, CUPS,
|
||||
and CUPS logo, you may not release a derivative product using those names
|
||||
without permission from Easy Software Products.
|
||||
|
||||
<H3>Binary Distribution Rights</H3>
|
||||
|
||||
<P>Easy Software Products also sells rights to the CUPS source code
|
||||
under a binary distribution license for vendors that are unable to
|
||||
release source code for their drivers, additions, and modifications to
|
||||
CUPS under the GNU GPL and LGPL. For information please contact us at
|
||||
the address shown above.
|
||||
release source code for their drivers or additions and modifications to
|
||||
CUPS under the GPL. For pricing information please contact us at the
|
||||
address shown above.
|
||||
|
||||
<P>The Common UNIX Printing System provides a "pstoraster" filter that
|
||||
utilizes the GNU GhostScript 5.50 core to convert PostScript files into
|
||||
a stream of raster images. For binary distribution licensing of this
|
||||
software, please contact:
|
||||
<P>The Common UNIX Printing System utilizes GNU GhostScript 4.03 to
|
||||
convert PostScript files into a stream of raster images. For binary
|
||||
distribution licensing of this software, please contact:
|
||||
|
||||
<BLOCKQUOTE>
|
||||
Miles Jones<BR>
|
||||
<BLOCKQUOTE>Miles Jones<BR>
|
||||
Director of Marketing<BR>
|
||||
Artifex Software Inc.<BR>
|
||||
454 Las Gallinas Ave., Suite 108<BR>
|
||||
San Rafael, CA 94903 USA<BR>
|
||||
Voice: +1.415.492.9861<BR>
|
||||
Fax: +1.415.492.9862<BR>
|
||||
EMail: <A HREF="mailto:info@arsoft.com">info@arsoft.com</A>
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<P>The "pdftops" filter is based on the Xpdf 0.90 software. For binary
|
||||
distribution licensing of this software, please contact:
|
||||
|
||||
<BLOCKQUOTE>
|
||||
Derek B. Noonburg<BR>
|
||||
Email: <A HREF="mailto:derekn@foolabs.com">derekn@foolabs.com</A><BR>
|
||||
WWW: <A HREF="http://www.foolabs.com/xpdf/">http://www.foolabs.com/xpdf/</A>
|
||||
EMail: info@arsoft.com
|
||||
</BLOCKQUOTE>
|
||||
|
||||
<H3>Support</H3>
|
||||
|
||||
<P>Easy Software Products sells software support for CUPS as well as a
|
||||
commercial printing product based on CUPS called ESP Print Pro. You can
|
||||
find out more at our web site:
|
||||
<P>Easy Software Products sells software support for distributors and
|
||||
resellers of CUPS. Support for users of CUPS is available from Easy
|
||||
Software Products through our ESP Print software.
|
||||
|
||||
<UL><PRE>
|
||||
<A HREF="http://www.easysw.com">http://www.easysw.com</A>
|
||||
</PRE></UL>
|
||||
<H3>Trademarks</H3>
|
||||
|
||||
<!-- NEW PAGE -->
|
||||
<H2>GNU GENERAL PUBLIC LICENSE</H2>
|
||||
<P>The Common UNIX Printing System, CUPS, and the CUPS logo are the
|
||||
trademark property of Easy Software Products. Any derivative of this
|
||||
software may not use any of these trademarks without the expressed
|
||||
written consent of Easy Software Products.
|
||||
|
||||
<P>Version 2, June 1991
|
||||
<H2 ALIGN="CENTER">GNU General Public License</H2>
|
||||
|
||||
<PRE>
|
||||
Copyright 1989, 1991 Free Software Foundation, Inc.
|
||||
<P ALIGN="CENTER">Version 2, June 1991<BR>
|
||||
<BR>
|
||||
Copyright 1989, 1991 Free Software Foundation, Inc.<BR>
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim
|
||||
<P ALIGN="CENTER">Everyone is permitted to copy and distribute verbatim
|
||||
copies of this license document, but changing it is not allowed.
|
||||
<PRE>
|
||||
|
||||
<H4>Preamble</H4>
|
||||
<H3>Preamble</H3>
|
||||
|
||||
<P>The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
@@ -175,8 +143,8 @@ patent must be licensed for everyone's free use or not licensed at all.
|
||||
<P>The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
<H4>GNU GENERAL PUBLIC LICENSE<BR>
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</H4>
|
||||
<H3>GNU GENERAL PUBLIC LICENSE<BR>
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</H3>
|
||||
|
||||
<OL START="0">
|
||||
|
||||
@@ -386,7 +354,7 @@ of promoting the sharing and reuse of software generally.
|
||||
|
||||
</OL>
|
||||
|
||||
<H4>NO WARRANTY</H4>
|
||||
<H3>NO WARRANTY</H3>
|
||||
|
||||
<OL START="11">
|
||||
|
||||
@@ -412,484 +380,7 @@ POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
</OL>
|
||||
|
||||
<H4>END OF TERMS AND CONDITIONS</H4>
|
||||
|
||||
<!-- NEW PAGE -->
|
||||
<H2>GNU LIBRARY GENERAL PUBLIC LICENSE</H2>
|
||||
|
||||
<P>Version 2, June 1991
|
||||
|
||||
<PRE>
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
</PRE>
|
||||
|
||||
<H4>Preamble</H4>
|
||||
|
||||
<P>The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
<P>This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
<P>When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
<P>To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
<P>For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
<P>Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
<P>Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
<P>Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
<P>Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
<P>The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
<P>Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
<P>However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
<P>The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
<P>Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
<H4>TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION</H4>
|
||||
|
||||
<P><STRONG>0.</STRONG>
|
||||
This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
<P>A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
<P>The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
<P>"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
<P>Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
<P><STRONG>1.</STRONG>
|
||||
You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
<P>You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
<P><STRONG>2.</STRONG>
|
||||
You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
<OL TYPE="a">
|
||||
|
||||
<LI>The modified work must itself be a software library.
|
||||
|
||||
<P>
|
||||
<LI>You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
<P>
|
||||
<LI>You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
<P>
|
||||
<LI>If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
<P>(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
</OL>
|
||||
|
||||
<P>These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
<P>Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
<P>In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
<P><STRONG>3.</STRONG>
|
||||
You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
<P>Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
<P>This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
<P><STRONG>4.</STRONG>
|
||||
You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
<P>If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
<P><STRONG>5.</STRONG>
|
||||
A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
<P>However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
<P>When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
<P>If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
<P>Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
<P><STRONG>6.</STRONG>
|
||||
As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
<P>You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
<OL TYPE="a">
|
||||
|
||||
<LI>Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
<P>
|
||||
<LI>Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
<P>
|
||||
<LI>If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
<P>
|
||||
<LI>Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
</OL>
|
||||
|
||||
<P>For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
<P>It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
<P><STRONG>7.</STRONG>
|
||||
You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
<OL TYPE="a">
|
||||
|
||||
<LI>Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
<P>
|
||||
<LI>Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
</OL>
|
||||
|
||||
<P><STRONG>8.</STRONG>
|
||||
You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
<P><STRONG>9.</STRONG>
|
||||
You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
<P><STRONG>10.</STRONG>
|
||||
Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
<P><STRONG>11.</STRONG>
|
||||
If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
<P>If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
<P>It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
<P>This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
<P><STRONG>12.</STRONG>
|
||||
If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
<P><STRONG>13.</STRONG>
|
||||
The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
<P>Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
<P><STRONG>14.</STRONG>
|
||||
If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
<P><STRONG>NO WARRANTY</STRONG>
|
||||
|
||||
<P><STRONG>15.</STRONG>
|
||||
BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
<P><STRONG>16.</STRONG>
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
<H4>END OF TERMS AND CONDITIONS</H4>
|
||||
<H3>END OF TERMS AND CONDITIONS</H3>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+5
-36
@@ -28,13 +28,11 @@
|
||||
|
||||
AR = @AR@
|
||||
AWK = @AWK@
|
||||
CC = @LIBTOOL@ @CC@
|
||||
CC = @CC@
|
||||
CHMOD = @CHMOD@
|
||||
CP = @CP@
|
||||
CXX = @LIBTOOL@ @CXX@
|
||||
DSO = @DSO@
|
||||
HTMLDOC = @HTMLDOC@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN = /bin/ln -sf
|
||||
MKDIR = @MKDIR@ -p
|
||||
MV = @MV@
|
||||
@@ -44,17 +42,6 @@ RM = @RM@ -f
|
||||
SED = @SED@
|
||||
SHELL = /bin/sh
|
||||
|
||||
#
|
||||
# Installation programs...
|
||||
#
|
||||
|
||||
INSTALL_BIN = $(LIBTOOL) $(CP)
|
||||
INSTALL_DATA = $(CP)
|
||||
INSTALL_LIB = $(LIBTOOL) $(CP)
|
||||
INSTALL_MAN = $(CP)
|
||||
INSTALL_SCRIPT = $(CP)
|
||||
INSTALL_SYSV = @INSTALL_SYSV@
|
||||
|
||||
#
|
||||
# Libraries...
|
||||
#
|
||||
@@ -76,13 +63,10 @@ LIBZ = @LIBZ@
|
||||
|
||||
ARFLAGS = crvs
|
||||
CFLAGS = @CFLAGS@ $(OPTIM) -I.. $(OPTIONS)
|
||||
CXXFLAGS = @CXXFLAGS@ $(OPTIM) -I.. $(OPTIONS)
|
||||
DSOLIBS = @DSOLIBS@
|
||||
IMGLIBS = @IMGLIBS@ -lm
|
||||
LDFLAGS = @LDFLAGS@ $(OPTIM)
|
||||
LINKCUPS = @LINKCUPS@
|
||||
LINKCUPSIMAGE = @LINKCUPSIMAGE@
|
||||
LIBS = $(LINKCUPS) $(NETLIBS) @LIBS@
|
||||
LIBS = -L../cups -lcups $(NETLIBS) @LIBS@
|
||||
NETLIBS = @NETLIBS@
|
||||
OPTIM = @OPTIM@
|
||||
OPTIONS =
|
||||
@@ -118,45 +102,30 @@ top_srcdir = @top_srcdir@
|
||||
|
||||
BINDIR = @bindir@
|
||||
DATADIR = @CUPS_DATADIR@
|
||||
DOCDIR = @CUPS_DOCROOT@
|
||||
ESP_ROOT = @ESP_ROOT@
|
||||
DOCDIR = @CUPS_DOCDIR@
|
||||
INCLUDEDIR = $(includedir)
|
||||
LIBDIR = $(libdir)
|
||||
LOCALEDIR = @CUPS_LOCALEDIR@
|
||||
LOGDIR = @CUPS_LOGDIR@
|
||||
MANDIR = @mandir@
|
||||
PAMDIR = @PAMDIR@
|
||||
REQUESTS = @CUPS_REQUESTS@
|
||||
SBINDIR = @sbindir@
|
||||
SERVERBIN = @CUPS_SERVERBIN@
|
||||
SERVERROOT = @CUPS_SERVERROOT@
|
||||
|
||||
CAT1EXT = @CAT1EXT@
|
||||
CAT5EXT = @CAT5EXT@
|
||||
CAT8EXT = @CAT8EXT@
|
||||
|
||||
#
|
||||
# Rules...
|
||||
#
|
||||
|
||||
.SILENT:
|
||||
.SUFFIXES: .a .c .cxx .h .man .o .0 .1 .5 .8 .z
|
||||
.SUFFIXES: .a .c .h .man .o .1 .5 .8
|
||||
.c.o:
|
||||
echo Compiling $<...
|
||||
$(CC) $(CFLAGS) -c $<
|
||||
.cxx.o:
|
||||
echo Compiling $<...
|
||||
$(CXX) $(CXXFLAGS) -c $<
|
||||
.man.0 .man.1 .man.5 .man.8:
|
||||
.man.1 .man.5 .man.8:
|
||||
echo Formatting $<...
|
||||
$(RM) $@
|
||||
$(NROFF) -man $< >$@
|
||||
.man.z:
|
||||
echo Formatting $<...
|
||||
$(RM) $@ t.z
|
||||
$(NROFF) -man $< >t
|
||||
pack -f t
|
||||
$(MV) t.z $@
|
||||
|
||||
#
|
||||
# End of "$Id$"
|
||||
|
||||
+17
-51
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# Top-level Makefile for the Common UNIX Printing System (CUPS).
|
||||
#
|
||||
# Copyright 1997-2000 by Easy Software Products, all rights reserved.
|
||||
# Copyright 1997-1999 by Easy Software Products, all rights reserved.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Easy Software Products and are protected by Federal
|
||||
@@ -28,7 +28,7 @@ include Makedefs
|
||||
# Directories to make...
|
||||
#
|
||||
|
||||
DIRS = cups backend berkeley cgi-bin doc filter man pdftops pstoraster \
|
||||
DIRS = cups backend berkeley cgi-bin filter man pstoraster \
|
||||
scheduler systemv
|
||||
|
||||
#
|
||||
@@ -38,7 +38,7 @@ DIRS = cups backend berkeley cgi-bin doc filter man pdftops pstoraster \
|
||||
all:
|
||||
for dir in $(DIRS); do\
|
||||
echo Making all in $$dir... ;\
|
||||
(cd $$dir ; $(MAKE) $(MFLAGS)) || exit 1;\
|
||||
(cd $$dir; $(MAKE) -$(MAKEFLAGS)) || break;\
|
||||
done
|
||||
|
||||
#
|
||||
@@ -48,7 +48,7 @@ all:
|
||||
clean:
|
||||
for dir in $(DIRS); do\
|
||||
echo Cleaning in $$dir... ;\
|
||||
(cd $$dir; $(MAKE) $(MFLAGS) clean) || exit 1;\
|
||||
(cd $$dir; $(MAKE) -$(MAKEFLAGS) clean) || break;\
|
||||
done
|
||||
|
||||
#
|
||||
@@ -58,70 +58,36 @@ clean:
|
||||
install:
|
||||
for dir in $(DIRS); do\
|
||||
echo Installing in $$dir... ;\
|
||||
(cd $$dir; $(MAKE) $(MFLAGS) install) || exit 1;\
|
||||
(cd $$dir; $(MAKE) -$(MAKEFLAGS) install) || break;\
|
||||
done
|
||||
echo Installing in conf...
|
||||
(cd conf; $(MAKE) $(MFLAGS) install)
|
||||
(cd conf; $(MAKE) -$(MAKEFLAGS) install)
|
||||
echo Installing in data...
|
||||
(cd data; $(MAKE) $(MFLAGS) install)
|
||||
(cd data; $(MAKE) -$(MAKEFLAGS) install)
|
||||
echo Installing in doc...
|
||||
(cd doc; $(MAKE) -$(MAKEFLAGS) install)
|
||||
echo Installing in fonts...
|
||||
(cd fonts; $(MAKE) $(MFLAGS) install)
|
||||
(cd fonts; $(MAKE) $(MFLAGS) install)
|
||||
echo Installing in locale...
|
||||
(cd fonts; $(MAKE) -$(MAKEFLAGS) install)
|
||||
echo Installing in ppd...
|
||||
(cd ppd; $(MAKE) $(MFLAGS) install)
|
||||
(cd ppd; $(MAKE) -$(MAKEFLAGS) install)
|
||||
echo Installing in templates...
|
||||
(cd templates; $(MAKE) $(MFLAGS) install)
|
||||
echo Installing startup script...
|
||||
if test -d $(prefix)/sbin/init.d; then \
|
||||
$(INSTALL_SCRIPT) cups.sh $(prefix)/sbin/init.d/cups; \
|
||||
$(CHMOD) ugo+rx $(prefix)/sbin/init.d/cups; \
|
||||
ln -s ../init.d/cups $(prefix)/sbin/rc0.d/K000cups; \
|
||||
ln -s ../init.d/cups $(prefix)/sbin/rc2.d/S999cups; \
|
||||
fi
|
||||
if test -d $(prefix)/etc/rc.d/init.d; then \
|
||||
$(INSTALL_SCRIPT) cups.sh $(prefix)/etc/rc.d/init.d/cups; \
|
||||
$(CHMOD) ugo+rx $(prefix)/etc/rc.d/cups; \
|
||||
ln -s ../init.d/cups $(prefix)/etc/rc.d/rc0.d/K00cups; \
|
||||
ln -s ../init.d/cups $(prefix)/etc/rc.d/rc2.d/S99cups; \
|
||||
fi
|
||||
if test -d $(prefix)/etc/init.d; then \
|
||||
$(INSTALL_SCRIPT) cups.sh $(prefix)/etc/init.d/cups; \
|
||||
$(CHMOD) ugo+rx $(prefix)/etc/init.d/cups; \
|
||||
ln -s ../init.d/cups $(prefix)/etc/rc0.d/K00cups; \
|
||||
ln -s ../init.d/cups $(prefix)/etc/rc2.d/S99cups; \
|
||||
fi
|
||||
(cd templates; $(MAKE) -$(MAKEFLAGS) install)
|
||||
|
||||
#
|
||||
# Make software distributions using EPM (http://www.easysw.com/epm)...
|
||||
# Make a software distribution...
|
||||
#
|
||||
|
||||
EPMFLAGS = -v \
|
||||
BINDIR=$(BINDIR) DATADIR=$(DATADIR) \
|
||||
DOCDIR=$(DOCDIR) ESP_ROOT=$(ESP_ROOT) \
|
||||
INCLUDEDIR=$(INCLUDEDIR) LIBDIR=$(LIBDIR) \
|
||||
LOCALEDIR=$(LOCALEDIR) LOGDIR=$(LOGDIR) \
|
||||
MANDIR=$(MANDIR) PAMDIR=$(PAMDIR) \
|
||||
REQUESTS=$(REQUESTS) SBINDIR=$(SBINDIR) \
|
||||
SERVERBIN=$(SERVERBIN) SERVERROOT=$(SERVERROOT)
|
||||
|
||||
epm:
|
||||
epm $(EPMFLAGS) cups
|
||||
epm -v cups
|
||||
|
||||
rpm:
|
||||
epm $(EPMFLAGS) -f rpm cups
|
||||
epm -v -f rpm cups
|
||||
|
||||
deb:
|
||||
epm $(EPMFLAGS) -f deb cups
|
||||
|
||||
depot:
|
||||
epm $(EPMFLAGS) -f depot cups
|
||||
|
||||
pkg:
|
||||
epm $(EPMFLAGS) -f pkg cups
|
||||
epm -v -f deb cups
|
||||
|
||||
tardist:
|
||||
epm $(EPMFLAGS) -f tardist cups
|
||||
epm -v -f tardist cups
|
||||
|
||||
#
|
||||
# End of "$Id$".
|
||||
|
||||
+66
-87
@@ -1,33 +1,52 @@
|
||||
README - CUPS v1.1 - 07/10/2000
|
||||
-------------------------------
|
||||
README - CUPS v1.1b2 - 03/13/2000
|
||||
---------------------------------
|
||||
|
||||
************************************************************************
|
||||
************************************************************************
|
||||
**** ****
|
||||
**** BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE ****
|
||||
**** ****
|
||||
************************************************************************
|
||||
************************************************************************
|
||||
|
||||
This is an official public beta release for the Common UNIX Printing
|
||||
System. Since this is a beta release, we do not recommend that you
|
||||
use this software on a production system. Instead, please use the
|
||||
current 1.0.x release for your production systems.
|
||||
|
||||
Also, currently we are only providing source code for the beta releases.
|
||||
As we approach a final production ("gold") release of CUPS 1.1 we will
|
||||
provide binary distributions as well.
|
||||
|
||||
Please report all problems in the CUPS 1.1 beta releases to
|
||||
"cups-beta@cups.org" or to the CUPS mailing list.
|
||||
|
||||
Thanks for using CUPS!
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
CUPS provides a portable printing layer for UNIX(r)-based operating
|
||||
systems. It has been developed by Easy Software Products to promote a
|
||||
standard printing solution for all UNIX vendors and users. CUPS
|
||||
provides the System V and Berkeley command-line interfaces.
|
||||
The Common UNIX Printing System provides a portable printing layer for
|
||||
UNIX® operating systems. It has been developed by Easy Software
|
||||
Products to promote a standard printing solution for all UNIX vendors
|
||||
and users. CUPS provides the System V and Berkeley command-line
|
||||
interfaces.
|
||||
|
||||
CUPS uses the Internet Printing Protocol ("IPP") as the basis for
|
||||
managing print jobs and queues. The Line Printer Daemon ("LPD") Server
|
||||
Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are
|
||||
also supported with reduced functionality. CUPS adds network printer
|
||||
browsing and PostScript Printer Description ("PPD") based printing
|
||||
options to support real-world printing under UNIX.
|
||||
CUPS uses the Internet Printing Protocol (IETF-IPP) as the basis for
|
||||
managing print jobs and queues. The Line Printer Daemon (LPD, RFC1179)
|
||||
and AppSocket protocols are also supported with reduced functionality.
|
||||
|
||||
CUPS also includes a customized version of GNU Ghostscript (currently
|
||||
based off GNU Ghostscript 5.50) and an image file RIP that are used to
|
||||
support non-PostScript printers. Sample drivers for HP and EPSON
|
||||
printers are included that use these filters.
|
||||
CUPS adds network printer browsing and PostScript Printer Description
|
||||
("PPD")-based printing options to support real world applications under
|
||||
UNIX.
|
||||
|
||||
Drivers for over 2300 printers are provided with our ESP Print Pro
|
||||
software, available at:
|
||||
CUPS also includes a customized version of GNU GhostScript (currently
|
||||
based off GNU GhostScript 5.50) and an image file RIP that can be used
|
||||
to support non-PostScript printers.
|
||||
|
||||
http://www.easysw.com/printpro
|
||||
|
||||
CUPS is licensed under the GNU General Public License and GNU Library
|
||||
General Public License. Please contact Easy Software Products for
|
||||
commercial support and "binary distribution" rights.
|
||||
CUPS is Copyright 1993-2000 by Easy Software Products, All Rights
|
||||
Reserved. CUPS is currently licensed under the terms of the GNU
|
||||
General Public License. Please see the license file for details.
|
||||
|
||||
|
||||
SYSTEM REQUIREMENTS
|
||||
@@ -36,11 +55,10 @@ Binary distributions require a minimum of 10MB of free disk space. We
|
||||
do not recommend using CUPS on a workstation with less than 32MB of RAM
|
||||
or a PC with less than 16MB of RAM.
|
||||
|
||||
If you are installing from source you'll need ANSI-compliant C and C++
|
||||
compilers and optionally one or more image file support libraries.
|
||||
Complete source installation instructions can be found in the CUPS
|
||||
System Administrator's Manual in the files "doc/sam.html" or
|
||||
"doc/sam.pdf".
|
||||
If you are installing from source you'll need an ANSI C compiler and
|
||||
optionally one or more image file support libraries. Complete source
|
||||
installation instructions can be found in the CUPS System
|
||||
Administrator's Manual in the files "doc/sam.html" or "doc/sam.pdf".
|
||||
|
||||
|
||||
SOFTWARE REQUIREMENTS
|
||||
@@ -55,11 +73,11 @@ the binary distributions from Easy Software Products:
|
||||
- Solaris 2.5 or higher (SPARC or Intel)
|
||||
|
||||
|
||||
INSTALLING "PORTABLE" CUPS DISTRIBUTIONS
|
||||
INSTALLING CUPS
|
||||
|
||||
We are currently distributing "portable" CUPS binary distributions in
|
||||
TAR format with installation and removal scripts generated by our ESP
|
||||
Package Manager (EPM) software, which is available from:
|
||||
We are currently distributing CUPS binary distributions in TAR format
|
||||
with installation and removal scripts generated by our ESP Package
|
||||
Manager (EPM) software, which is available from:
|
||||
|
||||
http://www.easysw.com/epm
|
||||
|
||||
@@ -80,14 +98,6 @@ After asking you a few yes/no questions the CUPS software will be
|
||||
installed and the scheduler will be started automatically.
|
||||
|
||||
|
||||
INSTALLING HOST-SPECIFIC (RPM, DEBIAN, ETC.) DISTRIBUTIONS
|
||||
|
||||
The host-specific distributions use the operating system software
|
||||
installation tools. To install a host-specific distribution please
|
||||
consult the CUPS Software Administrators Manual or your operating
|
||||
system documentation.
|
||||
|
||||
|
||||
READING THE DOCUMENTATION
|
||||
|
||||
Once you have installed the software you can access the documentation
|
||||
@@ -96,7 +106,7 @@ Once you have installed the software you can access the documentation
|
||||
http://localhost:631
|
||||
|
||||
If you're having trouble getting that far, the documentation is located
|
||||
in the "/usr/share/doc/cups" directory in the binary distributions, and
|
||||
in the "/usr/share/cups/doc" directory in the binary distributions, and
|
||||
under the "doc" directory in the source archives.
|
||||
|
||||
Please read the documentation before asking questions.
|
||||
@@ -114,9 +124,8 @@ You will be asked for the administration password (root or any other
|
||||
user in the sys/system/root group on your system) and then shown a
|
||||
menu of available functions.
|
||||
|
||||
DO NOT use the hostname for your machine - it will not work with the
|
||||
default CUPS configuration. To enable administration access on other
|
||||
addresses, consult the CUPS Software Administrators Manual.
|
||||
[note: adding, deleting, and modifying classes has not been implemented in
|
||||
beta 2]
|
||||
|
||||
|
||||
SETTING UP PRINTER QUEUES FROM THE COMMAND-LINE
|
||||
@@ -160,8 +169,8 @@ Similarly, for the other sample drivers you can use:
|
||||
HP LaserJet Series laserjet.ppd
|
||||
EPSON Stylus Color Series stcolor.ppd
|
||||
EPSON Stylus Photo Series stphoto.ppd
|
||||
EPSON 9-pin Series epson9.ppd
|
||||
EPSON 24-pin Series epson24.ppd
|
||||
EPSON 9-pin Series epson9.ppd [not in beta 2]
|
||||
EPSON 24-pin Series epson24.ppd [not in beta 2]
|
||||
|
||||
These sample drivers provide basic printing capabilities, but generally
|
||||
do not exercise the full potential of the printers or CUPS. For
|
||||
@@ -184,9 +193,9 @@ driver:
|
||||
lp -omedia=A4 -oresolution=600dpi filename
|
||||
lpr -omedia=A4 -oresolution=600dpi filename
|
||||
|
||||
CUPS recognizes many types of images files as well as PDF, PostScript,
|
||||
HP-GL/2, and text files, so you can print those files directly rather
|
||||
than through an application.
|
||||
CUPS recognizes many types of images files as well as PostScript, HP-GL/2,
|
||||
and text files, so you can print those files directly rather than through
|
||||
an application.
|
||||
|
||||
If you have an application that generates output specifically for your
|
||||
printer then you need to use the "-oraw" or "-l" options:
|
||||
@@ -199,20 +208,10 @@ This will prevent the filters from misinterpreting your print file.
|
||||
|
||||
REPORTING PROBLEMS
|
||||
|
||||
If you have problems, READ THE DOCUMENTATION FIRST! If the
|
||||
documentation does not solve your problems please send an email to
|
||||
cups-support@cups.org. Include your operating system and version,
|
||||
compiler and version, and any errors or problems you've run into. The
|
||||
/var/log/error_log file should also be sent, as it often helps to
|
||||
determine the cause of your problem.
|
||||
|
||||
If you are running a version of Linux, be sure to provide the Linux
|
||||
distribution you have, too.
|
||||
|
||||
Please note that the "cups-support@cups.org" email address goes to the
|
||||
CUPS developers; they are busy people, so your email may go unanswered
|
||||
for days or weeks. Commercial support (with a guaranteed response
|
||||
time) is available from Easy Software Products.
|
||||
If you have problems, please send an email to cups-support@cups.org.
|
||||
Include your operating system and version, compiler and version, and
|
||||
any errors or problems you've run into. If you are running a version
|
||||
of Linux, be sure to provide the Linux distribution you have, too.
|
||||
|
||||
|
||||
OTHER RESOURCES
|
||||
@@ -231,25 +230,10 @@ CUPS is Copyright 1993-2000 by Easy Software Products. CUPS, the CUPS
|
||||
logo, and the Common UNIX Printing System are the trademark property of
|
||||
Easy Software Products.
|
||||
|
||||
The MD5 Digest code is Copyright 1999 Aladdin Enterprises.
|
||||
|
||||
The PostScript RIP software (pstoraster) is based on the GNU
|
||||
Ghostscript 5.50 core, Copyright 1986-1998 by Aladdin Enterprises.
|
||||
|
||||
The PDF filter (pdftops) is based on the Xpdf 0.90 software, Copyright
|
||||
1996-1999 by Derek B. Noonburg.
|
||||
|
||||
This software is based in part on the work of the Independent JPEG
|
||||
Group.
|
||||
|
||||
CUPS is provided under the terms of the GNU General Public License and
|
||||
GNU Library General Public License. This program is distributed in the
|
||||
hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
|
||||
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||
PURPOSE. See the "LICENSE.html", "LICENSE.txt", or "cups.license" files
|
||||
for more information.
|
||||
|
||||
For commercial licensing information, please contact:
|
||||
CUPS is provided under the terms of the GNU General Public License
|
||||
which is located in the files "LICENSE.html" and "LICENSE.txt" (or the
|
||||
file "cups.license" for a binary distribution.) For commercial
|
||||
licensing information, please contact:
|
||||
|
||||
Attn: CUPS Licensing Information
|
||||
Easy Software Products
|
||||
@@ -259,8 +243,3 @@ For commercial licensing information, please contact:
|
||||
Voice: +1.301.373.9603
|
||||
Email: cups-info@cups.org
|
||||
WWW: http://www.cups.org
|
||||
|
||||
Note that commercial licensors may also require a license from Artifex
|
||||
Software Inc. which handles commercial licensing of the Ghostscript
|
||||
software, and from Derek B. Noonburg who developed the Xpdf software
|
||||
used to print PDF files.
|
||||
|
||||
+1
-3
@@ -50,9 +50,7 @@ clean:
|
||||
|
||||
install:
|
||||
-$(MKDIR) $(SERVERBIN)/backend
|
||||
$(CHMOD) ugo+rx $(SERVERBIN)
|
||||
$(CHMOD) ugo+rx $(SERVERBIN)/backend
|
||||
$(INSTALL_BIN) $(BACKENDS) $(SERVERBIN)/backend
|
||||
$(CP) $(BACKENDS) $(SERVERBIN)/backend
|
||||
$(RM) $(SERVERBIN)/backend/http
|
||||
$(LN) ipp $(SERVERBIN)/backend/http
|
||||
|
||||
|
||||
+8
-61
@@ -38,7 +38,6 @@
|
||||
#include <cups/cups.h>
|
||||
#include <cups/language.h>
|
||||
#include <cups/string.h>
|
||||
#include <signal.h>
|
||||
|
||||
|
||||
/*
|
||||
@@ -56,8 +55,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
int i; /* Looping var */
|
||||
int n, n2; /* Attribute values */
|
||||
char *option, /* Name of option */
|
||||
*val, /* Pointer to option value */
|
||||
*s; /* Pointer into option value */
|
||||
const char *val; /* Pointer to option value */
|
||||
int num_options; /* Number of printer options */
|
||||
cups_option_t *options; /* Printer options */
|
||||
char method[255], /* Method in URI */
|
||||
@@ -83,10 +82,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
char buffer[8192]; /* Output buffer */
|
||||
int copies; /* Number of copies remaining */
|
||||
const char *content_type; /* CONTENT_TYPE environment variable */
|
||||
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
|
||||
struct sigaction action; /* Actions for POSIX signals */
|
||||
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
|
||||
int version; /* IPP version */
|
||||
|
||||
|
||||
if (argc == 1)
|
||||
@@ -173,7 +168,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
fprintf(stderr, "INFO: Connecting to %s...\n", hostname);
|
||||
|
||||
if ((http = httpConnect(hostname, port)) == NULL)
|
||||
{
|
||||
if (errno == ECONNREFUSED)
|
||||
{
|
||||
fprintf(stderr, "INFO: Network host \'%s\' is busy; will retry in 30 seconds...",
|
||||
@@ -185,7 +179,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
perror("ERROR: Unable to connect to IPP host");
|
||||
sleep(30);
|
||||
}
|
||||
}
|
||||
}
|
||||
while (http == NULL);
|
||||
|
||||
@@ -205,7 +198,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
|
||||
language = cupsLangDefault();
|
||||
copies_sup = NULL;
|
||||
version = 1;
|
||||
|
||||
do
|
||||
{
|
||||
@@ -214,16 +206,15 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
request->request.op.version[1] = version;
|
||||
request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, "utf-8");
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL,
|
||||
language != NULL ? language->language : "en");
|
||||
language != NULL ? language->language : "C");
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
NULL, uri);
|
||||
@@ -290,7 +281,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
ippRead(http, response);
|
||||
|
||||
ipp_status = response->request.status.status_code;
|
||||
|
||||
|
||||
if (ipp_status > IPP_OK_CONFLICT)
|
||||
{
|
||||
if (ipp_status == IPP_PRINTER_BUSY ||
|
||||
@@ -299,20 +290,10 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
fputs("INFO: Printer busy; will retry in 10 seconds...\n", stderr);
|
||||
sleep(10);
|
||||
}
|
||||
else if (ipp_status == IPP_BAD_REQUEST && version == 1)
|
||||
{
|
||||
/*
|
||||
* Switch to IPP/1.0...
|
||||
*/
|
||||
|
||||
fputs("INFO: Printer does not support IPP/1.1, trying IPP/1.0...\n", stderr);
|
||||
version = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "ERROR: Printer will not accept print file (%x)!\n",
|
||||
ipp_status);
|
||||
fprintf(stderr, "ERROR: %s\n", ippErrorString(ipp_status));
|
||||
status = HTTP_ERROR;
|
||||
}
|
||||
}
|
||||
@@ -332,8 +313,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
}
|
||||
else
|
||||
{
|
||||
response = NULL;
|
||||
|
||||
if (status == HTTP_ERROR)
|
||||
{
|
||||
fprintf(stderr, "WARNING: Did not receive the IPP response (%d)\n",
|
||||
@@ -342,11 +321,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
ipp_status = IPP_PRINTER_BUSY;
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "ERROR: Validate request was not accepted (%d)!\n",
|
||||
status);
|
||||
ipp_status = IPP_FORBIDDEN;
|
||||
}
|
||||
fprintf(stderr, "ERROR: Validate request was not accepted (%d)!\n", status);
|
||||
}
|
||||
|
||||
httpFlush(http);
|
||||
@@ -363,29 +338,9 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
|
||||
return (1);
|
||||
}
|
||||
else if (ipp_status > IPP_OK_CONFLICT)
|
||||
httpReconnect(http);
|
||||
}
|
||||
while (ipp_status > IPP_OK_CONFLICT);
|
||||
|
||||
/*
|
||||
* Now that we are "connected" to the port, ignore SIGTERM so that we
|
||||
* can finish out any page data the driver sends (e.g. to eject the
|
||||
* current page...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
|
||||
sigset(SIGTERM, SIG_IGN);
|
||||
#elif defined(HAVE_SIGACTION)
|
||||
memset(&action, 0, sizeof(action));
|
||||
|
||||
sigemptyset(&action.sa_mask);
|
||||
action.sa_handler = SIG_IGN;
|
||||
sigaction(SIGTERM, &action, NULL);
|
||||
#else
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
#endif /* HAVE_SIGSET */
|
||||
|
||||
/*
|
||||
* See if the printer supports multiple copies...
|
||||
*/
|
||||
@@ -406,16 +361,15 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
request->request.op.version[1] = version;
|
||||
request->request.op.operation_id = IPP_PRINT_JOB;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, "utf-8");
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL,
|
||||
language != NULL ? language->language : "en");
|
||||
language != NULL ? language->language : "C");
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
NULL, uri);
|
||||
@@ -444,9 +398,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
strcasecmp(content_type, "application/vnd.cups-raw") == 0))
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/vnd.cups-raw");
|
||||
else if ((val = cupsGetOption("document-format", num_options, options)) != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, val);
|
||||
else
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/octet-stream");
|
||||
@@ -460,8 +411,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
* Skip the "raw" option - handled above...
|
||||
*/
|
||||
|
||||
if (strcasecmp(options[i].name, "raw") == 0 ||
|
||||
strcasecmp(options[i].name, "document-format") == 0)
|
||||
if (strcasecmp(options[i].name, "raw") == 0)
|
||||
continue;
|
||||
|
||||
/*
|
||||
@@ -646,11 +596,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
sleep(10);
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "ERROR: Print file was not accepted (%04x)!\n",
|
||||
response->request.status.status_code);
|
||||
fprintf(stderr, "ERROR: %s\n", ippErrorString(ipp_status));
|
||||
}
|
||||
}
|
||||
else if ((job_id = ippFindAttribute(response, "job-id", IPP_TAG_INTEGER)) == NULL)
|
||||
fputs("INFO: Print file accepted - job ID unknown.\n", stderr);
|
||||
|
||||
+3
-31
@@ -40,7 +40,6 @@
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <signal.h>
|
||||
|
||||
#if defined(WIN32) || defined(__EMX__)
|
||||
# include <winsock.h>
|
||||
@@ -196,14 +195,12 @@ lpd_command(int fd, /* I - Socket connection to LPD host */
|
||||
bytes = vsnprintf(buf, sizeof(buf), format, ap);
|
||||
va_end(ap);
|
||||
|
||||
fprintf(stderr, "DEBUG: lpd_command %2.2x %s", buf[0], buf + 1);
|
||||
fprintf(stderr, "DEBUG: lpd_command %02.2x %s", buf[0], buf + 1);
|
||||
|
||||
/*
|
||||
* Send the command...
|
||||
*/
|
||||
|
||||
fprintf(stderr, "DEBUG: Sending command string (%d bytes)...\n", bytes);
|
||||
|
||||
if (send(fd, buf, bytes, 0) < bytes)
|
||||
return (-1);
|
||||
|
||||
@@ -211,8 +208,6 @@ lpd_command(int fd, /* I - Socket connection to LPD host */
|
||||
* Read back the status from the command and return it...
|
||||
*/
|
||||
|
||||
fprintf(stderr, "DEBUG: Reading command status...\n");
|
||||
|
||||
if (recv(fd, &status, 1, 0) < 1)
|
||||
return (-1);
|
||||
|
||||
@@ -247,9 +242,6 @@ lpd_queue(char *hostname, /* I - Host to connect to */
|
||||
size_t nbytes, /* Number of bytes written */
|
||||
tbytes; /* Total bytes written */
|
||||
char buffer[8192]; /* Output buffer */
|
||||
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
|
||||
struct sigaction action; /* Actions for POSIX signals */
|
||||
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
|
||||
|
||||
|
||||
/*
|
||||
@@ -308,26 +300,6 @@ lpd_queue(char *hostname, /* I - Host to connect to */
|
||||
break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "INFO: Connected on port %d...\n", port);
|
||||
|
||||
/*
|
||||
* Now that we are "connected" to the port, ignore SIGTERM so that we
|
||||
* can finish out any page data the driver sends (e.g. to eject the
|
||||
* current page...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
|
||||
sigset(SIGTERM, SIG_IGN);
|
||||
#elif defined(HAVE_SIGACTION)
|
||||
memset(&action, 0, sizeof(action));
|
||||
|
||||
sigemptyset(&action.sa_mask);
|
||||
action.sa_handler = SIG_IGN;
|
||||
sigaction(SIGTERM, &action, NULL);
|
||||
#else
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
#endif /* HAVE_SIGSET */
|
||||
|
||||
/*
|
||||
* Next, open the print file and figure out its size...
|
||||
*/
|
||||
@@ -360,14 +332,14 @@ lpd_queue(char *hostname, /* I - Host to connect to */
|
||||
while (copies > 0)
|
||||
{
|
||||
|
||||
snprintf(cptr, sizeof(control) - (cptr - control), "ldfA%03d%s\n",
|
||||
snprintf(cptr, sizeof(control) - (cptr - control), "ldfA%03.3d%s\n",
|
||||
getpid() % 1000, localhost);
|
||||
cptr += strlen(cptr);
|
||||
copies --;
|
||||
}
|
||||
|
||||
snprintf(cptr, sizeof(control) - (cptr - control),
|
||||
"UdfA%03d%s\nNdfA%03d%s\n",
|
||||
"UdfA%03.3d%s\nNdfA%03.3d%s\n",
|
||||
getpid() % 1000, localhost,
|
||||
getpid() % 1000, localhost);
|
||||
|
||||
|
||||
+10
-59
@@ -34,9 +34,7 @@
|
||||
#include <cups/cups.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <cups/string.h>
|
||||
#include <signal.h>
|
||||
|
||||
#if defined(WIN32) || defined(__EMX__)
|
||||
# include <io.h>
|
||||
@@ -86,15 +84,10 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
FILE *fp; /* Print file */
|
||||
int copies; /* Number of copies to print */
|
||||
int fd; /* Parallel device */
|
||||
int wbytes; /* Number of bytes written */
|
||||
size_t nbytes, /* Number of bytes read */
|
||||
size_t nbytes, /* Number of bytes written */
|
||||
tbytes; /* Total number of bytes written */
|
||||
char buffer[8192], /* Output buffer */
|
||||
*bufptr; /* Pointer into buffer */
|
||||
char buffer[8192]; /* Output buffer */
|
||||
struct termios opts; /* Parallel port options */
|
||||
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
|
||||
struct sigaction action; /* Actions for POSIX signals */
|
||||
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
|
||||
|
||||
|
||||
if (argc == 1)
|
||||
@@ -157,23 +150,11 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
* Open the parallel port device...
|
||||
*/
|
||||
|
||||
do
|
||||
if ((fd = open(resource, O_WRONLY)) == -1)
|
||||
{
|
||||
if ((fd = open(resource, O_WRONLY | O_EXCL)) == -1)
|
||||
{
|
||||
if (errno == EBUSY)
|
||||
{
|
||||
fputs("INFO: Parallel port busy; will retry in 30 seconds...\n", stderr);
|
||||
sleep(30);
|
||||
}
|
||||
else
|
||||
{
|
||||
perror("ERROR: Unable to open parallel port device file");
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
perror("ERROR: Unable to open parallel port device file");
|
||||
return (1);
|
||||
}
|
||||
while (fd < 0);
|
||||
|
||||
/*
|
||||
* Set any options provided...
|
||||
@@ -187,24 +168,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
|
||||
tcsetattr(fd, TCSANOW, &opts);
|
||||
|
||||
/*
|
||||
* Now that we are "connected" to the port, ignore SIGTERM so that we
|
||||
* can finish out any page data the driver sends (e.g. to eject the
|
||||
* current page...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
|
||||
sigset(SIGTERM, SIG_IGN);
|
||||
#elif defined(HAVE_SIGACTION)
|
||||
memset(&action, 0, sizeof(action));
|
||||
|
||||
sigemptyset(&action.sa_mask);
|
||||
action.sa_handler = SIG_IGN;
|
||||
sigaction(SIGTERM, &action, NULL);
|
||||
#else
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
#endif /* HAVE_SIGSET */
|
||||
|
||||
/*
|
||||
* Finally, send the print file...
|
||||
*/
|
||||
@@ -226,24 +189,13 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
* Write the print data to the printer...
|
||||
*/
|
||||
|
||||
tbytes += nbytes;
|
||||
bufptr = buffer;
|
||||
|
||||
while (nbytes > 0)
|
||||
if (write(fd, buffer, nbytes) < nbytes)
|
||||
{
|
||||
if ((wbytes = write(fd, bufptr, nbytes)) < 0)
|
||||
if (errno == ENOTTY)
|
||||
wbytes = write(fd, bufptr, nbytes);
|
||||
|
||||
if (wbytes < 0)
|
||||
{
|
||||
perror("ERROR: Unable to send print file to printer");
|
||||
break;
|
||||
}
|
||||
|
||||
nbytes -= wbytes;
|
||||
bufptr += wbytes;
|
||||
perror("ERROR: Unable to send print file to printer");
|
||||
break;
|
||||
}
|
||||
else
|
||||
tbytes += nbytes;
|
||||
|
||||
if (argc > 6)
|
||||
fprintf(stderr, "INFO: Sending print file, %u bytes...\n", tbytes);
|
||||
@@ -541,7 +493,6 @@ list_devices(void)
|
||||
}
|
||||
#elif defined(FreeBSD) || defined(OpenBSD) || defined(NetBSD)
|
||||
int i; /* Looping var */
|
||||
int fd; /* File descriptor */
|
||||
char device[255]; /* Device filename */
|
||||
|
||||
|
||||
|
||||
+17
-66
@@ -23,8 +23,7 @@
|
||||
*
|
||||
* Contents:
|
||||
*
|
||||
* main() - Send a file to the printer or server.
|
||||
* list_devices() - List all serial devices.
|
||||
* main() - Send a file to the printer or server.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -34,9 +33,7 @@
|
||||
#include <cups/cups.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <cups/string.h>
|
||||
#include <signal.h>
|
||||
|
||||
#if defined(WIN32) || defined(__EMX__)
|
||||
# include <io.h>
|
||||
@@ -89,15 +86,10 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
FILE *fp; /* Print file */
|
||||
int copies; /* Number of copies to print */
|
||||
int fd; /* Parallel device */
|
||||
int wbytes; /* Number of bytes written */
|
||||
size_t nbytes, /* Number of bytes read */
|
||||
size_t nbytes, /* Number of bytes written */
|
||||
tbytes; /* Total number of bytes written */
|
||||
char buffer[8192], /* Output buffer */
|
||||
*bufptr; /* Pointer into buffer */
|
||||
char buffer[8192]; /* Output buffer */
|
||||
struct termios opts; /* Parallel port options */
|
||||
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
|
||||
struct sigaction action; /* Actions for POSIX signals */
|
||||
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
|
||||
|
||||
|
||||
if (argc == 1)
|
||||
@@ -160,23 +152,11 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
* Open the serial port device...
|
||||
*/
|
||||
|
||||
do
|
||||
if ((fd = open(resource, O_WRONLY | O_NOCTTY)) == -1)
|
||||
{
|
||||
if ((fd = open(resource, O_WRONLY | O_NOCTTY | O_EXCL)) == -1)
|
||||
{
|
||||
if (errno == EBUSY)
|
||||
{
|
||||
fputs("INFO: Serial port busy; will retry in 30 seconds...\n", stderr);
|
||||
sleep(30);
|
||||
}
|
||||
else
|
||||
{
|
||||
perror("ERROR: Unable to open serial port device file");
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
perror("ERROR: Unable to open serial port device file");
|
||||
return (1);
|
||||
}
|
||||
while (fd < 0);
|
||||
|
||||
/*
|
||||
* Set any options provided...
|
||||
@@ -305,24 +285,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
|
||||
tcsetattr(fd, TCSANOW, &opts);
|
||||
|
||||
/*
|
||||
* Now that we are "connected" to the port, ignore SIGTERM so that we
|
||||
* can finish out any page data the driver sends (e.g. to eject the
|
||||
* current page...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
|
||||
sigset(SIGTERM, SIG_IGN);
|
||||
#elif defined(HAVE_SIGACTION)
|
||||
memset(&action, 0, sizeof(action));
|
||||
|
||||
sigemptyset(&action.sa_mask);
|
||||
action.sa_handler = SIG_IGN;
|
||||
sigaction(SIGTERM, &action, NULL);
|
||||
#else
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
#endif /* HAVE_SIGSET */
|
||||
|
||||
/*
|
||||
* Finally, send the print file...
|
||||
*/
|
||||
@@ -344,24 +306,13 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
* Write the print data to the printer...
|
||||
*/
|
||||
|
||||
tbytes += nbytes;
|
||||
bufptr = buffer;
|
||||
|
||||
while (nbytes > 0)
|
||||
if (write(fd, buffer, nbytes) < nbytes)
|
||||
{
|
||||
if ((wbytes = write(fd, bufptr, nbytes)) < 0)
|
||||
if (errno == ENOTTY)
|
||||
wbytes = write(fd, bufptr, nbytes);
|
||||
|
||||
if (wbytes < 0)
|
||||
{
|
||||
perror("ERROR: Unable to send print file to printer");
|
||||
break;
|
||||
}
|
||||
|
||||
nbytes -= wbytes;
|
||||
bufptr += wbytes;
|
||||
perror("ERROR: Unable to send print file to printer");
|
||||
break;
|
||||
}
|
||||
else
|
||||
tbytes += nbytes;
|
||||
|
||||
if (argc > 6)
|
||||
fprintf(stderr, "INFO: Sending print file, %u bytes...\n", tbytes);
|
||||
@@ -399,7 +350,7 @@ list_devices(void)
|
||||
for (i = 0; i < 4; i ++)
|
||||
{
|
||||
sprintf(device, "/dev/ttyS%d", i);
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("serial serial:%s?baud=115200 \"Unknown\" \"Serial Port #%d\"\n",
|
||||
@@ -627,7 +578,7 @@ list_devices(void)
|
||||
for (i = 0; i < 32; i ++)
|
||||
{
|
||||
sprintf(device, "/dev/ttyd%c", funky_hex[i]);
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("serial serial:%s?baud=115200 \"Unknown\" \"Standard Serial Port #%d\"\n",
|
||||
@@ -643,7 +594,7 @@ list_devices(void)
|
||||
for (j = 0; j < 32; j ++)
|
||||
{
|
||||
sprintf(device, "/dev/ttyc%d%c", i, funky_hex[j]);
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("serial serial:%s?baud=115200 \"Unknown\" \"Cyclades #%d Serial Port #%d\"\n",
|
||||
@@ -659,7 +610,7 @@ list_devices(void)
|
||||
for (j = 0; j < 32; j ++)
|
||||
{
|
||||
sprintf(device, "/dev/ttyD%d%c", i, funky_hex[j]);
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("serial serial:%s?baud=115200 \"Unknown\" \"Digiboard #%d Serial Port #%d\"\n",
|
||||
@@ -674,7 +625,7 @@ list_devices(void)
|
||||
for (i = 0; i < 32; i ++)
|
||||
{
|
||||
sprintf(device, "/dev/ttyE%c", funky_hex[i]);
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("serial serial:%s?baud=115200 \"Unknown\" \"Stallion Serial Port #%d\"\n",
|
||||
@@ -689,7 +640,7 @@ list_devices(void)
|
||||
for (i = 0; i < 128; i ++)
|
||||
{
|
||||
sprintf(device, "/dev/ttyA%d", i + 1);
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY | O_NDELAY)) >= 0)
|
||||
if ((fd = open(device, O_WRONLY | O_NOCTTY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("serial serial:%s?baud=115200 \"Unknown\" \"SX Serial Port #%d\"\n",
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <signal.h>
|
||||
|
||||
#if defined(WIN32) || defined(__EMX__)
|
||||
# include <winsock.h>
|
||||
@@ -80,9 +79,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
*bufptr; /* Pointer into buffer */
|
||||
struct timeval timeout; /* Timeout for select() */
|
||||
fd_set input; /* Input set for select() */
|
||||
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
|
||||
struct sigaction action; /* Actions for POSIX signals */
|
||||
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
|
||||
|
||||
|
||||
if (argc == 1)
|
||||
@@ -182,24 +178,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
break;
|
||||
}
|
||||
|
||||
/*
|
||||
* Now that we are "connected" to the port, ignore SIGTERM so that we
|
||||
* can finish out any page data the driver sends (e.g. to eject the
|
||||
* current page...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
|
||||
sigset(SIGTERM, SIG_IGN);
|
||||
#elif defined(HAVE_SIGACTION)
|
||||
memset(&action, 0, sizeof(action));
|
||||
|
||||
sigemptyset(&action.sa_mask);
|
||||
action.sa_handler = SIG_IGN;
|
||||
sigaction(SIGTERM, &action, NULL);
|
||||
#else
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
#endif /* HAVE_SIGSET */
|
||||
|
||||
/*
|
||||
* Finally, send the print file...
|
||||
*/
|
||||
|
||||
+12
-80
@@ -34,9 +34,7 @@
|
||||
#include <cups/cups.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <cups/string.h>
|
||||
#include <signal.h>
|
||||
|
||||
#if defined(WIN32) || defined(__EMX__)
|
||||
# include <io.h>
|
||||
@@ -75,15 +73,10 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
FILE *fp; /* Print file */
|
||||
int copies; /* Number of copies to print */
|
||||
int fd; /* Parallel device */
|
||||
int wbytes; /* Number of bytes written */
|
||||
size_t nbytes, /* Number of bytes read */
|
||||
size_t nbytes, /* Number of bytes written */
|
||||
tbytes; /* Total number of bytes written */
|
||||
char buffer[8192], /* Output buffer */
|
||||
*bufptr; /* Pointer into buffer */
|
||||
char buffer[8192]; /* Output buffer */
|
||||
struct termios opts; /* Parallel port options */
|
||||
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
|
||||
struct sigaction action; /* Actions for POSIX signals */
|
||||
#endif /* HAVE_SIGACTION && !HAVE_SIGSET */
|
||||
|
||||
|
||||
if (argc == 1)
|
||||
@@ -146,23 +139,11 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
* Open the USB port device...
|
||||
*/
|
||||
|
||||
do
|
||||
if ((fd = open(resource, O_WRONLY)) == -1)
|
||||
{
|
||||
if ((fd = open(resource, O_WRONLY | O_EXCL)) == -1)
|
||||
{
|
||||
if (errno == EBUSY)
|
||||
{
|
||||
fputs("INFO: USB port busy; will retry in 30 seconds...\n", stderr);
|
||||
sleep(30);
|
||||
}
|
||||
else
|
||||
{
|
||||
perror("ERROR: Unable to open USB port device file");
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
perror("ERROR: Unable to open USB port device file");
|
||||
return (1);
|
||||
}
|
||||
while (fd < 0);
|
||||
|
||||
/*
|
||||
* Set any options provided...
|
||||
@@ -176,24 +157,6 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
|
||||
tcsetattr(fd, TCSANOW, &opts);
|
||||
|
||||
/*
|
||||
* Now that we are "connected" to the port, ignore SIGTERM so that we
|
||||
* can finish out any page data the driver sends (e.g. to eject the
|
||||
* current page...
|
||||
*/
|
||||
|
||||
#ifdef HAVE_SIGSET /* Use System V signals over POSIX to avoid bugs */
|
||||
sigset(SIGTERM, SIG_IGN);
|
||||
#elif defined(HAVE_SIGACTION)
|
||||
memset(&action, 0, sizeof(action));
|
||||
|
||||
sigemptyset(&action.sa_mask);
|
||||
action.sa_handler = SIG_IGN;
|
||||
sigaction(SIGTERM, &action, NULL);
|
||||
#else
|
||||
signal(SIGTERM, SIG_IGN);
|
||||
#endif /* HAVE_SIGSET */
|
||||
|
||||
/*
|
||||
* Finally, send the print file...
|
||||
*/
|
||||
@@ -215,24 +178,13 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
|
||||
* Write the print data to the printer...
|
||||
*/
|
||||
|
||||
tbytes += nbytes;
|
||||
bufptr = buffer;
|
||||
|
||||
while (nbytes > 0)
|
||||
if (write(fd, buffer, nbytes) < nbytes)
|
||||
{
|
||||
if ((wbytes = write(fd, bufptr, nbytes)) < 0)
|
||||
if (errno == ENOTTY)
|
||||
wbytes = write(fd, bufptr, nbytes);
|
||||
|
||||
if (wbytes < 0)
|
||||
{
|
||||
perror("ERROR: Unable to send print file to printer");
|
||||
break;
|
||||
}
|
||||
|
||||
nbytes -= wbytes;
|
||||
bufptr += wbytes;
|
||||
perror("ERROR: Unable to send print file to printer");
|
||||
break;
|
||||
}
|
||||
else
|
||||
tbytes += nbytes;
|
||||
|
||||
if (argc > 6)
|
||||
fprintf(stderr, "INFO: Sending print file, %u bytes...\n", tbytes);
|
||||
@@ -312,7 +264,7 @@ list_devices(void)
|
||||
* We were processing a printer device; send the info out...
|
||||
*/
|
||||
|
||||
printf("direct usb:/dev/usb/lp%d \"%s %s\" \"USB Printer #%d\"\n",
|
||||
printf("direct usb:/dev/usb/usblp%d \"%s %s\" \"USB Printer #%d\"\n",
|
||||
i, make, model, i + 1);
|
||||
|
||||
i ++;
|
||||
@@ -328,14 +280,7 @@ list_devices(void)
|
||||
{
|
||||
for (i = 0; i < 8; i ++)
|
||||
{
|
||||
sprintf(device, "/dev/usb/lp%d", i);
|
||||
if ((fd = open(device, O_WRONLY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("direct usb:%s \"Unknown\" \"USB Printer #%d\"\n", device, i + 1);
|
||||
}
|
||||
|
||||
sprintf(device, "/dev/usblp%d", i);
|
||||
sprintf(device, "/dev/usb/usblp%d", i);
|
||||
if ((fd = open(device, O_WRONLY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
@@ -348,19 +293,6 @@ list_devices(void)
|
||||
#elif defined(__hpux)
|
||||
#elif defined(__osf)
|
||||
#elif defined(FreeBSD) || defined(OpenBSD) || defined(NetBSD)
|
||||
int i; /* Looping var */
|
||||
int fd; /* File descriptor */
|
||||
char device[255]; /* Device filename */
|
||||
|
||||
for (i = 0; i < 3; i ++)
|
||||
{
|
||||
sprintf(device, "/dev/ulpt%d", i);
|
||||
if ((fd = open(device, O_WRONLY)) >= 0)
|
||||
{
|
||||
close(fd);
|
||||
printf("direct usb:%s \"Unknown\" \"USB Port #%d\"\n", device, i + 1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
+2
-12
@@ -27,14 +27,12 @@ include ../Makedefs
|
||||
TARGETS = lpc lpq lpr lprm
|
||||
OBJS = lpc.o lpq.o lpr.o lprm.o
|
||||
|
||||
|
||||
#
|
||||
# Make all targets...
|
||||
#
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
|
||||
#
|
||||
# Clean all object files...
|
||||
#
|
||||
@@ -42,19 +40,15 @@ all: $(TARGETS)
|
||||
clean:
|
||||
$(RM) $(OBJS) $(TARGETS)
|
||||
|
||||
|
||||
#
|
||||
# Install all targets...
|
||||
#
|
||||
|
||||
install:
|
||||
-$(MKDIR) $(BINDIR)
|
||||
$(CHMOD) ugo+rx $(BINDIR)
|
||||
$(INSTALL_BIN) lpq lpr lprm $(BINDIR)
|
||||
$(CP) lpq lpr lprm $(BINDIR)
|
||||
-$(MKDIR) $(SBINDIR)
|
||||
$(CHMOD) ugo+rx $(SBINDIR)
|
||||
$(INSTALL_BIN) lpc $(SBINDIR)
|
||||
|
||||
$(CP) lpc $(SBINDIR)
|
||||
|
||||
#
|
||||
# lpc
|
||||
@@ -66,7 +60,6 @@ lpc: lpc.o ../cups/$(LIBCUPS)
|
||||
|
||||
lpc.o: ../cups/cups.h ../Makedefs
|
||||
|
||||
|
||||
#
|
||||
# lpq
|
||||
#
|
||||
@@ -77,7 +70,6 @@ lpq: lpq.o ../cups/$(LIBCUPS)
|
||||
|
||||
lpq.o: ../cups/cups.h ../Makedefs
|
||||
|
||||
|
||||
#
|
||||
# lpr
|
||||
#
|
||||
@@ -88,7 +80,6 @@ lpr: lpr.o ../cups/$(LIBCUPS)
|
||||
|
||||
lpr.o: ../cups/cups.h ../Makedefs
|
||||
|
||||
|
||||
#
|
||||
# lprm
|
||||
#
|
||||
@@ -99,7 +90,6 @@ lprm: lprm.o ../cups/$(LIBCUPS)
|
||||
|
||||
lprm.o: ../cups/cups.h ../Makedefs
|
||||
|
||||
|
||||
#
|
||||
# End of "$Id$".
|
||||
#
|
||||
|
||||
+9
-22
@@ -23,9 +23,8 @@
|
||||
*
|
||||
* Contents:
|
||||
*
|
||||
* main() - Parse options and commands.
|
||||
* show_jobs() - Show jobs.
|
||||
* show_printer() - Show printer status.
|
||||
* main() - Parse options and commands.
|
||||
* show_jobs() - Show jobs.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -233,7 +232,7 @@ show_jobs(http_t *http, /* I - HTTP connection to server */
|
||||
{
|
||||
snprintf(resource, sizeof(resource), "ipp://localhost/printers/%s", dest);
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri",
|
||||
NULL, resource);
|
||||
}
|
||||
|
||||
@@ -250,7 +249,7 @@ show_jobs(http_t *http, /* I - HTTP connection to server */
|
||||
|
||||
jobcount = 0;
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
if ((response = cupsDoRequest(http, request, "/jobs/")) != NULL)
|
||||
{
|
||||
if (response->request.status.status_code > IPP_OK_CONFLICT)
|
||||
{
|
||||
@@ -345,12 +344,9 @@ show_jobs(http_t *http, /* I - HTTP connection to server */
|
||||
continue;
|
||||
}
|
||||
|
||||
/**** TODO - support OSF/1 and Berkeley formats ****/
|
||||
if (!longstatus && jobcount == 0)
|
||||
#ifdef __osf__
|
||||
puts("Rank Owner Pri Job Files Total Size");
|
||||
#else
|
||||
puts("Rank Owner Job Files Total Size");
|
||||
#endif /* __osf__ */
|
||||
puts("Rank Owner Job Files Total Size");
|
||||
|
||||
jobcount ++;
|
||||
|
||||
@@ -362,7 +358,7 @@ show_jobs(http_t *http, /* I - HTTP connection to server */
|
||||
strcpy(rankstr, "active");
|
||||
else
|
||||
{
|
||||
sprintf(rankstr, "%d%s", rank, ranks[rank % 10]);
|
||||
sprintf(rankstr, "%d%s\t", rank, ranks[rank % 10]);
|
||||
rank ++;
|
||||
}
|
||||
|
||||
@@ -371,25 +367,16 @@ show_jobs(http_t *http, /* I - HTTP connection to server */
|
||||
puts("");
|
||||
|
||||
if (jobcopies > 1)
|
||||
snprintf(namestr, sizeof(namestr), "%d copies of %s", jobcopies,
|
||||
jobname);
|
||||
sprintf(namestr, "%d copies of %s", jobcopies, jobname);
|
||||
else
|
||||
{
|
||||
strncpy(namestr, jobname, sizeof(namestr) - 1);
|
||||
namestr[sizeof(namestr) - 1] = '\0';
|
||||
}
|
||||
strcpy(namestr, jobname);
|
||||
|
||||
printf("%s: %-31s [job %d localhost]\n", jobuser, rankstr, jobid);
|
||||
printf(" %-31.31s %d bytes\n", namestr, jobsize);
|
||||
}
|
||||
else
|
||||
#ifdef __osf__
|
||||
printf("%-6s %-10.10s %-4d %-10d %-27.27s %d bytes\n", rankstr, jobuser,
|
||||
jobpriority, jobid, jobname, jobsize);
|
||||
#else
|
||||
printf("%-6s %-10.10s %-15d %-27.27s %d bytes\n", rankstr, jobuser,
|
||||
jobid, jobname, jobsize);
|
||||
#endif /* __osf */
|
||||
|
||||
if (attr == NULL)
|
||||
break;
|
||||
|
||||
+49
-86
@@ -63,17 +63,12 @@ int
|
||||
main(int argc, /* I - Number of command-line arguments */
|
||||
char *argv[]) /* I - Command-line arguments */
|
||||
{
|
||||
int i, j; /* Looping var */
|
||||
int i; /* Looping var */
|
||||
int job_id; /* Job ID */
|
||||
char *printer, /* Destination printer or class */
|
||||
*instance; /* Instance */
|
||||
const char *dest; /* Destination printer */
|
||||
const char *title; /* Job title */
|
||||
int num_copies; /* Number of copies per file */
|
||||
int num_files; /* Number of files to print */
|
||||
const char *files[1000]; /* Files to print */
|
||||
int num_dests; /* Number of destinations */
|
||||
cups_dest_t *dests, /* Destinations */
|
||||
*dest; /* Selected destination */
|
||||
int num_files; /* Number of files printed */
|
||||
int num_options; /* Number of options */
|
||||
cups_option_t *options; /* Options */
|
||||
int deletefile; /* Delete file after print? */
|
||||
@@ -85,9 +80,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
|
||||
deletefile = 0;
|
||||
printer = NULL;
|
||||
num_dests = 0;
|
||||
dests = NULL;
|
||||
dest = cupsGetDefault();
|
||||
num_options = 0;
|
||||
options = NULL;
|
||||
num_files = 0;
|
||||
@@ -144,25 +137,11 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
case 'P' : /* Destination printer or class */
|
||||
if (argv[i][2] != '\0')
|
||||
printer = argv[i] + 2;
|
||||
dest = argv[i] + 2;
|
||||
else
|
||||
{
|
||||
i ++;
|
||||
printer = argv[i];
|
||||
}
|
||||
|
||||
if ((instance = strrchr(printer, '/')) != NULL)
|
||||
*instance++ = '\0';
|
||||
|
||||
if (num_dests == 0)
|
||||
num_dests = cupsGetDests(&dests);
|
||||
|
||||
if ((dest = cupsGetDest(printer, instance, num_dests, dests)) != NULL)
|
||||
{
|
||||
for (j = 0; j < dest->num_options; j ++)
|
||||
num_options = cupsAddOption(dest->options[j].name,
|
||||
dest->options[j].value,
|
||||
num_options, &options);
|
||||
dest = argv[i];
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -201,70 +180,54 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
fprintf(stderr, "lpr: Unknown option \'%c\'!\n", argv[i][1]);
|
||||
return (1);
|
||||
}
|
||||
else if (num_files < 1000)
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Print a file...
|
||||
*/
|
||||
|
||||
files[num_files] = argv[i];
|
||||
num_files ++;
|
||||
|
||||
if (title == NULL)
|
||||
if (dest == NULL)
|
||||
{
|
||||
if ((title = strrchr(argv[i], '/')) != NULL)
|
||||
title ++;
|
||||
else
|
||||
title = argv[i];
|
||||
fputs("lpr: error - no default destination available.\n", stderr);
|
||||
return (1);
|
||||
}
|
||||
|
||||
num_files ++;
|
||||
if (title)
|
||||
job_id = cupsPrintFile(dest, argv[i], title, num_options, options);
|
||||
else
|
||||
{
|
||||
char *filename;
|
||||
|
||||
if ((filename = strrchr(argv[i], '/')) != NULL)
|
||||
filename ++;
|
||||
else
|
||||
filename = argv[i];
|
||||
|
||||
job_id = cupsPrintFile(dest, argv[i], filename, num_options, options);
|
||||
}
|
||||
|
||||
if (job_id < 1)
|
||||
{
|
||||
fprintf(stderr, "lpr: unable to print file \'%s\' - %s.\n",
|
||||
argv[i], ippErrorString(cupsLastError()));
|
||||
return (1);
|
||||
}
|
||||
else if (deletefile)
|
||||
unlink(argv[i]);
|
||||
}
|
||||
else
|
||||
fprintf(stderr, "lpr: Too many files - \"%s\"\n", argv[i]);
|
||||
|
||||
/*
|
||||
* See if we have any files to print; if not, print from stdin...
|
||||
* See if we printed anything; if not, print from stdin...
|
||||
*/
|
||||
|
||||
if (printer == NULL)
|
||||
if (num_files == 0)
|
||||
{
|
||||
if (num_dests == 0)
|
||||
num_dests = cupsGetDests(&dests);
|
||||
|
||||
for (j = 0, dest = dests; j < num_dests; j ++, dest ++)
|
||||
if (dest->is_default)
|
||||
{
|
||||
printer = dests[j].name;
|
||||
|
||||
for (j = 0; j < dest->num_options; j ++)
|
||||
num_options = cupsAddOption(dest->options[j].name,
|
||||
dest->options[j].value,
|
||||
num_options, &options);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (printer == NULL)
|
||||
{
|
||||
fputs("lpr: error - no default destination available.\n", stderr);
|
||||
return (1);
|
||||
}
|
||||
|
||||
if (num_files > 0)
|
||||
{
|
||||
job_id = cupsPrintFiles(printer, num_files, files, title, num_options, options);
|
||||
|
||||
if (deletefile)
|
||||
if (dest == NULL)
|
||||
{
|
||||
/*
|
||||
* Delete print files after printing...
|
||||
*/
|
||||
|
||||
for (i = 0; i < num_files; i ++)
|
||||
unlink(files[i]);
|
||||
fputs("lpr: error - no default destination available.\n", stderr);
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
num_files = 1;
|
||||
|
||||
#ifndef WIN32
|
||||
# if defined(HAVE_SIGSET)
|
||||
@@ -301,23 +264,23 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
fputs("lpr: stdin is empty, so no job has been sent.\n", stderr);
|
||||
fputs("lpr: standard input is empty, so no job has been sent.\n", stderr);
|
||||
return (1);
|
||||
}
|
||||
|
||||
if (title)
|
||||
job_id = cupsPrintFile(printer, tempfile, title, num_options, options);
|
||||
job_id = cupsPrintFile(dest, tempfile, title, num_options, options);
|
||||
else
|
||||
job_id = cupsPrintFile(printer, tempfile, "(stdin)", num_options, options);
|
||||
job_id = cupsPrintFile(dest, tempfile, "(stdin)", num_options, options);
|
||||
|
||||
unlink(tempfile);
|
||||
}
|
||||
|
||||
if (job_id < 1)
|
||||
{
|
||||
fprintf(stderr, "lpr: unable to print file: %s\n",
|
||||
ippErrorString(cupsLastError()));
|
||||
return (1);
|
||||
if (job_id < 1)
|
||||
{
|
||||
fprintf(stderr, "lpr: unable to print standard input - %s.\n",
|
||||
ippErrorString(cupsLastError()));
|
||||
return (1);
|
||||
}
|
||||
}
|
||||
|
||||
return (0);
|
||||
|
||||
+1
-3
@@ -50,9 +50,7 @@ clean:
|
||||
|
||||
install:
|
||||
-$(MKDIR) $(SERVERBIN)/cgi-bin
|
||||
$(CHMOD) ugo+rx $(SERVERBIN)
|
||||
$(CHMOD) ugo+rx $(SERVERBIN)/cgi-bin
|
||||
$(INSTALL_BIN) $(TARGETS) $(SERVERBIN)/cgi-bin
|
||||
$(CP) $(TARGETS) $(SERVERBIN)/cgi-bin
|
||||
|
||||
|
||||
#
|
||||
|
||||
+120
-723
Diferenças do arquivo suprimidas por serem muito extensas
Carregar Diff
+1
-7
@@ -54,9 +54,7 @@ extern const char *cgiGetVariable(const char *name);
|
||||
extern void cgiSetArray(const char *name, int element,
|
||||
const char *value);
|
||||
extern void cgiSetVariable(const char *name, const char *value);
|
||||
extern void cgiCopyTemplateFile(FILE *out, const char *tmpl);
|
||||
extern void cgiCopyTemplateLang(FILE *out, const char *directory,
|
||||
const char *tmpl, const char *lang);
|
||||
extern void cgiCopyTemplateFile(FILE *out, const char *template);
|
||||
|
||||
extern void cgiStartHTML(FILE *out, const char *author,
|
||||
const char *stylesheet,
|
||||
@@ -72,10 +70,6 @@ extern void cgiEMailPart(FILE *mail, const char *type,
|
||||
const char *charset, const char *encoding);
|
||||
extern void cgiEMailClose(FILE *mail);
|
||||
|
||||
extern char *cgiGetCookie(const char *name, char *buf, int buflen);
|
||||
extern void cgiSetCookie(const char *name, const char *value,
|
||||
const char *path, const char *domain,
|
||||
time_t expires, int secure);
|
||||
|
||||
# define cgiGetUser() getenv("REMOTE_USER")
|
||||
# define cgiGetHost() (getenv("REMOTE_HOST") == NULL ? getenv("REMOTE_ADDR") : getenv("REMOTE_HOST"))
|
||||
|
||||
+86
-166
@@ -46,19 +46,16 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
http_t *http; /* Connection to the server */
|
||||
ipp_t *request, /* IPP request */
|
||||
*response; /* IPP response */
|
||||
ipp_status_t status; /* Operation status... */
|
||||
char uri[HTTP_MAX_URI];
|
||||
/* Printer URI */
|
||||
const char *which_jobs; /* Which jobs to show */
|
||||
const char *op; /* Operation to perform, if any */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Get any form variables...
|
||||
*/
|
||||
|
||||
cgiInitialize();
|
||||
op = cgiGetVariable("OP");
|
||||
|
||||
/*
|
||||
* Get the request language...
|
||||
@@ -83,23 +80,90 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
* single printer...
|
||||
*/
|
||||
|
||||
ippSetServerVersion();
|
||||
|
||||
pclass = argv[0];
|
||||
if (strcmp(pclass, "/") == 0 || strcmp(pclass, "classes.cgi") == 0)
|
||||
{
|
||||
pclass = NULL;
|
||||
cgiSetVariable("TITLE", cupsLangString(language, CUPS_MSG_CLASS));
|
||||
cgiSetVariable("TITLE", "Classes");
|
||||
}
|
||||
else
|
||||
cgiSetVariable("TITLE", pclass);
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "header.tmpl", getenv("LANG"));
|
||||
/*
|
||||
* Get the printer info...
|
||||
*/
|
||||
|
||||
if (op == NULL || strcasecmp(op, "print-test-page") != 0)
|
||||
request = ippNew();
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
if (pclass == NULL)
|
||||
{
|
||||
/*
|
||||
* Get the class info...
|
||||
* Build a CUPS_GET_CLASSES request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
*/
|
||||
|
||||
request->request.op.operation_id = CUPS_GET_CLASSES;
|
||||
request->request.op.request_id = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
|
||||
request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/classes/%s", getenv("SERVER_NAME"),
|
||||
pclass);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
}
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
*/
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
{
|
||||
ippSetCGIVars(response);
|
||||
ippDelete(response);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the report...
|
||||
*/
|
||||
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/header.tmpl");
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/classes.tmpl");
|
||||
|
||||
/*
|
||||
* Get jobs for the specified class if a class has been chosen...
|
||||
*/
|
||||
|
||||
if (pclass != NULL)
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_JOBS request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
@@ -110,38 +174,17 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
if (pclass == NULL)
|
||||
{
|
||||
/*
|
||||
* Build a CUPS_GET_CLASSES request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
*/
|
||||
request->request.op.operation_id = IPP_GET_JOBS;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
request->request.op.operation_id = CUPS_GET_CLASSES;
|
||||
request->request.op.request_id = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/classes/%s", getenv("SERVER_NAME"),
|
||||
pclass);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
|
||||
request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/classes/%s", getenv("SERVER_NAME"),
|
||||
pclass);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
}
|
||||
if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
|
||||
NULL, which_jobs);
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
@@ -149,137 +192,14 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
{
|
||||
ippSetCGIVars(response, NULL, NULL);
|
||||
ippSetCGIVars(response);
|
||||
ippDelete(response);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the report...
|
||||
*/
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "classes.tmpl", getenv("LANG"));
|
||||
|
||||
/*
|
||||
* Get jobs for the specified class if a class has been chosen...
|
||||
*/
|
||||
|
||||
if (pclass != NULL)
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_JOBS request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
request->request.op.operation_id = IPP_GET_JOBS;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/classes/%s", getenv("SERVER_NAME"),
|
||||
pclass);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
|
||||
if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
|
||||
NULL, which_jobs);
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
*/
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
{
|
||||
ippSetCGIVars(response, NULL, NULL);
|
||||
ippDelete(response);
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "jobs.tmpl", getenv("LANG"));
|
||||
}
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/jobs.tmpl");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Print a test page...
|
||||
*/
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://localhost/classes/%s", pclass);
|
||||
|
||||
/*
|
||||
* Build an IPP_PRINT_JOB request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
* requesting-user-name
|
||||
* document-format
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
|
||||
request->request.op.operation_id = IPP_PRINT_JOB;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
NULL, uri);
|
||||
|
||||
if (getenv("REMOTE_USER") != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
|
||||
NULL, getenv("REMOTE_USER"));
|
||||
else
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
|
||||
NULL, "root");
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "job-name",
|
||||
NULL, "Test Page");
|
||||
|
||||
ippAddString(request, IPP_TAG_JOB, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/postscript");
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
*/
|
||||
|
||||
if ((response = cupsDoFileRequest(http, request, uri + 15,
|
||||
CUPS_DATADIR "/data/testprint.ps")) != NULL)
|
||||
{
|
||||
status = response->request.status.status_code;
|
||||
ippSetCGIVars(response, NULL, NULL);
|
||||
|
||||
ippDelete(response);
|
||||
}
|
||||
else
|
||||
status = IPP_GONE;
|
||||
|
||||
cgiSetVariable("PRINTER_NAME", pclass);
|
||||
|
||||
if (status > IPP_OK_CONFLICT)
|
||||
{
|
||||
cgiSetVariable("ERROR", ippErrorString(status));
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "error.tmpl", getenv("LANG"));
|
||||
}
|
||||
else
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "test-page.tmpl", getenv("LANG"));
|
||||
}
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "trailer.tmpl", getenv("LANG"));
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/trailer.tmpl");
|
||||
|
||||
/*
|
||||
* Close the HTTP server connection...
|
||||
|
||||
+19
-97
@@ -3,7 +3,7 @@
|
||||
*
|
||||
* IPP variable routines for the Common UNIX Printing System (CUPS).
|
||||
*
|
||||
* Copyright 1997-2000 by Easy Software Products.
|
||||
* Copyright 1997-1999 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Easy Software Products and are protected by Federal
|
||||
@@ -23,8 +23,7 @@
|
||||
*
|
||||
* Contents:
|
||||
*
|
||||
* ippSetServerVersion() - Set the server name and CUPS version...
|
||||
* ippSetCGIVars() - Set CGI variables from an IPP response.
|
||||
* ippSetCGIVars() - Set CGI variables from an IPP response.
|
||||
*/
|
||||
|
||||
/*
|
||||
@@ -34,58 +33,15 @@
|
||||
#include "ipp-var.h"
|
||||
|
||||
|
||||
/*
|
||||
* 'ippGetTemplateDir()' - Get the templates directory...
|
||||
*/
|
||||
|
||||
char * /* O - Template directory */
|
||||
ippGetTemplateDir(void)
|
||||
{
|
||||
const char *datadir; /* CUPS_DATADIR env var */
|
||||
static char templates[1024] = ""; /* Template directory */
|
||||
|
||||
|
||||
if (!templates[0])
|
||||
{
|
||||
/*
|
||||
* Build the template directory pathname...
|
||||
*/
|
||||
|
||||
if ((datadir = getenv("CUPS_DATADIR")) == NULL)
|
||||
datadir = CUPS_DATADIR;
|
||||
|
||||
snprintf(templates, sizeof(templates), "%s/templates", datadir);
|
||||
}
|
||||
|
||||
return (templates);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'ippSetServerVersion()' - Set the server name and CUPS version...
|
||||
*/
|
||||
|
||||
void
|
||||
ippSetServerVersion(void)
|
||||
{
|
||||
cgiSetVariable("SERVER_NAME", getenv("SERVER_NAME"));
|
||||
cgiSetVariable("REMOTE_USER", getenv("REMOTE_USER"));
|
||||
cgiSetVariable("CUPS_VERSION", CUPS_SVERSION);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'ippSetCGIVars()' - Set CGI variables from an IPP response.
|
||||
*/
|
||||
|
||||
void
|
||||
ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
|
||||
const char *filter_name, /* I - Filter name */
|
||||
const char *filter_value) /* I - Filter value */
|
||||
ippSetCGIVars(ipp_t *response) /* I - Response data to be copied... */
|
||||
{
|
||||
int element; /* Element in CGI array */
|
||||
ipp_attribute_t *attr, /* Attribute in response... */
|
||||
*filter; /* Filtering attribute */
|
||||
ipp_attribute_t *attr; /* Attribute in response... */
|
||||
int i; /* Looping var */
|
||||
char name[1024], /* Name of attribute */
|
||||
value[16384], /* Value(s) */
|
||||
@@ -95,13 +51,12 @@ ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
|
||||
hostname[HTTP_MAX_URI],
|
||||
resource[HTTP_MAX_URI],
|
||||
uri[HTTP_MAX_URI];
|
||||
int port; /* URI data */
|
||||
char server[1024]; /* Name of server */
|
||||
int port;
|
||||
|
||||
|
||||
ippSetServerVersion();
|
||||
|
||||
strcpy(server, cupsServer());
|
||||
cgiSetVariable("SERVER_NAME", getenv("SERVER_NAME"));
|
||||
cgiSetVariable("REMOTE_USER", getenv("REMOTE_USER"));
|
||||
cgiSetVariable("CUPS_VERSION", CUPS_SVERSION);
|
||||
|
||||
for (attr = response->attrs;
|
||||
attr && attr->group_tag == IPP_TAG_OPERATION;
|
||||
@@ -113,25 +68,7 @@ ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
|
||||
* Copy attributes to a separator...
|
||||
*/
|
||||
|
||||
if (filter_name)
|
||||
{
|
||||
for (filter = attr;
|
||||
filter != NULL && filter->group_tag != IPP_TAG_ZERO;
|
||||
filter = filter->next)
|
||||
if (filter->name && strcmp(filter->name, filter_name) == 0 &&
|
||||
strcasecmp(filter->values[0].string.text, filter_value) == 0)
|
||||
break;
|
||||
|
||||
if (!filter)
|
||||
return;
|
||||
|
||||
if (filter->group_tag == IPP_TAG_ZERO)
|
||||
{
|
||||
attr = filter;
|
||||
element --;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
/* puts("<HR>");*/
|
||||
|
||||
for (; attr != NULL && attr->group_tag != IPP_TAG_ZERO; attr = attr->next)
|
||||
{
|
||||
@@ -142,6 +79,8 @@ ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
|
||||
if (attr->name == NULL)
|
||||
continue;
|
||||
|
||||
/* printf("<P>%s\n", attr->name);*/
|
||||
|
||||
for (i = 0; attr->name[i]; i ++)
|
||||
if (attr->name[i] == '-')
|
||||
name[i] = '_';
|
||||
@@ -192,34 +131,20 @@ ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
|
||||
break;
|
||||
|
||||
case IPP_TAG_URI :
|
||||
httpSeparate(attr->values[i].string.text, method, username,
|
||||
hostname, &port, resource);
|
||||
|
||||
if (strcmp(method, "ipp") == 0 ||
|
||||
strcmp(method, "http") == 0)
|
||||
{
|
||||
/*
|
||||
* Map localhost access to localhost...
|
||||
*/
|
||||
|
||||
if (strcasecmp(hostname, server) == 0 &&
|
||||
strcmp(getenv("REMOTE_ADDR"), "127.0.0.1") == 0)
|
||||
strcpy(hostname, "localhost");
|
||||
|
||||
/*
|
||||
* Rewrite URI with HTTP address...
|
||||
*/
|
||||
|
||||
if (username[0])
|
||||
if (strncmp(attr->values[i].string.text, "ipp:", 4) == 0)
|
||||
{
|
||||
httpSeparate(attr->values[i].string.text, method, username,
|
||||
hostname, &port, resource);
|
||||
if (username[0])
|
||||
snprintf(uri, sizeof(uri), "http://%s@%s:%d%s", username,
|
||||
hostname, port, resource);
|
||||
else
|
||||
else
|
||||
snprintf(uri, sizeof(uri), "http://%s:%d%s", hostname, port,
|
||||
resource);
|
||||
|
||||
strcat(valptr, uri);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case IPP_TAG_STRING :
|
||||
case IPP_TAG_TEXT :
|
||||
@@ -229,9 +154,6 @@ ippSetCGIVars(ipp_t *response, /* I - Response data to be copied... */
|
||||
case IPP_TAG_LANGUAGE :
|
||||
strcat(valptr, attr->values[i].string.text);
|
||||
break;
|
||||
|
||||
default :
|
||||
break; /* anti-compiler-warning-code */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-4
@@ -38,16 +38,15 @@
|
||||
* Definitions...
|
||||
*/
|
||||
|
||||
#define TEMPLATES ippGetTemplateDir()
|
||||
/*#define TEMPLATES "/home/mike/c/cups/templates"*/
|
||||
#define TEMPLATES CUPS_DATADIR "/templates"
|
||||
|
||||
|
||||
/*
|
||||
* Prototype...
|
||||
*/
|
||||
|
||||
extern char *ippGetTemplateDir(void);
|
||||
extern void ippSetServerVersion(void);
|
||||
extern void ippSetCGIVars(ipp_t *, const char *, const char *);
|
||||
extern void ippSetCGIVars(ipp_t *response);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
+7
-6
@@ -73,10 +73,11 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
printf("Content-Type: text/html;charset=%s\n\n", cupsLangEncoding(language));
|
||||
|
||||
cgiSetVariable("TITLE", "Jobs");
|
||||
cgiSetVariable("SERVER_NAME", getenv("SERVER_NAME"));
|
||||
cgiSetVariable("REMOTE_USER", getenv("REMOTE_USER"));
|
||||
cgiSetVariable("CUPS_VERSION", CUPS_SVERSION);
|
||||
|
||||
ippSetServerVersion();
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "header.tmpl", getenv("LANG"));
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/header.tmpl");
|
||||
|
||||
/*
|
||||
* Build an IPP_GET_JOBS request, which requires the following
|
||||
@@ -111,13 +112,13 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
{
|
||||
ippSetCGIVars(response, NULL, NULL);
|
||||
ippSetCGIVars(response);
|
||||
ippDelete(response);
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "jobs.tmpl", getenv("LANG"));
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/jobs.tmpl");
|
||||
}
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "trailer.tmpl", getenv("LANG"));
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/trailer.tmpl");
|
||||
|
||||
/*
|
||||
* Close the HTTP server connection...
|
||||
|
||||
+85
-165
@@ -46,11 +46,9 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
http_t *http; /* Connection to the server */
|
||||
ipp_t *request, /* IPP request */
|
||||
*response; /* IPP response */
|
||||
ipp_status_t status; /* Operation status... */
|
||||
char uri[HTTP_MAX_URI];
|
||||
/* Printer URI */
|
||||
const char *which_jobs; /* Which jobs to show */
|
||||
const char *op; /* Operation to perform, if any */
|
||||
|
||||
|
||||
/*
|
||||
@@ -58,7 +56,6 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
*/
|
||||
|
||||
cgiInitialize();
|
||||
op = cgiGetVariable("OP");
|
||||
|
||||
/*
|
||||
* Get the request language...
|
||||
@@ -83,23 +80,90 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
* single printer...
|
||||
*/
|
||||
|
||||
ippSetServerVersion();
|
||||
|
||||
printer = argv[0];
|
||||
if (strcmp(printer, "/") == 0 || strcmp(printer, "printers.cgi") == 0)
|
||||
{
|
||||
printer = NULL;
|
||||
cgiSetVariable("TITLE", cupsLangString(language, CUPS_MSG_PRINTER));
|
||||
cgiSetVariable("TITLE", "Printers");
|
||||
}
|
||||
else
|
||||
cgiSetVariable("TITLE", printer);
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "header.tmpl", getenv("LANG"));
|
||||
/*
|
||||
* Get the printer info...
|
||||
*/
|
||||
|
||||
if (op == NULL || strcasecmp(op, "print-test-page") != 0)
|
||||
request = ippNew();
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
if (printer == NULL)
|
||||
{
|
||||
/*
|
||||
* Get the printer info...
|
||||
* Build a CUPS_GET_PRINTERS request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
*/
|
||||
|
||||
request->request.op.operation_id = CUPS_GET_PRINTERS;
|
||||
request->request.op.request_id = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
|
||||
request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/printers/%s", getenv("SERVER_NAME"),
|
||||
printer);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
}
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
*/
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
{
|
||||
ippSetCGIVars(response);
|
||||
ippDelete(response);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the report...
|
||||
*/
|
||||
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/header.tmpl");
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/printers.tmpl");
|
||||
|
||||
/*
|
||||
* Get jobs for the specified printer if a printer has been chosen...
|
||||
*/
|
||||
|
||||
if (printer != NULL)
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_JOBS request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
@@ -110,38 +174,17 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
if (printer == NULL)
|
||||
{
|
||||
/*
|
||||
* Build a CUPS_GET_PRINTERS request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
*/
|
||||
request->request.op.operation_id = IPP_GET_JOBS;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
request->request.op.operation_id = CUPS_GET_PRINTERS;
|
||||
request->request.op.request_id = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_PRINTER_ATTRIBUTES request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/printers/%s", getenv("SERVER_NAME"),
|
||||
printer);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
|
||||
request->request.op.operation_id = IPP_GET_PRINTER_ATTRIBUTES;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/printers/%s", getenv("SERVER_NAME"),
|
||||
printer);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
}
|
||||
if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
|
||||
NULL, which_jobs);
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
@@ -149,137 +192,14 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
{
|
||||
ippSetCGIVars(response, NULL, NULL);
|
||||
ippSetCGIVars(response);
|
||||
ippDelete(response);
|
||||
}
|
||||
|
||||
/*
|
||||
* Write the report...
|
||||
*/
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "printers.tmpl", getenv("LANG"));
|
||||
|
||||
/*
|
||||
* Get jobs for the specified printer if a printer has been chosen...
|
||||
*/
|
||||
|
||||
if (printer != NULL)
|
||||
{
|
||||
/*
|
||||
* Build an IPP_GET_JOBS request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
request->request.op.operation_id = IPP_GET_JOBS;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s/printers/%s", getenv("SERVER_NAME"),
|
||||
printer);
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri", NULL,
|
||||
uri);
|
||||
|
||||
if ((which_jobs = cgiGetVariable("which_jobs")) != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_KEYWORD, "which-jobs",
|
||||
NULL, which_jobs);
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
*/
|
||||
|
||||
if ((response = cupsDoRequest(http, request, "/")) != NULL)
|
||||
{
|
||||
ippSetCGIVars(response, NULL, NULL);
|
||||
ippDelete(response);
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "jobs.tmpl", getenv("LANG"));
|
||||
}
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/jobs.tmpl");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Print a test page...
|
||||
*/
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://localhost/printers/%s", printer);
|
||||
|
||||
/*
|
||||
* Build an IPP_PRINT_JOB request, which requires the following
|
||||
* attributes:
|
||||
*
|
||||
* attributes-charset
|
||||
* attributes-natural-language
|
||||
* printer-uri
|
||||
* requesting-user-name
|
||||
* document-format
|
||||
*/
|
||||
|
||||
request = ippNew();
|
||||
|
||||
request->request.op.operation_id = IPP_PRINT_JOB;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL, language->language);
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
|
||||
NULL, uri);
|
||||
|
||||
if (getenv("REMOTE_USER") != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
|
||||
NULL, getenv("REMOTE_USER"));
|
||||
else
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
|
||||
NULL, "root");
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "job-name",
|
||||
NULL, "Test Page");
|
||||
|
||||
ippAddString(request, IPP_TAG_JOB, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/postscript");
|
||||
|
||||
/*
|
||||
* Do the request and get back a response...
|
||||
*/
|
||||
|
||||
if ((response = cupsDoFileRequest(http, request, uri + 15,
|
||||
CUPS_DATADIR "/data/testprint.ps")) != NULL)
|
||||
{
|
||||
status = response->request.status.status_code;
|
||||
ippSetCGIVars(response, NULL, NULL);
|
||||
|
||||
ippDelete(response);
|
||||
}
|
||||
else
|
||||
status = IPP_GONE;
|
||||
|
||||
cgiSetVariable("PRINTER_NAME", printer);
|
||||
|
||||
if (status > IPP_OK_CONFLICT)
|
||||
{
|
||||
cgiSetVariable("ERROR", ippErrorString(status));
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "error.tmpl", getenv("LANG"));
|
||||
}
|
||||
else
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "test-page.tmpl", getenv("LANG"));
|
||||
}
|
||||
|
||||
cgiCopyTemplateLang(stdout, TEMPLATES, "trailer.tmpl", getenv("LANG"));
|
||||
cgiCopyTemplateFile(stdout, TEMPLATES "/trailer.tmpl");
|
||||
|
||||
/*
|
||||
* Close the HTTP server connection...
|
||||
|
||||
+7
-98
@@ -23,7 +23,6 @@
|
||||
*
|
||||
* cgiCopyTemplateFile() - Copy a template file and replace all the
|
||||
* '{variable}' strings with the variable value.
|
||||
* cgiCopyTemplateLang() - Copy a template file using a language...
|
||||
* cgi_copy() - Copy the template file, substituting as needed...
|
||||
* cgi_puts() - Put a string to the output file, quoting as
|
||||
* needed...
|
||||
@@ -46,85 +45,17 @@ static void cgi_puts(const char *s, FILE *out);
|
||||
*/
|
||||
|
||||
void
|
||||
cgiCopyTemplateFile(FILE *out, /* I - Output file */
|
||||
const char *tmpl) /* I - Template file to read */
|
||||
cgiCopyTemplateFile(FILE *out, /* I - Output file */
|
||||
const char *template) /* I - Template file to read */
|
||||
{
|
||||
FILE *in; /* Input file */
|
||||
|
||||
|
||||
/*
|
||||
* Open the template file...
|
||||
*/
|
||||
|
||||
if ((in = fopen(tmpl, "r")) == NULL)
|
||||
return;
|
||||
|
||||
/*
|
||||
* Parse the file to the end...
|
||||
*/
|
||||
|
||||
cgi_copy(out, in, 0, 0);
|
||||
|
||||
/*
|
||||
* Close the template file and return...
|
||||
*/
|
||||
|
||||
fclose(in);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'cgiCopyTemplateLang()' - Copy a template file using a language...
|
||||
*/
|
||||
|
||||
void
|
||||
cgiCopyTemplateLang(FILE *out, /* I - Output file */
|
||||
const char *directory, /* I - Directory */
|
||||
const char *tmpl, /* I - Base filename */
|
||||
const char *lang) /* I - Language */
|
||||
{
|
||||
int i; /* Looping var */
|
||||
char filename[1024], /* Filename */
|
||||
locale[16]; /* Locale name */
|
||||
FILE *in; /* Input file */
|
||||
|
||||
|
||||
/*
|
||||
* Convert the language to a locale name...
|
||||
*/
|
||||
|
||||
if (lang != NULL)
|
||||
{
|
||||
for (i = 0; lang[i] && i < 15; i ++)
|
||||
if (isalnum(lang[i]))
|
||||
locale[i] = tolower(lang[i]);
|
||||
else
|
||||
locale[i] = '_';
|
||||
|
||||
locale[i] = '\0';
|
||||
}
|
||||
else
|
||||
locale[0] = '\0';
|
||||
|
||||
/*
|
||||
* See if we have a template file for this language...
|
||||
*/
|
||||
|
||||
sprintf(filename, "%s/%s/%s", directory, locale, tmpl);
|
||||
if (access(filename, 0))
|
||||
{
|
||||
locale[2] = '\0';
|
||||
|
||||
sprintf(filename, "%s/%s/%s", directory, locale, tmpl);
|
||||
if (access(filename, 0))
|
||||
sprintf(filename, "%s/%s", directory, tmpl);
|
||||
}
|
||||
|
||||
/*
|
||||
* Open the template file...
|
||||
*/
|
||||
|
||||
if ((in = fopen(filename, "r")) == NULL)
|
||||
if ((in = fopen(template, "r")) == NULL)
|
||||
return;
|
||||
|
||||
/*
|
||||
@@ -154,7 +85,6 @@ cgi_copy(FILE *out, /* I - Output file */
|
||||
int ch; /* Character from file */
|
||||
char op; /* Operation */
|
||||
char name[255], /* Name of variable */
|
||||
*nameptr, /* Pointer into name */
|
||||
innername[255], /* Inner comparison name */
|
||||
*innerptr, /* Pointer into inner name */
|
||||
*s; /* String pointer */
|
||||
@@ -183,7 +113,7 @@ cgi_copy(FILE *out, /* I - Output file */
|
||||
break;
|
||||
else if (s > name && ch == '?')
|
||||
break;
|
||||
else if (s < (name + sizeof(name) - 1))
|
||||
else
|
||||
*s++ = ch;
|
||||
|
||||
*s = '\0';
|
||||
@@ -198,15 +128,6 @@ cgi_copy(FILE *out, /* I - Output file */
|
||||
* Insert value only if it exists...
|
||||
*/
|
||||
|
||||
if ((nameptr = strrchr(name, '-')) != NULL && isdigit(nameptr[1]))
|
||||
{
|
||||
*nameptr++ = '\0';
|
||||
|
||||
if ((value = cgiGetArray(name + 1, atoi(nameptr) - 1)) != NULL)
|
||||
strcpy(outval, value);
|
||||
else
|
||||
outval[0] = '\0';
|
||||
}
|
||||
if ((value = cgiGetArray(name + 1, element)) != NULL)
|
||||
strcpy(outval, value);
|
||||
else
|
||||
@@ -260,15 +181,7 @@ cgi_copy(FILE *out, /* I - Output file */
|
||||
* Insert variable or variable name (if element is NULL)...
|
||||
*/
|
||||
|
||||
if ((nameptr = strrchr(name, '-')) != NULL && isdigit(nameptr[1]))
|
||||
{
|
||||
*nameptr++ = '\0';
|
||||
if ((value = cgiGetArray(name, atoi(nameptr) - 1)) == NULL)
|
||||
sprintf(outval, "{%s}", name);
|
||||
else
|
||||
strcpy(outval, value);
|
||||
}
|
||||
else if ((value = cgiGetArray(name, element)) == NULL)
|
||||
if ((value = cgiGetArray(name, element)) == NULL)
|
||||
sprintf(outval, "{%s}", name);
|
||||
else
|
||||
strcpy(outval, value);
|
||||
@@ -332,8 +245,7 @@ cgi_copy(FILE *out, /* I - Output file */
|
||||
|
||||
innerptr = innername;
|
||||
while ((ch = getc(in)) != EOF && ch != '}')
|
||||
if (innerptr < (innername + sizeof(innername) - 1))
|
||||
*innerptr++ = ch;
|
||||
*innerptr++ = ch;
|
||||
*innerptr = '\0';
|
||||
|
||||
if (innername[0] == '#')
|
||||
@@ -342,7 +254,7 @@ cgi_copy(FILE *out, /* I - Output file */
|
||||
isdigit(innerptr[1]))
|
||||
{
|
||||
*innerptr++ = '\0';
|
||||
if ((innerval = cgiGetArray(innername, atoi(innerptr) - 1)) == NULL)
|
||||
if ((innerval = cgiGetArray(innername, atoi(innerptr))) == NULL)
|
||||
*s = '\0';
|
||||
else
|
||||
strcpy(s, innerval);
|
||||
@@ -389,9 +301,6 @@ cgi_copy(FILE *out, /* I - Output file */
|
||||
case '!' :
|
||||
result = strcasecmp(outval, compare) != 0;
|
||||
break;
|
||||
default :
|
||||
result = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -613,8 +613,6 @@ cgi_initialize_string(const char *data) /* I - Form data string */
|
||||
*s++ = '\0';
|
||||
cgiSetArray(name, atoi(s) - 1, value);
|
||||
}
|
||||
else if (cgiGetVariable(name) != NULL)
|
||||
cgiSetArray(name, cgiGetSize(name), value);
|
||||
else
|
||||
cgiSetVariable(name, value);
|
||||
}
|
||||
|
||||
+6
-5
@@ -52,21 +52,22 @@ clean:
|
||||
|
||||
install:
|
||||
-$(MKDIR) $(SERVERROOT)
|
||||
$(CHMOD) ugo+rx $(SERVERROOT)
|
||||
for file in $(KEEP); do \
|
||||
if test -r $(SERVERROOT)/$$file ; then \
|
||||
$(INSTALL_DATA) $$file $(SERVERROOT)/$$file.N ; \
|
||||
$(CP) $$file $(SERVERROOT)/$$file.N ; \
|
||||
else \
|
||||
$(INSTALL_DATA) $$file $(SERVERROOT) ; \
|
||||
$(CP) $$file $(SERVERROOT) ; \
|
||||
fi ; \
|
||||
done
|
||||
for file in $(REPLACE); do \
|
||||
if test -r $(SERVERROOT)/$$file ; then \
|
||||
$(MV) $(SERVERROOT)/$$file $(SERVERROOT)/$$file.O ; \
|
||||
fi ; \
|
||||
$(INSTALL_DATA) $$file $(SERVERROOT) ; \
|
||||
$(CP) $$file $(SERVERROOT) ; \
|
||||
done
|
||||
|
||||
if test -r /etc/printcap -a ! -r /etc/printcap.O; then \
|
||||
$(CP) /etc/printcap /etc/printcap.O ; \
|
||||
fi
|
||||
|
||||
#
|
||||
# End of "$Id$".
|
||||
|
||||
+8
-2
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: classes.conf 1152 2000-06-22 18:25:29Z mike $"
|
||||
# "$Id: classes.conf 969 2000-03-10 16:56:46Z mike $"
|
||||
#
|
||||
# Sample class configuration file for the Common UNIX Printing System
|
||||
# (CUPS) scheduler.
|
||||
@@ -47,6 +47,12 @@
|
||||
|
||||
#Info Acme LaserPrint 1000 Printers
|
||||
|
||||
#
|
||||
# MoreInfo: a URL for more information on the printer.
|
||||
#
|
||||
|
||||
#MoreInfo http://www.acme.com/lp1000.html
|
||||
|
||||
#
|
||||
# Location: the location of the printer.
|
||||
#
|
||||
@@ -85,5 +91,5 @@
|
||||
#</Class>
|
||||
|
||||
#
|
||||
# End of "$Id: classes.conf 1152 2000-06-22 18:25:29Z mike $".
|
||||
# End of "$Id: classes.conf 969 2000-03-10 16:56:46Z mike $".
|
||||
#
|
||||
|
||||
+203
-263
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: cupsd.conf 1171 2000-06-27 21:15:41Z mike $"
|
||||
# "$Id: cupsd.conf 969 2000-03-10 16:56:46Z mike $"
|
||||
#
|
||||
# Sample configuration file for the Common UNIX Printing System (CUPS)
|
||||
# scheduler.
|
||||
@@ -34,16 +34,58 @@
|
||||
# #
|
||||
########################################################################
|
||||
|
||||
#
|
||||
# Ports/addresses that we listen to. The default port 631 is reserved
|
||||
# for the Internet Printing Protocol (IPP) and is what we use here.
|
||||
#
|
||||
# You can have multiple Port/Listen lines to listen to more than one
|
||||
# port or address, or to restrict access:
|
||||
#
|
||||
# Port 80
|
||||
# Port 631
|
||||
# Listen hostname
|
||||
# Listen hostname:80
|
||||
# Listen hostname:631
|
||||
# Listen 1.2.3.4
|
||||
# Listen 1.2.3.4:631
|
||||
#
|
||||
|
||||
########
|
||||
######## Server Identity
|
||||
########
|
||||
#Port 80
|
||||
Port 631
|
||||
|
||||
#
|
||||
# MaxClients: controls the maximum number of simultaneous clients that
|
||||
# will be handled. Defaults to 100.
|
||||
#
|
||||
|
||||
#MaxClients 100
|
||||
|
||||
#
|
||||
# User/Group: the user and group the server runs under. Normally this
|
||||
# must be lp and sys, however you can configure things for another user
|
||||
# or group as needed.
|
||||
#
|
||||
# Note: the server must be run initially as root to support the
|
||||
# default IPP port of 631. It changes users whenever an external
|
||||
# program is run...
|
||||
#
|
||||
|
||||
#User lp
|
||||
#Group sys
|
||||
|
||||
#
|
||||
# SystemGroup: the group name for "System" (printer administration)
|
||||
# access. The default varies depending on the operating system, but
|
||||
# will be "sys", "system", or "root" (checked for in that order.)
|
||||
#
|
||||
|
||||
#SystemGroup sys
|
||||
|
||||
#
|
||||
# ServerName: the hostname of your server, as advertised to the world.
|
||||
# By default CUPS will use the hostname of the system.
|
||||
#
|
||||
# To set the default server used by clients, see the client.conf file.
|
||||
# To set the default server name used by clients, see the client.conf file.
|
||||
#
|
||||
|
||||
#ServerName myhost.domain.com
|
||||
@@ -55,10 +97,33 @@
|
||||
|
||||
#ServerAdmin root@your.domain.com
|
||||
|
||||
#
|
||||
# ServerRoot: the root directory for the scheduler.
|
||||
# By default /etc/cups.
|
||||
#
|
||||
|
||||
########
|
||||
######## Server Options
|
||||
########
|
||||
#ServerRoot /etc/cups
|
||||
|
||||
#
|
||||
# ServerBin: the root directory for the scheduler executables.
|
||||
# By default /usr/lib/cups.
|
||||
#
|
||||
|
||||
#ServerBin /usr/lib/cups
|
||||
|
||||
#
|
||||
# DocumentRoot: the root directory for the HTTP server.
|
||||
# By default /usr/share/doc/cups.
|
||||
#
|
||||
|
||||
#DocumentRoot /usr/share/doc/cups
|
||||
|
||||
#
|
||||
# RequestRoot: the directory where request files are stored.
|
||||
# By default /var/spool/cups.
|
||||
#
|
||||
|
||||
#RequestRoot /var/spool/cups
|
||||
|
||||
#
|
||||
# AccessLog: the access log file; if this does not start with a leading /
|
||||
@@ -69,41 +134,12 @@
|
||||
# syslog file or daemon.
|
||||
#
|
||||
|
||||
#AccessLog /var/log/cups/access_log
|
||||
|
||||
#
|
||||
# DataDir: the root directory for the CUPS data files.
|
||||
# By default /usr/share/cups.
|
||||
#
|
||||
|
||||
#DataDir /usr/share/cups
|
||||
|
||||
#
|
||||
# DefaultCharset: the default character set to use. If not specified,
|
||||
# defaults to utf-8. Note that this can also be overridden in
|
||||
# HTML documents...
|
||||
#
|
||||
|
||||
#DefaultCharset utf-8
|
||||
|
||||
#
|
||||
# DefaultLanguage: the default language if not specified by the browser.
|
||||
# If not specified, the current locale is used.
|
||||
#
|
||||
|
||||
#DefaultLanguage en
|
||||
|
||||
#
|
||||
# DocumentRoot: the root directory for HTTP documents that are served.
|
||||
# By default the compiled in directory.
|
||||
#
|
||||
|
||||
#DocumentRoot /usr/share/cups/doc
|
||||
#AccessLog logs/access_log
|
||||
|
||||
#
|
||||
# ErrorLog: the error log file; if this does not start with a leading /
|
||||
# then it is assumed to be relative to ServerRoot. By default set to
|
||||
# "/var/log/cups/error_log"
|
||||
# "logs/error_log"
|
||||
#
|
||||
# You can also use the special name "syslog" to send the output to the
|
||||
# syslog file or daemon.
|
||||
@@ -111,6 +147,17 @@
|
||||
|
||||
#ErrorLog /var/log/cups/error_log
|
||||
|
||||
#
|
||||
# PageLog: the page log file; if this does not start with a leading /
|
||||
# then it is assumed to be relative to ServerRoot. By default set to
|
||||
# "logs/page_log"
|
||||
#
|
||||
# You can also use the special name "syslog" to send the output to the
|
||||
# syslog file or daemon.
|
||||
#
|
||||
|
||||
#PageLog /var/log/cups/page_log
|
||||
|
||||
#
|
||||
# LogLevel: controls the number of messages logged to the ErrorLog
|
||||
# file and can be one of the following:
|
||||
@@ -132,116 +179,11 @@ LogLevel info
|
||||
#MaxLogSize 0
|
||||
|
||||
#
|
||||
# PageLog: the page log file; if this does not start with a leading /
|
||||
# then it is assumed to be relative to ServerRoot. By default set to
|
||||
# "/var/log/cups/page_log"
|
||||
#
|
||||
# You can also use the special name "syslog" to send the output to the
|
||||
# syslog file or daemon.
|
||||
# MaxRequestSize: controls the maximum size of HTTP requests and print files.
|
||||
# Set to 0 to disable this feature (defaults to 0.)
|
||||
#
|
||||
|
||||
#PageLog /var/log/cups/page_log
|
||||
|
||||
#
|
||||
# PreserveJobHistory: whether or not to preserve the job history after a
|
||||
# job is completed, cancelled, or stopped. Default is Yes.
|
||||
#
|
||||
|
||||
#PreserveJobHistory Yes
|
||||
|
||||
#
|
||||
# PreserveJobFiles: whether or not to preserve the job files after a
|
||||
# job is completed, cancelled, or stopped. Default is No.
|
||||
#
|
||||
|
||||
#PreserveJobFiles No
|
||||
|
||||
#
|
||||
# Printcap: the name of the printcap file. Default is no filename.
|
||||
# Leave blank to disable printcap file generation.
|
||||
#
|
||||
|
||||
#Printcap /etc/printcap
|
||||
|
||||
#
|
||||
# RequestRoot: the directory where request files are stored.
|
||||
# By default /var/spool/cups.
|
||||
#
|
||||
|
||||
#RequestRoot /var/spool/cups
|
||||
|
||||
#
|
||||
# ServerBin: the root directory for the scheduler executables.
|
||||
# By default /usr/lib/cups or /usr/lib32/cups (IRIX 6.5).
|
||||
#
|
||||
|
||||
#ServerBin /usr/lib/cups
|
||||
|
||||
#
|
||||
# ServerRoot: the root directory for the scheduler.
|
||||
# By default /etc/cups.
|
||||
#
|
||||
|
||||
#ServerRoot /etc/cups
|
||||
|
||||
|
||||
########
|
||||
######## Filter Options
|
||||
########
|
||||
|
||||
#
|
||||
# User/Group: the user and group the server runs under. Normally this
|
||||
# must be lp and sys, however you can configure things for another user
|
||||
# or group as needed.
|
||||
#
|
||||
# Note: the server must be run initially as root to support the
|
||||
# default IPP port of 631. It changes users whenever an external
|
||||
# program is run...
|
||||
#
|
||||
|
||||
#User lp
|
||||
#Group sys
|
||||
|
||||
#
|
||||
# RIPCache: the amount of memory that each RIP should use to cache
|
||||
# bitmaps. The value can be any real number followed by "k" for
|
||||
# kilobytes, "m" for megabytes, "g" for gigabytes, or "t" for tiles
|
||||
# (1 tile = 256x256 pixels.) Defaults to "8m" (8 megabytes).
|
||||
#
|
||||
|
||||
#RIPCache 8m
|
||||
|
||||
#
|
||||
# TempDir: the directory to put temporary files in. This directory must be
|
||||
# writable by the user defined above! Defaults to "/var/tmp" or the value
|
||||
# of the TMPDIR environment variable.
|
||||
#
|
||||
|
||||
#TempDir /var/tmp
|
||||
|
||||
|
||||
########
|
||||
######## Network Options
|
||||
########
|
||||
|
||||
#
|
||||
# Ports/addresses that we listen to. The default port 631 is reserved
|
||||
# for the Internet Printing Protocol (IPP) and is what we use here.
|
||||
#
|
||||
# You can have multiple Port/Listen lines to listen to more than one
|
||||
# port or address, or to restrict access:
|
||||
#
|
||||
# Port 80
|
||||
# Port 631
|
||||
# Listen hostname
|
||||
# Listen hostname:80
|
||||
# Listen hostname:631
|
||||
# Listen 1.2.3.4
|
||||
# Listen 1.2.3.4:631
|
||||
#
|
||||
|
||||
#Port 80
|
||||
Port 631
|
||||
#MaxRequestSize 0
|
||||
|
||||
#
|
||||
# HostNameLookups: whether or not to do lookups on IP addresses to get a
|
||||
@@ -250,6 +192,12 @@ Port 631
|
||||
|
||||
#HostNameLookups On
|
||||
|
||||
#
|
||||
# Timeout: the timeout before requests time out. Default is 300 seconds.
|
||||
#
|
||||
|
||||
#Timeout 300
|
||||
|
||||
#
|
||||
# KeepAlive: whether or not to support the Keep-Alive connection
|
||||
# option. Default is on.
|
||||
@@ -265,29 +213,23 @@ Port 631
|
||||
#KeepAliveTimeout 60
|
||||
|
||||
#
|
||||
# MaxClients: controls the maximum number of simultaneous clients that
|
||||
# will be handled. Defaults to 100.
|
||||
# ImplicitClasses: whether or not to use implicit classes.
|
||||
#
|
||||
# Printer classes can be specified explicitly in the classes.conf
|
||||
# file, implicitly based upon the printers available on the LAN, or
|
||||
# both.
|
||||
#
|
||||
# When ImplicitClasses is On, printers on the LAN with the same name
|
||||
# (e.g. Acme-LaserPrint-1000) will be put into a class with the same
|
||||
# name. This allows you to setup multiple redundant queues on a LAN
|
||||
# without a lot of administrative difficulties. If a user sends a
|
||||
# job to Acme-LaserPrint-1000, the job will go to the first available
|
||||
# queue.
|
||||
#
|
||||
# Enabled by default.
|
||||
#
|
||||
|
||||
#MaxClients 100
|
||||
|
||||
#
|
||||
# MaxRequestSize: controls the maximum size of HTTP requests and print files.
|
||||
# Set to 0 to disable this feature (defaults to 0.)
|
||||
#
|
||||
|
||||
#MaxRequestSize 0
|
||||
|
||||
#
|
||||
# Timeout: the timeout before requests time out. Default is 300 seconds.
|
||||
#
|
||||
|
||||
#Timeout 300
|
||||
|
||||
|
||||
########
|
||||
######## Browsing Options
|
||||
########
|
||||
#ImplicitClasses On
|
||||
|
||||
#
|
||||
# Browsing: whether or not to broadcast printer information to
|
||||
@@ -297,12 +239,35 @@ Port 631
|
||||
#Browsing On
|
||||
|
||||
#
|
||||
# BrowseShortNames: whether or not to use "short" names for remote printers
|
||||
# when possible (e.g. "printer" instead of "printer@host".) Enabled by
|
||||
# default.
|
||||
# BrowseInterval: the time between browsing updates in seconds. Default
|
||||
# is 30 seconds.
|
||||
#
|
||||
# Note that browsing information is sent whenever a printer's state changes
|
||||
# as well, so this represents the maximum time between updates.
|
||||
#
|
||||
# Set this to 0 to disable outgoing broadcasts so your local printers are
|
||||
# not advertised but you can still see printers on other hosts.
|
||||
#
|
||||
|
||||
#BrowseShortNames Yes
|
||||
#BrowseInterval 30
|
||||
|
||||
#
|
||||
# BrowseTimeout: the timeout for network printers - if we don't
|
||||
# get an update within this time the printer will be removed
|
||||
# from the printer list. This number definitely should not be
|
||||
# less the BrowseInterval value for obvious reasons. Defaults
|
||||
# to 300 seconds.
|
||||
#
|
||||
|
||||
#BrowseTimeout 300
|
||||
|
||||
#
|
||||
# BrowsePort: the port used for UDP broadcasts. By default this is
|
||||
# the IPP port; if you change this you need to do it on all servers.
|
||||
# Only one BrowsePort is recognized.
|
||||
#
|
||||
|
||||
#BrowsePort 631
|
||||
|
||||
#
|
||||
# BrowseAddress: specifies a broadcast address to be used. By
|
||||
@@ -316,6 +281,13 @@ Port 631
|
||||
#BrowseAddress x.y.255.255
|
||||
#BrowseAddress x.255.255.255
|
||||
|
||||
#
|
||||
# BrowseOrder: specifies the order of
|
||||
#
|
||||
|
||||
#BrowseOrder allow,deny
|
||||
#BrowseOrder deny,allow
|
||||
|
||||
#
|
||||
# BrowseAllow: specifies an address mask to allow for incoming browser
|
||||
# packets. The default is to allow packets from all addresses.
|
||||
@@ -345,40 +317,6 @@ Port 631
|
||||
#BrowseAllow address
|
||||
#BrowseDeny address
|
||||
|
||||
#
|
||||
# BrowseInterval: the time between browsing updates in seconds. Default
|
||||
# is 30 seconds.
|
||||
#
|
||||
# Note that browsing information is sent whenever a printer's state changes
|
||||
# as well, so this represents the maximum time between updates.
|
||||
#
|
||||
# Set this to 0 to disable outgoing broadcasts so your local printers are
|
||||
# not advertised but you can still see printers on other hosts.
|
||||
#
|
||||
|
||||
#BrowseInterval 30
|
||||
|
||||
#
|
||||
# BrowseOrder: specifies the order of BrowseAllow/BrowseDeny comparisons.
|
||||
#
|
||||
|
||||
#BrowseOrder allow,deny
|
||||
#BrowseOrder deny,allow
|
||||
|
||||
#
|
||||
# BrowsePoll: poll the named server(s) for printers
|
||||
#
|
||||
|
||||
#BrowsePoll address:port
|
||||
|
||||
#
|
||||
# BrowsePort: the port used for UDP broadcasts. By default this is
|
||||
# the IPP port; if you change this you need to do it on all servers.
|
||||
# Only one BrowsePort is recognized.
|
||||
#
|
||||
|
||||
#BrowsePort 631
|
||||
|
||||
#
|
||||
# BrowseRelay: relay browser packets from one address/network to another.
|
||||
#
|
||||
@@ -386,46 +324,70 @@ Port 631
|
||||
#BrowseRelay source-address destination-address
|
||||
|
||||
#
|
||||
# BrowseTimeout: the timeout for network printers - if we don't
|
||||
# get an update within this time the printer will be removed
|
||||
# from the printer list. This number definitely should not be
|
||||
# less the BrowseInterval value for obvious reasons. Defaults
|
||||
# to 300 seconds.
|
||||
# BrowsePoll: poll the named server for printers
|
||||
#
|
||||
|
||||
#BrowseTimeout 300
|
||||
#BrowsePoll address:port
|
||||
|
||||
#
|
||||
# ImplicitClasses: whether or not to use implicit classes.
|
||||
#
|
||||
# Printer classes can be specified explicitly in the classes.conf
|
||||
# file, implicitly based upon the printers available on the LAN, or
|
||||
# both.
|
||||
#
|
||||
# When ImplicitClasses is On, printers on the LAN with the same name
|
||||
# (e.g. Acme-LaserPrint-1000) will be put into a class with the same
|
||||
# name. This allows you to setup multiple redundant queues on a LAN
|
||||
# without a lot of administrative difficulties. If a user sends a
|
||||
# job to Acme-LaserPrint-1000, the job will go to the first available
|
||||
# queue.
|
||||
#
|
||||
# Enabled by default.
|
||||
# DocumentRoot: the root directory for HTTP documents that are served.
|
||||
# By default the compiled in directory.
|
||||
#
|
||||
|
||||
#ImplicitClasses On
|
||||
|
||||
|
||||
########
|
||||
######## Security Options
|
||||
########
|
||||
#DocumentRoot /usr/share/cups/doc
|
||||
|
||||
#
|
||||
# SystemGroup: the group name for "System" (printer administration)
|
||||
# access. The default varies depending on the operating system, but
|
||||
# will be "sys", "system", or "root" (checked for in that order.)
|
||||
# DefaultLanguage: the default language if not specified by the browser.
|
||||
# If not specified, the current locale is used.
|
||||
#
|
||||
|
||||
#SystemGroup sys
|
||||
#DefaultLanguage en
|
||||
|
||||
#
|
||||
# DefaultCharset: the default character set to use. If not specified,
|
||||
# defaults to utf-8. Note that this can also be overridden in
|
||||
# HTML documents...
|
||||
#
|
||||
|
||||
#DefaultCharset utf-8
|
||||
|
||||
#
|
||||
# RIPCache: the amount of memory that each RIP should use to cache
|
||||
# bitmaps. The value can be any real number followed by "k" for
|
||||
# kilobytes, "m" for megabytes, "g" for gigabytes, or "t" for tiles
|
||||
# (1 tile = 256x256 pixels.) Defaults to "8m" (8 megabytes).
|
||||
#
|
||||
|
||||
#RIPCache 8m
|
||||
|
||||
#
|
||||
# TempDir: the directory to put temporary files in. This directory must be
|
||||
# writable by the user defined above! Defaults to "/var/tmp" or the value
|
||||
# of the TMPDIR environment variable.
|
||||
#
|
||||
|
||||
#TempDir /var/tmp
|
||||
|
||||
#
|
||||
# PreserveJobHistory: whether or not to preserve the job history after a
|
||||
# job is completed, cancelled, or stopped. Default is Yes.
|
||||
#
|
||||
|
||||
#PreserveJobHistory Yes
|
||||
|
||||
#
|
||||
# PreserveJobFiles: whether or not to preserve the job files after a
|
||||
# job is completed, cancelled, or stopped. Default is No.
|
||||
#
|
||||
|
||||
#PreserveJobFiles No
|
||||
|
||||
#
|
||||
# Printcap: the name of the printcap file. Default is /etc/printcap.
|
||||
# Leave blank to disable printcap file generation.
|
||||
#
|
||||
|
||||
#Printcap /etc/printcap
|
||||
|
||||
#
|
||||
# Access permissions for each directory served by the scheduler.
|
||||
@@ -438,8 +400,7 @@ Port 631
|
||||
# Digest - Perform authentication using the HTTP Digest method.
|
||||
#
|
||||
# (Note: local certificate authentication can be substituted by
|
||||
# the client for Basic or Digest when connecting to the
|
||||
# localhost interface)
|
||||
# the client for Basic or Digest)
|
||||
#
|
||||
# AuthClass: the authorization class; currently only "Anonymous", "User",
|
||||
# "System" (valid user belonging to group SystemGroup), and "Group"
|
||||
@@ -476,28 +437,7 @@ Port 631
|
||||
<Location />
|
||||
</Location>
|
||||
|
||||
#<Location /classes>
|
||||
#
|
||||
# You may wish to limit access to printers and classes, either with Allow
|
||||
# and Deny lines, or by requiring a username and password.
|
||||
#
|
||||
#</Location>
|
||||
|
||||
#<Location /classes/name>
|
||||
#
|
||||
# You may wish to limit access to printers and classes, either with Allow
|
||||
# and Deny lines, or by requiring a username and password.
|
||||
#
|
||||
#</Location>
|
||||
|
||||
#<Location /printers>
|
||||
#
|
||||
# You may wish to limit access to printers and classes, either with Allow
|
||||
# and Deny lines, or by requiring a username and password.
|
||||
#
|
||||
#</Location>
|
||||
|
||||
#<Location /printers/name>
|
||||
<Location /printers>
|
||||
#
|
||||
# You may wish to limit access to printers and classes, either with Allow
|
||||
# and Deny lines, or by requiring a username and password.
|
||||
@@ -518,11 +458,11 @@ Port 631
|
||||
#Order Deny,Allow
|
||||
#Deny From All
|
||||
#Allow From .mydomain.com
|
||||
#</Location>
|
||||
</Location>
|
||||
|
||||
<Location /admin>
|
||||
#
|
||||
# You definitely will want to limit access to the administration functions.
|
||||
# You definitely will want to limit access to the administration tools.
|
||||
# The default configuration requires a local connection from a user who
|
||||
# is a member of the system group to do any admin tasks. You can change
|
||||
# the group name using the SystemGroup directive.
|
||||
@@ -538,5 +478,5 @@ Allow From 127.0.0.1
|
||||
</Location>
|
||||
|
||||
#
|
||||
# End of "$Id: cupsd.conf 1171 2000-06-27 21:15:41Z mike $".
|
||||
# End of "$Id: cupsd.conf 969 2000-03-10 16:56:46Z mike $".
|
||||
#
|
||||
|
||||
+3
-5
@@ -1,9 +1,9 @@
|
||||
#
|
||||
# "$Id: mime.convs 1019 2000-04-18 19:41:12Z mike $"
|
||||
# "$Id: mime.convs 575 1999-07-30 13:57:16Z mike $"
|
||||
#
|
||||
# MIME converts file for the Common UNIX Printing System (CUPS).
|
||||
#
|
||||
# Copyright 1997-2000 by Easy Software Products.
|
||||
# Copyright 1997-1999 by Easy Software Products.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Easy Software Products and are protected by Federal
|
||||
@@ -47,9 +47,7 @@ application/postscript application/vnd.cups-postscript 50 pstops
|
||||
application/vnd.hp-HPGL application/postscript 50 hpgltops
|
||||
image/* application/vnd.cups-postscript 50 imagetops
|
||||
#text/html application/postscript 50 htmltops
|
||||
text/html application/postscript 50 texttops
|
||||
text/plain application/postscript 50 texttops
|
||||
application/vnd.cups-form application/vnd.cups-postscript 50 formtops
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -60,5 +58,5 @@ image/* application/vnd.cups-raster 50 imagetoraster
|
||||
application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster
|
||||
|
||||
#
|
||||
# End of "$Id: mime.convs 1019 2000-04-18 19:41:12Z mike $".
|
||||
# End of "$Id: mime.convs 575 1999-07-30 13:57:16Z mike $".
|
||||
#
|
||||
|
||||
+10
-15
@@ -1,9 +1,9 @@
|
||||
#
|
||||
# "$Id: mime.types 1152 2000-06-22 18:25:29Z mike $"
|
||||
# "$Id: mime.types 575 1999-07-30 13:57:16Z mike $"
|
||||
#
|
||||
# MIME types file for the Common UNIX Printing System (CUPS).
|
||||
#
|
||||
# Copyright 1997-2000 by Easy Software Products.
|
||||
# Copyright 1997-1999 by Easy Software Products.
|
||||
#
|
||||
# These coded instructions, statements, and computer programs are the
|
||||
# property of Easy Software Products and are protected by Federal
|
||||
@@ -39,13 +39,12 @@
|
||||
# ascii(offset,length) True if bytes are valid printable ASCII
|
||||
# (CR, NL, TAB, BS, 32-126)
|
||||
# printable(offset,length) True if bytes are printable 8-bit chars
|
||||
# (CR, NL, TAB, BS, 32-126, 128-254)
|
||||
# (CR, NL, TAB, BS, 32-126, 160-254)
|
||||
# string(offset,"string") True if bytes are identical to string
|
||||
# char(offset,value) True if byte is identical
|
||||
# short(offset,value) True if 16-bit integer is identical
|
||||
# int(offset,value) True if 32-bit integer is identical
|
||||
# locale("string") True if current locale matches string
|
||||
# contains(offset,range,"string") True if the range contains the string
|
||||
#
|
||||
# General Notes:
|
||||
#
|
||||
@@ -57,7 +56,7 @@
|
||||
# type in the sorted list.
|
||||
#
|
||||
# The "printable" rule differs from the "ascii" rule in that it also
|
||||
# accepts 8-bit characters in the range 128-255.
|
||||
# accepts 8-bit characters in the range 160-254.
|
||||
#
|
||||
# String constants must be surrounded by "" if they contain whitespace.
|
||||
# To instead binary data into a string, use the <hex> notation.
|
||||
@@ -82,11 +81,7 @@ application/vnd.hp-HPGL hpgl string(0,<1b>%) string(0,<1b>&)\
|
||||
|
||||
image/gif gif string(0,GIF87a) string(0,GIF89a)
|
||||
image/png png string(0,<89>PNG)
|
||||
image/jpeg jpeg jpg jpe string(0,<FFD8FF>) &&\
|
||||
(char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
|
||||
char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
|
||||
char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
|
||||
char(3,0xec) char(3,0xed) char(3,0xee) char(3,0xef))
|
||||
image/jpeg jpeg jpg jpe string(6,JFIF)
|
||||
image/tiff tiff tif string(0,MM) string(0,II)
|
||||
image/x-photocd pcd string(2048,PCD_IPI)
|
||||
image/x-portable-anymap pnm
|
||||
@@ -99,9 +94,10 @@ image/x-xpixmap xpm ascii(0,1024) + string(3,"XPM")
|
||||
image/x-xwindowdump xwd
|
||||
image/x-sun-raster ras
|
||||
|
||||
#image/fpx fpx
|
||||
image/x-alias pix short(8,8) short(8,24)
|
||||
image/x-bitmap bmp string(0,BM) && !printable(2,14)
|
||||
# TODO: Add Alias, SoftImage, GIMP??? files
|
||||
#image/x-alias pix
|
||||
#image/x-softimage
|
||||
#image/x-gimp-xcf xcf xcf.gz
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -117,11 +113,10 @@ text/plain txt printable(0,1024)
|
||||
# CUPS-specific types...
|
||||
#
|
||||
|
||||
application/vnd.cups-form string(0,"<CUPSFORM>")
|
||||
application/vnd.cups-postscript string(0,<1B>%-12345X)
|
||||
application/vnd.cups-raster string(0,"RaSt") string(0,"tSaR")
|
||||
application/vnd.cups-raw
|
||||
|
||||
#
|
||||
# End of "$Id: mime.types 1152 2000-06-22 18:25:29Z mike $".
|
||||
# End of "$Id: mime.types 575 1999-07-30 13:57:16Z mike $".
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: printers.conf 1152 2000-06-22 18:25:29Z mike $"
|
||||
# "$Id: printers.conf 969 2000-03-10 16:56:46Z mike $"
|
||||
#
|
||||
# Sample printer configuration file for the Common UNIX Printing System
|
||||
# (CUPS) scheduler.
|
||||
@@ -47,6 +47,12 @@
|
||||
|
||||
#Info Acme LaserPrint 1000
|
||||
|
||||
#
|
||||
# MoreInfo: a URL for more information on the printer.
|
||||
#
|
||||
|
||||
#MoreInfo http://www.acme.com/lp1000.html
|
||||
|
||||
#
|
||||
# Location: the location of the printer.
|
||||
#
|
||||
@@ -92,5 +98,5 @@
|
||||
#</Printer>
|
||||
|
||||
#
|
||||
# End of "$Id: printers.conf 1152 2000-06-22 18:25:29Z mike $".
|
||||
# End of "$Id: printers.conf 969 2000-03-10 16:56:46Z mike $".
|
||||
#
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@
|
||||
* Version of software...
|
||||
*/
|
||||
|
||||
#define CUPS_SVERSION "CUPS v1.1"
|
||||
#define CUPS_SVERSION "CUPS v1.1b2"
|
||||
|
||||
/*
|
||||
* Where are files stored?
|
||||
|
||||
+47
-163
@@ -24,7 +24,7 @@ dnl
|
||||
|
||||
AC_INIT(cups/cups.h)
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_PREFIX_DEFAULT(/)
|
||||
AC_PREFIX_DEFAULT(/usr)
|
||||
|
||||
dnl Get the operating system and version number...
|
||||
|
||||
@@ -41,23 +41,11 @@ OPTIM=""
|
||||
AC_SUBST(OPTIM)
|
||||
PICFLAG=1
|
||||
CFLAGS="${CFLAGS:=}"
|
||||
CXXFLAGS="${CXXFLAGS:=}"
|
||||
|
||||
AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging [default=no]],[if eval "test x$enable_debug = xyes"; then
|
||||
OPTIM="-g "
|
||||
fi])
|
||||
AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries [default=yes]])
|
||||
AC_ARG_ENABLE(libtool_unsupported, [ --enable-libtool-unsupported=LIBTOOL_PATH
|
||||
turn on building with libtool (UNSUPPORTED!) [default=no]],[if eval "test x$enable_libtool_unsupported != xno"; then
|
||||
LIBTOOL="$enable_libtool_unsupported"
|
||||
enable_shared=no
|
||||
echo "WARNING: libtool is not supported or endorsed by Easy Software Products."
|
||||
echo " WE DO NOT PROVIDE TECHNICAL SUPPORT FOR LIBTOOL PROBLEMS."
|
||||
echo " (even if you have a support contract)"
|
||||
else
|
||||
LIBTOOL=""
|
||||
fi])
|
||||
|
||||
if test "$enable_shared" != "no"; then
|
||||
case "$uname" in
|
||||
SunOS* | UNIX_S*)
|
||||
@@ -100,23 +88,11 @@ else
|
||||
DSO=":"
|
||||
fi
|
||||
|
||||
if test "$LIBTOOL" != ""; then
|
||||
LIBCUPS="libcups.la"
|
||||
LIBCUPSIMAGE="libcupsimage.la"
|
||||
LINKCUPS="../cups/\$(LIBCUPS)"
|
||||
LINKCUPSIMAGE="../filter/\$(LIBCUPSIMAGE)"
|
||||
DSO=":"
|
||||
else
|
||||
LINKCUPS="-L../cups -lcups"
|
||||
LINKCUPSIMAGE="-L../filter -lcupsimage"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(pam, [ --enable-pam turn on PAM support [default=yes]])
|
||||
|
||||
dnl Checks for programs...
|
||||
AC_PROG_AWK
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
AC_PROG_CPP
|
||||
AC_PROG_RANLIB
|
||||
AC_PATH_PROG(AR,ar)
|
||||
@@ -145,16 +121,8 @@ AC_CHECK_LIB(c,crypt,LIBS="$LIBS",AC_CHECK_LIB(crypt,crypt))
|
||||
AC_CHECK_HEADER(crypt.h, AC_DEFINE(HAVE_CRYPT_H))
|
||||
AC_CHECK_LIB(sec,getspent)
|
||||
if test "$enable_pam" != "no"; then
|
||||
OLDLIBS="$LIBS"
|
||||
AC_CHECK_LIB(dl,dlopen)
|
||||
AC_CHECK_LIB(pam,pam_start)
|
||||
if test "$ac_cv_lib_pam_pam_start" != "no"; then
|
||||
PAMDIR="/etc/pam.d"
|
||||
else
|
||||
PAMDIR=""
|
||||
LIBS="$OLDLIBS"
|
||||
fi
|
||||
AC_SUBST(PAMDIR)
|
||||
fi
|
||||
|
||||
NETLIBS=""
|
||||
@@ -192,7 +160,7 @@ AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
|
||||
LIBJPEG="-ljpeg"
|
||||
LIBS="$LIBS -ljpeg")
|
||||
|
||||
AC_CHECK_LIB(z, gzgets,
|
||||
AC_CHECK_LIB(z, deflate,
|
||||
AC_DEFINE(HAVE_LIBZ)
|
||||
LIBZ="-lz"
|
||||
LIBS="$LIBS -lz")
|
||||
@@ -200,7 +168,7 @@ AC_CHECK_LIB(z, gzgets,
|
||||
dnl PNG library uses math library functions...
|
||||
AC_CHECK_LIB(m, pow)
|
||||
|
||||
AC_CHECK_LIB(png, png_set_tRNS_to_alpha,
|
||||
AC_CHECK_LIB(png, png_read_info,
|
||||
AC_DEFINE(HAVE_LIBPNG)
|
||||
LIBPNG="-lpng")
|
||||
|
||||
@@ -227,10 +195,7 @@ dnl Checks for vsyslog function.
|
||||
AC_CHECK_FUNCS(vsyslog)
|
||||
|
||||
dnl Checks for signal functions.
|
||||
if test "$uname" != "Linux"; then
|
||||
AC_CHECK_FUNCS(sigset)
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS(sigset)
|
||||
AC_CHECK_FUNCS(sigaction)
|
||||
|
||||
dnl Checks for wait functions.
|
||||
@@ -292,20 +257,16 @@ if test "$DSO" != ":"; then
|
||||
DSOLIBS="\$(LIBJPEG) \$(LIBPNG) \$(LIBTIFF) \$(LIBZ)"
|
||||
IMGLIBS=""
|
||||
|
||||
# The *BSD, HP-UX, and Solaris run-time linkers need help when
|
||||
# deciding where to find a DSO. Add linker options to tell them
|
||||
# where to find the DSO (usually in /usr/lib... duh!)
|
||||
# The HP-UX and Solaris run-time linkers are EXTREMELY stupid when
|
||||
# it comes to deciding where to find a DSO. Add linker options to
|
||||
# tell them where to find the DSO (usually in /usr/lib... duh!)
|
||||
case $uname in
|
||||
HP-UX*)
|
||||
LDFLAGS="$LDFLAGS -Wl,+b,$libdir,+fb"
|
||||
;;
|
||||
SunOS*)
|
||||
# Solaris
|
||||
LDFLAGS="$LDFLAGS -R$libdir"
|
||||
;;
|
||||
FreeBSD* | NetBSD* | OpenBSD*)
|
||||
# *BSD
|
||||
LDFLAGS="$LDFLAGS -Wl,-R$libdir"
|
||||
LDFLAGS="-R$libdir"
|
||||
;;
|
||||
esac
|
||||
else
|
||||
@@ -318,116 +279,39 @@ AC_SUBST(DSOLIBS)
|
||||
AC_SUBST(IMGLIBS)
|
||||
AC_SUBST(LIBCUPS)
|
||||
AC_SUBST(LIBCUPSIMAGE)
|
||||
AC_SUBST(LIBTOOL)
|
||||
AC_SUBST(LINKCUPS)
|
||||
AC_SUBST(LINKCUPSIMAGE)
|
||||
|
||||
dnl Fix "prefix" variable if it hasn't been specified...
|
||||
if test "$prefix" = "NONE"; then
|
||||
prefix="/"
|
||||
fi
|
||||
|
||||
dnl Fix "exec_prefix" variable if it hasn't been specified...
|
||||
if test "$exec_prefix" = "NONE" -a "$prefix" = "/"; then
|
||||
exec_prefix="/usr"
|
||||
fi
|
||||
|
||||
dnl Fix "sharedstatedir" variable if it hasn't been specified...
|
||||
if test "$sharedstatedir" = "\${prefix}/com" -a "$prefix" = "/"; then
|
||||
sharedstatedir="/usr/com"
|
||||
fi
|
||||
|
||||
dnl Fix "infodir" variable if it hasn't been specified...
|
||||
if test "$infodir" = "\${prefix}/info" -a "$prefix" = "/"; then
|
||||
infodir="/usr/info"
|
||||
fi
|
||||
|
||||
dnl Fix "datadir" variable if it hasn't been specified...
|
||||
if test "$datadir" = "\${prefix}/share" -a "$prefix" = "/"; then
|
||||
datadir="/usr/share"
|
||||
fi
|
||||
|
||||
dnl Fix "includedir" variable if it hasn't been specified...
|
||||
if test "$includedir" = "\${prefix}/include" -a "$prefix" = "/"; then
|
||||
includedir="/usr/include"
|
||||
fi
|
||||
|
||||
dnl Fix "localstatedir" variable if it hasn't been specified...
|
||||
if test "$localstatedir" = "\${prefix}/var" -a "$prefix" = "/"; then
|
||||
localstatedir="/var"
|
||||
fi
|
||||
|
||||
dnl Fix "sysconfdir" variable if it hasn't been specified...
|
||||
if test "$sysconfdir" = "\${prefix}/etc" -a "$prefix" = "/"; then
|
||||
sysconfdir="/etc"
|
||||
dnl Fix prefix as needed..
|
||||
if test "$prefix" = "NONE" ; then
|
||||
prefix="/usr"
|
||||
fi
|
||||
|
||||
dnl Fix "libdir" variable for IRIX 6.x...
|
||||
if test "$uname" = "IRIX" -a $uversion -ge 62; then
|
||||
libdir="$exec_prefix/lib32"
|
||||
if test "$uname" = "IRIX" -a $uversion -ge 65; then
|
||||
libdir="${prefix}/lib32"
|
||||
fi
|
||||
|
||||
dnl Fix "mandir" variable...
|
||||
if test "$mandir" = "\${prefix}/man" -a "$prefix" = "/"; then
|
||||
if test "$uname" = "IRIX"; then
|
||||
mandir="/usr/share/catman"
|
||||
else
|
||||
mandir="/usr/man"
|
||||
fi
|
||||
dnl Need special attention for the default location...
|
||||
if test "$prefix" = "/usr" ; then
|
||||
CUPS_SERVERROOT="/etc/cups"
|
||||
CUPS_LOGDIR="/var/log/cups"
|
||||
CUPS_REQUESTS="/var/spool/cups"
|
||||
|
||||
AC_DEFINE_UNQUOTED(CUPS_SERVERROOT, "$CUPS_SERVERROOT")
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOGDIR, "$CUPS_LOGDIR")
|
||||
AC_DEFINE_UNQUOTED(CUPS_REQUESTS, "$CUPS_REQUESTS")
|
||||
else
|
||||
CUPS_SERVERROOT='${prefix}/etc/cups'
|
||||
CUPS_LOGDIR='${prefix}/log/cups'
|
||||
CUPS_REQUESTS='${prefix}/spool/cups'
|
||||
|
||||
AC_DEFINE_UNQUOTED(CUPS_SERVERROOT, "$prefix/etc/cups")
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOGDIR, "$prefix/log/cups")
|
||||
AC_DEFINE_UNQUOTED(CUPS_REQUESTS, "$prefix/spool/cups")
|
||||
fi
|
||||
|
||||
dnl Setup manpage extensions...
|
||||
case "$uname" in
|
||||
FreeBSD* | NetBSD* | OpenBSD*)
|
||||
# *BSD
|
||||
CAT1EXT=0
|
||||
CAT5EXT=0
|
||||
CAT8EXT=0
|
||||
;;
|
||||
IRIX*)
|
||||
# SGI IRIX
|
||||
CAT1EXT=z
|
||||
CAT5EXT=z
|
||||
CAT8EXT=z
|
||||
;;
|
||||
*)
|
||||
# All others
|
||||
CAT1EXT=1
|
||||
CAT5EXT=5
|
||||
CAT8EXT=8
|
||||
;;
|
||||
esac
|
||||
CUPS_SERVERBIN='${prefix}/lib/cups'
|
||||
AC_DEFINE_UNQUOTED(CUPS_SERVERBIN, "$prefix/lib/cups")
|
||||
|
||||
AC_SUBST(CAT1EXT)
|
||||
AC_SUBST(CAT5EXT)
|
||||
AC_SUBST(CAT8EXT)
|
||||
|
||||
dnl Setup default locations...
|
||||
CUPS_SERVERROOT='${prefix}/etc/cups'
|
||||
CUPS_LOGDIR='${prefix}/var/log/cups'
|
||||
CUPS_REQUESTS='${prefix}/var/spool/cups'
|
||||
|
||||
AC_DEFINE_UNQUOTED(CUPS_SERVERROOT, "$prefix/etc/cups")
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOGDIR, "$prefix/var/log/cups")
|
||||
AC_DEFINE_UNQUOTED(CUPS_REQUESTS, "$prefix/var/spool/cups")
|
||||
|
||||
dnl See what directory to put server executables...
|
||||
case "$uname" in
|
||||
FreeBSD* | NetBSD* | OpenBSD*)
|
||||
# *BSD
|
||||
INSTALL_SYSV=""
|
||||
CUPS_SERVERBIN='${exec_prefix}/libexec/cups'
|
||||
AC_DEFINE_UNQUOTED(CUPS_SERVERBIN, "$exec_prefix/libexec/cups")
|
||||
;;
|
||||
*)
|
||||
# All others
|
||||
INSTALL_SYSV="install-sysv"
|
||||
CUPS_SERVERBIN='${exec_prefix}/lib/cups'
|
||||
AC_DEFINE_UNQUOTED(CUPS_SERVERBIN, "$exec_prefix/lib/cups")
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(INSTALL_SYSV)
|
||||
AC_SUBST(CUPS_SERVERROOT)
|
||||
AC_SUBST(CUPS_SERVERBIN)
|
||||
AC_SUBST(CUPS_LOGDIR)
|
||||
@@ -435,36 +319,36 @@ AC_SUBST(CUPS_REQUESTS)
|
||||
|
||||
dnl Set the CUPS_LOCALE directory...
|
||||
case "$uname" in
|
||||
Linux* | FreeBSD* | NetBSD* | OpenBSD*)
|
||||
CUPS_LOCALEDIR='${exec_prefix}/share/locale'
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$exec_prefix/share/locale")
|
||||
Linux)
|
||||
CUPS_LOCALEDIR='${prefix}/share/locale'
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$prefix/share/locale")
|
||||
;;
|
||||
|
||||
OSF1*)
|
||||
CUPS_LOCALEDIR='${exec_prefix}/lib/nls/msg'
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$exec_prefix/lib/nls/msg")
|
||||
OSF1)
|
||||
CUPS_LOCALEDIR='${prefix}/lib/nls/msg'
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$prefix/lib/nls/msg")
|
||||
;;
|
||||
|
||||
*)
|
||||
# This is the standard System V location...
|
||||
CUPS_LOCALEDIR='${exec_prefix}/lib/locale'
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$exec_prefix/lib/locale")
|
||||
CUPS_LOCALEDIR='${prefix}/lib/locale'
|
||||
AC_DEFINE_UNQUOTED(CUPS_LOCALEDIR, "$prefix/lib/locale")
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_SUBST(CUPS_LOCALEDIR)
|
||||
|
||||
dnl Set the CUPS_DATADIR directory...
|
||||
CUPS_DATADIR='${exec_prefix}/share/cups'
|
||||
AC_DEFINE_UNQUOTED(CUPS_DATADIR, "$exec_prefix/share/cups")
|
||||
CUPS_DATADIR='${datadir}/cups'
|
||||
AC_DEFINE_UNQUOTED(CUPS_DATADIR, "$prefix/share/cups")
|
||||
AC_SUBST(CUPS_DATADIR)
|
||||
|
||||
dnl Set the CUPS_DOCROOT directory...
|
||||
CUPS_DOCROOT='${exec_prefix}/share/doc/cups'
|
||||
AC_DEFINE_UNQUOTED(CUPS_DOCROOT, "$exec_prefix/share/doc/cups")
|
||||
AC_SUBST(CUPS_DOCROOT)
|
||||
dnl Set the CUPS_DOCDIR directory...
|
||||
CUPS_DOCDIR='${datadir}/doc/cups'
|
||||
AC_DEFINE_UNQUOTED(CUPS_DOCDIR, "$prefix/share/doc/cups")
|
||||
AC_SUBST(CUPS_DOCDIR)
|
||||
|
||||
AC_OUTPUT(Makedefs cups.sh)
|
||||
AC_OUTPUT(Makedefs)
|
||||
|
||||
dnl
|
||||
dnl End of "$Id$".
|
||||
|
||||
+355
-435
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: cups.list 1202 2000-07-07 21:25:17Z mike $"
|
||||
# "$Id: cups.list 986 2000-03-13 18:56:08Z mike $"
|
||||
#
|
||||
# ESP Package Manager (EPM) file list for the Common UNIX Printing
|
||||
# System (CUPS).
|
||||
@@ -28,479 +28,399 @@
|
||||
%vendor Easy Software Products
|
||||
%license LICENSE.txt
|
||||
%readme README.txt
|
||||
%version 1.1
|
||||
%version 1.1b2
|
||||
%incompat printpro
|
||||
|
||||
%system all
|
||||
# Server files
|
||||
f 0555 root sys $SBINDIR/cupsd scheduler/cupsd
|
||||
|
||||
d 0555 root sys $SERVERBIN -
|
||||
d 0555 root sys $SERVERBIN/backend -
|
||||
f 0555 root sys $SERVERBIN/backend/ipp backend/ipp
|
||||
l 0555 root sys $SERVERBIN/backend/http ipp
|
||||
f 0555 root sys $SERVERBIN/backend/lpd backend/lpd
|
||||
f 0555 root sys $SERVERBIN/backend/parallel backend/parallel
|
||||
f 0555 root sys $SERVERBIN/backend/serial backend/serial
|
||||
f 0555 root sys $SERVERBIN/backend/socket backend/socket
|
||||
f 0555 root sys $SERVERBIN/backend/usb backend/usb
|
||||
d 0555 root sys $SERVERBIN/cgi-bin -
|
||||
f 0555 root sys $SERVERBIN/cgi-bin/admin.cgi cgi-bin/admin.cgi
|
||||
f 0555 root sys $SERVERBIN/cgi-bin/classes.cgi cgi-bin/classes.cgi
|
||||
f 0555 root sys $SERVERBIN/cgi-bin/jobs.cgi cgi-bin/jobs.cgi
|
||||
f 0555 root sys $SERVERBIN/cgi-bin/printers.cgi cgi-bin/printers.cgi
|
||||
d 0555 root sys $SERVERBIN/daemon -
|
||||
f 0555 root sys $SERVERBIN/daemon/cups-lpd scheduler/cups-lpd
|
||||
f 0555 root sys $SERVERBIN/daemon/cups-polld scheduler/cups-polld
|
||||
d 0555 root sys $SERVERBIN/filter -
|
||||
f 0555 root sys $SERVERBIN/filter/pstoraster pstoraster/pstoraster
|
||||
f 0555 root sys $SERVERBIN/filter/pdftops pdftops/pdftops
|
||||
f 0555 root sys $SERVERBIN/filter/imagetops filter/imagetops
|
||||
f 0555 root sys $SERVERBIN/filter/pstops filter/pstops
|
||||
f 0555 root sys $SERVERBIN/filter/texttops filter/texttops
|
||||
f 0555 root sys $SERVERBIN/filter/rastertoepson filter/rastertoepson
|
||||
f 0555 root sys $SERVERBIN/filter/rastertohp filter/rastertohp
|
||||
f 0555 root sys $SERVERBIN/filter/hpgltops filter/hpgltops
|
||||
f 0555 root sys $SERVERBIN/filter/imagetoraster filter/imagetoraster
|
||||
f 0500 root sys /usr/sbin/cupsd scheduler/cupsd
|
||||
f 0555 root sys /usr/lib/cups/backend/ipp backend/ipp
|
||||
l 0555 root sys /usr/lib/cups/backend/http ipp
|
||||
f 0555 root sys /usr/lib/cups/backend/lpd backend/lpd
|
||||
f 0555 root sys /usr/lib/cups/backend/parallel backend/parallel
|
||||
f 0555 root sys /usr/lib/cups/backend/serial backend/serial
|
||||
f 0555 root sys /usr/lib/cups/backend/socket backend/socket
|
||||
f 0555 root sys /usr/lib/cups/backend/usb backend/usb
|
||||
f 0555 root sys /usr/lib/cups/cgi-bin/admin.cgi cgi-bin/admin.cgi
|
||||
f 0555 root sys /usr/lib/cups/cgi-bin/classes.cgi cgi-bin/classes.cgi
|
||||
f 0555 root sys /usr/lib/cups/cgi-bin/jobs.cgi cgi-bin/jobs.cgi
|
||||
f 0555 root sys /usr/lib/cups/cgi-bin/printers.cgi cgi-bin/printers.cgi
|
||||
f 0555 root sys /usr/lib/cups/daemon/cups-polld scheduler/cups-polld
|
||||
f 0555 root sys /usr/lib/cups/filter/pstoraster pstoraster/pstoraster
|
||||
l 0555 root sys /usr/lib/cups/filter/pdftops pstoraster
|
||||
f 0555 root sys /usr/lib/cups/filter/imagetops filter/imagetops
|
||||
f 0555 root sys /usr/lib/cups/filter/pstops filter/pstops
|
||||
f 0555 root sys /usr/lib/cups/filter/texttops filter/texttops
|
||||
f 0555 root sys /usr/lib/cups/filter/rastertoepson filter/rastertoepson
|
||||
f 0555 root sys /usr/lib/cups/filter/rastertohp filter/rastertohp
|
||||
f 0555 root sys /usr/lib/cups/filter/hpgltops filter/hpgltops
|
||||
f 0555 root sys /usr/lib/cups/filter/imagetoraster filter/imagetoraster
|
||||
|
||||
# Admin commands
|
||||
l 0555 root sys $BINDIR/disable $SBINDIR/accept
|
||||
l 0555 root sys $BINDIR/enable $SBINDIR/accept
|
||||
l 0555 root sys $LIBDIR/accept $SBINDIR/accept
|
||||
l 0555 root sys $LIBDIR/lpadmin $SBINDIR/lpadmin
|
||||
l 0555 root sys $LIBDIR/reject accept
|
||||
f 0555 root sys $SBINDIR/accept systemv/accept
|
||||
f 0555 root sys $SBINDIR/lpadmin systemv/lpadmin
|
||||
f 0555 root sys $SBINDIR/lpc berkeley/lpc
|
||||
f 0555 root sys $SBINDIR/lpinfo systemv/lpinfo
|
||||
f 0555 root sys $SBINDIR/lpmove systemv/lpmove
|
||||
l 0555 root sys $SBINDIR/reject accept
|
||||
|
||||
%system irix
|
||||
l 0555 root sys /usr/etc/lpc $SBINDIR/lpc
|
||||
%system all
|
||||
l 0555 root sys /usr/bin/disable /usr/sbin/accept
|
||||
l 0555 root sys /usr/bin/enable /usr/sbin/accept
|
||||
l 0555 root sys /usr/lib/accept /usr/sbin/accept
|
||||
l 0555 root sys /usr/lib/lpadmin /usr/sbin/lpadmin
|
||||
l 0555 root sys /usr/lib/reject accept
|
||||
f 0555 root sys /usr/sbin/accept systemv/accept
|
||||
f 0555 root sys /usr/sbin/lpadmin systemv/lpadmin
|
||||
f 0555 root sys /usr/sbin/lpc berkeley/lpc
|
||||
l 0555 root sys /usr/sbin/reject accept
|
||||
|
||||
# User commands
|
||||
f 0555 root sys $BINDIR/cancel systemv/cancel
|
||||
f 0555 root sys $BINDIR/lp systemv/lp
|
||||
f 0555 root sys $BINDIR/lpoptions systemv/lpoptions
|
||||
f 4555 root sys $BINDIR/lppasswd systemv/lppasswd
|
||||
f 0555 root sys $BINDIR/lpq berkeley/lpq
|
||||
f 0555 root sys $BINDIR/lpr berkeley/lpr
|
||||
f 0555 root sys $BINDIR/lprm berkeley/lprm
|
||||
f 0555 root sys $BINDIR/lpstat systemv/lpstat
|
||||
|
||||
%system irix
|
||||
l 0555 root sys /usr/bsd/lpq $BINDIR/lpq
|
||||
l 0555 root sys /usr/bsd/lpr $BINDIR/lpr
|
||||
l 0555 root sys /usr/bsd/lprm $BINDIR/lprm
|
||||
%system all
|
||||
f 0555 root sys /usr/bin/cancel systemv/cancel
|
||||
f 0555 root sys /usr/bin/lp systemv/lp
|
||||
f 0555 root sys /usr/bin/lpoptions systemv/lpoptions
|
||||
f 4555 root sys /usr/bin/lppasswd systemv/lppasswd
|
||||
f 0555 root sys /usr/bin/lpq berkeley/lpq
|
||||
f 0555 root sys /usr/bin/lpr berkeley/lpr
|
||||
f 0555 root sys /usr/bin/lprm berkeley/lprm
|
||||
f 0555 root sys /usr/bin/lpstat systemv/lpstat
|
||||
|
||||
# DSOs
|
||||
%system hpux
|
||||
f 0555 root sys $LIBDIR/libcups.sl.2 cups/libcups.sl.2
|
||||
l 0555 root sys $LIBDIR/libcups.sl libcups.sl.2
|
||||
f 0555 root sys $LIBDIR/libcupsimage.sl.2 filter/libcupsimage.sl.2
|
||||
l 0555 root sys $LIBDIR/libcupsimage.sl libcupsimage.sl.2
|
||||
%system !hpux
|
||||
f 0555 root sys $LIBDIR/libcups.so.2 cups/libcups.so.2
|
||||
l 0555 root sys $LIBDIR/libcups.so libcups.so.2
|
||||
f 0555 root sys $LIBDIR/libcupsimage.so.2 filter/libcupsimage.so.2
|
||||
l 0555 root sys $LIBDIR/libcupsimage.so libcupsimage.so.2
|
||||
f 0555 root sys /usr/lib/libcups.sl.2 cups/libcups.sl.2
|
||||
l 0555 root sys /usr/lib/libcups.sl libcups.sl.2
|
||||
f 0555 root sys /usr/lib/libcupsimage.sl.2 filter/libcupsimage.sl.2
|
||||
l 0555 root sys /usr/lib/libcupsimage.sl libcupsimage.sl.2
|
||||
%system irix-6.5
|
||||
f 0555 root sys /usr/lib32/libcups.so.2 cups/libcups.so.2
|
||||
l 0555 root sys /usr/lib32/libcups.so libcups.so.2
|
||||
f 0555 root sys /usr/lib32/libcupsimage.so.2 filter/libcupsimage.so.2
|
||||
l 0555 root sys /usr/lib32/libcupsimage.so libcupsimage.so.2
|
||||
%system !irix-6.5 !hpux
|
||||
f 0555 root sys /usr/lib/libcups.so.2 cups/libcups.so.2
|
||||
l 0555 root sys /usr/lib/libcups.so libcups.so.2
|
||||
f 0555 root sys /usr/lib/libcupsimage.so.2 filter/libcupsimage.so.2
|
||||
l 0555 root sys /usr/lib/libcupsimage.so libcupsimage.so.2
|
||||
%system all
|
||||
|
||||
# Directories
|
||||
d 0755 root sys $LOGDIR -
|
||||
d 0755 root sys $REQUESTS -
|
||||
d 0711 root sys /etc/cups/certs
|
||||
d 0755 root sys /etc/cups/interfaces
|
||||
d 0755 root sys /etc/cups/ppd
|
||||
d 0755 root sys /var/log/cups
|
||||
d 0755 root sys /var/spool/cups
|
||||
|
||||
# Data files
|
||||
f 0444 root sys $LOCALEDIR/C/cups_C locale/C/cups_C
|
||||
f 0444 root sys $LOCALEDIR/de/cups_de locale/de/cups_de
|
||||
f 0444 root sys $LOCALEDIR/en/cups_en locale/en/cups_en
|
||||
f 0444 root sys $LOCALEDIR/es/cups_es locale/es/cups_es
|
||||
f 0444 root sys $LOCALEDIR/fr/cups_fr locale/fr/cups_fr
|
||||
f 0444 root sys $LOCALEDIR/it/cups_it locale/it/cups_it
|
||||
%system linux
|
||||
f 0444 root sys /usr/share/locale/C/cups_C locale/C/cups_C
|
||||
f 0444 root sys /usr/share/locale/de/cups_de locale/de/cups_de
|
||||
f 0444 root sys /usr/share/locale/en/cups_en locale/en/cups_en
|
||||
f 0444 root sys /usr/share/locale/es/cups_es locale/es/cups_es
|
||||
f 0444 root sys /usr/share/locale/fr/cups_fr locale/fr/cups_fr
|
||||
f 0444 root sys /usr/share/locale/it/cups_it locale/it/cups_it
|
||||
|
||||
d 0555 root sys $DATADIR -
|
||||
%system dunix
|
||||
f 0444 root sys /usr/lib/nls/msg/C/cups_C locale/C/cups_C
|
||||
f 0444 root sys /usr/lib/nls/msg/de/cups_de locale/de/cups_de
|
||||
f 0444 root sys /usr/lib/nls/msg/en/cups_en locale/en/cups_en
|
||||
f 0444 root sys /usr/lib/nls/msg/es/cups_es locale/es/cups_es
|
||||
f 0444 root sys /usr/lib/nls/msg/fr/cups_fr locale/fr/cups_fr
|
||||
f 0444 root sys /usr/lib/nls/msg/it/cups_it locale/it/cups_it
|
||||
|
||||
d 0555 root sys $DATADIR/banners -
|
||||
f 0444 root sys $DATADIR/banners/classified data/classified
|
||||
f 0444 root sys $DATADIR/banners/confidential data/confidential
|
||||
f 0444 root sys $DATADIR/banners/secret data/secret
|
||||
f 0444 root sys $DATADIR/banners/standard data/standard
|
||||
f 0444 root sys $DATADIR/banners/topsecret data/topsecret
|
||||
f 0444 root sys $DATADIR/banners/unclassified data/unclassified
|
||||
%system !linux dunix
|
||||
f 0444 root sys /usr/lib/locale/C/cups_C locale/C/cups_C
|
||||
f 0444 root sys /usr/lib/locale/de/cups_de locale/de/cups_de
|
||||
f 0444 root sys /usr/lib/locale/en/cups_en locale/en/cups_en
|
||||
f 0444 root sys /usr/lib/locale/es/cups_es locale/es/cups_es
|
||||
f 0444 root sys /usr/lib/locale/fr/cups_fr locale/fr/cups_fr
|
||||
f 0444 root sys /usr/lib/locale/it/cups_it locale/it/cups_it
|
||||
|
||||
d 0555 root sys $DATADIR/charsets -
|
||||
f 0444 root sys $DATADIR/charsets/windows-874 data/windows-874
|
||||
f 0444 root sys $DATADIR/charsets/windows-1250 data/windows-1250
|
||||
f 0444 root sys $DATADIR/charsets/windows-1251 data/windows-1251
|
||||
f 0444 root sys $DATADIR/charsets/windows-1252 data/windows-1252
|
||||
f 0444 root sys $DATADIR/charsets/windows-1253 data/windows-1253
|
||||
f 0444 root sys $DATADIR/charsets/windows-1254 data/windows-1254
|
||||
f 0444 root sys $DATADIR/charsets/windows-1255 data/windows-1255
|
||||
f 0444 root sys $DATADIR/charsets/windows-1256 data/windows-1256
|
||||
f 0444 root sys $DATADIR/charsets/windows-1257 data/windows-1257
|
||||
f 0444 root sys $DATADIR/charsets/windows-1258 data/windows-1258
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-1 data/iso-8859-1
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-14 data/iso-8859-14
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-15 data/iso-8859-15
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-2 data/iso-8859-2
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-3 data/iso-8859-3
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-4 data/iso-8859-4
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-5 data/iso-8859-5
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-6 data/iso-8859-6
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-7 data/iso-8859-7
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-8 data/iso-8859-8
|
||||
f 0444 root sys $DATADIR/charsets/iso-8859-9 data/iso-8859-9
|
||||
f 0444 root sys $DATADIR/charsets/utf-8 data/utf-8
|
||||
%system all
|
||||
f 0444 root sys /usr/share/cups/charsets/cp874 data/cp874
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1250 data/cp1250
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1251 data/cp1251
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1252 data/cp1252
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1253 data/cp1253
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1254 data/cp1254
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1255 data/cp1255
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1256 data/cp1256
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1257 data/cp1257
|
||||
f 0444 root sys /usr/share/cups/charsets/cp1258 data/cp1258
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-1 data/iso-8859-1
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-14 data/iso-8859-14
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-15 data/iso-8859-15
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-2 data/iso-8859-2
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-3 data/iso-8859-3
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-4 data/iso-8859-4
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-5 data/iso-8859-5
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-6 data/iso-8859-6
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-7 data/iso-8859-7
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-8 data/iso-8859-8
|
||||
f 0444 root sys /usr/share/cups/charsets/iso-8859-9 data/iso-8859-9
|
||||
f 0444 root sys /usr/share/cups/charsets/utf-8 data/utf-8
|
||||
|
||||
d 0555 root sys $DATADIR/data -
|
||||
f 0444 root sys $DATADIR/data/HPGLprolog data/HPGLprolog
|
||||
f 0444 root sys $DATADIR/data/psglyphs data/psglyphs
|
||||
f 0444 root sys $DATADIR/data/testprint.ps data/testprint.ps
|
||||
f 0444 root sys /usr/share/cups/data/HPGLprolog data/HPGLprolog
|
||||
f 0444 root sys /usr/share/cups/data/psglyphs data/psglyphs
|
||||
f 0444 root sys /usr/share/cups/data/testprint.ps data/testprint.ps
|
||||
f 0444 root sys /usr/share/cups/fonts/AvantGarde-Book fonts/AvantGarde-Book
|
||||
f 0444 root sys /usr/share/cups/fonts/AvantGarde-BookOblique fonts/AvantGarde-BookOblique
|
||||
f 0444 root sys /usr/share/cups/fonts/AvantGarde-Demi fonts/AvantGarde-Demi
|
||||
f 0444 root sys /usr/share/cups/fonts/AvantGarde-DemiOblique fonts/AvantGarde-DemiOblique
|
||||
f 0444 root sys /usr/share/cups/fonts/Bookman-Demi fonts/Bookman-Demi
|
||||
f 0444 root sys /usr/share/cups/fonts/Bookman-DemiItalic fonts/Bookman-DemiItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/Bookman-Light fonts/Bookman-Light
|
||||
f 0444 root sys /usr/share/cups/fonts/Bookman-LightItalic fonts/Bookman-LightItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/Charter-Bold fonts/Charter-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/Charter-BoldItalic fonts/Charter-BoldItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/Charter-Italic fonts/Charter-Italic
|
||||
f 0444 root sys /usr/share/cups/fonts/Charter-Roman fonts/Charter-Roman
|
||||
f 0444 root sys /usr/share/cups/fonts/Courier fonts/Courier
|
||||
f 0444 root sys /usr/share/cups/fonts/Courier-Bold fonts/Courier-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/Courier-BoldOblique fonts/Courier-BoldOblique
|
||||
f 0444 root sys /usr/share/cups/fonts/Courier-Oblique fonts/Courier-Oblique
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica fonts/Helvetica
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica-Bold fonts/Helvetica-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica-BoldOblique fonts/Helvetica-BoldOblique
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica-Narrow fonts/Helvetica-Narrow
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica-Narrow-Bold fonts/Helvetica-Narrow-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica-Narrow-BoldOblique fonts/Helvetica-Narrow-BoldOblique
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica-Narrow-Oblique fonts/Helvetica-Narrow-Oblique
|
||||
f 0444 root sys /usr/share/cups/fonts/Helvetica-Oblique fonts/Helvetica-Oblique
|
||||
f 0444 root sys /usr/share/cups/fonts/NewCenturySchlbk-Bold fonts/NewCenturySchlbk-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/NewCenturySchlbk-BoldItalic fonts/NewCenturySchlbk-BoldItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/NewCenturySchlbk-Italic fonts/NewCenturySchlbk-Italic
|
||||
f 0444 root sys /usr/share/cups/fonts/NewCenturySchlbk-Roman fonts/NewCenturySchlbk-Roman
|
||||
f 0444 root sys /usr/share/cups/fonts/Palatino-Bold fonts/Palatino-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/Palatino-BoldItalic fonts/Palatino-BoldItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/Palatino-Italic fonts/Palatino-Italic
|
||||
f 0444 root sys /usr/share/cups/fonts/Palatino-Roman fonts/Palatino-Roman
|
||||
f 0444 root sys /usr/share/cups/fonts/Symbol fonts/Symbol
|
||||
f 0444 root sys /usr/share/cups/fonts/Times-Bold fonts/Times-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/Times-BoldItalic fonts/Times-BoldItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/Times-Italic fonts/Times-Italic
|
||||
f 0444 root sys /usr/share/cups/fonts/Times-Roman fonts/Times-Roman
|
||||
f 0444 root sys /usr/share/cups/fonts/Utopia-Bold fonts/Utopia-Bold
|
||||
f 0444 root sys /usr/share/cups/fonts/Utopia-BoldItalic fonts/Utopia-BoldItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/Utopia-Italic fonts/Utopia-Italic
|
||||
f 0444 root sys /usr/share/cups/fonts/Utopia-Regular fonts/Utopia-Regular
|
||||
f 0444 root sys /usr/share/cups/fonts/ZapfChancery-MediumItalic fonts/ZapfChancery-MediumItalic
|
||||
f 0444 root sys /usr/share/cups/fonts/ZapfDingbats fonts/ZapfDingbats
|
||||
f 0444 root sys /usr/share/cups/pstoraster/Fontmap pstoraster/Fontmap
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_btokn.ps pstoraster/gs_btokn.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_ccfnt.ps pstoraster/gs_ccfnt.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_cff.ps pstoraster/gs_cff.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_cidfn.ps pstoraster/gs_cidfn.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_cmap.ps pstoraster/gs_cmap.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_cmdl.ps pstoraster/gs_cmdl.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_dbt_e.ps pstoraster/gs_dbt_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_diskf.ps pstoraster/gs_diskf.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_dpnxt.ps pstoraster/gs_dpnxt.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_dps1.ps pstoraster/gs_dps1.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_dps2.ps pstoraster/gs_dps2.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_dps.ps pstoraster/gs_dps.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_epsf.ps pstoraster/gs_epsf.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_fform.ps pstoraster/gs_fform.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_fonts.ps pstoraster/gs_fonts.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_init.ps pstoraster/gs_init.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_iso_e.ps pstoraster/gs_iso_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_kanji.ps pstoraster/gs_kanji.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_ksb_e.ps pstoraster/gs_ksb_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_l2img.ps pstoraster/gs_l2img.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_lev2.ps pstoraster/gs_lev2.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_ll3.ps pstoraster/gs_ll3.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_mex_e.ps pstoraster/gs_mex_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_mro_e.ps pstoraster/gs_mro_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_pdfwr.ps pstoraster/gs_pdfwr.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_pdf_e.ps pstoraster/gs_pdf_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_pfile.ps pstoraster/gs_pfile.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_res.ps pstoraster/gs_res.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_setpd.ps pstoraster/gs_setpd.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_statd.ps pstoraster/gs_statd.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_std_e.ps pstoraster/gs_std_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_sym_e.ps pstoraster/gs_sym_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_ttf.ps pstoraster/gs_ttf.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_typ32.ps pstoraster/gs_typ32.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_typ42.ps pstoraster/gs_typ42.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_type1.ps pstoraster/gs_type1.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_wan_e.ps pstoraster/gs_wan_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_wl1_e.ps pstoraster/gs_wl1_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_wl2_e.ps pstoraster/gs_wl2_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/gs_wl5_e.ps pstoraster/gs_wl5_e.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/pdf2dsc.ps pstoraster/pdf2dsc.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/pdf_base.ps pstoraster/pdf_base.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/pdf_draw.ps pstoraster/pdf_draw.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/pdf_font.ps pstoraster/pdf_font.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/pdf_main.ps pstoraster/pdf_main.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/pdf_ops.ps pstoraster/pdf_ops.ps
|
||||
f 0444 root sys /usr/share/cups/pstoraster/pdf_sec.ps pstoraster/pdf_sec.ps
|
||||
f 0444 root sys /usr/share/cups/model/deskjet.ppd ppd/deskjet.ppd
|
||||
f 0444 root sys /usr/share/cups/model/laserjet.ppd ppd/laserjet.ppd
|
||||
f 0444 root sys /usr/share/cups/model/stcolor.ppd ppd/stcolor.ppd
|
||||
f 0444 root sys /usr/share/cups/model/stphoto.ppd ppd/stphoto.ppd
|
||||
|
||||
d 0555 root sys $DATADIR/fonts -
|
||||
f 0444 root sys $DATADIR/fonts/AvantGarde-Book fonts/AvantGarde-Book
|
||||
f 0444 root sys $DATADIR/fonts/AvantGarde-BookOblique fonts/AvantGarde-BookOblique
|
||||
f 0444 root sys $DATADIR/fonts/AvantGarde-Demi fonts/AvantGarde-Demi
|
||||
f 0444 root sys $DATADIR/fonts/AvantGarde-DemiOblique fonts/AvantGarde-DemiOblique
|
||||
f 0444 root sys $DATADIR/fonts/Bookman-Demi fonts/Bookman-Demi
|
||||
f 0444 root sys $DATADIR/fonts/Bookman-DemiItalic fonts/Bookman-DemiItalic
|
||||
f 0444 root sys $DATADIR/fonts/Bookman-Light fonts/Bookman-Light
|
||||
f 0444 root sys $DATADIR/fonts/Bookman-LightItalic fonts/Bookman-LightItalic
|
||||
f 0444 root sys $DATADIR/fonts/Charter-Bold fonts/Charter-Bold
|
||||
f 0444 root sys $DATADIR/fonts/Charter-BoldItalic fonts/Charter-BoldItalic
|
||||
f 0444 root sys $DATADIR/fonts/Charter-Italic fonts/Charter-Italic
|
||||
f 0444 root sys $DATADIR/fonts/Charter-Roman fonts/Charter-Roman
|
||||
f 0444 root sys $DATADIR/fonts/Courier fonts/Courier
|
||||
f 0444 root sys $DATADIR/fonts/Courier-Bold fonts/Courier-Bold
|
||||
f 0444 root sys $DATADIR/fonts/Courier-BoldOblique fonts/Courier-BoldOblique
|
||||
f 0444 root sys $DATADIR/fonts/Courier-Oblique fonts/Courier-Oblique
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica fonts/Helvetica
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica-Bold fonts/Helvetica-Bold
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica-BoldOblique fonts/Helvetica-BoldOblique
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica-Narrow fonts/Helvetica-Narrow
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica-Narrow-Bold fonts/Helvetica-Narrow-Bold
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica-Narrow-BoldOblique fonts/Helvetica-Narrow-BoldOblique
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica-Narrow-Oblique fonts/Helvetica-Narrow-Oblique
|
||||
f 0444 root sys $DATADIR/fonts/Helvetica-Oblique fonts/Helvetica-Oblique
|
||||
f 0444 root sys $DATADIR/fonts/NewCenturySchlbk-Bold fonts/NewCenturySchlbk-Bold
|
||||
f 0444 root sys $DATADIR/fonts/NewCenturySchlbk-BoldItalic fonts/NewCenturySchlbk-BoldItalic
|
||||
f 0444 root sys $DATADIR/fonts/NewCenturySchlbk-Italic fonts/NewCenturySchlbk-Italic
|
||||
f 0444 root sys $DATADIR/fonts/NewCenturySchlbk-Roman fonts/NewCenturySchlbk-Roman
|
||||
f 0444 root sys $DATADIR/fonts/Palatino-Bold fonts/Palatino-Bold
|
||||
f 0444 root sys $DATADIR/fonts/Palatino-BoldItalic fonts/Palatino-BoldItalic
|
||||
f 0444 root sys $DATADIR/fonts/Palatino-Italic fonts/Palatino-Italic
|
||||
f 0444 root sys $DATADIR/fonts/Palatino-Roman fonts/Palatino-Roman
|
||||
f 0444 root sys $DATADIR/fonts/Symbol fonts/Symbol
|
||||
f 0444 root sys $DATADIR/fonts/Times-Bold fonts/Times-Bold
|
||||
f 0444 root sys $DATADIR/fonts/Times-BoldItalic fonts/Times-BoldItalic
|
||||
f 0444 root sys $DATADIR/fonts/Times-Italic fonts/Times-Italic
|
||||
f 0444 root sys $DATADIR/fonts/Times-Roman fonts/Times-Roman
|
||||
f 0444 root sys $DATADIR/fonts/Utopia-Bold fonts/Utopia-Bold
|
||||
f 0444 root sys $DATADIR/fonts/Utopia-BoldItalic fonts/Utopia-BoldItalic
|
||||
f 0444 root sys $DATADIR/fonts/Utopia-Italic fonts/Utopia-Italic
|
||||
f 0444 root sys $DATADIR/fonts/Utopia-Regular fonts/Utopia-Regular
|
||||
f 0444 root sys $DATADIR/fonts/ZapfChancery-MediumItalic fonts/ZapfChancery-MediumItalic
|
||||
f 0444 root sys $DATADIR/fonts/ZapfDingbats fonts/ZapfDingbats
|
||||
|
||||
d 0555 root sys $DATADIR/pstoraster -
|
||||
f 0444 root sys $DATADIR/pstoraster/Fontmap pstoraster/Fontmap
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_btokn.ps pstoraster/gs_btokn.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_ccfnt.ps pstoraster/gs_ccfnt.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_cff.ps pstoraster/gs_cff.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_cidfn.ps pstoraster/gs_cidfn.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_cmap.ps pstoraster/gs_cmap.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_cmdl.ps pstoraster/gs_cmdl.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_dbt_e.ps pstoraster/gs_dbt_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_diskf.ps pstoraster/gs_diskf.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_dpnxt.ps pstoraster/gs_dpnxt.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_dps.ps pstoraster/gs_dps.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_dps1.ps pstoraster/gs_dps1.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_dps2.ps pstoraster/gs_dps2.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_epsf.ps pstoraster/gs_epsf.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_fform.ps pstoraster/gs_fform.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_fonts.ps pstoraster/gs_fonts.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_init.ps pstoraster/gs_init.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_iso_e.ps pstoraster/gs_iso_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_kanji.ps pstoraster/gs_kanji.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_ksb_e.ps pstoraster/gs_ksb_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_lev2.ps pstoraster/gs_lev2.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_ll3.ps pstoraster/gs_ll3.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_mex_e.ps pstoraster/gs_mex_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_mro_e.ps pstoraster/gs_mro_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_pfile.ps pstoraster/gs_pfile.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_res.ps pstoraster/gs_res.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_setpd.ps pstoraster/gs_setpd.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_statd.ps pstoraster/gs_statd.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_std_e.ps pstoraster/gs_std_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_sym_e.ps pstoraster/gs_sym_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_ttf.ps pstoraster/gs_ttf.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_typ32.ps pstoraster/gs_typ32.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_typ42.ps pstoraster/gs_typ42.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_type1.ps pstoraster/gs_type1.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_wan_e.ps pstoraster/gs_wan_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_wl1_e.ps pstoraster/gs_wl1_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_wl2_e.ps pstoraster/gs_wl2_e.ps
|
||||
f 0444 root sys $DATADIR/pstoraster/gs_wl5_e.ps pstoraster/gs_wl5_e.ps
|
||||
|
||||
d 0555 root sys $DATADIR/model -
|
||||
f 0444 root sys $DATADIR/model/deskjet.ppd ppd/deskjet.ppd
|
||||
f 0444 root sys $DATADIR/model/laserjet.ppd ppd/laserjet.ppd
|
||||
f 0444 root sys $DATADIR/model/epson9.ppd ppd/epson9.ppd
|
||||
f 0444 root sys $DATADIR/model/epson24.ppd ppd/epson24.ppd
|
||||
f 0444 root sys $DATADIR/model/stcolor.ppd ppd/stcolor.ppd
|
||||
f 0444 root sys $DATADIR/model/stphoto.ppd ppd/stphoto.ppd
|
||||
|
||||
d 0555 root sys $DATADIR/templates -
|
||||
f 0444 root sys $DATADIR/templates/add-class.tmpl templates/add-class.tmpl
|
||||
f 0444 root sys $DATADIR/templates/add-printer.tmpl templates/add-printer.tmpl
|
||||
f 0444 root sys $DATADIR/templates/admin-op.tmpl templates/admin-op.tmpl
|
||||
f 0444 root sys $DATADIR/templates/admin.tmpl templates/admin.tmpl
|
||||
f 0444 root sys $DATADIR/templates/choose-device.tmpl templates/choose-device.tmpl
|
||||
f 0444 root sys $DATADIR/templates/choose-make.tmpl templates/choose-make.tmpl
|
||||
f 0444 root sys $DATADIR/templates/choose-members.tmpl templates/choose-members.tmpl
|
||||
f 0444 root sys $DATADIR/templates/choose-model.tmpl templates/choose-model.tmpl
|
||||
f 0444 root sys $DATADIR/templates/choose-serial.tmpl templates/choose-serial.tmpl
|
||||
f 0444 root sys $DATADIR/templates/choose-uri.tmpl templates/choose-uri.tmpl
|
||||
f 0444 root sys $DATADIR/templates/class-added.tmpl templates/class-added.tmpl
|
||||
f 0444 root sys $DATADIR/templates/class-confirm.tmpl templates/class-confirm.tmpl
|
||||
f 0444 root sys $DATADIR/templates/class-deleted.tmpl templates/class-deleted.tmpl
|
||||
f 0444 root sys $DATADIR/templates/class-modified.tmpl templates/class-modified.tmpl
|
||||
f 0444 root sys $DATADIR/templates/classes.tmpl templates/classes.tmpl
|
||||
f 0444 root sys $DATADIR/templates/config-printer.tmpl templates/config-printer.tmpl
|
||||
f 0444 root sys $DATADIR/templates/config-printer2.tmpl templates/config-printer2.tmpl
|
||||
f 0444 root sys $DATADIR/templates/error.tmpl templates/error.tmpl
|
||||
f 0444 root sys $DATADIR/templates/header.tmpl templates/header.tmpl
|
||||
f 0444 root sys $DATADIR/templates/job-cancel.tmpl templates/job-cancel.tmpl
|
||||
f 0444 root sys $DATADIR/templates/job-hold.tmpl templates/job-hold.tmpl
|
||||
f 0444 root sys $DATADIR/templates/job-release.tmpl templates/job-release.tmpl
|
||||
f 0444 root sys $DATADIR/templates/job-restart.tmpl templates/job-restart.tmpl
|
||||
f 0444 root sys $DATADIR/templates/jobs.tmpl templates/jobs.tmpl
|
||||
f 0444 root sys $DATADIR/templates/modify-class.tmpl templates/modify-class.tmpl
|
||||
f 0444 root sys $DATADIR/templates/modify-printer.tmpl templates/modify-printer.tmpl
|
||||
f 0444 root sys $DATADIR/templates/option-boolean.tmpl templates/option-boolean.tmpl
|
||||
f 0444 root sys $DATADIR/templates/option-header.tmpl templates/option-header.tmpl
|
||||
f 0444 root sys $DATADIR/templates/option-pickmany.tmpl templates/option-pickmany.tmpl
|
||||
f 0444 root sys $DATADIR/templates/option-pickone.tmpl templates/option-pickone.tmpl
|
||||
f 0444 root sys $DATADIR/templates/option-trailer.tmpl templates/option-trailer.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-accept.tmpl templates/printer-accept.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-added.tmpl templates/printer-added.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-configured.tmpl templates/printer-configured.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-confirm.tmpl templates/printer-confirm.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-deleted.tmpl templates/printer-deleted.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-modified.tmpl templates/printer-modified.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-reject.tmpl templates/printer-reject.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-start.tmpl templates/printer-start.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printer-stop.tmpl templates/printer-stop.tmpl
|
||||
f 0444 root sys $DATADIR/templates/printers.tmpl templates/printers.tmpl
|
||||
f 0444 root sys $DATADIR/templates/test-page.tmpl templates/test-page.tmpl
|
||||
f 0444 root sys $DATADIR/templates/trailer.tmpl templates/trailer.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/add-class.tmpl templates/add-class.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/add-printer.tmpl templates/add-printer.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/admin-op.tmpl templates/admin-op.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/admin.tmpl templates/admin.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/choose-device.tmpl templates/choose-device.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/choose-make.tmpl templates/choose-make.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/choose-model.tmpl templates/choose-model.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/choose-serial.tmpl templates/choose-serial.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/choose-uri.tmpl templates/choose-uri.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/classes.tmpl templates/classes.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/error.tmpl templates/error.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/header.tmpl templates/header.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/job-cancel.tmpl templates/job-cancel.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/job-hold.tmpl templates/job-hold.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/job-release.tmpl templates/job-release.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/jobs.tmpl templates/jobs.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/modify-class.tmpl templates/modify-class.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/modify-printer.tmpl templates/modify-printer.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/option-boolean.tmpl templates/option-boolean.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/option-header.tmpl templates/option-header.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/option-pickmany.tmpl templates/option-pickmany.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/option-pickone.tmpl templates/option-pickone.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/option-trailer.tmpl templates/option-trailer.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/printer-accept.tmpl templates/printer-accept.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/printer-reject.tmpl templates/printer-reject.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/printer-start.tmpl templates/printer-start.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/printer-stop.tmpl templates/printer-stop.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/printers.tmpl templates/printers.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/test-page.tmpl templates/test-page.tmpl
|
||||
f 0444 root sys /usr/share/cups/templates/trailer.tmpl templates/trailer.tmpl
|
||||
|
||||
# Config files
|
||||
d 0555 root sys $SERVERROOT -
|
||||
d 0711 root sys $SERVERROOT/certs -
|
||||
d 0755 root sys $SERVERROOT/interfaces -
|
||||
d 0755 root sys $SERVERROOT/ppd -
|
||||
c 0644 root sys $SERVERROOT/classes.conf conf/classes.conf
|
||||
c 0644 root sys $SERVERROOT/cupsd.conf conf/cupsd.conf
|
||||
f 0644 root sys $SERVERROOT/mime.convs conf/mime.convs
|
||||
f 0644 root sys $SERVERROOT/mime.types conf/mime.types
|
||||
c 0644 root sys $SERVERROOT/printers.conf conf/printers.conf
|
||||
c 0644 root sys /etc/cups/classes.conf conf/classes.conf
|
||||
c 0644 root sys /etc/cups/cupsd.conf conf/cupsd.conf
|
||||
f 0644 root sys /etc/cups/mime.convs conf/mime.convs
|
||||
f 0644 root sys /etc/cups/mime.types conf/mime.types
|
||||
c 0644 root sys /etc/cups/printers.conf conf/printers.conf
|
||||
|
||||
%system linux
|
||||
# Linux version needs PAM...
|
||||
%requires /lib/libpam.so.0
|
||||
d 0555 root sys $PAMDIR -
|
||||
c 0644 root sys $PAMDIR/cups data/cups.pam
|
||||
# Dummy printcap file for Digital UNIX and Linux...
|
||||
%system dunix linux
|
||||
%format !rpm
|
||||
f 0644 root sys /etc/printcap conf/printcap
|
||||
%system all
|
||||
%format all
|
||||
|
||||
# Developer files
|
||||
d 0555 root sys $INCLUDEDIR/cups -
|
||||
f 0444 root sys $INCLUDEDIR/cups/cups.h cups/cups.h
|
||||
f 0444 root sys $INCLUDEDIR/cups/http.h cups/http.h
|
||||
f 0444 root sys $INCLUDEDIR/cups/image.h filter/image.h
|
||||
f 0444 root sys $INCLUDEDIR/cups/ipp.h cups/ipp.h
|
||||
f 0444 root sys $INCLUDEDIR/cups/language.h cups/language.h
|
||||
f 0444 root sys $INCLUDEDIR/cups/md5.h cups/md5.h
|
||||
f 0444 root sys $INCLUDEDIR/cups/ppd.h cups/ppd.h
|
||||
f 0444 root sys $INCLUDEDIR/cups/raster.h filter/raster.h
|
||||
f 0444 root sys /usr/include/cups/cups.h cups/cups.h
|
||||
f 0444 root sys /usr/include/cups/http.h cups/http.h
|
||||
f 0444 root sys /usr/include/cups/image.h filter/image.h
|
||||
f 0444 root sys /usr/include/cups/ipp.h cups/ipp.h
|
||||
f 0444 root sys /usr/include/cups/language.h cups/language.h
|
||||
f 0444 root sys /usr/include/cups/ppd.h cups/ppd.h
|
||||
f 0444 root sys /usr/include/cups/raster.h filter/raster.h
|
||||
|
||||
f 0444 root sys $LIBDIR/libcups.a cups/libcups.a
|
||||
%system irix-6.5
|
||||
f 0444 root sys /usr/lib32/libcups.a cups/libcups.a
|
||||
%system !irix-6.5
|
||||
f 0444 root sys /usr/lib/libcups.a cups/libcups.a
|
||||
%system all
|
||||
|
||||
# Documentation files
|
||||
d 0555 root sys $DOCDIR -
|
||||
f 0444 root sys $DOCDIR/cups.css doc/cups.css
|
||||
f 0444 root sys $DOCDIR/documentation.html doc/documentation.html
|
||||
f 0444 root sys $DOCDIR/index.html doc/index.html
|
||||
f 0444 root sys /usr/share/doc/cups/cups.css doc/cups.css
|
||||
f 0444 root sys /usr/share/doc/cups/documentation.html doc/documentation.html
|
||||
f 0444 root sys /usr/share/doc/cups/index.html doc/index.html
|
||||
|
||||
d 0555 root sys $DOCDIR/images -
|
||||
|
||||
f 0444 root sys $DOCDIR/images/classes.gif doc/images/classes.gif
|
||||
f 0444 root sys $DOCDIR/images/printer-idle.gif doc/images/printer-idle.gif
|
||||
f 0444 root sys $DOCDIR/images/printer-processing.gif doc/images/printer-processing.gif
|
||||
f 0444 root sys $DOCDIR/images/printer-stopped.gif doc/images/printer-stopped.gif
|
||||
|
||||
f 0444 root sys $DOCDIR/images/accept-jobs.gif doc/images/accept-jobs.gif
|
||||
f 0444 root sys $DOCDIR/images/add-class.gif doc/images/add-class.gif
|
||||
f 0444 root sys $DOCDIR/images/add-printer.gif doc/images/add-printer.gif
|
||||
f 0444 root sys $DOCDIR/images/cancel-job.gif doc/images/cancel-job.gif
|
||||
f 0444 root sys $DOCDIR/images/cancel-jobs.gif doc/images/cancel-jobs.gif
|
||||
f 0444 root sys $DOCDIR/images/cancel.gif doc/images/cancel.gif
|
||||
f 0444 root sys $DOCDIR/images/continue.gif doc/images/continue.gif
|
||||
f 0444 root sys $DOCDIR/images/config-printer.gif doc/images/config-printer.gif
|
||||
f 0444 root sys $DOCDIR/images/cups-block-diagram.gif doc/images/cups-block-diagram.gif
|
||||
f 0444 root sys $DOCDIR/images/delete-class.gif doc/images/delete-class.gif
|
||||
f 0444 root sys $DOCDIR/images/delete-printer.gif doc/images/delete-printer.gif
|
||||
f 0444 root sys $DOCDIR/images/hold-job.gif doc/images/hold-job.gif
|
||||
f 0444 root sys $DOCDIR/images/left.gif doc/images/left.gif
|
||||
f 0444 root sys $DOCDIR/images/logo.gif doc/images/logo.gif
|
||||
f 0444 root sys $DOCDIR/images/manage-classes.gif doc/images/manage-classes.gif
|
||||
f 0444 root sys $DOCDIR/images/manage-jobs.gif doc/images/manage-jobs.gif
|
||||
f 0444 root sys $DOCDIR/images/manage-printers.gif doc/images/manage-printers.gif
|
||||
f 0444 root sys $DOCDIR/images/modify-class.gif doc/images/modify-class.gif
|
||||
f 0444 root sys $DOCDIR/images/modify-printer.gif doc/images/modify-printer.gif
|
||||
f 0444 root sys $DOCDIR/images/navbar.gif doc/images/navbar.gif
|
||||
f 0444 root sys $DOCDIR/images/print-test-page.gif doc/images/print-test-page.gif
|
||||
f 0444 root sys $DOCDIR/images/reject-jobs.gif doc/images/reject-jobs.gif
|
||||
f 0444 root sys $DOCDIR/images/release-job.gif doc/images/release-job.gif
|
||||
f 0444 root sys $DOCDIR/images/restart-job.gif doc/images/restart-job.gif
|
||||
f 0444 root sys $DOCDIR/images/right.gif doc/images/right.gif
|
||||
f 0444 root sys $DOCDIR/images/show-active.gif doc/images/show-active.gif
|
||||
f 0444 root sys $DOCDIR/images/show-completed.gif doc/images/show-completed.gif
|
||||
f 0444 root sys $DOCDIR/images/start-class.gif doc/images/start-class.gif
|
||||
f 0444 root sys $DOCDIR/images/start-printer.gif doc/images/start-printer.gif
|
||||
f 0444 root sys $DOCDIR/images/stop-class.gif doc/images/stop-class.gif
|
||||
f 0444 root sys $DOCDIR/images/stop-printer.gif doc/images/stop-printer.gif
|
||||
|
||||
f 0444 root sys $DOCDIR/cmp.html doc/cmp.html
|
||||
f 0444 root sys $DOCDIR/cmp.pdf doc/cmp.pdf
|
||||
f 0444 root sys $DOCDIR/cupsdoc.css doc/cupsdoc.css
|
||||
f 0444 root sys $DOCDIR/idd.html doc/idd.html
|
||||
f 0444 root sys $DOCDIR/idd.pdf doc/idd.pdf
|
||||
f 0444 root sys $DOCDIR/ipp.html doc/ipp.html
|
||||
f 0444 root sys $DOCDIR/ipp.pdf doc/ipp.pdf
|
||||
f 0444 root sys $DOCDIR/overview.html doc/overview.html
|
||||
f 0444 root sys $DOCDIR/overview.pdf doc/overview.pdf
|
||||
f 0444 root sys $DOCDIR/sam.html doc/sam.html
|
||||
f 0444 root sys $DOCDIR/sam.pdf doc/sam.pdf
|
||||
f 0444 root sys $DOCDIR/sdd.html doc/sdd.html
|
||||
f 0444 root sys $DOCDIR/sdd.pdf doc/sdd.pdf
|
||||
f 0444 root sys $DOCDIR/spm.html doc/spm.html
|
||||
f 0444 root sys $DOCDIR/spm.pdf doc/spm.pdf
|
||||
f 0444 root sys $DOCDIR/ssr.html doc/ssr.html
|
||||
f 0444 root sys $DOCDIR/ssr.pdf doc/ssr.pdf
|
||||
f 0444 root sys $DOCDIR/sum.html doc/sum.html
|
||||
f 0444 root sys $DOCDIR/sum.pdf doc/sum.pdf
|
||||
f 0444 root sys $DOCDIR/svd.html doc/svd.html
|
||||
f 0444 root sys $DOCDIR/svd.pdf doc/svd.pdf
|
||||
f 0444 root sys $DOCDIR/images/cups-bar.gif doc/images/cups-bar.gif
|
||||
f 0444 root sys $DOCDIR/images/cups-large.gif doc/images/cups-large.gif
|
||||
f 0444 root sys $DOCDIR/images/cups-medium.gif doc/images/cups-medium.gif
|
||||
f 0444 root sys $DOCDIR/images/cups-small.gif doc/images/cups-small.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/accept-jobs.gif doc/images/accept-jobs.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/add-class.gif doc/images/add-class.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/add-printer.gif doc/images/add-printer.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cancel-job.gif doc/images/cancel-job.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cancel-jobs.gif doc/images/cancel-jobs.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cancel.gif doc/images/cancel.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/classes.gif doc/images/classes.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/continue.gif doc/images/continue.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cups-bar.gif doc/images/cups-bar.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cups-block-diagram.gif doc/images/cups-block-diagram.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cups-large.gif doc/images/cups-large.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cups-medium.gif doc/images/cups-medium.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/cups-small.gif doc/images/cups-small.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/delete-class.gif doc/images/delete-class.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/delete-printer.gif doc/images/delete-printer.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/hold-job.gif doc/images/hold-job.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/left.gif doc/images/left.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/logo.gif doc/images/logo.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/manage-classes.gif doc/images/manage-classes.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/manage-jobs.gif doc/images/manage-jobs.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/manage-printers.gif doc/images/manage-printers.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/modify-class.gif doc/images/modify-class.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/modify-printer.gif doc/images/modify-printer.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/navbar.gif doc/images/navbar.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/print-test-page.gif doc/images/print-test-page.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/printer-idle.gif doc/images/printer-idle.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/printer-processing.gif doc/images/printer-processing.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/printer-stopped.gif doc/images/printer-stopped.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/reject-jobs.gif doc/images/reject-jobs.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/release-job.gif doc/images/release-job.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/restart-job.gif doc/images/restart-job.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/right.gif doc/images/right.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/show-active.gif doc/images/show-active.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/show-completed.gif doc/images/show-completed.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/start-class.gif doc/images/start-class.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/start-printer.gif doc/images/start-printer.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/stop-class.gif doc/images/stop-class.gif
|
||||
f 0444 root sys /usr/share/doc/cups/images/stop-printer.gif doc/images/stop-printer.gif
|
||||
|
||||
f 0444 root sys /usr/share/doc/cups/cmp.html doc/cmp.html
|
||||
f 0444 root sys /usr/share/doc/cups/cmp.pdf doc/cmp.pdf
|
||||
f 0444 root sys /usr/share/doc/cups/cupsdoc.css doc/cupsdoc.css
|
||||
f 0444 root sys /usr/share/doc/cups/idd.html doc/idd.html
|
||||
f 0444 root sys /usr/share/doc/cups/idd.pdf doc/idd.pdf
|
||||
f 0444 root sys /usr/share/doc/cups/overview.html doc/overview.html
|
||||
f 0444 root sys /usr/share/doc/cups/overview.pdf doc/overview.pdf
|
||||
f 0444 root sys /usr/share/doc/cups/sam.html doc/sam.html
|
||||
f 0444 root sys /usr/share/doc/cups/sam.pdf doc/sam.pdf
|
||||
f 0444 root sys /usr/share/doc/cups/sdd.html doc/sdd.html
|
||||
f 0444 root sys /usr/share/doc/cups/sdd.pdf doc/sdd.pdf
|
||||
f 0444 root sys /usr/share/doc/cups/spm.html doc/spm.html
|
||||
f 0444 root sys /usr/share/doc/cups/spm.pdf doc/spm.pdf
|
||||
f 0444 root sys /usr/share/doc/cups/ssr.html doc/ssr.html
|
||||
f 0444 root sys /usr/share/doc/cups/ssr.pdf doc/ssr.pdf
|
||||
f 0444 root sys /usr/share/doc/cups/sum.html doc/sum.html
|
||||
f 0444 root sys /usr/share/doc/cups/sum.pdf doc/sum.pdf
|
||||
|
||||
# Man pages
|
||||
%system irix
|
||||
d 0555 root sys $MANDIR/a_man -
|
||||
d 0555 root sys $MANDIR/a_man/cat1 -
|
||||
d 0555 root sys $MANDIR/u_man -
|
||||
d 0555 root sys $MANDIR/u_man/cat1 -
|
||||
d 0555 root sys $MANDIR/u_man/cat5 -
|
||||
|
||||
f 0444 root sys $MANDIR/a_man/cat1/accept.z man/accept.z
|
||||
l 0444 root sys $MANDIR/a_man/cat1/reject.z accept.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/backend.z man/backend.z
|
||||
f 0444 root sys $MANDIR/u_man/cat5/classes.conf.z man/classes.conf.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/cups-lpd.z man/cups-lpd.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/cups-polld.z man/cups-polld.z
|
||||
f 0444 root sys $MANDIR/u_man/cat5/cupsd.conf.z man/cupsd.conf.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/cupsd.z man/cupsd.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/enable.z man/enable.z
|
||||
l 0444 root sys $MANDIR/a_man/cat1/disable.z enable.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/filter.z man/filter.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/lpadmin.z man/lpadmin.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/lpc.z man/lpc.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/lpinfo.z man/lpinfo.z
|
||||
f 0444 root sys $MANDIR/a_man/cat1/lpmove.z man/lpmove.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/lpoptions.z man/lpoptions.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/lpq.z man/lpq.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/lprm.z man/lprm.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/lpr.z man/lpr.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/lpstat.z man/lpstat.z
|
||||
f 0444 root sys $MANDIR/u_man/cat1/lp.z man/lp.z
|
||||
l 0444 root sys $MANDIR/u_man/cat1/cancel.z lp.z
|
||||
f 0444 root sys $MANDIR/u_man/cat5/mime.convs.z man/mime.convs.z
|
||||
f 0444 root sys $MANDIR/u_man/cat5/mime.types.z man/mime.types.z
|
||||
f 0444 root sys $MANDIR/u_man/cat5/printers.conf.z man/printers.conf.z
|
||||
|
||||
%system solaris hpux
|
||||
d 0555 root sys $MANDIR/man1 -
|
||||
d 0555 root sys $MANDIR/man5 -
|
||||
d 0555 root sys $MANDIR/man1m -
|
||||
|
||||
f 0444 root sys $MANDIR/man1m/accept.1m man/accept.man
|
||||
l 0444 root sys $MANDIR/man1m/reject.1m accept.man
|
||||
f 0444 root sys $MANDIR/man1/backend.1 man/backend.man
|
||||
f 0444 root sys $MANDIR/man1/classes.conf.5 man/classes.conf.man
|
||||
f 0444 root sys $MANDIR/man1m/cups-lpd.1m man/cups-lpd.man
|
||||
f 0444 root sys $MANDIR/man1m/cups-polld.1m man/cups-polld.man
|
||||
f 0444 root sys $MANDIR/man1m/cupsd.1m man/cupsd.man
|
||||
f 0444 root sys $MANDIR/man5/cupsd.conf.5 man/cupsd.conf.man
|
||||
f 0444 root sys $MANDIR/man1m/enable.1m man/enable.man
|
||||
l 0444 root sys $MANDIR/man1m/disable.1m enable.man
|
||||
f 0444 root sys $MANDIR/man1/filter.1 man/filter.man
|
||||
f 0444 root sys $MANDIR/man1m/lpadmin.1m man/lpadmin.man
|
||||
f 0444 root sys $MANDIR/man1m/lpc.1m man/lpc.man
|
||||
f 0444 root sys $MANDIR/man1m/lpinfo.1m man/lpinfo.man
|
||||
f 0444 root sys $MANDIR/man1m/lpmove.1m man/lpmove.man
|
||||
f 0444 root sys $MANDIR/man1/lpoptions.1 man/lpoptions.man
|
||||
f 0444 root sys $MANDIR/man1/lpq.1 man/lpq.man
|
||||
f 0444 root sys $MANDIR/man1/lprm.1 man/lprm.man
|
||||
f 0444 root sys $MANDIR/man1/lpr.1 man/lpr.man
|
||||
f 0444 root sys $MANDIR/man1/lpstat.1 man/lpstat.man
|
||||
f 0444 root sys $MANDIR/man1/lp.1 man/lp.man
|
||||
l 0444 root sys $MANDIR/man1/cancel.1 lp.man
|
||||
f 0444 root sys $MANDIR/man5/mime.convs.5 man/mime.convs.man
|
||||
f 0444 root sys $MANDIR/man5/mime.types.5 man/mime.types.man
|
||||
f 0444 root sys $MANDIR/man5/printers.conf.5 man/printers.conf.man
|
||||
|
||||
%system !irix !solaris !hpux
|
||||
d 0555 root sys $MANDIR/man1 -
|
||||
d 0555 root sys $MANDIR/man5 -
|
||||
d 0555 root sys $MANDIR/man8 -
|
||||
|
||||
f 0444 root sys $MANDIR/man8/accept.8 man/accept.man
|
||||
l 0444 root sys $MANDIR/man8/reject.8 accept.man
|
||||
f 0444 root sys $MANDIR/man1/backend.1 man/backend.man
|
||||
f 0444 root sys $MANDIR/man1/classes.conf.5 man/classes.conf.man
|
||||
f 0444 root sys $MANDIR/man8/cups-lpd.8 man/cups-lpd.man
|
||||
f 0444 root sys $MANDIR/man8/cups-polld.8 man/cups-polld.man
|
||||
f 0444 root sys $MANDIR/man8/cupsd.8 man/cupsd.man
|
||||
f 0444 root sys $MANDIR/man5/cupsd.conf.5 man/cupsd.conf.man
|
||||
f 0444 root sys $MANDIR/man8/enable.8 man/enable.man
|
||||
l 0444 root sys $MANDIR/man8/disable.8 enable.man
|
||||
f 0444 root sys $MANDIR/man1/filter.1 man/filter.man
|
||||
f 0444 root sys $MANDIR/man8/lpadmin.8 man/lpadmin.man
|
||||
f 0444 root sys $MANDIR/man8/lpc.8 man/lpc.man
|
||||
f 0444 root sys $MANDIR/man8/lpinfo.8 man/lpinfo.man
|
||||
f 0444 root sys $MANDIR/man8/lpmove.8 man/lpmove.man
|
||||
f 0444 root sys $MANDIR/man1/lpoptions.1 man/lpoptions.man
|
||||
f 0444 root sys $MANDIR/man1/lpq.1 man/lpq.man
|
||||
f 0444 root sys $MANDIR/man1/lprm.1 man/lprm.man
|
||||
f 0444 root sys $MANDIR/man1/lpr.1 man/lpr.man
|
||||
f 0444 root sys $MANDIR/man1/lpstat.1 man/lpstat.man
|
||||
f 0444 root sys $MANDIR/man1/lp.1 man/lp.man
|
||||
l 0444 root sys $MANDIR/man1/cancel.1 lp.man
|
||||
f 0444 root sys $MANDIR/man5/mime.convs.5 man/mime.convs.man
|
||||
f 0444 root sys $MANDIR/man5/mime.types.5 man/mime.types.man
|
||||
f 0444 root sys $MANDIR/man5/printers.conf.5 man/printers.conf.man
|
||||
f 0444 root sys /usr/share/catman/a_man/cat1/accept.1 man/accept.8
|
||||
l 0444 root sys /usr/share/catman/a_man/cat1/reject.1 accept.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat1/backend.1 man/backend.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat5/classes.conf.5 man/classes.conf.5
|
||||
f 0444 root sys /usr/share/catman/u_man/cat5/cupsd.conf.5 man/cupsd.conf.5
|
||||
f 0444 root sys /usr/share/catman/a_man/cat1/cupsd.1 man/cupsd.8
|
||||
f 0444 root sys /usr/share/catman/a_man/cat1/enable.1 man/enable.8
|
||||
l 0444 root sys /usr/share/catman/a_man/cat1/disable.1 enable.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat1/filter.1 man/filter.1
|
||||
f 0444 root sys /usr/share/catman/a_man/cat1/lpadmin.1 man/lpadmin.8
|
||||
f 0444 root sys /usr/share/catman/a_man/cat1/lpc.1 man/lpc.8
|
||||
f 0444 root sys /usr/share/catman/u_man/cat1/lpq.1 man/lpq.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat1/lprm.1 man/lprm.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat1/lpr.1 man/lpr.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat1/lpstat.1 man/lpstat.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat1/lp.1 man/lp.1
|
||||
l 0444 root sys /usr/share/catman/u_man/cat1/cancel.1 lp.1
|
||||
f 0444 root sys /usr/share/catman/u_man/cat5/mime.convs.5 man/mime.convs.5
|
||||
f 0444 root sys /usr/share/catman/u_man/cat5/mime.types.5 man/mime.types.5
|
||||
f 0444 root sys /usr/share/catman/u_man/cat5/printers.conf.5 man/printers.conf.5
|
||||
%system !irix
|
||||
f 0444 root sys /usr/man/man8/accept.8 man/accept.man
|
||||
l 0444 root sys /usr/man/man8/reject.8 accept.man
|
||||
f 0444 root sys /usr/man/man1/backend.1 man/backend.man
|
||||
f 0444 root sys /usr/man/man1/classes.conf.5 man/classes.conf.man
|
||||
f 0444 root sys /usr/man/man8/cupsd.8 man/cupsd.man
|
||||
f 0444 root sys /usr/man/man5/cupsd.conf.5 man/cupsd.conf.man
|
||||
f 0444 root sys /usr/man/man8/enable.8 man/enable.man
|
||||
f 0444 root sys /usr/man/man8/esplicense.8 man/esplicense.man
|
||||
l 0444 root sys /usr/man/man8/disable.8 enable.man
|
||||
f 0444 root sys /usr/man/man1/filter.1 man/filter.man
|
||||
f 0444 root sys /usr/man/man8/lpadmin.8 man/lpadmin.man
|
||||
f 0444 root sys /usr/man/man8/lpc.8 man/lpc.man
|
||||
f 0444 root sys /usr/man/man1/lpq.1 man/lpq.man
|
||||
f 0444 root sys /usr/man/man1/lprm.1 man/lprm.man
|
||||
f 0444 root sys /usr/man/man1/lpr.1 man/lpr.man
|
||||
f 0444 root sys /usr/man/man1/lpstat.1 man/lpstat.man
|
||||
f 0444 root sys /usr/man/man1/lp.1 man/lp.man
|
||||
l 0444 root sys /usr/man/man1/cancel.1 lp.man
|
||||
f 0444 root sys /usr/man/man5/mime.convs.5 man/mime.convs.man
|
||||
f 0444 root sys /usr/man/man5/mime.types.5 man/mime.types.man
|
||||
f 0444 root sys /usr/man/man5/printers.conf.5 man/printers.conf.man
|
||||
|
||||
# Startup script
|
||||
%system all
|
||||
i 0555 root sys cups cups.sh
|
||||
|
||||
#
|
||||
# End of "$Id: cups.list 1202 2000-07-07 21:25:17Z mike $".
|
||||
# End of "$Id: cups.list 986 2000-03-13 18:56:08Z mike $".
|
||||
#
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#
|
||||
# Linux chkconfig stuff:
|
||||
#
|
||||
# chkconfig: 02 99 00
|
||||
# chkconfig: 02345 99 00
|
||||
# description: Startup/shutdown script for the Common UNIX \
|
||||
# Printing System (CUPS).
|
||||
#
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
# See what program to use for configuration stuff...
|
||||
case "`uname`" in
|
||||
IRIX*)
|
||||
IRIX* | Linux*)
|
||||
IS_ON=/sbin/chkconfig
|
||||
;;
|
||||
|
||||
@@ -64,6 +64,11 @@ case "`uname`" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Change to the root directory first, in case we are being run from a
|
||||
# CD-ROM installation script...
|
||||
|
||||
cd /
|
||||
|
||||
# Start or stop the CUPS server based upon the first argument to the script.
|
||||
case $1 in
|
||||
start | restart | reload)
|
||||
@@ -77,9 +82,7 @@ case $1 in
|
||||
fi
|
||||
else
|
||||
if $IS_ON cups; then
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
@sbindir@/cupsd
|
||||
/usr/sbin/cupsd 2>&1 >/dev/null &
|
||||
$ECHO "cups: scheduler started."
|
||||
fi
|
||||
fi
|
||||
+25
-22
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: cups.spec 1214 2000-07-10 20:58:19Z mike $"
|
||||
# "$Id: cups.spec 904 2000-02-18 17:48:09Z mike $"
|
||||
#
|
||||
# RPM "spec" file for the Common UNIX Printing System (CUPS).
|
||||
#
|
||||
@@ -26,11 +26,11 @@
|
||||
|
||||
Summary: Common Unix Printing System
|
||||
Name: cups
|
||||
Version: 1.1
|
||||
Version: 1.1a8
|
||||
Release: 0
|
||||
Copyright: GPL
|
||||
Group: System Environment/Daemons
|
||||
Source: ftp://ftp.easysw.com/pub/cups/1.1/cups-1.1-source.tar.gz
|
||||
Source: ftp://ftp.easysw.com/pub/cups/beta/cups-1.1a8-source.tar.gz
|
||||
Url: http://www.cups.org
|
||||
Packager: Michael Sweet <mike@easysw.com>
|
||||
Vendor: Easy Software Products
|
||||
@@ -68,26 +68,16 @@ make
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
|
||||
|
||||
make datadir=$RPM_BUILD_ROOT/usr/share \
|
||||
exec_prefix=$RPM_BUILD_ROOT/usr \
|
||||
includedir=$RPM_BUILD_ROOT/usr/include \
|
||||
infodir=$RPM_BUILD_ROOT/usr/info \
|
||||
libdir=$RPM_BUILD_ROOT/usr/lib \
|
||||
localestatedir=$RPM_BUILD_ROOT/var \
|
||||
prefix=$RPM_BUILD_ROOT \
|
||||
sharedstatedir=$RPM_BUILD_ROOT/usr/com \
|
||||
sysconfdir=$RPM_BUILD_ROOT/etc \
|
||||
install
|
||||
make prefix=$RPM_BUILD_ROOT/usr LOGDIR=$RPM_BUILD_ROOT/var/log/cups \
|
||||
REQUESTS=$RPM_BUILD_ROOT/var/spool/cups \
|
||||
SERVERROOT=$RPM_BUILD_ROOT/etc/cups install
|
||||
|
||||
install -m 755 -o root -g root cups.sh $RPM_BUILD_ROOT/etc/rc.d/init.d/cups
|
||||
|
||||
%post
|
||||
/sbin/chkconfig --add cups
|
||||
/sbin/chkconfig cups on
|
||||
/etc/rc.d/init.d/cups start
|
||||
|
||||
%preun
|
||||
/etc/rc.d/init.d/cups stop
|
||||
/sbin/chkconfig --del cups
|
||||
|
||||
%clean
|
||||
@@ -95,19 +85,32 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
/etc/*
|
||||
/etc/rc.d/init.d/cups
|
||||
%config /etc/cups/*
|
||||
%dir /etc/cups/certs
|
||||
%dir /etc/cups/interfaces
|
||||
%dir /etc/cups/ppd
|
||||
/usr/bin/*
|
||||
/usr/lib/*.so*
|
||||
%%attr(4555,root,root) /usr/bin/lppasswd
|
||||
/usr/lib/*
|
||||
/usr/man/*
|
||||
/usr/sbin/*
|
||||
/usr/share/*
|
||||
/usr/lib/cups/*
|
||||
/var/*
|
||||
%dir /usr/share/cups
|
||||
/usr/share/cups/*
|
||||
%dir /usr/share/doc/cups
|
||||
/usr/share/doc/cups/*
|
||||
%dir /var/cups
|
||||
/usr/lib/cups/backend/*
|
||||
/usr/lib/cups/cgi-bin/*
|
||||
/usr/lib/cups/filter/*
|
||||
%dir /var/spool/cups
|
||||
%dir /var/log/cups
|
||||
|
||||
%files devel
|
||||
%dir /usr/include/cups
|
||||
/usr/include/cups/*
|
||||
/usr/lib/*.a
|
||||
|
||||
#
|
||||
# End of "$Id: cups.spec 1214 2000-07-10 20:58:19Z mike $".
|
||||
# End of "$Id: cups.spec 904 2000-02-18 17:48:09Z mike $".
|
||||
#
|
||||
|
||||
+7
-31
@@ -28,24 +28,21 @@ include ../Makedefs
|
||||
# Object files...
|
||||
#
|
||||
|
||||
LIBOBJS = dest.o emit.o http.o ipp.o language.o mark.o md5.o md5passwd.o \
|
||||
options.o page.o ppd.o snprintf.o string.o usersys.o util.o
|
||||
LIBOBJS = dest.o emit.o http.o ipp.o language.o mark.o md5.o options.o \
|
||||
page.o ppd.o snprintf.o string.o usersys.o util.o
|
||||
OBJS = $(LIBOBJS) testhttp.o testppd.o
|
||||
|
||||
|
||||
#
|
||||
# Header files to install...
|
||||
#
|
||||
|
||||
HEADERS = cups.h http.h ipp.h language.h md5.h ppd.h
|
||||
|
||||
HEADERS = cups.h http.h ipp.h language.h ppd.h
|
||||
|
||||
#
|
||||
# Targets in this directory...
|
||||
#
|
||||
|
||||
TARGETS = $(LIBCUPS) libcups.a
|
||||
|
||||
TARGETS = $(LIBCUPS) testhttp testppd
|
||||
|
||||
#
|
||||
# Make all targets...
|
||||
@@ -53,7 +50,6 @@ TARGETS = $(LIBCUPS) libcups.a
|
||||
|
||||
all: $(TARGETS)
|
||||
|
||||
|
||||
#
|
||||
# Remove object and target files...
|
||||
#
|
||||
@@ -61,26 +57,20 @@ all: $(TARGETS)
|
||||
clean:
|
||||
$(RM) $(OBJS) $(TARGETS)
|
||||
|
||||
|
||||
#
|
||||
# Install object and target files...
|
||||
#
|
||||
|
||||
install: all
|
||||
-$(MKDIR) $(INCLUDEDIR)/cups
|
||||
$(CHMOD) ugo+rx $(INCLUDEDIR)
|
||||
$(CHMOD) ugo+rx $(INCLUDEDIR)/cups
|
||||
$(INSTALL_DATA) $(HEADERS) $(INCLUDEDIR)/cups
|
||||
$(CP) $(HEADERS) $(INCLUDEDIR)/cups
|
||||
-$(MKDIR) $(LIBDIR)
|
||||
$(CHMOD) ugo+rx $(LIBDIR)
|
||||
$(INSTALL_LIB) $(LIBCUPS) $(LIBDIR)
|
||||
if test $(LIBCUPS) != "libcups.a" -a $(LIBCUPS) != "libcups.la"; then \
|
||||
$(INSTALL_LIB) libcups.a $(LIBDIR); \
|
||||
$(CP) $(LIBCUPS) $(LIBDIR)
|
||||
if test $(LIBCUPS) != "libcups.a"; then \
|
||||
$(RM) `basename $(LIBCUPS) .2`; \
|
||||
$(LN) $(LIBCUPS) `basename $(LIBCUPS) .2`; \
|
||||
fi
|
||||
|
||||
|
||||
#
|
||||
# libcups.so.2, libcups.sl.1
|
||||
#
|
||||
@@ -91,16 +81,6 @@ libcups.so.2 libcups.sl.2: $(LIBOBJS) ../Makedefs
|
||||
$(RM) `basename $@ .2`
|
||||
$(LN) $@ `basename $@ .2`
|
||||
|
||||
|
||||
#
|
||||
# libcups.la
|
||||
#
|
||||
|
||||
libcups.la: $(LIBOBJS) ../Makedefs
|
||||
echo Linking $@...
|
||||
$(CC) -o $@ $(LIBOBJS:.o=.lo) -rpath $(LIBDIR) -version-info 2:0
|
||||
|
||||
|
||||
#
|
||||
# libcups.a
|
||||
#
|
||||
@@ -111,7 +91,6 @@ libcups.a: $(LIBOBJS)
|
||||
$(AR) $(ARFLAGS) $@ $(LIBOBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
|
||||
#
|
||||
# cups_C.h - the default POSIX locale that is compiled in.
|
||||
#
|
||||
@@ -136,7 +115,6 @@ string.o: string.h
|
||||
usersys.o: cups.h
|
||||
util.o: cups.h http.h ipp.h
|
||||
|
||||
|
||||
#
|
||||
# testhttp (dependency on static CUPS library is intentional)
|
||||
#
|
||||
@@ -147,7 +125,6 @@ testhttp: testhttp.o libcups.a
|
||||
|
||||
testhttp.o: http.h
|
||||
|
||||
|
||||
#
|
||||
# testppd (dependency on static CUPS library is intentional)
|
||||
#
|
||||
@@ -160,7 +137,6 @@ testppd.o: ppd.h
|
||||
|
||||
$(OBJS): ../Makedefs ../config.h
|
||||
|
||||
|
||||
#
|
||||
# End of "$Id$".
|
||||
#
|
||||
|
||||
+2
-5
@@ -46,7 +46,7 @@ extern "C" {
|
||||
* Constants...
|
||||
*/
|
||||
|
||||
# define CUPS_VERSION 1.0100
|
||||
# define CUPS_VERSION 1.0
|
||||
# define CUPS_DATE_ANY -1
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ typedef struct /**** Printer Options ****/
|
||||
typedef struct /**** Destination ****/
|
||||
{
|
||||
char *name, /* Printer or class name */
|
||||
*instance; /* Local instance name or NULL */
|
||||
*instance; /* Local instance name */
|
||||
int is_default; /* Is this printer the default? */
|
||||
int num_options; /* Number of options */
|
||||
cups_option_t *options; /* Options */
|
||||
@@ -110,9 +110,6 @@ extern ipp_status_t cupsLastError(void);
|
||||
extern int cupsPrintFile(const char *printer, const char *filename,
|
||||
const char *title, int num_options,
|
||||
cups_option_t *options);
|
||||
extern int cupsPrintFiles(const char *printer, int num_files,
|
||||
const char **files, const char *title,
|
||||
int num_options, cups_option_t *options);
|
||||
extern char *cupsTempFile(char *filename, int len);
|
||||
|
||||
extern int cupsAddDest(const char *name, const char *instance,
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
"iso-8859-1",
|
||||
"us-ascii",
|
||||
"OK",
|
||||
"Cancel",
|
||||
"Help",
|
||||
|
||||
+13
-46
@@ -152,45 +152,23 @@ cupsGetDest(const char *name, /* I - Name of destination */
|
||||
int comp; /* Result of comparison */
|
||||
|
||||
|
||||
if (num_dests == 0 || dests == NULL)
|
||||
if (name == NULL || num_dests == 0 || dests == NULL)
|
||||
return (NULL);
|
||||
|
||||
if (name == NULL)
|
||||
while (num_dests > 0)
|
||||
{
|
||||
/*
|
||||
* NULL name for default printer.
|
||||
*/
|
||||
|
||||
while (num_dests > 0)
|
||||
if ((comp = strcasecmp(name, dests->name)) < 0)
|
||||
return (NULL);
|
||||
else if (comp == 0)
|
||||
{
|
||||
if (dests->is_default)
|
||||
return (dests);
|
||||
|
||||
num_dests --;
|
||||
dests ++;
|
||||
if ((instance == NULL && dests->instance == NULL) ||
|
||||
(instance != NULL && dests->instance != NULL &&
|
||||
strcasecmp(instance, dests->instance) == 0))
|
||||
return (dests);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Lookup name and optionally the instance...
|
||||
*/
|
||||
|
||||
while (num_dests > 0)
|
||||
{
|
||||
if ((comp = strcasecmp(name, dests->name)) < 0)
|
||||
return (NULL);
|
||||
else if (comp == 0)
|
||||
{
|
||||
if ((instance == NULL && dests->instance == NULL) ||
|
||||
(instance != NULL && dests->instance != NULL &&
|
||||
strcasecmp(instance, dests->instance) == 0))
|
||||
return (dests);
|
||||
}
|
||||
|
||||
num_dests --;
|
||||
dests ++;
|
||||
}
|
||||
num_dests --;
|
||||
dests ++;
|
||||
}
|
||||
|
||||
return (NULL);
|
||||
@@ -261,13 +239,7 @@ cupsGetDests(cups_dest_t **dests) /* O - Destinations */
|
||||
* Load the /etc/cups/lpoptions and ~/.lpoptions files...
|
||||
*/
|
||||
|
||||
if ((home = getenv("CUPS_SERVERROOT")) != NULL)
|
||||
{
|
||||
snprintf(filename, sizeof(filename), "%s/lpoptions", home);
|
||||
num_dests = cups_get_dests(filename, num_dests, dests);
|
||||
}
|
||||
else
|
||||
num_dests = cups_get_dests(CUPS_SERVERROOT "/lpoptions", num_dests, dests);
|
||||
num_dests = cups_get_dests(CUPS_SERVERROOT "/lpoptions", num_dests, dests);
|
||||
|
||||
if ((home = getenv("HOME")) != NULL)
|
||||
{
|
||||
@@ -304,12 +276,7 @@ cupsSetDests(int num_dests, /* I - Number of destinations */
|
||||
*/
|
||||
|
||||
if (getuid() == 0)
|
||||
{
|
||||
if ((home = getenv("CUPS_SERVERROOT")) != NULL)
|
||||
snprintf(filename, sizeof(filename), "%s/lpoptions", home);
|
||||
else
|
||||
strcpy(filename, CUPS_SERVERROOT "/lpoptions");
|
||||
}
|
||||
strcpy(filename, CUPS_SERVERROOT "/lpoptions");
|
||||
else if ((home = getenv("HOME")) != NULL)
|
||||
snprintf(filename, sizeof(filename), "%s/.lpoptions", home);
|
||||
else
|
||||
|
||||
+1
-123
@@ -259,9 +259,6 @@ httpConnect(const char *host, /* I - Host to connect to */
|
||||
struct hostent *hostaddr; /* Host address data */
|
||||
|
||||
|
||||
if (host == NULL)
|
||||
return (NULL);
|
||||
|
||||
httpInitialize();
|
||||
|
||||
/*
|
||||
@@ -569,119 +566,6 @@ httpSeparate(const char *uri, /* I - Universal Resource Identifier */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'httpGetSubField()' - Get a sub-field value.
|
||||
*/
|
||||
|
||||
char * /* O - Value or NULL */
|
||||
httpGetSubField(http_t *http, /* I - HTTP data */
|
||||
http_field_t field, /* I - Field index */
|
||||
const char *name, /* I - Name of sub-field */
|
||||
char *value) /* O - Value string */
|
||||
{
|
||||
const char *fptr; /* Pointer into field */
|
||||
char temp[HTTP_MAX_VALUE], /* Temporary buffer for name */
|
||||
*ptr; /* Pointer into string buffer */
|
||||
|
||||
|
||||
if (http == NULL ||
|
||||
field < HTTP_FIELD_ACCEPT_LANGUAGE ||
|
||||
field > HTTP_FIELD_WWW_AUTHENTICATE ||
|
||||
name == NULL || value == NULL)
|
||||
return (NULL);
|
||||
|
||||
for (fptr = http->fields[field]; *fptr;)
|
||||
{
|
||||
/*
|
||||
* Skip leading whitespace...
|
||||
*/
|
||||
|
||||
while (isspace(*fptr));
|
||||
fptr ++;
|
||||
|
||||
if (*fptr == ',')
|
||||
{
|
||||
fptr ++;
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Get the sub-field name...
|
||||
*/
|
||||
|
||||
for (ptr = temp;
|
||||
*fptr && *fptr != '=' && !isspace(*fptr) && ptr < (temp + sizeof(temp) - 1);
|
||||
*ptr++ = *fptr++);
|
||||
|
||||
*ptr = '\0';
|
||||
|
||||
/*
|
||||
* Skip trailing chars up to the '='...
|
||||
*/
|
||||
|
||||
while (*fptr && *fptr != '=')
|
||||
fptr ++;
|
||||
|
||||
if (!*fptr)
|
||||
break;
|
||||
|
||||
/*
|
||||
* Skip = and leading whitespace...
|
||||
*/
|
||||
|
||||
fptr ++;
|
||||
|
||||
while (isspace(*fptr));
|
||||
fptr ++;
|
||||
|
||||
if (*fptr == '\"')
|
||||
{
|
||||
/*
|
||||
* Read quoted string...
|
||||
*/
|
||||
|
||||
for (ptr = value, fptr ++;
|
||||
*fptr && *fptr != '\"' && ptr < (value + HTTP_MAX_VALUE - 1);
|
||||
*ptr++ = *fptr++);
|
||||
|
||||
*ptr = '\0';
|
||||
|
||||
while (*fptr && *fptr != '\"')
|
||||
fptr ++;
|
||||
|
||||
if (*fptr)
|
||||
fptr ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Read unquoted string...
|
||||
*/
|
||||
|
||||
for (ptr = value;
|
||||
*fptr && !isspace(*fptr) && *fptr != ',' && ptr < (value + HTTP_MAX_VALUE - 1);
|
||||
*ptr++ = *fptr++);
|
||||
|
||||
*ptr = '\0';
|
||||
|
||||
while (*fptr && !isspace(*fptr) && *fptr != ',')
|
||||
fptr ++;
|
||||
}
|
||||
|
||||
/*
|
||||
* See if this is the one...
|
||||
*/
|
||||
|
||||
if (strcmp(name, temp) == 0)
|
||||
return (value);
|
||||
}
|
||||
|
||||
value[0] = '\0';
|
||||
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'httpSetField()' - Set the value of an HTTP header.
|
||||
*/
|
||||
@@ -691,12 +575,6 @@ httpSetField(http_t *http, /* I - HTTP data */
|
||||
http_field_t field, /* I - Field index */
|
||||
const char *value) /* I - Value */
|
||||
{
|
||||
if (http == NULL ||
|
||||
field < HTTP_FIELD_ACCEPT_LANGUAGE ||
|
||||
field > HTTP_FIELD_WWW_AUTHENTICATE ||
|
||||
value == NULL)
|
||||
return;
|
||||
|
||||
strncpy(http->fields[field], value, HTTP_MAX_VALUE - 1);
|
||||
http->fields[field][HTTP_MAX_VALUE - 1] = '\0';
|
||||
}
|
||||
@@ -1325,7 +1203,7 @@ httpUpdate(http_t *http) /* I - HTTP data */
|
||||
* Got the beginning of a response...
|
||||
*/
|
||||
|
||||
if (sscanf(line, "HTTP/%d.%d%d", &major, &minor, (int *)&status) != 3)
|
||||
if (sscanf(line, "HTTP/%d.%d%d", &major, &minor, &status) != 3)
|
||||
return (HTTP_ERROR);
|
||||
|
||||
http->version = (http_version_t)(major * 100 + minor);
|
||||
|
||||
+4
-14
@@ -47,7 +47,7 @@
|
||||
# include <netinet/tcp.h>
|
||||
# endif /* WIN32 || __EMX__ */
|
||||
|
||||
# include <cups/md5.h>
|
||||
# include "md5.h"
|
||||
|
||||
|
||||
/*
|
||||
@@ -260,7 +260,6 @@ typedef struct
|
||||
char nonce[HTTP_MAX_VALUE];
|
||||
/* Nonce value */
|
||||
int nonce_count; /* Nonce count */
|
||||
void *tls; /* TLS state information */
|
||||
} http_t;
|
||||
|
||||
|
||||
@@ -282,8 +281,6 @@ extern char *httpGets(char *line, int length, http_t *http);
|
||||
extern const char *httpGetDateString(time_t t);
|
||||
extern time_t httpGetDateTime(const char *s);
|
||||
# define httpGetField(http,field) (http)->fields[field]
|
||||
extern char *httpGetSubField(http_t *http, http_field_t field,
|
||||
const char *name, char *value);
|
||||
extern int httpHead(http_t *http, const char *uri);
|
||||
extern void httpInitialize(void);
|
||||
extern int httpOptions(http_t *http, const char *uri);
|
||||
@@ -292,11 +289,9 @@ extern int httpPrintf(http_t *http, const char *format, ...);
|
||||
extern int httpPut(http_t *http, const char *uri);
|
||||
extern int httpRead(http_t *http, char *buffer, int length);
|
||||
extern int httpReconnect(http_t *http);
|
||||
extern void httpSeparate(const char *uri, char *method,
|
||||
char *username, char *host, int *port,
|
||||
char *resource);
|
||||
extern void httpSetField(http_t *http, http_field_t field,
|
||||
const char *value);
|
||||
extern void httpSeparate(const char *uri, char *method, char *username,
|
||||
char *host, int *port, char *resource);
|
||||
extern void httpSetField(http_t *http, http_field_t field, const char *value);
|
||||
extern const char *httpStatus(http_status_t status);
|
||||
extern int httpTrace(http_t *http, const char *uri);
|
||||
extern http_status_t httpUpdate(http_t *http);
|
||||
@@ -304,11 +299,6 @@ extern int httpWrite(http_t *http, const char *buffer, int length);
|
||||
extern char *httpEncode64(char *out, const char *in);
|
||||
extern char *httpDecode64(char *out, const char *in);
|
||||
extern int httpGetLength(http_t *http);
|
||||
extern char *httpMD5(const char *, const char *, const char *,
|
||||
char [33]);
|
||||
extern char *httpMD5Final(const char *, const char *, const char *,
|
||||
char [33]);
|
||||
extern char *httpMD5String(const md5_byte_t *, char [33]);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
+36
-78
@@ -41,13 +41,11 @@
|
||||
* ippErrorString() - Return a textual message for the given error message.
|
||||
* ippFindAttribute() - Find a named attribute in a request...
|
||||
* ippLength() - Compute the length of an IPP request.
|
||||
* ippNew() - Allocate a new IPP request.
|
||||
* ippPort() - Return the default IPP port number.
|
||||
* ippRead() - Read data for an IPP request.
|
||||
* ippTimeToDate() - Convert from UNIX time to RFC 1903 format.
|
||||
* ippWrite() - Write data for an IPP request.
|
||||
* _ipp_add_attr() - Add a new attribute to the request.
|
||||
* _ipp_free_attr() - Free an attribute.
|
||||
* _ipp_add_attr() - Add a new attribute to the request.
|
||||
* ipp_read() - Semi-blocking read on a HTTP connection...
|
||||
*/
|
||||
|
||||
@@ -62,7 +60,6 @@
|
||||
|
||||
#include "ipp.h"
|
||||
#include "debug.h"
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
/*
|
||||
@@ -262,22 +259,6 @@ ippAddString(ipp_t *ipp, /* I - IPP request */
|
||||
attr->values[0].string.charset = charset ? strdup(charset) : NULL;
|
||||
attr->values[0].string.text = strdup(value);
|
||||
|
||||
if (type == IPP_TAG_LANGUAGE || type == IPP_TAG_CHARSET)
|
||||
{
|
||||
/*
|
||||
* Convert to lowercase and change _ to - as needed...
|
||||
*/
|
||||
|
||||
char *p;
|
||||
|
||||
|
||||
for (p = attr->values[0].string.text; *p; p ++)
|
||||
if (*p == '_')
|
||||
*p = '-';
|
||||
else
|
||||
*p = tolower(*p);
|
||||
}
|
||||
|
||||
return (attr);
|
||||
}
|
||||
|
||||
@@ -543,6 +524,7 @@ ippDateToTime(const ipp_uchar_t *date) /* I - RFC 1903 date info */
|
||||
void
|
||||
ippDelete(ipp_t *ipp) /* I - IPP request */
|
||||
{
|
||||
int i; /* Looping var */
|
||||
ipp_attribute_t *attr, /* Current attribute */
|
||||
*next; /* Next attribute */
|
||||
|
||||
@@ -552,8 +534,38 @@ ippDelete(ipp_t *ipp) /* I - IPP request */
|
||||
|
||||
for (attr = ipp->attrs; attr != NULL; attr = next)
|
||||
{
|
||||
switch (attr->value_tag)
|
||||
{
|
||||
case IPP_TAG_TEXT :
|
||||
case IPP_TAG_NAME :
|
||||
case IPP_TAG_KEYWORD :
|
||||
case IPP_TAG_STRING :
|
||||
case IPP_TAG_URI :
|
||||
case IPP_TAG_URISCHEME :
|
||||
case IPP_TAG_CHARSET :
|
||||
case IPP_TAG_LANGUAGE :
|
||||
case IPP_TAG_MIMETYPE :
|
||||
for (i = 0; i < attr->num_values; i ++)
|
||||
free(attr->values[i].string.text);
|
||||
break;
|
||||
|
||||
case IPP_TAG_TEXTLANG :
|
||||
case IPP_TAG_NAMELANG :
|
||||
for (i = 0; i < attr->num_values; i ++)
|
||||
{
|
||||
if (attr->values[i].string.charset)
|
||||
free(attr->values[i].string.charset);
|
||||
free(attr->values[i].string.text);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
next = attr->next;
|
||||
_ipp_free_attr(attr);
|
||||
|
||||
if (attr->name != NULL)
|
||||
free(attr->name);
|
||||
|
||||
free(attr);
|
||||
}
|
||||
|
||||
free(ipp);
|
||||
@@ -624,18 +636,16 @@ ippErrorString(ipp_status_t error) /* I - Error status */
|
||||
return (cupsLangString(language, HTTP_NOT_SUPPORTED));
|
||||
|
||||
case IPP_SERVICE_UNAVAILABLE :
|
||||
case IPP_DEVICE_ERROR :
|
||||
case IPP_DEVICE_UNAVAILABLE :
|
||||
case IPP_TEMPORARY_ERROR :
|
||||
case IPP_PRINTER_BUSY :
|
||||
return (cupsLangString(language, HTTP_SERVICE_UNAVAILABLE));
|
||||
|
||||
case IPP_NOT_ACCEPTING :
|
||||
return (cupsLangString(language, CUPS_MSG_NOT_ACCEPTING_JOBS));
|
||||
|
||||
default :
|
||||
return ("ERROR");
|
||||
}
|
||||
|
||||
return ("ERROR");
|
||||
}
|
||||
|
||||
|
||||
@@ -662,7 +672,7 @@ ippFindAttribute(ipp_t *ipp, /* I - IPP request */
|
||||
attr->name));
|
||||
|
||||
if (attr->name != NULL && strcasecmp(attr->name, name) == 0 &&
|
||||
(attr->value_tag == type || type == IPP_TAG_ZERO ||
|
||||
(attr->value_tag == type ||
|
||||
(attr->value_tag == IPP_TAG_TEXTLANG && type == IPP_TAG_TEXT) ||
|
||||
(attr->value_tag == IPP_TAG_NAMELANG && type == IPP_TAG_NAME)))
|
||||
return (attr);
|
||||
@@ -1094,9 +1104,6 @@ ippRead(http_t *http, /* I - HTTP data */
|
||||
|
||||
case IPP_DATA :
|
||||
break;
|
||||
|
||||
default :
|
||||
break; /* anti-compiler-warning-code */
|
||||
}
|
||||
|
||||
return (ipp->state);
|
||||
@@ -1557,9 +1564,6 @@ ippWrite(http_t *http, /* I - HTTP data */
|
||||
|
||||
case IPP_DATA :
|
||||
break;
|
||||
|
||||
default :
|
||||
break; /* anti-compiler-warning-code */
|
||||
}
|
||||
|
||||
return (ipp->state);
|
||||
@@ -1621,52 +1625,6 @@ _ipp_add_attr(ipp_t *ipp, /* I - IPP request */
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* '_ipp_free_attr()' - Free an attribute.
|
||||
*/
|
||||
|
||||
void
|
||||
_ipp_free_attr(ipp_attribute_t *attr) /* I - Attribute to free */
|
||||
{
|
||||
int i; /* Looping var */
|
||||
|
||||
|
||||
switch (attr->value_tag)
|
||||
{
|
||||
case IPP_TAG_TEXT :
|
||||
case IPP_TAG_NAME :
|
||||
case IPP_TAG_KEYWORD :
|
||||
case IPP_TAG_STRING :
|
||||
case IPP_TAG_URI :
|
||||
case IPP_TAG_URISCHEME :
|
||||
case IPP_TAG_CHARSET :
|
||||
case IPP_TAG_LANGUAGE :
|
||||
case IPP_TAG_MIMETYPE :
|
||||
for (i = 0; i < attr->num_values; i ++)
|
||||
free(attr->values[i].string.text);
|
||||
break;
|
||||
|
||||
case IPP_TAG_TEXTLANG :
|
||||
case IPP_TAG_NAMELANG :
|
||||
for (i = 0; i < attr->num_values; i ++)
|
||||
{
|
||||
if (attr->values[i].string.charset)
|
||||
free(attr->values[i].string.charset);
|
||||
free(attr->values[i].string.text);
|
||||
}
|
||||
break;
|
||||
|
||||
default :
|
||||
break; /* anti-compiler-warning-code */
|
||||
}
|
||||
|
||||
if (attr->name != NULL)
|
||||
free(attr->name);
|
||||
|
||||
free(attr);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'ipp_read()' - Semi-blocking read on a HTTP connection...
|
||||
*/
|
||||
|
||||
+11
-14
@@ -80,9 +80,6 @@ typedef enum /**** Format tags for attribute formats... ****/
|
||||
IPP_TAG_DEFAULT,
|
||||
IPP_TAG_UNKNOWN,
|
||||
IPP_TAG_NOVALUE,
|
||||
IPP_TAG_NOTSETTABLE = 0x15,
|
||||
IPP_TAG_DELETEATTR,
|
||||
IPP_TAG_ANYVALUE,
|
||||
IPP_TAG_INTEGER = 0x21,
|
||||
IPP_TAG_BOOLEAN,
|
||||
IPP_TAG_ENUM,
|
||||
@@ -109,6 +106,14 @@ typedef enum /**** Resolution units... ****/
|
||||
IPP_RES_PER_CM
|
||||
} ipp_res_t;
|
||||
|
||||
typedef enum /**** Multiple Document Handling ****/
|
||||
{
|
||||
IPP_DOC_SINGLE,
|
||||
IPP_DOC_UNCOLLATED,
|
||||
IPP_DOC_COLLATED,
|
||||
IPP_DOC_SEPARATE
|
||||
} ipp_doc_t;
|
||||
|
||||
typedef enum /**** Finishings... ****/
|
||||
{
|
||||
IPP_FINISH_NONE = 3,
|
||||
@@ -193,8 +198,7 @@ typedef enum /**** IPP operations... ****/
|
||||
CUPS_REJECT_JOBS,
|
||||
CUPS_SET_DEFAULT,
|
||||
CUPS_GET_DEVICES,
|
||||
CUPS_GET_PPDS,
|
||||
CUPS_MOVE_JOB
|
||||
CUPS_GET_PPDS
|
||||
} ipp_op_t;
|
||||
|
||||
typedef enum /**** IPP status codes... ****/
|
||||
@@ -217,20 +221,14 @@ typedef enum /**** IPP status codes... ****/
|
||||
IPP_URI_SCHEME,
|
||||
IPP_CHARSET,
|
||||
IPP_CONFLICT,
|
||||
IPP_COMPRESSION_NOT_SUPPORTED,
|
||||
IPP_COMPRESSION_ERROR,
|
||||
IPP_DOCUMENT_FORMAT_ERROR,
|
||||
IPP_DOCUMENT_ACCESS_ERROR,
|
||||
IPP_INTERNAL_ERROR = 0x0500,
|
||||
IPP_OPERATION_NOT_SUPPORTED,
|
||||
IPP_SERVICE_UNAVAILABLE,
|
||||
IPP_VERSION_NOT_SUPPORTED,
|
||||
IPP_DEVICE_ERROR,
|
||||
IPP_DEVICE_UNAVAILABLE,
|
||||
IPP_TEMPORARY_ERROR,
|
||||
IPP_NOT_ACCEPTING,
|
||||
IPP_PRINTER_BUSY,
|
||||
IPP_ERROR_JOB_CANCELLED,
|
||||
IPP_MULTIPLE_JOBS_NOT_SUPPORTED
|
||||
IPP_PRINTER_BUSY
|
||||
} ipp_status_t;
|
||||
|
||||
typedef unsigned char ipp_uchar_t;/**** Unsigned 8-bit integer/character ****/
|
||||
@@ -344,7 +342,6 @@ extern ipp_state_t ippWrite(http_t *http, ipp_t *ipp);
|
||||
extern int ippPort(void);
|
||||
|
||||
extern ipp_attribute_t *_ipp_add_attr(ipp_t *, int);
|
||||
extern void _ipp_free_attr(ipp_attribute_t *);
|
||||
|
||||
|
||||
/*
|
||||
|
||||
+13
-25
@@ -50,30 +50,17 @@ static char *lang_blank = ""; /* Blank constant string */
|
||||
static char *lang_encodings[] = /* Encoding strings */
|
||||
{
|
||||
"us-ascii",
|
||||
"iso-8859-1",
|
||||
"iso-8859-2",
|
||||
"iso-8859-3",
|
||||
"iso-8859-4",
|
||||
"iso-8859-5",
|
||||
"iso-8859-6",
|
||||
"iso-8859-7",
|
||||
"iso-8859-8",
|
||||
"iso-8859-9",
|
||||
"iso-8859-10",
|
||||
"utf-8",
|
||||
"iso-8859-13",
|
||||
"iso-8859-14",
|
||||
"iso-8859-15",
|
||||
"windows-874",
|
||||
"windows-1250",
|
||||
"windows-1251",
|
||||
"windows-1252",
|
||||
"windows-1253",
|
||||
"windows-1254",
|
||||
"windows-1255",
|
||||
"windows-1256",
|
||||
"windows-1257",
|
||||
"windows-1258"
|
||||
"iso8859-1",
|
||||
"iso8859-2",
|
||||
"iso8859-3",
|
||||
"iso8859-4",
|
||||
"iso8859-5",
|
||||
"iso8859-6",
|
||||
"iso8859-7",
|
||||
"iso8859-8",
|
||||
"iso8859-9",
|
||||
"iso8859-10",
|
||||
"utf8"
|
||||
};
|
||||
static char *lang_default[] = /* Default POSIX locale */
|
||||
{
|
||||
@@ -157,7 +144,7 @@ cupsLangGet(const char *language) /* I - Language or locale */
|
||||
/*
|
||||
* Convert the language string passed in to a locale string. "C" is the
|
||||
* standard POSIX locale and is copied unchanged. Otherwise the
|
||||
* language string is converted from ll-cc (language-country) to ll_cc
|
||||
* language string is converted from ll-cc (language-country) to ll_CC
|
||||
* to match the file naming convention used by all POSIX-compliant
|
||||
* operating systems. Any trailing character set specification is
|
||||
* dropped.
|
||||
@@ -303,6 +290,7 @@ cupsLangGet(const char *language) /* I - Language or locale */
|
||||
lang_cache = lang;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Free all old strings as needed...
|
||||
*/
|
||||
|
||||
+1
-14
@@ -168,20 +168,7 @@ typedef enum /**** Language Encodings ****/
|
||||
CUPS_ISO8859_8,
|
||||
CUPS_ISO8859_9,
|
||||
CUPS_ISO8859_10,
|
||||
CUPS_UTF8,
|
||||
CUPS_ISO8859_13,
|
||||
CUPS_ISO8859_14,
|
||||
CUPS_ISO8859_15,
|
||||
CUPS_WINDOWS_874,
|
||||
CUPS_WINDOWS_1250,
|
||||
CUPS_WINDOWS_1251,
|
||||
CUPS_WINDOWS_1252,
|
||||
CUPS_WINDOWS_1253,
|
||||
CUPS_WINDOWS_1254,
|
||||
CUPS_WINDOWS_1255,
|
||||
CUPS_WINDOWS_1256,
|
||||
CUPS_WINDOWS_1257,
|
||||
CUPS_WINDOWS_1258
|
||||
CUPS_UTF8
|
||||
} cups_encoding_t;
|
||||
|
||||
typedef struct cups_lang_str /**** Language Cache Structure ****/
|
||||
|
||||
+2
-8
@@ -41,7 +41,6 @@
|
||||
|
||||
#include "ppd.h"
|
||||
#include "string.h"
|
||||
#include "debug.h"
|
||||
|
||||
|
||||
/*
|
||||
@@ -118,8 +117,7 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */
|
||||
if (c1->marked)
|
||||
break;
|
||||
|
||||
if (j == 0 || strcasecmp(c1->choice, "None") == 0 ||
|
||||
strcasecmp(c1->choice, "False") == 0)
|
||||
if (j == 0 || strcasecmp(c1->choice, "None") == 0)
|
||||
c1 = NULL;
|
||||
}
|
||||
|
||||
@@ -149,8 +147,7 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */
|
||||
if (c2->marked)
|
||||
break;
|
||||
|
||||
if (j == 0 || strcasecmp(c2->choice, "None") == 0 ||
|
||||
strcasecmp(c2->choice, "False") == 0)
|
||||
if (j == 0 || strcasecmp(c2->choice, "None") == 0)
|
||||
c2 = NULL;
|
||||
}
|
||||
|
||||
@@ -161,9 +158,6 @@ ppdConflicts(ppd_file_t *ppd) /* I - PPD to check */
|
||||
if (c1 != NULL && c1->marked &&
|
||||
c2 != NULL && c2->marked)
|
||||
{
|
||||
DEBUG_printf(("%s->%s conflicts with %s->%s (%s %s %s %s)\n",
|
||||
o1->keyword, c1->choice, o2->keyword, c2->choice,
|
||||
c->option1, c->choice1, c->option2, c->choice2));
|
||||
conflicts ++;
|
||||
o1->conflicted = 1;
|
||||
o2->conflicted = 1;
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
/*
|
||||
* "$Id$"
|
||||
*
|
||||
* MD5 password support for the Common UNIX Printing System (CUPS).
|
||||
*
|
||||
* Copyright 1997-2000 by Easy Software Products.
|
||||
*
|
||||
* These coded instructions, statements, and computer programs are the
|
||||
* property of Easy Software Products and are protected by Federal
|
||||
* copyright law. Distribution and use rights are outlined in the file
|
||||
* "LICENSE.txt" which should have been included with this file. If this
|
||||
* file is missing or damaged please contact Easy Software Products
|
||||
* at:
|
||||
*
|
||||
* Attn: CUPS Licensing Information
|
||||
* Easy Software Products
|
||||
* 44141 Airport View Drive, Suite 204
|
||||
* Hollywood, Maryland 20636-3111 USA
|
||||
*
|
||||
* Voice: (301) 373-9603
|
||||
* EMail: cups-info@cups.org
|
||||
* WWW: http://www.cups.org
|
||||
*
|
||||
* Contents:
|
||||
*
|
||||
* httpMD5() - Compute the MD5 sum of the username:group:password.
|
||||
* httpMD5Nonce() - Combine the MD5 sum of the username, group, and password
|
||||
* with the server-supplied nonce value.
|
||||
* httpMD5String() - Convert an MD5 sum to a character string.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Include necessary headers...
|
||||
*/
|
||||
|
||||
#include "http.h"
|
||||
#include "string.h"
|
||||
|
||||
|
||||
/*
|
||||
* 'httpMD5()' - Compute the MD5 sum of the username:group:password.
|
||||
*/
|
||||
|
||||
char * /* O - MD5 sum */
|
||||
httpMD5(const char *username, /* I - User name */
|
||||
const char *realm, /* I - Realm name */
|
||||
const char *passwd, /* I - Password string */
|
||||
char md5[33]) /* O - MD5 string */
|
||||
{
|
||||
md5_state_t state; /* MD5 state info */
|
||||
md5_byte_t sum[16]; /* Sum data */
|
||||
char line[256]; /* Line to sum */
|
||||
|
||||
|
||||
/*
|
||||
* Compute the MD5 sum of the user name, group name, and password.
|
||||
*/
|
||||
|
||||
snprintf(line, sizeof(line), "%s:%s:%s", username, realm, passwd);
|
||||
md5_init(&state);
|
||||
md5_append(&state, (md5_byte_t *)line, strlen(line));
|
||||
md5_finish(&state, sum);
|
||||
|
||||
/*
|
||||
* Return the sum...
|
||||
*/
|
||||
|
||||
return (httpMD5String(sum, md5));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'httpMD5Final()' - Combine the MD5 sum of the username, group, and password
|
||||
* with the server-supplied nonce value, method, and
|
||||
* request-uri.
|
||||
*/
|
||||
|
||||
char * /* O - New sum */
|
||||
httpMD5Final(const char *nonce, /* I - Server nonce value */
|
||||
const char *method, /* I - METHOD (GET, POST, etc.) */
|
||||
const char *resource, /* I - Resource path */
|
||||
char md5[33]) /* IO - MD5 sum */
|
||||
{
|
||||
md5_state_t state; /* MD5 state info */
|
||||
md5_byte_t sum[16]; /* Sum data */
|
||||
char line[1024]; /* Line of data */
|
||||
char a2[33]; /* Hash of method and resource */
|
||||
|
||||
|
||||
/*
|
||||
* First compute the MD5 sum of the method and resource...
|
||||
*/
|
||||
|
||||
snprintf(line, sizeof(line), "%s:%s", method, resource);
|
||||
md5_init(&state);
|
||||
md5_append(&state, (md5_byte_t *)line, strlen(line));
|
||||
md5_finish(&state, sum);
|
||||
httpMD5String(sum, a2);
|
||||
|
||||
/*
|
||||
* Then combine A1 (MD5 of username, realm, and password) with the nonce
|
||||
* and A2 (method + resource) values to get the final MD5 sum for the
|
||||
* request...
|
||||
*/
|
||||
|
||||
snprintf(line, sizeof(line), "%s%s:%s", md5, nonce, a2);
|
||||
|
||||
md5_init(&state);
|
||||
md5_append(&state, (md5_byte_t *)line, strlen(line));
|
||||
md5_finish(&state, sum);
|
||||
|
||||
return (httpMD5String(sum, md5));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'httpMD5String()' - Convert an MD5 sum to a character string.
|
||||
*/
|
||||
|
||||
char * /* O - MD5 sum in hex */
|
||||
httpMD5String(const md5_byte_t *sum, /* I - MD5 sum data */
|
||||
char md5[33]) /* O - MD5 sum in hex */
|
||||
{
|
||||
int i; /* Looping var */
|
||||
char *md5ptr; /* Pointer into MD5 string */
|
||||
static char *hex = "0123456789abcdef";
|
||||
/* Hex digits */
|
||||
|
||||
|
||||
/*
|
||||
* Convert the MD5 sum to hexadecimal...
|
||||
*/
|
||||
|
||||
for (i = 16, md5ptr = md5; i > 0; i --, sum ++)
|
||||
{
|
||||
*md5ptr++ = hex[*sum >> 4];
|
||||
*md5ptr++ = hex[*sum & 15];
|
||||
}
|
||||
|
||||
*md5ptr = '\0';
|
||||
|
||||
return (md5);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* End of "$Id$".
|
||||
*/
|
||||
@@ -367,11 +367,6 @@ cupsMarkOptions(ppd_file_t *ppd, /* I - PPD file */
|
||||
if (ppdMarkOption(ppd, "CNRes_PGP", options->value)) /* Canon */
|
||||
conflict = 1;
|
||||
}
|
||||
else if (strcasecmp(options->name, "output-bin") == 0)
|
||||
{
|
||||
if (ppdMarkOption(ppd, "OutputBin", options->value))
|
||||
conflict = 1;
|
||||
}
|
||||
else if (ppdMarkOption(ppd, options->name, options->value))
|
||||
conflict = 1;
|
||||
|
||||
|
||||
+43
-87
@@ -584,8 +584,6 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
else
|
||||
ppd->colorspace = PPD_CS_GRAY;
|
||||
}
|
||||
else if (strcmp(keyword, "cupsFlipDuplex") == 0)
|
||||
ppd->flip_duplex = strcmp(string, "True") == 0;
|
||||
else if (strcmp(keyword, "cupsManualCopies") == 0)
|
||||
ppd->manual_copies = strcmp(string, "True") == 0;
|
||||
else if (strcmp(keyword, "cupsModelNumber") == 0)
|
||||
@@ -633,27 +631,6 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
}
|
||||
else if (strcmp(keyword, "Throughput") == 0)
|
||||
ppd->throughput = atoi(string);
|
||||
else if (strcmp(keyword, "Font") == 0)
|
||||
{
|
||||
/*
|
||||
* Add this font to the list of available fonts...
|
||||
*/
|
||||
|
||||
if (ppd->num_fonts == 0)
|
||||
ppd->fonts = (char **)malloc(sizeof(char *));
|
||||
else
|
||||
ppd->fonts = (char **)realloc(ppd->fonts,
|
||||
sizeof(char *) * (ppd->num_fonts + 1));
|
||||
|
||||
if (ppd->fonts == NULL)
|
||||
{
|
||||
ppdClose(ppd);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
ppd->fonts[ppd->num_fonts] = strdup(name);
|
||||
ppd->num_fonts ++;
|
||||
}
|
||||
else if (strcmp(keyword, "VariablePaperSize") == 0 &&
|
||||
strcmp(string, "True") == 0 &&
|
||||
!ppd->variable_sizes)
|
||||
@@ -670,26 +647,20 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
* Add a "Custom" page size option...
|
||||
*/
|
||||
|
||||
if ((option = ppdFindOption(ppd, "PageSize")) == NULL)
|
||||
if ((group = ppd_get_group(ppd,
|
||||
cupsLangString(language,
|
||||
CUPS_MSG_GENERAL))) == NULL)
|
||||
{
|
||||
ppd_group_t *temp;
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
if ((temp = ppd_get_group(ppd,
|
||||
cupsLangString(language,
|
||||
CUPS_MSG_GENERAL))) == NULL)
|
||||
{
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
if ((option = ppd_get_option(temp, "PageSize")) == NULL)
|
||||
{
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
if ((option = ppd_get_option(group, "PageSize")) == NULL)
|
||||
{
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
if ((choice = ppd_add_choice(option, "Custom")) == NULL)
|
||||
@@ -701,6 +672,7 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
|
||||
strncpy(choice->text, cupsLangString(language, CUPS_MSG_VARIABLE),
|
||||
sizeof(choice->text) - 1);
|
||||
group = NULL;
|
||||
option = NULL;
|
||||
}
|
||||
else if (strcmp(keyword, "MaxMediaWidth") == 0)
|
||||
@@ -737,33 +709,24 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
* Add a "Custom" page size option...
|
||||
*/
|
||||
|
||||
if ((option = ppdFindOption(ppd, "PageSize")) == NULL)
|
||||
if ((group = ppd_get_group(ppd,
|
||||
cupsLangString(language,
|
||||
CUPS_MSG_GENERAL))) == NULL)
|
||||
{
|
||||
ppd_group_t *temp;
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
|
||||
if ((temp = ppd_get_group(ppd,
|
||||
cupsLangString(language,
|
||||
CUPS_MSG_GENERAL))) == NULL)
|
||||
{
|
||||
DEBUG_puts("Unable to get general group!");
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
if ((option = ppd_get_option(temp, "PageSize")) == NULL)
|
||||
{
|
||||
DEBUG_puts("Unable to get PageSize option!");
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
}
|
||||
if ((option = ppd_get_option(group, "PageSize")) == NULL)
|
||||
{
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
if ((choice = ppd_add_choice(option, "Custom")) == NULL)
|
||||
{
|
||||
DEBUG_puts("Unable to add Custom choice!");
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
@@ -771,12 +734,12 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
|
||||
strncpy(choice->text, cupsLangString(language, CUPS_MSG_VARIABLE),
|
||||
sizeof(choice->text) - 1);
|
||||
group = NULL;
|
||||
option = NULL;
|
||||
}
|
||||
|
||||
if ((option = ppdFindOption(ppd, "PageSize")) == NULL)
|
||||
{
|
||||
DEBUG_puts("Unable to find PageSize option!");
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
@@ -784,7 +747,6 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
|
||||
if ((choice = ppdFindChoice(option, "Custom")) == NULL)
|
||||
{
|
||||
DEBUG_puts("Unable to find Custom choice!");
|
||||
ppdClose(ppd);
|
||||
safe_free(string);
|
||||
return (NULL);
|
||||
@@ -1034,8 +996,6 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
* Open a new sub-group...
|
||||
*/
|
||||
|
||||
DEBUG_printf(("group = %p, subgroup = %p\n", group, subgroup));
|
||||
|
||||
if (group == NULL || subgroup != NULL)
|
||||
{
|
||||
ppdClose(ppd);
|
||||
@@ -1095,25 +1055,24 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
|
||||
if (option == NULL)
|
||||
{
|
||||
ppd_group_t *temp;
|
||||
|
||||
|
||||
/*
|
||||
* Only valid for Non-UI options...
|
||||
*/
|
||||
|
||||
for (i = ppd->num_groups, temp = ppd->groups; i > 0; i --, temp ++)
|
||||
if (temp->text[0] == '\0')
|
||||
for (i = ppd->num_groups, group = ppd->groups; i > 0; i --, group ++)
|
||||
if (group->text[0] == '\0')
|
||||
break;
|
||||
|
||||
if (i > 0)
|
||||
for (i = 0; i < temp->num_options; i ++)
|
||||
if (strcmp(keyword, temp->options[i].keyword) == 0)
|
||||
for (i = 0; i < group->num_options; i ++)
|
||||
if (strcmp(keyword, group->options[i].keyword) == 0)
|
||||
{
|
||||
temp->options[i].section = section;
|
||||
temp->options[i].order = order;
|
||||
group->options[i].section = section;
|
||||
group->options[i].order = order;
|
||||
break;
|
||||
}
|
||||
|
||||
group = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1131,25 +1090,24 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
|
||||
if (option == NULL)
|
||||
{
|
||||
ppd_group_t *temp;
|
||||
|
||||
|
||||
/*
|
||||
* Only valid for Non-UI options...
|
||||
*/
|
||||
|
||||
for (i = ppd->num_groups, temp = ppd->groups; i > 0; i --, temp ++)
|
||||
if (temp->text[0] == '\0')
|
||||
for (i = ppd->num_groups, group = ppd->groups; i > 0; i --, group ++)
|
||||
if (group->text[0] == '\0')
|
||||
break;
|
||||
|
||||
if (i > 0)
|
||||
for (i = 0; i < temp->num_options; i ++)
|
||||
if (strcmp(keyword, temp->options[i].keyword) == 0)
|
||||
for (i = 0; i < group->num_options; i ++)
|
||||
if (strcmp(keyword, group->options[i].keyword) == 0)
|
||||
{
|
||||
strncpy(temp->options[i].defchoice, string,
|
||||
sizeof(temp->options[i].defchoice) - 1);
|
||||
strncpy(group->options[i].defchoice, string,
|
||||
sizeof(group->options[i].defchoice) - 1);
|
||||
break;
|
||||
}
|
||||
|
||||
group = NULL;
|
||||
}
|
||||
else
|
||||
strncpy(option->defchoice, string, sizeof(option->defchoice) - 1);
|
||||
@@ -1240,8 +1198,6 @@ ppdOpen(FILE *fp) /* I - File to read from */
|
||||
(mask & (PPD_KEYWORD | PPD_OPTION | PPD_STRING)) ==
|
||||
(PPD_KEYWORD | PPD_OPTION | PPD_STRING))
|
||||
{
|
||||
DEBUG_printf(("group = %p, subgroup = %p\n", group, subgroup));
|
||||
|
||||
if (strcmp(keyword, "PageSize") == 0)
|
||||
{
|
||||
/*
|
||||
|
||||
@@ -198,7 +198,6 @@ typedef struct /**** Files ****/
|
||||
ppd_profile_t *profiles; /* sRGB color profiles */
|
||||
int num_filters; /* Number of filters */
|
||||
char **filters; /* Filter strings... */
|
||||
int flip_duplex; /* 1 = Flip page for back sides */
|
||||
} ppd_file_t;
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -46,7 +46,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
http_t *http; /* HTTP connection */
|
||||
http_status_t status; /* Status of GET command */
|
||||
char buffer[1024]; /* Input buffer */
|
||||
long bytes; /* Number of bytes read */
|
||||
int bytes; /* Number of bytes read */
|
||||
FILE *out; /* Output file */
|
||||
|
||||
#define HOST "dns.easysw.com"
|
||||
@@ -90,7 +90,7 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
{
|
||||
fwrite(buffer, bytes, 1, out);
|
||||
if (out != stdout)
|
||||
printf("Read %ld bytes, %ld total...\n", bytes, ftell(out));
|
||||
printf("Read %d bytes, %d total...\n", bytes, ftell(out));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -171,10 +171,6 @@ main(int argc, /* I - Number of command-line arguments */
|
||||
}
|
||||
}
|
||||
|
||||
printf(" num_fonts = %d\n", ppd->num_fonts);
|
||||
for (j = 0; j < ppd->num_fonts; j ++)
|
||||
printf(" fonts[%d] = %s\n", j, ppd->fonts[j]);
|
||||
|
||||
ppdClose(ppd);
|
||||
}
|
||||
|
||||
|
||||
+3
-23
@@ -125,7 +125,6 @@ cupsServer(void)
|
||||
{
|
||||
FILE *fp; /* client.conf file */
|
||||
char *server; /* Pointer to server name */
|
||||
const char *home; /* Home directory of user */
|
||||
static char line[1024]; /* Line from file */
|
||||
|
||||
|
||||
@@ -137,33 +136,14 @@ cupsServer(void)
|
||||
return (server);
|
||||
|
||||
/*
|
||||
* Next check to see if we have a $HOME/.cupsrc or client.conf file...
|
||||
* Next check to see if we have a client.conf file...
|
||||
*/
|
||||
|
||||
if ((home = getenv("HOME")) != NULL)
|
||||
{
|
||||
snprintf(line, sizeof(line), "%s/.cupsrc", home);
|
||||
fp = fopen(line, "r");
|
||||
}
|
||||
else
|
||||
fp = NULL;
|
||||
|
||||
if (fp == NULL)
|
||||
{
|
||||
if ((home = getenv("CUPS_SERVERROOT")) != NULL)
|
||||
{
|
||||
snprintf(line, sizeof(line), "%s/client.conf", home);
|
||||
fp = fopen(line, "r");
|
||||
}
|
||||
else
|
||||
fp = fopen(CUPS_SERVERROOT "/client.conf", "r");
|
||||
}
|
||||
|
||||
if (fp == NULL)
|
||||
if ((fp = fopen(CUPS_SERVERROOT "/client.conf", "r")) == NULL)
|
||||
return ("localhost");
|
||||
|
||||
/*
|
||||
* Read the config file and look for a ServerName line...
|
||||
* Read the client.conf file and look for a ServerName line...
|
||||
*/
|
||||
|
||||
while (fgets(line, sizeof(line), fp) != NULL)
|
||||
|
||||
+35
-186
@@ -30,7 +30,6 @@
|
||||
* cupsGetPPD() - Get the PPD file for a printer.
|
||||
* cupsGetPrinters() - Get a list of printers.
|
||||
* cupsPrintFile() - Print a file to a printer or class.
|
||||
* cupsPrintFiles() - Print one or more files to a printer or class.
|
||||
* cups_connect() - Connect to the specified host...
|
||||
* cups_local_auth() - Get the local authorization certificate if
|
||||
* available/applicable...
|
||||
@@ -62,7 +61,7 @@
|
||||
|
||||
static http_t *cups_server = NULL; /* Current server connection */
|
||||
static ipp_status_t last_error = IPP_OK; /* Last IPP error */
|
||||
static char authstring[1024] = ""; /* Authorization string */
|
||||
static char authstring[255] = ""; /* Authorization string */
|
||||
|
||||
|
||||
/*
|
||||
@@ -162,18 +161,16 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
|
||||
const char *resource, /* I - HTTP resource for POST */
|
||||
const char *filename) /* I - File to send or NULL */
|
||||
{
|
||||
ipp_t *response; /* IPP response data */
|
||||
char length[255]; /* Content-Length field */
|
||||
http_status_t status; /* Status of HTTP request */
|
||||
FILE *file; /* File to send */
|
||||
struct stat fileinfo; /* File information */
|
||||
int bytes; /* Number of bytes read/written */
|
||||
char buffer[8192]; /* Output buffer */
|
||||
const char *password; /* Password string */
|
||||
char realm[HTTP_MAX_VALUE], /* realm="xyz" string */
|
||||
nonce[HTTP_MAX_VALUE], /* nonce="xyz" string */
|
||||
plain[255], /* Plaintext username:password */
|
||||
encode[255]; /* Encoded username:password */
|
||||
ipp_t *response; /* IPP response data */
|
||||
char length[255]; /* Content-Length field */
|
||||
http_status_t status; /* Status of HTTP request */
|
||||
FILE *file; /* File to send */
|
||||
struct stat fileinfo; /* File information */
|
||||
int bytes; /* Number of bytes read/written */
|
||||
char buffer[8192]; /* Output buffer */
|
||||
const char *password; /* Password string */
|
||||
char plain[255], /* Plaintext username:password */
|
||||
encode[255]; /* Encoded username:password */
|
||||
|
||||
|
||||
DEBUG_printf(("cupsDoFileRequest(%08x, %08s, \'%s\', \'%s\')\n",
|
||||
@@ -207,15 +204,12 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
|
||||
return (NULL);
|
||||
}
|
||||
}
|
||||
else
|
||||
file = NULL;
|
||||
|
||||
/*
|
||||
* Loop until we can send the request without authorization problems.
|
||||
*/
|
||||
|
||||
response = NULL;
|
||||
status = HTTP_ERROR;
|
||||
|
||||
while (response == NULL)
|
||||
{
|
||||
@@ -307,32 +301,10 @@ cupsDoFileRequest(http_t *http, /* I - HTTP connection to server */
|
||||
|
||||
if (!password[0])
|
||||
break;
|
||||
snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), password);
|
||||
httpEncode64(encode, plain);
|
||||
snprintf(authstring, sizeof(authstring), "Basic %s", encode);
|
||||
|
||||
if (strncmp(http->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0)
|
||||
{
|
||||
/*
|
||||
* Basic authentication...
|
||||
*/
|
||||
|
||||
snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), password);
|
||||
httpEncode64(encode, plain);
|
||||
snprintf(authstring, sizeof(authstring), "Basic %s", encode);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Digest authentication...
|
||||
*/
|
||||
|
||||
httpGetSubField(http, HTTP_FIELD_WWW_AUTHENTICATE, "realm", realm);
|
||||
httpGetSubField(http, HTTP_FIELD_WWW_AUTHENTICATE, "nonce", nonce);
|
||||
|
||||
httpMD5(cupsUser(), realm, password, encode);
|
||||
httpMD5Final(nonce, "POST", resource, encode);
|
||||
snprintf(authstring, sizeof(authstring),
|
||||
"Digest username=\"%s\", realm=\"%s\", nonce=\"%s\", "
|
||||
"response=\"%s\"", cupsUser(), realm, nonce, encode);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else
|
||||
@@ -549,12 +521,7 @@ cupsGetDefault(void)
|
||||
* Next check to see if we have a client.conf file...
|
||||
*/
|
||||
|
||||
if ((var = getenv("CUPS_SERVERROOT")) != NULL)
|
||||
snprintf(line, sizeof(line), "%s/client.conf", var);
|
||||
else
|
||||
strcpy(line, CUPS_SERVERROOT "/client.conf");
|
||||
|
||||
if ((fp = fopen(line, "r")) != NULL)
|
||||
if ((fp = fopen(CUPS_SERVERROOT "/client.conf", "r")) != NULL)
|
||||
{
|
||||
/*
|
||||
* Read the client.conf file and look for a DefaultPrinter line...
|
||||
@@ -647,8 +614,8 @@ cupsGetDefault(void)
|
||||
* 'cupsGetPPD()' - Get the PPD file for a printer.
|
||||
*/
|
||||
|
||||
const char * /* O - Filename for PPD file */
|
||||
cupsGetPPD(const char *name) /* I - Printer name */
|
||||
const char * /* O - Filename for PPD file */
|
||||
cupsGetPPD(const char *name) /* I - Printer name */
|
||||
{
|
||||
FILE *fp; /* PPD file */
|
||||
int bytes; /* Number of bytes read */
|
||||
@@ -658,9 +625,7 @@ cupsGetPPD(const char *name) /* I - Printer name */
|
||||
resource[HTTP_MAX_URI]; /* Resource name */
|
||||
char *tempdir; /* Temporary file directory */
|
||||
const char *password; /* Password string */
|
||||
char realm[HTTP_MAX_VALUE], /* realm="xyz" string */
|
||||
nonce[HTTP_MAX_VALUE], /* nonce="xyz" string */
|
||||
plain[255], /* Plaintext username:password */
|
||||
char plain[255], /* Plaintext username:password */
|
||||
encode[255]; /* Encoded username:password */
|
||||
http_status_t status; /* HTTP status from server */
|
||||
static char filename[HTTP_MAX_URI]; /* Local filename */
|
||||
@@ -743,32 +708,10 @@ cupsGetPPD(const char *name) /* I - Printer name */
|
||||
|
||||
if (!password[0])
|
||||
break;
|
||||
snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), password);
|
||||
httpEncode64(encode, plain);
|
||||
snprintf(authstring, sizeof(authstring), "Basic %s", encode);
|
||||
|
||||
if (strncmp(cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE], "Basic", 5) == 0)
|
||||
{
|
||||
/*
|
||||
* Basic authentication...
|
||||
*/
|
||||
|
||||
snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), password);
|
||||
httpEncode64(encode, plain);
|
||||
snprintf(authstring, sizeof(authstring), "Basic %s", encode);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Digest authentication...
|
||||
*/
|
||||
|
||||
httpGetSubField(cups_server, HTTP_FIELD_WWW_AUTHENTICATE, "realm", realm);
|
||||
httpGetSubField(cups_server, HTTP_FIELD_WWW_AUTHENTICATE, "nonce", nonce);
|
||||
|
||||
httpMD5(cupsUser(), realm, password, encode);
|
||||
httpMD5Final(nonce, "GET", resource, encode);
|
||||
snprintf(authstring, sizeof(authstring),
|
||||
"Digest username=\"%s\", realm=\"%s\", nonce=\"%s\", "
|
||||
"response=\"%s\"", cupsUser(), realm, nonce, encode);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else
|
||||
@@ -921,31 +864,12 @@ cupsPrintFile(const char *name, /* I - Printer or class name */
|
||||
const char *title, /* I - Title of job */
|
||||
int num_options,/* I - Number of options */
|
||||
cups_option_t *options) /* I - Options */
|
||||
{
|
||||
DEBUG_printf(("cupsPrintFile(\'%s\', \'%s\', %d, %08x)\n",
|
||||
printer, filename, num_options, options));
|
||||
|
||||
return (cupsPrintFiles(name, 1, &filename, title, num_options, options));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 'cupsPrintFiles()' - Print one or more files to a printer or class.
|
||||
*/
|
||||
|
||||
int /* O - Job ID */
|
||||
cupsPrintFiles(const char *name, /* I - Printer or class name */
|
||||
int num_files, /* I - Number of files */
|
||||
const char **files, /* I - File(s) to print */
|
||||
const char *title, /* I - Title of job */
|
||||
int num_options,/* I - Number of options */
|
||||
cups_option_t *options) /* I - Options */
|
||||
{
|
||||
int i; /* Looping var */
|
||||
int n, n2; /* Attribute values */
|
||||
char *option, /* Name of option */
|
||||
*val, /* Pointer to option value */
|
||||
*s; /* Pointer into option value */
|
||||
const char *val; /* Pointer to option value */
|
||||
ipp_t *request; /* IPP request */
|
||||
ipp_t *response; /* IPP response */
|
||||
ipp_attribute_t *attr; /* IPP job-id attribute */
|
||||
@@ -956,40 +880,40 @@ cupsPrintFiles(const char *name, /* I - Printer or class name */
|
||||
int jobid; /* New job ID */
|
||||
|
||||
|
||||
DEBUG_printf(("cupsPrintFiles(\'%s\', %d, %p, %d, %08x)\n",
|
||||
printer, num_files, files, num_options, options));
|
||||
DEBUG_printf(("cupsPrintFile(\'%s\', \'%s\', %d, %08x)\n",
|
||||
printer, filename, num_options, options));
|
||||
|
||||
if (name == NULL || num_files < 1 || files == NULL)
|
||||
if (name == NULL || filename == NULL)
|
||||
return (0);
|
||||
|
||||
/*
|
||||
* Setup a connection and request data...
|
||||
*/
|
||||
|
||||
if ((request = ippNew()) == NULL)
|
||||
return (0);
|
||||
|
||||
if (!cups_connect(name, printer, hostname))
|
||||
{
|
||||
DEBUG_printf(("cupsPrintFile: Unable to open connection - %s.\n",
|
||||
strerror(errno)));
|
||||
last_error = IPP_SERVICE_UNAVAILABLE;
|
||||
ippDelete(request);
|
||||
return (0);
|
||||
}
|
||||
|
||||
language = cupsLangDefault();
|
||||
|
||||
/*
|
||||
* Build a standard CUPS URI for the printer and fill the standard IPP
|
||||
* attributes...
|
||||
*/
|
||||
|
||||
if ((request = ippNew()) == NULL)
|
||||
return (0);
|
||||
|
||||
request->request.op.operation_id = num_files == 1 ? IPP_PRINT_JOB :
|
||||
IPP_CREATE_JOB;
|
||||
request->request.op.operation_id = IPP_PRINT_JOB;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s:%d/printers/%s", hostname, ippPort(), printer);
|
||||
|
||||
language = cupsLangDefault();
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
@@ -1007,9 +931,6 @@ cupsPrintFiles(const char *name, /* I - Printer or class name */
|
||||
if (cupsGetOption("raw", num_options, options))
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/vnd.cups-raw");
|
||||
else if ((val = cupsGetOption("document-format", num_options, options)) != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, val);
|
||||
else
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/octet-stream");
|
||||
@@ -1030,8 +951,7 @@ cupsPrintFiles(const char *name, /* I - Printer or class name */
|
||||
* Skip the "raw" option - handled above...
|
||||
*/
|
||||
|
||||
if (strcasecmp(options[i].name, "raw") == 0 ||
|
||||
strcasecmp(options[i].name, "document-format") == 0)
|
||||
if (strcasecmp(options[i].name, "raw") == 0)
|
||||
continue;
|
||||
|
||||
/*
|
||||
@@ -1146,17 +1066,12 @@ cupsPrintFiles(const char *name, /* I - Printer or class name */
|
||||
}
|
||||
|
||||
/*
|
||||
* Do the request...
|
||||
* Try printing the file...
|
||||
*/
|
||||
|
||||
snprintf(uri, sizeof(uri), "/printers/%s", printer);
|
||||
|
||||
if (num_files == 1)
|
||||
response = cupsDoFileRequest(cups_server, request, uri, *files);
|
||||
else
|
||||
response = cupsDoRequest(cups_server, request, uri);
|
||||
|
||||
if (response == NULL)
|
||||
if ((response = cupsDoFileRequest(cups_server, request, uri, filename)) == NULL)
|
||||
jobid = 0;
|
||||
else if (response->request.status.status_code > IPP_OK_CONFLICT)
|
||||
{
|
||||
@@ -1175,72 +1090,6 @@ cupsPrintFiles(const char *name, /* I - Printer or class name */
|
||||
if (response != NULL)
|
||||
ippDelete(response);
|
||||
|
||||
/*
|
||||
* Handle multiple file jobs if the create-job operation worked...
|
||||
*/
|
||||
|
||||
if (jobid > 0 && num_files > 1)
|
||||
for (i = 0; i < num_files; i ++)
|
||||
{
|
||||
/*
|
||||
* Build a standard CUPS URI for the job and fill the standard IPP
|
||||
* attributes...
|
||||
*/
|
||||
|
||||
if ((request = ippNew()) == NULL)
|
||||
return (0);
|
||||
|
||||
request->request.op.operation_id = IPP_SEND_DOCUMENT;
|
||||
request->request.op.request_id = 1;
|
||||
|
||||
snprintf(uri, sizeof(uri), "ipp://%s:%d/jobs/%d", hostname, ippPort(),
|
||||
jobid);
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_CHARSET,
|
||||
"attributes-charset", NULL, cupsLangEncoding(language));
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE,
|
||||
"attributes-natural-language", NULL,
|
||||
language != NULL ? language->language : "C");
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "job-uri",
|
||||
NULL, uri);
|
||||
|
||||
/*
|
||||
* Handle raw print files...
|
||||
*/
|
||||
|
||||
if (cupsGetOption("raw", num_options, options))
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/vnd.cups-raw");
|
||||
else if ((val = cupsGetOption("document-format", num_options, options)) != NULL)
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, val);
|
||||
else
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_MIMETYPE, "document-format",
|
||||
NULL, "application/octet-stream");
|
||||
|
||||
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME, "requesting-user-name",
|
||||
NULL, cupsUser());
|
||||
|
||||
/*
|
||||
* Is this the last document?
|
||||
*/
|
||||
|
||||
if (i == (num_files - 1))
|
||||
ippAddBoolean(request, IPP_TAG_OPERATION, "last-document", 1);
|
||||
|
||||
/*
|
||||
* Send the file...
|
||||
*/
|
||||
|
||||
snprintf(uri, sizeof(uri), "/printers/%s", printer);
|
||||
|
||||
if ((response = cupsDoFileRequest(cups_server, request, uri,
|
||||
files[i])) != NULL)
|
||||
ippDelete(response);
|
||||
}
|
||||
|
||||
return (jobid);
|
||||
}
|
||||
|
||||
|
||||
+216
@@ -0,0 +1,216 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x00a1
|
||||
0xa2 0x00a2
|
||||
0xa3 0x00a3
|
||||
0xa4 0x00a4
|
||||
0xa5 0x00a5
|
||||
0xa6 0x00a6
|
||||
0xa7 0x00a7
|
||||
0xa8 0x00a8
|
||||
0xa9 0x00a9
|
||||
0xaa 0x00aa
|
||||
0xab 0x00ab
|
||||
0xac 0x00ac
|
||||
0xad 0x00ad
|
||||
0xae 0x00ae
|
||||
0xaf 0x00af
|
||||
0xb0 0x00b0
|
||||
0xb1 0x00b1
|
||||
0xb2 0x00b2
|
||||
0xb3 0x00b3
|
||||
0xb4 0x00b4
|
||||
0xb5 0x00b5
|
||||
0xb6 0x00b6
|
||||
0xb7 0x00b7
|
||||
0xb8 0x00b8
|
||||
0xb9 0x00b9
|
||||
0xba 0x00ba
|
||||
0xbb 0x00bb
|
||||
0xbc 0x00bc
|
||||
0xbd 0x00bd
|
||||
0xbe 0x00be
|
||||
0xbf 0x00bf
|
||||
0xc0 0x00c0
|
||||
0xc1 0x00c1
|
||||
0xc2 0x00c2
|
||||
0xc3 0x00c3
|
||||
0xc4 0x00c4
|
||||
0xc5 0x00c5
|
||||
0xc6 0x00c6
|
||||
0xc7 0x00c7
|
||||
0xc8 0x00c8
|
||||
0xc9 0x00c9
|
||||
0xca 0x00ca
|
||||
0xcb 0x00cb
|
||||
0xcc 0x00cc
|
||||
0xcd 0x00cd
|
||||
0xce 0x00ce
|
||||
0xcf 0x00cf
|
||||
0xd0 0x00d0
|
||||
0xd1 0x00d1
|
||||
0xd2 0x00d2
|
||||
0xd3 0x00d3
|
||||
0xd4 0x00d4
|
||||
0xd5 0x00d5
|
||||
0xd6 0x00d6
|
||||
0xd7 0x00d7
|
||||
0xd8 0x00d8
|
||||
0xd9 0x00d9
|
||||
0xda 0x00da
|
||||
0xdb 0x00db
|
||||
0xdc 0x00dc
|
||||
0xdd 0x00dd
|
||||
0xde 0x00de
|
||||
0xdf 0x00df
|
||||
0xe0 0x00e0
|
||||
0xe1 0x00e1
|
||||
0xe2 0x00e2
|
||||
0xe3 0x00e3
|
||||
0xe4 0x00e4
|
||||
0xe5 0x00e5
|
||||
0xe6 0x00e6
|
||||
0xe7 0x00e7
|
||||
0xe8 0x00e8
|
||||
0xe9 0x00e9
|
||||
0xea 0x00ea
|
||||
0xeb 0x00eb
|
||||
0xec 0x00ec
|
||||
0xed 0x00ed
|
||||
0xee 0x00ee
|
||||
0xef 0x00ef
|
||||
0xf0 0x00f0
|
||||
0xf1 0x00f1
|
||||
0xf2 0x00f2
|
||||
0xf3 0x00f3
|
||||
0xf4 0x00f4
|
||||
0xf5 0x00f5
|
||||
0xf6 0x00f6
|
||||
0xf7 0x00f7
|
||||
0xf8 0x00f8
|
||||
0xf9 0x00f9
|
||||
0xfa 0x00fa
|
||||
0xfb 0x00fb
|
||||
0xfc 0x00fc
|
||||
0xfd 0x00fd
|
||||
0xfe 0x00fe
|
||||
0xff 0x00ff
|
||||
+217
@@ -0,0 +1,217 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x1e02
|
||||
0xa2 0x1e03
|
||||
0xa3 0x00a3
|
||||
0xa4 0x010a
|
||||
0xa5 0x010b
|
||||
0xa6 0x1e0a
|
||||
0xa7 0x00a7
|
||||
0xa8 0x1e80
|
||||
0xa9 0x00a9
|
||||
0xaa 0x1e82
|
||||
0xab 0x1e0b
|
||||
0xac 0x1ef2
|
||||
0xad 0x00ad
|
||||
0xae 0x00ae
|
||||
0xaf 0x0178
|
||||
0xb0 0x1e1e
|
||||
0xb1 0x1e1f
|
||||
0xb2 0x0120
|
||||
0xb3 0x0121
|
||||
0xb4 0x1e40
|
||||
0xb5 0x1e41
|
||||
0xb6 0x00b6
|
||||
0xb7 0x1e56
|
||||
0xb8 0x1e81
|
||||
0xb9 0x1e57
|
||||
0xba 0x1e83
|
||||
0xbb 0x1e60
|
||||
0xbc 0x1ef3
|
||||
0xbd 0x1e84
|
||||
0xbe 0x1e85
|
||||
0xbf 0x1e61
|
||||
0xc0 0x00c0
|
||||
0xc1 0x00c1
|
||||
0xc2 0x00c2
|
||||
0xc3 0x00c3
|
||||
0xc4 0x00c4
|
||||
0xc5 0x00c5
|
||||
0xc6 0x00c6
|
||||
0xc7 0x00c7
|
||||
0xc8 0x00c8
|
||||
0xc9 0x00c9
|
||||
0xca 0x00ca
|
||||
0xcb 0x00cb
|
||||
0xcc 0x00cc
|
||||
0xcd 0x00cd
|
||||
0xce 0x00ce
|
||||
0xcf 0x00cf
|
||||
0xd0 0x0174
|
||||
0xd1 0x00d1
|
||||
0xd2 0x00d2
|
||||
0xd3 0x00d3
|
||||
0xd4 0x00d4
|
||||
0xd5 0x00d5
|
||||
0xd6 0x00d6
|
||||
0xd7 0x1e6a
|
||||
0xd8 0x00d8
|
||||
0xd9 0x00d9
|
||||
0xda 0x00da
|
||||
0xdb 0x00db
|
||||
0xdc 0x00dc
|
||||
0xdd 0x00dd
|
||||
0xde 0x0176
|
||||
0xdf 0x00df
|
||||
0xe0 0x00e0
|
||||
0xe1 0x00e1
|
||||
0xe2 0x00e2
|
||||
0xe3 0x00e3
|
||||
0xe4 0x00e4
|
||||
0xe5 0x00e5
|
||||
0xe6 0x00e6
|
||||
0xe7 0x00e7
|
||||
0xe8 0x00e8
|
||||
0xe9 0x00e9
|
||||
0xea 0x00ea
|
||||
0xeb 0x00eb
|
||||
0xec 0x00ec
|
||||
0xed 0x00ed
|
||||
0xee 0x00ee
|
||||
0xef 0x00ef
|
||||
0xf0 0x0175
|
||||
0xf1 0x00f1
|
||||
0xf2 0x00f2
|
||||
0xf3 0x00f3
|
||||
0xf4 0x00f4
|
||||
0xf5 0x00f5
|
||||
0xf6 0x00f6
|
||||
0xf7 0x1e6b
|
||||
0xf8 0x00f8
|
||||
0xf9 0x00f9
|
||||
0xfa 0x00fa
|
||||
0xfb 0x00fb
|
||||
0xfc 0x00fc
|
||||
0xfd 0x00fd
|
||||
0xfe 0x0177
|
||||
0xff 0x00ff
|
||||
|
||||
+217
@@ -0,0 +1,217 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x00a1
|
||||
0xa2 0x00a2
|
||||
0xa3 0x00a3
|
||||
0xa4 0x20ac
|
||||
0xa5 0x00a5
|
||||
0xa6 0x0160
|
||||
0xa7 0x00a7
|
||||
0xa8 0x0161
|
||||
0xa9 0x00a9
|
||||
0xaa 0x00aa
|
||||
0xab 0x00ab
|
||||
0xac 0x00ac
|
||||
0xad 0x00ad
|
||||
0xae 0x00ae
|
||||
0xaf 0x00af
|
||||
0xb0 0x00b0
|
||||
0xb1 0x00b1
|
||||
0xb2 0x00b2
|
||||
0xb3 0x00b3
|
||||
0xb4 0x017d
|
||||
0xb5 0x00b5
|
||||
0xb6 0x00b6
|
||||
0xb7 0x00b7
|
||||
0xb8 0x017e
|
||||
0xb9 0x00b9
|
||||
0xba 0x00ba
|
||||
0xbb 0x00bb
|
||||
0xbc 0x0152
|
||||
0xbd 0x0153
|
||||
0xbe 0x0178
|
||||
0xbf 0x00bf
|
||||
0xc0 0x00c0
|
||||
0xc1 0x00c1
|
||||
0xc2 0x00c2
|
||||
0xc3 0x00c3
|
||||
0xc4 0x00c4
|
||||
0xc5 0x00c5
|
||||
0xc6 0x00c6
|
||||
0xc7 0x00c7
|
||||
0xc8 0x00c8
|
||||
0xc9 0x00c9
|
||||
0xca 0x00ca
|
||||
0xcb 0x00cb
|
||||
0xcc 0x00cc
|
||||
0xcd 0x00cd
|
||||
0xce 0x00ce
|
||||
0xcf 0x00cf
|
||||
0xd0 0x00d0
|
||||
0xd1 0x00d1
|
||||
0xd2 0x00d2
|
||||
0xd3 0x00d3
|
||||
0xd4 0x00d4
|
||||
0xd5 0x00d5
|
||||
0xd6 0x00d6
|
||||
0xd7 0x00d7
|
||||
0xd8 0x00d8
|
||||
0xd9 0x00d9
|
||||
0xda 0x00da
|
||||
0xdb 0x00db
|
||||
0xdc 0x00dc
|
||||
0xdd 0x00dd
|
||||
0xde 0x00de
|
||||
0xdf 0x00df
|
||||
0xe0 0x00e0
|
||||
0xe1 0x00e1
|
||||
0xe2 0x00e2
|
||||
0xe3 0x00e3
|
||||
0xe4 0x00e4
|
||||
0xe5 0x00e5
|
||||
0xe6 0x00e6
|
||||
0xe7 0x00e7
|
||||
0xe8 0x00e8
|
||||
0xe9 0x00e9
|
||||
0xea 0x00ea
|
||||
0xeb 0x00eb
|
||||
0xec 0x00ec
|
||||
0xed 0x00ed
|
||||
0xee 0x00ee
|
||||
0xef 0x00ef
|
||||
0xf0 0x00f0
|
||||
0xf1 0x00f1
|
||||
0xf2 0x00f2
|
||||
0xf3 0x00f3
|
||||
0xf4 0x00f4
|
||||
0xf5 0x00f5
|
||||
0xf6 0x00f6
|
||||
0xf7 0x00f7
|
||||
0xf8 0x00f8
|
||||
0xf9 0x00f9
|
||||
0xfa 0x00fa
|
||||
0xfb 0x00fb
|
||||
0xfc 0x00fc
|
||||
0xfd 0x00fd
|
||||
0xfe 0x00fe
|
||||
0xff 0x00ff
|
||||
|
||||
+218
@@ -0,0 +1,218 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x015a
|
||||
0x8d 0x0164
|
||||
0x8e 0x017d
|
||||
0x8f 0x0179
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x8c 0x015b
|
||||
0x8d 0x0165
|
||||
0x8e 0x017e
|
||||
0x8f 0x017a
|
||||
0xa0 0x00a0
|
||||
0xa1 0x0104
|
||||
0xa2 0x02d8
|
||||
0xa3 0x0141
|
||||
0xa4 0x00a4
|
||||
0xa5 0x013d
|
||||
0xa6 0x015a
|
||||
0xa7 0x00a7
|
||||
0xa8 0x00a8
|
||||
0xa9 0x0160
|
||||
0xaa 0x015e
|
||||
0xab 0x0164
|
||||
0xac 0x0179
|
||||
0xad 0x00ad
|
||||
0xae 0x017d
|
||||
0xaf 0x017b
|
||||
0xb0 0x00b0
|
||||
0xb1 0x0105
|
||||
0xb2 0x02db
|
||||
0xb3 0x0142
|
||||
0xb4 0x00b4
|
||||
0xb5 0x013e
|
||||
0xb6 0x015b
|
||||
0xb7 0x02c7
|
||||
0xb8 0x00b8
|
||||
0xb9 0x0161
|
||||
0xba 0x015f
|
||||
0xbb 0x0165
|
||||
0xbc 0x017a
|
||||
0xbd 0x02dd
|
||||
0xbe 0x017e
|
||||
0xbf 0x017c
|
||||
0xc0 0x0154
|
||||
0xc1 0x00c1
|
||||
0xc2 0x00c2
|
||||
0xc3 0x0102
|
||||
0xc4 0x00c4
|
||||
0xc5 0x0139
|
||||
0xc6 0x0106
|
||||
0xc7 0x00c7
|
||||
0xc8 0x010c
|
||||
0xc9 0x00c9
|
||||
0xca 0x0118
|
||||
0xcb 0x00cb
|
||||
0xcc 0x011a
|
||||
0xcd 0x00cd
|
||||
0xce 0x00ce
|
||||
0xcf 0x010e
|
||||
0xd0 0x0110
|
||||
0xd1 0x0143
|
||||
0xd2 0x0147
|
||||
0xd3 0x00d3
|
||||
0xd4 0x00d4
|
||||
0xd5 0x0150
|
||||
0xd6 0x00d6
|
||||
0xd7 0x00d7
|
||||
0xd8 0x0158
|
||||
0xd9 0x016e
|
||||
0xda 0x00da
|
||||
0xdb 0x0170
|
||||
0xdc 0x00dc
|
||||
0xdd 0x00dd
|
||||
0xde 0x0162
|
||||
0xdf 0x00df
|
||||
0xe0 0x0155
|
||||
0xe1 0x00e1
|
||||
0xe2 0x00e2
|
||||
0xe3 0x0103
|
||||
0xe4 0x00e4
|
||||
0xe5 0x013a
|
||||
0xe6 0x0107
|
||||
0xe7 0x00e7
|
||||
0xe8 0x010d
|
||||
0xe9 0x00e9
|
||||
0xea 0x0119
|
||||
0xeb 0x00eb
|
||||
0xec 0x011b
|
||||
0xed 0x00ed
|
||||
0xee 0x00ee
|
||||
0xef 0x010f
|
||||
0xf0 0x0111
|
||||
0xf1 0x0144
|
||||
0xf2 0x0148
|
||||
0xf3 0x00f3
|
||||
0xf4 0x00f4
|
||||
0xf5 0x0151
|
||||
0xf6 0x00f6
|
||||
0xf7 0x00f7
|
||||
0xf8 0x0159
|
||||
0xf9 0x016f
|
||||
0xfa 0x00fa
|
||||
0xfb 0x0171
|
||||
0xfc 0x00fc
|
||||
0xfd 0x00fd
|
||||
0xfe 0x0163
|
||||
0xff 0x02d9
|
||||
+209
@@ -0,0 +1,209 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x0126
|
||||
0xa2 0x02d8
|
||||
0xa3 0x00a3
|
||||
0xa4 0x00a4
|
||||
0xa6 0x0124
|
||||
0xa7 0x00a7
|
||||
0xa8 0x00a8
|
||||
0xa9 0x0130
|
||||
0xaa 0x015e
|
||||
0xab 0x011e
|
||||
0xac 0x0134
|
||||
0xad 0x00ad
|
||||
0xaf 0x017b
|
||||
0xb0 0x00b0
|
||||
0xb1 0x0127
|
||||
0xb2 0x00b2
|
||||
0xb3 0x00b3
|
||||
0xb4 0x00b4
|
||||
0xb5 0x00b5
|
||||
0xb6 0x0125
|
||||
0xb7 0x00b7
|
||||
0xb8 0x00b8
|
||||
0xb9 0x0131
|
||||
0xba 0x015f
|
||||
0xbb 0x011f
|
||||
0xbc 0x0135
|
||||
0xbd 0x00bd
|
||||
0xbf 0x017c
|
||||
0xc0 0x00c0
|
||||
0xc1 0x00c1
|
||||
0xc2 0x00c2
|
||||
0xc4 0x00c4
|
||||
0xc5 0x010a
|
||||
0xc6 0x0108
|
||||
0xc7 0x00c7
|
||||
0xc8 0x00c8
|
||||
0xc9 0x00c9
|
||||
0xca 0x00ca
|
||||
0xcb 0x00cb
|
||||
0xcc 0x00cc
|
||||
0xcd 0x00cd
|
||||
0xce 0x00ce
|
||||
0xcf 0x00cf
|
||||
0xd1 0x00d1
|
||||
0xd2 0x00d2
|
||||
0xd3 0x00d3
|
||||
0xd4 0x00d4
|
||||
0xd5 0x0120
|
||||
0xd6 0x00d6
|
||||
0xd7 0x00d7
|
||||
0xd8 0x011c
|
||||
0xd9 0x00d9
|
||||
0xda 0x00da
|
||||
0xdb 0x00db
|
||||
0xdc 0x00dc
|
||||
0xdd 0x016c
|
||||
0xde 0x015c
|
||||
0xdf 0x00df
|
||||
0xe0 0x00e0
|
||||
0xe1 0x00e1
|
||||
0xe2 0x00e2
|
||||
0xe4 0x00e4
|
||||
0xe5 0x010b
|
||||
0xe6 0x0109
|
||||
0xe7 0x00e7
|
||||
0xe8 0x00e8
|
||||
0xe9 0x00e9
|
||||
0xea 0x00ea
|
||||
0xeb 0x00eb
|
||||
0xec 0x00ec
|
||||
0xed 0x00ed
|
||||
0xee 0x00ee
|
||||
0xef 0x00ef
|
||||
0xf1 0x00f1
|
||||
0xf2 0x00f2
|
||||
0xf3 0x00f3
|
||||
0xf4 0x00f4
|
||||
0xf5 0x0121
|
||||
0xf6 0x00f6
|
||||
0xf7 0x00f7
|
||||
0xf8 0x011d
|
||||
0xf9 0x00f9
|
||||
0xfa 0x00fa
|
||||
0xfb 0x00fb
|
||||
0xfc 0x00fc
|
||||
0xfd 0x016d
|
||||
0xfe 0x015d
|
||||
0xff 0x02d9
|
||||
+216
@@ -0,0 +1,216 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x0104
|
||||
0xa2 0x0138
|
||||
0xa3 0x0156
|
||||
0xa4 0x00a4
|
||||
0xa5 0x0128
|
||||
0xa6 0x013b
|
||||
0xa7 0x00a7
|
||||
0xa8 0x00a8
|
||||
0xa9 0x0160
|
||||
0xaa 0x0112
|
||||
0xab 0x0122
|
||||
0xac 0x0166
|
||||
0xad 0x00ad
|
||||
0xae 0x017d
|
||||
0xaf 0x00af
|
||||
0xb0 0x00b0
|
||||
0xb1 0x0105
|
||||
0xb2 0x02db
|
||||
0xb3 0x0157
|
||||
0xb4 0x00b4
|
||||
0xb5 0x0129
|
||||
0xb6 0x013c
|
||||
0xb7 0x02c7
|
||||
0xb8 0x00b8
|
||||
0xb9 0x0161
|
||||
0xba 0x0113
|
||||
0xbb 0x0123
|
||||
0xbc 0x0167
|
||||
0xbd 0x014a
|
||||
0xbe 0x017e
|
||||
0xbf 0x014b
|
||||
0xc0 0x0100
|
||||
0xc1 0x00c1
|
||||
0xc2 0x00c2
|
||||
0xc3 0x00c3
|
||||
0xc4 0x00c4
|
||||
0xc5 0x00c5
|
||||
0xc6 0x00c6
|
||||
0xc7 0x012e
|
||||
0xc8 0x010c
|
||||
0xc9 0x00c9
|
||||
0xca 0x0118
|
||||
0xcb 0x00cb
|
||||
0xcc 0x0116
|
||||
0xcd 0x00cd
|
||||
0xce 0x00ce
|
||||
0xcf 0x012a
|
||||
0xd0 0x0110
|
||||
0xd1 0x0145
|
||||
0xd2 0x014c
|
||||
0xd3 0x0136
|
||||
0xd4 0x00d4
|
||||
0xd5 0x00d5
|
||||
0xd6 0x00d6
|
||||
0xd7 0x00d7
|
||||
0xd8 0x00d8
|
||||
0xd9 0x0172
|
||||
0xda 0x00da
|
||||
0xdb 0x00db
|
||||
0xdc 0x00dc
|
||||
0xdd 0x0168
|
||||
0xde 0x016a
|
||||
0xdf 0x00df
|
||||
0xe0 0x0101
|
||||
0xe1 0x00e1
|
||||
0xe2 0x00e2
|
||||
0xe3 0x00e3
|
||||
0xe4 0x00e4
|
||||
0xe5 0x00e5
|
||||
0xe6 0x00e6
|
||||
0xe7 0x012f
|
||||
0xe8 0x010d
|
||||
0xe9 0x00e9
|
||||
0xea 0x0119
|
||||
0xeb 0x00eb
|
||||
0xec 0x0117
|
||||
0xed 0x00ed
|
||||
0xee 0x00ee
|
||||
0xef 0x012b
|
||||
0xf0 0x0111
|
||||
0xf1 0x0146
|
||||
0xf2 0x014d
|
||||
0xf3 0x0137
|
||||
0xf4 0x00f4
|
||||
0xf5 0x00f5
|
||||
0xf6 0x00f6
|
||||
0xf7 0x00f7
|
||||
0xf8 0x00f8
|
||||
0xf9 0x0173
|
||||
0xfa 0x00fa
|
||||
0xfb 0x00fb
|
||||
0xfc 0x00fc
|
||||
0xfd 0x0169
|
||||
0xfe 0x016b
|
||||
0xff 0x02d9
|
||||
+216
@@ -0,0 +1,216 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x0401
|
||||
0xa2 0x0402
|
||||
0xa3 0x0403
|
||||
0xa4 0x0404
|
||||
0xa5 0x0405
|
||||
0xa6 0x0406
|
||||
0xa7 0x0407
|
||||
0xa8 0x0408
|
||||
0xa9 0x0409
|
||||
0xaa 0x040a
|
||||
0xab 0x040b
|
||||
0xac 0x040c
|
||||
0xad 0x00ad
|
||||
0xae 0x040e
|
||||
0xaf 0x040f
|
||||
0xb0 0x0410
|
||||
0xb1 0x0411
|
||||
0xb2 0x0412
|
||||
0xb3 0x0413
|
||||
0xb4 0x0414
|
||||
0xb5 0x0415
|
||||
0xb6 0x0416
|
||||
0xb7 0x0417
|
||||
0xb8 0x0418
|
||||
0xb9 0x0419
|
||||
0xba 0x041a
|
||||
0xbb 0x041b
|
||||
0xbc 0x041c
|
||||
0xbd 0x041d
|
||||
0xbe 0x041e
|
||||
0xbf 0x041f
|
||||
0xc0 0x0420
|
||||
0xc1 0x0421
|
||||
0xc2 0x0422
|
||||
0xc3 0x0423
|
||||
0xc4 0x0424
|
||||
0xc5 0x0425
|
||||
0xc6 0x0426
|
||||
0xc7 0x0427
|
||||
0xc8 0x0428
|
||||
0xc9 0x0429
|
||||
0xca 0x042a
|
||||
0xcb 0x042b
|
||||
0xcc 0x042c
|
||||
0xcd 0x042d
|
||||
0xce 0x042e
|
||||
0xcf 0x042f
|
||||
0xd0 0x0430
|
||||
0xd1 0x0431
|
||||
0xd2 0x0432
|
||||
0xd3 0x0433
|
||||
0xd4 0x0434
|
||||
0xd5 0x0435
|
||||
0xd6 0x0436
|
||||
0xd7 0x0437
|
||||
0xd8 0x0438
|
||||
0xd9 0x0439
|
||||
0xda 0x043a
|
||||
0xdb 0x043b
|
||||
0xdc 0x043c
|
||||
0xdd 0x043d
|
||||
0xde 0x043e
|
||||
0xdf 0x043f
|
||||
0xe0 0x0440
|
||||
0xe1 0x0441
|
||||
0xe2 0x0442
|
||||
0xe3 0x0443
|
||||
0xe4 0x0444
|
||||
0xe5 0x0445
|
||||
0xe6 0x0446
|
||||
0xe7 0x0447
|
||||
0xe8 0x0448
|
||||
0xe9 0x0449
|
||||
0xea 0x044a
|
||||
0xeb 0x044b
|
||||
0xec 0x044c
|
||||
0xed 0x044d
|
||||
0xee 0x044e
|
||||
0xef 0x044f
|
||||
0xf0 0x2116
|
||||
0xf1 0x0451
|
||||
0xf2 0x0452
|
||||
0xf3 0x0453
|
||||
0xf4 0x0454
|
||||
0xf5 0x0455
|
||||
0xf6 0x0456
|
||||
0xf7 0x0457
|
||||
0xf8 0x0458
|
||||
0xf9 0x0459
|
||||
0xfa 0x045a
|
||||
0xfb 0x045b
|
||||
0xfc 0x045c
|
||||
0xfd 0x00a7
|
||||
0xfe 0x045e
|
||||
0xff 0x045f
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0660
|
||||
0x31 0x0661
|
||||
0x32 0x0662
|
||||
0x33 0x0663
|
||||
0x34 0x0664
|
||||
0x35 0x0665
|
||||
0x36 0x0666
|
||||
0x37 0x0667
|
||||
0x38 0x0668
|
||||
0x39 0x0669
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa4 0x00a4
|
||||
0xac 0x060c
|
||||
0xad 0x00ad
|
||||
0xbb 0x061b
|
||||
0xbf 0x061f
|
||||
0xc1 0x0621
|
||||
0xc2 0x0622
|
||||
0xc3 0x0623
|
||||
0xc4 0x0624
|
||||
0xc5 0x0625
|
||||
0xc6 0x0626
|
||||
0xc7 0x0627
|
||||
0xc8 0x0628
|
||||
0xc9 0x0629
|
||||
0xca 0x062a
|
||||
0xcb 0x062b
|
||||
0xcc 0x062c
|
||||
0xcd 0x062d
|
||||
0xce 0x062e
|
||||
0xcf 0x062f
|
||||
0xd0 0x0630
|
||||
0xd1 0x0631
|
||||
0xd2 0x0632
|
||||
0xd3 0x0633
|
||||
0xd4 0x0634
|
||||
0xd5 0x0635
|
||||
0xd6 0x0636
|
||||
0xd7 0x0637
|
||||
0xd8 0x0638
|
||||
0xd9 0x0639
|
||||
0xda 0x063a
|
||||
0xe0 0x0640
|
||||
0xe1 0x0641
|
||||
0xe2 0x0642
|
||||
0xe3 0x0643
|
||||
0xe4 0x0644
|
||||
0xe5 0x0645
|
||||
0xe6 0x0646
|
||||
0xe7 0x0647
|
||||
0xe8 0x0648
|
||||
0xe9 0x0649
|
||||
0xea 0x064a
|
||||
0xeb 0x064b
|
||||
0xec 0x064c
|
||||
0xed 0x064d
|
||||
0xee 0x064e
|
||||
0xef 0x064f
|
||||
0xf0 0x0650
|
||||
0xf1 0x0651
|
||||
0xf2 0x0652
|
||||
+210
@@ -0,0 +1,210 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x02bd
|
||||
0xa2 0x02bc
|
||||
0xa3 0x00a3
|
||||
0xa6 0x00a6
|
||||
0xa7 0x00a7
|
||||
0xa8 0x00a8
|
||||
0xa9 0x00a9
|
||||
0xab 0x00ab
|
||||
0xac 0x00ac
|
||||
0xad 0x00ad
|
||||
0xaf 0x2015
|
||||
0xb0 0x00b0
|
||||
0xb1 0x00b1
|
||||
0xb2 0x00b2
|
||||
0xb3 0x00b3
|
||||
0xb4 0x0384
|
||||
0xb5 0x0385
|
||||
0xb6 0x0386
|
||||
0xb7 0x00b7
|
||||
0xb8 0x0388
|
||||
0xb9 0x0389
|
||||
0xba 0x038a
|
||||
0xbb 0x00bb
|
||||
0xbc 0x038c
|
||||
0xbd 0x00bd
|
||||
0xbe 0x038e
|
||||
0xbf 0x038f
|
||||
0xc0 0x0390
|
||||
0xc1 0x0391
|
||||
0xc2 0x0392
|
||||
0xc3 0x0393
|
||||
0xc4 0x0394
|
||||
0xc5 0x0395
|
||||
0xc6 0x0396
|
||||
0xc7 0x0397
|
||||
0xc8 0x0398
|
||||
0xc9 0x0399
|
||||
0xca 0x039a
|
||||
0xcb 0x039b
|
||||
0xcc 0x039c
|
||||
0xcd 0x039d
|
||||
0xce 0x039e
|
||||
0xcf 0x039f
|
||||
0xd0 0x03a0
|
||||
0xd1 0x03a1
|
||||
0xd3 0x03a3
|
||||
0xd4 0x03a4
|
||||
0xd5 0x03a5
|
||||
0xd6 0x03a6
|
||||
0xd7 0x03a7
|
||||
0xd8 0x03a8
|
||||
0xd9 0x03a9
|
||||
0xda 0x03aa
|
||||
0xdb 0x03ab
|
||||
0xdc 0x03ac
|
||||
0xdd 0x03ad
|
||||
0xde 0x03ae
|
||||
0xdf 0x03af
|
||||
0xe0 0x03b0
|
||||
0xe1 0x03b1
|
||||
0xe2 0x03b2
|
||||
0xe3 0x03b3
|
||||
0xe4 0x03b4
|
||||
0xe5 0x03b5
|
||||
0xe6 0x03b6
|
||||
0xe7 0x03b7
|
||||
0xe8 0x03b8
|
||||
0xe9 0x03b9
|
||||
0xea 0x03ba
|
||||
0xeb 0x03bb
|
||||
0xec 0x03bc
|
||||
0xed 0x03bd
|
||||
0xee 0x03be
|
||||
0xef 0x03bf
|
||||
0xf0 0x03c0
|
||||
0xf1 0x03c1
|
||||
0xf2 0x03c2
|
||||
0xf3 0x03c3
|
||||
0xf4 0x03c4
|
||||
0xf5 0x03c5
|
||||
0xf6 0x03c6
|
||||
0xf7 0x03c7
|
||||
0xf8 0x03c8
|
||||
0xf9 0x03c9
|
||||
0xfa 0x03ca
|
||||
0xfb 0x03cb
|
||||
0xfc 0x03cc
|
||||
0xfd 0x03cd
|
||||
0xfe 0x03ce
|
||||
+178
@@ -0,0 +1,178 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa2 0x00a2
|
||||
0xa3 0x00a3
|
||||
0xa4 0x00a4
|
||||
0xa5 0x00a5
|
||||
0xa6 0x00a6
|
||||
0xa7 0x00a7
|
||||
0xa8 0x00a8
|
||||
0xa9 0x00a9
|
||||
0xaa 0x00d7
|
||||
0xab 0x00ab
|
||||
0xac 0x00ac
|
||||
0xad 0x00ad
|
||||
0xae 0x00ae
|
||||
0xaf 0x203e
|
||||
0xb0 0x00b0
|
||||
0xb1 0x00b1
|
||||
0xb2 0x00b2
|
||||
0xb3 0x00b3
|
||||
0xb4 0x00b4
|
||||
0xb5 0x00b5
|
||||
0xb6 0x00b6
|
||||
0xb7 0x00b7
|
||||
0xb8 0x00b8
|
||||
0xb9 0x00b9
|
||||
0xba 0x00f7
|
||||
0xbb 0x00bb
|
||||
0xbc 0x00bc
|
||||
0xbd 0x00bd
|
||||
0xbe 0x00be
|
||||
0xdf 0x2017
|
||||
0xe0 0x05d0
|
||||
0xe1 0x05d1
|
||||
0xe2 0x05d2
|
||||
0xe3 0x05d3
|
||||
0xe4 0x05d4
|
||||
0xe5 0x05d5
|
||||
0xe6 0x05d6
|
||||
0xe7 0x05d7
|
||||
0xe8 0x05d8
|
||||
0xe9 0x05d9
|
||||
0xea 0x05da
|
||||
0xeb 0x05db
|
||||
0xec 0x05dc
|
||||
0xed 0x05dd
|
||||
0xee 0x05de
|
||||
0xef 0x05df
|
||||
0xf0 0x05e0
|
||||
0xf1 0x05e1
|
||||
0xf2 0x05e2
|
||||
0xf3 0x05e3
|
||||
0xf4 0x05e4
|
||||
0xf5 0x05e5
|
||||
0xf6 0x05e6
|
||||
0xf7 0x05e7
|
||||
0xf8 0x05e8
|
||||
0xf9 0x05e9
|
||||
0xfa 0x05ea
|
||||
+218
@@ -0,0 +1,218 @@
|
||||
0x20 0x0020
|
||||
0x21 0x0021
|
||||
0x22 0x0022
|
||||
0x23 0x0023
|
||||
0x24 0x0024
|
||||
0x25 0x0025
|
||||
0x26 0x0026
|
||||
0x27 0x0027
|
||||
0x28 0x0028
|
||||
0x29 0x0029
|
||||
0x2a 0x002a
|
||||
0x2b 0x002b
|
||||
0x2c 0x002c
|
||||
0x2d 0x002d
|
||||
0x2e 0x002e
|
||||
0x2f 0x002f
|
||||
0x30 0x0030
|
||||
0x31 0x0031
|
||||
0x32 0x0032
|
||||
0x33 0x0033
|
||||
0x34 0x0034
|
||||
0x35 0x0035
|
||||
0x36 0x0036
|
||||
0x37 0x0037
|
||||
0x38 0x0038
|
||||
0x39 0x0039
|
||||
0x3a 0x003a
|
||||
0x3b 0x003b
|
||||
0x3c 0x003c
|
||||
0x3d 0x003d
|
||||
0x3e 0x003e
|
||||
0x3f 0x003f
|
||||
0x40 0x0040
|
||||
0x41 0x0041
|
||||
0x42 0x0042
|
||||
0x43 0x0043
|
||||
0x44 0x0044
|
||||
0x45 0x0045
|
||||
0x46 0x0046
|
||||
0x47 0x0047
|
||||
0x48 0x0048
|
||||
0x49 0x0049
|
||||
0x4a 0x004a
|
||||
0x4b 0x004b
|
||||
0x4c 0x004c
|
||||
0x4d 0x004d
|
||||
0x4e 0x004e
|
||||
0x4f 0x004f
|
||||
0x50 0x0050
|
||||
0x51 0x0051
|
||||
0x52 0x0052
|
||||
0x53 0x0053
|
||||
0x54 0x0054
|
||||
0x55 0x0055
|
||||
0x56 0x0056
|
||||
0x57 0x0057
|
||||
0x58 0x0058
|
||||
0x59 0x0059
|
||||
0x5a 0x005a
|
||||
0x5b 0x005b
|
||||
0x5c 0x005c
|
||||
0x5d 0x005d
|
||||
0x5e 0x005e
|
||||
0x5f 0x005f
|
||||
0x60 0x0060
|
||||
0x61 0x0061
|
||||
0x62 0x0062
|
||||
0x63 0x0063
|
||||
0x64 0x0064
|
||||
0x65 0x0065
|
||||
0x66 0x0066
|
||||
0x67 0x0067
|
||||
0x68 0x0068
|
||||
0x69 0x0069
|
||||
0x6a 0x006a
|
||||
0x6b 0x006b
|
||||
0x6c 0x006c
|
||||
0x6d 0x006d
|
||||
0x6e 0x006e
|
||||
0x6f 0x006f
|
||||
0x70 0x0070
|
||||
0x71 0x0071
|
||||
0x72 0x0072
|
||||
0x73 0x0073
|
||||
0x74 0x0074
|
||||
0x75 0x0075
|
||||
0x76 0x0076
|
||||
0x77 0x0077
|
||||
0x78 0x0078
|
||||
0x79 0x0079
|
||||
0x7a 0x007a
|
||||
0x7b 0x007b
|
||||
0x7c 0x007c
|
||||
0x7d 0x007d
|
||||
0x7e 0x007e
|
||||
0x80 0x20ac
|
||||
0x82 0x201a
|
||||
0x83 0x0192
|
||||
0x84 0x201e
|
||||
0x85 0x2026
|
||||
0x86 0x2020
|
||||
0x87 0x2021
|
||||
0x88 0x02c6
|
||||
0x89 0x2030
|
||||
0x8a 0x0160
|
||||
0x8b 0x2039
|
||||
0x8c 0x0152
|
||||
0x91 0x2018
|
||||
0x92 0x2019
|
||||
0x93 0x201c
|
||||
0x94 0x201d
|
||||
0x95 0x2022
|
||||
0x96 0x2013
|
||||
0x97 0x2014
|
||||
0x98 0x02dc
|
||||
0x99 0x2122
|
||||
0x9a 0x0161
|
||||
0x9b 0x203a
|
||||
0x9c 0x0153
|
||||
0x9f 0x0178
|
||||
0xa0 0x00a0
|
||||
0xa1 0x00a1
|
||||
0xa2 0x00a2
|
||||
0xa3 0x00a3
|
||||
0xa4 0x00a4
|
||||
0xa5 0x00a5
|
||||
0xa6 0x00a6
|
||||
0xa7 0x00a7
|
||||
0xa8 0x00a8
|
||||
0xa9 0x00a9
|
||||
0xaa 0x00aa
|
||||
0xab 0x00ab
|
||||
0xac 0x00ac
|
||||
0xad 0x00ad
|
||||
0xae 0x00ae
|
||||
0xaf 0x00af
|
||||
0xb0 0x00b0
|
||||
0xb1 0x00b1
|
||||
0xb2 0x00b2
|
||||
0xb3 0x00b3
|
||||
0xb4 0x00b4
|
||||
0xb5 0x00b5
|
||||
0xb6 0x00b6
|
||||
0xb7 0x00b7
|
||||
0xb8 0x00b8
|
||||
0xb9 0x00b9
|
||||
0xba 0x00ba
|
||||
0xbb 0x00bb
|
||||
0xbc 0x00bc
|
||||
0xbd 0x00bd
|
||||
0xbe 0x00be
|
||||
0xbf 0x00bf
|
||||
0xc0 0x00c0
|
||||
0xc1 0x00c1
|
||||
0xc2 0x00c2
|
||||
0xc3 0x00c3
|
||||
0xc4 0x00c4
|
||||
0xc5 0x00c5
|
||||
0xc6 0x00c6
|
||||
0xc7 0x00c7
|
||||
0xc8 0x00c8
|
||||
0xc9 0x00c9
|
||||
0xca 0x00ca
|
||||
0xcb 0x00cb
|
||||
0xcc 0x00cc
|
||||
0xcd 0x00cd
|
||||
0xce 0x00ce
|
||||
0xcf 0x00cf
|
||||
0xd0 0x011e
|
||||
0xd1 0x00d1
|
||||
0xd2 0x00d2
|
||||
0xd3 0x00d3
|
||||
0xd4 0x00d4
|
||||
0xd5 0x00d5
|
||||
0xd6 0x00d6
|
||||
0xd7 0x00d7
|
||||
0xd8 0x00d8
|
||||
0xd9 0x00d9
|
||||
0xda 0x00da
|
||||
0xdb 0x00db
|
||||
0xdc 0x00dc
|
||||
0xdd 0x0130
|
||||
0xde 0x015e
|
||||
0xdf 0x00df
|
||||
0xe0 0x00e0
|
||||
0xe1 0x00e1
|
||||
0xe2 0x00e2
|
||||
0xe3 0x00e3
|
||||
0xe4 0x00e4
|
||||
0xe5 0x00e5
|
||||
0xe6 0x00e6
|
||||
0xe7 0x00e7
|
||||
0xe8 0x00e8
|
||||
0xe9 0x00e9
|
||||
0xea 0x00ea
|
||||
0xeb 0x00eb
|
||||
0xec 0x00ec
|
||||
0xed 0x00ed
|
||||
0xee 0x00ee
|
||||
0xef 0x00ef
|
||||
0xf0 0x011f
|
||||
0xf1 0x00f1
|
||||
0xf2 0x00f2
|
||||
0xf3 0x00f3
|
||||
0xf4 0x00f4
|
||||
0xf5 0x00f5
|
||||
0xf6 0x00f6
|
||||
0xf7 0x00f7
|
||||
0xf8 0x00f8
|
||||
0xf9 0x00f9
|
||||
0xfa 0x00fa
|
||||
0xfb 0x00fb
|
||||
0xfc 0x00fc
|
||||
0xfd 0x0131
|
||||
0xfe 0x015f
|
||||
0xff 0x00ff
|
||||
|
||||
|
||||
+14
-31
@@ -28,23 +28,16 @@ include ../Makedefs
|
||||
# Data files...
|
||||
#
|
||||
|
||||
BANNERS = classified \
|
||||
confidential \
|
||||
secret \
|
||||
standard \
|
||||
topsecret \
|
||||
unclassified
|
||||
|
||||
CHARSETS = windows-874 \
|
||||
windows-1250 \
|
||||
windows-1251 \
|
||||
windows-1252 \
|
||||
windows-1253 \
|
||||
windows-1254 \
|
||||
windows-1255 \
|
||||
windows-1256 \
|
||||
windows-1257 \
|
||||
windows-1258 \
|
||||
CHARSETS = cp874 \
|
||||
cp1250 \
|
||||
cp1251 \
|
||||
cp1252 \
|
||||
cp1253 \
|
||||
cp1254 \
|
||||
cp1255 \
|
||||
cp1256 \
|
||||
cp1257 \
|
||||
cp1258 \
|
||||
iso-8859-1 \
|
||||
iso-8859-2 \
|
||||
iso-8859-3 \
|
||||
@@ -81,21 +74,11 @@ clean:
|
||||
#
|
||||
|
||||
install:
|
||||
-$(MKDIR) $(DATADIR)/banners
|
||||
$(CHMOD) ugo+rx $(DATADIR)
|
||||
$(CHMOD) ugo+rx $(DATADIR)/banners
|
||||
$(INSTALL_DATA) $(BANNERS) $(DATADIR)/banners
|
||||
-$(MKDIR) $(DATADIR)/charsets
|
||||
$(CHMOD) ugo+rx $(DATADIR)/charsets
|
||||
$(INSTALL_DATA) $(CHARSETS) $(DATADIR)/charsets
|
||||
-$(MKDIR) $(DATADIR)
|
||||
-$(MKDIR) $(DATADIR)/data
|
||||
$(CHMOD) ugo+rx $(DATADIR)/data
|
||||
$(INSTALL_DATA) $(DATAFILES) $(DATADIR)/data
|
||||
-if test "$(PAMDIR)" != ""; then \
|
||||
$(MKDIR) $(PAMDIR); \
|
||||
$(CHMOD) ugo+rx $(PAMDIR); \
|
||||
$(INSTALL_DATA) cups.pam $(PAMDIR)/cups; \
|
||||
fi
|
||||
$(CP) $(DATAFILES) $(DATADIR)/data
|
||||
-$(MKDIR) $(DATADIR)/charsets
|
||||
$(CP) $(CHARSETS) $(DATADIR)/charsets
|
||||
|
||||
|
||||
#
|
||||
|
||||
@@ -1,259 +0,0 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%BoundingBox: 0 0 612 792
|
||||
%%Pages: 1
|
||||
%%LanguageLevel: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%DocumentSuppliedResources: procset bannerprint/1.0
|
||||
%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
|
||||
%%Creator: Michael Sweet, Easy Software Products
|
||||
%%CreationDate: May 10, 2000
|
||||
%%Title: Test Page
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource procset bannerprint 1.1 0
|
||||
%
|
||||
% PostScript banner page for the Common UNIX Printing System ("CUPS").
|
||||
%
|
||||
% Copyright 1993-2000 Easy Software Products
|
||||
%
|
||||
% These coded instructions, statements, and computer programs contain
|
||||
% unpublished proprietary information of Easy Software Products, and
|
||||
% are protected by Federal copyright law. They may not be disclosed
|
||||
% to third parties or copied or duplicated in any form, in whole or
|
||||
% in part, without the prior written consent of Easy Software Products.
|
||||
%
|
||||
/CENTER \{ % Draw centered text
|
||||
% (name) CENTER -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/RIGHT \{ % Draw right-justified text
|
||||
% (name) RIGHT -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
neg 0 rmoveto % Shift left the entire distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/NUMBER \{ % Draw a number
|
||||
% power n NUMBER -
|
||||
1 index 1 eq \{ % power == 1?
|
||||
round cvi exch pop % Convert "n" to integer
|
||||
} \{
|
||||
1 index mul round exch div % Truncate extra decimal places
|
||||
} ifelse
|
||||
100 string cvs show % Convert to a string and show it...
|
||||
} bind def
|
||||
/CUPSLOGO \{ % Draw the CUPS logo
|
||||
% height CUPSLOGO
|
||||
% Start with a big C...
|
||||
/Helvetica findfont 1 index scalefont setfont
|
||||
0 setgray
|
||||
0 0 moveto
|
||||
(C) show
|
||||
|
||||
% Then "UNIX Printing System" much smaller...
|
||||
/Helvetica-Bold findfont 1 index 9 div scalefont setfont
|
||||
0.25 mul
|
||||
dup dup 2.0 mul moveto
|
||||
(UNIX) show
|
||||
dup dup 1.6 mul moveto
|
||||
(Printing) show
|
||||
dup 1.2 mul moveto
|
||||
(System) show
|
||||
} bind def
|
||||
/ESPLOGO \{ % Draw the ESP logo
|
||||
% height ESPLOGO
|
||||
% Compute the size of the logo...
|
||||
0 0
|
||||
2 index 1.5 mul 3 index
|
||||
|
||||
% Do the "metallic" fill from 10% black to 40% black...
|
||||
1 -0.001 0 \{
|
||||
dup % loopval
|
||||
-0.15 mul % loopval * -0.15
|
||||
0.9 add % 0.9 - loopval * 0.15
|
||||
setgray % set gray shade
|
||||
|
||||
0 % x
|
||||
1 index neg % loopval
|
||||
1 add % 1 - loopval
|
||||
3 index % height
|
||||
mul % height * (1 - loopval)
|
||||
moveto % starting point
|
||||
|
||||
dup % loopval
|
||||
3 index % width
|
||||
mul % loopval * width
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
0 % x
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
|
||||
dup % loopval
|
||||
0.15 mul % loopval * 0.15
|
||||
0.6 add % 0.6 + loopval * 0.15
|
||||
setgray
|
||||
|
||||
dup % loopval
|
||||
neg 1 add % 1 - loopval
|
||||
3 index % width
|
||||
mul % (1 - loopval) * width
|
||||
0 % y
|
||||
moveto % Starting point
|
||||
|
||||
2 index % width
|
||||
exch % loopval
|
||||
2 index % height
|
||||
mul % loopval * height
|
||||
lineto % Next point
|
||||
|
||||
1 index % width
|
||||
0 % y
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
} for
|
||||
|
||||
0 setgray rectstroke
|
||||
|
||||
/Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
|
||||
dup 40 div
|
||||
|
||||
dup 4 mul 1 index 25 mul moveto (E) show
|
||||
dup 10 mul 1 index 15 mul moveto (S) show
|
||||
dup 16 mul 1 index 5 mul moveto (P) show
|
||||
|
||||
/Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
|
||||
dup 14 mul 1 index 29 mul moveto (asy) show
|
||||
dup 20 mul 1 index 19 mul moveto (oftware) show
|
||||
dup 26 mul 1 index 9 mul moveto (roducts) show
|
||||
|
||||
pop
|
||||
} bind def
|
||||
%%EndResource
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gsave
|
||||
|
||||
% Determine the imageable area and device resolution...
|
||||
initclip newpath clippath pathbbox % Get bounding rectangle
|
||||
72 div /pageTop exch def % Get top margin in inches
|
||||
72 div /pageRight exch def % Get right margin in inches
|
||||
72 div /pageBottom exch def % Get bottom margin in inches
|
||||
72 div /pageLeft exch def % Get left margin in inches
|
||||
|
||||
/pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
|
||||
/pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
|
||||
|
||||
newpath % Clear bounding path
|
||||
|
||||
% Create fonts...
|
||||
/bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
|
||||
pageWidth 4 mul scalefont def % size = pageWidth * 4 (nominally 34)
|
||||
|
||||
/mediumFont /Helvetica findfont % mediumFont = Helvetica
|
||||
pageWidth 2 mul scalefont def % size = pageWidth * 2 (nominally 17)
|
||||
|
||||
% Offset page to account for lower-left margin...
|
||||
pageLeft 72 mul
|
||||
pageBottom 72 mul
|
||||
translate
|
||||
|
||||
% Draw the label at the top and bottom...
|
||||
0 setgray % Color
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageHeight 72 mul % Top of page
|
||||
pageWidth -9 mul add % - 1 line
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Classified) CENTER % Show text centered
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageWidth 8 mul % Bottom of page
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Classified) CENTER % Show text centered
|
||||
|
||||
% Job information box...
|
||||
pageWidth 18 mul 9 add % x = pageWidth * 1/4 * 72 + 9
|
||||
pageHeight 27 mul 9 sub % y = pageHeight * 3/8 * 72 - 9
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
0.5 setgray rectfill % Draw a shadow
|
||||
|
||||
pageWidth 18 mul % x = pageWidth * 1/4 * 72
|
||||
pageHeight 27 mul % y = pageHeight * 3/8 * 72
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
|
||||
4 copy 1 setgray rectfill % Clear the box to white
|
||||
0 setgray rectstroke % Draw a black box around it...
|
||||
|
||||
% Job information text...
|
||||
mediumFont setfont % Medium sized font
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 4 mul add % y += 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Job ID: ) RIGHT
|
||||
moveto
|
||||
({printer-name}-{job-id}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 1 mul add % y += 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Title: ) RIGHT
|
||||
moveto
|
||||
({job-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -2 mul add % y -= 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Requesting User: ) RIGHT
|
||||
moveto
|
||||
({job-originating-user-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -5 mul add % y -= 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Billing Info: ) RIGHT
|
||||
moveto
|
||||
({job-billing}) show
|
||||
|
||||
% Then the CUPS logo....
|
||||
gsave
|
||||
pageWidth 4 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 9 mul CUPSLOGO
|
||||
grestore
|
||||
|
||||
% And the ESP logo....
|
||||
gsave
|
||||
pageWidth 59 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 6 mul ESPLOGO
|
||||
grestore
|
||||
% Show the page...
|
||||
grestore
|
||||
showpage
|
||||
%
|
||||
% End of "$Id: classified 1075 2000-05-11 20:02:21Z mike $".
|
||||
%
|
||||
%%EOF
|
||||
@@ -1,259 +0,0 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%BoundingBox: 0 0 612 792
|
||||
%%Pages: 1
|
||||
%%LanguageLevel: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%DocumentSuppliedResources: procset bannerprint/1.0
|
||||
%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
|
||||
%%Creator: Michael Sweet, Easy Software Products
|
||||
%%CreationDate: May 10, 2000
|
||||
%%Title: Test Page
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource procset bannerprint 1.1 0
|
||||
%
|
||||
% PostScript banner page for the Common UNIX Printing System ("CUPS").
|
||||
%
|
||||
% Copyright 1993-2000 Easy Software Products
|
||||
%
|
||||
% These coded instructions, statements, and computer programs contain
|
||||
% unpublished proprietary information of Easy Software Products, and
|
||||
% are protected by Federal copyright law. They may not be disclosed
|
||||
% to third parties or copied or duplicated in any form, in whole or
|
||||
% in part, without the prior written consent of Easy Software Products.
|
||||
%
|
||||
/CENTER \{ % Draw centered text
|
||||
% (name) CENTER -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/RIGHT \{ % Draw right-justified text
|
||||
% (name) RIGHT -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
neg 0 rmoveto % Shift left the entire distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/NUMBER \{ % Draw a number
|
||||
% power n NUMBER -
|
||||
1 index 1 eq \{ % power == 1?
|
||||
round cvi exch pop % Convert "n" to integer
|
||||
} \{
|
||||
1 index mul round exch div % Truncate extra decimal places
|
||||
} ifelse
|
||||
100 string cvs show % Convert to a string and show it...
|
||||
} bind def
|
||||
/CUPSLOGO \{ % Draw the CUPS logo
|
||||
% height CUPSLOGO
|
||||
% Start with a big C...
|
||||
/Helvetica findfont 1 index scalefont setfont
|
||||
0 setgray
|
||||
0 0 moveto
|
||||
(C) show
|
||||
|
||||
% Then "UNIX Printing System" much smaller...
|
||||
/Helvetica-Bold findfont 1 index 9 div scalefont setfont
|
||||
0.25 mul
|
||||
dup dup 2.0 mul moveto
|
||||
(UNIX) show
|
||||
dup dup 1.6 mul moveto
|
||||
(Printing) show
|
||||
dup 1.2 mul moveto
|
||||
(System) show
|
||||
} bind def
|
||||
/ESPLOGO \{ % Draw the ESP logo
|
||||
% height ESPLOGO
|
||||
% Compute the size of the logo...
|
||||
0 0
|
||||
2 index 1.5 mul 3 index
|
||||
|
||||
% Do the "metallic" fill from 10% black to 40% black...
|
||||
1 -0.001 0 \{
|
||||
dup % loopval
|
||||
-0.15 mul % loopval * -0.15
|
||||
0.9 add % 0.9 - loopval * 0.15
|
||||
setgray % set gray shade
|
||||
|
||||
0 % x
|
||||
1 index neg % loopval
|
||||
1 add % 1 - loopval
|
||||
3 index % height
|
||||
mul % height * (1 - loopval)
|
||||
moveto % starting point
|
||||
|
||||
dup % loopval
|
||||
3 index % width
|
||||
mul % loopval * width
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
0 % x
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
|
||||
dup % loopval
|
||||
0.15 mul % loopval * 0.15
|
||||
0.6 add % 0.6 + loopval * 0.15
|
||||
setgray
|
||||
|
||||
dup % loopval
|
||||
neg 1 add % 1 - loopval
|
||||
3 index % width
|
||||
mul % (1 - loopval) * width
|
||||
0 % y
|
||||
moveto % Starting point
|
||||
|
||||
2 index % width
|
||||
exch % loopval
|
||||
2 index % height
|
||||
mul % loopval * height
|
||||
lineto % Next point
|
||||
|
||||
1 index % width
|
||||
0 % y
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
} for
|
||||
|
||||
0 setgray rectstroke
|
||||
|
||||
/Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
|
||||
dup 40 div
|
||||
|
||||
dup 4 mul 1 index 25 mul moveto (E) show
|
||||
dup 10 mul 1 index 15 mul moveto (S) show
|
||||
dup 16 mul 1 index 5 mul moveto (P) show
|
||||
|
||||
/Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
|
||||
dup 14 mul 1 index 29 mul moveto (asy) show
|
||||
dup 20 mul 1 index 19 mul moveto (oftware) show
|
||||
dup 26 mul 1 index 9 mul moveto (roducts) show
|
||||
|
||||
pop
|
||||
} bind def
|
||||
%%EndResource
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gsave
|
||||
|
||||
% Determine the imageable area and device resolution...
|
||||
initclip newpath clippath pathbbox % Get bounding rectangle
|
||||
72 div /pageTop exch def % Get top margin in inches
|
||||
72 div /pageRight exch def % Get right margin in inches
|
||||
72 div /pageBottom exch def % Get bottom margin in inches
|
||||
72 div /pageLeft exch def % Get left margin in inches
|
||||
|
||||
/pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
|
||||
/pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
|
||||
|
||||
newpath % Clear bounding path
|
||||
|
||||
% Create fonts...
|
||||
/bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
|
||||
pageWidth 4 mul scalefont def % size = pageWidth * 4 (nominally 34)
|
||||
|
||||
/mediumFont /Helvetica findfont % mediumFont = Helvetica
|
||||
pageWidth 2 mul scalefont def % size = pageWidth * 2 (nominally 17)
|
||||
|
||||
% Offset page to account for lower-left margin...
|
||||
pageLeft 72 mul
|
||||
pageBottom 72 mul
|
||||
translate
|
||||
|
||||
% Draw the label at the top and bottom...
|
||||
0 setgray % Color
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageHeight 72 mul % Top of page
|
||||
pageWidth -9 mul add % - 1 line
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Confidential) CENTER % Show text centered
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageWidth 8 mul % Bottom of page
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Confidential) CENTER % Show text centered
|
||||
|
||||
% Job information box...
|
||||
pageWidth 18 mul 9 add % x = pageWidth * 1/4 * 72 + 9
|
||||
pageHeight 27 mul 9 sub % y = pageHeight * 3/8 * 72 - 9
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
0.5 setgray rectfill % Draw a shadow
|
||||
|
||||
pageWidth 18 mul % x = pageWidth * 1/4 * 72
|
||||
pageHeight 27 mul % y = pageHeight * 3/8 * 72
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
|
||||
4 copy 1 setgray rectfill % Clear the box to white
|
||||
0 setgray rectstroke % Draw a black box around it...
|
||||
|
||||
% Job information text...
|
||||
mediumFont setfont % Medium sized font
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 4 mul add % y += 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Job ID: ) RIGHT
|
||||
moveto
|
||||
({printer-name}-{job-id}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 1 mul add % y += 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Title: ) RIGHT
|
||||
moveto
|
||||
({job-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -2 mul add % y -= 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Requesting User: ) RIGHT
|
||||
moveto
|
||||
({job-originating-user-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -5 mul add % y -= 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Billing Info: ) RIGHT
|
||||
moveto
|
||||
({job-billing}) show
|
||||
|
||||
% Then the CUPS logo....
|
||||
gsave
|
||||
pageWidth 4 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 9 mul CUPSLOGO
|
||||
grestore
|
||||
|
||||
% And the ESP logo....
|
||||
gsave
|
||||
pageWidth 59 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 6 mul ESPLOGO
|
||||
grestore
|
||||
% Show the page...
|
||||
grestore
|
||||
showpage
|
||||
%
|
||||
% End of "$Id: confidential 1075 2000-05-11 20:02:21Z mike $".
|
||||
%
|
||||
%%EOF
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,8 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 9f ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
a0 ff ltor single Symbol
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff rtol single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
rtol single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff rtol single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
rtol single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
@@ -1,2 +0,0 @@
|
||||
auth required /lib/security/pam_pwdb.so nullok shadow
|
||||
account required /lib/security/pam_pwdb.so
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff rtol single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
rtol single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-2
@@ -22,8 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 9f ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
a0 ff ltor single Symbol
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-2
@@ -22,8 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 7f ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
80 ff rtol single Courier-Hebrew
|
||||
rtol single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ charset 8bit
|
||||
# printing.
|
||||
#
|
||||
|
||||
00 ff ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
ltor single Courier Courier-Bold Courier-Italic Courier-BoldItalic
|
||||
|
||||
#
|
||||
# The following lines define the mapping from the 8-bit character set to
|
||||
|
||||
-259
@@ -1,259 +0,0 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%BoundingBox: 0 0 612 792
|
||||
%%Pages: 1
|
||||
%%LanguageLevel: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%DocumentSuppliedResources: procset bannerprint/1.0
|
||||
%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
|
||||
%%Creator: Michael Sweet, Easy Software Products
|
||||
%%CreationDate: May 10, 2000
|
||||
%%Title: Test Page
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource procset bannerprint 1.1 0
|
||||
%
|
||||
% PostScript banner page for the Common UNIX Printing System ("CUPS").
|
||||
%
|
||||
% Copyright 1993-2000 Easy Software Products
|
||||
%
|
||||
% These coded instructions, statements, and computer programs contain
|
||||
% unpublished proprietary information of Easy Software Products, and
|
||||
% are protected by Federal copyright law. They may not be disclosed
|
||||
% to third parties or copied or duplicated in any form, in whole or
|
||||
% in part, without the prior written consent of Easy Software Products.
|
||||
%
|
||||
/CENTER \{ % Draw centered text
|
||||
% (name) CENTER -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/RIGHT \{ % Draw right-justified text
|
||||
% (name) RIGHT -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
neg 0 rmoveto % Shift left the entire distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/NUMBER \{ % Draw a number
|
||||
% power n NUMBER -
|
||||
1 index 1 eq \{ % power == 1?
|
||||
round cvi exch pop % Convert "n" to integer
|
||||
} \{
|
||||
1 index mul round exch div % Truncate extra decimal places
|
||||
} ifelse
|
||||
100 string cvs show % Convert to a string and show it...
|
||||
} bind def
|
||||
/CUPSLOGO \{ % Draw the CUPS logo
|
||||
% height CUPSLOGO
|
||||
% Start with a big C...
|
||||
/Helvetica findfont 1 index scalefont setfont
|
||||
0 setgray
|
||||
0 0 moveto
|
||||
(C) show
|
||||
|
||||
% Then "UNIX Printing System" much smaller...
|
||||
/Helvetica-Bold findfont 1 index 9 div scalefont setfont
|
||||
0.25 mul
|
||||
dup dup 2.0 mul moveto
|
||||
(UNIX) show
|
||||
dup dup 1.6 mul moveto
|
||||
(Printing) show
|
||||
dup 1.2 mul moveto
|
||||
(System) show
|
||||
} bind def
|
||||
/ESPLOGO \{ % Draw the ESP logo
|
||||
% height ESPLOGO
|
||||
% Compute the size of the logo...
|
||||
0 0
|
||||
2 index 1.5 mul 3 index
|
||||
|
||||
% Do the "metallic" fill from 10% black to 40% black...
|
||||
1 -0.001 0 \{
|
||||
dup % loopval
|
||||
-0.15 mul % loopval * -0.15
|
||||
0.9 add % 0.9 - loopval * 0.15
|
||||
setgray % set gray shade
|
||||
|
||||
0 % x
|
||||
1 index neg % loopval
|
||||
1 add % 1 - loopval
|
||||
3 index % height
|
||||
mul % height * (1 - loopval)
|
||||
moveto % starting point
|
||||
|
||||
dup % loopval
|
||||
3 index % width
|
||||
mul % loopval * width
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
0 % x
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
|
||||
dup % loopval
|
||||
0.15 mul % loopval * 0.15
|
||||
0.6 add % 0.6 + loopval * 0.15
|
||||
setgray
|
||||
|
||||
dup % loopval
|
||||
neg 1 add % 1 - loopval
|
||||
3 index % width
|
||||
mul % (1 - loopval) * width
|
||||
0 % y
|
||||
moveto % Starting point
|
||||
|
||||
2 index % width
|
||||
exch % loopval
|
||||
2 index % height
|
||||
mul % loopval * height
|
||||
lineto % Next point
|
||||
|
||||
1 index % width
|
||||
0 % y
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
} for
|
||||
|
||||
0 setgray rectstroke
|
||||
|
||||
/Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
|
||||
dup 40 div
|
||||
|
||||
dup 4 mul 1 index 25 mul moveto (E) show
|
||||
dup 10 mul 1 index 15 mul moveto (S) show
|
||||
dup 16 mul 1 index 5 mul moveto (P) show
|
||||
|
||||
/Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
|
||||
dup 14 mul 1 index 29 mul moveto (asy) show
|
||||
dup 20 mul 1 index 19 mul moveto (oftware) show
|
||||
dup 26 mul 1 index 9 mul moveto (roducts) show
|
||||
|
||||
pop
|
||||
} bind def
|
||||
%%EndResource
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gsave
|
||||
|
||||
% Determine the imageable area and device resolution...
|
||||
initclip newpath clippath pathbbox % Get bounding rectangle
|
||||
72 div /pageTop exch def % Get top margin in inches
|
||||
72 div /pageRight exch def % Get right margin in inches
|
||||
72 div /pageBottom exch def % Get bottom margin in inches
|
||||
72 div /pageLeft exch def % Get left margin in inches
|
||||
|
||||
/pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
|
||||
/pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
|
||||
|
||||
newpath % Clear bounding path
|
||||
|
||||
% Create fonts...
|
||||
/bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
|
||||
pageWidth 4 mul scalefont def % size = pageWidth * 4 (nominally 34)
|
||||
|
||||
/mediumFont /Helvetica findfont % mediumFont = Helvetica
|
||||
pageWidth 2 mul scalefont def % size = pageWidth * 2 (nominally 17)
|
||||
|
||||
% Offset page to account for lower-left margin...
|
||||
pageLeft 72 mul
|
||||
pageBottom 72 mul
|
||||
translate
|
||||
|
||||
% Draw the label at the top and bottom...
|
||||
0 setgray % Color
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageHeight 72 mul % Top of page
|
||||
pageWidth -9 mul add % - 1 line
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Secret) CENTER % Show text centered
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageWidth 8 mul % Bottom of page
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Secret) CENTER % Show text centered
|
||||
|
||||
% Job information box...
|
||||
pageWidth 18 mul 9 add % x = pageWidth * 1/4 * 72 + 9
|
||||
pageHeight 27 mul 9 sub % y = pageHeight * 3/8 * 72 - 9
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
0.5 setgray rectfill % Draw a shadow
|
||||
|
||||
pageWidth 18 mul % x = pageWidth * 1/4 * 72
|
||||
pageHeight 27 mul % y = pageHeight * 3/8 * 72
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
|
||||
4 copy 1 setgray rectfill % Clear the box to white
|
||||
0 setgray rectstroke % Draw a black box around it...
|
||||
|
||||
% Job information text...
|
||||
mediumFont setfont % Medium sized font
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 4 mul add % y += 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Job ID: ) RIGHT
|
||||
moveto
|
||||
({printer-name}-{job-id}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 1 mul add % y += 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Title: ) RIGHT
|
||||
moveto
|
||||
({job-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -2 mul add % y -= 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Requesting User: ) RIGHT
|
||||
moveto
|
||||
({job-originating-user-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -5 mul add % y -= 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Billing Info: ) RIGHT
|
||||
moveto
|
||||
({job-billing}) show
|
||||
|
||||
% Then the CUPS logo....
|
||||
gsave
|
||||
pageWidth 4 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 9 mul CUPSLOGO
|
||||
grestore
|
||||
|
||||
% And the ESP logo....
|
||||
gsave
|
||||
pageWidth 59 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 6 mul ESPLOGO
|
||||
grestore
|
||||
% Show the page...
|
||||
grestore
|
||||
showpage
|
||||
%
|
||||
% End of "$Id: secret 1075 2000-05-11 20:02:21Z mike $".
|
||||
%
|
||||
%%EOF
|
||||
-259
@@ -1,259 +0,0 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%BoundingBox: 0 0 612 792
|
||||
%%Pages: 1
|
||||
%%LanguageLevel: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%DocumentSuppliedResources: procset bannerprint/1.0
|
||||
%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
|
||||
%%Creator: Michael Sweet, Easy Software Products
|
||||
%%CreationDate: May 10, 2000
|
||||
%%Title: Test Page
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource procset bannerprint 1.1 0
|
||||
%
|
||||
% PostScript banner page for the Common UNIX Printing System ("CUPS").
|
||||
%
|
||||
% Copyright 1993-2000 Easy Software Products
|
||||
%
|
||||
% These coded instructions, statements, and computer programs contain
|
||||
% unpublished proprietary information of Easy Software Products, and
|
||||
% are protected by Federal copyright law. They may not be disclosed
|
||||
% to third parties or copied or duplicated in any form, in whole or
|
||||
% in part, without the prior written consent of Easy Software Products.
|
||||
%
|
||||
/CENTER \{ % Draw centered text
|
||||
% (name) CENTER -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/RIGHT \{ % Draw right-justified text
|
||||
% (name) RIGHT -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
neg 0 rmoveto % Shift left the entire distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/NUMBER \{ % Draw a number
|
||||
% power n NUMBER -
|
||||
1 index 1 eq \{ % power == 1?
|
||||
round cvi exch pop % Convert "n" to integer
|
||||
} \{
|
||||
1 index mul round exch div % Truncate extra decimal places
|
||||
} ifelse
|
||||
100 string cvs show % Convert to a string and show it...
|
||||
} bind def
|
||||
/CUPSLOGO \{ % Draw the CUPS logo
|
||||
% height CUPSLOGO
|
||||
% Start with a big C...
|
||||
/Helvetica findfont 1 index scalefont setfont
|
||||
0 setgray
|
||||
0 0 moveto
|
||||
(C) show
|
||||
|
||||
% Then "UNIX Printing System" much smaller...
|
||||
/Helvetica-Bold findfont 1 index 9 div scalefont setfont
|
||||
0.25 mul
|
||||
dup dup 2.0 mul moveto
|
||||
(UNIX) show
|
||||
dup dup 1.6 mul moveto
|
||||
(Printing) show
|
||||
dup 1.2 mul moveto
|
||||
(System) show
|
||||
} bind def
|
||||
/ESPLOGO \{ % Draw the ESP logo
|
||||
% height ESPLOGO
|
||||
% Compute the size of the logo...
|
||||
0 0
|
||||
2 index 1.5 mul 3 index
|
||||
|
||||
% Do the "metallic" fill from 10% black to 40% black...
|
||||
1 -0.001 0 \{
|
||||
dup % loopval
|
||||
-0.15 mul % loopval * -0.15
|
||||
0.9 add % 0.9 - loopval * 0.15
|
||||
setgray % set gray shade
|
||||
|
||||
0 % x
|
||||
1 index neg % loopval
|
||||
1 add % 1 - loopval
|
||||
3 index % height
|
||||
mul % height * (1 - loopval)
|
||||
moveto % starting point
|
||||
|
||||
dup % loopval
|
||||
3 index % width
|
||||
mul % loopval * width
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
0 % x
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
|
||||
dup % loopval
|
||||
0.15 mul % loopval * 0.15
|
||||
0.6 add % 0.6 + loopval * 0.15
|
||||
setgray
|
||||
|
||||
dup % loopval
|
||||
neg 1 add % 1 - loopval
|
||||
3 index % width
|
||||
mul % (1 - loopval) * width
|
||||
0 % y
|
||||
moveto % Starting point
|
||||
|
||||
2 index % width
|
||||
exch % loopval
|
||||
2 index % height
|
||||
mul % loopval * height
|
||||
lineto % Next point
|
||||
|
||||
1 index % width
|
||||
0 % y
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
} for
|
||||
|
||||
0 setgray rectstroke
|
||||
|
||||
/Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
|
||||
dup 40 div
|
||||
|
||||
dup 4 mul 1 index 25 mul moveto (E) show
|
||||
dup 10 mul 1 index 15 mul moveto (S) show
|
||||
dup 16 mul 1 index 5 mul moveto (P) show
|
||||
|
||||
/Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
|
||||
dup 14 mul 1 index 29 mul moveto (asy) show
|
||||
dup 20 mul 1 index 19 mul moveto (oftware) show
|
||||
dup 26 mul 1 index 9 mul moveto (roducts) show
|
||||
|
||||
pop
|
||||
} bind def
|
||||
%%EndResource
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gsave
|
||||
|
||||
% Determine the imageable area and device resolution...
|
||||
initclip newpath clippath pathbbox % Get bounding rectangle
|
||||
72 div /pageTop exch def % Get top margin in inches
|
||||
72 div /pageRight exch def % Get right margin in inches
|
||||
72 div /pageBottom exch def % Get bottom margin in inches
|
||||
72 div /pageLeft exch def % Get left margin in inches
|
||||
|
||||
/pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
|
||||
/pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
|
||||
|
||||
newpath % Clear bounding path
|
||||
|
||||
% Create fonts...
|
||||
/bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
|
||||
pageWidth 4 mul scalefont def % size = pageWidth * 4 (nominally 34)
|
||||
|
||||
/mediumFont /Helvetica findfont % mediumFont = Helvetica
|
||||
pageWidth 2 mul scalefont def % size = pageWidth * 2 (nominally 17)
|
||||
|
||||
% Offset page to account for lower-left margin...
|
||||
pageLeft 72 mul
|
||||
pageBottom 72 mul
|
||||
translate
|
||||
|
||||
% Draw the label at the top and bottom...
|
||||
0 setgray % Color
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageHeight 72 mul % Top of page
|
||||
pageWidth -9 mul add % - 1 line
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Banner) CENTER % Show text centered
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageWidth 8 mul % Bottom of page
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Banner) CENTER % Show text centered
|
||||
|
||||
% Job information box...
|
||||
pageWidth 18 mul 9 add % x = pageWidth * 1/4 * 72 + 9
|
||||
pageHeight 27 mul 9 sub % y = pageHeight * 3/8 * 72 - 9
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
0.5 setgray rectfill % Draw a shadow
|
||||
|
||||
pageWidth 18 mul % x = pageWidth * 1/4 * 72
|
||||
pageHeight 27 mul % y = pageHeight * 3/8 * 72
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
|
||||
4 copy 1 setgray rectfill % Clear the box to white
|
||||
0 setgray rectstroke % Draw a black box around it...
|
||||
|
||||
% Job information text...
|
||||
mediumFont setfont % Medium sized font
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 4 mul add % y += 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Job ID: ) RIGHT
|
||||
moveto
|
||||
({printer-name}-{job-id}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 1 mul add % y += 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Title: ) RIGHT
|
||||
moveto
|
||||
({job-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -2 mul add % y -= 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Requesting User: ) RIGHT
|
||||
moveto
|
||||
({job-originating-user-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -5 mul add % y -= 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Billing Info: ) RIGHT
|
||||
moveto
|
||||
({job-billing}) show
|
||||
|
||||
% Then the CUPS logo....
|
||||
gsave
|
||||
pageWidth 4 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 9 mul CUPSLOGO
|
||||
grestore
|
||||
|
||||
% And the ESP logo....
|
||||
gsave
|
||||
pageWidth 59 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 6 mul ESPLOGO
|
||||
grestore
|
||||
% Show the page...
|
||||
grestore
|
||||
showpage
|
||||
%
|
||||
% End of "$Id: standard 1075 2000-05-11 20:02:21Z mike $".
|
||||
%
|
||||
%%EOF
|
||||
@@ -1,259 +0,0 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%BoundingBox: 0 0 612 792
|
||||
%%Pages: 1
|
||||
%%LanguageLevel: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%DocumentSuppliedResources: procset bannerprint/1.0
|
||||
%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
|
||||
%%Creator: Michael Sweet, Easy Software Products
|
||||
%%CreationDate: May 10, 2000
|
||||
%%Title: Test Page
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource procset bannerprint 1.1 0
|
||||
%
|
||||
% PostScript banner page for the Common UNIX Printing System ("CUPS").
|
||||
%
|
||||
% Copyright 1993-2000 Easy Software Products
|
||||
%
|
||||
% These coded instructions, statements, and computer programs contain
|
||||
% unpublished proprietary information of Easy Software Products, and
|
||||
% are protected by Federal copyright law. They may not be disclosed
|
||||
% to third parties or copied or duplicated in any form, in whole or
|
||||
% in part, without the prior written consent of Easy Software Products.
|
||||
%
|
||||
/CENTER \{ % Draw centered text
|
||||
% (name) CENTER -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/RIGHT \{ % Draw right-justified text
|
||||
% (name) RIGHT -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
neg 0 rmoveto % Shift left the entire distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/NUMBER \{ % Draw a number
|
||||
% power n NUMBER -
|
||||
1 index 1 eq \{ % power == 1?
|
||||
round cvi exch pop % Convert "n" to integer
|
||||
} \{
|
||||
1 index mul round exch div % Truncate extra decimal places
|
||||
} ifelse
|
||||
100 string cvs show % Convert to a string and show it...
|
||||
} bind def
|
||||
/CUPSLOGO \{ % Draw the CUPS logo
|
||||
% height CUPSLOGO
|
||||
% Start with a big C...
|
||||
/Helvetica findfont 1 index scalefont setfont
|
||||
0 setgray
|
||||
0 0 moveto
|
||||
(C) show
|
||||
|
||||
% Then "UNIX Printing System" much smaller...
|
||||
/Helvetica-Bold findfont 1 index 9 div scalefont setfont
|
||||
0.25 mul
|
||||
dup dup 2.0 mul moveto
|
||||
(UNIX) show
|
||||
dup dup 1.6 mul moveto
|
||||
(Printing) show
|
||||
dup 1.2 mul moveto
|
||||
(System) show
|
||||
} bind def
|
||||
/ESPLOGO \{ % Draw the ESP logo
|
||||
% height ESPLOGO
|
||||
% Compute the size of the logo...
|
||||
0 0
|
||||
2 index 1.5 mul 3 index
|
||||
|
||||
% Do the "metallic" fill from 10% black to 40% black...
|
||||
1 -0.001 0 \{
|
||||
dup % loopval
|
||||
-0.15 mul % loopval * -0.15
|
||||
0.9 add % 0.9 - loopval * 0.15
|
||||
setgray % set gray shade
|
||||
|
||||
0 % x
|
||||
1 index neg % loopval
|
||||
1 add % 1 - loopval
|
||||
3 index % height
|
||||
mul % height * (1 - loopval)
|
||||
moveto % starting point
|
||||
|
||||
dup % loopval
|
||||
3 index % width
|
||||
mul % loopval * width
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
0 % x
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
|
||||
dup % loopval
|
||||
0.15 mul % loopval * 0.15
|
||||
0.6 add % 0.6 + loopval * 0.15
|
||||
setgray
|
||||
|
||||
dup % loopval
|
||||
neg 1 add % 1 - loopval
|
||||
3 index % width
|
||||
mul % (1 - loopval) * width
|
||||
0 % y
|
||||
moveto % Starting point
|
||||
|
||||
2 index % width
|
||||
exch % loopval
|
||||
2 index % height
|
||||
mul % loopval * height
|
||||
lineto % Next point
|
||||
|
||||
1 index % width
|
||||
0 % y
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
} for
|
||||
|
||||
0 setgray rectstroke
|
||||
|
||||
/Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
|
||||
dup 40 div
|
||||
|
||||
dup 4 mul 1 index 25 mul moveto (E) show
|
||||
dup 10 mul 1 index 15 mul moveto (S) show
|
||||
dup 16 mul 1 index 5 mul moveto (P) show
|
||||
|
||||
/Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
|
||||
dup 14 mul 1 index 29 mul moveto (asy) show
|
||||
dup 20 mul 1 index 19 mul moveto (oftware) show
|
||||
dup 26 mul 1 index 9 mul moveto (roducts) show
|
||||
|
||||
pop
|
||||
} bind def
|
||||
%%EndResource
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gsave
|
||||
|
||||
% Determine the imageable area and device resolution...
|
||||
initclip newpath clippath pathbbox % Get bounding rectangle
|
||||
72 div /pageTop exch def % Get top margin in inches
|
||||
72 div /pageRight exch def % Get right margin in inches
|
||||
72 div /pageBottom exch def % Get bottom margin in inches
|
||||
72 div /pageLeft exch def % Get left margin in inches
|
||||
|
||||
/pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
|
||||
/pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
|
||||
|
||||
newpath % Clear bounding path
|
||||
|
||||
% Create fonts...
|
||||
/bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
|
||||
pageWidth 4 mul scalefont def % size = pageWidth * 4 (nominally 34)
|
||||
|
||||
/mediumFont /Helvetica findfont % mediumFont = Helvetica
|
||||
pageWidth 2 mul scalefont def % size = pageWidth * 2 (nominally 17)
|
||||
|
||||
% Offset page to account for lower-left margin...
|
||||
pageLeft 72 mul
|
||||
pageBottom 72 mul
|
||||
translate
|
||||
|
||||
% Draw the label at the top and bottom...
|
||||
0 setgray % Color
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageHeight 72 mul % Top of page
|
||||
pageWidth -9 mul add % - 1 line
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Top Secret) CENTER % Show text centered
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageWidth 8 mul % Bottom of page
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Top Secret) CENTER % Show text centered
|
||||
|
||||
% Job information box...
|
||||
pageWidth 18 mul 9 add % x = pageWidth * 1/4 * 72 + 9
|
||||
pageHeight 27 mul 9 sub % y = pageHeight * 3/8 * 72 - 9
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
0.5 setgray rectfill % Draw a shadow
|
||||
|
||||
pageWidth 18 mul % x = pageWidth * 1/4 * 72
|
||||
pageHeight 27 mul % y = pageHeight * 3/8 * 72
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
|
||||
4 copy 1 setgray rectfill % Clear the box to white
|
||||
0 setgray rectstroke % Draw a black box around it...
|
||||
|
||||
% Job information text...
|
||||
mediumFont setfont % Medium sized font
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 4 mul add % y += 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Job ID: ) RIGHT
|
||||
moveto
|
||||
({printer-name}-{job-id}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 1 mul add % y += 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Title: ) RIGHT
|
||||
moveto
|
||||
({job-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -2 mul add % y -= 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Requesting User: ) RIGHT
|
||||
moveto
|
||||
({job-originating-user-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -5 mul add % y -= 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Billing Info: ) RIGHT
|
||||
moveto
|
||||
({job-billing}) show
|
||||
|
||||
% Then the CUPS logo....
|
||||
gsave
|
||||
pageWidth 4 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 9 mul CUPSLOGO
|
||||
grestore
|
||||
|
||||
% And the ESP logo....
|
||||
gsave
|
||||
pageWidth 59 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 6 mul ESPLOGO
|
||||
grestore
|
||||
% Show the page...
|
||||
grestore
|
||||
showpage
|
||||
%
|
||||
% End of "$Id: topsecret 1075 2000-05-11 20:02:21Z mike $".
|
||||
%
|
||||
%%EOF
|
||||
@@ -1,259 +0,0 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%BoundingBox: 0 0 612 792
|
||||
%%Pages: 1
|
||||
%%LanguageLevel: 1
|
||||
%%DocumentData: Clean7Bit
|
||||
%%DocumentSuppliedResources: procset bannerprint/1.0
|
||||
%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
|
||||
%%Creator: Michael Sweet, Easy Software Products
|
||||
%%CreationDate: May 10, 2000
|
||||
%%Title: Test Page
|
||||
%%EndComments
|
||||
%%BeginProlog
|
||||
%%BeginResource procset bannerprint 1.1 0
|
||||
%
|
||||
% PostScript banner page for the Common UNIX Printing System ("CUPS").
|
||||
%
|
||||
% Copyright 1993-2000 Easy Software Products
|
||||
%
|
||||
% These coded instructions, statements, and computer programs contain
|
||||
% unpublished proprietary information of Easy Software Products, and
|
||||
% are protected by Federal copyright law. They may not be disclosed
|
||||
% to third parties or copied or duplicated in any form, in whole or
|
||||
% in part, without the prior written consent of Easy Software Products.
|
||||
%
|
||||
/CENTER \{ % Draw centered text
|
||||
% (name) CENTER -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/RIGHT \{ % Draw right-justified text
|
||||
% (name) RIGHT -
|
||||
dup stringwidth pop % Get the width of the string
|
||||
neg 0 rmoveto % Shift left the entire distance
|
||||
show % Show the string
|
||||
} bind def
|
||||
/NUMBER \{ % Draw a number
|
||||
% power n NUMBER -
|
||||
1 index 1 eq \{ % power == 1?
|
||||
round cvi exch pop % Convert "n" to integer
|
||||
} \{
|
||||
1 index mul round exch div % Truncate extra decimal places
|
||||
} ifelse
|
||||
100 string cvs show % Convert to a string and show it...
|
||||
} bind def
|
||||
/CUPSLOGO \{ % Draw the CUPS logo
|
||||
% height CUPSLOGO
|
||||
% Start with a big C...
|
||||
/Helvetica findfont 1 index scalefont setfont
|
||||
0 setgray
|
||||
0 0 moveto
|
||||
(C) show
|
||||
|
||||
% Then "UNIX Printing System" much smaller...
|
||||
/Helvetica-Bold findfont 1 index 9 div scalefont setfont
|
||||
0.25 mul
|
||||
dup dup 2.0 mul moveto
|
||||
(UNIX) show
|
||||
dup dup 1.6 mul moveto
|
||||
(Printing) show
|
||||
dup 1.2 mul moveto
|
||||
(System) show
|
||||
} bind def
|
||||
/ESPLOGO \{ % Draw the ESP logo
|
||||
% height ESPLOGO
|
||||
% Compute the size of the logo...
|
||||
0 0
|
||||
2 index 1.5 mul 3 index
|
||||
|
||||
% Do the "metallic" fill from 10% black to 40% black...
|
||||
1 -0.001 0 \{
|
||||
dup % loopval
|
||||
-0.15 mul % loopval * -0.15
|
||||
0.9 add % 0.9 - loopval * 0.15
|
||||
setgray % set gray shade
|
||||
|
||||
0 % x
|
||||
1 index neg % loopval
|
||||
1 add % 1 - loopval
|
||||
3 index % height
|
||||
mul % height * (1 - loopval)
|
||||
moveto % starting point
|
||||
|
||||
dup % loopval
|
||||
3 index % width
|
||||
mul % loopval * width
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
0 % x
|
||||
2 index % height
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
|
||||
dup % loopval
|
||||
0.15 mul % loopval * 0.15
|
||||
0.6 add % 0.6 + loopval * 0.15
|
||||
setgray
|
||||
|
||||
dup % loopval
|
||||
neg 1 add % 1 - loopval
|
||||
3 index % width
|
||||
mul % (1 - loopval) * width
|
||||
0 % y
|
||||
moveto % Starting point
|
||||
|
||||
2 index % width
|
||||
exch % loopval
|
||||
2 index % height
|
||||
mul % loopval * height
|
||||
lineto % Next point
|
||||
|
||||
1 index % width
|
||||
0 % y
|
||||
lineto % Next point
|
||||
|
||||
closepath
|
||||
fill
|
||||
} for
|
||||
|
||||
0 setgray rectstroke
|
||||
|
||||
/Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
|
||||
dup 40 div
|
||||
|
||||
dup 4 mul 1 index 25 mul moveto (E) show
|
||||
dup 10 mul 1 index 15 mul moveto (S) show
|
||||
dup 16 mul 1 index 5 mul moveto (P) show
|
||||
|
||||
/Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
|
||||
dup 14 mul 1 index 29 mul moveto (asy) show
|
||||
dup 20 mul 1 index 19 mul moveto (oftware) show
|
||||
dup 26 mul 1 index 9 mul moveto (roducts) show
|
||||
|
||||
pop
|
||||
} bind def
|
||||
%%EndResource
|
||||
%%EndProlog
|
||||
%%Page: 1 1
|
||||
gsave
|
||||
|
||||
% Determine the imageable area and device resolution...
|
||||
initclip newpath clippath pathbbox % Get bounding rectangle
|
||||
72 div /pageTop exch def % Get top margin in inches
|
||||
72 div /pageRight exch def % Get right margin in inches
|
||||
72 div /pageBottom exch def % Get bottom margin in inches
|
||||
72 div /pageLeft exch def % Get left margin in inches
|
||||
|
||||
/pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
|
||||
/pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
|
||||
|
||||
newpath % Clear bounding path
|
||||
|
||||
% Create fonts...
|
||||
/bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
|
||||
pageWidth 4 mul scalefont def % size = pageWidth * 4 (nominally 34)
|
||||
|
||||
/mediumFont /Helvetica findfont % mediumFont = Helvetica
|
||||
pageWidth 2 mul scalefont def % size = pageWidth * 2 (nominally 17)
|
||||
|
||||
% Offset page to account for lower-left margin...
|
||||
pageLeft 72 mul
|
||||
pageBottom 72 mul
|
||||
translate
|
||||
|
||||
% Draw the label at the top and bottom...
|
||||
0 setgray % Color
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageHeight 72 mul % Top of page
|
||||
pageWidth -9 mul add % - 1 line
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Unclassified) CENTER % Show text centered
|
||||
|
||||
pageWidth 36 mul % Center of page
|
||||
pageWidth 8 mul % Bottom of page
|
||||
moveto % Position text
|
||||
bigFont setfont % Font
|
||||
(Unclassified) CENTER % Show text centered
|
||||
|
||||
% Job information box...
|
||||
pageWidth 18 mul 9 add % x = pageWidth * 1/4 * 72 + 9
|
||||
pageHeight 27 mul 9 sub % y = pageHeight * 3/8 * 72 - 9
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
0.5 setgray rectfill % Draw a shadow
|
||||
|
||||
pageWidth 18 mul % x = pageWidth * 1/4 * 72
|
||||
pageHeight 27 mul % y = pageHeight * 3/8 * 72
|
||||
pageWidth 36 mul % w = pageWidth * 1/2 * 72
|
||||
pageHeight 18 mul % h = pageHeight * 1/4 * 72
|
||||
|
||||
4 copy 1 setgray rectfill % Clear the box to white
|
||||
0 setgray rectstroke % Draw a black box around it...
|
||||
|
||||
% Job information text...
|
||||
mediumFont setfont % Medium sized font
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 4 mul add % y += 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Job ID: ) RIGHT
|
||||
moveto
|
||||
({printer-name}-{job-id}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth 1 mul add % y += 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Title: ) RIGHT
|
||||
moveto
|
||||
({job-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -2 mul add % y -= 1 line
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Requesting User: ) RIGHT
|
||||
moveto
|
||||
({job-originating-user-name}) show
|
||||
|
||||
pageWidth 36 mul % x = pageWidth * 1/2 * 72
|
||||
pageHeight 36 mul % y = pageHeight * 1/2 * 72
|
||||
pageWidth -5 mul add % y -= 2 lines
|
||||
2 copy % Copy X & Y
|
||||
moveto
|
||||
(Billing Info: ) RIGHT
|
||||
moveto
|
||||
({job-billing}) show
|
||||
|
||||
% Then the CUPS logo....
|
||||
gsave
|
||||
pageWidth 4 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 9 mul CUPSLOGO
|
||||
grestore
|
||||
|
||||
% And the ESP logo....
|
||||
gsave
|
||||
pageWidth 59 mul
|
||||
pageWidth 6 mul
|
||||
translate
|
||||
pageWidth 6 mul ESPLOGO
|
||||
grestore
|
||||
% Show the page...
|
||||
grestore
|
||||
showpage
|
||||
%
|
||||
% End of "$Id: unclassified 1075 2000-05-11 20:02:21Z mike $".
|
||||
%
|
||||
%%EOF
|
||||
+1
-1
@@ -9,7 +9,7 @@ charset utf8
|
||||
#
|
||||
# First and last are the first and last glyphs in the font mapping
|
||||
# that correspond to that font; a maximum of 256 characters can be
|
||||
# mapped within each group, with a maximum of 256 mappings (this is a
|
||||
# mapped with each group, which a maximum of 256 mappings (this is a
|
||||
# PostScript limitation.) The glyph values are hexadecimal.
|
||||
#
|
||||
# Direction is the string "ltor" or "rtol", indicating left-to-right or
|
||||
|
||||
+8
-81
@@ -41,13 +41,12 @@ include ../Makedefs
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --numbered \
|
||||
--jpeg -f $@ $<
|
||||
|
||||
|
||||
#
|
||||
# Document files...
|
||||
#
|
||||
|
||||
DOCUMENTS = cmp.shtml idd.shtml ipp.shtml sam.shtml sdd.shtml \
|
||||
spm.shtml ssr.shtml stp.shtml sum.shtml svd.shtml
|
||||
spm.shtml ssr.shtml stp.shtml sum.shtml
|
||||
DOCIMAGES = images/cups-block-diagram.gif images/cups-large.gif \
|
||||
images/cups-medium.gif images/cups-small.gif
|
||||
WEBPAGES = cups.css cupsdoc.css index.html documentation.html
|
||||
@@ -58,7 +57,6 @@ WEBIMAGES = images/accept-jobs.gif \
|
||||
images/cancel-jobs.gif \
|
||||
images/cancel.gif \
|
||||
images/classes.gif \
|
||||
images/config-printer.gif \
|
||||
images/continue.gif \
|
||||
images/delete-class.gif \
|
||||
images/delete-printer.gif \
|
||||
@@ -86,29 +84,13 @@ WEBIMAGES = images/accept-jobs.gif \
|
||||
images/stop-class.gif \
|
||||
images/stop-printer.gif
|
||||
|
||||
|
||||
#
|
||||
#
|
||||
# Make all documents...
|
||||
#
|
||||
|
||||
all: $(DOCUMENTS:.shtml=.pdf) $(DOCUMENTS:.shtml=.html) overview.pdf
|
||||
|
||||
|
||||
#
|
||||
# Make PS files...
|
||||
#
|
||||
|
||||
ps: $(DOCUMENTS:.shtml=.ps) overview.ps
|
||||
|
||||
|
||||
#
|
||||
# Make manuals for printing...
|
||||
#
|
||||
|
||||
print: sam-7x8.pdf spm-7x8.pdf sum-7x8.pdf \
|
||||
sam-7x8.ps spm-7x8.ps sum-7x8.ps
|
||||
|
||||
|
||||
#
|
||||
# Remove all generated files...
|
||||
#
|
||||
@@ -118,23 +100,19 @@ clean:
|
||||
$(RM) $(DOCUMENTS:.shtml=.html)
|
||||
$(RM) overview.pdf
|
||||
|
||||
|
||||
#
|
||||
# Install all documentation files...
|
||||
#
|
||||
|
||||
install:
|
||||
-$(MKDIR) $(DOCDIR)
|
||||
$(CHMOD) ugo+rx $(DOCDIR)
|
||||
$(INSTALL_MAN) $(WEBPAGES) $(DOCDIR)
|
||||
$(INSTALL_MAN) overview.html overview.pdf $(DOCDIR)
|
||||
$(INSTALL_MAN) $(DOCUMENTS:.shtml=.html) $(DOCDIR)
|
||||
$(INSTALL_MAN) $(DOCUMENTS:.shtml=.pdf) $(DOCDIR)
|
||||
$(CP) $(WEBPAGES) $(DOCDIR)
|
||||
$(CP) overview.html overview.pdf $(DOCDIR)
|
||||
$(CP) $(DOCUMENTS:.shtml=.html) $(DOCDIR)
|
||||
$(CP) $(DOCUMENTS:.shtml=.pdf) $(DOCDIR)
|
||||
-$(MKDIR) $(DOCDIR)/images
|
||||
$(CHMOD) ugo+rx $(DOCDIR)/images
|
||||
$(INSTALL_MAN) $(WEBIMAGES) $(DOCDIR)/images
|
||||
$(INSTALL_MAN) $(DOCIMAGES) $(DOCDIR)/images
|
||||
|
||||
$(CP) $(WEBIMAGES) $(DOCDIR)/images
|
||||
$(CP) $(DOCIMAGES) $(DOCDIR)/images
|
||||
|
||||
#
|
||||
# The overview, admin manual, programmers manual, and users manual get
|
||||
@@ -144,9 +122,6 @@ install:
|
||||
overview.pdf: overview.html
|
||||
echo Formatting $@...
|
||||
htmldoc --duplex --compression=9 --jpeg --webpage -f overview.pdf overview.html
|
||||
overview.ps: overview.html
|
||||
echo Formatting $@...
|
||||
htmldoc --duplex --jpeg --webpage -f overview.ps overview.html
|
||||
|
||||
sam.html: sam.shtml
|
||||
echo Formatting $@...
|
||||
@@ -155,9 +130,6 @@ sam.pdf: sam.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
|
||||
--jpeg -f $@ $<
|
||||
sam.ps: sam.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --jpeg -f $@ $<
|
||||
|
||||
spm.html: spm.shtml
|
||||
echo Formatting $@...
|
||||
@@ -166,9 +138,6 @@ spm.pdf: spm.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
|
||||
--jpeg -f $@ $<
|
||||
spm.ps: spm.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --jpeg -f $@ $<
|
||||
|
||||
sum.html: sum.shtml
|
||||
echo Formatting $@...
|
||||
@@ -177,48 +146,6 @@ sum.pdf: sum.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
|
||||
--jpeg -f $@ $<
|
||||
sum.ps: sum.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --jpeg -f $@ $<
|
||||
|
||||
sam-7x8.pdf: sam.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
|
||||
--pagelayout tworight --pagemode document \
|
||||
--jpeg --size 7x8.5in --left 0.5in --right 0.25in \
|
||||
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sam.shtml
|
||||
sam-7x8.ps: sam.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --jpeg \
|
||||
--size 7x8.5in --left 0.5in --right 0.25in \
|
||||
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sam.shtml
|
||||
spm-7x8.pdf: spm.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
|
||||
--pagelayout tworight --pagemode document \
|
||||
--jpeg --size 7x8.5in --left 0.5in --right 0.25in \
|
||||
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ spm.shtml
|
||||
spm-7x8.ps: spm.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --jpeg \
|
||||
--size 7x8.5in --left 0.5in --right 0.25in \
|
||||
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ spm.shtml
|
||||
sum-7x8.pdf: sum.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --compression=9 \
|
||||
--pagelayout tworight --pagemode document \
|
||||
--jpeg --size 7x8.5in --left 0.5in --right 0.25in \
|
||||
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sum.shtml
|
||||
sum-7x8.ps: sum.shtml
|
||||
echo Formatting $@...
|
||||
htmldoc --titleimage images/cups-large.gif --duplex --jpeg \
|
||||
--size 7x8.5in --left 0.5in --right 0.25in \
|
||||
--top 0.25in --bottom 0.25in --fontsize 10 --headfootsize 10 -f $@ sum.shtml
|
||||
|
||||
$(DOCUMENTS): glossary.shtml printing-overview.shtml \
|
||||
references.shtml system-overview.shtml \
|
||||
../LICENSE.html
|
||||
|
||||
|
||||
#
|
||||
# End of Makefile.
|
||||
|
||||
+244
-252
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE> CUPS Configuration Management Plan</TITLE>
|
||||
<TITLE>CUPS Configuration Management Plan</TITLE>
|
||||
<META NAME="AUTHOR" CONTENT="Easy Software Products">
|
||||
<META NAME="COPYRIGHT" CONTENT="Copyright 1997-2000, All Rights Reserved">
|
||||
<META NAME="DOCNUMBER" CONTENT="CUPS-CMP-1.1">
|
||||
@@ -9,19 +9,19 @@
|
||||
<STYLE>
|
||||
BODY { font-family: serif; font-size: 11.0pt }
|
||||
H1 { font-family: sans-serif; font-size: 20.0pt }
|
||||
H2 { font-family: sans-serif; font-size: 17.0pt }
|
||||
H3 { font-family: sans-serif; font-size: 14.0pt }
|
||||
H4 { font-family: sans-serif; font-size: 11.0pt }
|
||||
H5 { font-family: sans-serif; font-size: 9.0pt }
|
||||
H6 { font-family: sans-serif; font-size: 8.0pt }
|
||||
H2 { font-family: sans-serif; font-size: 20.0pt }
|
||||
H3 { font-family: sans-serif; font-size: 20.0pt }
|
||||
H4 { font-family: sans-serif; font-size: 20.0pt }
|
||||
H5 { font-family: sans-serif; font-size: 20.0pt }
|
||||
H6 { font-family: sans-serif; font-size: 20.0pt }
|
||||
SUB { font-size: 8.0pt }
|
||||
SUP { font-size: 8.0pt }
|
||||
PRE { font-size: 9.0pt }
|
||||
</STYLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
|
||||
<H1> CUPS Configuration Management Plan</H1></A><BR>
|
||||
<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0"><BR>
|
||||
<H1>CUPS Configuration Management Plan</H1></A><BR>
|
||||
CUPS-CMP-1.1<BR>
|
||||
Easy Software Products<BR>
|
||||
Copyright 1997-2000, All Rights Reserved<BR>
|
||||
@@ -29,225 +29,217 @@ Copyright 1997-2000, All Rights Reserved<BR>
|
||||
<HR>
|
||||
<H1 ALIGN="CENTER"><A NAME="CONTENTS">Table of Contents</A></H1>
|
||||
<BR>
|
||||
<BR><B><A HREF="#1">1 Scope</A></B>
|
||||
<BR><B><A HREF="#1">1 Scope</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#1_1">1.1 Identification</A></LI>
|
||||
<LI><A HREF="#1_2">1.2 System Overview</A></LI>
|
||||
<LI><A HREF="#1_3">1.3 Document Overview</A></LI>
|
||||
<LI><A HREF="#1_1">1.1 Identification</A></LI>
|
||||
<LI><A HREF="#1_2">1.2 System Overview</A></LI>
|
||||
<LI><A HREF="#1_3">1.3 Document Overview</A></LI>
|
||||
</UL>
|
||||
<B><A HREF="#2">2 References</A></B>
|
||||
<B><A HREF="#2">2 References</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
|
||||
<LI><A HREF="#2_2">2.2 Other Documents</A></LI>
|
||||
<LI><A HREF="#2_1">2.1 CUPS Documentation</A></LI>
|
||||
<LI><A HREF="#2_2">2.2 Other Documents</A></LI>
|
||||
</UL>
|
||||
<B><A HREF="#3">3 File Management</A></B>
|
||||
<B><A HREF="#3">3 File Management</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#3_1">3.1 Directory Structure</A></LI>
|
||||
<LI><A HREF="#3_2">3.2 Source Files</A></LI>
|
||||
<LI><A HREF="#3_3">3.3 Configuration Management</A></LI>
|
||||
<LI><A HREF="#3_1">3.1 Directory Structure</A></LI>
|
||||
<LI><A HREF="#3_2">3.2 Source Files</A></LI>
|
||||
<LI><A HREF="#3_3">3.3 Configuration Management</A></LI>
|
||||
</UL>
|
||||
<B><A HREF="#4">4 Trouble Report Processing</A></B>
|
||||
<B><A HREF="#4">4 Trouble Report Processing</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#4_1">4.1 Classification</A></LI>
|
||||
<LI><A HREF="#4_2">4.2 Identification</A></LI>
|
||||
<LI><A HREF="#4_3">4.3 Correction</A></LI>
|
||||
<LI><A HREF="#4_4">4.4 Notification</A></LI>
|
||||
<LI><A HREF="#4_1">4.1 Classification</A></LI>
|
||||
<LI><A HREF="#4_2">4.2 Identification</A></LI>
|
||||
<LI><A HREF="#4_3">4.3 Correction</A></LI>
|
||||
<LI><A HREF="#4_4">4.4 Notification</A></LI>
|
||||
</UL>
|
||||
<B><A HREF="#5">5 Software Releases</A></B>
|
||||
<B><A HREF="#5">5 Software Releases</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#5_1">5.1 Version Numbering</A></LI>
|
||||
<LI><A HREF="#5_2">5.2 Generation</A></LI>
|
||||
<LI><A HREF="#5_3">5.3 Testing</A></LI>
|
||||
<LI><A HREF="#5_4">5.4 Release</A></LI>
|
||||
<LI><A HREF="#5_1">5.1 Version Numbering</A></LI>
|
||||
<LI><A HREF="#5_2">5.2 Generation</A></LI>
|
||||
<LI><A HREF="#5_3">5.3 Testing</A></LI>
|
||||
<LI><A HREF="#5_4">5.4 Release</A></LI>
|
||||
</UL>
|
||||
<B><A HREF="#6">A Glossary</A></B>
|
||||
<B><A HREF="#6">A Glossary</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#6_1">A.1 Terms</A></LI>
|
||||
<LI><A HREF="#6_2">A.2 Acronyms</A></LI>
|
||||
<LI><A HREF="#6_1">A.1 Terms</A></LI>
|
||||
<LI><A HREF="#6_2">A.2 Acronyms</A></LI>
|
||||
</UL>
|
||||
<B><A HREF="#7">B Coding Requirements</A></B>
|
||||
<B><A HREF="#7">B Coding Requirements</A></B>
|
||||
<UL>
|
||||
<LI><A HREF="#7_1">B.1 Source Files</A></LI>
|
||||
<LI><A HREF="#7_1">B.1 Source Files</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_1_1">B.1.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_1_2">B.1.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_1_1">B.1.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_1_2">B.1.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_2">B.2 Functions</A></LI>
|
||||
<LI><A HREF="#7_2">B.2 Functions</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_2_1">B.2.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_2_2">B.2.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_2_1">B.2.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_2_2">B.2.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_3">B.3 Methods</A></LI>
|
||||
<LI><A HREF="#7_3">B.3 Methods</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_3_1">B.3.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_3_2">B.3.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_3_1">B.3.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_3_2">B.3.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_4">B.4 Variables</A></LI>
|
||||
<LI><A HREF="#7_4">B.4 Variables</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_4_1">B.4.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_4_2">B.4.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_4_1">B.4.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_4_2">B.4.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_5">B.5 Types</A></LI>
|
||||
<LI><A HREF="#7_5">B.5 Types</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_5_1">B.5.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_5_2">B.5.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_5_1">B.5.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_5_2">B.5.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_6">B.6 Structures</A></LI>
|
||||
<LI><A HREF="#7_6">B.6 Structures</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_6_1">B.6.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_6_2">B.6.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_6_1">B.6.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_6_2">B.6.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_7">B.7 Classes</A></LI>
|
||||
<LI><A HREF="#7_7">B.7 Classes</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_7_1">B.7.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_7_2">B.7.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_7_1">B.7.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_7_2">B.7.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_8">B.8 Constants</A></LI>
|
||||
<LI><A HREF="#7_8">B.8 Constants</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_8_1">B.8.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_8_2">B.8.2 Documentation</A></LI>
|
||||
<LI><A HREF="#7_8_1">B.8.1 Naming</A></LI>
|
||||
<LI><A HREF="#7_8_2">B.8.2 Documentation</A></LI>
|
||||
</UL>
|
||||
<LI><A HREF="#7_9">B.9 Code</A></LI>
|
||||
<LI><A HREF="#7_9">B.9 Code</A></LI>
|
||||
<UL>
|
||||
<LI><A HREF="#7_9_1">B.9.1 Documentation</A></LI>
|
||||
<LI><A HREF="#7_9_2">B.9.2 Style</A></LI>
|
||||
<LI><A HREF="#7_9_1">B.9.1 Documentation</A></LI>
|
||||
<LI><A HREF="#7_9_2">B.9.2 Style</A></LI>
|
||||
</UL>
|
||||
</UL>
|
||||
<B><A HREF="#8">C Software Trouble Report Form</A></B><HR>
|
||||
<H1><A NAME="1">1 Scope</A></H1>
|
||||
<H2><A NAME="1_1">1.1 Identification</A></H2>
|
||||
<B><A HREF="#8">C Software Trouble Report Form</A></B><HR>
|
||||
<H1><A NAME="1">1 Scope</A></H1>
|
||||
<H2><A NAME="1_1">1.1 Identification</A></H2>
|
||||
This configuration management plan document provides the guidelines
|
||||
for development and maintenance of the Common UNIX Printing System
|
||||
for development and maintainance of the Common UNIX Printing System
|
||||
("CUPS") Version 1.1 software.
|
||||
<H2><A NAME="1_2">1.2 System Overview</A></H2>
|
||||
<P> CUPS provides a portable printing layer for UNIX®-based operating
|
||||
systems. It has been developed by <A HREF="http://www.easysw.com">Easy
|
||||
Software Products</A> to promote a standard printing solution for all
|
||||
UNIX vendors and users. CUPS provides the System V and Berkeley
|
||||
<H2><A NAME="1_2">1.2 System Overview</A></H2>
|
||||
<P>The Common UNIX Printing System provides a portable printing layer
|
||||
for UNIX® operating systems. It has been developed by <A HREF="http://www.easysw.com">
|
||||
Easy Software Products</A> to promote a standard printing solution for
|
||||
all UNIX vendors and users. CUPS provides the System V and Berkeley
|
||||
command-line interfaces. </P>
|
||||
<P> CUPS uses the Internet Printing Protocol ("IPP") as the basis for
|
||||
managing print jobs and queues. The Line Printer Daemon ("LPD") Server
|
||||
Message Block ("SMB"), and AppSocket (a.k.a. JetDirect) protocols are
|
||||
also supported with reduced functionality. CUPS adds network printer
|
||||
browsing and PostScript Printer Description ("PPD") based printing
|
||||
options to support real-world printing under UNIX. </P>
|
||||
<P> CUPS also includes a customized version of GNU Ghostscript
|
||||
(currently based off GNU Ghostscript 5.50) and an image file RIP that
|
||||
are used to support non-PostScript printers. Sample drivers for HP and
|
||||
EPSON printers are included that use these filters. </P>
|
||||
<H2><A NAME="1_3">1.3 Document Overview</A></H2>
|
||||
<P>CUPS uses the Internet Printing Protocol (IETF-IPP) as the basis for
|
||||
managing print jobs and queues. The Line Printer Daemon (LPD, RFC1179),
|
||||
Server Message Block (SMB), and AppSocket protocols are also supported
|
||||
with reduced functionality. </P>
|
||||
<P>CUPS adds network printer browsing and PostScript Printer
|
||||
Description ("PPD")-based printing options to support real world
|
||||
applications under UNIX. </P>
|
||||
<P>CUPS also includes a customized version of GNU GhostScript
|
||||
(currently based off GNU GhostScript 5.50) and an image file RIP that
|
||||
is used to support non-PostScript printers. </P>
|
||||
<H2><A NAME="1_3">1.3 Document Overview</A></H2>
|
||||
This configuration management document is organized into the following
|
||||
sections:
|
||||
<UL>
|
||||
<LI> 1 - Scope</LI>
|
||||
<LI> 2 - References</LI>
|
||||
<LI> 3 - File Management</LI>
|
||||
<LI> 4 - Trouble Report Processing</LI>
|
||||
<LI> 5 - Software Releases</LI>
|
||||
<LI> A - Glossary</LI>
|
||||
<LI> B - Coding Requirements</LI>
|
||||
<LI>1 - Scope</LI>
|
||||
<LI>2 - References</LI>
|
||||
<LI>3 - File Management</LI>
|
||||
<LI>4 - Trouble Report Processing</LI>
|
||||
<LI>5 - Software Releases</LI>
|
||||
<LI>A - Glossary</LI>
|
||||
<LI>B - Coding Requirements</LI>
|
||||
</UL>
|
||||
<H1><A NAME="2">2 References</A></H1>
|
||||
<H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
|
||||
<P> The following CUPS documentation is referenced by this document: </P>
|
||||
<H1><A NAME="2">2 References</A></H1>
|
||||
<H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
|
||||
<P>The following CUPS documentation is referenced by this document: </P>
|
||||
<UL>
|
||||
<LI> CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
|
||||
<LI> CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
|
||||
<LI> CUPS-IPP-1.1: CUPS Implmentation of IPP </LI>
|
||||
<LI> CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
|
||||
<LI> CUPS-SDD-1.1: CUPS Software Design Description </LI>
|
||||
<LI> CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
|
||||
<LI> CUPS-SSR-1.1: CUPS Software Security Report </LI>
|
||||
<LI> CUPS-STP-1.1: CUPS Software Test Plan </LI>
|
||||
<LI> CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
|
||||
<LI> CUPS-SVD-1.1.x: CUPS Software Version Description </LI>
|
||||
<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
|
||||
<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
|
||||
<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
|
||||
<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
|
||||
<LI>CUPS-SPM-1.1: CUPS Software Programming Manual </LI>
|
||||
<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
|
||||
<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
|
||||
<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
|
||||
<LI>CUPS-SVD-1.1.x: CUPS Software Version Description </LI>
|
||||
</UL>
|
||||
<H2><A NAME="2_2">2.2 Other Documents</A></H2>
|
||||
<P> The following non-CUPS documents are referenced by this document: </P>
|
||||
<H2><A NAME="2_2">2.2 Other Documents</A></H2>
|
||||
<P>The following non-CUPS documents are referenced by this document: </P>
|
||||
<UL>
|
||||
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
|
||||
Adobe PostScript Printer Description File Format Specification,
|
||||
Version 4.3.</A></LI>
|
||||
<LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
|
||||
Adobe PostScript Language Reference, Third Edition.</A></LI>
|
||||
<LI> IPP: Job and Printer Set Operations </LI>
|
||||
<LI> IPP/1.1: Encoding and Transport </LI>
|
||||
<LI> IPP/1.1: Implementers Guide </LI>
|
||||
<LI> IPP/1.1: Model and Semantics </LI>
|
||||
<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt"> RFC 1179, Line
|
||||
Printer Daemon Protocol</A></LI>
|
||||
<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt"> RFC 2567, Design
|
||||
Goals for an Internet Printing Protocol</A></LI>
|
||||
<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt"> RFC 2568, Rationale
|
||||
for the Structure of the Model and Protocol</A> for the Internet
|
||||
Printing Protocol</LI>
|
||||
<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt"> RFC 2569, Mapping
|
||||
between LPD and IPP Protocols</A></LI>
|
||||
<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt"> RFC 2616, Hypertext
|
||||
Transfer Protocol -- HTTP/1.1</A></LI>
|
||||
<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt"> RFC 2617, HTTP
|
||||
Authentication: Basic and Digest Access</A> Authentication </LI>
|
||||
<LI>Adobe PostScript Printer Description File Format Specification,
|
||||
Version 4.3. </LI>
|
||||
<LI>Adobe PostScript Language Reference, Third Edition. </LI>
|
||||
<LI>IPP: Job and Printer Set Operations </LI>
|
||||
<LI>IPP/1.1: Encoding and Transport </LI>
|
||||
<LI>IPP/1.1: Implementers Guide </LI>
|
||||
<LI>IPP/1.1: Model and Semantics </LI>
|
||||
<LI>RFC 1179, Line Printer Daemon Protocol </LI>
|
||||
<LI>RFC 2567, Design Goals for an Internet Printing Protocol </LI>
|
||||
<LI>RFC 2568, Rationale for the Structure of the Model and Protocol
|
||||
for the Internet Printing Protocol </LI>
|
||||
<LI>RFC 2569, Mapping between LPD and IPP Protocols </LI>
|
||||
<LI>RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1 </LI>
|
||||
<LI>RFC 2617, HTTP Authentication: Basic and Digest Access
|
||||
Authentication </LI>
|
||||
</UL>
|
||||
<H1><A NAME="3">3 File Management</A></H1>
|
||||
<H2><A NAME="3_1">3.1 Directory Structure</A></H2>
|
||||
<H1><A NAME="3">3 File Management</A></H1>
|
||||
<H2><A NAME="3_1">3.1 Directory Structure</A></H2>
|
||||
Each source file shall be placed a sub-directory corresponding to the
|
||||
software sub-system it belongs to ("scheduler", "cups", etc.) To remain
|
||||
compatible with older UNIX filesystems, directory names shall not
|
||||
exceed 16 characters in length.
|
||||
<H2><A NAME="3_2">3.2 Source Files</A></H2>
|
||||
software sub-system it belongs to ("scheduler", "libcups", etc.) To
|
||||
remain compatible with older UNIX filesystems, directory names shall
|
||||
not exceed 16 characters in length.
|
||||
<H2><A NAME="3_2">3.2 Source Files</A></H2>
|
||||
Source files shall be documented and formatted as described in
|
||||
Appendix B, Coding Requirements.
|
||||
<H2><A NAME="3_3">3.3 Configuration Management</A></H2>
|
||||
<H2><A NAME="3_3">3.3 Configuration Management</A></H2>
|
||||
Source files shall be placed under the control of the Concurrent
|
||||
Versions System ("CVS") software. Source files shall be "checked in"
|
||||
with each change so that modifications can be tracked.
|
||||
<P> Documentation on the CVS software is included with the whitepaper,
|
||||
<P>Documentation on the CVS software is included with the whitepaper,
|
||||
"CVS II: Parallelizing Software Development". </P>
|
||||
<H1><A NAME="4">4 Trouble Report Processing</A></H1>
|
||||
<H1><A NAME="4">4 Trouble Report Processing</A></H1>
|
||||
A Software Trouble Report ("STR") shall be submitted every time a user
|
||||
or vendor experiences a problem with the CUPS software. Trouble reports
|
||||
are maintained in a database with one of the following states:
|
||||
<OL>
|
||||
<LI> STR is closed with complete resolution</LI>
|
||||
<LI> STR is closed without resolution</LI>
|
||||
<LI> STR is active</LI>
|
||||
<LI> STR is pending (new STR or additional information available)</LI>
|
||||
<LI>STR is closed with complete resolution</LI>
|
||||
<LI>STR is closed without resolution</LI>
|
||||
<LI>STR is active</LI>
|
||||
<LI>STR is pending (new STR or additional information available)</LI>
|
||||
</OL>
|
||||
Trouble reports shall be processed using the following steps.
|
||||
<H2><A NAME="4_1">4.1 Classification</A></H2>
|
||||
<H2><A NAME="4_1">4.1 Classification</A></H2>
|
||||
When a trouble report is received it must be classified at one of the
|
||||
following levels:
|
||||
<OL>
|
||||
<LI> Request for enhancement</LI>
|
||||
<LI> Documentation error</LI>
|
||||
<LI> Unable to print a file</LI>
|
||||
<LI> Unable to print to a printer</LI>
|
||||
<LI> Unable to print at all</LI>
|
||||
<LI>Request for enhancement</LI>
|
||||
<LI>Documentation error</LI>
|
||||
<LI>Unable to print a file</LI>
|
||||
<LI>Unable to print to a printer</LI>
|
||||
<LI>Unable to print at all</LI>
|
||||
</OL>
|
||||
The scope of the problem should also be determined as:
|
||||
<OL>
|
||||
<LI> Specific to a machine</LI>
|
||||
<LI> Specific to an operating system</LI>
|
||||
<LI> Applies to all machines and operating systems</LI>
|
||||
<LI>Specific to a machine</LI>
|
||||
<LI>Specific to an operating system</LI>
|
||||
<LI>Applies to all machines and operating systems</LI>
|
||||
</OL>
|
||||
<H2><A NAME="4_2">4.2 Identification</A></H2>
|
||||
<H2><A NAME="4_2">4.2 Identification</A></H2>
|
||||
Once the level and scope of the trouble report is determined the
|
||||
software sub-system(s) involved with the problem are determined. This
|
||||
may involve additional communication with the user or vendor to isolate
|
||||
the problem to a specific cause.
|
||||
<P> When the sub-system(s) involved have been identified, an engineer
|
||||
<P>When the sub-system(s) involved have been identified, an engineer
|
||||
will then determine the change(s) needed and estimate the time required
|
||||
for the change(s). </P>
|
||||
<H2><A NAME="4_3">4.3 Correction</A></H2>
|
||||
<H2><A NAME="4_3">4.3 Correction</A></H2>
|
||||
Corrections are scheduled based upon the severity and complexity of
|
||||
the problem. Once all changes have been made, documented, and tested
|
||||
successfully a new software release snapshot is generated. Additional
|
||||
tests are added as necessary for proper testing of the changes.
|
||||
<H2><A NAME="4_4">4.4 Notification</A></H2>
|
||||
<H2><A NAME="4_4">4.4 Notification</A></H2>
|
||||
The user or vendor is notified when the fix is available or if the
|
||||
problem was caused by user error.
|
||||
<H1><A NAME="5">5 Software Releases</A></H1>
|
||||
<H2><A NAME="5_1">5.1 Version Numbering</A></H2>
|
||||
<H1><A NAME="5">5 Software Releases</A></H1>
|
||||
<H2><A NAME="5_1">5.1 Version Numbering</A></H2>
|
||||
CUPS uses a three-part version number separated by periods to
|
||||
represent the major, minor, and patch release numbers:
|
||||
<UL>
|
||||
@@ -292,81 +284,81 @@ numbers reset to 0:
|
||||
2.0.0 Production release of 2.0.0
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="5_2">5.2 Generation</A></H2>
|
||||
<H2><A NAME="5_2">5.2 Generation</A></H2>
|
||||
Software releases shall be generated for each successfully completed
|
||||
software trouble report. All object and executable files shall be
|
||||
deleted prior to performing a full build to ensure that source files
|
||||
are recompiled.
|
||||
<H2><A NAME="5_3">5.3 Testing</A></H2>
|
||||
<H2><A NAME="5_3">5.3 Testing</A></H2>
|
||||
Software testing shall be conducted according to the CUPS Software
|
||||
Test Plan, CUPS-STP-1.1. Failed tests cause STRs to be generated to
|
||||
correct the problems found.
|
||||
<H2><A NAME="5_4">5.4 Release</A></H2>
|
||||
<H2><A NAME="5_4">5.4 Release</A></H2>
|
||||
When testing has been completed successfully a new distribution image
|
||||
is created from the current CVS code "snapshot". No production release
|
||||
shall contain software that has not passed the appropriate software
|
||||
tests.
|
||||
<H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1>
|
||||
<H2><A NAME="6_1">A.1 Terms</A></H2>
|
||||
<H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1>
|
||||
<H2><A NAME="6_1">A.1 Terms</A></H2>
|
||||
<DL>
|
||||
<DT> C </DT>
|
||||
<DD> A computer language. </DD>
|
||||
<DT> parallel </DT>
|
||||
<DD> Sending or receiving data more than 1 bit at a time. </DD>
|
||||
<DT> pipe </DT>
|
||||
<DD> A one-way communications channel between two programs. </DD>
|
||||
<DT> serial </DT>
|
||||
<DD> Sending or receiving data 1 bit at a time. </DD>
|
||||
<DT> socket </DT>
|
||||
<DD> A two-way network communications channel. </DD>
|
||||
<DT>C </DT>
|
||||
<DD>A computer language. </DD>
|
||||
<DT>parallel </DT>
|
||||
<DD>Sending or receiving data more than 1 bit at a time. </DD>
|
||||
<DT>pipe </DT>
|
||||
<DD>A one-way communications channel between two programs. </DD>
|
||||
<DT>serial </DT>
|
||||
<DD>Sending or receiving data 1 bit at a time. </DD>
|
||||
<DT>socket </DT>
|
||||
<DD>A two-way network communications channel. </DD>
|
||||
</DL>
|
||||
<H2><A NAME="6_2">A.2 Acronyms</A></H2>
|
||||
<H2><A NAME="6_2">A.2 Acronyms</A></H2>
|
||||
<DL>
|
||||
<DT> ASCII </DT>
|
||||
<DD> American Standard Code for Information Interchange </DD>
|
||||
<DT> CUPS </DT>
|
||||
<DD> Common UNIX Printing System </DD>
|
||||
<DT> ESC/P </DT>
|
||||
<DD> EPSON Standard Code for Printers </DD>
|
||||
<DT> FTP </DT>
|
||||
<DD> File Transfer Protocol </DD>
|
||||
<DT> HP-GL </DT>
|
||||
<DD> Hewlett-Packard Graphics Language </DD>
|
||||
<DT> HP-PCL </DT>
|
||||
<DD> Hewlett-Packard Printer Control Language </DD>
|
||||
<DT> HP-PJL </DT>
|
||||
<DD> Hewlett-Packard Printer Job Language </DD>
|
||||
<DT> IETF </DT>
|
||||
<DD> Internet Engineering Task Force </DD>
|
||||
<DT> IPP </DT>
|
||||
<DD> Internet Printing Protocol </DD>
|
||||
<DT> ISO </DT>
|
||||
<DD> International Standards Organization </DD>
|
||||
<DT> LPD </DT>
|
||||
<DD> Line Printer Daemon </DD>
|
||||
<DT> MIME </DT>
|
||||
<DD> Multimedia Internet Mail Exchange </DD>
|
||||
<DT> PCL </DT>
|
||||
<DD> Page Control Language </DD>
|
||||
<DT> PPD </DT>
|
||||
<DD> PostScript Printer Description </DD>
|
||||
<DT> SMB </DT>
|
||||
<DD> Server Message Block </DD>
|
||||
<DT> TFTP </DT>
|
||||
<DD> Trivial File Transfer Protocol </DD>
|
||||
<DT>ASCII </DT>
|
||||
<DD>American Standard Code for Information Interchange </DD>
|
||||
<DT>CUPS </DT>
|
||||
<DD>Common UNIX Printing System </DD>
|
||||
<DT>ESC/P </DT>
|
||||
<DD>EPSON Standard Code for Printers </DD>
|
||||
<DT>FTP </DT>
|
||||
<DD>File Transfer Protocol </DD>
|
||||
<DT>HP-GL </DT>
|
||||
<DD>Hewlett-Packard Graphics Language </DD>
|
||||
<DT>HP-PCL </DT>
|
||||
<DD>Hewlett-Packard Printer Control Language </DD>
|
||||
<DT>HP-PJL </DT>
|
||||
<DD>Hewlett-Packard Printer Job Language </DD>
|
||||
<DT>IETF </DT>
|
||||
<DD>Internet Engineering Task Force </DD>
|
||||
<DT>IPP </DT>
|
||||
<DD>Internet Printing Protocol </DD>
|
||||
<DT>ISO </DT>
|
||||
<DD>International Standards Organization </DD>
|
||||
<DT>LPD </DT>
|
||||
<DD>Line Printer Daemon </DD>
|
||||
<DT>MIME </DT>
|
||||
<DD>Multimedia Internet Mail Exchange </DD>
|
||||
<DT>PCL </DT>
|
||||
<DD>Page Control Language </DD>
|
||||
<DT>PPD </DT>
|
||||
<DD>PostScript Printer Description </DD>
|
||||
<DT>SMB </DT>
|
||||
<DD>Server Message Block </DD>
|
||||
<DT>TFTP </DT>
|
||||
<DD>Trivial File Transfer Protocol </DD>
|
||||
</DL>
|
||||
<H1><A NAME="7">B Coding Requirements</A></H1>
|
||||
<H1><A NAME="7">B Coding Requirements</A></H1>
|
||||
These coding requirements provide detailed information on source file
|
||||
formatting and documentation content. These guidelines shall be applied
|
||||
to all C and C++ source files provided with CUPS.
|
||||
<H2><A NAME="7_1">B.1 Source Files</A></H2>
|
||||
<H3><A NAME="7_1_1">B.1.1 Naming</A></H3>
|
||||
<H2><A NAME="7_1">B.1 Source Files</A></H2>
|
||||
<H3><A NAME="7_1_1">B.1.1 Naming</A></H3>
|
||||
All source files names shall be 16 characters or less in length to
|
||||
ensure compatibility with older UNIX filesystems. Source files
|
||||
containing functions shall have an extension of ".c" for ANSI C and
|
||||
".cxx" for C++ source files. All other "include" files shall have an
|
||||
extension of ".h".
|
||||
<H3><A NAME="7_1_2">B.1.2 Documentation</A></H3>
|
||||
<H3><A NAME="7_1_2">B.1.2 Documentation</A></H3>
|
||||
The top of each source file shall contain a header giving the name of
|
||||
the file, the purpose or nature of the source file, the copyright and
|
||||
licensing notice, and the functions contained in the file. The file
|
||||
@@ -416,16 +408,16 @@ that code has been lost near the end of the file:
|
||||
*/
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_2">B.2 Functions</A></H2>
|
||||
<H3><A NAME="7_2_1">B.2.1 Naming</A></H3>
|
||||
<H2><A NAME="7_2">B.2 Functions</A></H2>
|
||||
<H3><A NAME="7_2_1">B.2.1 Naming</A></H3>
|
||||
Functions with a global scope shall be capitalized ("DoThis",
|
||||
"DoThat", "DoSomethingElse", etc.) The only exception to this rule
|
||||
shall be the CUPS interface library functions which may begin with a
|
||||
prefix word in lowercase ("cupsDoThis", "cupsDoThat", etc.)
|
||||
<P> Functions with a local scope shall be declared "static" and be
|
||||
<P>Functions with a local scope shall be declared "static" and be
|
||||
lowercase with underscores between words ("do_this", "do_that",
|
||||
"do_something_else", etc.) </P>
|
||||
<H3><A NAME="7_2_2">B.2.2 Documentation</A></H3>
|
||||
<H3><A NAME="7_2_2">B.2.2 Documentation</A></H3>
|
||||
Each function shall begin with a comment header describing what the
|
||||
function does, the possible input limits (if any), and the possible
|
||||
output values (if any), and any special information needed:
|
||||
@@ -445,11 +437,11 @@ do_this(float x) /* I - Power value (0.0 <= x <= 1.1) */
|
||||
}
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_3">B.3 Methods</A></H2>
|
||||
<H3><A NAME="7_3_1">B.3.1 Naming</A></H3>
|
||||
<H2><A NAME="7_3">B.3 Methods</A></H2>
|
||||
<H3><A NAME="7_3_1">B.3.1 Naming</A></H3>
|
||||
Methods shall be in lowercase with underscores between words
|
||||
("do_this", "do_that", "do_something_else", etc.)
|
||||
<H3><A NAME="7_3_2">B.3.2 Documentation</A></H3>
|
||||
<H3><A NAME="7_3_2">B.3.2 Documentation</A></H3>
|
||||
Each method shall begin with a comment header describing what the
|
||||
method does, the possible input limits (if any), and the possible
|
||||
output values (if any), and any special information needed:
|
||||
@@ -469,19 +461,19 @@ class::do_this(float x) /* I - Power value (0.0 <= x <= 1.0) */
|
||||
}
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_4">B.4 Variables</A></H2>
|
||||
<H3><A NAME="7_4_1">B.4.1 Naming</A></H3>
|
||||
<H2><A NAME="7_4">B.4 Variables</A></H2>
|
||||
<H3><A NAME="7_4_1">B.4.1 Naming</A></H3>
|
||||
Variables with a global scope shall be capitalized ("ThisVariable",
|
||||
"ThatVariable", "ThisStateVariable", etc.) The only exception to this
|
||||
rule shall be the CUPS interface library global variables which must
|
||||
begin with the prefix "cups" ("cupsThisVariable", "cupsThatVariable",
|
||||
etc.) Global variables shall be replaced by function arguments whenever
|
||||
possible.
|
||||
<P> Variables with a local scope shall be lowercase with underscores
|
||||
<P>Variables with a local scope shall be lowercase with underscores
|
||||
between words ("this_variable", "that_variable", etc.) Any local
|
||||
variables shared by functions within a source file shall be declared
|
||||
"static". </P>
|
||||
<H3><A NAME="7_4_2">B.4.2 Documentation</A></H3>
|
||||
<H3><A NAME="7_4_2">B.4.2 Documentation</A></H3>
|
||||
Each variable shall be declared on a separate line and shall be
|
||||
immediately followed by a comment block describing the variable:
|
||||
<UL>
|
||||
@@ -490,12 +482,12 @@ int this_variable; /* The current state of this */
|
||||
int that_variable; /* The current state of that */
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_5">B.5 Types</A></H2>
|
||||
<H3><A NAME="7_5_1">B.5.1 Naming</A></H3>
|
||||
<H2><A NAME="7_5">B.5 Types</A></H2>
|
||||
<H3><A NAME="7_5_1">B.5.1 Naming</A></H3>
|
||||
All type names shall be lowercase with underscores between words and
|
||||
"_t" appended to the end of the name ("this_type_t", "that_type_t",
|
||||
etc.)
|
||||
<H3><A NAME="7_5_2">B.5.2 Documentation</A></H3>
|
||||
<H3><A NAME="7_5_2">B.5.2 Documentation</A></H3>
|
||||
Each type shall have a comment block immediately before the typedef:
|
||||
<UL>
|
||||
<PRE>
|
||||
@@ -505,12 +497,12 @@ etc.)
|
||||
typedef int cups_this_type_t;
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_6">B.6 Structures</A></H2>
|
||||
<H3><A NAME="7_6_1">B.6.1 Naming</A></H3>
|
||||
<H2><A NAME="7_6">B.6 Structures</A></H2>
|
||||
<H3><A NAME="7_6_1">B.6.1 Naming</A></H3>
|
||||
All structure names shall be lowercase with underscores between words
|
||||
and "_str" appended to the end of the name ("this_struct_str",
|
||||
"that_struct_str", etc.)
|
||||
<H3><A NAME="7_6_2">B.6.2 Documentation</A></H3>
|
||||
<H3><A NAME="7_6_2">B.6.2 Documentation</A></H3>
|
||||
Each structure shall have a comment block immediately before the
|
||||
struct and each member shall be documented in accordance with the
|
||||
variable naming policy above:
|
||||
@@ -526,11 +518,11 @@ struct cups_this_struct_str
|
||||
};
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_7">B.7 Classes</A></H2>
|
||||
<H3><A NAME="7_7_1">B.7.1 Naming</A></H3>
|
||||
<H2><A NAME="7_7">B.7 Classes</A></H2>
|
||||
<H3><A NAME="7_7_1">B.7.1 Naming</A></H3>
|
||||
All class names shall be lowercase with underscores between words
|
||||
("this_class", "that_class", etc.)
|
||||
<H3><A NAME="7_7_2">B.7.2 Documentation</A></H3>
|
||||
<H3><A NAME="7_7_2">B.7.2 Documentation</A></H3>
|
||||
Each class shall have a comment block immediately before the class and
|
||||
each member shall be documented in accordance with the variable naming
|
||||
policy above:
|
||||
@@ -546,15 +538,15 @@ class cups_this_class
|
||||
};
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_8">B.8 Constants</A></H2>
|
||||
<H3><A NAME="7_8_1">B.8.1 Naming</A></H3>
|
||||
<H2><A NAME="7_8">B.8 Constants</A></H2>
|
||||
<H3><A NAME="7_8_1">B.8.1 Naming</A></H3>
|
||||
All constant names shall be uppercase with underscored between words
|
||||
("THIS_CONSTANT", "THAT_CONSTANT", etc.) Constants defined for the CUPS
|
||||
interface library must begin with an uppercase prefix
|
||||
("CUPS_THIS_CONSTANT", "CUPS_THAT_CONSTANT", etc.)
|
||||
<P> Typed enumerations shall be used whenever possible to allow for
|
||||
type checking by the compiler. </P>
|
||||
<H3><A NAME="7_8_2">B.8.2 Documentation</A></H3>
|
||||
<P>Typed enumerations shall be used whenever possible to allow for type
|
||||
checking by the compiler. </P>
|
||||
<H3><A NAME="7_8_2">B.8.2 Documentation</A></H3>
|
||||
Comment blocks shall immediately follow each constant:
|
||||
<UL>
|
||||
<PRE>
|
||||
@@ -565,8 +557,8 @@ enum
|
||||
};
|
||||
</PRE>
|
||||
</UL>
|
||||
<H2><A NAME="7_9">B.9 Code</A></H2>
|
||||
<H3><A NAME="7_9_1">B.9.1 Documentation</A></H3>
|
||||
<H2><A NAME="7_9">B.9 Code</A></H2>
|
||||
<H3><A NAME="7_9_1">B.9.1 Documentation</A></H3>
|
||||
All source code shall utilize block comments within functions to
|
||||
describe the operations being performed by a group of statements:
|
||||
<UL>
|
||||
@@ -593,8 +585,8 @@ do
|
||||
} while (i == (sizeof(array) / sizeof(array[0])));
|
||||
</PRE>
|
||||
</UL>
|
||||
<H3><A NAME="7_9_2">B.9.2 Style</A></H3>
|
||||
<H4 TYPE="a">B.9.2.a Indentation</H4>
|
||||
<H3><A NAME="7_9_2">B.9.2 Style</A></H3>
|
||||
<H4 TYPE="a">B.9.2.a Indentation</H4>
|
||||
All code blocks enclosed by brackets shall begin with the opening
|
||||
brace on a new line. The code then follows starting on a new line after
|
||||
the brace and is indented 2 spaces. The closing brace is then placed on
|
||||
@@ -634,11 +626,11 @@ switch (array[i])
|
||||
}
|
||||
</PRE>
|
||||
</UL>
|
||||
<H4>B.9.2.b Spacing</H4>
|
||||
<H4>B.9.2.b Spacing</H4>
|
||||
A space shall follow each reserved word ("if", "while", etc.) Spaces
|
||||
shall not be inserted between a function name and the arguments in
|
||||
parenthesis.
|
||||
<H4>B.9.2.c Return Values</H4>
|
||||
<H4>B.9.2.c Return Values</H4>
|
||||
Parenthesis shall surround values returned from a function using
|
||||
"return":
|
||||
<UL>
|
||||
@@ -646,7 +638,7 @@ parenthesis.
|
||||
return (STATE_IDLE);
|
||||
</PRE>
|
||||
</UL>
|
||||
<H4>B.9.2.d Loops</H4>
|
||||
<H4>B.9.2.d Loops</H4>
|
||||
Whenever convenient loops should count downward to zero to improve
|
||||
program performance:
|
||||
<UL>
|
||||
@@ -655,25 +647,25 @@ for (i = sizeof(array) / sizeof(array[0]) - 1; i >= 0; i --)
|
||||
array[i] = STATE_IDLE;
|
||||
</PRE>
|
||||
</UL>
|
||||
<H1 ALIGN="RIGHT"><A NAME="8">C Software Trouble Report Form</A></H1>
|
||||
<H1 ALIGN="RIGHT"><A NAME="8">C Software Trouble Report Form</A></H1>
|
||||
<CENTER>
|
||||
<TABLE WIDTH="80%">
|
||||
<TR><TH ALIGN="RIGHT"> Summary of Problem:</TH><TD ALIGN="LEFT">
|
||||
________________________________________</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT"> Problem Severity:</TH><TD ALIGN="LEFT"> __1=RFE
|
||||
<BR> __2=Documentation-Error
|
||||
<BR> __3=Unable-to-Print-a-File
|
||||
<BR> __4=Unable-to-Print-to-a-Printer
|
||||
<BR> __5=Unable-to-Print-at-All</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT"> Problem Scope:</TH><TD ALIGN="LEFT"> __1=Machine
|
||||
<TR><TH ALIGN="RIGHT">Summary of Problem:</TH><TD ALIGN="LEFT">
|
||||
________________________________________</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT">Problem Severity:</TH><TD ALIGN="LEFT">__1=RFE
|
||||
<BR>__2=Documentation-Error
|
||||
<BR>__3=Unable-to-Print-a-File
|
||||
<BR>__4=Unable-to-Print-to-a-Printer
|
||||
<BR>__5=Unable-to-Print-at-All</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT">Problem Scope:</TH><TD ALIGN="LEFT">__1=Machine
|
||||
__2=Operating-System __3=All</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT" VALIGN="TOP"> Detailed Description of Problem:</TH><TD
|
||||
ALIGN="LEFT"> ________________________________________
|
||||
<BR> ________________________________________
|
||||
<BR> ________________________________________
|
||||
<BR> ________________________________________
|
||||
<BR> ________________________________________
|
||||
<BR> ________________________________________</TD></TR>
|
||||
<TR><TH ALIGN="RIGHT" VALIGN="TOP">Detailed Description of Problem:</TH><TD
|
||||
ALIGN="LEFT">________________________________________
|
||||
<BR>________________________________________
|
||||
<BR>________________________________________
|
||||
<BR>________________________________________
|
||||
<BR>________________________________________
|
||||
<BR>________________________________________</TD></TR>
|
||||
</TABLE>
|
||||
</CENTER>
|
||||
</BODY>
|
||||
|
||||
Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais
Referência em uma Nova Issue
Bloquear um usuário